IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7508206画像処理方法、エッジモデル作成方法、ロボットシステム、および物品の製造方法
<>
  • 特許-画像処理方法、エッジモデル作成方法、ロボットシステム、および物品の製造方法 図1
  • 特許-画像処理方法、エッジモデル作成方法、ロボットシステム、および物品の製造方法 図2
  • 特許-画像処理方法、エッジモデル作成方法、ロボットシステム、および物品の製造方法 図3
  • 特許-画像処理方法、エッジモデル作成方法、ロボットシステム、および物品の製造方法 図4
  • 特許-画像処理方法、エッジモデル作成方法、ロボットシステム、および物品の製造方法 図5
  • 特許-画像処理方法、エッジモデル作成方法、ロボットシステム、および物品の製造方法 図6
  • 特許-画像処理方法、エッジモデル作成方法、ロボットシステム、および物品の製造方法 図7
  • 特許-画像処理方法、エッジモデル作成方法、ロボットシステム、および物品の製造方法 図8
  • 特許-画像処理方法、エッジモデル作成方法、ロボットシステム、および物品の製造方法 図9
  • 特許-画像処理方法、エッジモデル作成方法、ロボットシステム、および物品の製造方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-21
(45)【発行日】2024-07-01
(54)【発明の名称】画像処理方法、エッジモデル作成方法、ロボットシステム、および物品の製造方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240624BHJP
   G01N 21/88 20060101ALI20240624BHJP
   B25J 13/08 20060101ALI20240624BHJP
【FI】
G06T7/00 610A
G01N21/88 J
B25J13/08 A
【請求項の数】 11
(21)【出願番号】P 2019159119
(22)【出願日】2019-08-30
(65)【公開番号】P2021039457
(43)【公開日】2021-03-11
【審査請求日】2022-08-25
【前置審査】
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003133
【氏名又は名称】弁理士法人近島国際特許事務所
(72)【発明者】
【氏名】浦邉 展矢
【審査官】松浦 功
(56)【参考文献】
【文献】特開2011-113133(JP,A)
【文献】国際公開第2010/023808(WO,A1)
【文献】特開2015-133049(JP,A)
【文献】特開2007-128513(JP,A)
【文献】特開2012-103758(JP,A)
【文献】特開2011-203853(JP,A)
【文献】国際公開第2010/023809(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G01N 21/88 -21/958
B25J 13/08
G06T 1/00
G06V 10/00 -20/90
(57)【特許請求の範囲】
【請求項1】
制御装置が、識別対象との差異判定に用いるエッジモデルの作成対象を撮像した複数の画像における部分領域ごとにエッジ強度とエッジ方向を算出するエッジ情報算出工程と、
前記制御装置が、一定以上の前記エッジ強度を有する前記エッジ方向に対応するエッジ方向データを、異なる複数のエッジ角度の範囲ごとに格納したエッジモデルを作成するエッジモデル作成工程と、を含む画像処理方法により作成した前記エッジモデルを用いて、識別対象を撮像した識別対象画像と、前記複数の画像との差異判定を行う画像処理方法において、
前記識別対象画像に対して、前記識別対象画像に含まれる部分領域ごとにエッジ強度とエッジ方向を算出し、前記エッジ強度が一定以上の領域の前記エッジ方向を、識別対象エッジ方向データとして抽出する識別対象エッジデータ抽出工程と、
算出された前記識別対象エッジ方向データと、前記エッジモデルを比較し、前記エッジモデルに含まれるエッジ方向データの集合に相当する部分領域を正常エッジ領域に分類する領域分類工程と、
前記正常エッジ領域を除外した探索領域を取得する探索領域取得工程と、
予め前記複数の画像を用いて前記画像の部分領域ごとに生成した、差異判定のための閾値と、前記識別対象画像の前記探索領域に含まれる画素の値と前記閾値を比較する差異候補抽出工程と、
前記差異候補抽出工程によって前記差異候補として抽出された前記探索領域に含まれる画素から所定の画像処理を行い取得した特徴量により前記識別対象画像と、前記エッジモデル作成に用いた前記複数の画像との差異判定を行う差異判定工程と、を含む画像処理方法。
【請求項2】
請求項1に記載の画像処理方法において、前記制御装置が、前記エッジモデル作成工程において、前記複数の画像について前記エッジ角度の範囲ごとに前記エッジ方向データの数が一定以上である前記部分領域の前記エッジ方向データを前記エッジモデルに登録する画像処理方法。
【請求項3】
請求項1または2に記載の画像処理方法において、複数の前記エッジ角度の範囲が360°を所定分割数で分割した角度範囲に相当し、前記所定分割数が前記複数の画像における前記エッジ方向データの分布態様に基づき決定される画像処理方法。
【請求項4】
請求項1または2に記載の画像処理方法において、複数の前記エッジ角度の範囲が360°を所定分割数で分割した角度範囲に相当し、前記所定分割数が、ユーザインターフェース装置を介してユーザが入力した値に基づき決定される画像処理方法。
【請求項5】
請求項1乃至4の中のいずれか1項に記載の画像処理方法を生産ラインで取り扱われるワークを撮像した前記識別対象画像に対して実行し、前記ワークを検査する画像処理方法。
【請求項6】
請求項1乃至4の中のいずれか1項に記載の画像処理方法を生産ラインで取り扱われるワークを撮像した前記識別対象画像に対して実行し、前記ワークの有無および/または位置姿勢を検出する画像処理を実行する画像処理方法。
【請求項7】
請求項1乃至のいずれか1項に記載の画像処理方法を実行する画像処理装置と、前記識別対象であるワークを撮像する撮像装置と、生産ラインに前記ワークを取り扱う生産装置として配置され、前記画像処理装置の画像処理の結果を用いて、前記ワークを取り扱う動作が制御されるロボット装置と、を備えたロボットシステム。
【請求項8】
請求項1乃至のいずれか1項に記載の画像処理方法を実行する画像処理装置と、前記識別対象であるワークを撮像する撮像装置と、生産ラインに前記ワークを取り扱う生産装置として配置されたロボット装置と、前記画像処理装置の画像処理の結果を用いて前記ロボット装置の動作を制御するデータ管理装置と、を備えた製造システム。
【請求項9】
請求項1乃至のいずれか1項に記載の画像処理方法により作成したエッジモデルを用いて、生産ラインで取り扱われるワークを撮像した識別対象画像に対して実行した画像処理の結果に基づき、前記生産ラインに前記ワークを取り扱う生産装置として配置されたロボット装置を制御し、前記ワークから物品を製造する物品の製造方法。
【請求項10】
請求項1乃至のいずれか1項に記載の画像処理方法の各工程をコンピュータに実行させる制御プログラム。
【請求項11】
請求項10に記載の制御プログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理方法、エッジモデル作成方法、ロボットシステム、および物品の製造方法に関する。
【背景技術】
【0002】
従来より、例えば、物品の製造ラインの特定の位置で、ワークの画像を撮影し、その画像に対する画像処理を介して検品などの検査処理を行う手法が知られている。この種の検査処理では、例えば、良品を撮影した正常画像から検査に用いるモデルを作成し、このモデルと、実際のワークを撮像した識別対象画像との同一(類似)性や差異を介して、良品/不良品を識別する。
【0003】
例えば、複数の正常画像に対して画像処理を行い、1つの輝度モデルを作成し、輝度モデルから識別対象画像の差異判定を行うための閾値画像を作成する。そして、識別対象画像の画素の値と閾値画像の画素の値を比較することにより差異候補を抽出し、差異を判定する、といった画像識別方法が知られている。
【0004】
このような画像識別では、画素間で比較を行うため、正常画像中にエッジが存在し、正常画像と識別対象画像のエッジの位置がずれている場合、正常な画像であってもエッジ付近に差異があると誤判定してしまうことがある。また、従来では、下記の特許文献1、2に示すような技術が知られている。
【0005】
例えば、特許文献1には、予め登録された輝度モデルと識別対象画像を比較して、差異を検出する画像識別処理が記載されている。特許文献1の手法によれば、差異を判定するための比較に用いる輝度モデル画像にエッジ抽出を行い、エッジ画素を算出し、対象画像の対応する画素に対してもエッジ抽出を行う。そして、エッジ画素として抽出されなかった画素に対してその画素が正常画素であるか異常画素であるかを判定している。
【0006】
また、特許文献2に記載の画像識別方法は、識別対象の濃淡画像および基準画像のそれぞれについて、濃度勾配の大きさが所定値を超える画素毎にエッジ方向を算出する。そして、そのような画素を着目画素として、着目画素を基準に所定の大きさのマスクを設定し、マスク内の各画素と着目画素との間でエッジ方向を順に比較して、対応するエッジ方向を抽出できなかった場合に異常画素として抽出する。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2015-175706号公報
【文献】特開2005-228062号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
上記の特許文献1に記載の手法では、輝度モデルからエッジ方向を算出しているため、作成したモデルエッジのエッジ方向は各画素に対して一方向となる。そのため、対象物を撮像した識別対象画像がモデルに対して位置ずれを起こす、または、正常とみなす画像中のエッジ位置が相互にばらつく場合、輝度モデルと識別対象画像の座標がずれてしまう。これにより、正常画像とみなすべき識別対象画像であっても、輝度モデルと対象画像のエッジ部分の対応が取れず異常と誤判定してしまう問題がある。
【0009】
また、特許文献2に記載の手法では、各画素に対して、位置ずれに対応したマスクを設定しているが、同文献の手法は、位置ずれの平行移動成分のみに対応している。例えば、識別対象のワークが撮像される時の位相が一定しないような条件では、画角中でエッジが回転することになる。これにより、エッジモデルと識別対象画像のエッジの対応が取れず、正常とみなすべき画像でも異常と誤判定してしまう問題がある。
【0010】
本発明の課題は、上記の事情に鑑み、正常画像の背景のエッジ位置がばらつく場合であっても、そのようなばらつきに対応可能なエッジモデルを作成できるようにすることにある。
【課題を解決するための手段】
【0011】
上記課題を解決するため、本発明の一態様においては、制御装置が、識別対象との差異判定に用いるエッジモデルの作成対象を撮像した複数の画像における部分領域ごとにエッジ強度とエッジ方向を算出するエッジ情報算出工程と、前記制御装置が、一定以上の前記エッジ強度を有する前記エッジ方向に対応するエッジ方向データを、異なる複数のエッジ角度の範囲ごとに格納したエッジモデルを作成するエッジモデル作成工程と、を含む画像処理方法により作成した前記エッジモデルを用いて、識別対象を撮像した識別対象画像と、前記複数の画像との差異判定を行う画像処理方法において、前記識別対象画像に対して、前記識別対象画像に含まれる部分領域ごとにエッジ強度とエッジ方向を算出し、前記エッジ強度が一定以上の領域の前記エッジ方向を、識別対象エッジ方向データとして抽出する識別対象エッジデータ抽出工程と、算出された前記識別対象エッジ方向データと、前記エッジモデルを比較し、前記エッジモデルに含まれるエッジ方向データの集合に相当する部分領域を正常エッジ領域に分類する領域分類工程と、前記正常エッジ領域を除外した探索領域を取得する探索領域取得工程と、予め前記複数の画像を用いて前記画像の部分領域ごとに生成した、差異判定のための閾値と、前記識別対象画像の前記探索領域に含まれる画素の値と前記閾値を比較する差異候補抽出工程と、前記差異候補抽出工程によって前記差異候補として抽出された前記探索領域に含まれる画素から所定の画像処理を行い取得した特徴量により前記識別対象画像と、前記エッジモデル作成に用いた前記複数の画像との差異判定を行う差異判定工程と、を含む画像処理方法を採用した。
【発明の効果】
【0012】
上記構成によれば、正常画像の背景のエッジ位置がばらつく場合であっても、そのようなばらつきに対応可能なエッジモデルを作成できる。
【図面の簡単な説明】
【0013】
図1】本発明の第1実施形態に関する外観検査装置の概略構成を示した説明図である。
図2】本発明の第1および第2実施形態のエッジモデルの作成処理の流れを示したフローチャート図である。
図3】本発明の第1および第2実施形態のエッジ方向モデル登録方法を示した説明図である。
図4】本発明の第2実施形態の画像検査処理の流れを示したフローチャート図である。
図5】本発明の第1実施形態に関する正常エッジ領域と異常エッジ領域に関する処理を示した説明図である。
図6】本発明の第2実施形態に関するワーク識別装置の概略図である。
図7】本発明の第2実施形態に関するワーク識別処理の流れを示したフローチャート図である。
図8】本発明の第2実施形態に関するワーク識別処理を概念的に示した説明図である。
図9】本発明の第1および第2実施形態におけるエッジモデルのメモリ格納態様を示した説明図である。
図10】本発明の第1および第2実施形態における画像処理装置を構成する制御系の一例を示したブロック図である。
【発明を実施するための形態】
【0014】
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【0015】
<第1実施形態>
以下では、例えば、物品の製造ラインの特定の位置で、ワークの画像を撮影し、検品などの検査処理を行う場合に使用可能なモデルを作成する例を示す。以下では、良品を撮影した複数の正常画像から検査に用いるモデルを作成する。そして、このモデルと、実際のワークを撮像した識別対象画像との同一(類似)性や差異を検出する差異判定工程を介して、良品/不良品を識別する。
【0016】
本実施形態における検査処理では、モデルと、ワークなどの識別対象を撮像した識別対象画像と、の差異を識別対象の問題個所と判定し、また、モデルと同一(類似)性を有する正常な画像を良品画像と判定する。このような画像識別(画像処理)により問題個所を識別する手法は、例えば外観検査方法などと呼ばれることがある。
【0017】
図1は、本発明の第1実施形態に関わる外観検査装置の概略構成を示している。同図の外観検査装置は、ワークW1(被検査物:識別対象)を保持する台座101と、照明装置102と、撮像装置103と、照明装置102と撮像装置103を相対移動させる移動装置104と、画像処理装置105と、を備える。
【0018】
ワークW1は、生産ラインにおける任意の識別対象、例えば、単品の部品、複数の部品からなる複合体(アセンブリ)、などである。本実施形態では、例えば一眼レフカメラの外装など、各部品公差によりワークの特定部位のエッジがばらつくような特性があるワークを要領よく処理し、顕著な識別効果を得られるような構成を考える。
【0019】
図1の台座101はワークW1を保持、位置決めする保持部と、ワークを回転させる回転軸を有している(詳細不図示)。このワークの回転軸は、例えば紙面の垂直方向に相当し、図中の台座101のほぼ中央を通っている。照明装置102は、ワークW1に光を照明する照明装置である。照明装置102は、例えばLEDやハロゲンランプ等、画像処理に必要な光をワークW1に照射するものであれば何でもよく、照明装置102の発光面の側に拡散板やレンズ等が配置されていてもよい。
【0020】
撮像装置103は、ワークW1からの反射光を受光して、撮像画像のデータを生成するエリアカメラで、CMOSセンサ、またはCCDセンサなどの撮像素子とレンズ、フィルタから構成される。移動装置104は、照明装置102と撮像装置103を把持し、ワークW1に対して設定した姿勢となるように移動する。
【0021】
ワークW1は、その下部の設置面以外の全面を撮像可能に設定することが望ましく、例えば画角の設定方法は手動によるティーチングや、ワークW1のCADモデルから姿勢を演算してもよい。
【0022】
移動装置104は、照明装置102と撮像装置103を其々独立に制御する構成でもよい。移動装置104には、直動ステージの組み合わせ、または多関節ロボットを用いてもよい。いずれの場合であっても台座101と移動装置104によって、ワークW1に対する照明装置102と撮像装置103の相対位置を変更することができる。
【0023】
なお、移動装置104が多関節ロボットなどのロボットアームである場合には、そのロボットアームは、ワークW1を操作し、物品の組み立て、製造を行う生産機器としての機能を有するものであってよい(後述の第2実施形態参照)。例えば、図1は、あたかも撮像装置103が移動装置104の先端に固定されているかのように図示している。しかしながら、移動装置104を構成するロボットアームが、撮像が必要なタイミングでその先端のロボットハンドなどによって撮像装置103を把持して検査のための撮像を行うような構成であってもよい。また、移動装置104は、撮像装置103の位置姿勢を操作するロボットアームであるとして、その他にワークW1を操作して物品の製造を行うロボットアーム(不図示)が別途、用意されていてもよい。
【0024】
以上のような構成により、後述の検査処理の結果を用いて、移動装置104を構成するロボットアーム、あるいは他の製造作業用のロボットアームの動作を制御することができる。その場合、検査処理の結果に応じて、これらのロボットアームは、製造システムにおいて、例えば不良品を廃棄や解析のための処理ラインに送り、良品を正規の生産ラインの後段の処理に送る、などのように制御することができる。
【0025】
画像処理装置105は、撮像装置103で撮像された撮像画像に対して画像処理を行い、モデルの作成及び、ワークW1に存在する問題個所の検出を行う処理部、記憶部、各種インターフェースから構成されている。
【0026】
ここで、図10図1の画像処理装置105の処理部、記憶部、各種インターフェースなどによって構成された制御系の具体的なハードウェア構成の一例を示しておく。同図のような制御系は、例えばいわゆるPCフォームの実装形態で実現できる。
【0027】
図10の制御系は、主制御手段としてのCPU1601、記憶装置としてのROM1602、およびRAM1603を備えたPCハードウェアなどによって構成することができる。ROM1602には、本実施形態の製造手順を実現するためのCPU1601の制御プログラムや定数情報などを格納しておくことができる。また、RAM1603は、その制御手順を実行する時にCPU1601のワークエリアなどとして使用される。また、図10の制御系には、外部記憶装置1606が接続されている。外部記憶装置1606は、本発明の実施には必ずしも必要ではないが、HDDやSSD、ネットワークマウントされた他のシステムの外部記憶装置などから構成することができる。
【0028】
本実施形態の画像処理、例えば検査領域特定処理および検査処理を実現するためのCPU1601の制御プログラムは、上記の外部記憶装置1606やROM1602の(例えばEEPROM領域)のような記憶部に格納しておく。その場合、本実施形態の制御手順を実現するためのCPU1601の制御プログラムは、ネットワークインターフェース1607を介して、上記の各記憶部に供給し、また新しい(別の)プログラムに更新することができる。あるいは、後述の制御手順を実現するためのCPU1601の制御プログラムは、各種の磁気ディスクや光ディスク、フラッシュメモリなどの記憶手段と、そのためのドライブ装置を経由して、上記の各記憶部に供給し、またその内容を更新することができる。本実施形態の制御手順を実現するためのCPU1601の制御プログラムを格納した状態における各種の記憶手段、記憶部、ないし記憶デバイスは、本発明の制御手順を格納したコンピュータ読み取り可能な記録媒体を構成することになる。
【0029】
ネットワークインターフェース1607は、例えばIEEE 802.3のような有線通信、IEEE 802.11、802.15のような無線通信による通信規格を用いて構成することができる。CPU1601は、ネットワークインターフェース1607およびネットワーク1608を介して、他の装置1104と通信することができる。この装置1104は、例えば、物品の製造に係る統轄制御装置(例えば後述の第2実施形態におけるデータ管理装置605)、あるいは他の管理サーバなどに相当する。生産ラインの他の生産機器との通信も、ネットワーク1608を介して行うことができる。
【0030】
また、図10の制御装置は、ユーザインターフェース装置400(UI装置)を備える。ユーザインターフェース装置400としては、LCDディスプレイ、キーボード、ポインティングデバイス(マウス、ジョイスティックなど)などから成るGUI装置を配置してもよい。このようなユーザインターフェース装置400を介して、画像処理の進行状況をユーザに報知したり、画像処理を制御する各種パラメータの設定などを行うことができる。
【0031】
なお、画像検査に用いるモデルの作成処理と、画像検査における例えば問題個所の検出処理は別々のタイミングで行われるため、画像処理装置105は、別々の処理部、記憶部を持つ2つ以上の処理装置に分割されていてもよい。
【0032】
本実施形態では、画像検査に用いるモデルには、例えば輝度モデルを用いる。以下では、この輝度モデルにつき説明する。ここで、撮像装置103によって撮像された、予め良品と判明しているワークW1の画像を良品画像とする。
【0033】
その場合、複数の良品を撮像して得た良品画像を、姿勢毎に同じ位置に対応する単一ないし複数画素からなる部分領域の輝度値を平均化し、輝度モデルを作成する。この良品画像の撮像では、例えば台座に位置決め機構を設け、撮像時に良品が特定の位置姿勢を取るよう保証する機構を用いる。また、その場合、テンプレートマッチングや形状マッチングなどのパターンマッチング処理を行い撮像時の位置姿勢のアライメント合わせを行ってもよいし、その他の特徴量を算出し、位置合わせするような任意の処理を行うことができる。また、複数の良品のサンプル数としては本実施形態では30サンプルを用いたが、その数は任意である。例えば、良品サンプル間のばらつきが平均化されるようにサンプル数を決定してもよい。
【0034】
本実施形態では、問題個所候補を抽出するための閾値画像は、輝度モデルと良品画像間の統計値に基づき、決定する。この統計値としては、例えばモデルの同一輝度の場所における分散を算出し、さらに線形近似を行い算出した各輝度に対する近似分散値を用いることができる。ただし、閾値画像を決定するための統計値には、上記の部分領域の輝度値の良品間の分散や最大値、最小値を用いてもよい。
【0035】
ここで、エッジ方向モデルを作成する流れを図2により説明する。図2の処理は、例えばCPU1601により実行されるもので、CPU1601が実行する処理を記述した制御プログラムは上記の記録媒体のいずれかに格納しておく(後述の処理についても同様)。
【0036】
まず、良品画像読込ではモデルとして登録を行う良品画像を読み込む(画像取得工程:ステップS201)。ノイズ除去処理では良品画像上のノイズを除去する(ステップS202)。このノイズは、例えばワークW1の表面が粗面の場合に画像に塗装の粒子が写り、エッジを抽出する際にランダムなノイズとなる。このノイズを除去するために、良品画像に対して、移動平均フィルタやメディアンフィルタなどの処理を行う。
【0037】
続いて、エッジ強度とエッジ方向の算出を行う(エッジ情報算出工程:ステップS203)。エッジ情報としては、画像の直交する2軸に関して微分処理を行い、各軸の微分値より輝度の勾配変化のエッジ強度とエッジ方向の2つの情報を画素毎に算出する。ここで、算出するエッジ強度とエッジ方向は複数の画素からなる領域毎に算出してもよい。
【0038】
次に、エッジ強度と予め用意した閾値を比較することなどにより、一定以上のエッジ強度を持つマスクを作成し、マスクに対応する位置のエッジ方向を、一定強度エッジ方向データとして抽出する(エッジ方向抽出工程:ステップS204)。
【0039】
また、エッジ強度に対する閾値は画素毎に設定してもよく、輝度モデルや、基準画像に移動平均処理を行いベースの輝度値を算出し、ベースの輝度値に対応したエッジ強度の閾値を画素毎に設定することにより、エッジの抽出感度を高めることができる。
【0040】
エッジモデル登録処理では、上記のようにして抽出した一定強度エッジ方向を画素毎、もしくは複数画素から成る部分領域ごとにエッジモデルとして登録する(エッジモデル作成工程:ステップS205)。上記のステップS201からステップS205を所定の良品画像枚数分繰り返す(ステップS206)ことでエッジ方向モデルが完成し、図2の処理が終了する。
【0041】
ここで、エッジ方向モデルを登録する手法の一例を図3により説明する。図3(a)は良品画像の1部分を示している。また、図3(b)は、図3(a)の画像に対して、ステップS201~S204を実行した後の画像に相当する。図3(b)において、301は一定強度以上のエッジ強度を持つマスクを示し、領域302は一定強度以上のエッジ強度領域301の中の1画素もしくは複数画素から成る領域を示している。また、図3(c)は、所定の良品画像枚数処理を行った後の302の画素もしくは領域に格納されるエッジ方向モデルの例である。エッジ方向データは、それらが有するエッジ角度に応じて、エッジモデルに、所定の分割数で分割された角度の範囲として303で示すように登録される。例えば、図3(c)の例では360°を24分割した角度範囲において、30°以上45°未満、120°以上135°未満、および330°以上345°未満の各領域に正常と判断できるエッジ方向がモデルとして登録されている。
【0042】
図3(c)は、エッジ方向データを格納するエッジモデルの角度範囲を1次元的に簡略図示している。しかしながら、本実施形態では、例えばRAM1603などにエッジモデルを格納する場合は図9のようなフォーマットを用いることができる。
【0043】
図9は、360°を15°刻みで24分割した角度範囲のうち、0°以上15°未満、15°以上30°未満、75°以上90°未満、345°以上360°未満、の各角度範囲にエッジ方向データの格納されているエッジモデルの一例を示している。各角度のメモリは、例えば正常画像の縦横ピクセル数と同じメモリセル数で構成された2次元メモリで、各メモリセルは、正常画像の画素に1:1に対応している。図9のエッジモデルにおいて、有効な一定強度エッジが格納されているメモリセルは濃色で示されている。
【0044】
そして、図9のエッジモデルに格納されているのは、例えば15°以上30°未満の角度範囲の格納データである一定強度エッジに示される位置、例えば左上角部および右下角部に面取り形状を有するような、全体として矩形のエッジ形状に相当する。また、75°以上90°未満の角度範囲では、1画素分の幅に相当するライン状のエッジデータが、左右に1本ずつ、計2本存在している。このようなエッジモデルの格納状態は、例えば、複数の「正常画像」中に被写体がライン状のエッジデータが並ぶ方向に、なんらかの理由でぶれて異なる位置に撮像された画像がいくつか含まれていたこと、などによって生じる。そして、このように、複数、例えば何10枚か用意した「正常画像」中で、位置姿勢のぶれやばらつきが生じる確率が存在する、ということは、実際の識別対象画像でも同様のぶれやばらつきが生じる確率が同程度存在すると言える。
【0045】
従って、図9のようなエッジモデルが用意されていれば、実際の識別対象画像で同様のぶれやばらつきが生じている場合でも、位置姿勢のぶれやばらつきを有するエッジデータを有効な「正常エッジ」として取り扱うことができる。また、図9のような、画像の画素と同じ縦横比率を有する2次元メモリにエッジデータを格納する記憶フォーマットによれば、例えば対象画像に作用させるマスクデータなどとしてエッジデータメモリを転用する処理が極めて容易になる。
【0046】
なお、エッジ方向モデルを登録する時の角度の所定分割数は、上記の例では24で15°刻みであるが、当業者が任意に決定してよい。ただし、角度の分割数は良品間で同一箇所とされるエッジのばらつきが角度範囲内に収まるように分割することが望ましい。また、角度の分割数は処理環境で固定値を用いても良いが、扱うワークのサイズや形状などの特性に応じて、上記のユーザインターフェース装置400を介してユーザが入力した分割数を設定できるようにしておくとよい。また、ステップS201からステップS204を所定の良品画像枚数分繰り返し、各画素もしくは複数画素からなる領域のエッジ方向の統計値を用いて自動的に分割数を設定してもよい。この統計値には、エッジ方向の分散値や最大値、最小値などを用いることができる。即ち、エッジ方向モデルを登録する時の角度の分割数は、エッジ方向データの分布態様に基づき決定することができる。
【0047】
また、エッジ方向を登録する際に、角度範囲毎に頻度をカウントし、予め設定された頻度の閾値を超えたものをエッジ方向モデルとして登録する制御を行ってもよい。これにより、エッジ方向の外れ値を排除することができ、より正確なエッジ方向モデルを作成することができる。また、エッジ方向モデルを角度範囲毎に、適当な方向、例えば画像縦横(XY)方向に膨張させて登録してもよい。これにより、エッジのばらつきに強いエッジ方向モデルを作成することができる。
【0048】
次に、エッジ方向モデルを使った実際の検査の流れを図4により説明する。ここでは、まず、モデル読込みを行う。ここでは、上記のようにして予め生成しておいた輝度モデルとエッジ方向モデルを例えばRAM1603などに割り当てたモデル登録領域に読み込む(ステップS401)。
【0049】
続いて、被検査物セットでワークW1を台座101に設置する(ステップS402)。ここでは、移動装置104により、照明・撮像装置移動開始であらかじめ設定された撮像姿勢の位置に、照明装置102と撮像装置103を移動させる(ステップS403)、撮像装置により画像を取得する(ステップS404)。
【0050】
続いて、ノイズ除去および一定強度エッジ方向抽出処理(ステップS405)を行う。ここでは、図2のステップS202からS204と同様の処理を行う。ステップS405で抽出した一定強度エッジ方向がモデルに格納されている角度範囲にない場合、その画素もしくは複数画素による領域を抽出し、その集合を異常エッジ領域とし、それ以外の領域を正常エッジ領域とする(ステップS406)。
【0051】
さらに、予め設定されていた検査領域から正常エッジ領域を除外し、探索領域(修正後検査領域)とする(ステップS407)。そして、ワークW1の撮像画像中の探索領域において、輝度モデルから作成した閾値画像により、問題個所候補を抽出する(ステップS408)。
【0052】
問題個所候補に対して、ブロブ解析等の処理を行い、特徴量を算出する(ステップS409)。この特徴量としては、検査対象とする問題個所の特性などに基づいて異なる特徴量を用いることができる。例えば特徴量としては、重心座標、面積、輝度分布、長さ、円形度などを用いることができる。なお、検査ごとにユーザがユーザインターフェース装置400を介してユーザが特徴量の種別を設定できるようにしておいてもよい。
【0053】
上記のステップS403~S409は、検査に必要な姿勢数分行う。そのため、ステップS410では、検査に必要な姿勢数分の処理を行ったか否かを判定する。このステップS410が否定(N)された場合には、例えば移動装置104によりワークW1を撮像する姿勢を変更しつつ、ステップS403~S409の処理を繰り返す。
【0054】
ステップS410で検査に必要な姿勢数分の処理を行ったことが確認されると、算出された特徴量に対して、予め設定された特徴量の閾値と比較して、ワーク自体の良不良を判別する(ステップS411)。
【0055】
ここで、正常エッジ領域と異常エッジ領域の判別につき図5を用いて説明する。図5(a)は問題個所501がある場合の検査画像の一部である。また、図5(b)は図5(a)にステップS405の処理を行い、一定エッジ強度以上の領域502を算出した画像である。また、図5(c)は、図5(b)の一定エッジ強度以上の領域502のエッジ方向とエッジ方向モデルを比較し、正常エッジ領域503と異常エッジ領域を含んだ探索領域504に分割した状態を示している。
【0056】
これにより、エッジのばらつきなどがある場合でも、正常なエッジを除去した探索領域504(修正後検査領域)で問題個所501の有無を正確に判定することができる。従って、ワークW1に、撮像される画像においてエッジ付近にある問題個所が含まれているような場合でも、信頼性の高い画像検査が可能になる。
【0057】
以上のように、本実施形態によれば、公差のある部品によって組み立てられたワークの表面を検査する場合に、エッジがばらついていても問題個所のみを精度よく抽出することができる。
【0058】
<第2実施形態>
上記実施形態では、作成したエッジモデルを用いて生産ラインで画像の差異検出を行う画像検査によりワークを検査する例を示したが、本発明の手法により作成したエッジモデルは様々な画像処理で利用することができる。以下では、作成したエッジモデルを用いた差異検出結果に応じて生産ラインのロボット装置を制御し、物品の製造を行うロボットシステムを例示する。
【0059】
図6は、第1実施形態の図1に対応する様式により本実施形態のロボットシステムの構成を示している。本実施形態においては、エッジモデルを用いてワークW2を撮像した画像の差異検出を行ない、ワークW2の有無ないしその位置姿勢を検出し、その結果に応じて移動装置607を構成するロボット装置の動作を制御する。より具体的には、下記の画像処理は、第1実施形態の正常画像を背景画像とし、その正常画像中で、問題個所や異常に相当するワークW2の画像を検出する差異検出に対応する。
【0060】
図6のロボットシステムは、次のように構成されている。即ち、このシステムは、ワークW2(識別対象)を保持する台座601と、光源602と、撮像装置603と、画像処理装置604と、データ管理装置605と、ロボット制御装置606とワークを移動させる移動装置607(ロボット装置)と、を備える。
【0061】
ワークW2は、完成状態のこのシステムで製造する物品、あるいはその部品やワークなど、何でもよい。ワークW2としては、例えばこのシステムで取り扱う複数の種類の部品、異なる大きさのレンズなどの光学部品が考えられる。台座601はワークW2を保持する機構を有する。光源602は、ワークW2に光を照明する照明装置を構成する。光源602は、例えばLEDやハロゲンランプ等、画像処理に必要な光をワークW2に照射するものであれば何でもよく、光源602の発光面側に拡散板やレンズ等を配置してもよい。
【0062】
撮像装置603は、ワークW2からの反射光を受光して、撮像画像のデータを生成するエリアカメラで、CMOSセンサ、またはCCDセンサなどの撮像素子とレンズ、フィルタなどから構成される。即ち、撮像装置603はデジタルカメラなどであって、ワークW2の周辺の画像を撮像できるよう、台座601の付近、移動装置607の稼働環境に例えば固定的に配置しておく。
【0063】
画像処理装置604は、撮像装置603で撮像された撮像画像に対して画像処理を行い、撮像画像中でワークの識別を行い、識別結果のデータをデータ管理装置605に転送する。
【0064】
データ管理装置605は、画像処理装置604、およびロボット制御装置606と、ネットワーク(例えば図10のネットワーク1608)を介して接続される。データ管理装置605は、例えば識別結果のデータと予め登録されていたワークの基準データと比較しワークを識別し、その識別結果をロボット制御装置606に転送する。データ管理装置605は、その他の様々な装置と連結してもよく、システムで必要なデータを管理、転送する動作を行うものであってよい。
【0065】
ロボット制御装置606は、移動装置607で複数の動作パターンを実行させるロボット制御プログラムを備える。ロボット制御装置606は、データ管理装置605から転送されたワーク識別結果に基づき、移動装置607を構成するロボット装置の動作パターンを制御する。移動装置607を構成するロボット装置は、ワークW2を把持し移動させる、ワークW2を別部品に組み付けるなど、様々な組付動作を行うものであってよい。
【0066】
エッジモデルは、第1実施形態で説明した方法で作成する。その場合、例えば、ワークW2を設置しない状態を撮像した複数の画像を第1実施形態における「正常画像」としてエッジモデルを作成する。これにより、第1実施形態における問題個所を差異検出するのと同じ処理によって、例えばワークW2を検出する探索領域を決定することができる。
【0067】
以下では、エッジモデルを用いたワーク識別処理を図7を参照して説明する。
【0068】
まず、輝度モデルとエッジ方向モデルを読み込む(モデル読込:ステップS701)。この輝度モデルとエッジ方向モデルは、第1実施形態で説明したのと同様に、予めワークW2を設置しない状態を撮像した複数の画像から作成したものである。
【0069】
次に、ワークW2を台座601に設置し(対象物セット:ステップS702)、撮像装置603により台座601の周囲を画角に収めた識別対象画像を取得する(ステップS703)。続く、識別対象画像に対するノイズ除去~一定強度エッジ方向抽出処理(ステップS704)に関しては、第1実施形態同様、図2のステップS202からS204と同様の処理を行う。
【0070】
具体的には、このノイズ除去~一定強度エッジ方向抽出処理(ステップS704)では、識別対象画像に対して、識別対象画像に含まれる部分領域ごとにエッジ強度とエッジ方向を算出する。そして、エッジ強度が一定以上の領域の前記エッジ方向を、識別対象エッジ方向データとして抽出する(識別対象エッジデータ抽出工程)。
【0071】
ステップS705では、識別対象画像から抽出した一定強度エッジ方向がモデルに格納されている角度範囲にない場合、その画素もしくは複数画素による領域を抽出し、その集合を異常エッジ領域とする(ステップS705)。この「異常エッジ」は、おそらくはワークW2が存在することによって生じている。
【0072】
ステップS705の処理は、算出された識別対象エッジ方向データと、エッジモデルを比較し、エッジモデルに含まれるエッジ方向データの集合に相当する部分領域を正常エッジ領域に分類する領域分類工程に相当する。
【0073】
そして、異常エッジ領域により囲まれた閉領域を含む範囲をワークの探索領域とする(探索領域取得工程:ステップS706)。このようなワークの探索領域の生成は、第1実施形態における探索領域504(修正後検査領域)の生成と同様である。この識別候補抽出(差異候補抽出)では、第1実施形態と同様に輝度モデルを作成し、画像と輝度モデルの比較結果と異常エッジ領域から抽出してもよい。
【0074】
ここで、図8(a)、(b)は、ワークW2の周囲を撮像した識別対象画像から抽出する様子を示している。図8(a)において、801はワークW2が存在することによって生じているエッジに相当する。図8(a)の識別対象画像の状態から、ノイズ除去~一定強度エッジ方向抽出処理(ステップS704)を経て、図8(b)のように一定強度以上のエッジ方向データ802が図8(b)のように抽出される。図8では、便宜上、ワークW2がない背景は図3(a)であるものとして作図してある。従って、ワークW2がない状態の複数の正常画像から作成されたエッジモデルに登録されている正常エッジは、図3(b)の301のような形状である。そのため、図8(c)のように、例えば正常エッジ803の領域(白色部分)を除去したマスクを作成すると、上記のようにワークW2の異常エッジ領域により囲まれた閉領域を含む範囲をワークの探索領域804として抽出することができる。
【0075】
さらに、ワークW2の有無ないし位置姿勢を検出するための特徴量を算出する。例えば上記のようにして抽出された探索領域804に対して、ブロブ解析等の処理を行い、特徴量を算出する(ステップS707)。この特徴量は、上記同様に、重心座標、輪郭座標、面積、輝度分布、長さ、円形度等、ワークの特徴に基づいて決定することができる。なお、この特徴量の算出においては、ワークW2のサイズや撮像倍率などに応じて面積等の閾値を設け、識別候補にノイズがある場合に除去する処理を行ってもよい。
【0076】
上記のように算出した特徴量を用いてワークW2の有無ないし位置姿勢を検出する処理は、画像処理装置604が行ってもよい。例えば特徴量の比較は画像処理装置604で行い、ワークW2の有無、種類、位置姿勢などに関する情報を特定し、それらのデータを受信したデータ管理装置605がそれらのデータを利用してロボット制御のための制御情報を生成する構成であってもよい。しかしながら、本実施形態のシステムはロボットシステムであるから、特徴量データを用いたワークW2の有無ないし位置姿勢の検出処理は、データ管理装置605が行う。
【0077】
そこで、上記のように算出した特徴量に対応する特徴量データはデータ管理装置605に転送する(ステップS708)。データ管理装置605は、受信した特徴量データに基づき、既知のワーク情報の特徴量データの範囲と比較しワークの有無、その種類、位置姿勢などを特定する(ステップS709)。
【0078】
上記のようにして特定したワークの有無、その種類、位置姿勢などの情報はロボット制御装置606に転送される(ステップS710)。ロボット制御装置606は受信したワークW2の有無、その種類、位置姿勢などの情報に応じて、移動装置607を構成するロボット装置を制御する動作プログラムを選択する。例えば、ロボット制御装置606は、ワークW2の位置によって、ワークW2の把持姿勢、移動経路、移動先の姿勢などを決定し、あるいはそれを補正する処理を行う(ステップS711)。
【0079】
ロボット制御装置606が決定し、あるいは補正した動作プログラムに応じて、移動装置607を構成するロボット装置は、例えばワークW2の移動、取り出し、加工、その他の製造動作を実行する(ステップS712)。
【0080】
以上のように、本実施形態によれば、例えばワークの操作される環境が振動の多い環境である場合など、識別対象画像、従ってエッジ方向データが撮像毎にばらつく(位置ずれする)場合であっても、正確かつ確実にワークの位置、種類を識別できる。
【0081】
なお、上記の各実施形態では、エッジモデルを探索領域作成に用い、ワーク検査やワーク検出は別に算出した特徴量を用いて行う構成を例示した。しかしながら、作成したエッジモデルと識別対象画像から取得したエッジ情報を比較した結果に基づき、ワーク検査やワーク検出を行うよう、作成したエッジモデルを用いてもよい。
【0082】
本発明は上述の実施例の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現できる。また、本発明の制御手段は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0083】
また、上述した種々の実施形態では、移動装置104、607が複数の関節を有する多関節ロボットアームを用いた場合を説明したが、関節の数はこれに限定されるものではない。多関節ロボットの形式として、垂直多軸構成を示したが、パラレルリンク型など異なる形式の関節においても上記と同等の構成を実施することができる。
【0084】
また上述した種々の実施形態では、移動装置104、607の構成例を各実施形態の例図により示したが、これに限定されるものではなく、当業者において任意に設計変更が可能である。また、移動装置104、607に設けられる各モータは、上述の構成に限定されるものではなく、各関節を駆動する駆動源は例えば人工筋肉のようなデバイス等であってもよい。
【0085】
また、上述した種々の実施形態は、制御装置に設けられる記憶装置の情報に基づき、伸縮、屈伸、上下移動、左右移動もしくは旋回の動作またはこれらの複合動作を自動的に行うことができる機械に適用可能である。
【符号の説明】
【0086】
101…台座、102…照明装置、103…撮像装置、104…移動装置、105…画像処理装置、501…問題個所、503…正常エッジ領域、504…修正後検査領域、601…台座、602…光源、603…撮像装置、604…画像処理装置、605…データ管理装置、606…ロボット制御装置、607…移動装置、1601…CPU、1602…ROM、1603…RAM
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10