The Principles of Edge Detection, and Its Application to Image Measurement/ Junichi SUGANO ヴィスコ テクノロジーズ株式会社開発本部研究部菅野純一 1. はじめに画像処理におけるエッジとは, 対象物と背景の境界点を指しており, この境界点が連なることで対象物の輪郭を形成する. 対象物の輪郭を拡大してみると, レンズボケにより明から暗または暗から明へ濃度値が連続的に変化していることがわかる. よって, 見た目からは境界点を一意に決定することが難しい. そこで, 濃度変化の一次微分の絶対値が最大となる位置もしくは濃度変化の二次微分がゼロク 1) ロスする位置をエッジとして定義する方式がよく用いられており, 画像からエッジ位置を特定する処理はエッジ検出 / エッジ抽出などと呼ばれている. 工業用途では, 画像による計測, 検査などさまざまな用途で利用されている基礎技術である. 本稿では, 工業用途におけるエッジ検出の応用例を挙げるとともに, その中で問題となることが多いケースについて, エッジ検出の原理に立ち返り解説を試みる. また, エッジ検出処理のパラメータ調整により, これらの問題が改善されることを示す. 図では, エッジ 2 の位置の輪郭部分に欠け欠陥が存在すると仮定している. エッジ 2 では, 輪郭に欠けが存在するためエッジ 1, エッジ 3 などと比較して基準位置からの距離が大きくなる. これを利用して, 対象物の外形異常を検査できる. 具体的には, 距離の大きさにより欠陥の程度を評 図 1 位置検出における検出線の設定例 図 2 幅 高さ計測における検出線の設定例 2. 工業用途におけるエッジ検出の応用例 工業用途におけるエッジ検出は, 以下に示す 3 種類のアプリケーションでよく利用されている. 1 対象物の位置検出 2 対象物の幅 高さ計測 3 輪郭 ( 外形 ) 部の検査 1では, 対象物に定規を当てるように縦横 2 本の処理領域 ( 検出線 ) を設定し, 検出線上に存在するエッジにより対象物の位置を特定する. 具体的には, 縦方向検出線から得られるエッジの Y 座標および横方向検出線から得られるエッジの X 座標を, それぞれ対象物の X, Y 座標とする ( 図 1 参照 ). 2では, 対象物を跨ぐように検出線を設定し, 検出線上に存在する 2 つのエッジの距離により対象物の計測を行う. 縦方向検出線から高さ, 横方向検出線から幅が得られる ( 図 2 参照 ). 3では, 対象物の輪郭に直交する形で複数の検出線を設定し, それぞれの検出線上に存在するエッジと基準位置との距離を計測することで検査を行う. 図 3 左側に検出線の設定例, 右側に点線で囲んだ範囲の拡大図を示す. 拡大 図 3 輪郭 ( 外形 ) 検査の例 図 4 濃度投影 精密工学会誌 Vol.78, No.7, 2012 589
図 5 一次微分 図 6 コントラスト変化に伴う微分プロファイルの変化 価し, 合否判定を行う. 3. エッジ検出の原理ここでは, 一般的なエッジ検出の処理内容と, それぞれの処理におけるパラメータについて述べる. 3.1 濃度投影検出線と直交する方向に各画素をスキャンし, その濃度平均値を検出線上の濃度値として以後の処理に用いる ( 図 4 参照 ). スキャンする範囲 ( 投影範囲 ) はパラメータであり, 投影範囲を大きくするほどカメラノイズへの耐性が向上する. ただし, 投影範囲内の輪郭線はスキャン方向に平行な直線である必要がある ( 以後, 濃度投影後の濃度波形を投影プロファイルと記載する ). 3.2 一次微分投影プロファイルに対し, 微分オペレータを畳み込み演算することで微分処理を行う. これにより, 濃度変化が最も急峻である位置にピークが形成される ( 図 5 参照 ). 微分オペレータのカーネルサイズはパラメータであり, カーネルサイズを大きくすることで, 投影プロファイルの大局的な濃度変化の影響を強くすることができる ( 以後, 一次微分後の投影プロファイルを微分プロファイルと記載する ). 3.3 エッジ位置の選択微分プロファイルが極大または極小となる位置を, エッジとして検出する. しかしながら, このような位置は微分プロファイルの中で複数個見つかる可能性があるため, これらの中から期待するエッジ位置を選択する必要がある. 一般的には, 最も大きな微分絶対値をもつ位置を, エッジとして選択する方法が挙げられる. これだけでは, エッジが存在しない場合でも微弱な濃度変化をエッジと認識してしまうので, これを避けるために, 微分絶対値に対するしきい値を設けて, しきい値を上回るエッジのみを採用する手法が用いられる. しきい値はパラメータであり, 大きくするほど誤認識の可能性は低くなる ( 以後, 選択されたエッジ位置をエッジ候補位置と記載する ). 3.4 サブピクセル推定エッジ候補位置近傍の微分プロファイルを放物線で近似 することで, 画素以下の精度で正確なエッジ位置を算出することができる 2)3). 一般的には, エッジ候補位置およびその両隣の微分値 3 点を用いて, これらを通過する放物線の極大 / 極小位置をエッジ位置として採用する手法が挙げられる.,P3 p,3 mq P= (1) 2P3 p,23 c+3 mq P: エッジ位置 3 p: エッジ候補位置の右隣の微分値 3 c: エッジ候補位置の微分値 3 m: エッジ候補位置の左隣の微分値 4. さまざまな外乱による誤認識と対策エッジ検出は, さまざまな外乱により期待する結果が得られないことも多い. ここでは, 工業用途でよく見られる外乱要因とその対策について述べる. 4.1 コントラストの変化照明条件や対象物の色に変化が生じると, 今まで問題なく検出できていたエッジが急に検出できなくなることがある. このような場合は, 微分プロファイルに適用したしきい値を確認する必要がある.3.3 節に記載したように, エッジの有無を判断するために, 微分プロファイルにしきい値を設定する. しかしながら, 上述の変化により対象物のコントラスト ( 濃度変化の大きさ ) が小さくなると, エッジ位置での微分値がしきい値を下回り, エッジの検出に失敗する. 図 6に, コントラストの変化により微分値が小さくなる様子を示す. この変化に合わせてしきい値を小さくする必要があるが, エッジが存在しないケースを想定して, エッジ以外の全ての位置 ( 背景位置 ) における微分値より大きい値を設定しなくてはならない. よって, しきい値は以下の条件を満たす必要がある. D 1<Th<D 2 (2) Th: しきい値 D 1: 背景位置における最大微分値 D 2: エッジ位置における最小微分値 590 精密工学会誌 Vol.78, No.7, 2012
図 7 微分プロファイルと D 1 および D 2 の関係 図 9 濃度投影幅と D 1 および D 2 の関係 図 10 焦点ズレによる微分プロファイルの変化 図 8 濃度投影幅の調整による微分プロファイルの変化 D 1 および D 2 の値は, 想定される全ての変化を含む画像群において, エッジ位置の最小微分値と背景位置の最大微分値を検証した上で決定する必要がある. 本来はエッジが存在しない画像も含める必要があるが, 図 6 の2 枚の画像を例にとると, エッジ位置を除外した位置の中で最も大きなピーク位置の微分値が D 1,2 枚の画像のエッジ位置において微分値が小さい方が D 2 となる. 図 7に,2 枚の画像の微分プロファイルにおける, エッジ位置, 背景位置, D 1 および D 2 の関係を示す.D 1 および D 2 を決定できれば式 (2) に示す条件を満たすしきい値を任意に選択すれば良いが, 図 7 では D 2<D 1 であるため, 条件を満たすしきい値を選択することができない. これは, 今回の例だけではなく, 多くのケースに共通して見られる問題である. この問題は, 濃度投影幅の調整により改善が期待できる. 図 8に濃度投影幅の調整により微分プロファイルが変化する様子を示す. 図 8 から背景位置における微分値が全体的に小さくなることがわかる. また, 図 9に濃度投影幅を段階的に変化させた場合の D 1 および D 2 の変化を示す. 図 9 から濃度投影幅 12 を境に D 1<D 2 となり, 式 (2) の条件を満たすしきい値を選択できることがわかる. 具体的な設定値としては, 濃度投影幅 40, しきい値 10 と することで, コントラストが変化しても画像中央のエッジを検出し, エッジの有無も判断可能となる. 4.2 ワークディスタンスの変化カメラと対象物の距離 ( ワークディスタンス ) が変化すると, 対象物の輪郭にボケが発生する. ボケが発生した状態においてもコントラストが変化した場合と同様に, エッジの誤認識や未検出などの問題が発生することがある. これは, ボケにより投影プロファイルの濃度変化が緩やかになり, 一次微分のピークが小さくなることが原因である. 図 10にワークディスタンスの変化により微分値が小さくなる様子を示す. コントラストが変化したケースと同様に, エッジ位置の微分値が小さくなっていることがわかる. この変化に応じて, しきい値を小さくする必要があるが, 前節と同様の理由で式 (2) の条件を満たす設定値を検討しなくてはならない. ワークディスタンスの変化に対しては, 微分オペレータのカーネルサイズを調整することで改善が期待できる. 図 11 にカーネルサイズの調整により, 微分プロファイルが変化する様子を示す. 図 11 からカーネルサイズを大きくすることにより, エッジ位置の微分値が大きくなるとともに, 背景位置の微分値が若干小さくなることがわかる. 図 12にカーネルサイズを段階的に変化させた場合の D 1 精密工学会誌 Vol.78, No.7, 2012 591
図 13 対象表面の微細凹凸と微分プロファイル 図 11 カーネルサイズの調整による微分プロファイルの変化 図 12 カーネルサイズと D 1 および D 2 の変化および D 2 の変化を示す. 図 12 からカーネルサイズ 6 を境に D 1<D 2 となり, 式 (2) の条件を満たすしきい値を選択できることがわかる. 具体的な設定値としては, カーネルサイズ 11, しきい値 25 とすることで, ワークディスタンスが変化しても画像中央のエッジを検出し, エッジの有無も判断可能となる. 4.3 対象表面の微細凹凸による誤認識対象表面に微細な凹凸が存在する場合は, これらが邪魔をして対象物の外形を正しく認識できないことが多い. 図 13 の例では, 対象物と背景の境界部分以外にも筋状パタンによる濃度変化が存在する. これは, 微分プロファイルにも顕著に表れており, この状態では期待するエッジ位置を選択することはできない. そこで前節と同様に, パラメータを調整することにより式 (2) の条件を満たすことを検討する. 図 14に濃度投影幅とカーネルサイズを調整した微分プロファイルを示す. パラメータ調整により, エッジ位置の 図 14 パラメータ調整による微分プロファイルの変化 図 15 カーネルサイズと D 1 および D 2 の変化微分値が大きくなるとともに背景位置の微分値が小さくなることがわかる. 図 15に濃度投影幅を 10 に固定し, カーネルサイズを段階的に変化させた場合の D 1 および D 2 の関係を示す. カーネルサイズ 9 を境に D 1<D 2 となり, 式 (2) の条件を満たすしきい値を選択できることがわかる. 具体的な設定値としては, 濃度投影幅 10, カーネルサイズ 20, しきい値 130 とすることで, 筋状パタンに邪 592 精密工学会誌 Vol.78, No.7, 2012
魔されずに対象物の外形を認識することができる. 5. まとめエッジ検出はエッジの定義が単純であるため, 非常に広い用途に適用できるというメリットがあり, 具体的なテーマにおいて目にする機会も多いと思われる. 一方で, 定義が単純であるが故に環境の変化に弱く, その都度調整が必要となるケースが多い点がデメリットである. 本稿では, エッジ検出に関して工業用途における代表的な問題とその原因について, 原理に立ち返り解説を試みた. また, エッジ検出処理の各種パラメータを取り上げ, パラメータ調整の効果について検証した. これらを踏まえ て, 対象物に適した設定を行うことで, エッジ検出の問題点を改善できることを示した. 本稿が, エッジ検出の理解と問題解決に役立てば幸いである. 参考文献 1) 八木伸行他 :C 言語で学ぶ実践画像処理, オーム社,(1992). 2) 新井元基, 鷲見和彦, 松山隆司 : 画像のブロックマッチングにおける相関関数とサブピクセル推定方式の最適化, 情報処理学会研究報告,2004-CVIM-144(5). 3) 清水雅夫, 奥富正敏 : 画像のマッチングにおけるサブピクセル推定の意味と性質, 電子情報通信学会論文誌 D-II, J85-D-II, 12 (2002) 1791-1800. 精密工学会誌 Vol.78, No.7, 2012 593