(57)【特許請求の範囲】
【請求項１】
円柱状の物体を第１視点と第２視点とからそれぞれ撮像して得た第１視点画像と第２視点画像とを記憶する視差画像記憶部と、
前記第１視点画像と第２視点画像とを表示する視差画像表示部と、
前記第１視点画像中に前記物体の中心軸に平行な前記物体の第１輪郭線と第２輪郭線とを検出する輪郭線検出部と、
前記第１及び第２輪郭線の線上にそれぞれ第１測定点と第２測定点とを指定する測定点指定部と、
前記第２視点画像中に前記第１及び第２測定点に対応する第１対応点と第２対応点とを導出する対応点導出部と、
前記第１測定点を固定して前記第２測定点を前記第２輪郭線上で走査し、走査位置に応じて更新される第２測定点ごとに前記第２対応点を更新する測定点更新部と、
前記第１対応点と前記測定点更新部で更新された第２対応点ごとに前記物体の直径を算出し、算出された直径の中の最小値を前記物体の直径とする直径算出部と、
を有することを特徴とする円柱状物体の直径測定装置。
【請求項２】
前記第１及び第２測定点のうち、撮影距離の近い方が第１測定点に設定される請求の範囲第１項記載の円柱状物体の直径測定装置。
【請求項３】
前記測定点更新部は、前記第２測定点の走査時に第２測定点が前記第１視点画像に対して予め設定された第１測定枠を越える場合、あるいは第２対応点が前記第２視点画像に対して予め設定された第２測定枠を越える場合には、第２測定点と第２対応点がそれぞれ第１測定枠と第２測定枠の内側に収まるように第２測定点を前記第１視点画像の第２輪郭線上に固定し、前記第１測定点を前記第１輪郭線上で走査させながら第１測定点を更新するとともに前記第２視点画像中で第１対応点を順次に更新する請求の範囲第１項又は第２項記載の円柱状物体の直径測定装置。
【請求項４】
前記対応点導出部は、前記測定点指定部で前記第１視点画像の前記第１及び第２輪郭線の線上に第１及び第２測定点が指定された際に、前記第２視点画像中に前記第１及び第２測定点にそれぞれ対応する第１及び第２対応点をステレオマッチング処理により導出し、前記第１及び第２対応点を結ぶ線分の各々の延長方向に設定された一定幅の直線検出エリア内で前記第１及び第２輪郭線に対応する第２視点画像中の第１対応輪郭線と第２対応輪郭線を探索し、検出された前記第１及び第２対応輪郭線上に前記第１及び第２対応点の位置を更新する請求の範囲第１項〜第３項のいずれか記載の円柱状物体の直径測定装置。
【請求項５】
前記対応点導出部は、前記測定点指定部で前記第１視点画像の前記第１及び第２輪郭線の線上に第１及び第２測定点が指定され、前記第２視点画像中に前記第１及び第２測定点にそれぞれ対応する第１及び第２対応点をステレオマッチング処理により導出した後、前記第１測定点と第２測定点とを結ぶ線分、又は前記第１対応点と第２対応点とを結ぶ線分の視差方向に対する角度θに基づいて前記第２視点画像中の第１対応点及び第２対応点に近接して設定される一定幅の直線検出エリアの向きを変更した後、前記第１及び第２輪郭線に対応する第２視点画像中の第１対応輪郭線と第２対応輪郭線とを前記直線検出エリアから探索し、検出された第１及び第２対応輪郭線上に前記第１及び第２対応点の位置を更新する請求の範囲第１項〜第３項のいずれか記載の円柱状物体の直径測定装置。
【請求項６】
前記角度θが４５°以上である場合には、前記第１又は第２対応点のうち、上方に位置する対応点にはその下側に、下方に位置する対応点にはその上側に前記直線検出エリアを設定し、前記角度θが４５°未満である場合には、前記第１又は第２対応点のうち、左方に位置する対応点にはその右側に、右方に位置する対応点にはその左側に前記直線検出エリアが設定される請求の範囲第５項記載の円柱状物体の直径測定装置。
【請求項７】
円柱状の物体を第１視点と第２視点で撮像して得た第１視点画像と第２視点画像とを記憶する視差画像記憶ステップと、
前記第１視点画像と第２視点画像とを表示する視差画像表示ステップと、
前記第１視点画像中に前記物体の中心軸に平行な前記物体の第１輪郭線と第２輪郭線とを検出する輪郭線検出ステップと、
前記第１及び第２輪郭線の線上にそれぞれ第１測定点と第２測定点とを指定する測定点指定ステップと、
前記第２視点画像中に前記第１及び第２測定点に対応する第１対応点と第２対応点とを導出する対応点導出ステップと、
前記第１測定点を固定して前記第２測定点を前記第２輪郭線上で走査し、走査位置に応じて更新される第２測定点ごとに前記第２対応点を更新する測定点更新ステップと、
前記第１対応点と更新された第２対応点ごとに前記物体の直径を算出し、算出された直径の中の最小値を前記物体の直径とする直径算出ステップと、
を有することを特徴とする円柱状物体の直径測定方法。
【請求項８】
前記第１及び第２測定点のうち、撮影距離の近い方が第１測定点に設定される請求の範囲第７項記載の円柱状物体の直径測定方法。
【請求項９】
前記測定点更新ステップは、前記第２測定点の走査時に第２測定点が前記第１視点画像に対して予め設定された第１測定枠を越える場合、あるいは第２対応点が前記第２視点画像に対して予め設定された第２測定枠を越える場合には、第２測定点と第２対応点がそれぞれ第１測定枠と第２測定枠の内側に収まるように第２測定点を前記第１視点画像の第２輪郭線上に固定し、前記第１測定点を前記第１輪郭線上で走査させながら第１測定点を更新するとともに前記第２視点画像中で第１対応点を順次に更新する請求の範囲第８項記載の円柱状物体の直径測定方法。
【請求項１０】
前記対応点導出ステップは、前記測定点指定ステップで前記第１視点画像の前記第１及び第２輪郭線の線上に第１及び第２測定点が指定された際に、前記第２視点画像中に前記第１及び第２測定点にそれぞれ対応する第１及び第２対応点をステレオマッチング処理により導出し、前記第１及び第２対応点を結ぶ線分の各々の延長方向に設定された一定幅の直線検出エリア内で前記第１及び第２輪郭線に対応する第２視点画像中の第１対応輪郭線と第２対応輪郭線を探索し、検出された前記第１及び第２対応輪郭線上に前記第１及び第２対応点の位置を更新する請求の範囲第７項〜第９項のいずれか記載の円柱状物体の直径測定方法。
【請求項１１】
前記対応点導出ステップは、前記測定点指定ステップで前記第１視点画像の前記第１及び第２輪郭線の線上に第１及び第２測定点が指定され、前記第２視点画像中に前記第１及び第２測定点にそれぞれ対応する第１及び第２対応点をステレオマッチング処理により導出した後、前記第１測定点と第２測定点とを結ぶ線分、又は前記第１対応点と第２対応点とを結ぶ線分の視差方向に対する角度θに基づいて前記第２視点画像中の第１対応点及び第２対応点に近接して設定される一定幅の直線検出エリアの向きを変更した後、前記第１及び第２輪郭線に対応する第２視点画像中の第１対応輪郭線と第２対応輪郭線とを前記直線検出エリアから探索し、検出された第１及び第２対応輪郭線上に前記第１及び第２対応点の位置を更新する請求の範囲第７項〜第９項のいずれか記載の円柱状物体の直径測定方法。
【請求項１２】
前記角度θが４５°以上である場合には、前記第１又は第２対応点のうち、上方に位置する対応点にはその下側に、下方に位置する対応点にはその上側に前記直線検出エリアを設定し、前記角度θが４５°未満である場合には、前記第１又は第２対応点のうち、左方に位置する対応点にはその右側に、右方に位置する対応点にはその左側に前記直線検出エリアが設定される請求の範囲第１１項記載の円柱状物体の直径測定方法。
【請求項１３】
円柱状の物体を第１視点と第２視点で撮像して得られた第１視点画像と第２視点画像とを記憶する視差画像記憶ステップと、
前記第１視点画像と第２視点画像とを表示する視差画像表示ステップと、
前記第１視点画像中に前記物体の中心軸に平行な前記物体の第１輪郭線と第２輪郭線とを検出する輪郭線検出ステップと、
前記第１及び第２輪郭線の線上にそれぞれ第１測定点と第２測定点とを指定する測定点指定ステップと、
前記第２視点画像中に前記第１及び第２測定点に対応する第１対応点と第２対応点とを導出する対応点導出ステップと、
前記第１測定点を固定して前記第２測定点を前記第２輪郭線上で走査し、走査位置に応じて更新される第２測定点ごとに前記第２対応点を更新する測定点更新ステップと、
前記第１対応点と更新された第２対応点ごとに前記物体の直径を算出し、算出された直径の中の最小値を前記物体の直径とする直径算出ステップと、
をコンピュータに実行させるための円柱状物体の直径測定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つの視点から撮像して得た視差画像に基づいて、円柱状物体の直径を測定する測定装置及び測定方法、測定プログラムに関するものである。
【背景技術】
【０００２】
一定の間隔を開けた２つの視点から対象物体の視点画像をそれぞれ撮像し、対象物体上の特定点がそれぞれの視点画像中で確認することができれば、これらの視点画像を視差画像として利用し、三角測量の原理に基づいて撮像位置から対象物体までの距離を算出することが可能である。【０００３】
また、同様に２つの視点から円柱状物体を撮像して２枚の視点画像を得、これらを視差画像として利用することにより円柱状物体の直径を測定することが可能である。特許文献１に記載の手法では、視差画像により円柱状物体の中心軸と直交する平面を仮想的に定め、そしてこの平面と物体の円柱面とが交差する交線に相当する円に対し、先の平面内で一対の接線を引いて各接点の座標及び一対の接線の交点の座標を求め、さらに２つの視点の相互間隔や撮像位置から円柱状物体までの距離などを加味することによって円柱状物体の直径を算出している。【０００４】
また、特許文献２で知られるように、円柱状物体上の３点に光ビームを照射したまま２つの視点から視点画像を撮像するアクティブ方式を用いることもできる。この方式は、円柱状物体に投影された光ビームの光点を視差画像とともに利用することができ、円柱状物体が奥行き方向で傾いている場合でも不都合なく測定できるという利点がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−１３９９１８号公報
【特許文献２】特開２０１０−２４３２７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところが、特許文献１記載の手法では、各視点画像に円柱状物体の輪郭線として画像化されている円周面の各々に接線を引き、これらの接線を数式化する段階で誤差が入りやすい。しかも、円柱状物体が画像の奥行き方向に傾いて撮像された場合には、円柱の中心軸に直交する平面を設定するときにも誤差が含まれやすくなる。また、特許文献２の手法は対象物体の複数箇所に光ビームを照射しなければならず、装置が大型化して初期設定や調整に手間がかかるなどの難点がある。【０００７】
本発明の目的は、測定対象となる円柱状物体の姿勢が一定していなくても、簡便に撮像された視差画像に基づいて円柱状物体の直径を精度よく測定することができる測定装置及び測定方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明の円柱状物体の直径測定装置は、視差画像記憶部と、視差画像表示部と、輪郭線検出部と、測定点指定部と、対応点導出部と、測定点更新部と、直径算出部とを備える。視差画像記憶部は、円柱状の物体を第１視点と第２視点とからそれぞれ撮像して得た第１視点画像と第２視点画像とを視差画像として記憶する。視差画像表示部は、第１視点画像と第２視点画像とを表示する。輪郭線検出部は、第１視点画像中に物体の中心軸と平行な第１輪郭線と第２輪郭線とを検出する。測定点指定部は、検出された第１及び第２輪郭線の線上にそれぞれ第１測定点と第２測定点とを指定する。対応点導出部は、第２視点画像中に第１及び第２測定点に対応する第１対応点と第２対応点とを導出する。測定点更新部は、第１測定点を固定して第２測定点を第２輪郭線上で走査し、走査位置に応じて更新される第２測定点ごとに第２対応点を更新する。直径算出部は、第１対応点と測定点更新部で更新された第２対応点ごとに物体の直径を算出し、算出された直径の中の最小値を円柱状物体の直径として決定する。測定の精度を高める上では、第１及び第２測定点のうち、撮影距離の近い方を第１測定点に設定することが望ましい。【０００９】
測定点更新部は、第２測定点の走査時に第２測定点が第１視点画像に対して予め設定された第１測定枠を越える場合、あるいは第２対応点が第２視点画像に対して予め設定された第２測定枠を越える場合には、第２測定点と第２対応点がそれぞれ第１測定枠と第２測定枠の内側に収まるように第２測定点を第１視点画像の第２輪郭線上に固定し、第１測定点を第１輪郭線上で走査させながら第１測定点を更新するとともに第２視点画像中で第１対応点を順次に更新する機能を備えることが望ましい。
【００１０】
対応点導出部は、測定点指定部で第１視点画像の第１及び第２輪郭線の線上に第１及び第２測定点が指定された際に、第２視点画像中に第１及び第２測定点にそれぞれ対応する第１及び第２対応点をステレオマッチング処理により導出するとともに、第１及び第２対応点を結ぶ線分の各々の延長方向に設定された一定幅の直線検出エリア内で第１及び第２輪郭線に対応する第２視点画像中の第１対応輪郭線と第２対応輪郭線を探索し、検出された第１及び第２対応輪郭線上に第１及び第２対応点の位置を更新する機能を備えることが望ましい。【００１１】
また、対応点導出部に、測定点指定部で第１視点画像の第１及び第２輪郭線の線上に第１及び第２測定点が指定され、第２視点画像中に第１及び第２測定点にそれぞれ対応する第１及び第２対応点をステレオマッチング処理により導出した後、第１測定点と第２測定点とを結ぶ線分、又は前記第１対応点と第２対応点とを結ぶ線分の視差方向に対する角度θに基づいて第２視点画像中の第１対応点及び第２対応点に近接して設定される一定幅の直線検出エリアの向きを変更した後、第１及び第２輪郭線に対応する第２視点画像中の第１対応輪郭線と第２対応輪郭線とを直線検出エリア内で探索し、検出された第１及び第２対応輪郭線上に第１及び第２対応点の位置を更新する機能をもたせるとよい。【００１２】
上記の角度θが４５°以上である場合には、第１又は第２対応点のうち、上方に位置する対応点にはその下側に、下方に位置する対応点にはその上側に直線検出エリアを設定し、角度θが４５°未満である場合には、第１又は第２対応点のうち、左方に位置する対応点にはその右側に、右方に位置する対応点にはその左側に直線検出エリアを設定できるようにしておくことが望ましい。【００１３】
本発明の円柱状物体の直径測定方法は、視差画像記憶ステップと、視差画像表示ステップと、輪郭線検出ステップと、測定点指定ステップと、対応点導出ステップと、測定点更新ステップと、直径算出ステップとを有する。視差画像記憶ステップでは、円柱状の物体を第１視点と第２視点で撮像して得た第１視点画像と第２視点画像とが画像データとしてメモリに記憶される。視差画像表示ステップでは、第１視点画像と第２視点画像とが好ましくは等倍で並べて表示される。輪郭線検出ステップでは、第１視点画像中に物体の中心軸に平行な、その物体の第１輪郭線と第２輪郭線とが検出される。測定点指定ステップは、第１及び第２輪郭線の線上にそれぞれ第１測定点と第２測定点とを指定するステップである。対応点導出ステップでは、第２視点画像中に第１及び第２測定点に対応する第１対応点と第２対応点とが導出される。測定点更新ステップでは、第１測定点を固定して第２測定点が第２輪郭線上で走査され、走査位置に応じて更新される第２測定点ごとに第２対応点が更新される。直径算出ステップは、第１対応点と更新された第２対応点ごとに前記物体の直径を算出し、算出された直径の中の最小値を前記物体の直径として決定する。第１及び第２測定点のうち、撮影距離の近い方を第１測定点に設定するのがよい。
【００１４】
測定点更新ステップは、第２測定点の走査時に第２測定点が第１視点画像に対して予め設定された第１測定枠を越える場合、あるいは第２対応点が第２視点画像に対して予め設定された第２測定枠を越える場合には、第２測定点と第２対応点がそれぞれ第１測定枠と第２測定枠の内側に収まるように第２測定点を第１視点画像の第２輪郭線上に固定し、第１測定点を第１輪郭線上で走査させながら第１測定点を更新するとともに第２視点画像中で第１対応点を順次に更新する作用を有していることが望ましい。
【００１５】
対応点導出ステップでは、測定点指定ステップで第１視点画像の第１及び第２輪郭線の線上に第１及び第２測定点が指定された際に、第２視点画像中に第１及び第２測定点にそれぞれ対応する第１及び第２対応点をステレオマッチング処理により導出し、第１及び第２対応点を結ぶ線分の各々の延長方向に設定された一定幅の直線検出エリア内で第１及び第２輪郭線に対応する第２視点画像中の第１対応輪郭線と第２対応輪郭線を探索し、検出された第１及び第２対応輪郭線上に第１及び第２対応点の位置が更新されるようにしておくのがよい。【００１６】
また、対応点導出ステップには、測定点指定ステップで第１視点画像の第１及び第２輪郭線の線上に第１及び第２測定点が指定され、第２視点画像中に第１及び第２測定点にそれぞれ対応する第１及び第２対応点をステレオマッチング処理により導出した後、第１測定点と第２測定点とを結ぶ線分、又は第１対応点と第２対応点とを結ぶ線分の視差方向に対する角度θに基づいて第２視点画像中の第１対応点及び第２対応点に近接して設定される一定幅の直線検出エリアの向きを変更した後、第１及び第２輪郭線に対応する第２視点画像中の第１対応輪郭線と第２対応輪郭線とを直線検出エリア内から探索し、検出された第１及び第２対応輪郭線上に第１及び第２対応点の位置を更新する作用をもたせることも有効である。角度θが４５°以上である場合には、第１又は第２対応点のうち、上方に位置する対応点にはその下側に、下方に位置する対応点にはその上側に直線検出エリアを設定し、角度θが４５°未満である場合には、第１又は第２対応点のうち、左方に位置する対応点にはその右側に、右方に位置する対応点にはその左側に前記直線検出エリアを設定するのがよい。【００１７】
本発明の円柱状物体の直径測定プログラムは、視差画像記憶ステップと、視差画像表示ステップと、輪郭線検出ステップと、測定点指定ステップと、対応点導出ステップと、測定点更新ステップと、直径算出ステップとから構成される。視差画像記憶ステップでは、円柱状の物体を第１視点と第２視点で撮像して得た第１視点画像と第２視点画像とがメモリなどに記憶される。視差画像表示ステップでは、第１視点画像と第２視点画像とが視差画像表示部に表示される。輪郭線検出ステップでは、第１視点画像中に物体の中心軸に平行な、その物体の第１輪郭線と第２輪郭線とが検出される。測定点指定ステップでは、第１及び第２輪郭線の線上にそれぞれ第１測定点と第２測定点とが指定される。対応点導出ステップでは、第２視点画像中に第１及び第２測定点に対応する第１対応点と第２対応点とが導出される。測定点更新ステップでは、第１測定点を固定して第２測定点を第２輪郭線上で走査し、走査位置に応じて更新される第２測定点ごとに第２対応点を更新する。直径算出ステップでは、第１対応点と更新された第２対応点ごとに物体の直径が算出され、算出された直径の中の最小値が物体の直径として決定される。
【発明の効果】
【００１８】
本発明によれば、測定点を走査して直径を測定するという新たな手段により、３Ｄ対応のデジタルカメラなどのような簡単な手持ち式の撮像装置を視差画像の撮影に用いることも可能で、しかも測定対象となる略円柱状物体の姿勢が視差の方向に対して一定の関係に保たれていなくても高精度で略円柱の直径を測定することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明を用いた測定装置の概略図である。
【図２】本発明装置の電気的構成を示すブロック図である。
【図３】円柱状物体の視差画像の例を示す説明図である。
【図４】本発明の基本的な測定処理の一例を示すフローチャートである。
【図５】測定点を走査する様子を示す説明図である。
【図６】一対の測定点から円柱状物体の中心軸座標を導出する際の説明図である。
【図７】円柱状物体の直径を導出する際の説明図である。
【図８】測定点の座標位置と算出される直径の相関を示すグラフである。
【図９】円柱状物体の姿勢が傾いた状態の視差画像の例を示す説明図である。
【図１０Ａ】一方の測定点を通常走査する際の説明図である。
【図１０Ｂ】測定点の走査が測定枠で規制される際の説明図である。
【図１０Ｃ】走査対象となる測定点が切替えられた際の説明図である。
【図１１】走査する測定点を変更する際の処理の例を示すフローチャートである。
【図１２】右視点画像に誤設定された対応点を更新する様子を示す説明図である。
【図１３】右視点画像に対応点が誤設定されることを防ぐための処理の一例を示すフローチャートである。
【図１４】背景のパターンによって対応点が誤設定されることを防ぐための処理の一例を示すフローチャートである。
【図１５Ａ】背景中の縦線に影響されずに対応点を導出する際の説明図である。
【図１５Ｂ】背景中の横線に影響されずに対応点を導出する際の説明図である。
【図１５Ｃ】背景中の斜線に影響されずに対応点を導出する際の説明図である。
【発明を実施するための形態】
【００２０】
図１において、水平方向に視差のある２眼のステレオカメラ１を用いて円柱状物体４を撮像する。ステレオカメラ１の各レンズ１ａ，１ｂを通して互いに視差のある左視点画像と右視点画像が個別に撮像され、これらは視差画像を構成する画像データとしてステレオカメラ１のメモリに記録される。ステレオカメラ１は撮像時に自動的にピント合わせが行われ、ピント合わせに際して得られた撮像距離情報は画像データに合わせて保存される。
【００２１】
撮像した円柱状物体４の直径を測定するには、視差画像の画像データをステレオカメラ１から通信ケーブル３を通してパソコン２に転送する。パソコン２には、図２の機能ブロックに示すような電気的構成を備え、ステレオカメラ１で撮像された視差画像に基づいて、円柱状物体の直径を計算するアプリケーションプログラムとともに用いられる。なお、円柱状物体としては厳密な意味での円柱形状に限られず、断面が実質的に円とみなせる楕円柱や、上面と下面の直径がわずかに異なる円錐台などであってもよい。
【００２２】
図２において、データ入力ポート６にはステレオカメラ１で得られた左視点画像と右視点画像のそれぞれが画像データとして入力される。入力された画像データは、左右の視点画像ごとに得られたタグデータとともにデータメモリ１７に格納される。タグデータ中には、レンズ１ａ，１ｂの主点間距離情報、撮像距離情報、撮像倍率情報などの各種の撮像条件も含まれる。
【００２３】
視点画像座標読込み部７は、視点画像の画像データに基づいて視点画像中に指定された点の座標を読み取る。座標の単位には、左右の視点画像を撮像するイメージセンサの画素数が用いられる。輪郭線検出部８は、視点画像中に含まれる円柱状物体４の画像パターンを評価し、一対の平行線となって現れている外周面の輪郭線を検出する。入力操作部９は、操作者の入力操作に応じて視点画像の輪郭線上に測定点を設定する際に用いられる。
【００２４】
測定点更新部１０は、操作者の入力操作によって視点画像の一対の輪郭線上に測定点が設定されたとき、一方の測定点をその輪郭線に沿って移動（走査）させる。一対の測定点が指定されたとき、いずれを固定して何れを走査させるかは操作者が選択して決めることも可能であるが、指定した順序、あるいは後述するその他の要因などに応じて自動的に決めてもよい。一方の測定点を走査することにより、他方の測定点との間の距離が変わることになり、両者間の距離が最短になるように一対の測定点の位置を決めることができるようになる。３Ｄ座標演算部１２は、各々の視点画像上で円柱状物体４の画像の座標解析を行い、各々の輪郭線座標，視差などを導出する。直径算出部１３は、３Ｄ座標演算部１２によって導出される３Ｄ測定空間で、円柱状物体４の中心軸座標及び直径を測定点の走査ごとに算出する。
【００２５】
これらの機能ブロックはバス１１を介してシステムコントローラ１４、プログラムメモリ１８、ワークメモリ１９に接続される。プログラムメモリ１８には、一対の視点画像に基づいて視差情報を導出し、またそれぞれの視点画像中に円柱状物体４の画像を認識するための判断プログラムや、上述した各機能ブロックを所定の順序にしたがって機能させるシーケンスプログラムなど、円柱状物体４の直径算出用のアプリケーションプログラムが格納されている。システムコントローラ１４は、ワークメモリ１９を利用しながらプログラムメモリ１８に格納されたアプリケーションプログラムの実行を全体的に管制する。
【００２６】
画像表示部１６には、左右の視点画像からなる視差画像が表示される。また、この画像表示部１６は、測定点の入力操作を行ったとき、入力された測定点の位置を画面上に表示する。なお、画像表示部１６には、測定点の入力位置の座標や、直径の計算過程で仮想的に設定された直径の位置、そのほか確認が必要となる種々のデータも併せて表示することができる。また、画像表示部１６にタッチパネルを組み合わせておけば、指先やタッチペンにより視差画像の表示画面内に測定点を直接的に入力することも可能となる。

【００２７】
上記構成による基本的な作用について説明する。円柱状物体４の直径を算出するには、視点が異なる第１及び第２視点画像が必要となる。第１，第２視点画像間の視差の方向は、図１に示すステレオカメラ１のような水平方向には限られないが、以下、視差画像を構成する第１視点画像，第２視点画像として、水平方向に視差のある左視点画像と右視点画像とを用いて説明する。
【００２８】
図３に視点画像の例を示す。左列の画像は各種の左視点画像２１Ｌ，２２Ｌ，２３Ｌを示し、それぞれ対応する右視点画像２１Ｒ，２２Ｒ，２３Ｒを右列に示す。それぞれの円柱状物体４の画像に見られるように、視点が上下に移動したときや、円柱状物体４に正対せずに撮像したときには左右の視点画像２１Ｌ〜２３Ｌ、２１Ｒ〜２３Ｒは形状や輪郭が各々変化する。これらのいずれの視点画像の組であっても、図４に示す処理手順によって円柱状物体４の直径は算出可能である。
【００２９】
図４において、データ入力処理Ｓ１によって、ステレオカメラ１で撮像された円柱状物体４の左視点画像と右視点画像の画像データがデータメモリ１７入力される。データメモリ１７に記憶された画像データに基づき、画像表示部１６には図２に示すように円柱状物体４の左視点画像２１Ｌと右視点画像２１Ｒとが等倍で横並びに表示される。
【００３０】
次の輪郭線検出処理Ｓ２では、左視点画像２１Ｌと右視点画像２１Ｒから、円柱状物体４の外周面が形成する一対の輪郭線が抽出される。図５に示す例では、左視点画像２１Ｌでは互いに平行な第１輪郭線２４ａと第２輪郭線２４ｂが検出され、右視点画像２１Ｒではそれぞれ左右の輪郭線２５ａ，２５ｂが検出される。この例では、画像データの処理によって、円柱状物体４の画像が垂直に起立し、しかも大きな俯角・仰角がない状態の画像であることが判断されるから、中心軸に平行な一対の輪郭線がそれぞれ検出される。なお、図３に示す左右の視点画像２２Ｌ，２２Ｒや、視点画像２３Ｌ，２３Ｒの場合には、画像処理によって円柱状物体４の画像の姿勢を判断し、それぞれの中心軸を基準にして外周面によって形成される一対の輪郭線を求めることができる。
【００３１】  測定点入力処理Ｓ３では、輪郭線検出処理Ｓ２によって得られた一方の視点画像、例えば左視点画像２１Ｌの第１，第２輪郭線２４ａ，２４ｂの上に、第１測定点２６と第２測定点２７とを指定する処理である。この処理には入力操作部９からの操作、例えばマウスによるカーソル操作あるいは情報表示部１６に組み込まれたタッチパネルへのタッチ操作が用いられる。なお、輪郭線検出処理Ｓ２によって検出された２本の輪郭線付近を測定点として指定して入力すれば、自動的に輪郭線上に補正されて測定点が入力されるように設定されている。また、輪郭線検出処理Ｓ２によって検出された２本の輪郭線から大きく離れたところを測定点として指定した場合には、エラー表示が出され再度の測定点の入力操作を促すように設定されている。
【００３２】
対応点導出処理Ｓ４では、左視点画像２１Ｌで測定点２６，２７の指定が行われたとき、ステレオマッチング処理により他方の右視点画像２１Ｒの輪郭線２５ａ，２５ｂ上に自動的に対応点２８，２９を設定する処理である。次の視差導出処理Ｓ５では、左視点画像２１Ｌの測定点２６，２７から導出される中心軸座標と、右視点画像２１Ｒから同様にして導出される中心軸座標とから、円柱状物体４の中心軸に関して左右の視点画像２１Ｌ，２１Ｒの間の視差が導出される。
【００３３】
視差を導出するためにはそれぞれの視点画像において中心軸座標を導出する必要がある。その具体的な方法は次のとおりである。図６に示すように、左視点画像２１Ｌの投影面３１（イメージセンサの撮像面に相当）上にある点Ａ及び点Ｂが、円柱状物体４の外周面が側面に形成する輪郭線上に位置する一対の測定点である場合、円柱の中心を通る中心軸の座標Ｃが導出できる。
【００３４】
図６におけるＯＤ，ＤＡ，ＤＢは、レンズ１ａの焦点距離、画素サイズ及び画素数などから導出可能であり、これらに対して三平方の定理を用いてＯＡとＯＢを導出することができる。さらに、ＯＡ：ＯＢ＝ＡＣ：ＢＣであるから、ＯＡ，ＯＢ，ＡＢを用いてＣの座標を導出できる。これと同じことを右視点画像２１Ｒに対しても行い、得られる２つの視点画像における中心軸座標から、円柱状物体４の中心軸位置における両視点画像間の視差を導出することができる。
【００３５】
直径導出処理Ｓ６では、測定点入力処理Ｓ３により入力された一対の測定点２６，２７と、対応点導出処理Ｓ４，視差導出処理Ｓ５により導出された一対の対応点２８，２９及び２つの視点画像における中心軸位置での視差量から、測定対象となる略円柱の中心軸座標及び直径が導出される。
【００３６】
円柱を導出する際の一方の視点画像における３次元の系は図７のように表すことができる。図７において、三角形ＥＦＨと三角形ＨＦＧは、円の接線の定理より角ＦＨＥ＝角ＦＧＨであり、かつ角ＥＦＨ＝角ＨＦＧ＝９０度であるから相似である。それゆえ、ＥＦ：ＦＨ＝ＨＦ：ＦＧであり、数１が導出される。なお、ｘ及びＬ２は３次元距離、Ｐは輪郭２点間の画素数、αは３次元距離ｘの時に画素数Ｐから長さを求める係数、である。また、このαの値は、データメモリ１７に格納された視差画像データごとに付されているタグデータ中の撮像距離及び撮像倍率に基づいて算出することができる。
【００３７】
【数１】
0005584832.tif 000002
【００３８】
式（１）を整理して、式（２）が導出される。これより、３次元距離ｘは、視差導出処理Ｓ５で導出した２つの視点画像における中心軸座標と視差から導出可能な３次元距離Ｌ２を用いて算出可能な物理量であることがわかる。
【００３９】
【数２】
0005584832.tif 000003
【００４０】
求めたい測定対象となる円柱状物体４の直径Ｄは、三角形ＨＦＧにおいて三平方の定理を用いてｘ、Ｌ２、Ｐ、αで表すことができ、式（３）が導かれる。
【００４１】
【数３】
0005584832.tif 000004
【００４２】
この式（２）及び式（３）を用いて、測定対象となる円柱状物体４の直径Ｄを算出することができる。
【００４３】
ところで、直径Ｄの算出処理を行うにあたっては、左視点画像２１Ｌに第１，第２測定点２６，２７の入力操作が前提であるが、それぞれが輪郭線２４ａ，２４ｂ上にセットされたとしても、上下の位置は様々になる。図５の例の場合、原理的には測定点２６，２７の相互間隔が最も短くなるような指定が望ましいが、現実には正確に指定することは困難であり、そのままで直径Ｄを算出しても誤差が大きいものになる。
【００４４】
これを考慮し、ステップＳ７〜ステップＳ１２によって行われる測定点更新処理が設けられている。この測定点更新処理では、左視点画像２１Ｌで指定した第１，第２測定点２６，２７のうちの一方の測定点２６を固定し、他方の測定点２７を輪郭線２４ｂに沿って走査させて走査位置ごとに測定点２７を更新する処理である。このとき、Ｌ視点画像２１Ｌ上の測定点２７に対応するＲ視点画像２１Ｒ上の対応点２９も、ステレオマッチング処理により測定点２７の走査に合わせて次々と更新される。測定点２７及び対応点２９の更新ごとに同様に直径の算出処理が繰り返され、円柱の中心軸座標及び直径の算出結果は逐次保存される。なお、測定点２７を固定して他方の測定点２６を輪郭線２４ａに沿って走査してもよく、その場合、右視点画像２１Ｒでは対応点２８が連動して走査される。
【００４５】
ステップＳ７は、直径Ｄが順次に算出される過程で、より小さい値を優先的に保存する。ステップＳ８〜ステップＳ１０では、最初に算出された直径Ｄに対し、次に算出された直径Ｄが十分に大きな値であったときには走査の方向が逆であると判断し、適正となる所定方向に走査方向を切り替える。また、ステップＳ８では、新たに算出された直径Ｄが前回の算出値よりも大きいものの、その増分が微小量Δよりも小さかったときには、直径Ｄの最小値を算出した直後であると判断する。ステップＳ１１，Ｓ１２では直径Ｄの最小値を逐次更新する処理が行われる。
【００４６】
適正な方向に測定点２７の走査が行われる間に、ステップＳ８での判断により、新たな直径Ｄの値が前回の値よりも微小量Δに達しない程度しか増えていなかったことが検知されると、ステップＳ１３により前回算出された直径Ｄが最小値であると判定される。なお、輪郭線２４ｂ上で測定点２７を走査しながら直径Ｄを算出すると、図８のグラフに示すような結果が得られる。
【００４７】
図８に示される相関は、円柱状物体４に対し、直径を測定するための切断面がどのように想定されているかを表している。切断面に対して円柱の中心軸が垂直であれば切断面は真円となり、直径導出処理Ｓ６により真の直径が導出される。これに対し、切断面に対して中心軸が垂直でなければ切断面は楕円形状となり、しかも中心軸に対して切断面が大きく傾くほど長軸が長い楕円形状となる。
【００４８】
直径導出処理Ｓ６では、ここで言う楕円の長軸を円柱状物体４の直径Ｄとして算出するから、以上の測定点更新処理によって測定点２７を走査して得られる直径Ｄのうち、円柱状物体４の直径Ｄとしては、最小値が最もふさわしい値として採用することができる。なお、一連の算出処理が終了した時点で、測定点の走査ごとに算出された直径Ｄを走査された測定点の座標と関連づけて画像表示部１６にリスト表示してもよい。
【００４９】
ところで、図９に示す左右の視点画像３２Ｌ，３２Ｒに見られるように、円柱状物体４の画像が正対して撮像されていない場合、左視点画像３２Ｌの輪郭線３３，３４上にそれぞれ測定点４２，４３が指定されたときには、撮像距離が近いほうの測定点４３を固定して遠い方の測定点４２を走査することが望ましい。視差画像から三次元情報を算出するときの精度は撮像距離が近い方が有利であるから、図示の例のように遠い方の測定点４２を撮像距離が近づく方向に走査して測定を行うことが望ましい。右視点画像３２Ｒも同様に、測定点４２の走査に合わせて対応点４４の位置が順次に更新される。
【００５０】
測定点の走査に関しては、さらに以下の改良も有効である。図１０Ａに示す左視点画像３５Ｌ中の固定側の測定点４８ａに対し、走査側の測定点４７ａを走査位置Ｐ１に向かって移動させるとき、予め表示画面の中に測定枠５０が設定されている場合には、この測定枠５０の外側では測定点の走査を行わないように規制する。測定枠５０は、ステレオカメラ１も含め、一般的な撮像光学系の特性を考慮し、画面周辺部では画像に歪みが生じやすいことを考慮して決められている。この測定枠５０の大きさは、測定精度に応じて変更できるようにしておくことが好ましい。
【００５１】
測定点４７ａは、通常の処理にしたがって直径Ｄが最小値となる走査位置Ｐ１に向かって走査される。そして図１０Ｂに示すように、この走査の途中で測定点４７ａが測定枠５０の境界に達すると、図１１のフローチャートに組み込まれた測定枠検知処理Ｓ１４で確認され、走査測定点切替え処理Ｓ１５が実行される。走査測定点切替え処理Ｓ１５では、その時点で測定点４７ａが測定枠５０の境界線上に固定され、それまでに算出された直径Ｄの最小値がクリアされた後、他方の測定点４８ａが走査対象側に切替えられる。測定点４８ａは、最初に指定された位置から自身の輪郭線上を移動し、最終的には直径Ｄの最小値が算出される走査位置Ｐ２まで走査される。なお、右視点画像についてはその図示を省略しているが、図１０Ａ〜図１０Ｃでの測定点４７ａ，４８ａの切替えに連動し、対応点についても固定側と移動側との切替えが行われることになる。
【００５２】
また、測定点の固定側，走査側の切替え処理は、以下の手法でも同様の効果を得ることができる。図１０Ａにおいて、走査対象となっている測定点４７ａを測定枠５０の外まで移動させる。測定点４７ａが走査位置Ｐ１に達すると、その時点で算出された直径Ｄは最小値になるが、その時点における測定点４７ａの走査位置を確認する。走査位置が測定枠５０の外側であったときには測定点４７ａを測定枠５０の境界線上に引き戻し、固定側の測定点４７ａとする。そして、他方の測定点４８ａを新たな走査対象に切替え、自身の輪郭線上を走査位置Ｐ２に向かって走査すればよい。
【００５３】
次に、対応点の誤設定を防ぐ上で効果的な処理について説明する。左視点画像に対して第１，第２測定点を指定し、これに基づいて右視点画像にはステレオマッチング処理によって対応点が自動設定されるが、このとき、測定点のセット位置によっては対応点が誤設定されることがある。例えば図１２に示す例では、左視点画像３６Ｌに直径測定対象物体として撮像された消火器について、その外周側面を輪郭線として第１，第２の測定点５１ａ，５１ｂの指定が行われた様子が表されている。
【００５４】
一方、この消火器の右視点画像３６Ｒには、ステレオマッチング処理によって測定点５１ａ，５１ｂに対応して対応点５２ａ，５２ｂが導出された様子が示されている。ここで測定点５１ｂと、これに対応する対応点５２ｂを拡大してみると、測定点５１ｂは正しく輪郭線上にセットされているのに対し、対応点５２ｂは、消火器の正面に貼付されたラベルの縦線が対応輪郭線５３ａとして誤認され、その線上に対応点５２ｂが設定されることがある。このまま直径Ｄの算出が行われると実際よりも小さい直径が算出され、測定精度の低下が避けられない。これを防ぐために、図１３示す対応輪郭線検出処理が効果的に用いられる。
【００５５】
対応輪郭線検出処理では、測定点５１ａ，５１ｂに基づいて設定された対応点５２ａ，５２ｂについて、円柱状物体の画像の外側に飛び出すように、それぞれの対応点の外側に一定幅の検出エリアを設定し、この検出エリア内で直線検出が行われる。図１２では、一例として対応点５２ｂの外側に検出エリア５５が設定されている様子が示されている。この検出エリア５５内で直線が検出されると、測定点５１ｂがセットされた輪郭線の対応輪郭線に相当するか否かが判定される。そして、対応輪郭線５３ｂであることが確認された場合には、誤設定された対応点５２ｂは対応輪郭線５３ｂ上に移動された正しい対応点５２ｃとして自動的に更新される。
【００５６】
なお、検出エリア５５を広げ過ぎると、逆に背景にある直線（この例では垂直線）を誤検出するおそれがあるので、この例では水平方向での検出エリアの幅を５０画素程度にするなど、適切な範囲にとどめておくことが望ましい。また、垂直方向に関しては、左視点画像３６Ｌで検出された輪郭線相当の長さに設定するのが効果的で、単なる模様線であるのか対応輪郭線であるのかの判断がしやすくなる。
【００５７】
上記の例とは逆に、測定点が指定された後に対応点を導出する際に、背景にある直線を対応輪郭線として誤認するおそれもある。これを防ぐには、図１４に示す対応輪郭線検出処理が有効である。この対応輪郭線検出処理では、まずステップＳ２０により一対の測定点をセットしたとき、これらの測定点を結ぶ線分と、視差の方向とのなす角度θをチェックする。これまでの例では視差の方向は水平方向であるから、撮像面上における画素の水平配列方向と一致している。なお、ここで言う角度θには方向がなく、一対の測定点を結ぶ線分と水平方向とのなす角度のうち小さい方の角度（鋭角）が用いられる。
【００５８】
ステップＳ２１では角度θが４５°以上であるか否かが判定される。角度θが４５°以上であるか否かに応じてステップＳ２２の処理又はステップＳ２３の処理に分岐する。ステップＳ２２の処理は、図１５Ａに示すように、左視点画像３８Ｌに測定点５７ａ，５７ｂを指定したときに対応する。この場合には、右視点画像３８Ｒに対応点５８ａ，５８ｂが導出されたとき、画面内で上方に位置する対応点５８ａに対してはその下側に、逆に画面内で下方に位置する対応点５８ｂにはその上側に一定幅の検出エリア５５が設定される。
【００５９】
このような検出エリア５５の設定により、円柱状物体の画像の外側、すなわち背景には検出エリアが設定されることがない。したがって、仮に右視点画像３８Ｒにおいて上下に平行に表されている線分が、ステレオマッチング処理の不具合によって背景を誤認したものであるとしても、検出エリア５５内で検出された直線を再確認することによって、正規の対応輪郭線が検出されたときには、その対応輪郭線上に対応点５８ａ，５８ｂが移動処理される。
【００６０】
同様に、角度θが４５°未満である場合にステップＳ２３で行われる処理は、図１５Ｂに示すように、左視点画像３８Ｌに測定点５７ａ，５７ｂを指定したときに対応する。この場合には、右視点画像３８Ｒに対応点５８ａ，５８ｂが導出されたとき、画面内で左方に位置する対応点５８ａに対してはその右側に、逆に画面内で右方に位置する対応点５８ｂにはその左側に一定幅の検出エリア５５が設定される。このような検出エリア５５の設定により、やはり背景に影響されずに正しい対応輪郭線を検出することができ、対応点５８ａ，５８ｂの誤設定を防ぐ上で有効である。
【００６１】
一対の測定点５７ａ，５７ｂを結ぶ線分の角度θは、図１５Ａあるいは図１５Ｂのように９０°あるいは０°に近くなるケースが多いと思われるが、例えば図１５Ｃに示すような場合であっても、上記処理は有効に用いることができる。図１５Ｃのケースでは、測定点５７ａ，５７ｂを結ぶ線分が３０°程度であるが、この場合には左方に位置する対応点５８ａには右下側に、右方に位置する対応点５８ｂには左上側にそれぞれ検出エリア５５を設定する。検出エリア５５が円柱状物体４の輪郭線からはみ出すことがないように、検出エリア５５も角度θに応じて傾けて設定することが望ましい。その傾き角度は、測定点５７ａ，５７ｂを結ぶ線分の角度θに応じて決めることができる。
【００６２】
本発明は、以上に説明した実施形態に限られず、例えば撮像視点の数は２箇所だけではなく、視差方向を一定にしたままで３個以上に増やして測定精度をより高めることも可能である。また、２つの撮像視点を持つ１台のカメラを用いて撮像する代わりに単眼式のカメラを同時に２台以上用いて撮像し、あるいは測定対象物体が静止しているのであれば、一台のカメラを視差方向に移動して複数回の撮像を行ってそれぞれの視点画像を得ることもできる。また、実施形態では主として測定装置について説明したが、本発明は測定方法あるいは測定プログラムとしても有効に用いることができる。
【符号の説明】
【００６３】
１      ステレオカメラ
２      パーソナルコンピュータ
４      円柱状物体
７      視点画像座標読込み部
８      輪郭線検出部
９      入力操作部
１０    測定点更新部
１２    ３Ｄ座標演算部
１３    直径算出部
１４    システムコントローラ
１６    画像表示部
１７    データメモリ
１８    プログラムメモリ
３１    投影面
５０    測定枠
【図１】
0005584832.tif 000005
【図２】
0005584832.tif 000006
【図３】
0005584832.tif 000007
【図４】
0005584832.tif 000008
【図５】
0005584832.tif 000009
【図６】
0005584832.tif 000010
【図７】
0005584832.tif 000011
【図８】
0005584832.tif 000012
【図９】
0005584832.tif 000013
【図１０Ａ】
0005584832.tif 000014
【図１０Ｂ】
0005584832.tif 000015
【図１０Ｃ】
0005584832.tif 000016
【図１１】
0005584832.tif 000017
【図１２】
0005584832.tif 000018
【図１３】
0005584832.tif 000019
【図１４】
0005584832.tif 000020
【図１５Ａ】
0005584832.tif 000021
【図１５Ｂ】
0005584832.tif 000022
【図１５Ｃ】
0005584832.tif 000023