JP7027978B2 - 検査装置、検査方法、及び検査プログラム - Google Patents

検査装置、検査方法、及び検査プログラム Download PDF

Info

Publication number
JP7027978B2
JP7027978B2 JP2018046251A JP2018046251A JP7027978B2 JP 7027978 B2 JP7027978 B2 JP 7027978B2 JP 2018046251 A JP2018046251 A JP 2018046251A JP 2018046251 A JP2018046251 A JP 2018046251A JP 7027978 B2 JP7027978 B2 JP 7027978B2
Authority
JP
Japan
Prior art keywords
line
feature
combination
combinations
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018046251A
Other languages
English (en)
Other versions
JP2019158628A (ja
Inventor
厚憲 茂木
敏幸 吉武
あゆ 烏谷
晃大 牧田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018046251A priority Critical patent/JP7027978B2/ja
Priority to US16/294,031 priority patent/US10997702B2/en
Publication of JP2019158628A publication Critical patent/JP2019158628A/ja
Application granted granted Critical
Publication of JP7027978B2 publication Critical patent/JP7027978B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/543Depth or shape recovery from line drawings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component

Description

本発明は、検査装置、検査方法、及び検査プログラムに関する。
近年、拡張現実(Augmented Reality,AR)技術を用いて画像を表示するシステムが普及してきている。AR技術の一例では、パーソナルコンピュータ(Personal Computer,PC)、携帯端末装置等に搭載したカメラを用いて物体が撮影され、物体の画像から3次元空間内におけるカメラの位置及び姿勢が推定される。そして、決定されたカメラの位置及び姿勢を基準にして、画像中の任意の位置にコンテンツ情報が重畳表示される。
製品を製造する現場において、製品の検査は、熟練作業者によって、専用の治具を用いて時間をかけて実施されることが多い。しかし、熟練作業者以外の作業者でも容易に検査を実施することができるようになれば、検査コストを削減することが可能になる。
撮像画像から抽出されたエッジ線と立体構造物のモデル画像に含まれる稜線とが重なるように、モデル画像を撮像画像に重畳する技術が知られている(例えば、特許文献1を参照)。物体の形状情報に含まれる候補線を画像上に投影した投影線と、画像から検出した特徴線とを対応付けた、所定数の組み合わせを用いて、撮像装置の位置を推定する技術も知られている(例えば、特許文献2を参照)。ワーク画像のエッジ位置とそのエッジ位置に対応するマスター画像上の位置との変位量を示す誤差の統計情報を、エッジ位置に沿って表示する技術も知られている(例えば、特許文献3を参照)。
カメラキャリブレーション、線分検出、立体の機械知覚、直線対応付けによる姿勢推定、コンピュータ・ビジョンのためのロバスト回帰法等の技術も知られている(例えば、非特許文献1~非特許文献5を参照)。
特開2017-91078号公報 特開2017-182302号公報 特開2012-32344号公報
Z. Zhang,"A Flexible New Technique for Camera Calibration", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.22, No.11, pp.1330-1334, November 2000 R. G. Gioi et al.,"LSD: a Line Segment Detector", Image Processing On Line, 2 (2012), pp.35-55, March 2012 L. G. Roberts,"Machine perception of three-dimensional solids", MIT Lincoln Lab. Rep., TR3315, pp.1-82, May 1963 C. Xu et al.,"Pose Estimation from Line Correspondences: A Complete Analysis and a Series of Solutions", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.39, No.6, pp.1209-1222, June 2017 P. Meer et al.,"Robust Regression Methods for Computer Vision: A Review", International Journal of Computer Vision, Vol.6, Issue 1, pp.59-70, April 1991
AR技術の応用として、現場で製造した製品の3次元形状を表すCAD(Computer-Aided Design)データを、その製品の画像に重畳表示することで、製造診断が行われることがある。しかし、製品のCADデータに含まれる3D線分を製品の画像上に投影した投影線の位置と、画像から検出した特徴線の位置との間のずれ量から、CADデータが表す形状と一致しない製造不良部分を精度良く特定することは困難である。
なお、かかる問題は、CADデータを用いて製品の製造診断を行う場合に限らず、他の形状情報を用いて物体の形状を検査する場合においても生ずるものである。
1つの側面において、本発明は、物体の形状情報を用いてその物体の形状を検査する形状検査において、形状情報と一致しない不良部分を特定することを目的とする。
1つの案では、検査装置は、記憶部、検出部、生成部、設定部、及び分類部を含む。記憶部は、物体の形状を表す複数の線分を含む形状情報を記憶する。検出部は、撮像装置が撮影した物体の画像から、複数の特徴線を検出する。
生成部は、複数の線分それぞれと複数の特徴線それぞれとを対応付けた複数の組み合わせを生成する。設定部は、複数の線分それぞれを画像上に投影することで、複数の投影線を生成し、複数の組み合わせ各々に含まれる線分の投影線の位置と特徴線の位置との間の誤差の統計値に基づいて、誤差に対する閾値を設定する。分類部は、閾値を用いて複数の組み合わせを分類する。
実施形態によれば、物体の形状情報を用いてその物体の形状を検査する形状検査において、形状情報と一致しない不良部分を特定することができる。
3D線分及び特徴線を示す図である。 検査装置の機能的構成図である。 画像処理のフローチャートである。 検査装置の第1の具体例を示す機能的構成図である。 CADデータを示す図である。 画面上に表示された画像を示す図である。 面積に基づく誤差の計算方法を示す図である。 距離に基づく誤差の計算方法を示す図である。 投影線と特徴線との間の誤差を示す図である。 物体の形状の不良部分を表す対応ペアを示す図である。 誤った対応ペアを示す図である。 画面上に表示された対応ペア集合を示す図である。 閾値を調整するためのGUIを示す図である。 表示対象の対応ペアを選択するためのGUIを示す図である。 画像処理の第1の具体例を示すフローチャート(その1)である。 画像処理の第1の具体例を示すフローチャート(その2)である。 検査装置の第2の具体例を示す機能的構成図である。 投影線を含む所定領域を示す図である。 画像処理の第2の具体例を示すフローチャート(その1)である。 画像処理の第2の具体例を示すフローチャート(その2)である。 情報処理装置の構成図である。
以下、図面を参照しながら、実施形態を詳細に説明する。
製造診断では、単にCADデータを画像に重畳表示するだけでなく、CADデータが表す形状と一致しない、製品の製造不良部分を強調表示したり、CADデータが表す形状と製品の形状との間のずれ量を定量的に表示したりすることが望ましい。
そこで、特許文献2及び特許文献3の技術を組み合わせる方法が考えられる。この方法では、CADデータに含まれる3D線分を製品の画像上に投影した投影線の位置と、画像から検出した特徴線の位置との間のずれ量が計算される。そして、ずれ量が事前に設定された閾値を超えている場合、その投影線及び特徴線が強調表示されるとともに、ずれ量が表示される。
しかしながら、ずれ量は、画像を撮影したカメラの位置及び姿勢の推定結果に応じて変化するため、製造不良の判定基準となる適切な閾値を事前に設定することは困難である。また、投影線と特徴線との対応付けが誤っている場合であっても、それらの間のずれ量が閾値を超えていれば、製造不良と判定されてしまう。
図1は、3D線分及び特徴線の例を示している。画面中央には、画像に写っている物体101が表示されており、物体101上には、物体101のCADデータに含まれる3D線分を画像上に投影した投影線が重畳表示されている。物体101上の太線は、物体101から検出された特徴線を表す。投影線及び特徴線の近くに表示された数字は、投影線の位置と特徴線の位置との間のずれ量を、単位をmmとする3次元空間内の距離に変換した値を表す。
例えば、投影線111と特徴線121との間のずれ量は2.6mmであり、このずれ量は物体101の形状の不良部分を示している。しかし、この例では、ずれ量が0.0mm~7.6mmの範囲に分布しており、製造不良の判定基準となる閾値をどの値に設定すればよいかを決定するのは難しい。
一方、投影線112と特徴線122との間のずれ量は7.6mmであり、このずれ量は、物体101の形状の不良部分ではなく、投影線112と特徴線122との対応付けが誤っていることを示している。例えば、閾値を1.0mmに設定した場合、投影線111と特徴線121との組み合わせだけでなく、投影線112と特徴線122との組み合わせも不良部分と判定されてしまう。
このように、特許文献2及び特許文献3の技術を組み合わせる方法では、製品のCADデータが表す形状と一致しない製造不良部分を精度良く特定することが困難である。
図2は、実施形態の検査装置の機能的構成例を示している。図2の検査装置201は、記憶部211、検出部212、生成部213、設定部214、及び分類部215を含む。記憶部211は、物体の形状を表す複数の線分を含む形状情報221を記憶する。
図3は、図2の検査装置201が行う画像処理の例を示すフローチャートである。まず、検出部212は、撮像装置が撮影した物体の画像から、複数の特徴線を検出する(ステップ301)。
次に、生成部213は、形状情報221に含まれる複数の線分それぞれと複数の特徴線それぞれとを対応付けた複数の組み合わせを生成する(ステップ302)。
次に、設定部214は、複数の線分それぞれを画像上に投影することで、複数の投影線を生成する(ステップ303)。そして、設定部214は、複数の組み合わせ各々に含まれる投影線の位置と特徴線の位置との間の誤差の統計値に基づいて、誤差に対する閾値を設定する(ステップ304)。分類部215は、閾値を用いて複数の組み合わせを分類する(ステップ305)。
このような検査装置201によれば、物体の形状情報を用いてその物体の形状を検査する形状検査において、形状情報と一致しない不良部分を特定することができる。
図4は、図2の検査装置201の第1の具体例を示している。図4の検査装置401は、記憶部411、画像取得部412、特徴線検出部413、線分検出部414、パラメータ設定部415、生成部416、パラメータ計算部417、及び誤差計算部418を含む。さらに、検査装置401は、閾値設定部419、分類部420、表示部421、調整部422、及び選択部423を含む。
記憶部411、特徴線検出部413、生成部416、及び分類部420は、図2の記憶部211、検出部212、生成部213、及び分類部215にそれぞれ対応し、誤差計算部418及び閾値設定部419は、設定部214に対応する。パラメータ計算部417は、3次元空間内における撮像装置402の位置と姿勢とを推定する推定部として動作する。
検査装置401は、物体の形状情報を用いてその物体の形状を検査する形状検査において使用される。検査装置401は、タブレット、ノート型PC(Personal Computer)、スマートデバイス等の携帯端末装置であってもよく、デスクトップ型PC等の情報処理装置であってもよい。
記憶部411は、CADデータ431を記憶している。CADデータ431は、図2の形状情報221に対応し、物体の3次元形状を表す複数の頂点の頂点情報と、複数の線分の線分情報とを含む。頂点情報は、物体の各頂点の3次元座標を含み、線分情報は、各線分の両端の頂点を示す識別情報、又は各線分の両端の頂点の3次元座標を含む。CADデータ431は、OBJ形式のデータであってもよい。
図5は、CADデータ431の例を示している。図5のCADデータ431は、ID、始点、及び終点を含む。IDは、線分の識別情報を表し、始点は、線分の一方の端点の3次元座標を表し、終点は、線分の他方の端点の3次元座標を表す。
撮像装置402は、例えば、CCD(Charged-Coupled Device)、CMOS(Complementary Metal-Oxide-Semiconductor)等の撮像素子を有するカメラであり、CADデータ431が表す物体の画像432を撮影する。画像取得部412は、撮像装置402から画像432を取得して、記憶部411に格納する。
特徴線検出部413は、エッジ検出処理を行って、画像432から複数のエッジ線を検出し、検出したエッジ線を特徴線433として記憶部411に格納する。特徴線検出部413は、例えば、非特許文献2の技術を用いて、画像432からエッジ線を検出することができる。線分検出部414は、CADデータ431に含まれる複数の線分を検出し、検出した複数の線分を複数の3D線分434として記憶部411に格納する。
パラメータ設定部415は、3次元空間内における撮像装置402の初期位置及び初期姿勢を表す初期パラメータ435を設定する。まず、パラメータ設定部415は、CADデータ431が表す物体を画像432上に投影して、画像432及び物体の形状を画面上に表示する。
図6は、画面上に表示された画像432及び物体の形状の例を示している。画面中央には、画像432に写っている物体101が表示されており、物体101上には、物体101から検出された特徴線433が表示されている。また、物体101の左下には、CADデータ431から検出された3D線分434が投影されており、3D線分434の投影線を用いて、物体の形状601が表示されている。
ユーザは、形状601の位置及び姿勢が物体101と近似するように、画面上で形状601の位置及び姿勢を変更する操作を行う。画面上で形状601の位置及び姿勢を変更することで、画面に対する視点の位置及び姿勢が変化する。そこで、パラメータ設定部415は、ユーザが決定した形状601の位置及び姿勢に対応する視点の位置及び姿勢を、撮像装置402の初期位置及び初期姿勢として用いる。そして、パラメータ設定部415は、その初期位置及び初期姿勢を表すパラメータを、初期パラメータ435として記憶部411に格納する。
生成部416は、形状601に含まれる3D線分のうち、視点から観察されない3D線分(隠線)を除去する。生成部416は、例えば、非特許文献3の技術を用いて、隠線を除去することができる。
パラメータ設定部415は、先願である特願2017-195787号に記載された技術を用いて、初期パラメータ435を自動的に決定することも可能である。この技術によれば、3次元空間内における複数の視点それぞれから観察される物体の位置及び姿勢を表す姿勢情報と、観察される物体の視点画像と、その視点画像から抽出された特徴量とが、関連付けて記憶部に格納される。そして、撮像装置によって撮影された画像の特徴量と各視点画像の特徴量との間の類似度が計算され、最大の類似度を有する視点画像の姿勢情報が、物体の初期位置及び初期姿勢を表す姿勢情報に決定される。
初期パラメータ435が表す初期位置及び初期姿勢は、仮の位置及び姿勢であり、画像432を撮影したときの撮像装置402の位置及び姿勢と必ずしも一致しているとは限らない。
次に、ユーザは、画面上に表示されている、3D線分434の投影線及び特徴線433の中から、投影線と特徴線の組み合わせをk個(kは4以上の所定の整数)指定する。生成部416は、指定された投影線が表す3D線分と指定された特徴線との組み合わせ(対応ペア)を、初期対応ペアとして用いる。この場合、k個の初期対応ペアが生成される。
生成部416は、別の先願である特願2016-187515号に記載された技術を用いて、初期対応ペアを自動的に決定することも可能である。この技術によれば、画像から検出された複数の特徴線の中から、所定の条件を満たす複数の特徴線が抽出される。次に、抽出された特徴線と隠線を除去した残りの3D線分とから、k個の対応ペアが生成され、各対応ペアに含まれる3D線分の投影線の位置と特徴線の位置との間の誤差の総和が計算される。そして、k個の対応ペアに含まれる3D線分と特徴線の組み合わせを変更しながら、誤差の総和が繰り返し計算され、誤差の総和が最小となるk個の対応ペアが、k個の初期対応ペアに決定される。
パラメータ計算部417は、k個の初期対応ペアを用いて、画像432を撮影したときの撮像装置402の位置及び姿勢を計算する。パラメータ計算部417は、例えば、非特許文献4の技術を用いて、k個の初期対応ペアから、位置及び姿勢を表す3行3列の回転行列Rと並進ベクトルTとを計算することができる。
生成部416は、パラメータ計算部417が計算した撮像装置402の位置及び姿勢を用いて、3D線分434を画像432上に投影することで、投影線を生成する。例えば、生成部416は、次式により、3D線分434を画像432上に投影することができる。
Figure 0007027978000001
式(1)の(X,Y,Z)、A、R、T、及び(u,v)の定義は、以下の通りである。
(X,Y,Z):3D線分の端点の3次元座標
A:撮像装置402の内部パラメータ
R:3行3列の回転行列
T:並進ベクトル
(u,v):画像432上における投影線の端点の2次元座標
撮像装置402の内部パラメータAは、例えば、非特許文献1の技術を用いて、事前に計測しておくことができる。
次に、生成部416は、生成した投影線の中から、初期対応ペアに対して追加する追加3D線分の投影線を選択し、特徴線433の中から、追加3D線分に対応付ける追加特徴線を選択し、追加3D線分と追加特徴線とを対応付けた追加対応ペアを生成する。そして、生成部416は、初期対応ペア及び追加対応ペアの集合を、対応ペア集合436として記憶部411に格納する。したがって、対応ペア集合436に含まれる対応ペアの個数Nは、k+1以上になる。
例えば、生成部416は、特許文献2の技術を用いて、投影線の長さが長い順に追加3D線分の投影線を選択し、選択した投影線に対して以下の条件を満たす特徴線を、追加特徴線として選択することができる。
(C1)投影線の中点と特徴線の中点との距離<閾値
(C2)投影線と特徴線との成す角度<閾値
追加特徴線の本数には上限を設けてもよい。また、物体の1つの辺から2本以上の特徴線が細切れで検出される可能性があるため、生成部416は、同一直線上に2本以上の特徴線が存在する場合、いずれか1本のみを追加特徴線として選択してもよい。さらに、生成部416は、所定値よりも短い特徴線を、追加特徴線の候補から除外してもよい。例えば、所定値としては、最も長い特徴線の長さの5%~20%の値を用いることができる。
次に、パラメータ計算部417は、対応ペア集合436に含まれるN個の対応ペアの中から、k個の対応ペアを選択し、選択したk個の対応ペアを用いて、撮像装置402の位置及び姿勢を計算する。そして、パラメータ計算部417は、計算した位置及び姿勢を表すパラメータを、パラメータ437として記憶部411に格納する。例えば、パラメータ437としては、式(1)のR及びTを用いることができる。
パラメータ計算部417は、k個の対応ペアの選択を変更しながら、パラメータ437を計算する処理を複数回繰り返す。誤差計算部418は、パラメータ437が計算される度に、そのパラメータ437が表すR及びTを用いて、対応ペア集合436内の残りのN-k個の対応ペアに含まれる3D線分を、画像432上に投影することで、N-k本の投影線を生成する。
次に、誤差計算部418は、生成した投影線の位置とその対応ペアに含まれる特徴線の位置との間の誤差を計算し、N-k個の対応ペアそれぞれの誤差の統計値438を計算して、記憶部411に格納する。誤差の統計値438としては、中央値、平均値、最小値等を用いることができる。
図7は、投影線と特徴線との間の領域の面積に基づく誤差の計算方法の例を示している。N-k個の対応ペアのうちi番目(i=1~N-k)の対応ペアに含まれる3D線分の投影線が線分701であり、特徴線が線分702である場合、線分701の両端と線分702の両端とをそれぞれ結ぶ線分703及び線分704を定義することができる。この場合、線分701~線分704によって囲まれた領域の面積Aiを、投影線の位置と特徴線の位置との間の誤差Eiとして用いることができる。
Ei=Ai (2)
面積Aiが小さいほど、誤差Eiは小さくなり、線分701が線分702に重なっている場合、誤差Eiは0になる。
図8は、投影線と特徴線との間の距離に基づく誤差の計算方法の例を示している。線分702の両端から線分701上へ下ろした垂線801及び垂線802の長さを、それぞれ、Li1及びLi2とする。この場合、Li1及びLi2の和を、誤差Eiとして用いることができる。
Ei=Li1+Li2 (3)
Li1及びLi2が短いほど、誤差Eiは小さくなり、線分701が線分702に重なっている場合、誤差Eiは0になる。
誤差計算部418は、それぞれのパラメータ437を用いて計算した統計値438の最小値を求める。閾値設定部419は、統計値438の最小値を用いて、誤差に対する閾値439を計算し、記憶部411に格納する。例えば、統計値438としてN-k個の誤差の中央値medを用いた場合、閾値設定部419は、非特許文献5の技術を用いて、次式により標準偏差σから閾値THを計算し、閾値THを閾値439として用いることができる。
TH=2.5*σ (4)
σ=C*{1+(5/(N-k))}*(med)1/2 (5)
C=1.4826 (6)
図9は、図1に示した投影線と特徴線との間の誤差の例を示している。この例では、N=12、k=4であり、横軸はi番目(i=1~8)の対応ペアを表し、縦軸はi番目の対応ペアの誤差Eiを表す。
1番目~6番目の対応ペアは、3D線分と特徴線とが正しく対応付けられた、物体101の良好な形状の対応ペアを表し、それらの誤差は全体的に類似した値になる。一方、7番目の対応ペアは、形状の不良部分である投影線111の3D線分と特徴線121との対応ペアを表し、その誤差は、1番目~6番目の対応ペアと比較して突出した値になる。また、8番目の対応ペアは、誤って対応付けられた投影線112の3D線分と特徴線122との対応ペアを表し、その誤差は、7番目の対応ペアの誤差よりもはるかに大きい。
破線901は、式(4)~式(6)を用いて計算された閾値THを表す。この場合、TH=13.2であり、1番目~6番目の対応ペアの誤差はTHよりも小さく、7番目及び8番目の対応ペアの誤差はTHよりも大きい。このように、式(4)の閾値THを用いることで、誤差の外れ値の影響を抑えて、良好な形状の対応ペアと不良部分の対応ペアとを区別することが可能になる。
次に、分類部420は、統計値438の最小値を計算する際に用いられたパラメータ437を選択し、選択したパラメータ437を用いて、対応ペア集合436に含まれる3D線分を、画像432上に再度投影することで、投影線を生成する。そして、分類部420は、生成した投影線の位置とその対応ペアに含まれる特徴線の位置との間の誤差を計算し、閾値439よりも小さな誤差を有する対応ペアを、正しく対応付けられた対応ペア(正しい対応ペア)に分類する。
一方、閾値439よりも大きな誤差を有する対応ペアの中には、物体の形状の不良部分を表す対応ペアだけでなく、誤って対応付けられた対応ペア(誤った対応ペア)が含まれている可能性がある。この場合、閾値439よりも大きな誤差を有する対応ペアの中から誤った対応ペアを除外して、不良部分の対応ペアのみを抽出することが望ましい。
そこで、分類部420は、対応ペア集合436から、閾値439よりも大きな誤差を有する対応ペアを、判定対象の対応ペアとして抽出する。そして、分類部420は、判定対象の対応ペアに含まれる3D線分と他の対応ペアに含まれる3D線分との間の連結状態に基づいて、判定対象の対応ペアを物体の形状の不良部分に分類するか否かを決定する。例えば、分類部420は、以下のような判定基準に基づいて、判定対象の対応ペアを不良部分に分類するか否かを決定することができる。
(P1)分類部420は、判定対象の対応ペアに含まれる特徴線の端点との距離が所定値よりも小さい端点を有する特徴線を含む対応ペアを、他の対応ペアとして選択する。そして、分類部420は、判定対象の対応ペアに含まれる3D線分の端点と他の対応ペアに含まれる3D線分の端点との距離が所定値よりも小さい場合、判定対象の対応ペアを不良部分に分類する。また、分類部420は、それらの3D線分の端点間の距離が所定値よりも大きい場合、判定対象の対応ペアを誤った対応ペアに分類する。
(P2)分類部420は、判定対象の対応ペアに含まれる3D線分の端点との距離が所定値よりも小さい端点を有する3D線分を含む対応ペアを、他の対応ペアとして選択する。そして、分類部420は、判定対象の対応ペアに含まれる特徴線の端点と他の対応ペアに含まれる特徴線の端点との距離が所定値よりも小さい場合、判定対象の対応ペアを不良部分に分類する。また、分類部420は、それらの特徴線の端点間の距離が所定値よりも大きい場合、判定対象の対応ペアを誤った対応ペアに分類する。
(P1)の判定基準によれば、判定対象の対応ペアの特徴線の近くに他の対応ペアの特徴線が存在する場合、判定対象の対応ペアが不良部分の対応ペア又は誤った対応ペアのいずれであるかを容易に判定することができる。
(P2)の判定基準によれば、判定対象の対応ペアの特徴線の近くに他の対応ペアの特徴線が存在しない場合であっても、判定対象の対応ペアが不良部分の対応ペア又は誤った対応ペアのいずれであるかを容易に判定することができる。
分類部420は、(P1)又は(P2)のいずれか一方の判定基準に従って判定対象の対応ペアを分類してもよく、両方の判定基準を併用して判定対象の対応ペアを分類してもよい。以下では、2本の3D線分の端点間の距離が所定値よりも小さい場合、それらの3D線分同士が連結していると記すことがある。同様に、2本の特徴線の端点間の距離が所定値よりも小さい場合、それらの特徴線同士が連結していると記すことがある。
表示部421は、対応ペア集合436の一部又は全部を画面上に表示し、各対応ペアの3D線分と特徴線との間のずれ量を表示する。例えば、表示部421は、対応ペア集合436から誤った対応ペアを除外して、正しい対応ペアと不良部分の対応ペアのみを表示し、そのうち不良部分の対応ペアを強調表示する。
これにより、ユーザは、CADデータ431が表す形状と一致しない、物体の形状の不良部分を容易に確認することができ、形状の不一致の度合いを定量的に把握することができる。また、誤った対応ペアが表示されないため、形状検査の作業が効率化される。
図10は、物体の形状の不良部分を表す対応ペアの例を示している。図10(a)は、図1の投影線111の3D線分と特徴線121との対応ペアを示しており、図10(b)は、特徴線121を含む複数の特徴線を示している。
図10(c)は、図10(a)の対応ペアを判定対象とした場合の他の対応ペアを示している。投影線1001~投影線1004は、投影線111の3D線分と連結している3D線分の投影線である。特徴線1011は、投影線1001の3D線分を含む対応ペアの特徴線であり、特徴線1012は、投影線1002の3D線分を含む対応ペアの特徴線である。
例えば、(P2)の判定基準を用いた場合、判定対象の対応ペアに含まれる3D線分と連結している3D線分を含む対応ペアが、他の対応ペアとして選択される。したがって、特徴線1011を含む対応ペアと、特徴線1012を含む対応ペアとが、他の対応ペアとして選択される。そして、判定対象の対応ペアに含まれる特徴線121が、特徴線1011及び特徴線1012と連結しているため、判定対象の対応ペアは、不良部分に分類される。
図11は、誤った対応ペアの例を示している。図11(a)は、図1の投影線112の3D線分と特徴線122との対応ペアを示しており、図11(b)は、特徴線122を含む複数の特徴線を示している。
図11(c)は、図11(a)の対応ペアを判定対象とした場合の他の対応ペアを示している。特徴線1101は、特徴線122と連結している特徴線であり、投影線1111は、特徴線1101を含む対応ペアの3D線分の投影線である。
例えば、(P1)の判定基準を用いた場合、判定対象の対応ペアに含まれる特徴線と連結している特徴線を含む対応ペアが、他の対応ペアとして選択される。したがって、特徴線1101を含む対応ペアが、他の対応ペアとして選択される。そして、判定対象の対応ペアに含まれる3D線分が、他の対応ペアに含まれる3D線分と連結していないため、判定対象の対応ペアは、誤った対応ペアに分類される。
(P1)及び(P2)の判定基準を併用する場合、分類部420は、例えば、以下のような分類処理により、判定対象の対応ペアを不良部分の対応ペア又は誤った対応ペアに分類することができる。
// 判定対象の対応ペアの周りの連結状態の判定
for すべての判定対象の対応ペア
TP=判定対象の対応ペア
flag=ON
for TPの3D線分に連結しているすべての3D線分
if {TPの3D線分に連結している3D線分}を含む対応ペアOPが存在
if OPの特徴線とTPの特徴線とが連結していない
flag=OFF
end
end
end
for TPの特徴線に連結しているすべての特徴線
if {TPの特徴線に連結している特徴線}を含む対応ペアOPが存在
if OPの3D線分とTPの3D線分とが連結していない
flag=OFF
end
end
end
// 誤った対応ペア又は不良部分の判定
if flag==OFF
TP=誤った対応ペア
else
TP=不良部分の対応ペア
end
end
上記分類処理において、OPの特徴線の端点とTPの特徴線の端点との距離が閾値D以下である場合、OPの特徴線とTPの特徴線とが連結していると判定される。一方、距離が閾値Dよりも大きい場合、OPの特徴線とTPの特徴線とが連結していないと判定される。
また、OPの3D線分を表す投影線の端点と、TPの3D線分を表す投影線の端点との距離が、閾値D以下である場合、OPの3D線分とTPの3D線分とが連結していると判定される。一方、距離が閾値Dよりも大きい場合、OPの3D線分とTPの3D線分とが連結していないと判定される。例えば、閾値Dとしては、1画素~10画素の範囲の値を用いることができる。閾値Dは、数画素であってもよい。
図12は、画面上に表示された対応ペア集合436の例を示している。この例では、図1に示した3D線分と特徴線の対応ペアのうち、正しい対応ペアと不良部分の対応ペアとが物体101の画像上に重畳表示されている。
例えば、表示部421は、正しい対応ペアの投影線及び特徴線を青で表示し、不良部分の対応ペアの投影線111及び特徴線121を赤で表示することで、不良部分の対応ペアを強調表示することができる。表示部421は、投影線及び特徴線の色を変更する代わりに、太さ、線種等を変更することで、不良部分の対応ペアを強調表示してもよい。なお、誤った対応ペアに分類された投影線112及び特徴線122は、図12の画面上に表示されていない。
図1と同様に、投影線及び特徴線の近くに表示された数字は、投影線の位置と特徴線の位置との間のずれ量を、単位をmmとする3次元空間内の距離に変換した値を表す。分類部420は、3次元空間内におけるずれ量Err[mm]を、次式により計算することができる。
Err=(LA/LB)*h (7)
式(7)のLA[mm]は、対応ペアに含まれる3D線分の3次元空間内における長さを表し、LB[pixel]は、その3D線分の投影線の長さを表す。h[pixel]は、画像432上で、対応ペアに含まれる特徴線の両端から投影線に対して下した垂線の長さの平均値を表す。
調整部422は、閾値439を調整し、表示部421は、調整部422によって調整された閾値439に応じて、不良部分の対応ペアを強調表示する。
図13は、閾値439を調整するためのGUI(Graphical User Interface)の例を示している。ユーザは、スライダ1301をスライドさせることで、閾値設定部419が設定した閾値439を変更することができ、変更された閾値439は、ボックス1302内に表示される。
調整部422は、スライダ1301の位置に応じて閾値439を変更し、分類部420は、変更された閾値439を用いて、対応ペア集合436の対応ペアを再度分類する。そして、表示部421は、分類結果に従って、画面上の対応ペアの表示を変更する。
調整部422を設けることで、ユーザは、閾値設定部419が設定した閾値439を微調整しながら、不良部分の対応ペアが変化するか否かを確認することができる。
選択部423は、対応ペア集合436から表示対象の対応ペアを選択する。表示部421は、表示対象の対応ペアを画面上に表示し、表示対象の対応ペアのうち不良部分の対応ペアを強調表示する。
図14は、表示対象の対応ペアを選択するためのGUIの例を示している。リストボックス1401内には、対応ペアの識別情報であるIDとずれ量Errとを含む項目のリストが表示されている。ユーザは、リストボックス1401内の各チェックボックスをチェックすることで、表示対象の対応ペアを指定することができる。また、ユーザは、全選択のチェックボックス1402をチェックすることで、すべての対応ペアを表示対象に指定することもできる。
選択部423を設けることで、ユーザは、表示対象の対応ペアを絞り込んで画面上に表示させることができるため、不良部分の確認が容易になる。
図4の検査装置401によれば、物体の形状を表す3D線分の投影線と、その物体の画像から検出された特徴線との間の誤差の統計値に基づいて、誤差に対する閾値が動的に設定される。設定された閾値は、個々の物体の形状を反映した閾値であるため、この閾値を用いて対応ペアを分類することで、CADデータと一致しない不良部分を精度良く特定することができる。また、ユーザの目視確認では見落とす可能性のある不良部分も抽出され、その不良部分のずれ量が定量的に表示されるため、検査結果を容易に保存することが可能になる。
図15A及び図15Bは、図4の検査装置401が行う画像処理の第1の具体例を示すフローチャートである。まず、画像取得部412は、撮像装置402から画像432を取得し(ステップ1501)、特徴線検出部413は、画像432から複数の特徴線433を検出する(ステップ1502)。
また、線分検出部414は、CADデータ331から複数の3D線分434を検出し(ステップ1503)、パラメータ設定部415は、撮像装置402の初期位置及び初期姿勢を表す初期パラメータ435を設定する(ステップ1504)。
次に、生成部416は、3D線分434から隠線を除去し、残りの3D線分からk個の初期対応ペアを生成し(ステップ1505)、パラメータ計算部417は、k個の初期対応ペアを用いて、撮像装置402の位置及び姿勢を計算する(ステップ1506)。
次に、生成部416は、撮像装置402の位置及び姿勢を用いて、1個以上の追加対応ペアを生成し、初期対応ペア及び追加対応ペアを含む対応ペア集合436を生成する(ステップ1507)。
次に、パラメータ計算部417は、対応ペア集合436に含まれるN個の対応ペアの中から、k個の対応ペアをランダムに選択し、選択したk個の対応ペアを用いて、パラメータ437を計算する(ステップ1508)。
次に、誤差計算部418は、パラメータ437を用いて、対応ペア集合436内の残りのN-k個の対応ペアに含まれる3D線分を、画像432上に投影することで、N-k本の投影線を生成する(ステップ1509)。そして、誤差計算部418は、投影線の位置と特徴線の位置との間の誤差を計算し、N-k個の誤差の統計値438を計算する(ステップ1510)。
次に、パラメータ計算部417は、パラメータ437の計算を所定回数行ったか否かをチェックする(ステップ1511)。所定回数としては、例えば、次式により計算される回数Mを用いることができる。
M=log(1-p)/log(1-(1-e)) (8)
式(8)のeは、対応ペア集合436に含まれる、不良部分の対応ペア及び誤った対応ペアの割合を表し、pは、その割合がeとなる確率を表す。例えば、k=4、e=0.3、p=0.99である場合、Mは17回となる。
パラメータ437の計算を所定回数行っていない場合(ステップ1511,NO)、検査装置401は、k個の対応ペアの選択を変更して、ステップ1508以降の処理を繰り返す。
パラメータ437の計算を所定回数行った場合(ステップ1511,YES)、誤差計算部418は、統計値438の最小値を求める(ステップ1512)。そして、閾値設定部419は、統計値438の最小値を用いて閾値439を計算する(ステップ1513)。
次に、分類部420は、統計値438の最小値を計算する際に用いられたパラメータ437を選択し、選択したパラメータ437を用いて、対応ペア集合436に含まれる3D線分を画像432上に投影することで、投影線を生成する(ステップ1514)。そして、分類部420は、投影線の位置と特徴線の位置との間の誤差を閾値439と比較することで、対応ペアを分類し(ステップ1515)、誤った対応ペアを表示対象から除外する(ステップ1516)。
次に、表示部421は、正しい対応ペアと不良部分の対応ペアを画面上に表示し、各対応ペアの3D線分と特徴線との間のずれ量を表示する(ステップ1517)。
図15の画像処理によれば、対応ペア集合436から選択したk個の対応ペアを用いて、撮像装置402の位置及び姿勢を推定し、推定した位置及び姿勢を用いて、残りのN-k個の対応ペアの誤差を計算することができる。したがって、Nがkよりも十分に大きい場合、対応ペア集合436に含まれるほとんどの対応ペアの誤差を評価して、閾値439を決定することが可能になる。
また、k個の対応ペアの選択を変更して、誤差の統計値438を求める処理を繰り返し、統計値438の最小値を用いて閾値439を決定することで、閾値439に対する誤差の外れ値の影響を抑えることができ、閾値439の精度が向上する。したがって、良好な形状の対応ペアと不良部分の対応ペアとを精度良く区別することが可能になる。
なお、ステップ1511において、検査装置401は、パラメータ437の計算を所定回数行った場合に繰り返し処理を打ち切る代わりに、処理開始から所定時間が経過した場合に繰り返し処理を打ち切ってもよい。
また、計算時間に余裕がある場合、k個の対応ペアをランダムに選択するのではなく、対応ペア集合436に含まれるk個の対応ペアのすべての組み合わせについて、ステップ1508~ステップ1510の処理を繰り返してもよい。この場合、k個の対応ペアの順序を考慮して、通りの組み合わせを生成してもよく、3D線分の投影線が長い順にN個の対応ペアを事前にソートしておき、ソート後のN個の対応ペアから通りの組み合わせを生成してもよい。
k個の対応ペアをランダムに選択して誤差の統計値438を計算し、繰り返し処理を所定回数で打ち切った場合、処理時間は短くなるが、k個の対応ペアの選択結果に応じて、統計値438の最小値が変化する可能性がある。一方、すべての組み合わせについて誤差の統計値438を計算する場合、処理時間がある程度長くなっても、同じ画像432に対して毎回同じ最小値が得られるため、安定した分類結果を得ることができる。
さらに、対応ペアの個数に対する閾値Npを設定しておき、N<Npである場合、k個の対応ペアのすべての組み合わせについて処理を繰り返し、N≧Npである場合、繰り返し処理を所定回数で打ち切るようにしてもよい。
図16は、図2の検査装置201の第2の具体例を示している。図16の検査装置1601は、図4の検査装置401に鮮鋭化部1611を追加した構成を有する。
鮮鋭化部1611は、分類部420が抽出した判定対象の対応ペアに含まれる3D線分の投影線を選択し、選択した投影線を含む所定領域の画像を鮮鋭化する。例えば、鮮鋭化部1611は、所定領域の画像に対して、アンシャープマスキングのフィルタ処理を適用することで、その画像を鮮鋭化することができる。環境光の影響等によって、画像432から部分的に特徴線が検出されなかった場合であっても、その部分の画像を鮮鋭化することで、特徴線が検出される可能性が高くなる。
特徴線検出部413は、鮮鋭化された所定領域の画像に対して、再度、エッジ検出処理を行って、所定領域から特徴線を検出する。これにより、対応ペア集合436に対して追加する追加特徴線が検出される。
生成部416は、対応ペア集合436に対して追加する追加3D線分と、追加特徴線とを対応付けることで、新たな追加対応ペアを生成する。そして、分類部420は、生成部416が生成した追加対応ペアを他の対応ペアとして用いて、再度、分類処理を行う。
図17は、投影線を含む所定領域の例を示している。矩形領域1701は、投影線111を含む所定領域を表し、矩形領域1702は、投影線112を含む所定領域を表す。矩形領域1701の水平方向の辺は、投影線111の端点から垂直方向に所定距離だけ離れており、矩形領域1701の垂直方向の辺は、投影線111の端点から水平方向に所定距離だけ離れている。所定距離としては、例えば、数十画素程度の値を用いることができる。
同様に、矩形領域1702の水平方向の辺は、投影線112の端点から垂直方向に所定距離だけ離れており、矩形領域1702の垂直方向の辺は、投影線112の端点から水平方向に所定距離だけ離れている。
鮮鋭化部1611を設けることで、特徴線が検出されなかった領域から新たに特徴線を検出して、新たな追加対応ペアを生成することが可能になる。新たな追加対応ペアを他の対応ペアとして用いて分類処理を行うことで、連結状態に基づく判定処理の判定対象が増加し、誤った対応ペアの抽出精度が向上する。
また、図15Aのステップ1507において、追加特徴線の本数に上限が設けられており、所定値よりも短い特徴線が追加特徴線の候補から除外されている場合であっても、そのような特徴線を新たに追加して、画面上に表示することが可能になる。
図18A及び図18Bは、図16の検査装置1601が行う画像処理の第2の具体例を示すフローチャートである。ステップ1801~ステップ1813及びステップ1815~ステップ1818の処理は、図15のステップ1501~ステップ1517の処理と同様である。
ステップ1814において、検査装置1601は、追加対応ペアを生成する。まず、鮮鋭化部1611は、判定対象の対応ペアに含まれる3D線分の投影線を含む所定領域の画像を鮮鋭化する。そして、特徴線検出部413は、鮮鋭化された所定領域の画像から特徴線を検出する。
次に、生成部416は、ステップ1807の処理と同様にして、所定領域に対する1個以上の追加対応ペアを生成し、対応ペア集合436に追加する。そして、検査装置1601は、追加対応ペアが追加された対応ペア集合436を用いて、ステップ1815以降の処理を行う。
図2、図4、及び図16の検査装置の構成は一例に過ぎず、検査装置の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、図4及び図16の検査装置において、事前に画像432が記憶部411に格納されている場合は、画像取得部412を省略することができる。CADデータ431の代わりに、物体の形状を表す他の形状情報を用いてもよい。
図4及び図16の検査装置において、外部の装置が対応ペア集合436を表示する場合は、表示部421を省略することができる。閾値439を調整する必要がない場合は、調整部422を省略することができ、表示対象の対応ペアを選択する必要がない場合は、選択部423を省略することができる。
図3、図15A、図15B、図18A、及び図18Bのフローチャートは一例に過ぎず、検査装置の構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、事前に画像432が記憶部411に格納されている場合は、図15Aのステップ1501及び図18Aのステップ1801の処理を省略することができる。
図1の投影線及び特徴線、図5のCADデータ、図6の3D線分及び特徴線は一例に過ぎず、CADデータ、3D線分、投影線、及び特徴線は、撮影対象の物体、検査装置の構成又は条件に応じて変化する。
図7及び図8の誤差の計算方法は一例に過ぎず、検査装置の構成又は条件に応じて別の計算方法を用いてもよい。図9の誤差は一例に過ぎず、投影線と特徴線との間の誤差は、撮影対象の物体、検査装置の構成又は条件に応じて変化する。
図10の不良部分を表す対応ペア、図11の誤った対応ペア、及び図12の対応ペア集合は一例に過ぎず、対応ペアは、撮影対象の物体、検査装置の構成又は条件に応じて変化する。
図13及び図14のGUIは一例に過ぎず、検査装置の構成又は条件に応じて別のGUIを用いてもよい。図17の所定領域は一例に過ぎず、検査装置の構成又は条件に応じて別の形状又は別の大きさの所定領域を用いてもよい。
式(1)~式(8)の計算式は一例に過ぎず、検査装置の構成又は条件に応じて別の計算式を用いてもよい。
図19は、図2、図4、及び図16の検査装置として用いられる情報処理装置(コンピュータ)の構成例を示している。図19の情報処理装置は、CPU(Central Processing Unit)1901、メモリ1902、入力装置1903、出力装置1904、補助記憶装置1905、媒体駆動装置1906、及びネットワーク接続装置1907を含む。これらの構成要素はバス1908により互いに接続されている。図4及び図16の撮像装置402は、バス1908に接続されていてもよい。
メモリ1902は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。メモリ1902は、図2の記憶部211、又は図4及び図16の記憶部411として用いることができる。
CPU1901(プロセッサ)は、例えば、メモリ1902を利用してプログラムを実行することにより、図2の検出部212、生成部213、設定部214、及び分類部215として動作する。
CPU1901は、メモリ1902を利用してプログラムを実行することにより、図4及び図16の画像取得部412、特徴線検出部413、線分検出部414、及びパラメータ設定部415としても動作する。CPU1901は、メモリ1902を利用してプログラムを実行することにより、生成部416、パラメータ計算部417、誤差計算部418、閾値設定部419、分類部420、調整部422、及び選択部423としても動作する。
CPU1901は、メモリ1902を利用してプログラムを実行することにより、図16の鮮鋭化部1611としても動作する。
入力装置1903は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示又は情報の入力に用いられる。出力装置1904は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。処理結果は、分類された対応ペアを表す投影線及び特徴線であってもよい。出力装置1904は、図4及び図16の表示部421として用いることができる。
補助記憶装置1905は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置1905は、ハードディスクドライブ又はフラッシュメモリであってもよい。情報処理装置は、補助記憶装置1905にプログラム及びデータを格納しておき、それらをメモリ1902にロードして使用することができる。補助記憶装置1905は、図2の記憶部211、又は図4及び図16の記憶部411として用いることができる。
媒体駆動装置1906は、可搬型記録媒体1909を駆動し、その記録内容にアクセスする。可搬型記録媒体1909は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体1909は、CD-ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体1909にプログラム及びデータを格納しておき、それらをメモリ1902にロードして使用することができる。
このように、画像処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ1902、補助記憶装置1905、又は可搬型記録媒体1909のような、物理的な(非一時的な)記録媒体である。
ネットワーク接続装置1907は、LAN(Local Area Network)、WAN(Wide Area Network)等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェース回路である。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置1907を介して受信し、それらをメモリ1902にロードして使用することができる。
なお、情報処理装置が図19のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、可搬型記録媒体1909又は通信ネットワークを使用しない場合は、媒体駆動装置1906又はネットワーク接続装置1907を省略してもよい。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
図1乃至図19を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
物体の形状を表す複数の線分を含む形状情報を記憶する記憶部と、
撮像装置が撮影した前記物体の画像から、複数の特徴線を検出する検出部と、
前記複数の線分それぞれと前記複数の特徴線それぞれとを対応付けた複数の組み合わせを生成する生成部と、
前記複数の線分それぞれを前記画像上に投影することで、複数の投影線を生成し、前記複数の組み合わせ各々に含まれる線分の投影線の位置と特徴線の位置との間の誤差の統計値に基づいて、前記誤差に対する閾値を設定する設定部と、
前記閾値を用いて前記複数の組み合わせを分類する分類部と、
を備えることを特徴とする検査装置。
(付記2)
前記複数の組み合わせの一部又は全部を画面上に表示する表示部をさらに備え、
前記分類部は、前記複数の組み合わせのうち、前記閾値よりも大きな誤差を有する組み合わせを抽出し、抽出した組み合わせに含まれる線分と他の組み合わせに含まれる線分との間の連結状態に基づいて、前記抽出した組み合わせを前記物体の形状の不良部分に分類するか否かを決定し、
前記表示部は、前記物体の形状の不良部分に分類された組み合わせを強調表示することを特徴とする付記1記載の検査装置。
(付記3)
前記分類部は、前記複数の組み合わせのうち、前記抽出した組み合わせに含まれる第1特徴線の端点との距離が所定値よりも小さい端点を有する第2特徴線を含む組み合わせを、前記他の組み合わせとして選択し、前記抽出した組み合わせに含まれる第1線分の端点と前記他の組み合わせに含まれる第2線分の端点との距離が前記所定値よりも小さい場合、前記抽出した組み合わせを前記物体の形状の不良部分に分類することを特徴とする付記2記載の検査装置。
(付記4)
前記分類部は、前記第1線分の端点と前記第2線分の端点との距離が前記所定値よりも大きい場合、前記抽出した組み合わせを、誤った組み合わせに分類することを特徴とすることを特徴とする付記3記載の検査装置。
(付記5)
前記分類部は、前記複数の組み合わせのうち、前記抽出した組み合わせに含まれる第1線分の端点との距離が所定値よりも小さい端点を有する第2線分を含む組み合わせを、前記他の組み合わせとして選択し、前記抽出した組み合わせに含まれる第1特徴線の端点と前記他の組み合わせに含まれる第2特徴線の端点との距離が前記所定値よりも小さい場合、前記抽出した組み合わせを前記物体の形状の不良部分に分類することを特徴とする付記2記載の検査装置。
(付記6)
前記分類部は、前記第1特徴線の端点と前記第2特徴線の端点との距離が前記所定値よりも大きい場合、前記抽出した組み合わせを、誤った組み合わせに分類することを特徴とする付記5記載の検査装置。
(付記7)
前記閾値を調整する調整部をさらに備え、
前記表示部は、前記調整部によって調整された閾値に応じて、前記物体の形状の不良部分に分類された組み合わせを強調表示することを特徴とする付記2乃至6のいずれか1項に記載の検査装置。
(付記8)
前記複数の組み合わせのうち表示対象の組み合わせを選択する選択部をさらに備え、
前記表示部は、前記表示対象の組み合わせを前記画面上に表示し、前記表示対象の組み合わせのうち、前記物体の形状の不良部分に分類された組み合わせを強調表示することを特徴とする付記2乃至7のいずれか1項に記載の検査装置。
(付記9)
前記抽出した組み合わせに含まれる線分の投影線を含む所定領域の画像を鮮鋭化する鮮鋭化部をさらに備え、
前記検出部は、前記鮮鋭化部によって鮮鋭化された前記所定領域の画像から、前記複数の特徴線以外の追加特徴線を検出し、
前記生成部は、前記複数の線分以外の追加線分と前記追加特徴線とを対応付けた追加の組み合わせを生成し、
前記分類部は、前記追加の組み合わせを前記他の組み合わせとして用いて、前記抽出した組み合わせを前記物体の形状の不良部分に分類するか否かを決定することを特徴とする付記2乃至8のいずれか1項に記載の検査装置。
(付記10)
前記分類部は、前記複数の組み合わせのうち、前記閾値よりも小さな誤差を有する組み合わせを、正しい組み合わせに分類することを特徴とする付記1乃至9のいずれか1項に記載の検査装置。
(付記11)
前記検査装置は、3次元空間内における前記撮像装置の位置と姿勢とを推定する推定部をさらに備え、
前記形状情報は、前記複数の線分とは異なる所定数の線分をさらに含み、
前記検出部は、前記画像から、前記複数の特徴線とは異なる所定数の特徴線をさらに検出し、
前記生成部は、前記所定数の線分と前記複数の線分とを含む線分の集合に含まれる線分と、前記所定数の特徴線と前記複数の特徴線とを含む特徴線の集合に含まれる特徴線とを対応付けることで、線分と特徴線とを対応付けた組み合わせの集合を生成し、
前記推定部は、前記組み合わせの集合の中から、前記所定数の線分それぞれと前記所定数の特徴線それぞれとを対応付けた前記所定数の組み合わせを選択し、前記所定数の組み合わせを用いて、前記撮像装置の位置と姿勢とを推定し、
前記設定部は、前記撮像装置の位置と姿勢とを用いて、前記複数の線分それぞれを前記画像上に投影することで、前記複数の投影線を生成することを特徴とする付記1乃至10のいずれか1項に記載の検査装置。
(付記12)
前記推定部は、前記組み合わせの集合の中から選択する前記所定数の組み合わせを変更しながら、前記撮像装置の位置と姿勢とを繰り返し推定し、前記生成部は、前記推定部が選択した前記所定数の組み合わせを除いた残りの複数の組み合わせを繰り返し生成し、前記設定部は、前記生成部が生成した前記複数の組み合わせから前記誤差の統計値を繰り返し求め、求めた統計値の最小値を用いて前記閾値を設定することを特徴とする付記11記載の検査装置。
(付記13)
前記誤差の統計値は、前記複数の組み合わせ各々に含まれる線分の投影線の位置と特徴線の位置との間の誤差の中央値であることを特徴とする付記1乃至12のいずれか1項に記載の検査装置。
(付記14)
コンピュータが、
撮像装置が撮影した物体の画像から、複数の特徴線を検出し、
前記物体の形状を表す形状情報に含まれる複数の線分それぞれと、前記複数の特徴線それぞれとを対応付けた、複数の組み合わせを生成し、
前記複数の線分それぞれを前記画像上に投影することで、複数の投影線を生成し、
前記複数の組み合わせ各々に含まれる投影線の位置と特徴線の位置との間の誤差の統計値に基づいて、前記誤差に対する閾値を設定し、
前記閾値を用いて前記複数の組み合わせを分類する、
ことを特徴とする検査方法。
(付記15)
撮像装置が撮影した物体の画像から、複数の特徴線を検出し、
前記物体の形状を表す形状情報に含まれる複数の線分それぞれと、前記複数の特徴線それぞれとを対応付けた、複数の組み合わせを生成し、
前記複数の線分それぞれを前記画像上に投影することで、複数の投影線を生成し、
前記複数の組み合わせ各々に含まれる投影線の位置と特徴線の位置との間の誤差の統計値に基づいて、前記誤差に対する閾値を設定し、
前記閾値を用いて前記複数の組み合わせを分類する、
処理をコンピュータに実行させるための検査プログラム。
101 物体
111、112、1001~1004、1111 投影線
121、122、1011、1012、1101 特徴線
201、401、1601 検査装置
211、411 記憶部
212 検出部
213、416 生成部
214 設定部
215、420 分類部
221 形状情報
402 撮像装置
412 画像取得部
413 特徴線検出部
414 線分検出部
415 パラメータ設定部
417 パラメータ計算部
418 誤差計算部
419 閾値設定部
421 表示部
422 調整部
423 選択部
431 CADデータ
432 画像
433 特徴線
434 3D線分
435 初期パラメータ
436 対応ペア集合
437 パラメータ
438 統計値
439 閾値
601 形状
701~704 線分
801、802 垂線
901 破線
1301 スライダ
1302 ボックス
1401 リストボックス
1402 チェックボックス
1611 鮮鋭化部
1701、1702 矩形領域
1901 CPU
1902 メモリ
1903 入力装置
1904 出力装置
1905 補助記憶装置
1906 媒体駆動装置
1907 ネットワーク接続装置
1908 バス
1909 可搬型記録媒体

Claims (11)

  1. 物体の形状を表す複数の線分を含む形状情報を記憶する記憶部と、
    撮像装置が撮影した前記物体の画像から、複数の特徴線を検出する検出部と、
    前記複数の線分それぞれと前記複数の特徴線それぞれとを対応付けた複数の組み合わせを生成する生成部と、
    前記複数の線分それぞれを前記画像上に投影することで、複数の投影線を生成し、前記複数の組み合わせ各々に含まれる線分の投影線の位置と特徴線の位置との間の誤差の統計値に基づいて、前記誤差に対する閾値を設定する設定部と、
    前記複数の組み合わせのうち、前記閾値よりも大きな誤差を有する組み合わせを抽出し、抽出した組み合わせに含まれる線分と他の組み合わせに含まれる線分との間の連結状態に基づいて、前記抽出した組み合わせを前記物体の形状の不良部分に分類するか否かを決定する分類部と、
    を備えることを特徴とする検査装置。
  2. 前記複数の組み合わせの一部又は全部を画面上に表示する表示部をさらに備え、
    記表示部は、前記物体の形状の不良部分に分類された組み合わせを強調表示することを特徴とする請求項1記載の検査装置。
  3. 前記分類部は、前記複数の組み合わせのうち、前記抽出した組み合わせに含まれる第1特徴線の端点との距離が所定値よりも小さい端点を有する第2特徴線を含む組み合わせを、前記他の組み合わせとして選択し、前記抽出した組み合わせに含まれる第1線分の端点と前記他の組み合わせに含まれる第2線分の端点との距離が前記所定値よりも小さい場合、前記抽出した組み合わせを前記物体の形状の不良部分に分類することを特徴とする請求項2記載の検査装置。
  4. 前記分類部は、前記複数の組み合わせのうち、前記抽出した組み合わせに含まれる第1線分の端点との距離が所定値よりも小さい端点を有する第2線分を含む組み合わせを、前記他の組み合わせとして選択し、前記抽出した組み合わせに含まれる第1特徴線の端点と前記他の組み合わせに含まれる第2特徴線の端点との距離が前記所定値よりも小さい場合、前記抽出した組み合わせを前記物体の形状の不良部分に分類することを特徴とする請求項2記載の検査装置。
  5. 前記閾値を調整する調整部をさらに備え、
    前記表示部は、前記調整部によって調整された閾値に応じて、前記物体の形状の不良部分に分類された組み合わせを強調表示することを特徴とする請求項2乃至4のいずれか1項に記載の検査装置。
  6. 前記複数の組み合わせのうち表示対象の組み合わせを選択する選択部をさらに備え、
    前記表示部は、前記表示対象の組み合わせを前記画面上に表示し、前記表示対象の組み合わせのうち、前記物体の形状の不良部分に分類された組み合わせを強調表示することを特徴とする請求項2乃至5のいずれか1項に記載の検査装置。
  7. 前記抽出した組み合わせに含まれる線分の投影線を含む所定領域の画像を鮮鋭化する鮮鋭化部をさらに備え、
    前記検出部は、前記鮮鋭化部によって鮮鋭化された前記所定領域の画像から、前記複数の特徴線以外の追加特徴線を検出し、
    前記生成部は、前記複数の線分以外の追加線分と前記追加特徴線とを対応付けた追加の組み合わせを生成し、
    前記分類部は、前記追加の組み合わせを前記他の組み合わせとして用いて、前記抽出した組み合わせを前記物体の形状の不良部分に分類するか否かを決定することを特徴とする請求項2乃至6のいずれか1項に記載の検査装置。
  8. 前記検査装置は、3次元空間内における前記撮像装置の位置と姿勢とを推定する推定部をさらに備え、
    前記形状情報は、前記複数の線分とは異なる所定数の線分をさらに含み、
    前記検出部は、前記画像から、前記複数の特徴線とは異なる所定数の特徴線をさらに検出し、
    前記生成部は、前記所定数の線分と前記複数の線分とを含む線分の集合に含まれる線分と、前記所定数の特徴線と前記複数の特徴線とを含む特徴線の集合に含まれる特徴線とを対応付けることで、線分と特徴線とを対応付けた組み合わせの集合を生成し、
    前記推定部は、前記組み合わせの集合の中から、前記所定数の線分それぞれと前記所定数の特徴線それぞれとを対応付けた前記所定数の組み合わせを選択し、前記所定数の組み合わせを用いて、前記撮像装置の位置と姿勢とを推定し、
    前記設定部は、前記撮像装置の位置と姿勢とを用いて、前記複数の線分それぞれを前記画像上に投影することで、前記複数の投影線を生成することを特徴とする請求項1乃至7のいずれか1項に記載の検査装置。
  9. 前記推定部は、前記組み合わせの集合の中から選択する前記所定数の組み合わせを変更しながら、前記撮像装置の位置と姿勢とを繰り返し推定し、前記設定部は、前記推定部が選択した前記所定数の組み合わせを除いた残りの複数の組み合わせから前記誤差の統計値を繰り返し求め、求めた統計値の最小値を用いて前記閾値を設定することを特徴とする請求項8記載の検査装置。
  10. コンピュータが、
    撮像装置が撮影した物体の画像から、複数の特徴線を検出し、
    前記物体の形状を表す形状情報に含まれる複数の線分それぞれと、前記複数の特徴線それぞれとを対応付けた、複数の組み合わせを生成し、
    前記複数の線分それぞれを前記画像上に投影することで、複数の投影線を生成し、
    前記複数の組み合わせ各々に含まれる投影線の位置と特徴線の位置との間の誤差の統計値に基づいて、前記誤差に対する閾値を設定し、
    前記複数の組み合わせのうち、前記閾値よりも大きな誤差を有する組み合わせを抽出し、
    抽出した組み合わせに含まれる線分と他の組み合わせに含まれる線分との間の連結状態に基づいて、前記抽出した組み合わせを前記物体の形状の不良部分に分類するか否かを決定する
    ことを特徴とする検査方法。
  11. 撮像装置が撮影した物体の画像から、複数の特徴線を検出し、
    前記物体の形状を表す形状情報に含まれる複数の線分それぞれと、前記複数の特徴線それぞれとを対応付けた、複数の組み合わせを生成し、
    前記複数の線分それぞれを前記画像上に投影することで、複数の投影線を生成し、
    前記複数の組み合わせ各々に含まれる投影線の位置と特徴線の位置との間の誤差の統計値に基づいて、前記誤差に対する閾値を設定し、
    前記複数の組み合わせのうち、前記閾値よりも大きな誤差を有する組み合わせを抽出し、
    抽出した組み合わせに含まれる線分と他の組み合わせに含まれる線分との間の連結状態に基づいて、前記抽出した組み合わせを前記物体の形状の不良部分に分類するか否かを決定する
    処理をコンピュータに実行させるための検査プログラム。
JP2018046251A 2018-03-14 2018-03-14 検査装置、検査方法、及び検査プログラム Active JP7027978B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018046251A JP7027978B2 (ja) 2018-03-14 2018-03-14 検査装置、検査方法、及び検査プログラム
US16/294,031 US10997702B2 (en) 2018-03-14 2019-03-06 Inspection apparatus, inspection method, and computer readable recording medium storing inspection program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018046251A JP7027978B2 (ja) 2018-03-14 2018-03-14 検査装置、検査方法、及び検査プログラム

Publications (2)

Publication Number Publication Date
JP2019158628A JP2019158628A (ja) 2019-09-19
JP7027978B2 true JP7027978B2 (ja) 2022-03-02

Family

ID=67905845

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018046251A Active JP7027978B2 (ja) 2018-03-14 2018-03-14 検査装置、検査方法、及び検査プログラム

Country Status (2)

Country Link
US (1) US10997702B2 (ja)
JP (1) JP7027978B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7188201B2 (ja) * 2019-03-13 2022-12-13 富士通株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
JP7230722B2 (ja) 2019-07-24 2023-03-01 富士通株式会社 画像処理装置及び画像処理方法
JP7208940B2 (ja) * 2020-02-19 2023-01-19 Kddi株式会社 画像処理装置、サーバ、画像処理方法、姿勢推定方法、及びプログラム
JPWO2022024464A1 (ja) * 2020-07-29 2022-02-03
TWI746318B (zh) * 2020-12-17 2021-11-11 萬潤科技股份有限公司 檢測方法、檢測裝置及設備

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005283197A (ja) 2004-03-29 2005-10-13 Seiko Epson Corp 画面のスジ欠陥検出方法及び装置
JP2006220644A (ja) 2005-01-14 2006-08-24 Hitachi High-Technologies Corp パターン検査方法及びその装置
JP2007128306A (ja) 2005-11-04 2007-05-24 Omron Corp 画像処理装置
JP2009282928A (ja) 2008-05-26 2009-12-03 Topcon Corp エッジ抽出装置、測量機、およびプログラム
JP2012064046A (ja) 2010-09-16 2012-03-29 Toshiba Corp 車両検出装置
US20150310604A1 (en) 2014-04-24 2015-10-29 General Electric Company System and method for image based inspection of an object
JP2017182302A (ja) 2016-03-29 2017-10-05 富士通株式会社 画像処理プログラム、画像処理装置、及び画像処理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5597056B2 (ja) 2010-08-02 2014-10-01 株式会社キーエンス 画像測定装置、画像測定方法及び画像測定装置用のプログラム
JP6661980B2 (ja) 2015-11-06 2020-03-11 富士通株式会社 重畳表示方法、重畳表示装置、及び重畳表示プログラム
JP6572099B2 (ja) * 2015-11-06 2019-09-04 キヤノン株式会社 撮像装置及びその制御方法、ならびにプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005283197A (ja) 2004-03-29 2005-10-13 Seiko Epson Corp 画面のスジ欠陥検出方法及び装置
JP2006220644A (ja) 2005-01-14 2006-08-24 Hitachi High-Technologies Corp パターン検査方法及びその装置
JP2007128306A (ja) 2005-11-04 2007-05-24 Omron Corp 画像処理装置
JP2009282928A (ja) 2008-05-26 2009-12-03 Topcon Corp エッジ抽出装置、測量機、およびプログラム
JP2012064046A (ja) 2010-09-16 2012-03-29 Toshiba Corp 車両検出装置
US20150310604A1 (en) 2014-04-24 2015-10-29 General Electric Company System and method for image based inspection of an object
JP2017182302A (ja) 2016-03-29 2017-10-05 富士通株式会社 画像処理プログラム、画像処理装置、及び画像処理方法

Also Published As

Publication number Publication date
US10997702B2 (en) 2021-05-04
US20190287233A1 (en) 2019-09-19
JP2019158628A (ja) 2019-09-19

Similar Documents

Publication Publication Date Title
JP7027978B2 (ja) 検査装置、検査方法、及び検査プログラム
JP4603512B2 (ja) 異常領域検出装置および異常領域検出方法
US8873837B2 (en) Image-based crack detection
JP6716996B2 (ja) 画像処理プログラム、画像処理装置、及び画像処理方法
JP7188201B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
US8811751B1 (en) Method and system for correcting projective distortions with elimination steps on multiple levels
US8699786B2 (en) 3D model generating apparatus, method and CRM by line pattern imaging
JP2017032548A (ja) 自動工業検査における3dビジョンの使用
EP3300025B1 (en) Image processing device and image processing method
JP2015041164A (ja) 画像処理装置、画像処理方法およびプログラム
JP4728444B2 (ja) 異常領域検出装置および異常領域検出方法
US11176661B2 (en) Image processing apparatus and image processing method
JP6347589B2 (ja) 情報処理装置、情報処理方法及びプログラム
Bharadwaj et al. Can holistic representations be used for face biometric quality assessment?
JP7003617B2 (ja) 推定装置、推定方法、及び推定プログラム
US11145048B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium for storing program
JP2013080389A (ja) 消失点推定方法、消失点推定装置及びコンピュータプログラム
CN117218633A (zh) 一种物品检测方法、装置、设备及存储介质
JP7059701B2 (ja) 推定装置、推定方法、及び推定プログラム
WO2015136716A1 (ja) 画像処理装置、画像センサ、画像処理方法
Pant Implementation of Fractal Dimension for Finding 3D Objects: A Texture Segmentation and Evaluation Approach
CN117083630A (zh) 信息处理装置、控制程序以及控制方法
CN117036235A (zh) 一种继电保护柜端子排线序检测方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211223

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20211223

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20211223

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220118

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220131

R150 Certificate of patent or registration of utility model

Ref document number: 7027978

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150