JP2017016169A - 検査方法、検査装置、画像処理装置、プログラム及び記録媒体 - Google Patents
検査方法、検査装置、画像処理装置、プログラム及び記録媒体 Download PDFInfo
- Publication number
- JP2017016169A JP2017016169A JP2015128700A JP2015128700A JP2017016169A JP 2017016169 A JP2017016169 A JP 2017016169A JP 2015128700 A JP2015128700 A JP 2015128700A JP 2015128700 A JP2015128700 A JP 2015128700A JP 2017016169 A JP2017016169 A JP 2017016169A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- inspection
- coordinate position
- image
- workpiece
- 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.)
- Pending
Links
- 238000007689 inspection Methods 0.000 title claims abstract description 113
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000012545 processing Methods 0.000 title claims description 60
- 238000003384 imaging method Methods 0.000 claims abstract description 55
- 230000008569 process Effects 0.000 claims description 45
- 238000004364 calculation method Methods 0.000 claims description 24
- 230000007547 defect Effects 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 230000003287 optical effect Effects 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 4
- 230000001678 irradiating effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 18
- 230000036544 posture Effects 0.000 description 9
- 230000000052 comparative effect Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 5
- 230000002950 deficient Effects 0.000 description 5
- 238000005286 illumination Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000008602 contraction Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000000428 dust Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000011179 visual inspection Methods 0.000 description 2
- 206010034719 Personality change Diseases 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 229910052736 halogen Inorganic materials 0.000 description 1
- 150000002367 halogens Chemical class 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30164—Workpiece; Machine component
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
- Geometry (AREA)
Abstract
【課題】ワークを撮像した画像に対する検査領域を高速に計算する。【解決手段】ワークに対応する3次元モデルと、撮像素子に対応する仮想面とを規定し、カメラに撮像させた際のワークの相対位置と同じ相対位置の3次元モデルを仮想面に投影し、投影した領域の輪郭を構成する境界画素22を計算する。移動元の画素の座標位置と移動先に対する移動元の画素の移動量とを対応付けた複数のテーブル要素31で構成された歪み付与テーブル30に従って、境界画素22の座標位置を変換する。座標位置を変換した境界画素25で囲まれた内側を検査領域とし、画像における検査領域内を検査する。複数のテーブル要素31には、1つの座標位置に対して1つの移動量を対応付けた第1テーブル要素31Aと、1つの座標位置に対して複数の移動量を対応付けた第2テーブル要素31Bとが含まれている。【選択図】図9
Description
本発明は、ワークを検査する検査方法、検査装置、画像処理装置、プログラム及び記録媒体に関する。
外観検査の分野では人による目視検査から機械での検査に変更が進められている。現在コンピュータの計算能力向上や低価格化により3次元データを扱う技術や画像処理技術が普及したことで、検査対象物であるワークの形状に依存しない汎用的な検査装置の開発が始まってきている。
例えば特許文献1では検査対象の3次元CADデータを入力すれば、自動的に検査経路や検査領域を設定できる。簡易な形状、可視化が難しくない欠陥種のみをもつワークに関しては、上記の技術を用いることで検査が可能になる。
しかしながらワークの位置(姿勢も含む)を様々に変えて多数の撮像条件で撮影しなければ、全ての欠陥を可視化できない検査対象が存在する。例えば形状が複雑で欠陥も照明光に対し方向性を持っている小型製品の外装検査などである。このようなワークの場合、照明とカメラは固定しワークの位置を変化させて連続撮像することで検査を行うことが好ましい。
ワークを動かしながら撮像する場合は、撮影した画像上のどこを検査対象とするかについて特定する必要がある。3次元形状のワークがカメラでどう見えるにかについては、特許文献2の例のようにカメラパラメータを用いてカメラをピンホールモデルとして計算する方法がある。
この技術を用いればワークの位置と撮像カメラのピンホールモデルから撮影画像上のどこを検査対象とするかについて計算できるが、実際の撮像レンズで撮影した画像は歪曲収差と呼ばれる歪みを生じることから、レンズ歪みの対応を行わなくてはならない。
撮像した画像から撮像レンズの歪みを除去する手法は多く存在し、特許文献3では、レンズの歪みの補正テーブルを用意しておき、その補正テーブルを使用してレンズ歪み計算を行う方法が提案されている。
ワークの外観検査では、撮像した画像中どの領域を測定するかは非常に重要であり、検査範囲内外の境界管理は厳密に行う必要がある。検査範囲領域がずれると過検出や見逃し等の重大な影響を検査機に及ぼす。またワークを大きく動かす場合はレンズ周辺の歪みが大きい箇所も検査に使用するので、レンズ歪みは必ず考慮しなくてはならない。
レンズ歪みに対する対策方法としては、撮像した画像に対してレンズ歪みを除去して得られた画像を用いてワークの検査をするか、または計算した検査領域(比較画像)に対してレンズ歪みを付与してワークの検査をするかの二通りの対策が考えられる。生産現場で使用される検査装置は、速い検査タクトが要求されるので、撮像により得られた画像に対して画像全体の歪みを除去するよりも、計算した検査領域にのみ歪みを付与した方が計算負荷は小さいので、検査領域にレンズ歪みを与えるほうがよい。
また検査領域画像は二値化処理した二値化画像で定義することができるので、検査領域の全ての画素に歪み付与計算を実施するよりも、検査領域の輪郭を構成する境界画素のみに対しレンズ歪みを付与計算したほうが計算負荷を減らすことができる。境界画素に歪みを付与し、次にその内部を、境界画素と同じ値として検査領域とすればよい。
レンズ歪み付与もレンズ歪み除去と同様にカメラパラータを用いて行うことができる。また歪み移動量を記録した補正テーブルを用いて歪み付与計算を行うほうが、各画素の移動量を逐一計算するより高速に行うことができる。
しかしながら、デジタル画像の画素位置は整数値で構成されるため、整数型の歪み付与テーブルを使用した場合、検査領域の境界線が途切れてしまうことがある。境界線が途切れてしまうと、閉空間で構成されるはずの検査領域が閉空間でなくなり、検査領域を境界画素と同じ値に設定する作業(いわゆる、塗りつぶし作業)ができなくなる。
境界線の途切れに対しては、膨張収縮処理や補間処理でつなげることは可能であるが、その分計算時間が遅くなる。膨張収縮処理や補間処理を行わず、かつ検査領域の境界線をとぎらせることなく検査領域画像にレンズ歪みを付与することが求められていた。
そこで、本発明は、ワークを撮像した画像に対する検査領域を高速に計算することを目的とする。
本発明の検査方法は、カメラが撮像素子と撮像レンズとを有しており、処理部が、ワークを前記カメラに撮像させて得られる画像に基づき前記ワークを検査する検査方法であって、前記処理部が、前記ワークに対応する3次元モデルと、前記撮像素子に対応する仮想面とを規定し、前記カメラに撮像させた際の前記ワークの相対位置と同じ相対位置の前記3次元モデルを前記仮想面に投影し、該投影した領域の輪郭を構成する境界画素を計算する画素計算工程と、前記処理部が、移動元の画素の座標位置と移動先に対する移動元の画素の移動量とを対応付けた複数のテーブル要素で構成された、前記撮像レンズによる歪みを対象画像に付与する歪み付与テーブルに従って、前記境界画素の座標位置を変換する変換工程と、前記処理部が、前記変換工程にて座標位置を変換した前記境界画素で囲まれた内側を検査領域とする設定工程と、前記処理部が、前記画像における前記検査領域内を検査する検査工程と、を備え、前記歪み付与テーブルの複数のテーブル要素には、移動元の画素が1つの座標位置に移動するように、1つの座標位置に対して1つの移動量を対応付けた第1テーブル要素と、移動元の画素が複数の座標位置に分散して移動するように、1つの座標位置に対して複数の移動量を対応付けた第2テーブル要素とが含まれていることを特徴とする。
本発明によれば、ワークを撮像した画像に対する検査領域を高速に計算することができる。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。図1は、本発明の実施形態に係る検査装置を示す概略図である。検査装置100は、ワーク(被検査物)Wに光を照射する光源102と、ワークWを移動させる移動装置103と、撮像装置としてのカメラ105と、制御装置でもある画像処理装置200と、を備えている。
本実施形態ではワークWは光学部品である。検査装置100は、ワークWの表面WAのキズ、汚れ、ゴミ等の欠陥を検出する外観検査を行う。なお、ワークWは、光学部品以外の部品、例えばカメラの外装部品等でもよく、工場で製造される部品全般を含むものである。
光源102は、ワークWに光を照射(照明)する照明装置である。光源102は、例えばLEDやハロゲンランプ等、画像処理に必要な光量の光をワークWに照射するものであればいかなるものでもよく、また、リング照明やバー照明等いかなるものであってもよい。また、光源102の発光面側に拡散板やレンズ等を配置してもよい。
カメラ105は、ワークWからの光を受光して、撮像画像のデータを生成するデジタルカメラである。カメラ105は、撮像レンズ105Aと、撮像素子(固体撮像素子)105Bとを有する。
撮像素子105Bは、CMOSイメージセンサ又はCCDイメージセンサ等のエリアセンサである。撮像レンズ105Aは、倍率を調整する対物レンズユニットであり、撮像素子105BにおいてワークWの全体が撮像されるように調整される。
移動装置103は、カメラ105及び光源102に対してワークWを相対的に直動又は回転移動させる。
画像処理装置200は、カメラ105で撮像された撮像画像に対して画像処理を行い、ワークWに存在する欠陥を検出する。そして、画像処理装置200は、ワークWの良否を判定する。また、画像処理装置200は、カメラ105による撮像タイミング等の撮像制御や移動装置103の動作、つまりワークWの位置及び姿勢を制御し、このときのワークWの位置及び姿勢のデータを取得する。
画像処理装置200には、入力装置としてのキーボード220と、表示装置としてのモニタ230とが接続されている。モニタ230には、例えば画像処理装置200による画像処理結果や良否判定結果が表示される。
本実施形態では、カメラ105と光源102は、架台その他の構造物に固定され、カメラ105と光源102との相対位置は固定である。また、カメラ105及び光源102に対するワークWの相対位置が変化する。即ち、移動装置103によりワークWを移動させることで、ワークWに対するカメラ105及び光源102の相対的な位置を変更することができる。なお、移動装置103によりワークWを移動させる場合について説明するが、これに限定するものではない。ワークWに対して光源102(カメラ105)を移動させてもよく、また、ワークW及び光源102(カメラ105)を移動させてもよい。つまり、移動装置は、ワークWに対して光源102及びカメラ105の少なくとも一方の相対的な位置を変更するものであればよい。
図2は、本発明の実施形態に係る画像処理装置を示すブロック図である。画像処理装置200は、処理部(演算部)としてのCPU(Central Processing Unit)201を備えている。また、画像処理装置200は、記憶部として、ROM(Read Only Memory)202、RAM(Random Access Memory)203、HDD(Hard Disk Drive)204を備えている。また、画像処理装置200は、記録ディスクドライブ205及び各種のインタフェース211〜216を備えている。
CPU201には、ROM202、RAM203、HDD204、記録ディスクドライブ205及び各種のインタフェース211〜216が、バス210を介して接続されている。ROM202には、BIOS等の基本プログラムが格納されている。RAM203は、CPU201の演算処理結果等、各種データを一時的に記憶する記憶装置である。
HDD204は、CPU201の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、CPU201に、後述する各種演算処理を実行させるためのプログラム250を記録するものである。CPU201は、HDD204に記録(格納)されたプログラム250に基づいて検査方法の各工程を実行する。
記録ディスクドライブ205は、記録ディスク251に記録された各種データやプログラム等を読み出すことができる。
光源102は、インタフェース211に接続され、CPU201の制御の下で点灯又は消灯する。移動装置103は、インタフェース212に接続され、CPU201の制御の下、ワークWを移動(本実施形態では直動移動又は回転移動)させる。
カメラ105は、インタフェース213に接続され、CPU201からのトリガ信号により撮像し、撮像結果である撮像画像のデータをCPU201に出力する。CPU201は、カメラ105から撮像画像のデータを取得し、撮像画像に画像処理を施して、ワークWのキズや汚れ等の欠陥を検出する。
キーボード220は、インタフェース214に接続され、CPU201にユーザの操作結果を出力する。モニタ230は、インタフェース215に接続され、CPU201の制御の下、画像を表示する。また、インタフェース216には、書き換え可能な不揮発性メモリや外付けHDD等の外部記憶装置240が接続可能となっている。
なお、本実施形態では、コンピュータ読み取り可能な記録媒体がHDD204であり、HDD204にプログラム250が格納される場合について説明するが、これに限定するものではない。プログラム250は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム250を供給するための記録媒体としては、図2に示すROM202や、記録ディスク251、外部記憶装置240等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性メモリ、ROM等を用いることができる。
次に、本実施形態に係る検査方法について説明する。図3は、本発明の実施形態に係る検査方法を示すフローチャートである。本実施形態では、CPU201がプログラム250に従って図3に示す検査方法の各工程(各処理)を実行する。ここで、移動装置103にはワークWが固定されているものとする。
まず、CPU201は、光源102を点灯させ(S101)、移動装置103にワークWを初期位置(姿勢を含む)に移動させる(S102)。
次にCPU201は、移動装置103を動作させてワークWを移動、即ちワークWの位置(姿勢を含む)を変化させる(S103)。ここで、移動装置103の動作は、予め画像処理装置200(具体的には、記憶部であるHDD204等)に設定されている。CPU201は、動作データに従って移動装置103を動作させることにより、光源102及びカメラ105に対するワークWの位置を変化させることができる。
次にCPU201は、ワークWをカメラ105に撮像させ、カメラ105から画像を取得する(S104)。その際、CPU201は、カメラ105から取得した画像に対して2値化処理を施し、2値化処理した画像(2値化画像)を取得する(画像取得工程,画像取得処理)。
撮像レンズ105Aのフォーカスは、ワークWに合わせてあり、ワークWにあるゴミ、キズ、汚れ等の欠陥の散乱光を画像データとして撮像素子101Aで取り込む。撮像素子101Aにより光電変換された画像は、不図示のA/D変換器によりデジタル画像信号に変換され、CPU201に出力される。また、CPU201は、撮像時に移動装置103から3次元空間における移動装置103の姿勢情報を取得し、ワークWの位置(姿勢も含む)のデータ(位置情報)を求める。
そして、CPU201は、ワークWの被検査面WAの3次元空間の位置(姿勢も含む)、及びカメラ105のカメラパラメータから、撮影画像内のどこを検査対象とすべきかを示す検査領域の計算を行う(S105)。
CPU201は、画像のデータと計算した検査領域とを用いて画像処理を行い、検査用画像として保存する(S106)。具体的には、CPU201は、2値化処理した画像中、検査領域のみを抽出して検査用の画像としてHDD204等に保存する。
次にCPU201は、ワークWが予定されていた位置変化(姿勢変化を含む)を全て実施したか否かを判断する(S107)。
CPU201は、全ての位置変化を実施していなければ(S107:No)、ステップS103へ戻り、引き続き位置変化、撮像、画像処理を続ける。これにより、CPU201は、ワークWの位置が異なる画像を複数取得し、複数の画像それぞれに対する検査領域を複数生成することになる。全ての位置変化が終了していれば(S107:Yes)、光源102を消灯させる(S108)。
次にCPU201は、ステップS106で取得した検査用画像によりワークWの検査を行う(S109:検査工程、検査処理)。具体的には、CPU201は、ステップS106にて取得した、ステップS105で計算した検査領域内を抜き出した検査用画像に対して検査する。本実施形態では、CPU201は、検査領域内の2値化画像に対してワークWの被検査面WA上の不良要因、即ち欠陥候補を抽出し、欠陥候補が欠陥であるか否かを判定する。そして、CPU201は、欠陥の点数化を行い、算出した点数が許容範囲内であるかどうかの判定を行う。
ここで、欠陥の点数が許容範囲内のワークWを良品、欠陥の点数が許容範囲外のワークWを不良品と表現する。CPU201は、ステップS109の判断に従い、ワークWが良品であれば(S109:OK)、不図示のロボット等を用いてワークWを不図示の良品棚へ収納させる(S110)。CPU201は、ワークWが不良品であれば(S109:NG)、不図示のロボット等を用いてワークWを不図示の不良品棚へ収納させる(S111)。
以下、図3のステップS105の処理について詳述する。まず、CPU201は、予め、撮像レンズ105Aを搭載したカメラ105で様々に姿勢変化させたドットパターン等のキャリブレーションプレートを複数枚撮像させて、カメラ105のカメラパラータを算出しておく。このカメラパラメータは、HDD204等の記憶部に予め記憶させておく。CPU201は、測定したカメラパラータを使用して、実際の撮像系をピンホールモデルに模擬する。
図4は、図1の撮像系をピンホールモデルで表した模式図である。図4に示すように、仮想空間VSには、ピンホール106Vと、カメラ105の撮像素子105Bのセンサ面に対応する仮想面105Vと、ワークWに対応する3次元モデルVWとを配置する。仮想面105Vはピンホール106Vからカメラパラメータの焦点距離f離れた位置にある。3次元モデルVWは、例えば3次元CADデータである。
3次元モデルVWの被検査面VWAを仮想面105Vに透視投影した領域108Vを求める。ここで、ワークW上の被検査面WAの座標(位置姿勢)が把握できれば、カメラ105の撮像素子105B(センサ面)に写る被検査面WAの位置が計算できる。ワークWを移動装置103で姿勢変化させる場合、移動装置103の変位量を検知することでワークWの移動後の姿勢を計算することができる。
図5(a)は、仮想面105Vに対して3次元モデルVWが中央に位置する場合に被検査面VWAが仮想面105Vに透視投影された例を示す模式図である。図5(b)は、仮想面105Vに対して3次元モデルVWが並進移動により右にずれた場合に被検査面VWAが仮想面105Vに透視投影された例を示す模式図である。図5(c)は、仮想面105Vに対して3次元モデルVWが回転した場合に被検査面VWAが仮想面105Vに透視投影された例を示す模式図である。被検査面VWAが仮想面105Vに透視投影された領域108Vが、並進移動によりセンサ右にずれたり、回転により変形したりする。
以上、ピンホールモデルについての透視投影について説明したが、ピンホールモデルと実画像との大きな違いは、実際の撮像レンズ105Aでは撮像素子105Bの位置によって画像が歪む歪曲収差が大小の差こそあれ必ず存在することである。
図6(a)は、カメラ105により撮像された画像の歪みを示す模式図である。図6(b)は、ピンホールモデルで計算した画像と、撮像レンズ105Aによる歪みを付与した画像とを比較する説明図である。
特に撮像レンズ105Aが検査でよく使用される広角レンズの場合は、図6(a)に示すように、樽型歪みとよばれる画像中央から離れるほど画像IMが縮む歪みが発生する。
例えば被検査面WAがセンサ面の左上端に写る位置で撮影した場合は、図6(b)に示すように検査領域の境界線は、ピンホールモデル計算した直線109のように直線にはならず、線110のように歪んだ曲線となる。
そこで、本実施形態では、検査領域の境界画素にのみレンズ歪み付与を行い、その後境界線内部を塗りつぶして検査領域として使用する。
以下、ステップS105の検査領域の計算処理について詳細に説明する。図7は、本発明の実施形態に係る検査領域の計算処理を示すフローチャートである。図8は、本発明の実施形態に係る検査領域の計算処理の一例を示す説明図である。
CPU201は、ワークWに対応する3次元モデルVWと、撮像素子105Bに対応する仮想面105Vとを仮想空間VS内で規定する。CPU201は、カメラ105に撮像させた際のワークWの相対位置と同じ相対位置の3次元モデルVWを仮想面105Vに投影し、投影した領域108Vの輪郭を構成する境界画素109を計算する(S121:画素計算工程、画素計算処理)。
CPU201は、撮像レンズ105Aによる歪みを対象画像に付与する歪み付与テーブル(ルックアップテーブル:LUT)に従って、境界画素109の座標位置を変換して新たな境界画素110を求める(S122:変換工程、変換処理)。以下、歪み付与テーブルを、「歪み付与テーブル」のほか、「歪み付与LUT」又は「LUT」と表現する。歪み付与テーブルは、予め作成してHDD204等の記憶部に記憶させておく。歪み付与テーブルは、詳細は後述するが、移動元の画素の座標位置と移動先に対する移動元の画素の移動量とを対応付けた複数のテーブル要素で構成されている。
CPU201は、ステップS122にて座標位置を変換した境界画素110で囲まれた内側を検査領域111として設定する(S123:設定工程、設定処理)。
図8では、計算で行われた境界画素(直線境界線)109に対して歪みを与えて新たな境界画素110とし、その内部を境界画素110と同じ値(色)で塗りつぶして、検査領域111としている。
本実施形態におけるステップS122の処理で境界画素に歪みを付与するLUTについて説明する前に、境界画素に歪みを付与する比較例のLUTについて説明する。
図13及び図14は、比較例のLUTを用いて画像を補正する場合の例を示す説明図である。撮像レンズ105Aによる歪みを画像に付与するLUT30Xは、対応点画素のX軸Y軸値の2つの移動量を記録している複数のテーブル要素31Xからなる。例えば、対象画像が2048×2048ピクセルの画像の場合、LUT30Xは、2048×2048のテーブル要素31Xからなる。
図13の例では注目しているテーブル要素31Xの移動量(+1,0)は、その座標位置の画素をX軸に+1、Y軸は0移動させることを意味している。補正前の画像21Xに対し、歪み付与LUT30Xを用いてレンズ歪みを与えた後の画像が画像24Xとなる。つまり、各テーブル要素31Xは、移動元の画素の座標位置に、移動先に対する移動元の画素の移動量を対応付けたものである。元の画像21X上の境界線22Xは、補正後に画像24Xの境界線25Xに移動している。ここで、境界線は、連続して連なる複数の境界画素からなる。
歪み付与の計算では、多くの場合、画素の移動量は整数にならず少数になる。レンズ歪み付与を1画素以下の小数点まで考慮すると計算速度が遅くなるので、高速性を重視する場合は歪み付与LUTは整数値で保持するほうが好ましい。移動量の小数値を丸めや切り捨て等の処理を行って整数型LUTとして作成すればよい。しかし歪み付与を整数型で与える場合、歪み付与LUTの移動量が変化する箇所に検査領域の境界線が跨ると境界線が途切れる問題が生じる。例えば図14で示した歪み付与LUT40Xでは、X軸の移動量が変化するテーブル要素41Xがある。そこに画像21Xの境界線22Xが跨って入力されると、その補正後の出力画像24Xの境界画素は境界線が途切れる箇所27Xが発生する。
そこで、本実施形態では、一対多の整数型の歪み付与LUTを用いて、境界画素に撮像レンズによる歪みを付与することで境界線の途切れを発生させずに歪み付与する。
図9は、本発明の実施形態に係るLUTを用いて画像を補正する場合を示す説明図である。図9に示す歪み付与テーブルを示すLUT30は、移動元の画素の座標位置と移動先に対する移動元の画素の移動量とを対応付けた複数のテーブル要素31で構成されている。LUT30は、整数型のLUTである。
LUT30の複数のテーブル要素31には、移動元の画素が1つの座標位置に移動するように、1つの座標位置に対して1つの移動量を対応付けた第1テーブル要素31Aが含まれている。また、LUT30の複数のテーブル要素31には、移動元の画素が複数の座標位置に分散して移動するように、1つの座標位置に対して複数の移動量を対応付けた第2テーブル要素31Bが含まれている。つまり、LUT30は、第1テーブル要素31Aと第2テーブル要素31Bとで構成されている。第1テーブル要素31Aの座標位置に対応する画素は、第1テーブル要素31Aに従って、1つの座標位置に移動する。第2テーブル要素31Bの座標位置に対応する画素は、第2テーブル要素31Bに従って、複数の座標位置に移動する。
CPU201は、元の画像21の境界線22を構成する各境界画素について、LUT30により移動量の分、移動させて、新たな画像24を生成する。LUT30において、図9中の右端から2画素目の座標位置、即ち座標位置(4,2)に対応するテーブル要素31が第2テーブル要素31Bであり、2つの移動量(0,0)及び(−1,0)が座標位置(4,2)と対応付けられている。そのため、座標位置(4,2)の画素は、第2テーブル要素31Bにより、複数の移動先の座標位置(4,2),(3,2)に分散して移動して複数の画素が生成される。したがって、図14に示す比較例で途切れていた箇所35にも画素が生成されて、複数の境界画素からなる境界線25が途切れない。
本実施形態では、LUT30は、予めHDD204等の記憶部に記憶させておき、CPU201が図7のステップS122を実行する際には、HDD204に記憶されているLUT30を用いる。
次に、ステップS122で用いるLUT30の生成方法について説明する。図10は、歪み付与テーブルを生成するテーブル生成処理(テーブル生成工程)を示すフローチャートである。図11は、歪み付与テーブルを生成するテーブル生成処理(テーブル生成工程)を示す説明図である。本実施形態では、画像処理装置200のCPU201が作成する場合について説明する。なお、画像処理装置200以外の装置(コンピュータ)、つまりテーブル作成装置がLUT30を作成するようにしてもよい。このテーブル生成処理は、図3に示すフローチャートに従った検査方法を実行する前に行い、生成したLUT30をHDD204に記憶させる。
まずCPU201は、カメラ105のカメラパラメータに基づき、図11に示すように、撮像レンズ105Aによる歪みを対象画像から除去する歪み除去テーブル(LUT)40を生成する(S201)。以下、歪み除去テーブルを、「歪み除去テーブル」のほか、「歪み除去LUT」又は「LUT」と表現する。
歪み除去LUT40は、移動元の画素の座標位置と移動先に対する移動元の画素の移動量とを対応付けた複数のテーブル要素41で構成されている。図14の歪み付与LUT40Xに対して、同位置でのレンズ歪み除去LUT40では、図11に示すように、歪み付与と除去とは逆なので移動量の符号が逆になっている。
次に、CPU201は、注目している画素(注目画素)41に対する探索範囲を決定する(S202)。探索範囲は、注目画素の座標位置に移動元の画素がくる可能性のある範囲である。図11の例では、探索範囲42は、注目画素を中心に3×3画素の範囲である。探索範囲42は、撮像レンズ105Aの歪みにより最大の移動量が発生し得る値以下で設定すればよい。
次に、CPU201は、画像の一番左上から注目画素41の走査を開始する(S203)。図12は、注目画素の走査方法を示す説明図である。図12に示すように、歪み除去LUT40のX軸方向に注目画素41を一画素ずつ増やし、それに伴って探索範囲42も同様にずらしていく。画像の一番右端までくればY軸に一画素下げて再度X軸走査を行っていく。
次に、CPU201は、歪み除去LUT40上の注目画素の探索範囲42内を探索する探索範囲走査を行い(S204)、注目画素41の座標位置にくる画素(対応点)があればその符号を逆にして保存する(S205)。つまり歪み除去補正がかけられた後の画素の位置から逆に歪み付与の移動量を記録していく。例えば、図11の注目している座標位置にくる画素の移動量は(0,0)と(+1,0)である。このため、正負の符号を反転させて(0,0)と(−1,0)の移動量が歪み付与LUT30のテーブル要素31として注目画素の座標位置と対応付けられて記録される。
以上、LUT30の各テーブル要素31は、LUT40にて対象画像の各画素の座標位置を変換した際に、注目している座標位置に移動してきた画素の移動量の正負の符号を反転させた移動量を、注目している座標位置と対応付けて生成される。
CPU201は、注目画素の探索範囲内の全ての対応点の探索が終了したか否かを判断し(S206)、終了していなければ(S206:No)、ステップS204に戻り、終了していれば(S206:Yes)、次のステップS207に進む。
歪み除去LUT40は整数型で作製されているため、注目画素にくる対応点が一つもない場合も存在する。その場合、CPU201は、その注目画素の近傍の値を保持する等の対応を行う(S207)。一例としては注目画素の一個左と一個上の既に作成されたLUT30の値を保持する方法がある。
CPU201は、上述した探索と記録が歪み除去LUT40全画素について終了しているかどうかを判定し(S208)、終了していなければ(S208:No)、ステップS203に戻り、終了していれば(S208:Yes)、処理を終了する。これにより、歪み付与LUT30が完成する。
例として2048×2048ピクセルの画像、カメラ焦点距離を40[mm]程度、30×30[mm]角の正方形形状の被検査面WAとした。同一PC条件にて本実施形態のLUT30を用いた場合と、比較例のLUT40Xと膨張収縮処理との組合せで画像に歪み付与した場合の処理速度を比較した。本実施形態のLUT30を使用した場合の領域計算速度は8[ms]であったが、比較例のLUT40Xと膨張収縮処理の組合せ手法では48[ms]の時間がかかった。
以上、本実施形態によれば、LUT30を用いて検査領域計算を実施することにより、他手法よりも高速にレンズ歪みを考慮した検査領域を計算することができる。また、LUT30を予めHDD204に記憶させておき、検査時には、HDD204に記憶されているLUT30を用いて検査領域を計算するので、CPU201による計算負荷が軽減される。
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されない。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
30…歪み付与テーブル、31…テーブル要素、31A…第1テーブル要素、31B…第2テーブル要素、100…検査装置、101A…撮像素子、103…移動装置、105…カメラ、105A…撮像レンズ、105B…撮像素子、200…画像処理装置、201…CPU(処理部)
Claims (13)
- カメラが撮像素子と撮像レンズとを有しており、処理部が、ワークを前記カメラに撮像させて得られる画像に基づき前記ワークを検査する検査方法であって、
前記処理部が、前記ワークに対応する3次元モデルと、前記撮像素子に対応する仮想面とを規定し、前記カメラに撮像させた際の前記ワークの相対位置と同じ相対位置の前記3次元モデルを前記仮想面に投影し、該投影した領域の輪郭を構成する境界画素を計算する画素計算工程と、
前記処理部が、移動元の画素の座標位置と移動先に対する移動元の画素の移動量とを対応付けた複数のテーブル要素で構成された、前記撮像レンズによる歪みを対象画像に付与する歪み付与テーブルに従って、前記境界画素の座標位置を変換する変換工程と、
前記処理部が、前記変換工程にて座標位置を変換した前記境界画素で囲まれた内側を検査領域とする設定工程と、
前記処理部が、前記画像における前記検査領域内を検査する検査工程と、を備え、
前記歪み付与テーブルの複数のテーブル要素には、移動元の画素が1つの座標位置に移動するように、1つの座標位置に対して1つの移動量を対応付けた第1テーブル要素と、移動元の画素が複数の座標位置に分散して移動するように、1つの座標位置に対して複数の移動量を対応付けた第2テーブル要素とが含まれていることを特徴とする検査方法。 - 前記歪み付与テーブルは、
移動元の画素の座標位置と移動先に対する移動元の画素の移動量とを対応付けた複数のテーブル要素で構成された、前記撮像レンズによる歪みを対象画像から除去する歪み除去テーブルが、前記カメラのカメラパラメータに基づき生成され、
前記歪み除去テーブルにて対象画像の各画素の座標位置を変換した際に、注目している座標位置に移動してきた画素の移動量の正負の符号を反転させた移動量を、前記注目している座標位置と対応付けて生成されることを特徴とする請求項1に記載の検査方法。 - 前記歪み付与テーブルが、記憶部に予め記憶されており、
前記変換工程では、前記処理部が、前記記憶部に記憶されている前記歪み付与テーブルに従って、前記境界画素の座標位置を変換することを特徴とする請求項1又は2に記載の検査方法。 - 前記処理部が、光源により光が照射された前記ワークに対して前記光源及び前記カメラの少なくとも一方の相対的な位置を変更して前記カメラに前記ワークを撮像させて前記画像を複数取得する画像取得工程を更に備えたことを特徴とする請求項1乃至3のいずれか1項に記載の検査方法。
- 前記ワークが光学部品であり、
前記検査工程において、前記処理部が、前記各画像において前記検査領域内の欠陥候補を抽出し、前記欠陥候補が欠陥であるか否かを検査することを特徴とする請求項4に記載の検査方法。 - 撮像素子と撮像レンズとを有するカメラと、
前記カメラにワークを撮像させて得られる画像に基づき前記ワークを検査する処理部と、を有し、
前記処理部は、
前記ワークに対応する3次元モデルと、前記撮像素子に対応する仮想面とを規定し、前記カメラに撮像させた際の前記ワークの相対位置と同じ相対位置の前記3次元モデルを前記仮想面に投影し、該投影した領域の輪郭を構成する境界画素を計算する画素計算処理と、
移動元の画素の座標位置と移動先に対する移動元の画素の移動量とを対応付けた複数のテーブル要素で構成された、前記撮像レンズによる歪みを対象画像に付与する歪み付与テーブルに従って、前記境界画素の座標位置を変換する変換処理と、
前記変換処理にて座標位置を変換した前記境界画素で囲まれた内側を検査領域とする設定処理と、
前記画像における前記検査領域内を検査する検査処理と、を実行し、
前記歪み付与テーブルの複数のテーブル要素には、移動元の画素が1つの座標位置に移動するように、1つの座標位置に対して1つの移動量を対応付けた第1テーブル要素と、移動元の画素が複数の座標位置に分散して移動するように、1つの座標位置に対して複数の移動量を対応付けた第2テーブル要素とが含まれていることを特徴とする検査装置。 - 前記処理部は、前記歪み付与テーブルを生成して記憶部に記憶させるテーブル生成処理を更に実行し、
前記変換処理において、前記記憶部に記憶させた前記歪み付与テーブルに従って、前記境界画素の座標位置を変換することを特徴とする請求項6に記載の検査装置。 - 前記処理部は、前記テーブル生成処理において、
移動元の画素の座標位置と移動先に対する移動元の画素の移動量とを対応付けた、対象画像の複数の画素にそれぞれ対応する複数のテーブル要素で構成され、前記撮像レンズによる歪みを対象画像から除去する歪み除去テーブルを、前記カメラのカメラパラメータに基づき生成し、
前記歪み除去テーブルにて対象画像の各画素の座標位置を変換した際に、注目している座標位置に移動してきた画素の移動量の正負の符号を反転させた移動量を、前記注目している座標位置と対応付けて、前記歪み付与テーブルのテーブル要素とすることを特徴とする請求項7に記載の検査装置。 - 前記ワークが光学部品であり、
前記処理部は、前記検査処理において、前記各画像において前記検査領域内の欠陥候補を抽出し、前記欠陥候補が欠陥であるか否かを検査することを特徴とする請求項6に記載の検査装置。 - 前記ワークに光を照射する光源を更に備え、
前記処理部は、前記ワークに対して前記光源及び前記カメラの少なくとも一方の相対的な位置を変更して前記カメラに前記ワークを撮像させて前記画像を複数取得する画像取得処理を更に実行することを特徴とする請求項6乃至9のいずれか1項に記載の検査装置。 - 撮像素子と撮像レンズとを有するカメラにワークを撮像させて得られる画像に基づき前記ワークを検査する処理部を有する画像処理装置であって、
前記処理部は、
前記ワークに対応する3次元モデルと、前記撮像素子に対応する仮想面とを規定し、前記カメラに撮像させた際の前記ワークの相対位置と同じ相対位置の前記3次元モデルを前記仮想面に投影し、該投影した領域の輪郭を構成する境界画素を計算する画素計算処理と、
移動元の画素の座標位置と移動先に対する移動元の画素の移動量とを対応付けた、対象画像の複数の画素にそれぞれ対応する複数のテーブル要素で構成され、前記撮像レンズによる歪みを対象画像に付与する歪み付与テーブルに従って、前記境界画素の座標位置を変換する変換処理と、
前記変換処理にて座標位置を変換した前記境界画素で囲まれた内側を検査領域とする設定処理と、
前記画像における前記検査領域内を検査する検査処理と、を実行し、
前記歪み付与テーブルの複数のテーブル要素には、移動元の画素が1つの座標位置に移動するように、1つの座標位置に対して1つの移動量を対応付けた第1テーブル要素と、移動元の画素が複数の座標位置に分散して移動するように、1つの座標位置に対して複数の移動量を対応付けた第2テーブル要素とが含まれていることを特徴とする画像処理装置。 - コンピュータに、請求項1乃至5のいずれか1項に記載の検査方法の各工程を実行させるためのプログラム。
- 請求項12に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015128700A JP2017016169A (ja) | 2015-06-26 | 2015-06-26 | 検査方法、検査装置、画像処理装置、プログラム及び記録媒体 |
US15/185,534 US20160379360A1 (en) | 2015-06-26 | 2016-06-17 | Inspecting method, inspecting apparatus, image processing apparatus, program and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015128700A JP2017016169A (ja) | 2015-06-26 | 2015-06-26 | 検査方法、検査装置、画像処理装置、プログラム及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017016169A true JP2017016169A (ja) | 2017-01-19 |
Family
ID=57602599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015128700A Pending JP2017016169A (ja) | 2015-06-26 | 2015-06-26 | 検査方法、検査装置、画像処理装置、プログラム及び記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20160379360A1 (ja) |
JP (1) | JP2017016169A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353945B (zh) * | 2018-12-21 | 2023-10-20 | 杭州海康威视数字技术股份有限公司 | 鱼眼图像校正方法、装置及存储介质 |
JP2022187662A (ja) * | 2021-06-08 | 2022-12-20 | 富士フイルムビジネスイノベーション株式会社 | 表面検査装置及びプログラム |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5283859A (en) * | 1986-09-03 | 1994-02-01 | International Business Machines Corporation | Method of and system for generating images of object transforms |
JP3524819B2 (ja) * | 1999-07-07 | 2004-05-10 | 株式会社日立製作所 | 画像比較によるパターン検査方法およびその装置 |
US6648640B2 (en) * | 1999-11-30 | 2003-11-18 | Ora Metrix, Inc. | Interactive orthodontic care system based on intra-oral scanning of teeth |
US7027642B2 (en) * | 2000-04-28 | 2006-04-11 | Orametrix, Inc. | Methods for registration of three-dimensional frames to create three-dimensional virtual models of objects |
AU2001268217A1 (en) * | 2000-06-06 | 2001-12-17 | The Research Foundation Of State University Of New York | Computer aided visualization, fusion and treatment planning |
US8244025B2 (en) * | 2006-03-20 | 2012-08-14 | Siemens Energy, Inc. | Method of coalescing information about inspected objects |
US8477154B2 (en) * | 2006-03-20 | 2013-07-02 | Siemens Energy, Inc. | Method and system for interactive virtual inspection of modeled objects |
US7901094B2 (en) * | 2007-01-24 | 2011-03-08 | Seiko Epson Corporation | View projection: one-touch setup of light displays on arbitrary surfaces |
US7901095B2 (en) * | 2009-03-27 | 2011-03-08 | Seiko Epson Corporation | Resolution scalable view projection |
JP2011118553A (ja) * | 2009-12-01 | 2011-06-16 | Keyence Corp | 画像処理装置、画像処理方法及びコンピュータプログラム |
EP2452649A1 (en) * | 2010-11-12 | 2012-05-16 | Deutsches Krebsforschungszentrum Stiftung des Öffentlichen Rechts | Visualization of anatomical data by augmented reality |
CN107206495B (zh) * | 2015-01-29 | 2019-07-02 | 奥科宁克有限公司 | 用于创建三维体积质量模型的方法 |
-
2015
- 2015-06-26 JP JP2015128700A patent/JP2017016169A/ja active Pending
-
2016
- 2016-06-17 US US15/185,534 patent/US20160379360A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20160379360A1 (en) | 2016-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111127422B (zh) | 图像标注方法、装置、系统及主机 | |
JP4894628B2 (ja) | 外観検査方法および外観検査装置 | |
JP6507653B2 (ja) | 検査装置及び検査装置の制御方法 | |
JP6242098B2 (ja) | 三次元画像処理装置、三次元画像処理方法及び三次元画像処理プログラム並びにコンピュータで読み取り可能な記録媒体及び記録した機器 | |
WO2012053521A1 (ja) | 光学情報処理装置、光学情報処理方法、光学情報処理システム、光学情報処理プログラム | |
US20150292863A1 (en) | Information processing apparatus, method therefor, and measurement apparatus | |
CN104111038A (zh) | 利用相位融合算法修复饱和产生的相位误差的方法 | |
JP2017040612A (ja) | 検査方法、検査装置、画像処理装置、プログラム及び記録媒体 | |
JP2007285754A (ja) | 欠陥検出方法および欠陥検出装置 | |
CN113146073A (zh) | 基于视觉的激光切割方法及装置、电子设备、存储介质 | |
Okarma et al. | The 3D scanning system for the machine vision based positioning of workpieces on the CNC machine tools | |
US20160307322A1 (en) | Image recording simulation in a coordinate measuring machine | |
JP6246513B2 (ja) | 三次元画像処理装置、三次元画像処理方法及び三次元画像処理プログラム並びにコンピュータで読み取り可能な記録媒体及び記録した機器 | |
JP2015021759A (ja) | 三次元画像処理装置、三次元画像処理装置用ヘッド部及び三次元画像処理方法 | |
CN115082538A (zh) | 基于线结构光投影的多目视觉平衡环零件表面三维重建系统及方法 | |
JP2017016169A (ja) | 検査方法、検査装置、画像処理装置、プログラム及び記録媒体 | |
CN115205129A (zh) | 基于结构光的深度相机及使用方法 | |
WO2019176614A1 (ja) | 画像処理装置、画像処理方法、およびコンピュータプログラム | |
JP4784396B2 (ja) | 3次元形状計測方法及びこれを用いた3次元形状計測装置 | |
US20240157568A1 (en) | System for welding at least a portion of a piece and related methods | |
JP6207270B2 (ja) | 三次元画像処理装置、三次元画像処理方法及び三次元画像処理プログラム並びにコンピュータで読み取り可能な記録媒体及び記録した機器 | |
JP2010281754A (ja) | 生成装置、検査装置、プログラムおよび生成方法 | |
JP2015021762A (ja) | 三次元画像処理装置、三次元画像処理方法及び三次元画像処理プログラム並びにコンピュータで読み取り可能な記録媒体 | |
JP7153514B2 (ja) | 三次元形状検査装置、三次元形状検査方法、三次元形状検査プログラム、コンピュータ | |
JP6266244B2 (ja) | 三次元画像処理装置、三次元画像処理方法及び三次元画像処理プログラム並びにコンピュータで読み取り可能な記録媒体及び記録した機器 |