(57)【特許請求の範囲】
【請求項１】
カメラによって撮像した画像を画像処理することによってシーン中での対象物の位置を検出する物体検出方法において，
前記対象物の画像からエッジ抽出処理によって求めたエッジを構成する点の全て又は一部から成る第一の点群を構成する点と，前記シーンの画像からエッジ抽出処理によって求めたエッジを構成する点の全て又は一部から成る第二の点群を構成する点との全ての組合せについて，前記第一の点群を構成する点の位置情報と前記第二の点群を構成する点の位置情報との組合せの偏差を計算して投票テーブルで前記偏差の頻度を求め，画像処理において二次元の配列を投票テーブルに表し，前記画像処理によって前記位置情報の前記偏差の頻度が最も多い前記偏差により，前記シーン中での前記対象物の位置を検出することを特徴とする物体検出方法。
【請求項２】
カメラによって撮像した画像を画像処理することによってシーン中での対象物の位置を検出する物体検出方法において，
前記対象物の画像からエッジ抽出処理によって求めたエッジを構成する点の全て又は一部から成る第一の点群を構成する点を所定の回転角度だけ回転した第三の点群を求め，前記シーンの画像からエッジ抽出処理によって求めたエッジを構成する点の全て又は一部から成る第二の点群を求め，前記第二の点群と前記第三の点群とを構成するそれぞれの点の全ての組合せについて，前記第二の点群を構成する点の位置情報と前記第三の点群を構成する点の位置情報との組合せの偏差を計算して投票テーブルで前記偏差の頻度を求め，前記回転角度の値を変えながら求めた複数の前記第三の点群において画像処理を実行し，前記画像処理において三次元の配列を投票テーブルに表し，前記画像処理によって前記位置情報の前記偏差の頻度が最も多い前記偏差と前記第三の点群の前記回転角度とによって前記対象物の前記シーン中での位置と方向とを検出することを特徴とする物体検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は，対象物をカメラで撮像した画像を画像処理することによって対象物を検出する物体検出方法に関する。
【背景技術】
【０００２】
カメラで撮像した対象物の画像を画像処理により対象物を検出する技術は，産業界の様々な分野で利用されている。例えば，産業用ロボットは，予めプログラムされた位置に基づいて動作しており，作業対象のワークが何らかの理由で所定の位置からずれると，産業用ロボットがワークに対する作業が実行できなくなる。そこで，カメラを使って撮像した画像から，画像処理により対象物であるワークの位置を求め，そのワークの位置に応答してロボットの位置を補正する手段がとられている。また，半導体技術分野での応用例では，電気回路の基板上にＩＣ，抵抗等の部品を設置する組立装置において，基板上に設置する部品が所定の位置に配置されるように，カメラにより電気回路の基板上の穴，マーク等の部分を撮像し，撮像した画像の位置を画像処理を行って電気回路の基板全体の位置を補正している。
【０００３】
その他の物体検出の応用例では，従来，動き検出方法として，動画像中において複数のオブジェクトが動きを有して重複することにより各オブジェクトが変形しても正確に各オブジェクトについての動きベクトルを検出するものが知られている。該動き検出方法は，動画像を構成する第１の画像に含まれる複数の動画像オブジェクトについてエッジ抽出を行って第１の輪郭情報を得るとともに，動画像を構成した第１の画像と時間的に前後する第２の画像に含まれる複数の動画像オブジェクトについてエッジ抽出を行って第２の輪郭情報を得て，各動画像オブジェクトごとに第１の輪郭情報を第２の輪郭情報にマッチングさせてマッチング位置を検出し，上記マッチング位置に基づいて，各動画像オブジェクトについての動きベクトルを推定し，上記マッチング位置に基づいて，第１の輪郭情報を第２の輪郭情報との一致度を示す変形率を，各動画像オブジェクトについて演算し，上記各動画像オブジェクトの変形率のうち，最小の値の変形率を有する動画像オブジェクトの動きベクトルを，上記推定した動きベクトルに確定するものである（例えば，特許文献１参照）。
【０００４】
このような物体の検出のための画像処理では，主にパターンマッチングが用いられる。パターンマッチングでは，予め対象物の画像を登録しておき，実際の作業において対象物を含むシーンの画像を撮像し，その画像と登録画像との相関値を計算してその値によって対象物の有無や位置を検出している（例えば，非特許文献１参照）。
【０００５】
図７にはパターンマッチングの処理の例が示されている。図７の（ａ）には，登録された対象物１の登録画像３０が示されており，図７の（ｂ）には，対象物１を含むシーン画像３１が示されている。ここで，登録画像３０のサイズを，横をｍとし，縦をｎとし，画像を構成する画素の濃淡値を〔数１〕で表わす。
【０００６】
【数１】
0004815592.tif 000002
例えば，図の左上の画素の濃淡値はｆ（１，１），右下の画素の濃淡値はｆ（ｍ，ｎ）である。一方，シーン画像３１のサイズを横がＭ，縦がＮとし画像を構成する画素の濃淡値を〔数２〕で表わす。
【０００７】
【数２】
0004815592.tif 000003
同様に図の左上の画素の濃淡値はｇ（１，１），右下の画素の濃淡値はｇ（Ｍ，Ｎ）である。これより二つの画像の相関値は，〔数３〕で与えられる。
【０００８】
【数３】
0004815592.tif 000004
ここで，ｘとｙは登録画像３０のシーン画像３１中での比較する位置を表しており，パターンマッチングにおいては，ｘとｙを変えながら上式の値を計算し，その値が最大となるｘとｙを求めている。図７（ｂ）のシーン画像３１においてはＸとＹの時が最大となり，これらの値から対象物１の位置を求めている。また，〔数３〕の値は１より小さく，二つの画像が全く同一のときに１となる。
【特許文献１】特開２０００−２５９８３７号公報
【非特許文献１】昭晃堂発行「画像処理ハンドブック」（第３０３，３０４頁）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
一般的には，直観的にはパターンマッチングの処理は，登録画像をシーン画像上で重ねてずらしていき，画像同士が最も一致したときに相関値が最大となる。しかしながら，図８に示すように，対象物１が回転している場合に，図７（ａ）の登録画像３０と重ねても一致しないことから分かるように対象物１の検出ができなくなる。
【００１０】
そこで，このような対象物の回転に対応するために，図９に示すように，対象物１を少しずつ回転させた画像を登録しておき，それぞれの登録画像に対して〔数３〕により相関値を求め，相関値が最大となるときの登録画像の回転角度とｘとｙから対象物１の位置と回転方向を求めている。このとき，対象物１の回転角度を１度間隔にした場合に，３６０枚の登録画像を使うことになり，登録画像が１枚のときの３６０倍の処理時間がかかることになるため，実用性が失われてしまう。
【００１１】
従来の物体検出方法は，主として，パターンマッチングの方法が取られており，パターンマッチングは，予め登録した対象物の画像を実際のシーンの画像上で動かしてゆき，シーン画像との一致度が大きい位置を検出する処理である。しかしながら，上記のようなパターンマッチングによる物体検出方法では，対象物がシーン中で回転していると，登録した画像と一致しないため，対象物の位置や方向が検出ができないという問題があった。また，従来の物体検出方法では，対象物が回転している場合には，登録画像として回転角度の異なる対象物の画像を複数枚用いることになり，そのため，演算量が多くなり，処理に時間がかかるという問題があった。
【００１２】
この発明の目的は，上記の課題を解決することであり，産業用ロボット，半導体製造装置等の各種装置に適用されるものであり，カメラを使用してシーンを撮像し，撮像された画像を画像処理することによって，登録されている対象物の画像を検出してシーン中での対象物の位置を求めたり，また，対象物が回転している場合でも，対象物の回転方向を検出することができるものであり，画像からエッジ抽出処理によるエッジ情報を用いて高速に対象物の検出ができる物体検出方法を提供することである。
【課題を解決するための手段】
【００１３】
この発明は，カメラによって撮像した画像を画像処理することによってシーン中での対象物の位置を検出する物体検出方法において，
前記対象物の画像からエッジ抽出処理によって求めたエッジを構成する点の全て又は一部から成る第一の点群を構成する点と，前記シーンの画像からエッジ抽出処理によって求めたエッジを構成する点の全て又は一部から成る第二の点群を構成する点との全ての組合せについて，前記第一の点群を構成する点の位置情報と前記第二の点群を構成する点の位置情報との組合せの偏差を計算して投票テーブルで前記偏差の頻度を求め，画像処理において二次元の配列を投票テーブルに表し，前記画像処理によって前記位置情報の前記偏差の頻度が最も多い前記偏差により，前記シーン中での前記対象物の位置を検出することを特徴とする物体検出方法に関する。
【００１４】
また，この発明は，カメラによって撮像した画像を画像処理することによってシーン中での対象物の位置を検出する物体検出方法において，
前記対象物の画像からエッジ抽出処理によって求めたエッジを構成する点の全て又は一部から成る第一の点群を構成する点を所定の回転角度だけ回転した第三の点群を求め，前記シーンの画像からエッジ抽出処理によって求めたエッジを構成する点の全て又は一部から成る第二の点群を求め，前記第二の点群と前記第三の点群とを構成するそれぞれの点の全ての組合せについて，前記第二の点群を構成する点の位置情報と前記第三の点群を構成する点の位置情報との組合せの偏差を計算して投票テーブルで前記偏差の頻度を求め，前記回転角度の値を変えながら求めた複数の前記第三の点群において画像処理を実行し，前記画像処理において三次元の配列を投票テーブルに表し，前記画像処理によって前記位置情報の前記偏差の頻度が最も多い前記偏差と前記第三の点群の前記回転角度とによって前記対象物の前記シーン中での位置と方向とを検出することを特徴とする物体検出方法に関する。
【発明の効果】
【００１５】
この物体検出方法は，上記のように構成されているので，エッジ情報のみ扱うためデータ量が少なくなり，パターンマッチングに比べて演算量が少なくなり，加減算のみの演算処理で画像処理が実行でき，それによって，高速で移動しているシーン中での対象物の位置を検出できる。また，この物体検出方法は，予め回転した対象物の位置情報を取得しておくことにより，対象物が回転している場合でも，上記のように，加減算のみの演算処理で画像処理が実行でき，シーン中での対象物の位置を高速で検出することができる。
【発明を実施するための最良の形態】
【００１６】
この物体検出方法は，概して，対象物とシーンにおけるエッジを構成する点同士の位置の偏差を求め，その出現回数から対象物の移動量や回転量を求めるものであり，従来のパターンマッチングと比べて，扱うデータ量が少なくなり，演算も加減算だけでよいため高速で物体検出が可能になるものである。
【００１７】
以下，図面を参照して，この発明による物体検出方法の実施例について説明する。この発明による物体検出方法では，検出に用いるのは対象物１のエッジ情報である。対象物１のエッジ情報とは，主に対象物１の輪郭情報であり，微分オペレータ等を画像に施すことによって得ることができる。図３には，対象物１及びシーン画像３１でのエッジ情報の例が示されている。図３（ａ）は，図７（ａ）の対象物１のエッジ画像であり，また，図３（ｂ）は，図７（ｂ）のシーン画像３１のエッジ画像であり，これらは各種の物体の輪郭のみの情報である。この物体検出方法においては，対象物１のエッジとシーン画像３１のエッジとのマッチングになり，〔数３〕に示すように，パターンマッチングにおいて登録画像の全ての点を計算に用いるのに比べて，エッジ情報を用いることによって扱うデータ量が少なくなり，処理時間の高速化を図ることができる。
【００１８】
次に，この物体検出方法の原理を，図５に示すような簡単な例を用いて説明する。この例では，エッジではなく，三角形の頂点で説明する。図５に示すように，三角形２が平行移動により三角形３に移動したときの移動量を求める。まず，三角形２の頂点をａ１，ａ２，ａ３とし，それぞれのｘ，ｙ座標を（２，２），（２，６），（８，６）とする。ここで，原点は画面の左上になる。また，三角形３の頂点をｂ１，ｂ２，ｂ３とし，それぞれのｘ，ｙ座標を（１４，１３），（８，９），（８，１３）とする。そこで，頂点ａ１，ａ２，ａ３と，頂点ｂ１，ｂ２，ｂ３の全ての組合せ９通りについて位置の偏差を表１に示す。
【００１９】
【表１】
0004815592.tif 000005
例えば，最初の行は，もし，ａ１とｂ１とが対応するとしたら，そのときの平行移動量が偏差（１２，１１）となることを意味している。そこで，この偏差の出現回数に着目すると，実際の平行移動量に対応する偏差の回数が最も多くなることが分かる。そこで，偏差の頻度を求めるのに，図６に示す投票テーブルを用いることとする。投票テーブルのそれぞれの四角が投票箱であり，横方向の位置はｘ方向の偏差，縦方向の位置はｙ方向の偏差を表す。表１より偏差（０，３），（０，７），（６，３），（６，１１），（１２，７），（１２，１１）は，それぞれ一回出現しており，対応する各投票箱には１が入り，偏差（６，７）は，三回の頻度のため対応する投票箱に３が入り，これが最も頻度が多いため三角形２から三角形３への平行移動量は（６，７）となることが分かる。この例では，三角形の頂点を用いて説明したが，実際には，対象物１の輪郭であるエッジを構成する点について同様な処理を行うことによって，対象物１の移動量を求めることができる。
【実施例１】
【００２０】
次に，図１を参照して，上記の原理を基にして，この発明による物体検出方法の一実施例（＝実施例１）の画像処理について説明する。画像処理は，予め実行するモデル登録と実際の物体即ち対象物１の検出に分かれる。図１の（ａ）がモデル登録の処理の流れである。対象物１だけの画像であるモデル画像１０からエッジ処理１１によってエッジを抽出し，その各点の座標１２（ｘi ，ｙi ）ｉ＝ｌ，．．．，ｐを求める。これらは，図３の（ａ）に示す対象物１の輪郭線の座標に対応するものである。
【００２１】
これらの座標１２を基にした物体検出の処理の流れを図１の（ｂ）に示す。まず，シーン画像１３からエッジ処理１４によってエッジを抽出し，エッジの各点の座標１５
（Ｘj ，Ｙj ）ｊ＝ｌ，．．．，ｑを求める。これらは図３の（ｂ）に示す対象物１や楕円，三角形の輪郭線に対応することである。次に，画像処理１６は，ｉをｌからｐまで変えながら繰り返しの処理を示しており，そこでは，さらにｊをｌからｑまで変えて画像処理１７を繰り返す。画像処理１７では，ｉとｊとの繰り返しにより，モデルのエッジの座標１２とシーンのエッジの座標１５の全ての組合せについて，偏差ｄｘ，ｄｙを計算し，投票テーブルで，頻度を求める。画像処理１７において，二次元の配列Ｖが投票テーブルを表し，初期値は全ての値が０であり，添字の値が偏差を表しており，画像処理１７では，Ｖ（ｄｘ，ｄｙ）のカウント値を一つ増やしている。最後に画像処理１８によって，配列Ｖ（ｘ，ｙ）の最大となるｘとｙとを求める。この値が対象物１のシーン中での移動量となる。また，ここでは図示していないが，モデル画像１０のエッジ処理１１で求めた点の座標１２，及びシーン画像１３のエッジ処理１４で求めた点の座標１５については，必ずしもエッジ処理で求まった全ての点を用いる必要はなく，画像処理の高速化のために対象物の位置が特定できる程度にエッジの一部の点を用いることができることは勿論である。
【実施例２】
【００２２】
次に，図２を参照して，この発明による物体検出方法の別の実施例（＝実施例２）の画像処理について説明する。実施例２は，対象物１が回転している場合の物体検出の処理の流れによる物体検出方法である。図２に示すように，処理は予め実行するモデル登録と実際の物体検出に分かれる。図２の（ａ）がモデル登録の処理の流れである。実施例２は，実施例１と同様に，最初に対象物１のモデル画像２０からエッジ処理２１によってエッジの点の座標２２（ｘi ，ｙi ）ｉ＝ｌ，．．．，ｐを求める。これらのエッジの点は，図３の（ａ）に示すように，対象物１の輪郭線に対応するものである。次に，処理２３において，座標２２を１度から３５９度まで１度間隔で回転させた座標２４を計算する。この座標２４は，
（ｘr,i ，ｙr,i ）ｉ＝ｌ，．．．，ｐ    ｒ＝１，２，．．．，３５９
で表し，ｒが回転角度である。これらの座標は，図４に示すように，対象物１を回転させたときの輪郭線の位置情報になる。また，実施例２では，回転角度を１度から３５９度までとしているが，実際の状況に応じた回転角度で構わないことは勿論である。
【００２３】
図２の（ｂ）を参照して，上記の座標２４を基にした物体即ち対象物１の検出の処理の流れを説明する。まず，シーン画像２５からエッジ処理２６によってエッジの各点の座標２７（Ｘj ，Ｙj ）ｊ＝１，．．．，ｑを求める。次に，ｒをｌから３５９まで，ｉをｌからｐまで，更に，ｊをｌからｑまで変えて画像処理２８を繰り返す。画像処理２８では，各回転角度ｒのときのｉとｊの繰り返しにより，モデルのエッジの座標２４とシーン３１のエッジの座標２７の全ての組合せについて偏差ｄｘ，ｄｙを計算し，投票テーブルでその頻度を求める。ここで，三次元の配列Ｖが投票テーブルを表し，初期値は全ての値が０であり，添字の値が回転角度と偏差を表し，ここでは，Ｖ（ｒ，ｄｘ，ｄｙ）のカウント値を一つ増やしている。最後に処理２９によって配列Ｖ（ｒ，ｘ，ｙ）の最大となるｒとｘ，ｙとを求める。この値が対象物１のシーン３１中での回転量と移動量になる。
【００２４】
この物体検出方法では，上記のように，モデルとシーンにおけるエッジを構成する点同士の位置の偏差を求め，その出現回数から対象物１の移動量と回転量を求めている。従って，この物体検出方法は，パターンマッチングと比べて，扱うデータ量が少なく，演算も加減算だけでよいため，物体即ち対象物１を高速で検出することができる。
【産業上の利用可能性】
【００２５】
この発明による物体検出方法は，例えば，対象物の物体検出が可能となるため，産業用ロボットによるハンドリング作業，半導体製造装置や組立装置における基板の位置合わせ作業に適用することができる。
【図面の簡単な説明】
【００２６】
【図１】この発明による物体検出方法の第１実施例について，処理の流れを示す説明図である。
【図２】この発明による物体検出方法の第２実施例について，処理の流れを示す説明図である。
【図３】対象物とシーンとのエッジ処理を示す説明図である。
【図４】第２実施例のモデルの登録を示す説明図である。
【図５】この発明による物体検出方法の原理を示す説明図である。
【図６】投票テーブルを示す説明図である。
【図７】従来の物体検出方法の一例を示す説明図である。
【図８】従来の物体検出方法における対象物が回転した例を示す説明図である。
【図９】従来の物体検出方法における対象物が種々に回転した別の例を示す説明図である。
【符号の説明】
【００２７】
１    対象物
２    移動前の三角形
３    移動後の三角形
１０  モデル画像
１１  エッジ処理
１２  モデルのエッジ点の座標
１３  シーン画像
１４  エッジ処理
１５  シーンのエッジ点の座標
１６  繰り返し処理
１７  投票処理
１８  投票テーブルの最大値を求める処理
２０  モデル画像
２１  エッジ処理
２２  モデルのエッジ点の座標
２３  モデルのエッジ点の回転処理
２４  回転したエッジ点の座標
２５  シーン画像
２６  エッジ処理
２７  シーンのエッジ点の座標
２８  投票処理
２９  投票テーブルの最大値を求める処理
３０  モデルの濃淡画像
３１  シーンの濃淡画像
【図１】
0004815592.tif 000006
【図２】
0004815592.tif 000007
【図３】
0004815592.tif 000008
【図４】
0004815592.tif 000009
【図５】
0004815592.tif 000010
【図６】
0004815592.tif 000011
【図７】
0004815592.tif 000012
【図８】
0004815592.tif 000013
【図９】
0004815592.tif 000014