(57)【特許請求の範囲】
【請求項１】
第１のカメラが対象物を撮影した画像に基づいて得られる正面視画像である第１の画像と、第１のカメラが撮影する方向とは異なる方向から対象物を撮影するように配置された第２のカメラが撮影した画像に基づく第２の画像とを用いた処理を行う画像処理装置であって、
第１のカメラが設定用の対象物を撮影した画像に基づいて得られた正面視画像であるところの設定用画像を用いて、ユーザに指定領域についての設定をさせる設定手段と、
第１のカメラが計測対象の対象物を撮影した画像に基づいて得られた正面視画像であるところの第１の画像に対し、前記設定に基づいて指定領域を定め、当該指定領域内において対象物上の位置を特定する位置特定手段と、
第１の画像において特定された前記位置に対応する、第２の画像における位置を特定し、特定された第１の画像上の位置と第２の画像上の位置とを用いて３次元座標を算出する３次元計測手段と、
を備えた画像処理装置。
【請求項２】
対象物を斜視する方向から撮影するように配置されている第１のカメラが撮影した斜視画像を正面視画像に変換する変換演算を行う変換手段をさらに備え、
前記設定用画像は、第１のカメラが設定用の対象物を斜視する方向から撮影した画像を前記変換手段が変換することにより得られたものであり、
第１の画像は、第１のカメラが計測対象の対象物を斜視する方向から撮影した画像を前記変換手段が変換することにより得られたものである、請求項１に記載の画像処理装置。
【請求項３】
前記変換手段により変換された正面視画像における寸法と計測対象箇所の実際の寸法とを関係付けるスケール情報と、スケール情報と整合する正面視高さであるスケール基準高さの値と、スケール基準高さを含むように定められた正面視高さの許容範囲の値とが利用可能とされており、
第１の画像を対象に、スケール情報を用いて２次元画像処理を行う２次元画像処理手段と、
前記３次元計測手段により算出された前記３次元座標が示す正面視高さが前記許容範囲に含まれているかどうかを判定する判定手段とをさらに備えた請求項２に記載の画像処理装置。
【請求項４】
前記３次元計測手段により算出された前記３次元座標が示す正面視高さを用いて、変換手段により変換された正面視画像における寸法と計測対象箇所の実際の寸法とを関係付けるスケール情報を算出するスケール情報算出手段と、
第１の画像を対象に、スケール情報を用いて２次元画像処理を行う２次元画像処理手段とをさらに備えた、請求項２に記載の画像処理装置。
【請求項５】
前記変換手段により変換された正面視画像における寸法と計測対象箇所の実際の寸法とを関係付けるスケール情報と、スケール情報と整合する正面視高さであるスケール基準高さの値とが利用可能とされており、
ユーザによる操作に基づきスケール基準高さおよびスケール情報を整合的に変更する調整手段をさらに備えた、請求項２に記載の画像処理装置。
【請求項６】
第１の画像に対してスケール基準高さにある平面上における実際の寸法を示すスケール図形を加えた表示用の画像を編集する画像編集手段をさらに備えた、請求項５に記載の画像処理装置。
【請求項７】
第１のカメラが対象物を斜視する方向から撮影した画像に基づいて得られる正面視画像である第１の画像と、第１のカメラが撮影する方向とは異なる方向から対象物を撮影するように配置された第２のカメラが撮影した画像に基づく第２の画像とを用いた処理を行う画像処理装置であって、
対象物を斜視する方向から撮影するように配置されている第１のカメラが撮影した斜視画像を正面視画像に変換する変換演算を行う変換手段と、
第１のカメラが設定用の対象物を撮影した画像を前記変換手段が変換することにより得られた設定用画像を用いて、ユーザに計測対象位置についての設定をさせる設定手段と、
第１のカメラが計測対象の対象物を撮影した画像を前記変換手段が変換することにより得られた第１の画像上において、前記設定に基づいて対象物上の位置を特定する位置特定手段と、
第１の画像において特定された前記位置に対応する、第２の画像における位置を特定し、特定された第１の画像上の位置と第２の画像上の位置とを用いて３次元座標を算出する３次元計測手段と、
を備えた画像処理装置。
【請求項８】
前記変換手段により変換された正面視画像における寸法と計測対象箇所の実際の寸法とを関係付けるスケール情報と、スケール情報と整合する正面視高さであるスケール基準高さの値と、スケール基準高さを含むように定められた正面視高さの許容範囲の値とが利用可能とされており、
第１の画像を対象に、スケール情報を用いて２次元画像処理を行う２次元画像処理手段と、
前記３次元計測手段により算出された前記３次元座標が示す正面視高さが前記許容範囲に含まれているかどうかを判定する判定手段とを、さらに備えた請求項７に記載の画像処理装置。
【請求項９】
前記３次元計測手段により算出された前記３次元座標が示す正面視高さを用いて、変換手段により変換された正面視画像における寸法と計測対象箇所の実際の寸法とを関係付けるスケール情報を算出するスケール情報算出手段と、
第１の画像を対象に、スケール情報を用いて２次元画像処理を行う２次元画像処理手段とをさらに備えた、請求項７に記載の画像処理装置。
【請求項１０】
前記変換手段により変換された正面視画像における寸法と計測対象箇所の実際の寸法とを関係付けるスケール情報と、スケール情報と整合する正面視高さであるスケール基準高さの値とが利用可能とされており、
ユーザによる操作に基づきスケール基準高さおよびスケール情報を整合的に変更する調整手段をさらに備えた、請求項７に記載の画像処理装置。
【請求項１１】
第１の画像に対してスケール基準高さにある平面上における実際の寸法を示すスケール図形を加えた表示用の画像を編集する画像編集手段をさらに備えた、請求項１０に記載の画像処理装置。
【請求項１２】
第１のカメラが対象物を撮影した画像に基づいて得られる正面視画像である第１の画像と、第１のカメラが撮影する方向とは異なる方向から対象物を撮影するように配置された第２のカメラが撮影した画像に基づく第２の画像とを用いた処理を行う画像処理方法であって、
第１のカメラが設定用の対象物を撮影した画像に基づいて得られた正面視画像であるところの設定用画像を表示し、ユーザに当該設定用画像を用いて指定領域についての設定をさせる設定ステップと、
第１のカメラが計測対象の対象物を撮影した画像に基づいて得られた正面視画像であるところの第１の画像に対し、前記設定に基づいて指定領域を定め、当該指定領域内において対象物上の位置を特定する位置特定ステップと、
第１の画像において特定された前記位置に対応する、第２の画像における位置を特定し、特定された第１の画像上の位置と第２の画像上の位置とを用いて３次元座標を算出する３次元計測ステップと、
を備えた画像処理方法。
【請求項１３】
対象物を斜視する方向から撮影するように配置されている第１のカメラが対象物を撮影した画像に基づいて得られる正面視画像である第１の画像と、第１のカメラが撮影する方向とは異なる方向から対象物を撮影するように配置された第２のカメラが撮影した画像に基づく第２の画像とを用いた処理を行う画像処理方法であって、
第１のカメラが撮影した斜視画像を正面視画像に変換する変換演算により、第１のカメラが設定用の対象物を撮影した画像を設定用画像に変換し、ユーザに当該設定用画像を用いて計測対象位置についての設定をさせる設定ステップと、
前記変換演算により、第１のカメラが計測対象の対象物を撮影した画像を第１の画像に変換し、第１の画像上において、前記設定に基づき対象物上の位置を特定する位置特定ステップと、
第１の画像において特定された前記位置に対応する、第２の画像における位置を特定し、特定された第１の画像上の位置と第２の画像上の位置とを用いて３次元座標を算出する３次元計測ステップと、
を備えた画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、対象物を互いに異なる方向から撮影するように配置された複数のカメラによってそれぞれ撮影された画像に基づいて３次元計測を行う装置に関する。
この明細書でいう「計測」には、検査を目的とする計測を含む。すなわち、一般に、検査の過程で何らかの計測が行われることを踏まえ、単に「計測」という場合には、最終的な出力がたとえば検査の合否だけであって計測値が出力されない場合を含むものとする。
【背景技術】
【０００２】
従来より、対象物の形状や表面パターンについて、２次元画像処理による計測を行う装置が、種々の製品の製造現場において広く用いられている。これら２次元の画像処理装置では、対象物を代表する面（たとえば対象物の底面）または対象物の計測対象面を対象に、その面に垂直な方向、すなわちその面を正面視する方向から撮影した画像に基づき、計測を行うようにしている。【０００３】
一方、複数のカメラを用いた立体視の原理に基づく三次元計測の手法が知られており、たとえば特許文献１には、そのような手法を用いたプリント回路基板の検査装置が記載されている。しかし、従来の３次元計測を行う装置は、対象物の種類や性質を限定し、たとえばプリント回路基板検査が目的であればそれに専用化された装置として構成されており、種々の製品の製造現場に適用することができる汎用性と、３次元計測の専門知識がなくても使いこなせる操作性とを備えた装置としては実現されていなかった。【０００４】
【特許文献１】日本国公表特許公報  ２００３−５２２３４７号
【０００５】
このような状況において、発明者らは、従来の２次元画像処理装置と同様に汎用性に富み、ユーザによる使いこなしが容易であるような、３次元計測機能を備えた画像処理装置を開発することにした。このような方針のもと、発明者らは、種々の形状の対象物を計測対象として、撮影された対象物が表れた画像上で３次元計測の対象箇所の特定をするための設定をユーザが容易にできるようにすることを、課題として設定した。
【発明の開示】
【０００６】
（１）上記の課題を解決するために、この明細書で提案する第１の画像処理装置は、第１のカメラが対象物を撮影した画像に基づいて得られる正面視画像である第１の画像と、第１のカメラが撮影する方向とは異なる方向から対象物を撮影するように配置された第２のカメラが撮影した画像に基づく第２の画像とを用いた処理を行うもので、第１のカメラが設定用の対象物を撮影した画像に基づいて得られた正面視画像であるところの設定用画像を用いて、ユーザに指定領域についての設定をさせる設定手段と、第１のカメラが計測対象の対象物を撮影した画像に基づいて得られた正面視画像であるところの第１の画像に対し、前記設定に基づいて指定領域を定め、当該指定領域内において対象物上の位置を特定する位置特定手段と、第１の画像において特定された前記位置に対応する、第２の画像における位置を特定し、特定された第１の画像上の位置と第２の画像上の位置とを用いて３次元座標を算出する３次元計測手段とを、備えている。
【０００７】
ここで、第１のカメラが対象物を正面視する方向から撮影するように配置されていて、第１のカメラが撮影した画像自体が正面視画像である場合には、第１のカメラが計測対象の対象物を撮影した画像をそのまま第１の画像として用いてもよいし、さらに、第１のカメラが撮影した画像に対して、たとえば位置ずれ修正のための画像の移動のような処理を施した画像を第１の画像として用いてもよい。第１のカメラが対象物を撮影した画像が斜視画像である場合には、少なくともその斜視画像を正面視画像に変換する処理を施した画像が第１の画像として用いられる。
【０００８】
このような画像処理装置によれば、ユーザは、対象物上の位置を特定するための指定領域の設定を正面視画像に対して行えばよいので、３次元計測の対象箇所を特定するための設定を容易に行うことができる。
【０００９】
（２）上記の画像処理装置には、さらに、対象物を斜視する方向から撮影するように配置されている第１のカメラが撮影した斜視画像を正面視画像に変換する変換演算を行う変換手段を備けてもよい。この場合の設定用画像は、第１のカメラが設定用の対象物を斜視する方向から撮影した画像を変換手段が変換することにより得られたものであり、第１の画像は、第１のカメラが計測対象の対象物を斜視する方向から撮影した画像を変換手段が変換することにより得られたものである。
【００１０】
上記の構成によれば、対象物に対して正面視の方向（たとえば対象物の鉛直上方）にカメラを設置しない場合や設置することができない場合でも、正面視画像に対する領域設定を行うことができる。
【００１１】
（３）さらに、上記の変換手段が設けられた画像処理装置の一実施態様では、変換された正面視画像における寸法と計測対象箇所の実際の寸法とを関係付けるスケール情報と、スケール情報と整合する正面視高さであるスケール基準高さの値と、スケール基準高さを含むように定められた正面視高さの許容範囲の値とが利用可能とされる。さらに、第１の画像を対象に、スケール情報を用いて２次元画像処理を行う２次元画像処理手段と、３次元計測手段により算出された前記３次元座標が示す正面視高さが前記許容範囲に含まれているかどうかを判定する判定手段とが、設けられる。
【００１２】
上記の態様によれば、算出された３次元座標が正面視高さの許容範囲になければ、２次元画像処理手段が利用するスケール情報が示すスケールと、第１の画像の実際のスケールとの間に、想定される程度よりも大きな差異があることがわかる。
【００１３】
（４）変換手段が設けられた画像処理装置の他の態様では、３次元計測手段により算出された前記３次元座標が示す正面視高さを用いて、変換手段により変換された正面視画像における寸法と計測対象箇所の実際の寸法とを関係付けるスケール情報を算出するスケール情報算出手段と、第１の画像を対象に、スケール情報を用いて２次元画像処理を行う２次元画像処理手段とが、さらに設けられる。
【００１４】
上記の態様によれば、正面視高さの実測値により算出されたスケール情報を用いて２次元画像処理を行うので、対象物についてのより正確な計測を行うことができる。
【００１５】
（５）変換手段が設けられた画像処理装置の他の態様では、変換された正面視画像における寸法と計測対象箇所の実際の寸法とを関係付けるスケール情報と、スケール情報と整合する正面視高さであるスケール基準高さの値とが利用可能とされており、ユーザによる操作に基づきスケール基準高さおよびスケール情報を整合的に変更する調整手段とが、さらに設けられる。
【００１６】
上記の態様によれば、ユーザによる操作に基づき、スケール基準高さが３次元計測の対象箇所の実際の正面視高さにほぼ一致するように調整されると、第２の画像上において計測対象箇所が現れる可能性のある範囲が小さくなる。したがって、そのような小さい範囲を対象として、第１の画像上で特定された位置に対応する位置を特定するようにすれば、第１の画像、第２の画像間での計測対象位置の対応付けを誤る可能性が低くなり、対応位置を特定する演算に要する時間も短くなる。
また、ユーザによる操作に基づきスケール情報が正しく調整されると、第１の画像に対して寸法や面積の計測を伴う種々の２次元画像処理を適用したときに、その結果に含まれる誤差が少なくなる。
【００１７】
（６）上記（５）の態様の画像処理装置には、第１の画像に対してスケール基準高さにある平面上における実際の寸法を示すスケール図形を加えた表示用の画像を編集する画像編集手段を設けてもよい。この場合、編集された画像が表示されると、ユーザは表示されたスケール図形と計測対象箇所の像との大きさの関係が正しくなるように調整操作を行うことができる。
【００１８】
（７）撮影された対象物が現れた画像上で３次元計測の対象箇所を特定するための設定をユーザが容易に実行できるようにする、という課題を解決する画像処理装置の第２の構成として、この明細書では、第１のカメラが対象物を斜視する方向から撮影した画像に基づいて得られる正面視画像である第１の画像と、第１のカメラが撮影する方向とは異なる方向から対象物を撮影するように配置された第２のカメラが撮影した画像に基づく第２の画像とを用いた処理を行う画像処理装置であって、対象物を斜視する方向から撮影するように配置されている第１のカメラが撮影した斜視画像を正面視画像に変換する変換演算を行う変換手段と、第１のカメラが設定用の対象物を撮影した画像を前記変換手段が変換することにより得られた設定用画像を用いて、ユーザに計測対象位置についての設定をさせる設定手段と、第１のカメラが計測対象の対象物を撮影した画像を前記変換手段が変換することにより得られた第１の画像上において、前記設定に基づいて対象物上の位置を特定する位置特定手段と、第１の画像において特定された前記位置に対応する、第２の画像における位置を特定し、特定された第１の画像上の位置と第２の画像上の位置とを用いて３次元座標を算出する３次元計測手段とを備えた画像処理装置を、提案する。
【００１９】
このような画像処理装置によれば、カメラが撮影する画像が斜視画像であるにもかかわらず、ユーザは、対象物上の位置を特定するための設定を正面視画像に対して行えばよいので、３次元計測の対象箇所を特定するための設定を容易に行うことができる。さらに、対象物に対して正面視の方向にカメラを設置しない場合や設置することができない場合でも、設定を容易に行うことができる。
【００２０】
（８）上記第２の構成の画像処理装置にかかる一態様では、変換手段により変換された正面視画像における寸法と計測対象箇所の実際の寸法とを関係付けるスケール情報と、スケール情報と整合する正面視高さであるスケール基準高さの値と、スケール基準高さを含むように定められた正面視高さの許容範囲の値とが利用可能とされており、第１の画像を対象に、スケール情報を用いて２次元画像処理を行う２次元画像処理手段と、３次元計測手段により算出された前記３次元座標が示す正面視高さが前記許容範囲に含まれているかどうかを判定する判定手段とが、さらに設けられる。
【００２１】
上記の態様によれば、算出された３次元座標が正面視高さの許容範囲になければ、２次元画像処理手段が利用するスケール情報が示すスケールと、第１の画像の実際のスケールとの間に、想定される程度よりも大きな差異があることがわかる。
【００２２】
（９）第２の構成の画像処理装置の他の態様では、３次元計測手段により算出された３次元座標が示す正面視高さを用いて、変換手段により変換された正面視画像における寸法と計測対象箇所の実際の寸法とを関係付けるスケール情報を算出するスケール情報算出手段と、第１の画像を対象に、スケール情報を用いて２次元画像処理を行う２次元画像処理手段とが、さらに設けられる。
【００２３】
上記の態様によれば、正面視高さの実測値により算出されたスケール情報を用いて２次元画像処理を行うので、対象物についてのより正確な計測を行うことができる。
【００２４】
（１０）第２の構成の画像処理装置の他の態様では、変換手段により変換された正面視画像における寸法と計測対象箇所の実際の寸法とを関係付けるスケール情報と、スケール情報と整合する正面視高さであるスケール基準高さの値とが利用可能とされており、ユーザによる操作に基づきスケール基準高さおよびスケール情報を整合的に変更する調整手段が、さらに設けられる。
【００２５】
上記の態様においては、ユーザによる操作に基づき、スケール基準高さが３次元計測の対象箇所の実際の正面視高さにほぼ一致するように調整されると、第２の画像上において計測対象箇所が現れる可能性のある範囲が小さくなる。したがって、そのような小さい範囲を対象として、第１の画像上で特定された位置に対応する位置を特定するようにすれば、第１の画像、第２の画像間での計測対象位置の対応付けを誤る可能性が低くなり、対応位置を特定する演算に要する時間も短くなる。
また、ユーザによる操作に基づきスケール情報が正しく調整されると、第１の画像に対して寸法や面積の計測を伴う種々の２次元画像処理を適用したときに、その結果に含まれる誤差が少なくなる。
【００２６】
（１１）上記（１０）の態様の画像処理装置には、第１の画像に対してスケール基準高さにある平面上における実際の寸法を示すスケール図形を加えた表示用の画像を編集する画像編集手段を、さらに設けてもよい。このようにすれば、編集された画像が表示されると、ユーザは表示されたスケール図形と計測対象箇所の像との大きさの関係が正しくなるように調整操作を行うことができる。
【００２７】
（１２）この明細書で提案する第１の画像処理方法は、第１のカメラが対象物を撮影した画像に基づいて得られる正面視画像である第１の画像と、第１のカメラが撮影する方向とは異なる方向から対象物を撮影するように配置された第２のカメラが撮影した画像に基づく第２の画像とを用いた処理を行うものであって、第１のカメラが設定用の対象物を撮影した画像に基づいて得られた正面視画像であるところの設定用画像を表示し、ユーザに当該設定用画像を用いて指定領域についての設定をさせる設定ステップと、第１のカメラが計測対象の対象物を撮影した画像に基づいて得られた正面視画像であるところの第１の画像に対し、前記設定に基づいて指定領域を定め、当該指定領域内において対象物上の位置を特定する位置特定ステップと、第１の画像において特定された前記位置に対応する、第２の画像における位置を特定し、特定された第１の画像上の位置と第２の画像上の位置とを用いて３次元座標を算出する３次元計測ステップとを備えている。
【００２８】
（１３）この明細書で提案する第２の画像処理方法は、対象物を斜視する方向から撮影するように配置されている第１のカメラが対象物を撮影した画像に基づいて得られる正面視画像である第１の画像と、第１のカメラが撮影する方向とは異なる方向から対象物を撮影するように配置された第２のカメラが撮影した画像に基づく第２の画像とを用いた処理を行うもので、第１のカメラが撮影した斜視画像を正面視画像に変換する変換演算により、第１のカメラが設定用の対象物を撮影した画像を設定用画像に変換し、ユーザに当該設定用画像を用いて計測対象位置についての設定をさせる設定ステップと、前記変換演算により、第１のカメラが計測対象の対象物を撮影した画像を第１の画像に変換し、第１の画像上において、前記設定に基づき対象物上の位置を特定する位置特定ステップと、第１の画像において特定された前記位置に対応する、第２の画像における位置を特定し、特定された第１の画像上の位置と第２の画像上の位置とを用いて３次元座標を算出する３次元計測ステップとを備えている。
【００２９】
上記第１，第２の画像処理方法によれば、ユーザは、撮影された対象物が表れた画像上で３次元計測の対象箇所を特定するための設定を容易に行うことができる。
【図面の簡単な説明】
【００３０】
【図１】この発明が適用された検査装置の撮像部の構成を設置例ともに示す斜視図である。
【図２】各カメラで撮像された画像の例を示す説明図である。
【図３】検査装置のブロック図である。
【図４】ＩＣの検査にかかる手順を示すフローチャートである。
【図５】検出領域の設定例を示す説明図である。
【図６】ティーチング処理の手順を示すフローチャートである。
【図７】位置決め領域の設定例を示す説明図である。
【図８】リード検査の詳細な手順を示すフローチャートである。
【図９】検査時の正面視画像中のワークに対する位置決め領域および検出領域の関係を示す説明図である。
【図１０】各画像間の対応点の関係を示す説明図である。
【図１１】サーチ領域の設定方法を示す説明図である。
【図１２】高さの範囲とサーチ領域との関係を示す説明図である。
【図１３】ワーク上の検査対象部位に対するモデル登録例を示す説明図である。
【図１４】文字キーの検査にかかる手順を示すフローチャートである、
【図１５】検査時の画像に対し、検査対象の領域およびサーチ領域を設定した例を示す説明図である。
【図１６】円形の表示領域を有するワークにかかる正面視画像および斜視画像を示す説明図である。
【図１７】良品ワークに対する表示領域および計測対象領域の指定結果を示す説明図である。
【図１８】図１６のワークの高さ検査を行う場合の手順を示すフローチャートである。
【図１９】計測対象領域およびサーチ領域がワークの位置変化に追随する例を示す説明図である。
【図２０】正面視用の仮想のカメラを設定する例を示した説明図である。
【図２１】斜視画像を正面視画像に変換するための方法を示す説明図である。
【図２２】検査に先立って行われる設定の手順を示すフローチャートである。
【図２３】正面視画像への変換処理を伴う検査の手順の一例を示すフローチャートである。
【図２４】正面視画像への変換処理を伴う検査の手順の一例を示すフローチャートである。
【図２５】正面視画像への変換処理を伴う検査の手順の一例を示すフローチャートである。
【図２６】スケール基準高さおよびスケール情報の変更を含む設定の手順を示すフローチャートである。
【図２７】斜視カメラによるワークの撮影状況を示す説明図である。
【図２８】モニタに表示されるウインドウの内容を示す説明図である。
【図２９】スケール基準高さの変更に伴う編集画像の表示内容の変化を示す説明図である。
【発明を実施するための最良の形態】
【００３１】
図１は、この発明が適用された検査装置（画像処理装置）の撮像部の構成を、その設置例とともに示す。
この検査装置は、３次元および２次元の双方の計測処理機能を有するもので、工場の検査ラインＬを搬送される検査対象物Ｗ（以下、「ワークＷ」という。）を、撮像部１により順に撮像して、種々の検査目的に応じた計測処理や判別処理を実行する。
撮像部１は、筐体１５内に２台のカメラＣ０，Ｃ１を組み込んだ構成のもので、検査ラインＬの上方に設置される。一方のカメラＣ０は、その光軸を鉛直方向に向けた状態（ワークＷに対して正面視の状態）で設置される。他方のカメラＣ１は、カメラＣ０と視野が重なるようにして、光軸を傾斜させた状態で設置される。カメラＣ０およびカメラＣ１の視野の範囲を規定する撮像面は矩形であり、カメラＣ１はカメラＣ０に対して、カメラＣ０の視野の範囲の横方向（図２の画像Ａ０のｘ軸方向に対応する。）に沿って並ぶように配置されている。【００３２】
図２は、各カメラＣ０，Ｃ１により生成されたワークＷの画像の例を示す。図中のＡ０がカメラＣ０からの画像であり、Ａ１がカメラＣ１からの画像である。この図２および後記する図５等のワークＷの画像を例示する図では、各画像Ａ０，Ａ１中のワークについても、図１と同様にＷを用いて示す。また、画像Ａ０の横方向（水平方向）をｘ軸方向、縦方向（垂直方向）をｙ軸方向とする。【００３３】
カメラＣ０は光軸を鉛直方向に向けて設置されているので、画像Ａ０は、ワークＷの上面を正面から見た状態を示すものとなる。これに対し、カメラＣ１は光軸を斜めに向けて設置されているので、画像Ａ１には、斜めから見た状態のワークＷが現れる。以下では、カメラＣ０からの画像Ａ０を「正面視画像Ａ０」といい、カメラＣ１からの画像Ａ１を「斜視画像Ａ１」という。正面視画像Ａ０は「第１の画像」、斜視画像Ａ１は「第２の画像」に相当する。この検査装置では、まず画像の歪みが小さい（ワークＷの平面図に近い）正面視画像Ａ０を用いて計測対象位置を特定し、つぎに斜視画像Ａ１上で、正面視画像Ａ０上の計測対象位置に対応する位置を特定するようにしている。【００３４】
図３は、検査装置の全体構成を示すブロック図である。この検査装置は、撮像部１のほか、本体部２、モニタ３、コンソール４などにより構成される。本体部２には、各カメラＣ０，Ｃ１に対する画像入力部１０，１１、カメラ駆動部１２、演算処理部２０、出力部２８などが設けられる。【００３５】
カメラ駆動部１２は、図示しないワーク検出用のセンサからの検知信号を受けて各カメラＣ０，Ｃ１を同時に駆動する。各カメラＣ０，Ｃ１により生成された画像信号は、それぞれの画像入力部１０，１１に入力され、ディジタル変換される。これにより、カメラ毎に計測処理用のディジタル画像（正面視画像Ａ０および斜視画像Ａ１）が生成される。【００３６】
演算処理部２０は、コンピュータにより構成されるもので、カメラＣ０，Ｃ１の画像を用いた計測処理を実行した後、その処理結果からワークＷの適否を判定する。出力部２８は、計測処理や判定処理の結果を、ＰＬＣなどの外部機器に出力するための出力用インターフェースである。【００３７】
演算処理部２０には、画像Ａ０，Ａ１を格納するための画像メモリ２１のほか、画像処理部２２、計測処理部２３、判定部２４、表示制御部２５、パラメータ算出部２６、パラメータ記憶部２７などが設けられる。画像メモリ２１およびパラメータ記憶部２７以外の各部は、専用のプログラムにより演算処理部２０としてのコンピュータに設定された機能である。画像メモリ２１やパラメータ記憶部２７は、このコンピュータのメモリ（ＲＡＭなど）に設定される。
図３には示していないが、演算処理部２０には、検査に必要な情報（検査領域の設定条件やモデルの画像など）を登録するためのメモリも設けられる。この登録用メモリへの登録処理や、演算処理部２０の各処理部が実行する処理の設定または変更は、適宜、コンソール４の操作に応じて行うことができる。【００３８】
画像処理部２２は、２値化、エッジ抽出、パターンマッチングなどにより、ワークＷの検査対象部位を特定する。計測処理部２３は、画像処理部２２により特定された検査対象部位につき、位置や大きさなどを計測する処理を実行する。画像処理部２２および計測処理部２３は、２次元計測および３次元計測の処理を実行することができる。【００３９】
判定部２４は、計測処理部２３の計測結果を所定のしきい値と比較するなどして、ワークＷの良否を判定する。この計測結果や判定結果は出力部２８および表示制御部２５に出力される。
表示制御部２５は、モニタ３の表示動作を制御するためのもので、画像入力部１０，１１で生成された正面視画像Ａ０，斜視画像Ａ１を一画面内に並列表示させることができる。さらに、適宜、画像処理部２２、計測処理部２３、判定部２４の処理結果を受け取って、画像とともに表示させることができる。【００４０】
パラメータ記憶部２７には、３次元計測のための演算に用いる各種係数が保存される。これらの係数の値は、各カメラＣ０，Ｃ１により構成されるステレオ座標系と実際の空間における位置を表す空間座標系との関係（各座標系の原点間の距離、空間座標系に対するステレオ座標系の回転ずれ量など）に応じて変動する（以下、これらの係数を「パラメータ」という。）。これらのパラメータは、検査に先立ち、画像処理部２２およびパラメータ算出部２６により算出され、パラメータ記憶部２７に格納される。このパラメータを算出する処理では、複数の特徴点を有するキャリブレーション用ワークが使用される。
さらに、パラメータ記憶部２７には、後記する演算式（１）のホモグラフィ行列を構成するパラメータも登録される。【００４１】
この検査装置は、ユーザーに複数種の検査メニューを提示して選択操作を受け付けることにより、検査のアルゴリズムを組み立てることが可能である。また、検査対象の部位に応じて、２次元の計測処理による検査と３次元の計測処理による検査とを、選択して実行することができる。２次元の計測処理による検査では、カメラＣ０からの正面視画像Ａ０を対象として、パターンマッチング処理、２値化処理、エッジ抽出処理などを実行し、ワーク全体またはワーク中の検査対象部位を特定する。【００４２】
さらに、この検査装置は、３次元の計測処理による検査にも、カメラＣ０からの正面視画像Ａ０を有効活用することにより、３次元計測処理を高速化している。この点については、後で詳細に説明する。【００４３】
図４は、ワークＷがＩＣである場合に実施される検査の手順を示すものである。この手順は、ワーク検出用のセンサからの検知信号を受けて開始される。最初のＳＴ１（ＳＴは「ステップ」の略である。以下も同じ。）では、カメラ駆動部１２により、カメラＣ０，Ｃ１を同時に駆動して、正面視画像Ａ０，斜視画像Ａ１を生成する。【００４４】
つぎのＳＴ２では、ＩＣのパッケージ部分に印刷された文字を対象とした検査を実行する。この検査では、正面視画像Ａ０のみを用いた２次元の画像処理を実行する。たとえば、パターンマッチング処理により文字の印刷領域を抽出し、そのマッチング時の相関度やマッチング位置から文字の印刷状態の適否を判別する。【００４５】
つぎのＳＴ３では、正面視画像Ａ０において各リードの先端位置の座標がエッジ検出の手法により求められ、次いで、斜視画像Ａ１において対応する各リードの先端位置の座標がエッジ検出の手法により求められる。そして、両画像における各リードの先端位置の座標から、各リードの先端の３次元座標を求め、その算出値から各リードに浮きや曲がりなどの異常がないかどうかを判別する。【００４６】
ＳＴ２，３の検査が終了すると、ＳＴ４では、各検査の結果を外部機器やモニタ３に出力する。さらに、ワーク検出用のセンサによりつぎのＩＣが検出されると、ＳＴ１に戻り、上記と同様の手順を実行する。【００４７】
このように、２台のカメラＣ０，Ｃ１によりそれぞれワークＷを１回撮像することにより、２次元計測による検査と３次元計測による検査とを連続で実行することができる。２次元の計測処理では正面視画像Ａ０を使用するから、文字の歪みのない画像を用いて精度の良い計測処理を行うことが可能になる。【００４８】
３次元計測処理を行う際には、正面視画像Ａ０と斜視画像Ａ１との間で対応する計測対象の点を特定し、特定された各点の座標を三角測量の原理に基づく演算式にあてはめることにより、３次元座標を算出する。【００４９】
図５は、正面視画像Ａ０における検出領域（ユーザによって設定される指定領域）および斜視画像Ａ１における検出領域の設定例を示す。画像の縦方向（正面視画像Ａ０ではリードの配列に沿う方向となる。）をｙ方向とし、横方向（正面視画像Ａ０ではリードの長さに沿う方向となる。）をｘ方向とする。正面視画像Ａ０には、リード６毎に個別の検出領域７が設定され、検出領域７毎に、リードの先端に該当するエッジ点が１点特定される。【００５０】
すなわち、ここではカメラＣ０、Ｃ１がｘ方向に並んでいるので、視差は主にｘ方向に発生する。そこで、検出領域７内の画像を２値化し、得られた２値画像をｙ方向に沿って投影することによって、ｘ方向を横軸、投影された「明」画素数または「暗」画素数を縦軸とするヒストグラムを作る。そして、ヒストグラムの値が急変する箇所のｘ座標をリード６の先端のｘ座標とする。一方、リード６の先端のｙ座標については、検出領域７のｙ方向の中点のｙ座標をあてる。このようにして求めたｘ座標およびｙ座標で示される点をエッジ点とよぶ。【００５１】
ここでは検出領域７内の画像を２値化したが、これに限らず、検出領域７内の画像を濃淡画像のまま各画素の濃度をｙ方向に積分し、そのようにして得られた積分濃度分布の値がｘ方向に沿って急変する箇所（たとえばしきい値を横切る箇所）のｘ座標を求めるようにしてもよい。【００５２】
このように、エッジの位置は特定の一方向に沿って検出される。図５の例では、ｘ方向がエッジの検出方向である。ここでは、正面視画像Ａ０に検出領域７を設定した後に、その検出領域７に対してエッジの検出方向を指定するようにしている。しかし、これに限らず、もともと固有のエッジの検出方向を備える検出領域７を設定するようにしてもよいし、先に検出領域７のエッジ検出方向を指定し、その後、正面視画像Ａ０に検出領域７を設定するようにしてもよい。【００５３】
斜視画像Ａ１でも、リード６毎に検出領域８が設定される。これらの検出領域８は一方の画像上の一点を他方の画像上の一点に変換するための演算式（後記する（１）式）に基づき、正面視画像Ａ０の各検出領域７で特定されたエッジ点の座標およびユーザーにより指定された高さ範囲（３次元計測の対象箇所の高さの取り得る範囲）を用いて設定される。ここでいう高さは、ワークＷの載置面を基準とした鉛直方向、すなわち正面視方向における高さであり、正面視高さともいう。高さの基準は、ワークＷの載置面に限らず、カメラＣ０の位置や、その他任意の位置に取ることが可能である。ユーザにより指定される高さ範囲は、カメラＣ０の光軸に沿った３次元計測の対象範囲である。【００５４】
図５では、ワークＷの右側のリードに対する領域設定のみを示しているが、左側のリードに対しても同様の設定が行われる（以下の図でも同様である。）。【００５５】
図６は、ＩＣのリード検査のためのティーチング処理（設定処理）の手順を示す。この手順は、図４のＩＣ検査を始める前に実行される。
この手順の最初のステップであるＳＴ１１では、検査対象のワークＷ（この例ではＩＣ）について、リード６の長さやリード６間のピッチなどを入力する。ここで入力されたデータは、作業用のメモリに登録され、後記するＳＴ１５で使用される。【００５６】
つぎのＳＴ１２では、撮像対象位置に設定用の対象物として良品のワークを設置して、これをカメラＣ０，Ｃ１により撮像する。なお、ティーチング処理では、カメラＣ０からの正面視画像Ａ０が生成されれば足りるが、ここでは、ティーチング処理時にも各カメラＣ０，Ｃ１を同時駆動し、生成された２枚の画像をモニタ３に並べて表示するようにしている。【００５７】
つぎのＳＴ１３では、設定用画像としての正面視画像Ａ０を用いて位置決め領域の指定操作を受け付ける。図７はこの指定操作時の正面視画像Ａ０の表示例を示すもので、図中の９が位置決め領域である。
この位置決め領域９は、一列に並んだリード６のうちの一番端のリード（図示例では最上端のリード６ａである。以下、これを「先頭リード６ａ」という。）を抽出するのに用いられる。図７の例では、先頭リード６ａのみが含まれるような正方形状の領域９を設定している。位置決め領域９は、ワークＷが想定される程度に位置ずれしても、位置決め領域９の中に先頭リード６ａを撮像することができるように、その大きさが調整される。また、位置決め領域９は、その下半分の範囲に先頭リード６ａが撮像されるように設定される。これにより、位置決め領域９の上半分の範囲にはリードが撮像されていないことをもって、位置決め領域９の下半分の範囲に撮像されているのが先頭リード６ａであると確認できる。【００５８】
図６に戻って、位置決め領域９が指定されると、つぎのＳＴ１４では、この位置決め領域９から先頭リード６ａを抽出する。この抽出処理では、たとえば、位置決め領域９内の画像を２値化し、２値化後の画像をｙ軸方向およびｘ軸方向に沿って投影する方法により、先頭リード６ａの先端のｘ座標およびｙ座標を求める。または、位置決め領域９内のエッジやその濃度勾配方向を抽出することにより、リード６ａの輪郭線を抽出し、さらにリード６ａの先端のｘ座標およびｙ座標を求めるようにしてもよい。【００５９】
ＳＴ１５では、先頭リード６ａの先端のｘ座標、ｙ座標およびＳＴ１１で入力されたデータに基づき、各リード６に検出領域７を設定する。具体的には、ＳＴ１１で入力されたデータ、カメラＣ０のピクセル数、倍率などを用いて、画像上におけるリード６の長さやリード６間のピッチを算出し、その算出値に基づき、各検出領域７の大きさや領域間の間隔を決定する。このようにして、先頭リード６ａの位置を基準に、このリード６ａを含む各リード６に対し検出領域７を設定するために必要なデータ、すなわち設定条件を作成する。【００６０】
このような方法をとることができるのは、ワークＷの検査対象部位の特性（各リードの長さが等しい、リード間のピッチが等しいなど）がそのまま反映された正面視画像Ａ０を使用するからである。したがって、ユーザにより設定された位置決め領域９において先端リード６ａが抽出できれば、他のリード６を抽出しなくとも、全てのリード６に検出領域７を設定することが可能になり、処理効率を大幅に向上することができる。【００６１】
ＳＴ１６では、ＳＴ１３で指定された位置決め領域９の設定条件（領域の位置および大きさ）と、ＳＴ１５で設定された検出領域７の設定条件を登録用メモリに登録する。さらに、ＳＴ１７では、位置決め領域９内の画像をモデルとして登録用メモリに登録する。これにより一連のティーチング処理は終了となる。【００６２】
ＳＴ１１からＳＴ１７までの一連の処理は、第１のカメラが設定用の対象物を撮影した画像に基づいて得られた正面視画像であるところの設定用画像を用いて、ユーザに指定領域についての設定をさせること（より一般的にいうと、ユーザに計測対象位置についての設定をさせること）に相当する。また、ティーチング処理用のプログラムが動作する演算処理部２０が、この一連の処理を実行する設定手段として働く。【００６３】
なお、ＳＴ１６を実行する前には、作成された設定条件によって設定される検出領域７を正面視画像Ａ０に重ねて示す画像をモニタ３に表示し、ユーザーの確認操作に応じて登録を行うのが望ましい。また、この際に、検出領域７の位置や大きさを微調整できるようにしてもよい。【００６４】
図８は、ＩＣのリード検査（図４のＳＴ３）にかかる詳細な手順を示す。
この手順のＳＴ２１からＳＴ２４までの処理は、計測対象の対象物を撮影した画像である正面視画像Ａ０に対して行われるものである。まず、ＳＴ２１では、ティーチングで登録された設定条件に基づき、正面視画像Ａ０に位置決め領域９を設定する。つぎのＳＴ２２では、この位置決め領域９内の画像とティーチング処理のＳＴ１７において登録したモデルとを照合して、モデルに対するずれ量を抽出する（この処理には、たとえばパターンマッチングの手法を応用することができる。）。【００６５】
ＳＴ２３では、ティーチング時に登録した検出領域７の設定条件をＳＴ２２で抽出されたずれ量に基づき調整し、その調整後の設定条件により指定領域として各リードの検出領域７を設定する。正面視画像Ａ０によれば、画像上のワークＷの歪みを考慮しなくてよいから、位置決め領域９のずれ量をそのまま各検出領域７に適用することができ、各リード６に対し、ティーチング処理時と同様の位置関係をもって検出領域７を設定することが可能になる。【００６６】
図９は、検査時の正面視画像Ａ０の一例を示す。この例でのワークＷは、図７に示したティーチング時の画像Ａ０より右側にずれているため、リード６の先端が位置決め領域９からはみ出した状態になっている。しかし、検出領域７については、上記した調整処理が行われるため、いずれのリード６にも図４に示したのと同様の条件で検出領域７が設定されている。
この例では、位置ずれしたワークＷに合わせて検出領域７の画像内での位置（画像の枠に対する位置）を調整したが、これに代えて、ワークＷに位置ずれがあってもワークＷが常に画像の枠に対して一定の位置関係になるように画像の内容全体を移動させ、検出領域７は常に画像の枠に対して一定の位置に設定するようにしてもよい。【００６７】
このようにしてリード毎に検出領域７が設定されると、つぎのＳＴ２４では、各検出領域７毎に、リードの先端のｘ，ｙ座標を取得する。
ＳＴ２１からＳＴ２４までの一連の処理は、第１のカメラが計測対象の対象物を撮影した画像に基づいて得られた正面視画像であるところの第１の画像に対し、設定に基づいて指定領域を定め、当該指定領域内において対象物上の位置を特定すること（より一般的にいうと、設定に基づいて対象物上の位置を特定すること）に相当する。また、リード検査処理のための手順を実行するように組み合わせられたプログラムが動作する演算処理部２０が、この一連の処理を実行する位置特定手段として働く。【００６８】
つぎのＳＴ２５では、斜視画像Ａ１上に、各リードの先端位置を検出するための検出領域８を設定する。さらにＳＴ２６では、設定された検出領域８においてＳＴ２４と同様の処理を実行し、リードの先端のｘ，ｙ座標を算出する。この、検出領域８を設定し、ｘ，ｙ座標を算出する処理は、第１の画像において特定された位置に対応する、第２の画像における位置を特定することに相当する。【００６９】
この後、ＳＴ２７では、各先端につき、それぞれＳＴ２４，２６で算出された座標を用いて３次元座標を算出する。この処理は、特定された第１の画像上の位置と第２の画像上の位置とを用いて３次元座標を算出することに相当する。第２の画像における位置を特定し、３次元座標を算出するための手順を実行するように組み合わせられたプログラムが動作する演算処理部２０が、この一連の処理を実行する３次元計測手段として働く。
さらに、ＳＴ２８では、算出された３次元座標をあらかじめ登録された基準値と比較するなどして、各リード先端部の良否を判別する。たとえば、いずれかのリードの先端部に浮きがあれば、その先端部の高さを表すＺ座標が基準値を超える値となり、そのリードは不良であると判定されることになる。【００７０】
つぎに、ＳＴ２５での検出領域８の設定について、詳細に説明する。
図１０は、空間内の任意の高さ位置にある平面Ｄ上の一点ＰがカメラＣ０，Ｃ１の撮像面Ｆ０，Ｆ１上の点ｐ０，ｐ１にそれぞれ結像した状態を示している。図１０において、Ｘ，Ｙ，Ｚは３次元空間を表す座標軸であり、平面Ｄは、ＸＹ平面に平行である。また撮像面Ｆ０には、ｘ０，ｙ０の軸による２次元座標系が、撮像面Ｆ１には、ｘ１，ｙ１の軸による２次元座標系が、それぞれ設定されている。図１０では、たまたま、両撮像面の原点に結像される平面Ｄ上の点がＰとされているが、これに限らず、点Ｐの位置は平面Ｄ上で任意である。【００７１】
撮像面Ｆ０における点Ｐの結像位置（点ｐ０）の座標を（ｘｃａｍ０，ｙｃａｍ０）、撮像面Ｆ１における点Ｐの結像位置（点ｐ１）の座標を（ｘｃａｍ１，ｙｃａｍ１）とすると、点ｐ０，ｐ１間の関係は、つぎの（１）式のようになる。【００７２】
【数１】
0004811272.tif 000002
【００７３】
なお、（１）式において、ＨＺは、高さＺの平面Ｄ上の点について、撮像面Ｆ０上の結像位置と撮像面Ｆ１上の結像位置との関係を表す３×３のホモグラフィ行列であり、λは定数である。行列ＨＺは、あらかじめ平面Ｄ上の既知の座標を用いたキャリブレーションにより求めることができる（キャリブレーションの詳細については、下記の非特許文献１を参照されたい。）。【００７４】
【非特許文献１】見市  伸裕，和田  俊和，松山  隆司  「プロジェクタ・カメラシステムのキャリブレーションに関する研究（Calibration of Projector-Camera System）」、［平成１７年６月１日検索］、インターネット＜ＵＲＬ：http://vision.kuee.Kyoto-u.ac.jp/Research/Thesis/Thesis_PDF/Miichi_2002_P_147.pdf＞
【００７５】
よって、正面視画像Ａ０の各検出領域７で抽出されたリードのエッジ点を点ｐ０と考えて、その座標を（１）式の（ｘｃａｍ０，ｙｃａｍ０）に代入した場合、算出された（ｘｃａｍ１，ｙｃａｍ１）は、斜視画像Ａ１におけるリード先端の位置に相当すると考えることができる。しかし、リード先端の高さが変動すると考えると、平面Ｄの高さＺもそれに応じて変動し、それに応じてホモグラフィー行列ＨＺが変化し、（ｘｃａｍ１，ｙｃａｍ１）の値も変化することになる。【００７６】
ＳＴ２５では、この原理に基づき、想定される高さ範囲（カメラＣ０の光軸に沿った３次元計測の対象範囲）の上限値を平面Ｄの高さＺとしたときと、下限値を高さＺとしたときとについて、それぞれその高さＺに応じたホモグラフィー行列ＨＺを用いて（１）式を実行することにより、（ｘｃａｍ１，ｙｃａｍ１）として図１１に示す２点ｅ，ｆの座標を得る。そして、斜視画像Ａ１において、図１１に示すように、線分ｅｆを正面視画像Ａ０側の検出領域７の半値幅ｋだけ線分ｅｆと垂直方向の各側に平行移動させた線分ｇｈおよび線分ｇ’ｈ’を設定し、これら４点を結ぶ矩形領域ｇｈｈ’ｇ’を検出領域８とする。【００７７】
図１２は、図５と同様の斜視画像Ａ１について、リード６の取り得る高さ範囲を０〜５mmとした場合と、高さ範囲を−１５〜１５mmとした場合とでの検出領域８の大きさを対比させて示したものである。この例から明らかなように、検出領域８は、高さ範囲の変動幅が小さいほど小さくなる。図１２では簡略化して各検出領域８を互いに平行に描いているが、実際には、斜視画像Ａ１には遠近法の効果によって矩形の対象物が台形に撮像されるような歪みが生じるため、各検出領域８は、それらの中心線（線分ｅｆ）同士の間隔が図の右方ほど大きくなるような非平行の配置となる。各検出領域８において、エッジ先端位置を求めるための２値化画像の投影は、検出領域８の中心線と垂直な方向に行う。【００７８】
上記の検査装置では、基準画像Ａ０においてリードの先端位置を特定するために、各リード６に対応する検出領域７を設定したが、これに代えて、各リードの先端を含むようにｙ軸方向に長い１つの検出領域を設定し、この領域内で各リードの先端位置を個別に求めるようにしてもよい。【００７９】
つぎに、押釦式の文字キーが配設されたワーク（リモコン、電話機など）を検査対象として、各キーの高さを検査する場合について、説明する。この検査では、検査の準備段階でモデル画像を登録し、正面視画像Ａ０および斜視画像Ａ１においてこのモデル画像と一致する領域を探索する手法が用いられる。【００８０】
検査の準備段階では、図１３に示すように、設定用の対象物である良品のワークＷを撮像して得られた正面視画像Ａ０を用いて、各キー６０毎に、そのキー６０に描かれた文字を含む領域７０を指定し、その領域７０内の画像をモデルとして登録しておく。この処理は、第１のカメラが設定用の対象物を撮影した画像に基づいて得られた正面視画像であるところの設定用画像を用いて、ユーザに計測対象位置についての設定をさせることに相当する。すなわち、ここではモデル画像を登録しているだけで、計測対象位置を直接指定しているわけではないが、検査時にはモデル画像に一致する領域が計測対象領域とされるので、モデル画像を登録することにより間接的に計測対象位置についての設定をしていることになる。図示は省略するが、検査時のワークＷの想定される位置ずれ量を考慮して、検査時にモデル画像と一致する領域を探索すべき領域を指定させるようにしてもよい。この探索すべき領域は指定領域に相当する。【００８１】
図１４は、検査の手順を示す。まずＳＴ３１において、各カメラＣ０，Ｃ１を同時駆動して画像を生成する。つぎのＳＴ３２では、正面視画像Ａ０について、検査前に登録されたモデルを用いたパターンマッチング処理を実行し、モデルと最もよく一致する領域を特定して計測対象領域とする。計測対象領域の探索は、指定領域が設定されている場合には指定領域内においてのみ行う。計測対象領域の特定処理は各キー６０に対応するモデル毎に行われるが、ここでは説明を簡単にするため、一つのモデルに限定して説明する。【００８２】
計測対象領域が特定されると、つぎのＳＴ３３では、この領域の代表点（たとえば領域の中心点）の座標を特定する。これは、設定用画像を用いて行われた設定に基づいて対象物上の位置を特定することに相当する。代表点は複数特定することもできる（たとえば、あらかじめ定めたモデル上の複数の特徴点に対応する点）。
ＳＴ３４では、代表点の座標に基づき、斜視画像Ａ１上にサーチ領域を設定する。この場合にも、前述のリード検査で検出領域８を設定した場合と同様に、あらかじめ指定された高さ範囲の上限値および下限値を高さＺとしてホモグラフィー行列ＨＺを設定し、代表点の座標と高さ範囲の上限値および下限値を用いて２回の演算を実行することにより、画像Ａ１上で代表点の存在し得る範囲を求め、その範囲にモデルの大きさを加味した領域をサーチ領域としている。【００８３】
ＳＴ３５では、サーチ領域において、モデルとの間のパターンマッチング処理を実行して、計測対象領域とその領域内の代表点の位置とを特定する。さらにＳＴ３６では、正面視、斜視の各画像Ａ０，Ａ１における計測対象領域の代表点の座標を用いて３次元座標を算出する。ついで、ＳＴ３７では、算出された３次元座標のうちのＺ座標を所定のしきい値と比較することにより、キーの高さの適否を判別する。そして、ＳＴ３８において、判別結果を出力し、処理を終了する。【００８４】
基準画像Ａ０上で、モデルに定めた特徴点に対応する点を代表点として特定した場合には、ＳＴ３６においても、同様に、モデル上の対応点を特定することができる。また、ＳＴ３５では、指定された高さ範囲内の所定高さ（たとえばワークが正常であるときの標準となる高さ）に対応するホモグラフィ行列を用いてモデルを斜視カメラＣ１に撮像されるはずの形状に変換し、その変換後のモデルを用いて計測対象領域を特定するようにしてもよい。逆に、斜視画像Ａ１を正面視画像に変換し、変換された画像上でモデルに一致する領域を特定するようにしてもよい。【００８５】
図１５は、上記の検査において、正面視画像Ａ０上でキー６０に関して特定された計測対象領域７１、この領域７１の位置と大きさに基づいて設定された斜視画像Ａ１側のサーチ領域８０、およびサーチ領域８０において特定された計測対象領域８１を示す。【００８６】
図１４に示した手順では、３次元計測処理による検査のみを行っているが、この検査でも、正面視画像Ａ０を用いた２次元計測処理により、各キーの文字の印刷状態などの検査を行うことができる。【００８７】
つぎに、中央部に円形状の表示領域を有するワークについて、その表示領域内の高さの適否を検査する場合について説明する。この検査では、撮影の都度、正面視画像Ａ０の一部をモデル画像として抽出し、斜視画像Ａ１においてモデル画像と一致する部分を探索する手法が用いられる。
図１６は、各カメラＣ０，Ｃ１により生成されたワークＷの画像Ａ０，Ａ１を示す。図中、Ｓが検査対象である文字の表示（印刷）領域である。正面視画像Ａ０では、ワークＷの正面像が現れているため、表示領域Ｓの輪郭線７２も円形状になっている。これに対し、斜視画像Ａ１では、表示領域Ｓの輪郭線７２の形状、表示領域Ｓ内の文字の配置状態などが歪んでいる。【００８８】
この検査に先立ち、設定用の対象物であるワークＷの良品モデルを撮像し、得られた正面視画像Ａ０上で、ユーザーに表示領域Ｓの半径や計測対象領域を指定させる。このとき、画像処理部２２では、正面視画像Ａ０から表示領域Ｓの中心点の位置を求める処理を実行し、この中心点に対する計測対象領域の相対位置を登録用メモリに登録する。この処理は、第１のカメラが設定用の対象物を撮影した画像に基づいて得られた正面視画像であるところの設定用画像を用いて、ユーザに計測対象位置についての設定をさせることに相当する。【００８９】
図１７は、正面視画像Ａ０中の表示領域Ｓを拡大して示す。図中、７３がユーザーにより指定された計測対象領域であり、７４が表示領域Ｓの中心点である。この中心点７４の位置は、正面視画像Ａ０から円形パターンを抽出する処理を実行し、その抽出結果の中からユーザーにより指定された大きさの円（位置修正用モデル）に最もよく合致する輪郭線７２を特定して、求めたものである。【００９０】
図１８は、図１６のワークＷに対する高さ検査の手順を示す。
ＳＴ４１では、各カメラＣ０，Ｃ１を同時駆動して、正面視画像Ａ０および斜視画像Ａ１を生成する。ＳＴ４２では、正面視画像Ａ０から上記の処理により、表示領域Ｓの中心点７４の位置を求める。【００９１】
つぎのＳＴ４３では、ＳＴ４２で求められた中心点７４の座標を基準に、あらかじめ登録された相対位置に基づき計測対象領域７３を設定する。そして、続くＳＴ４４において、計測対象領域７３の画像をサーチ用のモデル画像として登録し、さらに計測対象領域７３の代表点位置（たとえば、領域内の中心点位置）も登録する。これは、設定用画像を用いて行われた設定に基づいて対象物上の位置を特定することに相当する。【００９２】
ＳＴ４５では、斜視画像Ａ１上にサーチ領域８２（図１９に示す。）を設定する。サーチ領域８２の位置や大きさは、ＳＴ４４で登録された代表点の座標を（１）式に代入し、あらかじめ指定された高さ範囲の上限値および下限値に応じたホモグラフィー行列ＨＺを用いて（１）式を実行することにより決定する。【００９３】
ＳＴ４６では、ＳＴ４４で登録したモデル画像を用いて、サーチ領域８２において相関マッチング処理を実行する。そして、登録した画像に最も類似する領域を特定し、これを斜視画像Ａ１側の計測対象領域とする。ＳＴ４７では、斜視画像Ａ１側の計測対象領域について、代表点の座標を求め、この座標と正面視画像Ａ０側の代表点の座標とを用いて３次元座標を算出する。続くＳＴ４８では、求められたＺ座標の適否を判定する。そして、ＳＴ４９においての判定結果を出力し、しかる後に処理を終了する。【００９４】
図１９（１）（２）は、それぞれ１組の正面視画像Ａ０と斜視画像Ａ１について、正面視画像Ａ０における計測対象領域７３、斜視画像Ａ１におけるサーチ領域８２および計測対象領域８３を示す。また、正面視画像Ａ０においては、表示領域Ｓの輪郭線７２を太線にして示すとともに、表示領域Ｓの中心点７４の求められた位置を示してある。図１９の（１）の画像と（２）の画像とでは、ワークＷの位置が異なるが、どちらの場合も計測対象領域７３は、その中に目標とする文字が収まるように正しく設定されている。【００９５】
上記図１８に示した検査の手順によれば、中心点７４の抽出処理や領域７３の位置調整処理は、正面視画像Ａ０を用いて行われるので、画像の歪みを考慮する必要がなく、中心点７４に対する相対位置関係により計測対象領域７３を適切な位置に設定することができる。図１９の例でも、（１）の例の画像と（２）の例の画像とでは、ワークＷの位置が異なるが、計測対象領域７３は同じ条件で設定されている。
さらに、図１８に示した検査の手順によれば、検査対象のワークＷごとにそのワークＷからサーチ用のモデル画像を取得するので、３次元計測の対象とする文字などの表面パターンがワークＷごとに異なる場合でも、同一の手順を適用して３次元計測を行うことができる。ここでは、表面パターンはワークＷごとに異なるかもしれないが、ワークＷの形状とワークＷの形状を基準とした計測対象領域の位置はどのワークＷにおいても共通であることを利用して計測対象領域を設定している。【００９６】
図１８の手順においても、登録したサーチ用のモデル画像をホモグラフィ行列Ｈｚを用いて斜視カメラＣ１に撮像されるはずの形状に変換し、変換後の画像を用いて計測対象領域８３を特定するようにしてもよい。逆に、斜視画像Ａ１を正面視画像に変換し、変換された画像上でモデルに一致する計測対象領域領域８３を特定するようにしてもよい。
さらに、図１８の手順にも、正面視画像Ａ０を用いて表示領域Ｓ内の文字の印刷状態を検査する処理を組み込むことができる。【００９７】
ところで、上記した検査装置では、正面視画像の生成のために、一方のカメラＣ０を光軸を鉛直方向にして設置したが、このカメラＣ０の光軸が斜めに設定されている場合でも、カメラＣ０で生成された画像を変換することによって、正面視画像を生成することができる。【００９８】
図２０は、上記の変換処理を行うためのキャリブレーション方法を示す。この方法では、ワークＷの戴置面に平行な任意高さの平面上にキャリブレーションワーク７５を設置し、カメラＣ０，Ｃ１を、それぞれ斜め上方からキャリブレーションワーク７５を撮像するように配置する。
この例では、キャリブレーションワーク７５として、上面に複数の円形のパターン７６を等間隔に配置した構成の平面状のワークを使用している。【００９９】
キャリブレーション処理では、光軸を鉛直方向に向けて設置された仮想のカメラＣ２を想定し、このカメラＣ２によりキャリブレーションワーク７５を撮像した場合に得られる仮想の画像を想定する。そして、図２１に示すように、カメラＣ０により生成された画像Ａ０を仮想のカメラＣ２による画像Ｂ０に変換するためのホモグラフィー行列を求める。そのために、まず、画像Ａ０およびＢ０上で各円形パターンの中心座標を求める。画像Ａ０については、実際の画像から楕円状に歪んでいる円形パターンの中心の座標（重心座標など）を求める。画像Ｂ０については、仮想カメラＣ２に任意の撮像倍率を設定し、キャリブレーションワーク７５上の円形パターンの実際の間隔を、仮想カメラＣ２に設定した倍率を用いて画像上の間隔ｄに変換することにより、画像上の円形パターンの中心の座標を算出する。そして各円形パターンの配列順序に基づき、画像Ａ０、Ｂ０間で対応する円の中心位置の組み合わせを特定し、これらの円の中心の座標を用いた最小自乗法により、ホモグラフィー行列を求めることができる。【０１００】
図２０のカメラ配置によれば、ワークＷに対して正面視を行う仮想のカメラＣ２の光軸方向における撮像対象箇所の高さが「正面視高さ」となる。正面視高さは、カメラＣ２の光軸方向に直交する任意の平面（たとえばワークＷの戴置面）を基準に表される。この基準の平面は、一般に水平面であるが、これに限らず、水平面に対して傾きを持つ面や垂直面を基準面としてもよい。【０１０１】
上記のキャリブレーション処理によりホモグラフィー行列が定まると、キャリブレーションワーク７５と同等の正面視高さにある平面について、カメラＣ０からの画像Ａ０を用いた変換処理によって、スケールが判明している正面視画像を生成することができる。【０１０２】
もっとも、キャリブレーションワーク７５と平行であるが正面視高さがキャリブレーションワーク７５とは異なる平面を撮像対象とする場合にも、同じ変換演算によって正面視画像を得ることができる。ただし、キャリブレーションワーク７５と同じ正面視高さにある平面が変換されたときの正面視画像と比べると、撮像対象平面がキャリブレーションワーク７５よりもカメラＣ２の近くに位置する場合には、拡大された正面視画像に変換される。また、カメラＣ２から見て、撮像対象平面の方がキャリブレーションワーク７５よりも遠くに位置する場合には、撮像対象平面がキャリブレーションワーク７５と同じ正面視高さにある場合よりも縮小された正面視画像に変換される。【０１０３】
したがって、撮像対象平面の正面視高さがわかっていれば、正面視画像に変換したときの画像の拡大縮小の程度は計算で求めることができる。したがって、正面視高さがわかっている撮像対象平面については、変換された正面視画像上で寸法計測をすることが可能である。【０１０４】
以下、図２０のようにカメラＣ０，Ｃ１をともに斜視配置とした検査装置について説明する。全体のブロック構成は図３に示したものと同じであるが、演算処理部２０としてのコンピュータには、カメラＣ０により生成された斜視画像を正面視画像に変換する変換演算を行う機能（変換手段）が設定される。変換により得られた正面視画像（以下、正面視変換画像という。）がモニタ３の画面上に表示されるときの大きさを決める要因には、仮想結像倍率と表示倍率とがある。また、設定用のワークＷについての正面視変換画像は設定用画像に相当し、計測対象のワークＷについての正面視変換画像は第１の画像に相当する。【０１０５】
仮想結像倍率は、同一の正面視高さにあるワークＷ上の２点間の実際の距離と仮想のカメラＣ２の仮想結像面に結像された当該２点間の距離との比率であり、実際の距離を１としたときの仮想結像面上の距離で表す。仮想結像倍率は、撮像対象が仮想カメラＣ２から遠ざかると小さくなるというように、撮像対象の正面視高さによって変化する。
仮想結像倍率は、仮想カメラＣ２の焦点距離が変更されたと仮定して、正面視変換演算のパラメータを調整することによっても変更可能であるが、ここでは、仮想カメラＣ２の焦点距離は固定であるとする。【０１０６】
表示倍率は、仮想結像面上の２点間の距離とモニタに表示された当該２点間の距離との比率である。表示倍率は画像を拡大または縮小する演算を行うことにより変更することができる。表示倍率は、計測に用いるスケールに影響せず、後述するスケール図形の大きさと表示される正面視変換画像の大きさとの比率にも影響しないので、画像が表示画面上で観察しやすくなるように適当な値に選べばよい。たとえば、カメラＣ０で撮影された斜視画像と正面視変換画像との間でワークＷの像の大きさがあまり変化しないように正面視変換画像の表示倍率を選択すると、これらの画像の一方から他方へ表示内容を切り替えたときに画像内容を把握しやすい。【０１０７】
上述のとおり、キャリブレーションワーク７５と同じ正面視高さにある平面についてはキャリブレーションのときに用いた仮想結像倍率をそのまま適用することができる。
正面視高さを指定すれば、それに対応する仮想結像倍率を計算で求めることができる。仮想結像倍率がわかれば、その正面視高さにある計測対象箇所についての寸法計測を、正面視変換画像を用いて正しく行うことができる。
この寸法計測および仮想結像倍率の前提となる正面視高さをスケール基準高さとよぶ。すなわち、スケール基準高さとは、正面視変換画像における寸法から計測対象箇所の実際の寸法を求めるときに前提とされる計測対象箇所の正面視高さであるということができる。【０１０８】
また、正面視変換画像における寸法と計測対象箇所の実際の寸法とを関係付ける情報をスケール情報とよぶ。たとえば、正面視変換画像の１ピクセルに対応する実際の寸法を、スケール情報として設定することができる。スケール基準高さとスケール情報とは互いに整合していなければならず、一方を変更すれば他方も変更されなければならない関係にある。【０１０９】
図２２は、検査に先立って行われる設定処理の手順を示す。まず、ＳＴ５１において、カメラＣ０で設定用のワークＷ（設定用の対象物）を撮影する。つぎに、ＳＴ５２では、撮影された斜視画像を正面視画像に変換する。この変換演算用のプログラムが動作する演算処理部２０が変換手段として働く。後述の検査における斜視画像から正面視画像への変換についても同様である。
変換処理により得られた正面視変換画像は設定用画像として利用される。【０１１０】
ＳＴ５３では、スケール基準高さおよびスケール情報を設定する。具体的には、設定用ワークの計測対象部位の正面視高さについて、ユーザの入力を受け付け、入力された値をスケール基準高さとする。さらに、スケール基準高さからスケール情報を算出し、スケール基準高さおよびスケール情報を演算処理部２０に記憶する。【０１１１】
ＳＴ５４では、設定用画像を用いてユーザに計測処理に必要な設定をさせる。具体的な設定内容の例は、先にカメラＣ０が正面視配置の場合のリード検査、文字キーの検査、ワークの高さ検査について行われるのと同様である。また、計測時にどのような処理をどのような順序で行うのかも設定させる。【０１１２】
上記のＳＴ５３では、スケール基準高さとして、たとえば、ワークＷの戴置面に対する計測対象箇所の高さを表す寸法を入力させる。正面視高さやスケール基準高さの値は、装置の内部では、必ずしもワークＷの戴置面を基準として表現されている必要はなく、たとえば図１０の座標系におけるＺ座標の値として表現されていてもよい。あるいは、互いに座標変換が可能な他の任意の座標系によって表現されていてもよい。【０１１３】
しかし、ユーザに入力させるスケール基準高さは、ユーザが計測対象箇所の高さとして自然に認識できる高さであることが好ましい。ワークＷの戴置面を基準とした計測対象箇所の高さをスケール基準高さとすることにより、装置の内部処理の詳細を理解していないユーザであっても、スケール基準高さとして入力を要求されているのがどの寸法であるのかを容易に理解することができる。【０１１４】
ただし、このＳＴ５３のステップを省略して、その代わりに、たとえばキャリブレーションワーク７５の正面視高さのような、何らかの既定値をスケール基準高さとして用いることができる場合がある。一般に仮想結像倍率は、その値が小さいことが多い。そのような場合には、計測対象箇所の正面視高さがスケール基準高さと異なっていてもスケールの誤差は比較的小さい。したがって、寸法や面積の高精度の計測を必要としない場合、たとえば汚れの有無判別、外形輪郭における欠け検出、文字の種類判別などを目的とする２次元画像処理を行う場合には、検査対象箇所の正面視高さの違いに応じて都度スケール基準高さを入力することなく、スケール基準高さとして既定値を用いても支障のない場合が多い。また、３次元計測のための計測対象位置を特定する場合にも、同様にスケール基準高さとして既定値を支障なく用いることができる場合が多い。【０１１５】
図２３は、上記の設定処理が終了した後に実行される検査の手順の一例を示す。
まず、ＳＴ６１では、ワーク検出用のセンサからの検知信号に応じてカメラＣ０およびＣ１でワーク（計測対象の対象物）Ｗを撮影する。ＳＴ６２では、カメラＣ０で撮影された斜視画像を正面視画像に変換することにより、第１の画像を得る。ＳＴ６３では、第１の画像上で３次元計測の対象とする位置を特定する。この位置特定の手法の例は、先にカメラＣ０が正面視配置の場合の各種検査について説明したのと同様である。ＳＴ６４では、カメラＣ１で撮影された第２の画像上で、第１の画像上の先に特定された位置に対応する位置を特定する。【０１１６】
ＳＴ６５では、特定された第１の画像上の位置と第２の画像上の位置とを用いて３次元座標を算出する。ＳＴ６６では、第１の画像を用いて２次元計測を行う。第１の画像は正面視変換画像であるので、従来より、正面視画像を処理対象とすることを前提として開発された種々の２次元画像処理の手法を適用することができる。寸法または面積の計測を伴う２次元計測を行う場合は、図２２の設定処理において設定されたスケール情報を利用する。このとき、２次元計測用のプログラムが動作する演算処理部２０が２次元画像処理手段として働く。ＳＴ６６の計測が終了すると、ＳＴ６７において、ＳＴ６５，６６で得た計測結果の良否の判定処理を実行する。この後は、ＳＴ６１に戻り、次のワークＷが来るのを待つ。【０１１７】
図２３のＳＴ６３〜６６は、計測処理のためのステップに相当するが、これらのステップの処理内容と順序については、いろいろな設定がありうる。たとえば、複数の点について３次元計測するようにしてもよい。その場合、ＳＴ６３、ＳＴ６４のそれぞれの中で複数の位置を特定し、ＳＴ６５の中で複数の点の３次元座標を算出することも考えられるし、１つの点について位置特定と３次元座標算出をするＳＴ６３からＳＴ６５までのステップを複数回繰り返すことによって、繰り返しの１回につき１箇所ずつ３次元座標を算出するようにしてもよい。ＳＴ６６の２次元計測は何種類でも設定可能であるし、ＳＴ６２以降であればどのタイミングで２次元計測を実行するように設定してもよい。【０１１８】
図２４は、検査の手順の他の例である。この検査を行う場合には、図２２のＳＴ５４において正面視高さの許容範囲がユーザにより設定され、演算処理部２０に記憶されているものとする。正面視高さの許容範囲は、スケール基準高さをその範囲の中に含むように定められている。正面視高さの許容範囲は、計測対象箇所の正面視高さがその範囲内にあれば、正面視変換画像のスケールの誤差が想定の範囲内に収まるという観点から定められるものであり、ワークＷの良否についての判定基準とは異なる。【０１１９】
ＳＴ６１からＳＴ６７まではそれぞれ図２３の同じ符号の処理と同じ内容である。ＳＴ７１の処理は、ＳＴ６５で算出された３次元座標が示す正面視高さが、設定されている許容範囲に含まれているかどうかを判定するものである。この判定を行うプログラムが動作する演算処理部２０が判定手段として働く。【０１２０】
算出された３次元座標が正面視高さの許容範囲になければ、ＳＴ７２の報知処理を経てＳＴ６１に戻り、許容範囲内であれば報知処理を行わずにＳＴ６１に戻る。ＳＴ７２に進んだときには、２次元計測において利用されるスケール情報が示すスケールと、第１の画像の実際のスケールとの間に、想定される程度よりも大きな差異があることについて報知する。たとえば、その旨の表示をしたり、警告音を発する。報知の他の例として、スケール誤差のある第１の画像に基づいて処理したことによる誤差が計測値に含まれている旨の表示を、２次元計測の結果の表示に付記するようにしてもよい。【０１２１】
図２５は、検査の手順のさらに他の例である。ＳＴ６１からＳＴ６５まで、およびＳＴ６７の処理内容は、それぞれ図２３の同じ符号の処理と同じ内容である。ＳＴ８１では、ＳＴ６５で求められた３次元座標が示す正面視高さをスケール基準高さとして第１の画像のスケール情報を算出する。このスケール情報の算出を行うプログラムが動作する演算処理部２０がスケール情報算出手段として働く。ＳＴ８２では、算出されたスケール情報を用いて、第１の画像についての２次元計測を行う。【０１２２】
つぎに、図２６は、図２２に示した設定処理の手順を、ユーザがスケール基準高さおよびスケール情報の設定の適否を確認しながら設定値を調整できるように変更したものである。この手順では、まず、ＳＴ９１においてカメラＣ０で設定用のワークＷを撮影する。つぎに、ＳＴ９２では、撮影された斜視画像を正面視画像に変換する。得られた正面視変換画像は設定用画像として利用される。また、このとき、モニタ３には、正面視変換画像および変換前の原画像を含む設定用のウィンドウ９０（図２８に示す。）が表示される。【０１２３】
詳細は後記するが、この段階では、スケール基準高さの初期値として、キャリブレーション時に入力されたキャリブレーションワーク７５の正面視高さが設定されている。つぎのＳＴ９４では、ユーザに、設定用ウィンドウ９０を用いてスケール基準高さの値を変更する操作を行わせ、その操作に応じてスケール基準高さおよびスケール情報を変更する。この変更操作は、ユーザがスケール基準高さが適切になったと判断するまで繰り返し実行される。変更処理が終了するとＳＴ９５に進み、図２２のＳＴ５４の場合と同様に、設定用画像を用いてユーザに計測処理に必要な設定を行わせる。【０１２４】
図２７は、上記の設定処理の際のカメラＣ０による設定用のワークＷの撮影状況を示す（カメラＣ１も設けられているが図示を省略する。）。設定用ワークＷは計測対象のワークＷの中から選ばれた良品であるとする。ここでのワークＷは、全体形状が立方体である。符号ＴはワークＷの上面である。図２７には仮想的な平面Ｒ０、Ｒ１、Ｒ２、Ｒ３が示されている。Ｒ０はワークＷの載置面であり、たとえばワークＷが載置されるベルトコンベアの表面である。平面Ｒ１、Ｒ２、Ｒ３はＲ０に平行で、それぞれＲ０からの高さがｈ１、ｈ２、ｈ３（ｈ１＜ｈ２＜ｈ３）であり、平面Ｒ２の高さｈ２がワークＷの上面Ｔの高さに一致している。また、キャリブレーションは、キャリブレーションワーク７５を平面Ｒ１の高さに置いて行われ、スケール基準高さの初期値として、平面Ｒ１の高さｈ１が設定されている。【０１２５】
図２８は、図２７の撮像状態下においてモニタ３に表示される設定用ウィンドウ９０の内容を示す。このウインドウ９０には、カメラＣ０によって撮影された設定用ワークＷの画像９１、編集画像９２、スケール基準高さの調整バー９３および調整ハンドル９４、スケール基準高さの数値表示部９５、スケール基準高さの確定ボタン９６、スケール図形の寸法入力部９７、スケール図形の種類の選択部９８が表示されている。編集画像９２にはワークＷの正面視変換画像に加えて、スケール図形９９も表示されている。編集画像９２の内容を作成するプログラムが動作する演算処理部２０が画像編集手段として働く。【０１２６】
カメラＣ０によって撮影された画像９１においては、ワークＷの上面Ｔは台形に表示されているが、編集画像９２においては本来の正方形に変換されて表示されている。しかし、スケール基準高さの初期値がキャリブレーションワーク７５の正面視高さであるｈ１に設定されているのに対し、実際の上面Ｔの正面視高さがｈ２であるため、変換表示されている上面Ｔのスケールには誤差が生じている。すなわち、上面Ｔは、それがスケール基準高さにあったとした場合よりも大きく表示されている。【０１２７】
スケール図形９９は、スケール基準高さにおける仮想結像倍率に基づき、スケール基準高さにある平面上における実際の寸法をモニタ３の表示画面上で示す図形である。スケール図形９９の種類は、選択部９８において、正方形、円、グリッドのいずれかを選択することができる。寸法入力部９７に入力する寸法は、スケール図形９９が正方形の場合は１辺の長さ、円の場合は直径、グリッドの場合はグリッド線の間隔を意味する。スケール図形９９は、ワークＷの正面視変換画像との比較がしやすいように、ドラッグ操作により、編集画像９２内の任意の位置に移動させることができる。【０１２８】
ここで、スケール画像９９としてワークＷの上面Ｔの形状と比較しやすい図形を選択し（ここでは上面Ｔと同じ形状である正方形を選択した）、寸法入力部９７にワークＷの上面Ｔの大きさと比較するのに適した値を入力すると（ここでは上面Ｔの辺の長さと同じ寸法を入力した）、ワークＷの上面Ｔ（計測対象箇所）の実際の高さがスケール基準高さよりも高ければ（仮想カメラＣ２に近ければ）、スケール図形９９と対比して認識される上面Ｔの大きさは実際よりも大きくなり、逆の場合は実際よりも小さくなる。【０１２９】
したがって、設定用ワークＷの計測対象箇所の大きさが既知であれば、モニタ３上で観察されるワークＷの形状と比較しやすいスケール画像９９を選択し、その寸法を計測対象箇所の既知の大きさと比較するのに適した値に設定したとき、ワークＷの正面視変換画像における計測対象箇所の大きさとスケール図形９９の大きさとの比率が正しくなっていれば、そのときのスケール基準高さはワークＷの計測対象箇所（この場合は上面Ｔ）の正面視高さと一致する。【０１３０】
図２６でＳＴ９３を最初に実行する際には、スケール基準高さの初期値からスケール情報の初期値を算出した後に、ユーザーの選択したスケール図形９９を、寸法入力部９７に入力された寸法およびスケール情報の初期値に応じた大きさをもって編集画像９２上に表し、ユーザにスケール基準高さの調整を行わせる。また、調整の都度、その調整されたスケール基準高さからスケール情報を算出し、その算出結果に基づいてスケール図形９９の大きさを変化させる。【０１３１】
スケール基準高さは、調整ハンドル９４を調整バー９３に沿ってドラッグ操作することにより調整することができる。現時点での調整基準高さはスケール基準高さの数値表示部９５に表示される。スケール基準高さの調整が終了すると、確定ボタン９６を押すことにより、図２６のＳＴ９４からＳＴ９５に進む処理が行われる。このときにスケール情報も確定される。このようにして、スケール基準高さおよびスケール情報が整合的に変更される。この一連の処理を行うためのプログラムが動作する演算処理部２０が調整手段として働く。【０１３２】
図２９は、図２８に示した編集画像９２について、スケール基準高さの変更に伴う表示内容の変化を示す。編集画像９２ａは、スケール基準高さを初期値のｈ１とした場合である。いま、上面Ｔは１辺１００ｍｍの正方形であるとし、スケール図形９９として１辺１００ｍｍの正方形を表示しているものとする。この場合に表示されているスケール図形９９は、スケール基準高さ（この場合は高さｈ１）に１辺１００ｍｍの正方形があったとして、これを撮影した場合に、この撮影された正方形を正面視変換した場合に表示されるはずの図形に相当する。実際の上面Ｔはｈ２の高さにあるから、スケール図形９９よりも大きく表示されている。【０１３３】
スケール基準高さをｈ２に調整すると、編集画像９２ｂに示すように、上面Ｔの大きさとスケール図形の大きさとが一致した編集画像が得られる。さらに、スケール基準高さをｈ３まで大きくすると、編集画像９２ｃに示すように、スケール図形９９が上面Ｔの正面視変換画像よりも大きく表示されるようになる。【０１３４】
上記の操作により、ユーザは、スケール基準高さをｈ２に設定したときに、その設定値が上面Ｔの正面視高さに一致すると判断することができる。ドラッグ操作によりスケール図形９９を上面Ｔの正面視変換画像に重ねると、より正確に大きさを対比することができる。【０１３５】
このように、ユーザは、編集画像中の計測対象箇所とスケール画像９９との比率が正しい状態になるまでスケール基準高さを調整することにより、スケール基準高さを計測対象箇所の正面視高さに正しく合わせることができる。これにより、スケール情報も正しく設定することができる。【０１３６】
上記の表示によれば、ユーザは、設定用ワークＷの計測対象箇所の正面視高さとスケール基準高さとがおよそ一致していることを編集画像９２の表示により直接確認することができる。この高さの一致についての誤差が小さいと、第２の画像上における高さ方向の対応位置探索範囲が小さくても対応位置を見つけることができる。また、この高さの一致についての誤差が小さいと、第１の画像を用いて寸法計測や面積計測を含む２次元計測をした場合に計測結果の誤差が小さくなる。【０１３７】
このように、上記の例では、編集画像９２を見ながらスケール基準高さを計測対象箇所の正面視高さに合わせるような調整を行ったが、ユーザは必ずしもスケール基準高さの概念を理解する必要はないので、ユーザに対して調整対象がスケール基準高さであることを示すことも、必ずしも必要ではない。たとえば、ユーザに対しては正面視変換画像のスケールの調整であるように見せ、実際には基準高さの調整がされるようにしてもよい。また、実際にも正面視変換画像のスケールの調整処理を行い、スケールの調整結果から対応するスケール基準高さを算出するようにしてもよい。【０１３８】
たとえば、スケール基準高さを直接調整するのに代えて、ワークＷの正面視変換画像における計測対象箇所の大きさとスケール図形９９の大きさとの比率が正しくなるように、スケール図形９９およびワークＷの正面視変換画像のいずれか一方を拡大または縮小し、または両方を互いに異なる比率で拡大または縮小し、これらの拡大縮小率からスケール情報を求めるとともに、対応するスケール基準高さを計算するようにしてもよい。【０１３９】
このような、ワークＷの正面視変換画像における計測対象箇所の大きさとスケール図形９９の大きさとの比率を参照しつつ最終的にスケール基準高さを求める手法は、ワークＷの計測対象箇所の正面視高さを知らずに、モニタ３に表示される画像を見ながらスケール基準高さを設定する場合に活用することができる。【０１４０】
ところで、スケール基準高さおよびスケール情報の一方から他方を求める手法は、斜視画像から変換した正面視画像を２次元計測の対象とする場合に限らず、図１のように、カメラＣ０を正面視を行うように配置して撮影した場合の正面視画像を２次元計測の対象とする場合にも、適用することが可能である。この場合にも同様に設定の容易さの利点が得られる。【０１４１】
また、第１のカメラが斜視配置、正面視配置のいずれの場合にも、３次元計測の結果によって示される正面視高さとスケール基準高さとを比較することによって、スケール情報の値が適正であるかどうかについての評価を行うことができる。このようにして、３次元計測を行うことが２次元計測の正確性を検証することに寄与する。【０１４２】
いうまでもなく、図２４を用いて説明した、算出された３次元座標が示す正面視高さが許容範囲に含まれているかどうかを判定する手法、図２５を用いて説明した、算出された３次元座標が示す正面視高さを用いてスケール情報を算出する手法、図２６から図２９までを用いて説明した、ユーザによる操作に基づきスケール基準高さを調整する手法は、いずれも第１のカメラＣ０が正面視の方向を向けて配置されている場合にも適用することができる。【０１４３】
スケール基準高さからスケール情報を算出する場合に用いるスケール基準高さとしては、ユーザによって入力された値を用いてもよいし、装置自身が実際にワークＷを対象に計測した正面視高さを用いてもよい。この正面視高さの計測は、第１、第２のカメラを用いる３次元計測機能により計測してもよいが、正面視高さ計測用のセンサを設けて、このセンサにより計測するようにしてもよい。正面視高さ計測用のセンサとしては、レーザビームの投射とその反射光の受光に基づく三角測距方式のレーザ変位計や、プローブ接触式の変位計など、周知の種々のセンサを用いることができる。【０１４４】
以上の開示に基づき、以下に述べる画像処理装置も認識される。
（Ａ）  第１のカメラが対象物を撮影した画像に基づいて得られる正面視画像である第１の画像と、第１のカメラが撮影する方向とは異なる方向から対象物を撮影するように配置された第２のカメラが撮影した画像に基づく第２の画像とを用いた処理を行う画像処理装置であって、
第１のカメラが設定用の対象物を撮影した画像に基づいて得られた正面視画像であるところの設定用画像を用いて、ユーザに計測対象位置についての設定をさせる設定手段と、
第１のカメラが計測対象の対象物を撮影した画像に基づいて得られた正面視画像であるところの第１の画像に対し、前記設定に基づいて対象物上の位置を特定する位置特定手段と、
第１の画像において特定された前記位置に対応する、第２の画像における位置を特定し、特定された第１の画像上の位置と第２の画像上の位置とを用いて３次元座標を算出する３次元計測手段とを備え、
正面視画像における寸法と計測対象箇所の実際の寸法とを関係付けるスケール情報およびスケール情報と整合する正面視高さであるスケール基準高さが利用可能とされており、
さらに、第１の画像を対象に、スケール情報を用いて２次元画像処理を行う２次元画像処理手段と、
を備えた画像処理装置。【０１４５】
（Ｂ）  さらに、スケール基準高さを含むように定められた正面視高さの許容範囲の値が利用可能とされており、
前記３次元計測手段により算出された前記３次元座標が示す正面視高さが前記許容範囲に含まれているかどうかを判定する判定手段をさらに備えた（Ａ）の画像処理装置。【０１４６】
（Ｃ）  前記３次元計測手段により算出された前記３次元座標が示す正面視高さを用いてスケール情報を算出するスケール情報算出手段をさらに備えた（Ａ）の画像処理装置。【０１４７】
（Ｄ）  ユーザによる操作に基づきスケール基準高さおよびスケール情報を整合的に変更する調整手段をさらに備えた（Ａ）の画像処理装置。【０１４８】
（Ｅ）  第１の画像に対してスケール基準高さにある平面上における実際の寸法を示すスケール図形を加えた表示用の画像を編集する画像編集手段をさらに備えた（Ｄ）の画像処理装置。【０１４９】
（Ａ）の画像処理装置が用いる正面視画像は、正面視配置のカメラで撮影した画像でもよいし、斜視配置のカメラで撮影した画像を正面視変換したものでもよい。この画像処理装置によれば、互いに整合するスケール情報およびスケール基準高さが利用可能であり、計測対象の対象物についてスケール情報を用いた２次元画像処理が行われるとともに、３次元計測も行われる。したがって、３次元計測により求めた正面視高さとスケール基準高さとの間の差が大きい場合には、スケール情報を用いた２次元画像処理の結果に誤差が生じていることがわかる。
また、計測対象箇所の正面視高さをスケール基準高さとして、スケール情報をスケール基準高さから算出するようにすれば、対象物の種類が変更されて計測対象箇所の高さが変わるような場合にも、スケール情報を容易に設定することができる。スケール情報を定めるための正面視高さは、ユーザが指定したものでも画像処理装置自身が計測したものでもよい。【０１５０】
（Ｂ）の画像処理装置によれば、算出された３次元座標が正面視高さの許容範囲にない場合に、２次元画像処理手段が利用するスケール情報が示すスケールと、第１の画像の実際のスケールとの間に、想定される程度よりも大きな差異があることがわかる。【０１５１】
（Ｃ）の画像処理装置によれば、正面視高さの実測値により算出されたスケール情報を用いて２次元画像処理を行うので、対象物についてのより正確な計測を行うことができる。【０１５２】
（Ｄ）の画像処理装置によれば、ユーザによる操作に基づき、スケール基準高さが３次元計測の対象箇所の実際の正面視高さにほぼ一致するように調整されると、第２の画像上において計測対象箇所が現れる可能性のある範囲が小さくなる。したがって、そのような小さい範囲を対象として、第１の画像上で特定された位置に対応する位置を特定するようにすれば、第１の画像、第２の画像間での計測対象位置の対応付けを誤る可能性が低くなり、対応位置を特定する演算に要する時間も短くなる。
また、ユーザによる操作に基づきスケール情報が正しく調整されると、第１の画像に対して寸法や面積の計測を伴う種々の２次元画像処理を適用したときに、その結果に含まれる誤差が少なくなる。【０１５３】
（Ｅ）の画像処理装置によれば、編集された画像が表示されると、ユーザは表示されたスケール図形と計測対象箇所の像との大きさの関係が正しくなるように調整操作を行うことができる。
【図１】
0004811272.tif 000003
【図２】
0004811272.tif 000004
【図３】
0004811272.tif 000005
【図４】
0004811272.tif 000006
【図５】
0004811272.tif 000007
【図６】
0004811272.tif 000008
【図７】
0004811272.tif 000009
【図８】
0004811272.tif 000010
【図９】
0004811272.tif 000011
【図１０】
0004811272.tif 000012
【図１１】
0004811272.tif 000013
【図１２】
0004811272.tif 000014
【図１３】
0004811272.tif 000015
【図１４】
0004811272.tif 000016
【図１５】
0004811272.tif 000017
【図１６】
0004811272.tif 000018
【図１７】
0004811272.tif 000019
【図１８】
0004811272.tif 000020
【図１９】
0004811272.tif 000021
【図２０】
0004811272.tif 000022
【図２１】
0004811272.tif 000023
【図２２】
0004811272.tif 000024
【図２３】
0004811272.tif 000025
【図２４】
0004811272.tif 000026
【図２５】
0004811272.tif 000027
【図２６】
0004811272.tif 000028
【図２７】
0004811272.tif 000029
【図２８】
0004811272.tif 000030
【図２９】
0004811272.tif 000031