(57)【特許請求の範囲】
【請求項１】
画像データを２値化処理することにより目標物を認識する画像処理装置であって、
第１の閾値を用いて２値化処理した画像データから、第１の目標物が認識された場合に、当該第１の目標物が存在する範囲内の２値化処理前の画像データを抽出し、抽出した画像データから第２の閾値を求め、抽出した画像データを、前記第２の閾値を用いて２値化処理するようにしたことを特徴とする画像処理装置。
【請求項２】
前記画像処理装置は、
前記第２の閾値を用いて２値化された画像データから、第２の目標物が認識された場合に、さらに全ての目標物が認識されるまで２値化処理前の画像データから新たな閾値を求め、新たな閾値を用いて２値化処理を繰り返し実行する機能を有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像処理装置はさらに、
認識された目標物に関する情報を出力する出力手段を有することを特徴とする請求項１、２の何れかに記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データを２値化処理することにより目標物を認識する画像処理装置に関する。
【０００２】
【従来の技術】
近年、製造ライン等において、製品の筐体、部品等の検査や組み立てを行うに際し、例えばベルトコンベアの上を搬送される筐体、部品等を、ＣＣＤカメラ等の撮像装置を用いて撮像し、取得された画像データに所定の処理を行うことにより、不良品が発生していないか等の検査を行ったり、実際に組み立てを行ったりする方法が実用化されている。以下、筐体の所定の位置に適切に穴があけられているか否かの検査を行う場合を例として、かかる検査等に用いる従来の画像処理装置について説明する。
【０００３】
図４は、上記の従来の画像処理装置について説明するための図であり、検査対象となるガスメータ筐体の一例を示す図である。近年のガスメータは、例えば、地震やガス漏れの発生のため、ガスの供給を停止した場合などにはＬＥＤを点滅させることにより利用者にその旨を認識させるようになっているが、以下では、同図に示すガスメータ筐体９００に、ＬＥＤの表示窓となる穴９０１が適切な位置に、また適切な大きさであけられているか否かを検査する場合を例として、従来の画像処理装置の処理内容について説明する。
【０００４】
図５は、ガスメータ筐体９００の上部の拡大図である。同図に示されるように、穴９０１の位置及び大きさは、例えばベルトコンベア上を搬送される筐体９００を撮像するカメラのカメラ中心を原点とする座標系において、穴９０１の中心Ｃの座標と、Ｘ軸方向の半径ｘｒ、Ｙ軸方向の半径ｙｒを求めることにより特定することができる。そこで、例えばマスタとなる筐体を用いて穴９０１の位置及び大きさを記憶しておき、他の筐体については、マスタの穴９０１の位置からのずれ等を得ることにより、上記検査を行うことができる。
【０００５】
ここで、穴９０１の中心及び半径を求めるためには、穴９０１の周辺から取得された画像データを２値化することによる方法が一般的である。即ち、筐体９００から取得した画像データにおいて、所定位置に、所定の大きさのウィンドウＷを設定する。
【０００６】
このウィンドウＷは、当該範囲内の画像データが以後の処理の対象となることを意味するものであり、２値化処理を行うことにより穴９０１の存在範囲が判別可能となるように設定する。即ち、ウィンドウＷの範囲内に穴９０１の存在範囲を全て含み、かつ、筐体９００及び穴９０１以外の部分を含まないようにする必要がある。ウィンドウＷの位置及び大きさについては、例えば、左上頂点（図中のＭ）の位置と縦横各辺の長さを、筐体９００に合わせて予め設定しておく。
【０００７】
その後、ウィンドウＷの範囲内の画像データを２値化する。２値化処理を行うには閾値を決定する必要があるが、閾値の決定方法として、固定した閾値を用いる方法の他、従来より種々の自動閾値決定方法が考案されている。
【０００８】
例えば、上述のように製造ライン等に用いられる画像処理装置における自動閾値決定方法としては、「大津の方法」と称される公知の方法を利用することができる。大津の方法については、“画像解析ハンドブック（高木幹雄、下田陽久監修、東京大学出版会（５０３ページ））"に詳細に説明されているが、以下に簡単に説明する。
【０００９】
大津の方法は、判別分析法ともよばれる方法であり、画像データから濃度ヒストグラムを取得し、ある閾値によって当該濃度ヒストグラムを２クラスに分割した場合のクラス間分散σB2(k)が最大になる閾値k*を選ぶという原理に基づく方法である。
【００１０】
ここで、クラス間分散σB2(k)は、下記の（式１）で表すことができる。
【００１１】
【数１】
0003797586.tif 000002
【００１２】
また、上記に示した式において、Ｐiとは、ｎiを濃度ヒストグラムにおけるレベルiの画素の数、Ｎを全画素数とした場合に、ｐi＝ｎi／Ｎで表される数値を意味する。即ち、濃度レベルを[1,2,3,…,L]とし、画素をレベル［1,k］と、レベル[k+1,L]の２クラスに分割するとした場合に、クラス間分散σB2(k)を最大とするｋを閾値として決定する。
【００１３】
大津の方法等を用いて閾値を決定した後は、決定された閾値を用いて、ウィンドウＷの範囲内の画像データを２値化する。２値化された画像データにおいては、筐体９００の部分が白、穴９０１の部分が黒の画素で表されるため、上述の図５で説明したような、穴９０１の中心Ｃの位置及び半径を取得することができる。
【００１４】
さらに、取得された結果から、筐体９００の所定の位置に、適切な大きさの穴９０１があけられているか否かを判定することが可能である。
【００１５】
【発明が解決しようとする課題】
しかしながら、上記従来の画像処理装置では、筐体９００の適切な位置に、適切な大きさの穴９０１があけられているか否かについては検査することができるが、当該穴９０１の中の適切な位置にＬＥＤが設置されているか否かまでを一度の処理で検査することができず、検査の効率が悪いという問題点を有していた。
【００１６】
即ち、２値化された画像データでは、穴９０１の中に存在するＬＥＤのような目標物は、穴９０１の中に隠れてしまい、もはや識別できないからである。これは、上記のようにガスメータの検査に用いる場合だけでなく、画像データから複数の目標物を順次識別しようとした場合に、一般的に発生する問題である。
【００１７】
本発明は、上記問題点に鑑み、複数の目標物を含む画像データから、効率よく当該複数の目標物を識別することができる画像処理装置を提供することを目的とする。
【００１８】
【課題を解決するための手段】
上記課題を解決するために、本発明の画像処理装置は、画像データを２値化処理することにより目標物を認識する画像処理装置であって、第１の閾値を用いて２値化処理した画像データから、第１の目標物が認識された場合に、当該第１の目標物が存在する範囲内の２値化処理前の画像データを抽出し、抽出した画像データから第２の閾値を求め、抽出した画像データを、前記第２の閾値を用いて２値化処理するようにしたこと特徴とする。
【００１９】
さらに、前記画像処理装置は、第２の目標物が認識された場合に、さらに全ての目標物が認識されるまで２値化処理前の画像データから新たな閾値を求め、新たな閾値を用いて２値化処理を繰り返し実行する機能を有することが好ましい。このようにすることにより、目標物が三つ以上あるような場合でも容易に対応することができる。ここで、複数の閾値の大小関係については、目標物によって種々の場合が考えられ、必ずしも一定の大小関係を有するべきものではない。
【００２１】
また、前記画像処理装置はさらに、認識された目標物に関する情報を出力する出力手段を有することもできる。ここで出力する情報としては、位置、大きさ、形状等種々考えられ、認識された目標物に対するその後の処理を円滑にすることができる。
【００２２】
【発明の実施の形態】
以下、本発明に係る画像処理装置の実施の形態について図面を参照しながら説明する。図１は、本発明に係る画像処理装置の一適用例としての検査システムの構成の一例を示す図である。
【００２３】
同図に示されるように、本実施の形態の検査システムは、本発明に係る画像処理装置１及びＣＣＤカメラ２から構成され、ＣＣＤカメラ２にはストロボ３が付属して備えられている。同図において、９０は、上述のガスメータの如き検査対象物、９１は、本発明に係る画像処理装置における第１の目標物（本実施の形態では、筐体に開けられた穴）、９２は、本発明に係る画像処理装置における第２の目標物（本実施の形態では、所定の位置に設置されるべきＬＥＤ）を表している。
【００２４】
本実施の形態の画像処理装置１は、ストロボ制御部１０１、ＣＣＤカメラインタフェース１０２、第１フレームＲＡＭ１０３、第２フレームＲＡＭ１０４、ＲＯＭ１０５、操作部１０６、表示部１０７、制御部１００を含み、各部はインタフェースバス１０９にて接続されている。
【００２５】
ストロボ制御部１０１は、ＣＣＤカメラ２に付属するストロボ３の発光を制御する。ＣＣＤカメラインタフェース１０２は、ＣＣＤカメラ２から、検査対象物９０を撮像して得た画像データを取得する。
【００２６】
第１フレームＲＡＭ１０３には、制御部１００による２値化処理の前の画像データが格納され、第２フレームＲＡＭ１０４には、２値化処理後の画像データが格納される。２値化処理の詳細、及び第１フレームＲＡＭ１０３、第２フレームＲＡＭ１０４に格納される画像データの内容の詳細等に関しては後述する。
【００２７】
ＲＯＭ１０５には、本発明に係る画像処理装置を実現するために、制御部１００で実行されるべきプログラム等の情報が格納されている。操作部１０６としては、本実施の形態の検査システムの操作に用いる液晶パネル、スイッチ等が設置され、操作部１０６を介して入力された内容に対応した情報や、システムの動作状況等、種々の情報が表示部１０７に表示される。表示部１０７としては、液晶ディスプレイ等種々の表示装置を用いることができる。
【００２８】
図２は、本実施の形態における制御部１００の処理内容を示すフローチャートである。同図に示されるように、制御部１００は、まず、ＣＣＤカメラ２の駆動を指令し、ＣＣＤカメラインタフェース１０２を介して、検査対象物９０の画像データを取得する（Ｓ２０１）。取得された画像データは、第１フレームＲＡＭ１０３に記憶される。
【００２９】
次に、第１フレームＲＡＭ１０３上において、上述の如く、所定の範囲のウィンドウを設定し、当該ウィンドウの範囲内の画像データを２値化するための閾値（以下、「第１の閾値」という。）を決定する（Ｓ２０２）。ここで、閾値の自動的な決定方法としては、上述の大津の方法の他、モード法、ｐ−タイル法、微分ヒストグラム法等、種々の方法を用いることが可能である。
【００３０】
第１の閾値が決定されると、当該第１の閾値を用いて、第１フレームＲＡＭ１０３に記憶された所定の範囲内の画像データを２値化し、２値化された画像データを第２フレームＲＡＭ１０４に格納する（Ｓ２０３）。図３（ａ）に、第１の閾値を用いて２値化された画像データの内容の一例を示す。同図の例では、筐体９０の部分が白、穴９１の部分が黒となり、上述したように穴の位置や半径に関する情報を取得することが可能となっている。
【００３１】
制御部１００は、第２フレームＲＡＭ１０４に記憶された２値化された画像データから、第１の目標物が発見できたか否かを判定する（Ｓ２０４）。具体的には、穴９１の中心が所定の位置にあるか、半径は所定の範囲内にあるか等を判定し、検査を行う。
【００３２】
穴の形状が円であるか否かの判定には、真円度と呼ばれる数値を用いることができる。真円度とは、形状がどの程度円に近いかを数値化した値であり、具体的には、円の面積をＡ、周囲の長さをＰとすると、（４πＡ）／（Ｐ2）（％）で表される。
【００３３】
本実施の形態では、第１の目標物は、穴９１であるが、穴に限らず種々の物に適用することが可能である。目標物が発見できたか否かの判定は、その目標物に対応して、種々の方法を用いることができる。
【００３４】
制御部１００は、第１の目標物が発見できない場合（Ｓ２０４：Ｎｏ）には、エラーを出力し（Ｓ２０５）、処理を終了する。第１の目標物が発見された場合には（Ｓ２０４：Ｙｅｓ）、第２の目標物を認識すべく、第１の目標物の存在位置及び大きさ等に関する情報を取得する（Ｓ２０６）。これらの情報は、ステップＳ２０３で第１の目標物を識別する際に既に取得されているのが通常であるから、それらの中から、第２の目標物の識別に必要な情報を設定する。
【００３５】
上述の情報を設定すると、第１フレームＲＡＭ１０３に記憶されている２値化前の画像データにおいて、第１の目標物の存在範囲内であって、第１の目標物の大きさより少し小さい範囲の画像データを抽出し、ステップＳ２０２と同様の方法により、当該範囲内の画像データを２値化するための閾値（以下、「第２の閾値」という。）を求める（Ｓ２０７）。具体的には、図３（ａ）にて黒の画素で表される穴９１の範囲より少し小さい範囲に対応する２値化処理前の画像データを抽出し、抽出された画像データから第２の閾値を求める。なお、本実施の形態では、第１の目標物の存在範囲より少し小さい範囲に対応する画像データを抽出するようにしたが、２値化処理後の画像データにおいて目標物を表す黒画素に対応する範囲を全て抽出するようにしてもよい。
【００３６】
第２の閾値が求まると、当該第２の閾値を用いて、ステップＳ２０７にて抽出された２値化前の画像データの２値化を行い、第２フレームＲＡＭ１０４に格納する（Ｓ２０８）。図３（ｂ）に、本ステップでの２値化処理の結果の一例を示す。制御部１００は、本ステップにおいて第２フレームＲＡＭ１０４に記憶された２値化された画像データから、第１の目標物の範囲内に、第２の目標物が発見できたか否かを判定する（Ｓ２０９）。本実施の形態では、第２の目標物とは、穴９１の内部に存在するＬＥＤ９２を指す。ここでの目標物が発見できたか否かの判定は、ＬＥＤ９２の形状等を予め設定されている値と比較することなどにより行うことができる。
【００３７】
第２の目標物が発見できない場合（Ｓ２０９：Ｎｏ）には、ステップＳ２０５へと進み、エラーを出力して処理を終了する。第２の目標物が発見できた場合には（Ｓ２０９：Ｙｅｓ）、当該第２の目標物の存在位置、大きさ等に関する情報を取得する（Ｓ２１０）。ここでは、座標だけを取得してもよいし、大きさだけ取得するようにしてもよい。その後、制御部１００は、取得した情報を出力する（Ｓ２１１）。具体的には、取得した情報をロボットなどの外部機器に出力して、穴９１にキャップを挿入する処理などを必要に応じて行うように制御することができる。なお、ここで、制御部１００は、ステップＳ２１０で取得した情報を特に外部に出力せず、例えば、ＬＥＤ９２が所定の位置に設置されているか等の検査処理を行うようにすることもできる。
【００３８】
以上に説明したように、本発明の画像処理装置を用いることにより、複数の目標物を効率的に識別することが可能となる。なお、本実施の形態では、目標物が２つ（穴９１及びＬＥＤ９２）である場合について説明したが、目標物が３つ以上ある場合でも、例えば、図２のフローチャートにおけるステップＳ２０６からＳ２０８までの処理を繰り返すことにより容易に対応することができる。
【００３９】
また、本実施の形態では、大津の方法を用いた閾値の自動決定について説明したが、前述の如く閾値の自動決定法は種々考案されているので、当該決定の方法も目標物の特徴等に応じて変更すれば、より認識の精度を上げることも可能である。一方、システム全体の設置環境等によっては、閾値を固定値とすることで処理効率を上げるようにすることもできる。
【００４０】
また、本実施の形態では、毎回閾値の決定を行っているが、同一の目標物について一旦閾値が決定された際には、当該閾値を記憶しておき、以後の閾値決定処理を省略するようにしてもよい。
【００４１】
また、本実施の形態では、一度取得された画像データは第１フレームＲＡＭ１０３に記憶することにより、処理効率の向上を図っているが、目標物の形態によっては、目標物を発見しようとする際や、閾値を決定しようとする際などに、再度ＣＣＤカメラ等を駆動させて、画像データを取得しなおすようにすることも可能である。
【００４２】
さらに、２値化処理に際しては、状況に応じてルックアップテーブル（ＬＵＴ）等を利用し、処理を高速にすることもできる。また、２値化処理の後には、膨張、収縮処理などにより画像ノイズを取り除くようにしてもよい。
【００４３】
【発明の効果】
以上に説明したように、本発明の画像処理装置によれば、第１の閾値を用いて２値化処理した画像データから、第１の目標物が認識された場合に、当該第１の目標物が存在する範囲に対応する２値化処理前の画像データを、第２の閾値を用いて２値化処理するようにしているので、複数の目標物を含む画像データから、効率よく当該複数の目標物を識別することが可能になるという効果を奏する。
【００４４】
さらに、前記第２の閾値を用いて２値化された画像データから、第２の目標物が認識された場合に、さらに全ての目標物が認識されるまで２値化処理前の画像データの２値化処理を繰り返し実行する機能を有することにより、目標物が三つ以上あるような場合でも容易に対応することができるという効果を奏する。
【００４６】
また、認識された目標物に関する情報を出力する出力手段を有することにより、認識された目標物に対するその後の処理を円滑に行えるようにすることができるという効果がある。
【図面の簡単な説明】
【図１】本発明に係る画像処理装置の一適用例としての検査システムの構成の一例を示す図である。
【図２】本実施の形態における制御部の処理内容を示すフローチャートである。
【図３】２値化処理された画像データの内容の一例を示す図である。
【図４】従来の画像処理装置の処理内容について説明するための図である。
【図５】従来の画像処理装置の処理内容について説明するための図である。
【符号の説明】
１    画像処理装置
２    ＣＣＤカメラ
３    ストロボ
９１    穴
９２    ＬＥＤ
１００    制御部
１０１    ストロボ制御部
１０２    ＣＣＤカメラインタフェース
１０３    第１フレームＲＡＭ
１０４    第２フレームＲＡＭ
１０５    ＲＯＭ
１０６    操作部
１０７    表示部
１０９    インタフェースバス
【図１】
0003797586.tif 000003
【図２】
0003797586.tif 000004
【図３】
0003797586.tif 000005
【図４】
0003797586.tif 000006
【図５】
0003797586.tif 000007