2021 APMCM 大会後のまとめ - エッジ検出

APMCMはリトル・アメリカン・コンペティションとして知られ、アメリカン・コンペティションと同様に論文提出が英語で行われ、競技時間はナショナル・コンペティションの後、アメリカン・コンペティションの前にあるため、MCMのウォームアップ・マッチとして非常に適しています。
この種の正式な大会への参加は初めてで、英語で書かれているため、大会のウォーミングアップとして、事前に4日間のリハーサルが必要です。毎日の授業と(ほぼ)定期的な休憩という条件の下で、最終的に私たちのチームは 2 位を獲得することができました。これは非常に満足のいくものです。

試合前の準備

APMCMは4日間で、期間中に中間試験があるので、時間の把握が非常に重要です。私たちは半月前に議論の場を探し、本屋、喫茶店、教育施設を除外した後、図書館本館の学習・セミナースペースを選びました。午前 8 時から午後 10 時まで、登高路で夕食をとります。
主に前年度のトピックを読み、モデリングのスキルを少し学び、Meisai と Matlab の関連資料を購入しました。図書館での議論の場の選択には、そのような考慮事項もあります。学際的な問題に遭遇した場合、関連する資料を時間内に閲覧できます。

ゲーム

2021 年のアジアパシフィック コンテストでは、質問 A はエッジ検出に関するもので、グラフィックスと画像処理が含まれます。質問 b は分野を超えて大きく考慮されず、質問 c は従来のデータ処理です​​。たまたま、ゴンザレスの「グラフィックスと画像処理」が手元にあり、たまたまエッジ検出に関するセクションを読んだので、質問 A を見ることにしました。
大会は4日間。
初日の図書館の閉館後、情報研究所の会議室を借りて、午前1時まで仕事をしました。
後で、宿泊の効率が高くないことがわかったので、仕事を朝8時から夜10時までにまとめて、寮に戻って仕事を片付けました。
初日で大まかな方向性は決まったものの、コードの実装や一部機能の再現には、まだ迂回が必要でした。
資料について: HowNet と Tongfang を選びました.CSDN と mathwork で問題が発生しました.一般的に言えば、この質問は始めるのがより難しいですが、私たちのグループの方向性が高いです.
つまり、レイナ・トゥジェンはいたるところで使用されており、数え切れないほどのバージョンを見てきました。

当時のエッジ検出問題に関する私たちの考えと分析を簡単に説明しましょう。

2021APMCM 質問 A

問題の背景

問題A
画像のエッジ解析と応用

科学技術の発展に伴い、さまざまなワークピースや部品の測定精度に対する要求がますます高くなり、測定機器の要件もますます厳しくなっています。デジタル画像サイズ測定器などのさまざまな画像測定機器が、従来の手動ノギス測定アプリケーションに徐々に取って代わりつつあります。一般に、カメラがキャリブレーションされた後、キャリブレーションされた画像のドット マトリックスまたはチェッカーボードの特徴情報に基づいて、画像の歪みを補正し、画像座標空間とワールド座標空間の間のマッピング関係を計算できます。

対象物のエッジは、画像認識やコンピューター解析に非常に役立ちます。画像のエッジは、画像の局所的な特性の不連続性を反映しています。エッジはターゲット オブジェクトの輪郭を描き、観察者に一目でわかるようにします。エッジには豊富な固有情報 (向き、ステップ プロパティ、形状など) が含まれており、これは画像認識で画像の特徴を抽出するための重要な属性です。画像エッジ輪郭抽出は、境界セグメンテーションにおいて非常に重要な処理であり、画像処理における古典的な問題でもあります。輪郭抽出と輪郭追跡の両方の目的は、画像の外部輪郭特徴を取得することです。

輪郭は順序付けられた点の集合として記述でき、輪郭の一般的な表現は多角形です。輪郭は閉じていても開いていてもかまいません。画像の閉じた輪郭はすべて最初から最後までつながっており、開いた輪郭は一般に画像の境界と交差しています。図 1 には、5 つの閉じた輪郭曲線があります。sobel や canny などのエッジ検出アルゴリズムは、画像のグレー値の差に基づいて画像のエッジ ピクセル境界を検出できますが、全体として輪郭を取得するわけではありません。画像では、輪郭は一連のピクセル ポイントに対応します。輪郭は点の連続シーケンスを記述し、エッジ ピクセル ポイントを輪郭曲線に組み立てて、画像のエッジ情報を記述することができます。

サブピクセルは、画像取得センサーの 2 つの物理ピクセル間で定義される仮想ピクセルです。解像度や画質を向上させるには、サブピクセル計算が非常に役立ちます。画像のサブピクセル エッジ抽出は、従来のピクセル エッジ抽出よりも正確な方法です。サブピクセルとは、画像上の各ピクセル ポイントの座標値が、整数の配置ではなく、浮動小数点数の配置であることを意味します。サブピクセル技術を使用して精度を 0.1 ピクセルに上げると、画像システム解析の 10 倍の解像度に相当します。

図 1 の次の 3 つの概略図では、画像のオブジェクト エッジの輪郭線が抽出され、画像のエッジの輪郭が直線セグメント、円弧セグメント、円などの基本的なグラフィックスにセグメント化されています。図 2 では、角丸長方形のエッジの輪郭がいくつかの幾何学的形状に分割されています。図 3 では、グレースケール ピクセル イメージ グリッドの背景に描かれた楕円形のサブピクセル輪郭曲線が示されています。

図 1. 画像のエッジ検出
図 1. 画像エッジ検出
ここに画像の説明を挿入
図 2. セグメンテーション画像エッジ輪郭
ここに画像の説明を挿入
図 3. 画像のサブピクセル エッジ輪郭

トピック

質問1

: 数学的モデルを構築し、1/10 ピクセル以上の精度でサブピクセル エッジを抽出する方法とプロセスを分析し、3 つの画像 (Pic1_1、Pic1_2、付録 1 の Pic1_3) を参照し、エッジのサブピクセル ポイント データを順序付けられたエッジ輪郭曲線データに変換します。エッジ バリとエッジの影部分の干渉効果をどのように排除するかを考慮する必要があります。Pic1_3 の画像は、比較的複雑な照明条件で撮影されたもので、干渉情報が多いことに注意してください。

a) 抽出したエッジ輪郭を画像上に色分けして描画し、カラーエッジ輪郭画像として出力し、png 画像形式で保存して提出してください。ファイル名は pic1_1.png、pic1_2.png、pic1_3.png です。

b) エッジ輪郭データを別紙 1 の EdgeContoursOutput.xls ファイルの形式で出力し、Pic1_1 および Pic1_2 画像のデータをワークシートの対応する Sheet1 および Sheet2 にそれぞれ出力します。出力データには、エッジ輪郭の合計数、イメージ座標空間でのエッジ輪郭の合計長、各輪郭曲線のポイント数と長さ、および各輪郭ポイントの X および Y 座標データが含まれます。

c) 各画像の等高線曲線の合計数と、各曲線の点数と長さのデータを用紙に記載する必要があります。表 1、表 2、および表 3 を参照してください。

質問2

:測定画像を撮影している間、対象物と同じ水平高さにドットマトリクス校正板を置いています。キャリブレーション プレート上のドットの直径は 1 mm、2 つのドット間の中心距離は 2 mm です。別紙 2 には、異なる角度で撮影された 3 つのキャリブレーション プレート画像と 1 つの製品画像 (Pic2_4.bmp) が含まれています。数学的モデルを構築し、キャリブレーション プレートの画像情報を使用して製品画像の画像修正分析を行い、製品画像上のエッジ セグメンテーション フィッティング曲線セグメントの実際の物理的サイズをできるだけ正確に計算する方法を検討してください。各エッジ輪郭の長さ (mm) を計算し、最終的にエッジ輪郭の長さの合計 (mm) を計算してください。図 4 に示す等高線データのラベリングによると、

ここに画像の説明を挿入
図 4. 画像の輪郭データのラベル付け

質問 3

: 2 つのサブピクセル輪郭エッジ データ (EdgeContour1.xls および EdgeContour2.xls) が付録 3 で提供され、形状が図 5 に示されています。直線セグメント、円弧セグメント (円を含む)、または楕円弧セグメント (楕円を含む) について説明し、エッジ輪郭の自動セグメンテーションおよびフィッティングのモデル方法または戦略について説明します。青色の曲線は、青色の数字 1 ラベルから始まり、矢印の方向に沿ってモデル計算結果データを出力します。緑色の曲線は、緑色の数字 1 ラベルから始まり、矢印の方向に沿ってモデル計算結果データを出力します。分割した曲線セグメントのパラメータを表形式で表に記入してください。表 7 と表 8 (等高線 1 と等高線 2 のセグメンテーション データについて) を論文で提出します。この表の行のタイプは、実際のタイプに従って設定されていることに注意してください。

ここに画像の説明を挿入
図 5. エッジ等高線データ

備考:

  1. SweepAngle は始点から終点までのスイープ角度、角度系を示します。
  2. サイズは、指定された楕円または楕円弧の X および Y 方向の半径値を示します。
  3. RotationAngle は、指定された楕円または楕円弧、角座標系の回転角度値を示します。
  4. 回転角度の方向は、x 軸の正方向から y 軸の正方向への回転方向を正方向、その逆を負方向とします。
  5. すべての画像座標点は画像座標系で表されます。つまり、左上隅が原点 (0,0)、X 軸の正方向が右、Y 軸の正方向が原点です。下向きです。

分析する

まず、この種の専門用語を含む質問は、中国語に間に合うように翻訳することが非常に重要です。質問を受け取ってから 30 分以内に、質問 A、B、および C の単語と PDF の翻訳を受け取りました. 私たちのグループは、選択された質問を時間内に話し合い、決定することができました. 私の友人と彼の WPS メンバーに感謝したいと思います.ここ。
もちろん、機械翻訳は完璧ではない場合が常にあり、個々の単語や文章に問題が発生した場合でも、1 つずつ確認する必要があります。
多くの参照の後、トピックの予備的な印象を得ました。
指定された画像に対してエッジ検出が実行され、エッジがマークされ、トピックの要件に従ってさまざまなサブピクセル構造がカウントされます。
現時点では、ゴンザレスが重宝する時が来ました。百六十の海に白い花はない。
神級の格闘技「第十章 画像分割」!
点、線、エッジの検出からマルチしきい値処理まで、この本は問題に切り込むための重要な角度を提供してくれます. もちろん、この考え方に沿ってインターネットで情報を見つける方がはるかに明確です.

基本知識

エッジモデル

画像ごとに異なるグレー レベルがあり、一般に境界には明らかなエッジがありますが、この機能を使用して画像を分割できます。エッジ検出は、グレースケール ミューテーションに基づいて画像をセグメント化する一般的な方法です。

エッジ モデルは、グレースケール プロファイルに従って分類できます。ステップモデルスロープモデルルーフエッジモデルなどに分けられます。
ノイズやエッジによってエッジが理想的な形状から逸脱しますが、エッジ モデルの特性を使用することで画像のエッジを識別することができます。この処理では、「勾配」をツールとして使用して、画像 f の任意の位置 (x, y) でエッジの強度と方向を見つけ、それを ∇f で表し、ベクトルとして定義します。

∇f(x,y)≡grad[f (x,y)]≡ [ gx ( x , y ) gy ( x , y ) ] \begin{bmatrix} g_x (x,y)\\ g_y (x,y) ) \end{bmatrix}[g×( x ,gy( x ,y )] =[ ∂ f ( x , y ) ∂ x ∂ f ( x , y ) ∂ y ] \begin{bmatrix} \cfrac{\partial f (x,y)}{\partial x}\\ \cfrac{\部分 f (x,y)}{\部分 y} \end{bmatrix} ×f ( x ,y )∂y _f ( x ,y )

点 (x,y) における勾配ベクトルの大きさ M(x,y) は、そのユークリッド ベクトル ノルムによって与えられます。
角度は、x 軸に対して反時計回りに測定されます。点 (x,y) でのエッジの方向は、その点での勾配ベクトルの方向に直交します。

アルゴリズム

エッジ検出器

ソーベル演算子は離散微分演算子です。ガウス平滑化と微分導出を組み合わせて、画像グレースケール関数のおおよその勾配を計算します。ソーベル演算子は、最初に画像ピクセルに対して畳み込みを実行し、次に、生成された新しいピクセルのグレー値に対してしきい値操作を実行して、エッジ情報を決定します。
Gx が元のイメージの x 方向の畳み込みである場合、Gy は元のイメージの y 方向の畳み込みです。
ソーベル演算子はノイズに対して滑らかな抑制効果がありますが、得られるエッジは太くなり、偽のエッジが現れることがあります。

Canny エッジ検出器は、 3 つの基本的な目標に基づいています。低いエラー率、エッジ ポイントの適切な配置、単一エッジ ポイント効果です。
3 つの基本的な目的に基づいて加法的ホワイト ガウス ノイズによって汚染された 1D ステップ エッジの数値最適化を使用すると、最適なステップ エッジ検出器の適切な近似はガウスの一次導関数であると結論付けることができます。

キャニー エッジ検出アルゴリズムの手順は次のように要約されます。
1. ガウス フィルターを使用して、入力画像を平滑化します。
2. 勾配の大きさの画像と角度の画像を計算します。
3. 勾配マグニチュード イメージに非最大制限を適用します。
デュアルしきい値処理と接続性分析を使用してエッジを検出して接続する

プレッツェル

ごま塩ノイズとは、画像上の黒と白のピクセルがランダムに現れる現象です。S/N 比 SNR (値の範囲は [0, 1] の間) を指定した後、総ピクセル数 SP を計算し、ノイズを発生させるピクセルの数を取得し、ノイズを発生させる各ピクセルの位置をランダムに取得します。ノイズ P(i , j) を取得し、255 または 0 のピクセル値を指定します。

ノイズ減少

1. 近傍平均法は、線形フィルタリング技術である空間ドメイン平滑化ノイズ技術です。

2. メディアン フィルタリングの基本原理は、デジタル画像またはデジタル シーケンス内のポイントの値を、そのポイントの近傍の各ポイントの中央値に置き換えることです。メディアン フィルターは、ノイズを抑制するための非線形処理方法です。この方法は、計算が簡単で、実装が簡単で、境界をより適切に保護できますが、画像内の細い線や小さな領域が失われることがあります. ウィンドウのサイズと形状は、フィルタリング効果に大きな影響を与えることがあります.同時に、ガウス分布のノイズを除去する明らかな効果がないことを指摘しておく必要があります。

3. ウィナー フィルター処理は、元の画像 f(x, y) と復元された画像 g(x, y) の間の平均二乗誤差を最小化する復元方法です。近傍平均法と比較して、ウィーナー フィルターは、ガウス ホワイト ノイズ イメージのフィルター処理に対してより優れたフィルター効果があります。線形フィルターよりも選択性が高く、画像のエッジと高周波の詳細をより適切に保持できます。ウィーナー フィルター処理はほとんどの場合、特にホワイト ノイズを含む画像の場合に満足のいく結果を得ることができますが、信号対雑音比が比較的低い場合、効果が十分でないことがよくあります。さらに、最小平均二乗誤差基準は、必ずしも人間の視覚と一致するとは限りません。

ハフ変換

標準ハフ変換 (SHT) は、線のパラメトリック表現を使用します。
ここに画像の説明を挿入
変数 rho は、線に垂直なベクトルに沿った原点から線までの距離です。θ は、原点から正の x 軸に対する線の垂直投影まで時計回りに測定された度単位の角度です。θ の範囲は –90° ≤ θ < 90° です。線自体の角度は θ + 90° で、これも正の x 軸に対して時計回りに測定されます。

Matlab 画像処理ツールボックスには、ハフ変換に関連する 3 つの関数が用意されています。関数 hough() は、前に説明した概念を実装します。関数 houghpeaks() は、ハフ変換のピークを見つけます (多数の単位を蓄積します)。関数 houghlines() は、他の結果に基づいて元の画像の線分を抽出します。 2つの機能。

パーツ画像処理

さまざまなパラメーターを使用して画像にノイズを追加してから、ガウス フィルターとごま塩フィルターを実行します。
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

要約する

  1. よく書かれたコードを持つチームメイトを見つけることは非常に重要です. モデルを実際の問題に適用するには、まだ多くの落とし穴があります. アルゴリズムを改善する必要があります. 既製のコードでさえ理解する必要があります.アルゴリズム。
  2. mathtype は本当に香りがよいです。ラテックスで数式を入力するのは面倒なので、このブログ投稿に数式があまりないのはなぜですか!
  3. mathwork での matlab のアルゴリズムや関数の紹介もありますので、使ってみて分からないことがあれば、まずはそこから行ってみてください。
  4. HowNet は非常に便利ですが、キーワードを正確に特定する必要があります.コンピューター ビジョンのカテゴリでは、エッジ検出でも多くの分野で使用できます.競争のトピックに適した方向性を特定する必要があります.
  5. 専門書を手元に置いておくとはるかに便利です。

参考:ゴンザレス「グラフィックと画像処理」

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/Algernon98/article/details/122909233