(57)【要約】【課題】外部環境の影響によらず高い精度で測定対象に位置ずれが生じているか否かを検知できる画像処理装置、画像処理装置の制御方法およびプログラムを提供する。【解決手段】画像処理装置は、所定の波長域の光を受光し、測定対象に付され且つ所定の励起波長の光の照射により所定の波長域の光を発光する第１のマークと、固定位置に付され且つ第１のマークと共通の光学特性および形状を有する第２のマークとを撮像する撮像手段が撮像した画像データを取得する取得手段と、取得した画像データのうち第１のマークと第２のマークとの位置関係の変化に基づいて、測定対象に位置ずれが生じているかを検知する制御手段と、を備える。【選択図】図６
2020140359.tif 000002
【特許請求の範囲】
【請求項１】
所定の波長域の光を受光し、測定対象に付され且つ所定の励起波長の光の照射により前記所定の波長域の光を発光する第１のマークと、固定位置に付され且つ前記第１のマークと共通の光学特性および形状を有する第２のマークとを撮像する撮像手段が撮像した画像データを取得する取得手段と、
取得した画像データのうち前記第１のマークと前記第２のマークとの位置関係の変化に基づいて、前記測定対象に位置ずれが生じているかを検知する制御手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記制御手段は、前記第１のマークの移動量および前記第１のマークと前記第２のマークとの相対距離の変化量に基づいて、前記測定対象に位置ずれが生じているかを検知することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記制御手段は、前記第１のマークの移動量が第１の閾値以上であり且つ前記相対距離の変化量が第２の閾値以上である場合に前記測定対象に位置ずれが生じていると判定し、前記第１のマークの移動量が前記第１の閾値以上であり且つ前記相対距離の変化量が前記第２の閾値未満である場合に前記撮像手段にずれが生じていると判定することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記第１のマークの移動量は、直交する２つの方向の移動量と回転方向の移動量とを含み、
前記制御手段は、前記直交する２つの方向の移動量と前記回転方向の移動量とが、それぞれ対応する閾値以上であるかを判定し、何れか１つの移動量が前記閾値以上である場合に、前記第１のマークの移動量が前記第１の閾値以上であると判定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記制御手段は、前記直交する２つの方向の移動量と前記回転方向の移動量とのそれぞれについて、対応する閾値以上であるか否かを示す情報を表示する制御を行うことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記制御手段は、判定結果に応じて、前記測定対象に位置ずれが生じていることを示す情報または前記撮像手段にずれが生じていることを示す情報を通知することを特徴とする請求項３乃至５のうち何れか１項に記載の画像処理装置。
【請求項７】
前記第１のマークの形状は、前記測定対象の位置と姿勢とを一意に定める形状であることを特徴とする請求項１乃至６のうち何れか１項に記載の画像処理装置。
【請求項８】
前記第１のマークは、半円型であることを特徴とする請求項１乃至７のうち何れか１項に記載の画像処理装置。
【請求項９】
前記第１のマークの形状は、前記測定対象に含まれる形状に類似していないことを特徴とする請求項１乃至８のうち何れか１項に記載の画像処理装置。
【請求項１０】
前記制御手段は、前記画像データに含まれる複数の前記第１のマークのそれぞれについての前記第２のマークとの前記位置関係の変化に基づいて、複数の前記測定対象に位置ずれが生じているかを同時に判定することを特徴とする請求項１乃至９のうち何れか１項に記載の画像処理装置。
【請求項１１】
前記励起波長の光は紫外光であり、前記所定の波長域の光は赤色光であることを特徴とする請求項１乃至１０のうち何れか１項に記載の画像処理装置。
【請求項１２】
前記制御手段は、前記画像データのうち領域の指定を受け付け、指定された前記領域を対象に前記測定対象に位置ずれが生じているかを検知することを特徴とする請求項１乃至１１のうち何れか１項に記載の画像処理装置。
【請求項１３】
前記撮像手段には、前記所定の波長域の光を透過し、他の波長域の光をカットする光学フィルタが取り付けられていることを特徴とする請求項１乃至１２のうち何れか１項に記載の画像処理装置。
【請求項１４】
前記測定対象はロボットアームであり、前記第１のマークは前記ロボットアームに付されていることを特徴とする請求項１乃至１３のうち何れか１項に記載の画像処理装置。
【請求項１５】
所定の波長域の光を受光し、測定対象に付され且つ所定の励起波長の光の照射により前記所定の波長域の光を発光する第１のマークと、固定位置に付され且つ前記第１のマークと共通の光学特性および形状を有する第２のマークとを撮像する撮像手段が撮像した画像データを取得する工程と、
取得した画像データのうち前記第１のマークと前記第２のマークとの位置関係の変化に基づいて、前記測定対象に位置ずれが生じているかを検知する工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項１６】
請求項１５に記載の画像処理装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測定対象の位置ずれを検出する画像処理装置、画像処理装置の制御方法およびプログラムに関する。
【背景技術】
【０００２】
例えば、工場等の製造現場においては、加工装置の状態やメーターの値、ネジの緩み等を、作業員が定期的に目視で確認する点検行為が行われている。近年、人手による目視による点検に代替する手段として、カメラやセンサ等の測定機器が加工装置等の測定対象の位置や姿勢の変化を認識する自動化技術が普及しつつある。関連する技術として、特許文献１の技術が提案されている。特許文献１の技術では、取得部によって取得された現在の情報と、初期情報記憶部に記憶される初期情報とを比較して、センサの現在の位置又は向きが所定の位置及び所定の向きから変化したか否かの判定が行われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５６５０５００号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
製造現場等において、カメラ等の撮像装置が測定対象を撮像して、測定対象の位置を自動的に測定する運用下では、撮像装置が撮像する画像は、照明光の変動や経時変化、外部からの散乱光等の外部環境の影響を受けることがある。この場合、撮像装置は、測定対象と背景とに高いコントラストの画像を取得することができなくなる。また、照明装置が設置されていないような暗い環境下で撮像が行われる場合や、背景と測定対象との特徴が似ている場合等においても、撮像装置は、測定対象と背景とに高いコントラストの画像を取得することができなくなる。高いコントラストの画像が取得できない場合、測定対象に位置ずれが生じているか否かの検知精度が低下する。
【０００５】
本発明の目的は、外部環境の影響によらず高い精度で測定対象に位置ずれが生じているか否かを検知できる画像処理装置、画像処理装置の制御方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の画像処理装置は、所定の波長域の光を受光し、測定対象に付され且つ所定の励起波長の光の照射により前記所定の波長域の光を発光する第１のマークと、固定位置に付され且つ前記第１のマークと共通の光学特性および形状を有する第２のマークとを撮像する撮像手段が撮像した画像データを取得する取得手段と、取得した画像データのうち前記第１のマークと前記第２のマークとの位置関係の変化に基づいて、前記測定対象に位置ずれが生じているかを検知する制御手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、外部環境の影響によらず高い精度で測定対象に位置ずれが生じているか否かを検知できる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る位置測定システムの構成例を示す図である。
【図２】画像処理装置のハードウェア構成図である。
【図３】第１のマークおよび第２のマークの蛍光発光物質の光学特性を示す図である。
【図４】監視カメラの撮影により取得される画像データの比較例を示す図である。
【図５】測定対象の位置を検知する方法の比較例を示す図である。
【図６】各種の画像データの例を示す図である。
【図７】本実施形態の処理の流れを示すフローチャートである。
【図８】ＧＵＩ画面の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。しかしながら、以下の各実施の形態に記載されている構成はあくまで例示に過ぎず、本発明の範囲は各実施の形態に記載されている構成によって限定されることはない。
【００１０】
図１は、本実施形態に係る位置測定システム１００の構成例を示す図である。図１の位置測定システム１００は、ベルトコンベアやロボット等を用いて製品を組み立てて、組み立てられた製品を検査する工場におけるシステムの例である。位置測定システム１００は、監視カメラ１０１、照明装置１０３、ネットワーク１０５、ハブ１０６、ＰＬＣ１０７および画像処理装置１０８を有する。監視カメラ１０１は、天井に取り付けられており、生産装置や器具、検査カメラ等が正しい位置にあることを監視するために用いられる撮像手段である。図１の例では、監視カメラ１０１が監視する監視する対象は、検査カメラ１１０、ロボット１１１、搬送物１１２、ベルトコンベア１１３および部品箱１１４である。監視カメラ１０１の監視対象（測定対象）の周囲には、固定された柱１０４が設置されている。また、監視カメラ１０１には、光学フィルタとしての赤色光透過フィルタ１０２が取り付けられている。
【００１１】
ＰＬＣ１０７および画像処理装置１０８は、ハブ１０６およびネットワーク１０５を介して、監視カメラ１０１に接続されている。画像処理装置１０８は、測定対象の位置が予め登録された位置と比べて大きく位置ずれた場合、測定対象の位置ずれを検知する。測定対象は、ワークと称されることもある。また、画像処理装置１０８は、監視カメラ１０１の設置位置や撮影視野がずれた場合、監視カメラ１０１のずれを検出する。画像処理装置１０８は、測定対象の位置ずれまたは監視カメラ１０１のずれを検知した場合、生産装置を制御するＰＬＣ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｃｏｎｔｒｏｌｌｅｒ）１０７に通知を行う。通知を受けたＰＬＣ１０７は、サイレンを鳴動させることや点滅灯を点滅されること等により、作業員に対して、測定対象に位置ずれが発生したことを通知することができる。画像処理装置１０８は、監視カメラ１０１に対してネットワーク１０５を介して撮影コマンドを発行することで、監視カメラ１０１に撮影を行わせることができる。また、画像処理装置１０８は、監視カメラ１０１が撮影した画像データを取得し、後述する画像処理によりマークの位置や姿勢を測定する。監視カメラ１０１は、測定対象ごとに設置されてもよい。また、監視カメラ１０１は、パン・チルト・ズーム対応の撮像装置であってもよい。また、複数の監視カメラ１０１が、測定対象をステレオ撮影して三次元位置計測を行ってもよい。図１の例では、監視カメラ１０１と画像処理装置１０８とは別個の装置として構成されている例を示しているが、監視カメラ１０１と画像処理装置１０８とは、一体の装置であってもよい。
【００１２】
図２は、画像処理装置１０８のハードウェア構成図である。画像処理装置１０８は、測定装置に対応する。画像処理装置１０８は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ディスプレイ２０４、ＨＤＤ２０５、入力装置２０６、メディアドライブ２０７、およびインタフェース２０８を有する。図２において、「インタフェース」は、「Ｉ／Ｆ」と表記される。制御手段としてのＣＰＵ２０１は、ＲＯＭ２０２に記憶された制御プログラムを読み出して各種処理を実行する。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリであり、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２０５は、各種データや各種プログラム等を記憶する。ディスプレイ２０４は、各種情報を表示する。入力装置２０６は、作業員等のユーザが各種操作を行う際に用いられるデバイスである。メディアドライブ２０７は、ＳＤカード等のメディアからのデータの読み出しやメディアへのデータの書き込み等を行う。インタフェース２０８は、外部機器との通信を行う。
【００１３】
画像処理装置１０８の機能や処理は、ＣＰＵ２０１が、ＲＯＭ２０２またはＨＤＤ２０５に格納されているプログラムを読み出し、読み出したプログラムを実行することにより実現される。また、ＣＰＵ２０１は、ＲＯＭ２０２等に替えて、ＳＤカード等の記録媒体に格納されているプログラムを読み出してもよい。また、画像処理装置１０８の機能や処理の少なくとも一部は、例えば複数のＣＰＵ、ＲＡＭ、ＲＯＭ、およびストレージを協働させることにより実現されてもよい。また、画像処理装置１０８の機能や処理の少なくとも一部は、ハードウェア回路を用いて実現してもよい。次に、図１および図３を参照して、測定対象の位置を測定する方法について説明する。
【００１４】
図１に示されるように、検査カメラ１１０、ロボット１１１、ベルトコンベア１１３および部品箱１１４に第１のマーク１１５が付されている。第１のマーク１１５は、検査カメラ１１０、ロボット１１１、ベルトコンベア１１３および部品箱１１４等の測定対象の位置や姿勢の変化に伴い、初期位置からずれを生じることがある。また、柱１０４には、第２のマーク１０９が付されている。柱１０４は、位置や姿勢が変化することが想定されないことから、第２のマーク１０９は、基本的に、固定位置に付されている状態である。第１のマーク１１５と第２のマーク１０９とは、共通の光学特性および形状を有している。第１のマーク１１５および第２のマーク１０９は、例えば、蛍光発光物質が塗布されたシール等であってもよい。この場合、第１のマーク１１５は、検査カメラ１１０等の測定対象に貼り付けられ、第２のマーク１０９は、柱１０４の固定位置に貼り付けられる。第１のマーク１１５および第２のマーク１０９は、貼り付け以外の手法（蛍光発光物質の塗布等）により付されてもよい。
【００１５】
第１のマーク１１５および第２のマーク１０９は、所定の励起波長の光が照射されることにより、所定の波長域の光を発光する蛍光発光物質を含む素材により構成されている。第１のマーク１１５および第２のマーク１０９は、吸収した波長域の光とは異なる波長域の光を発光する。実施形態では、第１のマーク１１５および第２のマーク１０９は、励起波長の光として紫外光が照射されると、赤色の波長域の光を発光する蛍光発光物質を含む。励起波長の光は紫外光以外の波長域の光であってもよい。また、第１のマーク１１５および第２のマーク１０９は、赤色の波長域以外の波長域の光を発光してもよい。
【００１６】
照明装置１０３は、第１のマーク１１５および第２のマーク１０９の蛍光発光物質を励起させる所定の波長域の光として紫外光を照射する。また、上述したように、監視カメラ１０１には、所定の波長域の光を透過し、他の波長域の光をカットする光学フィルタとして赤色光透過フィルタ１０２が取り付けられている。つまり、監視カメラ１０１に取り付けられる光学フィルタは、第１のマーク１１５および第２のマーク１０９が発光する波長域の光を透過し、他の波長域の光をカットする。これにより、監視カメラ１０１の撮像部は、第１のマーク１１５および第２のマーク１０９が発光する波長域の光のみを受光する。光学フィルタが透過させる所定の波長域の光は、赤色の波長域の光に限らず、任意の波長域の光であってよい。
【００１７】
図３は、第１のマーク１１５および第２のマーク１０９の蛍光発光物質の光学特性を示す図である。図３に示されるように、第１のマーク１１５および第２のマーク１０９の蛍光発光物質は、励起波長として紫外光（波長４００ｎｍ以下の波長域の光）を吸収すると、波長６００ｎｍ近傍の赤色の波長域の光を赤色反射光として発光する。一般的な蛍光灯や白熱灯は様々な波長の反射光を含むが、監視カメラ１０１が、レンズに赤色光透過フィルタ１０２が装着された状態で撮影することで、図３における赤色反射光のみを映像化した画像データを取得することができる。
【００１８】
図４は、監視カメラ１０１の撮影により取得される画像データの比較例を示す。図４（Ａ）は、照明光源は一般的な蛍光灯や白熱灯等であり、監視カメラ１０１に赤色光透過フィルタ１０２が取り付けられていない状態で、監視カメラ１０１が撮影した画像データの例である。この場合、監視カメラ１０１の撮影により取得される画像データは、柱１０４および検査カメラ１１０を含む。また、上記画像データは、柱１０４に付された第２のマーク１０９および検査カメラ１１０に付された第１のマーク１１５も含む。図４（Ｂ）は、照明装置１０３が紫外光を照射し、監視カメラ１０１のレンズに赤色光透過フィルタ１０２が取り付けられている状態で、監視カメラ１０１が撮影した画像データの例である。照明装置１０３が紫外光を照射すると、第１のマーク１１５および第２のマークの蛍光発光物質が発光し、監視カメラ１０１に赤色反射光が入射する。監視カメラ１０１の赤色光透過フィルタ１０２は、入射した赤色反射光を透過させる。一方、赤色光透過フィルタ１０２は、赤色光以外の波長域の光をカットする。これにより、監視カメラ１０１が撮影することにより取得される画像データは、図４（Ｂ）に示されるように、赤く光った第１のマーク１１５および第２のマーク１０９は含むが、検査カメラ１１０および柱１０４は含まない。
【００１９】
次に、測定対象の位置を検知する方法について説明する。図５は、測定対象の位置を検知する方法の比較例を示す図である。図５（Ａ）は、照明光源が一般的な蛍光灯や白熱灯等（通常照明）であり、監視カメラ１０１に赤色光透過フィルタ１０２が取り付けられていない場合における測定対象の位置を検知する方法の例を示す。通常照明下において撮影された画像データは、上述したように、測定対象だけでなく背景や様々な情報を映像に含むこととなる。図５（Ａ）において、ロボット１１１の位置ずれおよび検査カメラ１１０の位置ずれを測定するために、ロボット１１１の土台のスイッチ部の画像情報および検査カメラ１１０の画像情報が、パターンマッチングの基準パターンとして登録される。登録完了後に位置ずれの測定を行う際に、撮影された最新の撮影画像に対して、登録済みの基準パターンを用いて現在のロボット１１１の土台や検査カメラ１１０の位置が、パターンサーチにより測定される。この場合、監視カメラ１０１から取得した画像データは、照明光の変動や経時変化、外部からの散乱光等の外部環境の影響を受けていることがある。この場合、高い精度で測定対象に位置ずれが生じているか否かを検知できなくなる。
【００２０】
図５（Ｂ）は、照明装置１０３が紫外光を照射し、監視カメラ１０１のレンズに赤色光透過フィルタ１０２が取り付けられている場合における測定対象の位置を検知する方法の例を示す。第１のマーク１１５および第２のマーク１０９は、上述したように、共通な光学特性および形状を有する。本実施形態では、第１のマーク１１５および第２のマーク１０９の形状は、位置と姿勢とが一意に定まる形状であるものとする。例えば、円や正方形、三角形等の形状を用いた場合、中心位置や重心位置を一意に検知することはできるが、姿勢が必ずしも一意に検知できない。そこで、本実施形態では、位置と姿勢とを一意に定める形状として、第１のマーク１１５および第２のマーク１０９の形状は、半円型であるものとする。第１のマーク１１５および第２のマーク１０９の形状は、凸型や凹型等の形状であってもよい。ただし、第１のマーク１１５および第２のマーク１０９の形状は、複雑な形状でなく、且つ測定対象に類似した形状が含まれていないことが望ましい。
【００２１】
図５（Ｂ）に示されるように、位置と姿勢とが一意に定まる形状を有する第１のマーク１１５が、ロボット１１１および検査カメラ１１０にシールとして貼り付けられる。図５（Ｂ）には示されていないが、第２のマーク１０９もシールとして柱１０４に貼り付けられる。第１のマーク１１５および第２のマーク１０９がシールとして貼り付けられることで、容易に第１のマーク１１５および第２のマーク１０９を付すことができる。
【００２２】
次に、照明装置１０３は、紫外光を照射し、赤色光透過フィルタ１０２を取り付けた監視カメラ１０１が、測定対象であるロボット１１１および検査カメラ１１０を撮影する。この際、照明装置１０３は、紫外光の照射により第１のマーク１１５が十分に蛍光発光する位置関係に調整されて設置されているものとする。また、監視カメラ１０１の設置位置は、第１のマーク１１５が発光した蛍光（赤色反射光）が、監視カメラ１０１に対して最大限強い反射光となるように調整することが望ましい。
【００２３】
以上のような状態で、画像処理装置１０８は、監視カメラ１０１に対して、撮影を行わせる。監視カメラ１０１が撮影した画像データは、位置と姿勢とが一意に定まる形状を有する第１のマーク１１５を含み、第１のマーク１１５以外の背景や周辺機材等を含まない。画像処理装置１０８は、監視カメラ１０１が撮影した画像データを取得する。画像処理装置１０８のＣＰＵ２０１は、取得した画像データに含まれる第１のマーク１１５の形状を、パターンマッチングの基準パターンとして登録する。ＣＰＵ２０１は、パターンマッチングの基準パターンの登録が完了した後に、検査カメラ１１０やロボット１１１等の測定対象の位置ずれの測定を行う。ＣＰＵ２０１は、登録された基準パターンとマッチするパターンが、位置ずれの測定時に取得された最新の画像データに含まれているかをサーチ（パターンサーチ）する。これにより、ＣＰＵ２０１は、測定対象の位置ずれの測定を行う。
【００２４】
図５（Ａ）の例の場合、位置ずれの測定時に撮影された最新の画像に対して、登録済みの基準パターンを用いてロボット１１１の土台や検査カメラ１１０の位置ずれが測定される。これに対して、図５（Ｂ）のように、第１のマーク１１５を用いたパターンサーチでは、共通の形状を有しているため、測定対象ごとに個別的に異なる形状を設定する必要がない。つまり、複数の測定対象で、共通の形状を流用することが可能になる。これにより、ＣＰＵ２０１は、複数の測定対象のそれぞれについて位置ずれが生じているか否かを同時に検知することができる。そして、図５（Ｂ）の例で取得される画像データには、第１のマーク１１５および第２のマーク１０９は含まれるが、背景や周辺機材が画像に含まれない。従って、誤検知が少なく安定したパターンサーチが可能となり、測定対象の位置ずれの測定精度が向上する。
【００２５】
上述したように、画像処理装置１０８のＣＰＵ２０１は、基準パターンの登録やパターンサーチを行う。ＣＰＵ２０１は、基準パターンを登録する際に撮影された画像データをＨＤＤ２０５等に記憶し、記憶された画像データをディスプレイ２０４に表示させることができる。ＣＰＵ２０１は、ＧＵＩ（グラフィカルユーザインタフェース）プログラムを実行することで、ディスプレイ２０４にＧＵＩ画面を表示させることができる。作業員等のユーザは、ＧＵＩ画面を操作して、画像データのうちの任意領域を登録モデル領域として指定することができる。これにより、基準パターンの登録作業を容易に行うことができる。測定対象の位置ずれを測定する際には、ＣＰＵ２０１は、取得した画像データをＲＡＭ２０３に一時的に記憶し、ＨＤＤ２０５に記憶されている基準パターンを用いて、パターンマッチングを実行する。ＣＰＵ２０１は、パターンマッチングに基づく判定結果を、ＧＵＩプログラムによってディスプレイ２０４に表示する。ＣＰＵ２０１は、図７のフローチャートの処理に応じて、パターンマッチングに基づく判定結果をインタフェース２０８から外部機器に通知を行うこともできる。
【００２６】
図６の画像データの例および図７のフローチャートを参照して、本実施形態の処理を説明する。図７のフローチャートは、所定の位置検知プログラムをＣＰＵ２０１が実行することにより実現される。図７に示されるフローチャートが行われることにより、ＣＰＵ２０１は、測定対象に位置ずれが生じたかを検知できる。また、ＣＰＵ２０１は、測定対象に位置ずれが生じたのか、または監視カメラ１０１がずれたのかを判定できる。図７のＳ７０１からＳ７０４が事前処理である。例えば、ユーザが、図１に示される第１のマーク１１５を、検査カメラ１１０やロボット１１１等の測定対象に貼り付ける。また、ユーザは、柱１０４の固定位置に第２のマーク１０９を貼り付ける。第２のマーク１０９は、柱１０４以外の固定部に貼り付けられてもよい。固定部は、例えば、生産装置の架台や天井といった通常動かすことがない、または動くことがないものである。
【００２７】
ＣＰＵ２０１は、監視カメラ１０１に対して、第１のマーク１１５と第２のマーク１０９とが視野内に入るような状態で撮影を行わせる（Ｓ７０１）。つまり、監視カメラ１０１の視野は、第１のマーク１１５と第２のマーク１０９との両者が入るように設定される。監視カメラ１０１が撮影を行うと、画像処理装置１０８は、ネットワーク１０５およびハブ１０６を介して、監視カメラ１０１から画像データを取得する（Ｓ７０２）。Ｓ７０２で取得される画像データは、測定対象の位置ずれの測定を行う際の基準となる基準画像データである。ＣＰＵ２０１は、取得した基準画像データから基準パターンを登録する（Ｓ７０３）。
【００２８】
基準画像データは、照明装置１０３が紫外光を照射し、監視カメラ１０１に赤色光透過フィルタ１０２が取り付けられている状態で撮影された場合に取得される画像データである。基準画像データには、赤く光った第１のマーク１１５および第２のマーク１０９が含まれている。ＣＰＵ２０１は、基準画像データに含まれる第１のマーク１１５の形状および第２のマーク１０９の形状を基準パターンとして登録する。ＣＰＵ２０１は、基準パターンの登録は、正規化相関や輪郭情報に基づいた手法等により、基準画像データから基準パターンを特定して、特定された基準パターンを登録してもよい。以下、第１のマーク１１５に対応する基準パターンを第１の基準パターンとし、第２のマーク１０９に対応する基準パターンを第２の基準パターンとする。
【００２９】
ＣＰＵ２０１は、基準パターンとして登録された各基準パターンの中心位置を算出し、各中心位置の間の相対距離（基準相対距離）を算出する（Ｓ７０４）。ＣＰＵ２０１は、画像データにおける直交する２方向（Ｘ方向およびＹ方向）の座標系を用いて、各基準パターンの中心位置の座標を算出する。１つの第２の基準パターンと複数の第１の基準パターンとが対応する場合、ＣＰＵ２０１は、複数の第１の基準パターンのそれぞれについて、対応する第２の基準パターンとの間の基準相対距離を算出する。
【００３０】
図６を参照して、相対距離の算出方法について説明する。図６（Ａ）は、基準画像データの一例を示す。なお、説明のため、図６（Ａ）〜（Ｃ）の各画像データでは、柱１０４および検査カメラ１１０が破線で表されているが、各画像データは、柱１０４および検査カメラ１１０を含まない。上述したように、照明装置１０３から紫外光が照射され、且つ監視カメラ１０１に赤色光透過フィルタ１０２が取り付けられている状態で撮影された画像データは、第１のマーク１１５および第２のマーク１０９を含むが、背景等は含まないためである。
【００３１】
図６（Ａ）の基準画像データは、第１のマーク１１５に対応する第１の基準パターン６０１ａおよび第２のマーク１０９に対応する第２の基準パターン６０２ａを含む。ＣＰＵ２０１は、画像原点からＸ方向およびＹ方向における第１の基準パターン６０１ａおよび第２の基準パターン６０２ａの座標を求める。当該座標は、各基準パターンの中心である。図６において、第１の基準パターン６０１ａおよび第２の基準パターン６０２ａに示される直交する２つの矢印の交差点が、各基準パターンの座標を表す。ＣＰＵ２０１は、求めた第１の基準パターン６０１ａの座標および第２の基準パターン６０２ａの座標から、第１の基準パターン６０１ａと第２の基準パターン６０２ａとの基準相対距離６０３ａを算出する。第１の基準パターン６０１ａの座標、第２の基準パターン６０２ａの座標および基準相対距離６０３は、以下の式１、式２および式３で表される。
第１の基準パターンの座標Ｐ１＝（Ｘ０,Ｙ０,θ０）・・・（式１）
第２の基準パターンの座標Ｐ２＝（Ｘ１,Ｙ１,θ１）・・・（式２）
基準相対距離Ｌ＝（（Ｘ１−Ｘ０）２＋（Ｙ１−Ｙ０）２）１/２・・・（式３）
【００３２】
図７のフローチャートに示されるように、ＣＰＵ２０１は、所定時間経過後に、監視カメラ１０１が撮影した画像データを取得する（Ｓ７０４）。所定時間は、任意の時間に設定することが可能である。監視カメラ１０１による撮影条件は、Ｓ７０２で基準画像データが取得された際の撮影条件と同等であるものとする。ＣＰＵ２０１は、取得された画像データから、第１の基準パターンにマッチするパターン（第１のパターン）および第２の基準パターン（第２のパターン）にマッチするパターン（第２のパターン）をサーチする（Ｓ７０６）。ＣＰＵ２０１は、Ｓ７０６のパターンサーチの結果として第１のパターンの座標および第２のパターンの座標を求める。また、ＣＰＵ２０１は、求められた２つの座標に基づいて、第１のパターンの移動量、第２のパターンの移動量および相対距離の変化量を算出する（Ｓ７０７）。相対距離は、第１のパターンと第２のパターンとの間の距離であり、相対距離の変化量は、Ｓ７０７で算出された相対距離と基準相対距離との差である。ＣＰＵ２０１は、第１のパターンの移動量、第２のパターンの移動量および相対距離の変化量に関する情報を、ＲＡＭ２０３やＨＤＤ２０５に記憶する。第１のパターンの座標、第２のパターンの座標および相対距離は、以下の式４、式５および式６により算出される。
第１のパターンの座標Ｐ１’＝（Ｘ０’,Ｙ０’,θ０’）・・・（式４）
第２のパターンの座標Ｐ２‘＝（Ｘ１’,Ｙ１‘,θ１’）・・・（式５）
相対距離Ｌ’＝（（Ｘ１’−Ｘ０’）２＋（Ｙ１’−Ｙ０’）２）１/２・・・（式６）
【００３３】
ＣＰＵ２０１は、以下の式７、式８および式９により、第１のパターンの移動量、第２のパターンの移動量および相対距離の変化量を算出する。
第１のパターンの移動量Ｓａ０＝（｜Ｘ０’−Ｘ０｜,｜Ｙ０’−Ｙ０｜,｜θ０’−θ０｜）・・・（式７）
第２のパターンの移動量Ｓａ１＝（｜Ｘ１’−Ｘ１｜,｜Ｙ１’−Ｙ１｜,｜θ１’−θ１｜）・・・（式８）
相対距離の変化量ＳａＬ＝｜Ｌ‘−Ｌ｜・・・（式９）
【００３４】
ＣＰＵ２０１は、Ｓ７０７で算出された第１のパターンの移動量Ｓａ０が第１の閾値以上であるかを判定する（Ｓ７０８）。第１の閾値は、後述するＧＵＩ画面において、任意に設定することが可能である。第１のパターンの移動量Ｓａ０は、第１のマーク１１５の移動量に対応する。ＣＰＵ２０１は、第１のパターンのＸ方向の移動量（｜Ｘ０’−Ｘ０｜）とＹ方向の移動量（｜Ｙ０’−Ｙ０｜）と回転方向の移動量（｜θ０’−θ０｜）とのそれぞれについて、Ｓ７０８の判定を行ってもよい。この場合、第１の閾値は、Ｘ方向とＹ方向と回転方向（θ方向）とのそれぞれの方向によって異なる。
【００３５】
Ｘ方向についての第１の閾値は、第１の移動量閾値に対応する。Ｙ方向についての第１の閾値は、第２の移動量閾値に対応する。回転方向についての第１の閾値は、回転量閾値（回転方向の移動量の閾値）に対応する。ＣＰＵ２０１は、第１のパターンのＸ方向の移動量とＹ方向の移動量と回転方向の移動量とのうち何れか１つでも、対応する閾値以上である場合には、Ｓ７０８でＹＥＳと判定する。一方、第１のパターンのＸ方向の移動量とＹ方向の移動量と回転方向の移動量との全てが、対応する閾値未満である場合に、Ｓ７０８でＮＯと判定する。つまり、ＣＰＵ２０１は、第１のパターンのＸ方向の移動量が第１の移動量閾値未満であり、第１のパターンのＹ方向の移動量が第２の移動量閾値未満であり、且つ回転方向の移動量が回転量閾値未満である場合に、Ｓ７０８でＮＯとする。この場合、ＣＰＵ２０１は、測定結果は正常であると判定する（Ｓ７０９）。ＣＰＵ２０１は、測定結果が正常であることを示す情報を、ディスプレイ２０４に表示することができる。また、ＣＰＵ２０１は、測定結果が正常であることを示す情報を、インタフェース２０８を介して外部機器に送信することで、ユーザに通知を行うこともできる。
【００３６】
Ｓ７０８でＹＥＳと判定された場合、測定結果は正常ではない。測定結果が正常とならないケースは、測定対象にずれが生じたケースと、監視カメラ１０１にずれが生じたケースとが想定される。本実施形態では、ＣＰＵ２０１は、Ｓ７０８でＹＥＳと判定された場合、測定対象にずれが生じたのか、または監視カメラ１０１にずれが生じたのかを特定する。このため、ＣＰＵ２０１は、上述した相対距離の変化量ＳａＬが第２の閾値以上であるかを判定する（Ｓ７１０）。第２の閾値も任意に設定することが可能である。Ｓ７１０でＹＥＳと判定された場合、ＣＰＵ２０１は、測定対象にずれが生じたと判定する（Ｓ７１１）。Ｓ７１０でＮＯと判定された場合、ＣＰＵ２０１は、監視カメラ１０１にずれが生じたと判定する（Ｓ７１２）。ＣＰＵ２０１は、ずれを検知した測定結果を示す情報とともに、監視カメラ１０１と測定対象との何れにずれが生じたのかを示す情報を、ディスプレイ２０４に表示することができる。また、ＣＰＵ２０１は、上記の情報を、インタフェース２０８を介して外部機器に送信することで、ユーザに通知を行うこともできる。
【００３７】
Ｓ７１１の処理は、Ｓ７０８でＹＥＳと判定され、且つＳ７１０でＹＥＳと判定された場合に実行される。つまり、Ｓ７１１の処理は、第１のパターンの移動量Ｓａ０が大きく、且つ相対距離の変化量ＳａＬが大きい場合に実行される。図６（Ｂ）は、測定対象としての検査カメラ１１０に位置ずれが生じた場合に取得される画像データの例を示す。測定対象としての検査カメラ１１０が傾いたことにより、第１のマーク１１５に位置ずれが生じている。従って、画像データにおける第１のパターン６０１ｂの座標も、第１の基準パターン６０１ａの座標から変化している。図６（Ｂ）の例において、第１のパターン６０１ｂの移動量（第１のパターンの移動量Ｓａ０）が第１の閾値以上であるとする。従って、Ｓ７０８でＹＥＳと判定される。また、検査カメラ１１０が傾いたことにより、第１のパターン６０１ｂと第２のパターン６０２ｂとの間の相対距離６０３ｂも、図６（Ａ）の基準相対距離６０３ａから変化している。このときの相対距離の変化量ＳａＬが、第１の閾値以上であるとする。従って、Ｓ７１０ＹＥＳと判定される。これにより、ＣＰＵ２０１は、測定対象としての検査カメラ１１０に位置ずれが生じたと判定できる。ＣＰＵ２０１は、測定対象に位置ずれが生じたことを示す情報を表示または通知する。
【００３８】
Ｓ７１２の処理は、Ｓ７０８でＹＥＳと判定され、且つＳ７１１でＮＯと判定された場合に実行される。監視カメラ１０１の設置位置または視野方向にずれを生じた場合、ＣＰＵ２０１が取得する画像データに含まれる第１のパターン６０１ｃの座標は、図６（Ａ）に示される第１の基準パターン６０１ａの座標からずれる。同様に、ＣＰＵ２０１が取得する画像データに含まれる第２のパターン６０２ｃの座標も、図６（Ａ）に示される第１のパターン６０１ｃの座標からずれる。図６（Ｃ）の画像データは、図６（Ａ）の基準画像データと比べて、監視カメラ１０１が右方向にずれたケースを示している。図６（Ｃ）の例において、第１のパターン６０１ｃの移動量（第１のパターンの移動量Ｓａ０）が第１の閾値以上であるとする。この場合、Ｓ７０８でＹＥＳと判定される。また、監視カメラ１０１が右方向にずれたことにより、第１のパターン６０１ｃと第２のパターン６０２ｃとの間の相対距離６０３ｃは、図６（Ａ）の基準相対距離６０３ａから変化していないか、または変化量が小さい。これは、第１のパターン６０１ｃの座標の変化は、監視カメラ１０１が右方向にずれたことに起因しているためである。従って、Ｓ７１０でＮＯと判定された場合、ＣＰＵ２０１は、監視カメラ１０１にずれが生じたと判定できる。ＣＰＵ２０１は、監視カメラ１０１にずれが生じたことを示す情報を表示または通知する。
【００３９】
Ｓ７０９、Ｓ７１１またはＳ７１２の処理が行われた場合、ＣＰＵ２０１は、処理を終了するかを判定する（Ｓ７１３）。Ｓ７１３でＮＯと判定された場合、フローは、Ｓ７０５に移行する。Ｓ７１４でＹＥＳと判定された場合、処理は終了する。ＣＰＵ２０１は、Ｓ７０９、Ｓ７１２またはＳ７１３の結果に応じて、再度の確認のために撮影と測定を行う処理を加えてもよい。また、ＣＰＵ２０１は、一定時間の経過または一定回数の繰り返し処理が行われるまでＳ７０５〜Ｓ７１２の処理を継続して実行してもよい。
【００４０】
図８は、ディスプレイ２０４に表示されるＧＵＩ画面８０１の一例を示す図である。ＧＵＩ画面８０１は、ＣＰＵ２０１の制御によりディスプレイ２０４に表示される。また、ＧＵＩ画面において、マウス等の入力装置２０６に対する操作を画像処理装置１０８が受け付けることにより、各種の設定が行われる。ＧＵＩ画面８０１を用いた操作は、ユーザにより行われる。ＧＵＩ画面８０１は、基準画像表示ボタン８０９が設けられる。基準画像表示ボタン８０９が押下されると、ＣＰＵ２０１は、監視カメラ１０１に基準画像データの撮影を行わせる。ＧＵＩ画面８０１は、参照ボタン８１１を含む。参照ボタン８１１が押下されると、ＣＰＵ２０１は、ＨＤＤ２０５等に記憶されている画像データを基準画像データとして指定する。
【００４１】
ＧＵＩ画面８０１は、固定位置設定ボタン８０２を含む。ＧＵＩ画面８０１に含まれる画像ウィンドウ８１６において、マウス等の入力装置２０６の操作により、ドラッグ操作およびドロップ操作が可能である。当該操作により、柱１０４等の固定部に取り付けられた第２のマークの周囲を囲うような領域８１２を設定することができる。ＣＰＵ２０１が実行するプログラムに、図８に示される半円マーク形状のパターン（第２のパターン）が事前に登録されていると、領域８１２の指定だけで、ＣＰＵ２０１は、パターンマッチングを行うことができる。つまり、ＣＰＵ２０１は、領域８１２に絞ってパターンマッチングを行う。これにより、画像データの全ての領域を対象とする場合と比較して、パターンマッチングの処理量が低減する。画像ウィンドウ８１６には、第２のマークの検知位置８１３が表示される。このときの第２のマークの位置の値が座標情報８０３に表示される。
【００４２】
ＧＵＩ画面８０１に含まれる測定位置設定ボタン８０４を押下する操作がされると、画像ウィンドウ８１６において、マウス等の入力装置２０６の操作により、ドラッグ操作およびドロップ操作が可能である。当該操作により、検査カメラ１１０等の測定対象に取り付けられた第１のマークの周囲を囲うような領域８１４を設定することができる。ＣＰＵ２０１が実行するプログラムに、図８に示される半円マーク形状のパターン（第１のパターン）が事前に登録されていると、領域８１４の指定だけで、ＣＰＵ２０１は、パターンマッチングを行うことができる。つまり、ＣＰＵ２０１は、領域８１４に絞ってパターンマッチングを行う。これにより、画像データの全ての領域を対象とする場合と比較して、パターンマッチングの処理量が低減する。このときの第２のマークの位置の値が座標情報８０５に表示される。
【００４３】
ＧＵＩ画面８０１は、閾値設定項目８０６、８０７および８０８を含む。閾値設定項目８０６は、柱１０４等の固定部に付された第２のマークの移動量が正常であるか否かを判定するために用いられる閾値（第３の閾値）を設定する項目である。図８の例では、「固定位置の閾値」に対応する。閾値設定項目８０７は、検査カメラ１１０等の測定対象に付された第１のマークの移動量が正常であるか否かを判定するために用いられる第１の閾値を設定する項目である。図８の例では、「測定位置の閾値」に対応する。上述したように、第１のパターンの変化量が第１の閾値以上であるかは、Ｘ、Ｙおよびθのそれぞれについて行われる。第２のマークに対応する第２のパターンの変化量も同様である。閾値設定項目８０６および８０７は、Ｘ、Ｙおよびθのそれぞれについて第１の閾値および第３の閾値を設定可能であってもよい。また、閾値設定項目８０６および８０７は、単位がピクセルであるＸおよびＹは１つの項目として、単位が角度であるθは別の項目として設定可能であってもよい。
【００４４】
ＧＵＩ画面８０１は、検査開始ボタン８１０を含む。図８では、検査開始ボタン８１０は、「位置ずれ検査開始」として示される。検査開始ボタン８１０は、本実施形態の測定を開始するためのボタンである。検査開始ボタン８１０が押下されると、ＣＰＵ２０１は、監視カメラ１０１に撮影を行わせる。これにより、ＣＰＵ２０１は、現在の画像データを監視カメラ１０１から取得する。ＣＰＵ２０１は、指定された領域８１２および８１４の中で、パターンマッチングを行う。ＣＰＵ２０１は、パターンマッチングを行い、第１のパターンの移動量Ｓａ０、第２のパターンの移動量Ｓａ１および相対距離の変化量ＳａＬを求める。そして、ＣＰＵ２０１は、Ｓ７０８において、第１のパターンの移動量Ｓａ０および第２のパターンの移動量Ｓａ１が、Ｘ、Ｙおよびθのそれぞれについて、対応する閾値以上であるかを判定する。また、ＣＰＵ２０１は、Ｓ７１０において、相対距離の変化量ＳａＬが第２の閾値以上であるかを判定する。
【００４５】
ＧＵＩ画面８０１は、判定結果項目８１７、８１８、８１９および８２０を含む。ＣＰＵ２０１は、判定結果項目８１７において、第１のパターンの移動量Ｓａ０が第１の閾値以上である場合、「ＮＧ」を表示し、第１の閾値未満である場合、「ＯＫ」を表示する。ＣＰＵ２０１は、判定結果項目８１８において、第２のパターンの移動量Ｓａ１が第１の閾値以上である場合、「ＮＧ」を表示し、第１の閾値未満である場合、「ＯＫ」を表示する。ＣＰＵ２０１は、判定結果項目８１８において、相対距離の変化量ＳａＬが第２の閾値以上である場合、「ＮＧ」を表示し、第２の閾値未満である場合、「ＯＫ」を表示する。判定結果項目８２０は、総合的な判定結果を示す。図８の例では、判定結果項目８２０は、位置ずれが発生していることを示す。「ＯＫ」は正常であることを示し、「ＮＧ」は正常でないことを示す。以上の測定処理は、ユーザが検査開始ボタン８１０を押下したタイミングで開始される。ただし、ＣＰＵ２０１が実行するプログラムに、タイマー機能や繰り返し機能が設定されている場合は、ＣＰＵ２０１は、測定処理を自動で開始してもよい。
【００４６】
以上のように、本実施形態では、共通の光学特性および形状を有する第１のマークと第２のマークとについて、第１のマークが測定対象に付され、第２のマークが固定部の固定位置に付される。そして、照明装置１０３が、測定対象および固定部に紫外光を照射し、赤色光透過フィルタ１０２が取り付けられた監視カメラ１０１が、測定対象および固定部を撮影する。画像処理装置１０８のＣＰＵ２０１は、監視カメラ１０１から画像データを取得し、取得した画像データに含まれる第１のマークと第２のマークとの位置関係の変化に基づいて、測定対象に位置ずれが生じているかを検知する。従って、ＣＰＵ２０１が監視カメラ１０１から高いコントラストの画像データを取得することができる。これにより、照明光の変動や経時変化、外部からの散乱光の影響等により高いコントラストを得ることが難しい環境においても、高い精度で測定対象に位置ずれが生じているか否かを検知できる。つまり、画像処理装置１０８は、設置環境や照明機器の選定等の影響を受けない、外部環境変化にロバスト性を有する。画像処理装置１０８は、通常、人が立ちいらないために暗室となっているような倉庫や管理棟における測定対象の位置ずれ検知にも適用することができる。
【００４７】
また、測定対象の蛍光発光物の形状は、位置と姿勢とが一意に検知可能な形状に共通化されている。これにより、測定対象の形状ごとに画像処理方法を変える必要がなく、共通の画像処理方法を使用することができる。例えば、測定対象物の形状が変化し、または新たな測定対象が追加された場合でも、画像処理装置１０８の画像処理設定の変更を要することなく、短時間でシステム変更が可能になる。
【００４８】
以上において、監視カメラ１０１の視野内に複数の測定対象が含まれており、且つ各測定対象のそれぞれに第１のマークが付されている場合、測定対象の種別ごとに第１のマークの形状が異なっていてもよい。また、目的に応じて第１のマークの形状が異なっていてもよい。これにより、管理や運用面において利便性が高まる。また、本実施形態では、ＣＰＵ２０１は、測定対象の位置を検知する。従って、本実施形態は、位置検知を利用してロボットアーム等を組み合わせた取り出し作業や製造ラインでの加工等にも適用できる。この場合、第１のマークはロボットアームに付されており、測定対象はロボットアームとなる。
【００４９】
上述した例では、ＣＰＵ２０１は、パターンマッチングにより、事前に登録された第１の基準パターンにマッチする第１のパターンを特定し、第１のパターンに対応する測定対象を選定する。ＣＰＵ２０１は、二値化による画像処理手法やエッジ成分を取得して大まかに輪郭を取得する画像処理手法等により、第１のパターンに対応する測定対象を選定してもよい。
【００５０】
以上、本発明の好ましい実施の形態について説明したが、本発明は上述した各実施の形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。本発明は、上述の各実施の形態の１以上の機能を実現するプログラムを、ネットワークや記憶媒体を介してシステムや装置に供給し、そのシステム又は装置のコンピュータの１つ以上のプロセッサーがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５１】
１０１  監視カメラ
１０２  赤色光透過フィルタ
１０３  照明装置
１０８  画像処理装置
１０９  第２のマーク
１１５  第１のマーク
２０１  ＣＰＵ
８０１  ＧＵＩ画面
【図１】
2020140359.tif 000003
【図２】
2020140359.tif 000004
【図３】
2020140359.tif 000005
【図４】
2020140359.tif 000006
【図５】
2020140359.tif 000007
【図６】
2020140359.tif 000008
【図７】
2020140359.tif 000009
【図８】
2020140359.tif 000010