(57)【要約】      （修正有）【課題】対象物が光沢を有する物体や半透明な物体であっても、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる三次元計測装置を提供する。【解決手段】対象物を含む撮像領域が第１撮像部１１により撮像された第１撮像画像と、撮像領域が第２撮像部１２により撮像された第２撮像画像とに基づいて対象物の三次元形状を計測する三次元計測装置３０であって、第１撮像画像と第２撮像画像に基づいて、第１撮像画像内において所定処理を行う対象となる第１対象領域のうち所定条件を満たす第１領域の大きさと、第２撮像画像内において所定処理を行う対象となる第２対象領域のうち所定条件を満たす第２領域の大きさとの少なくとも一方に基づいて、第１撮像部及び前記第２撮像部が対象物を撮像する際の撮像条件を変化させ三次元計測する、三次元計測装置。【選択図】図４
2018017653.tif 000002
【特許請求の範囲】
【請求項１】
対象物を含む撮像領域が第１撮像部により撮像された第１撮像画像と、前記撮像領域が第２撮像部により撮像された第２撮像画像とに基づいて前記対象物の三次元形状を計測する三次元計測装置であって、
前記第１撮像画像と前記第２撮像画像に基づいて、前記第１撮像画像内において所定処理を行う対象となる第１対象領域のうち所定条件を満たす第１領域の大きさと、前記第２撮像画像内において前記所定処理を行う対象となる第２対象領域のうち前記所定条件を満たす第２領域の大きさとの少なくとも一方に基づいて、前記第１撮像部及び前記第２撮像部が前記対象物を撮像する際の撮像条件を変化させ三次元計測する、
三次元計測装置。
【請求項２】
前記第１対象領域を前記第１領域の大きさに応じて変化させ、前記第２対象領域を前記第２領域の大きさに応じて変化させる、
請求項１に記載の三次元計測装置。
【請求項３】
前記第１領域の大きさは、前記第１領域に含まれる画素数によって表され、
前記第２領域の大きさは、前記第２領域に含まれる画素数によって表される、
請求項１又は２に記載の三次元計測装置。
【請求項４】
前記撮像条件は、前記第１撮像部と前記第２撮像部との少なくとも一方の撮像に関するパラメーターである撮像パラメーターによって表され、
前記第１領域の大きさと前記第２領域の大きさとの少なくとも一方に基づいて、前記撮像パラメーターを変化させる、
請求項１から３のうちいずれか一項に記載の三次元計測装置。
【請求項５】
前記第１対象領域に対する前記第１領域の大きさの割合と、前記第２対象領域に対する前記第２領域の大きさの割合との少なくとも一方に基づいて前記撮像パラメーターを変化させる、
請求項４に記載の三次元計測装置。
【請求項６】
前記撮像領域には、投射部から投射画像が投射され、
前記撮像条件は、前記投射部の投射に関するパラメーターである投射パラメーターによって表され、
前記第１領域の大きさと前記第２領域の大きさとの少なくとも一方に基づいて、前記投射パラメーターを変化させる、
請求項１から５のうちいずれか一項に記載の三次元計測装置。
【請求項７】
前記第１対象領域に対する前記第１領域の大きさの割合と、前記第２対象領域に対する前記第２領域の大きさの割合との少なくとも一方に基づいて前記投射パラメーターを変化させる、
請求項６に記載の三次元計測装置。
【請求項８】
前記所定条件は、第１所定閾値以上の輝度値の画素のみを含む領域であって所定大きさ以上の大きさの当該領域であることと、第２所定閾値以下の輝度値の画素のみを含む領域であって所定大きさ以上の大きさの当該領域であることとのうち少なくとも一方である、
請求項１から７のうちいずれか一項に記載の三次元計測装置。
【請求項９】
前記第１領域及び前記第２領域は、白飛びが生じている領域である、
請求項１から８のうちいずれか一項に記載の三次元計測装置。
【請求項１０】
前記撮像条件を変化させた後に前記第１撮像部によって撮像された前記第１撮像画像と、前記撮像条件を変化させた後に前記第２撮像部によって撮像された前記第２撮像画像とに基づいて前記対象物の三次元形状を表す三次元点群を生成し、生成した三次元点群に基づいて前記対象物の位置及び姿勢を算出する、
請求項１から９のうちいずれか一項に記載の三次元計測装置。
【請求項１１】
請求項１０に記載の三次元計測装置が算出した前記対象物の位置及び姿勢に基づいて所定作業を行う、
ロボット。
【請求項１２】
請求項１１に記載のロボットに前記所定作業を行わせる、
ロボット制御装置。
【請求項１３】
前記第１撮像部と、
前記第２撮像部と、
請求項１１に記載のロボットと、
請求項１２に記載のロボット制御装置と、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、三次元計測装置、ロボット、ロボット制御装置、及びロボットシステムに関する。
【背景技術】
【０００２】
対象物のモデルに基づいて対象物の位置及び姿勢を算出し、算出した当該位置及び姿勢に基づいてロボットに所定の作業を行わせる技術の研究や開発が行われている。
【０００３】
これに関し、パターン投光手段によりパターン光を計測対象物に投光し、パターン光が投光された計測対象物を複数の撮像手段によりそれぞれ異なる方向から撮像し、パターン投光手段とそれぞれの撮像手段との間の校正を校正手段により行い、それぞれの撮像手段により撮像された画像に基づいて、それぞれの三次元点群を三次元点群計測手段により計測し、三次元点群計測手段により計測されたそれぞれの三次元点群を校正手段により得られた校正結果に基づいて所定の座標系に射影し、それぞれの信頼度を比較することによりそれぞれの三次元点群の計測結果を統合する三次元計測装置が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−２１８６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような三次元計測装置では、対象物が光沢を有する物体や半透明な物体である場合、３台以上の撮像手段を用いた位相シフト法を用いることで、対象物の光学特性によって三次元点群の計測結果の精度が低下してしまうことを抑制させていた。しかしながら、撮像手段の数を増やすことは、三次元計測装置の使用に関する費用を増大させてしまうことに加えて、３台以上の撮像手段を設置するために必要な空間を確保しなければならなくなる。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、対象物を含む撮像領域が第１撮像部により撮像された第１撮像画像と、前記撮像領域が第２撮像部により撮像された第２撮像画像とに基づいて前記対象物の三次元形状を計測する三次元計測装置であって、前記第１撮像画像と前記第２撮像画像に基づいて、前記第１撮像画像内において所定処理を行う対象となる第１対象領域のうち所定条件を満たす第１領域の大きさと、前記第２撮像画像内において前記所定処理を行う対象となる第２対象領域のうち前記所定条件を満たす第２領域の大きさとの少なくとも一方に基づいて、前記第１撮像部及び前記第２撮像部が前記対象物を撮像する際の撮像条件を変化させ三次元計測する、三次元計測装置である。
この構成により、三次元計測装置は、第１撮像画像と第２撮像画像に基づいて、第１撮像画像内において所定処理を行う対象となる第１対象領域のうち所定条件を満たす第１領域の大きさと、第２撮像画像内において所定処理を行う対象となる第２対象領域のうち所定条件を満たす第２領域の大きさとの少なくとも一方に基づいて、第１撮像部及び第２撮像部が対象物を撮像する際の撮像条件を変化させ三次元計測を行う。これにより、三次元計測装置は、対象物が光沢を有する物体や半透明な物体であっても、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【０００７】
また、本発明の他の態様は、三次元計測装置において、前記第１対象領域を前記第１領域の大きさに応じて変化させ、前記第２対象領域を前記第２領域の大きさに応じて変化させる、構成が用いられてもよい。
この構成により、三次元計測装置は、第１対象領域を第１領域の大きさに応じて変化させ、第２対象領域を第２領域の大きさに応じて変化させる。これにより、三次元計測装置は、第１領域の大きさに応じて変化させた第１対象領域のうちの所定条件を満たす第１領域の大きさと、第２領域の大きさに応じて変化させた第２対象領域のうちの所定条件を満たす第２領域の大きさとの少なくとも一方に基づいて、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【０００８】
また、本発明の他の態様は、三次元計測装置において、前記第１領域の大きさは、前記第１領域に含まれる画素数によって表され、前記第２領域の大きさは、前記第２領域に含まれる画素数によって表される、構成が用いられてもよい。
この構成により、三次元計測装置では、第１領域の大きさは、第１領域に含まれる画素数によって表され、第２領域の大きさは、第２領域に含まれる画素数によって表される。これにより、三次元計測装置は、第１領域に含まれる画素数と、第２領域に含まれる画素数の少なくとも一方に基づいて、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【０００９】
また、本発明の他の態様は、三次元計測装置において、前記撮像条件は、前記第１撮像部と前記第２撮像部との少なくとも一方の撮像に関するパラメーターである撮像パラメーターによって表され、前記第１領域の大きさと前記第２領域の大きさとの少なくとも一方に基づいて、前記撮像パラメーターを変化させる、構成が用いられてもよい。
この構成により、三次元計測装置は、第１領域の大きさと第２領域の大きさとの少なくとも一方に基づいて、撮像パラメーターを変化させる。これにより、三次元計測装置は、第１領域の大きさと第２領域の大きさとの少なくとも一方に基づく撮像パラメーターに基づいて、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【００１０】
また、本発明の他の態様は、三次元計測装置において、前記第１対象領域に対する前記第１領域の大きさの割合と、前記第２対象領域に対する前記第２領域の大きさの割合との少なくとも一方に基づいて前記撮像パラメーターを変化させる、構成が用いられてもよい。
この構成により、三次元計測装置は、第１対象領域に対する第１領域の大きさの割合と、第２対象領域に対する第２領域の大きさの割合との少なくとも一方に基づいて撮像パラメーターを変化させる。これにより、三次元計測装置は、第１対象領域に対する第１領域の大きさの割合と、第２対象領域に対する第２領域の大きさの割合との少なくとも一方に基づく撮像パラメーターに基づいて、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【００１１】
また、本発明の他の態様は、三次元計測装置において、前記撮像領域には、投射部から投射画像が投射され、前記撮像条件は、前記投射部の投射に関するパラメーターである投射パラメーターによって表され、前記第１領域の大きさと前記第２領域の大きさとの少なくとも一方に基づいて、前記投射パラメーターを変化させる、構成が用いられてもよい。
この構成により、三次元計測装置は、第１領域の大きさと第２領域の大きさとの少なくとも一方に基づいて、投射パラメーターを変化させる。これにより、三次元計測装置は、第１領域の大きさと第２領域の大きさとの少なくとも一方に基づく投射パラメーターに基づいて、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【００１２】
また、本発明の他の態様は、三次元計測装置において、前記第１対象領域に対する前記第１領域の大きさの割合と、前記第２対象領域に対する前記第２領域の大きさの割合との少なくとも一方に基づいて前記投射パラメーターを変化させる、構成が用いられてもよい。
この構成により、三次元計測装置では、第１対象領域に対する第１領域の大きさの割合と、第２対象領域に対する第２領域の大きさの割合との少なくとも一方に基づいて投射パラメーターを変化させる。これにより、三次元計測装置は、第１領域の大きさの割合と、第１対象領域に対する第１領域の大きさの割合との少なくとも一方に基づいて投射パラメーターを変化させ、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【００１３】
また、本発明の他の態様は、三次元計測装置において、前記所定条件は、第１所定閾値以上の輝度値の画素のみを含む領域であって所定大きさ以上の大きさの当該領域であることと、第２所定閾値以下の輝度値の画素のみを含む領域であって所定大きさ以上の大きさの当該領域であることとのうち少なくとも一方である、構成が用いられていてもよい。
この構成により、三次元計測装置は、第１撮像画像と第２撮像画像に基づいて、第１撮像画像内において所定処理を行う対象となる第１対象領域のうち第１所定閾値以上の輝度値の画素のみを含む領域であって所定大きさ以上の大きさの当該領域である第１領域の大きさと、第２撮像画像内において所定処理を行う対象となる第２対象領域のうち第２所定閾値以下の輝度値の画素のみを含む領域であって所定大きさ以上の大きさの当該領域である第２領域の大きさとの少なくとも一方に基づいて、第１撮像部及び第２撮像部が対象物を撮像する際の撮像条件を変化させ三次元計測を行う。これにより、三次元計測装置は、第１対象領域のうち第１所定閾値以上の輝度値の画素のみを含む領域であって所定大きさ以上の大きさの当該領域である第１領域の大きさと、第２対象領域のうち第２所定閾値以下の輝度値の画素のみを含む領域であって所定大きさ以上の大きさの当該領域である第２領域の大きさとの少なくとも一方に基づいて、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【００１４】
また、本発明の他の態様は、三次元計測装置において、前記第１領域及び前記第２領域は、白飛びが生じている領域である、構成が用いられていてもよい。
この構成により、三次元計測装置は、第１撮像画像と第２撮像画像に基づいて、白飛びが生じている領域である第１領域の大きさと、白飛びが生じている領域である第２領域の大きさとの少なくとも一方に基づいて、第１撮像部及び第２撮像部が対象物を撮像する際の撮像条件を変化させ三次元計測を行う。これにより、三次元計測装置は、対象物の光学特性によって白飛びが生じている領域に基づいて、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【００１５】
また、本発明の他の態様は、三次元計測装置において、前記撮像条件を変化させた後に前記第１撮像部によって撮像された前記第１撮像画像と、前記撮像条件を変化させた後に前記第２撮像部によって撮像された前記第２撮像画像とに基づいて前記対象物の三次元形状を表す三次元点群を生成し、生成した三次元点群に基づいて前記対象物の位置及び姿勢を算出する、構成が用いられてもよい。
この構成により、三次元計測装置は、撮像条件を変化させた後に第１撮像部によって撮像された第１撮像画像と、撮像条件を変化させた後に第２撮像部によって撮像された第２撮像画像とに基づいて対象物の三次元形状を表す三次元点群を生成し、生成した三次元点群に基づいて対象物の位置及び姿勢を算出する。これにより、三次元計測装置は、精度よく算出した対象物の位置及び姿勢を他の装置に出力することができる。
【００１６】
また、本発明の他の態様は、上記に記載の三次元計測装置が算出した前記対象物の位置及び姿勢に基づいて所定作業を行う、ロボットである。
この構成により、ロボットは、三次元計測装置が算出した対象物の位置及び姿勢に基づいて所定作業を行う。これにより、ロボットは、高い精度で所定作業を行うことができる。
【００１７】
また、本発明の他の態様は、上記に記載のロボットに前記所定作業を行わせる、ロボット制御装置である。
この構成により、ロボット制御装置は、ロボットに所定作業を行わせる。これにより、
ロボット制御装置は、高い精度で所定作業をロボットに行わせることができる。
【００１８】
また、本発明の他の態様は、前記第１撮像部と、前記第２撮像部と、上記に記載のロボットと、上記に記載のロボット制御装置と、を備えるロボットシステムである。
この構成により、ロボットシステムは、三次元計測装置が三次元計測を行った結果に基づいてロボットに所定作業を行わせる。これにより、ロボットシステムは、高い精度で所定作業をロボットに行わせることができる。
【００１９】
以上により、三次元計測装置は、第１撮像画像と第２撮像画像に基づいて、第１撮像画像内において所定処理を行う対象となる第１対象領域のうち所定条件を満たす第１領域の大きさと、第２撮像画像内において所定処理を行う対象となる第２対象領域のうち所定条件を満たす第２領域の大きさとの少なくとも一方に基づいて、第１撮像部及び第２撮像部が対象物を撮像する際の撮像条件を変化させ三次元計測を行う。これにより、三次元計測装置は、対象物が光沢を有する物体や半透明な物体であっても、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
また、ロボットは、三次元計測装置が算出した対象物の位置及び姿勢に基づいて所定作業を行う。これにより、ロボットは、高い精度で所定作業を行うことができる。
また、ロボット制御装置、及びロボットシステムは、三次元計測装置が三次元計測を行った結果に基づいてロボットに所定作業を行わせる。これにより、ロボット制御装置、及びロボットシステムは、高い精度で所定作業をロボットに行わせることができる。
【図面の簡単な説明】
【００２０】
【図１】実施形態に係る三次元計測システム１の構成の一例を示す図である。
【図２】投射画像の一例を示す図である。
【図３】三次元計測装置３０のハードウェア構成の一例を示す図である。
【図４】三次元計測装置３０の機能構成の一例を示す図である。
【図５】三次元計測装置３０が三次元計測を行う処理の流れの一例を示すフローチャートである。
【図６】第１撮像部１１により対象物Ｏが撮像された第１撮像画像の一例を示す図である。
【図７】第１領域に基づいて領域検出部３６７により更新された第１対象領域の一例を示す図である。
【図８】撮像条件変更部３６９が第１撮像部１１の撮像パラメーターを変更した後の第１撮像部１１により撮像された第１撮像画像の一例を示す図である。
【図９】撮像条件変更部３６９が第１撮像部１１の撮像パラメーターを変更した前の第１撮像部１１により撮像された第１撮像画像の一例を示す図である。
【図１０】撮像条件変更部３６９が第１撮像部１１の撮像パラメーターを変更した後の第１撮像部１１により撮像された第１撮像画像と、図示しない第２撮像画像に基づいて生成された三次元点群の一例を示す図である。
【図１１】撮像条件変更部３６９が第１撮像部１１の撮像パラメーターを変更した前の第１撮像部１１により撮像された第１撮像画像と、図示しない第２撮像画像に基づいて生成された三次元点群の一例を示す図である。
【図１２】実施形態の変形例に係るロボットシステム２の構成の一例を示す図である。
【発明を実施するための形態】
【００２１】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。
【００２２】
＜三次元計測システムの構成＞
まず、三次元計測システム１の構成について説明する。
図１は、実施形態に係る三次元計測システム１の構成の一例を示す図である。三次元計測システム１は、投射部５と、撮像部１０と、三次元計測装置３０を備える。
【００２３】
投射部５は、例えば、投射画像を投射するための液晶ライトバルブや投射レンズ、液晶駆動部、光源として超高圧水銀ランプやメタルハライドランプ等を備えるプロジェクターである。投射部５は、図１に示した作業台ＴＢの上面に載置された対象物Ｏを含む範囲である投射範囲ＰＡに投射画像を投射可能な位置に設置される。
【００２４】
作業台ＴＢは、例えば、テーブル等の台である。なお、作業台ＴＢは、テーブルに代えて、対象物Ｏを載置することが可能な台であれば、他の台であってもよい。
【００２５】
対象物Ｏは、例えば、製品に組み付けるプレート、ネジ、ボルト等の産業用の部品や部材である。図１では、図の簡略化のため、対象物Ｏを直方体形状の物体として表している。なお、対象物Ｏは、産業用の部品や部材に代えて、日用品や生体等の他の物体であってもよい。また、対象物Ｏの形状は、直方体形状に代えて、他の形状であってもよい。
【００２６】
また、対象物Ｏは、例えば、投射部５により投射された光の意図しない反射を発生させる光学特性を有する物体である。具体的には、対象物Ｏは、投射部５により光が投射される表面に光沢を有する物体である。なお、対象物Ｏは、当該表面の少なくとも一部に光沢を有する物体であってもよい。また、対象物Ｏは、投射部５により投射された光の意図しない反射を発生させる光学特性を有する物体に代えて、当該光を透過させる光学特性を有する物体であってもよい。具体的には、対象物Ｏは、投射部５により光が投射される表面が透明又は半透明な物体であってもよい。また、対象物Ｏは、当該表面の少なくとも一部が透明又は半透明な物体であってもよい。
【００２７】
投射部５は、ケーブルによって三次元計測装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。なお、投射部５は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって三次元計測装置３０と接続される構成であってもよい。
【００２８】
撮像部１０は、第１撮像部１１と、第２撮像部１２とを備えたステレオカメラである。撮像部１０は、図１に示した作業台ＴＢの上面に載置された対象物Ｏを含む範囲である撮像範囲ＣＡを、第１撮像部１１と第２撮像部１２との両方が撮像可能な位置に設置される。以下では、一例として、投射範囲ＰＡの全体が撮像範囲ＣＡの内側に含まれる場合について説明する。なお、撮像範囲ＣＡは、これに代えて、投射範囲ＰＡと部分的に重なる構成であってもよく、全体が投射範囲ＰＡの内側に含まれる構成であってもよい。
【００２９】
第１撮像部１１は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等を備えたカメラである。
第２撮像部１２は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。
【００３０】
第１撮像部１１及び第２撮像部１２は、ケーブルによって三次元計測装置３０と通信可能に接続されている。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、第１撮像部１１と第２撮像部１２のいずれか一方又は両方は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって三次元計測装置３０と接続される構成であってもよい。
【００３１】
三次元計測装置３０は、例えば、ワークステーションやデスクトップＰＣ（Personal  Computer）、ノートＰＣ、タブレットＰＣ、多機能携帯電話端末（スマートフォン）、通信機能付きの電子書籍リーダー、ＰＤＡ（Personal  Digital  Assistant）等の情報処理装置である。
【００３２】
三次元計測装置３０は、投射部５に投射画像を投射範囲ＰＡへ投射させる。三次元計測装置３０は、投射画像が投射された投射範囲ＰＡを含む撮像範囲ＣＡを第１撮像部１１及び第２撮像部１２にステレオ撮像させる。三次元計測装置３０は、第１撮像部１１及び第２撮像部１２がステレオ撮像した撮像画像を第１撮像部１１及び第２撮像部１２のそれぞれから取得する。三次元計測装置３０は、取得した当該撮像画像に基づく三次元計測として、当該撮像画像に基づいて対象物Ｏの三次元形状を表す三次元点群を生成する。具体的には、三次元計測装置３０は、当該撮像画像に基づいて、当該撮像画像に含まれる対象物Ｏの表面の各点の三次元位置（三次元座標）を検出する。三次元計測装置３０は、検出した当該三次元位置に基づいて当該表面の三次元形状を表す点群である三次元点群を生成する。すなわち、三次元点群を構成する各点は、三次元位置を示す。当該三次元位置は、ワールド座標系ＷＣにおける三次元位置であってもよく、ロボット座標系ＲＣにおける三次元位置であってもよく、他の三次元座標系における三次元位置であってもよい。以下では、一例として、当該三次元位置が、ワールド座標系ＷＣにおける三次元位置である場合について説明する。なお、三次元計測装置３０が当撮像該画像から三次元点群を生成する方法は、既知の方法であってもよく、これから開発される方法であってもよい。三次元計測装置３０は、生成した三次元点群に基づいて、対象物Ｏの位置及び姿勢を算出する。
【００３３】
＜三次元計測装置が行う処理の概要＞
以下、三次元計測装置３０が行う処理の概要について説明する。三次元計測装置３０は、投射範囲ＰＡ（この一例において、撮像範囲ＣＡの一部）へ投射画像を投射部５に投射させる。三次元計測装置３０は、投射部５が投射画像を投射した状態において、第１撮像部１１及び第２撮像部１２に撮像範囲ＣＡをステレオ撮像させる。三次元計測装置３０は、このステレオ撮像によって第１撮像部１１により撮像された撮像画像を第１撮像画像として第１撮像部１１から取得する。また、三次元計測装置３０は、当該ステレオ撮像によって第２撮像部１２により撮像された撮像画像を第２撮像画像として第２撮像部１２から取得する。
【００３４】
ここで、図２を参照し、投射部５により投射範囲ＰＡに投射された投射画像について説明する。図２は、投射画像の一例を示す図である。投射画像は、この一例において、ランダムドットパターンである。ランダムドットパターンは、所定形状の画素の塊であるドットが複数規則的に配置された画像であり、ドット毎に０又は２５５の輝度値がランダムに割り当てられた画像である。図２に示した例では、ドットの形状は、正方形状である。なお、ドットの形状は、正方形状に代えて、長方形状であってもよく、円形状であってもよく、楕円形状であってもよく、他の形状であってもよい。また、ランダムドットパターンは、すべての画素の輝度値が一定の図形（輝度値が一様な図形）でなければ他の如何なる図形であってもよい。例えば、当該図形は、景色や人物が撮像された画像であってもよい。なお、投射画像は、投射画像の一部にランダムドットパターンを含む画像であってもよい。
【００３５】
上述したように、この一例では、対象物Ｏは、投射した光の意図しない反射を発生させる光学特性を有する。この場合、投射部５により対象物Ｏに投射された投射画像が撮像部１０により撮像された撮像画像には、当該反射による白飛び（撮像画像上における意図しない輝度の増大）が生じることがある。撮像画像に白飛びが生じた場合、三次元計測装置３０は、対象物Ｏの三次元形状を精度よく表す三次元点群を生成できないことがある。その結果、三次元計測装置３０は、対象物Ｏの位置及び姿勢を精度よく算出することができないことがある。
【００３６】
そこで、この一例における三次元計測装置３０は、第１撮像部１１から取得した第１撮像画像内において、所定処理を行う対象となる領域である第１対象領域のうち、所定条件を満たす領域である第１領域の大きさを検出する。また、三次元計測装置３０は、第２撮像部１２から取得した第２撮像画像の所定処理を行う対象となる領域である第２対象領域のうち、所定条件を満たす領域である第２領域の大きさを検出する。ここで、所定処理は、この一例において、第１撮像部１１により撮像された第１撮像画像と、第２撮像部１２により撮像された第２撮像画像とに基づいて、三次元計測装置３０が対象物Ｏの三次元点群を生成する処理のことである。なお、所定処理は、これに代えて、他の処理であってもよい。また、所定条件を満たす領域は、この一例において、前述の白飛びが生じている領域である。なお、所定条件を満たす領域は、これに代えて、光の透過又は吸収によって生じる黒潰れが生じた領域等の他の領域であってもよい。
【００３７】
三次元計測装置３０は、検出した第１領域の大きさと、検出した第２領域の大きさとのうち少なくとも一方に基づいて、第１撮像部１１及び第２撮像部１２のそれぞれが対象物Ｏを撮像する際の撮像条件を変更する。この撮像条件の変更は、第１対象領域から第１領域を小さくするとともに、第２対象領域から第２領域を小さくするために行われる処理である。そして、三次元計測装置３０は、撮像条件を変更した第１撮像部１１と、撮像条件を変更した第２撮像部１２とに撮像範囲ＣＡをステレオ撮像させる。三次元計測装置３０は、このような撮像条件の変更と第１撮像部１１及び第２撮像部１２による撮像を繰り返すことにより、白飛びが生じている領域である第１領域がほぼ無い第１撮像画像を第１撮像部１１に撮像させることができるとともに、白飛びが生じている領域である第２領域がほぼ無い第２撮像画像を第２撮像部１２に撮像させることができる。三次元計測装置３０は、このようにして第１撮像部１１により撮像された当該第１撮像画像と、第２撮像部１２により撮像された当該第２撮像画像とに基づいて、対象物Ｏの三次元点群を生成する。これにより、三次元計測装置３０は、対象物が光沢を有する物体や半透明な物体であっても、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。以下では、三次元計測装置３０が三次元計測を行う処理について詳しく説明する。
【００３８】
＜三次元計測装置のハードウェア構成＞
以下、図３を参照し、三次元計測装置３０のハードウェア構成について説明する。図３は、三次元計測装置３０のハードウェア構成の一例を示す図である。
【００３９】
三次元計測装置３０は、例えば、ＣＰＵ（Central  Processing  Unit）３１と、記憶部３２と、入力受付部３３と、通信部３４と、表示部３５を備える。これらの構成要素は、バスＢｕｓを介して相互に通信可能に接続されている。また、三次元計測装置３０は、通信部３４を介して投射部５、撮像部１０のそれぞれと通信を行う。
【００４０】
ＣＰＵ３１は、記憶部３２に格納された各種プログラムを実行する。
記憶部３２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）等を含む。なお、記憶部３２は、三次元計測装置３０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部３２は、三次元計測装置３０が処理する各種の情報、各種の画像、各種のプログラム等を格納する。
【００４１】
入力受付部３３は、例えば、表示部３５と一体に構成されたタッチパネルである。なお、入力受付部３３は、キーボードやマウス、タッチパッド、その他の入力装置であってもよい。
通信部３４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
表示部３５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ElectroLuminescence）ディスプレイパネルである。
【００４２】
＜三次元計測装置の機能構成＞
以下、図４を参照し、三次元計測装置３０の機能構成について説明する。図４は、三次元計測装置３０の機能構成の一例を示す図である。
【００４３】
制御部３６は、三次元計測装置３０の全体を制御する。制御部３６は、投射制御部３６１と、撮像制御部３６３と、画像取得部３６５と、領域検出部３６７と、撮像条件変更部３６９と、三次元点群生成部３７５と、位置姿勢算出部３７７とを備える。制御部３６が備えるこれらの機能部は、例えば、ＣＰＵ３１が、記憶部３２に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００４４】
投射制御部３６１は、投射部５に投射画像を投射範囲ＰＡへ投射させる。
撮像制御部３６３は、第１撮像部１１及び第２撮像部１２に撮像範囲ＣＡをステレオ撮像させる。
画像取得部３６５は、第１撮像部１１が撮像した第１撮像画像を第１撮像部１１から取得する。また、画像取得部３６５は、第２撮像部１２が撮像した第２撮像画像を第２撮像部１２から取得する。
【００４５】
領域検出部３６７は、記憶部３２に予め記憶された第１対象領域情報を記憶部３２から読み出す。当該第１対象領域情報は、第１対象領域を示す情報である。領域検出部３６７は、読み出した第１対象領域情報と、画像取得部３６５が取得した第１撮像画像とに基づいて、第１撮像画像内の第１対象領域を特定する。領域検出部３６７は、特定した第１対象領域内のうち所定条件を満たす領域を第１領域として検出する。
【００４６】
また、領域検出部３６７は、記憶部３２に予め記憶された第２対象領域情報を記憶部３２から読み出す。当該第２対象領域情報は、第２対象領域を示す情報である。領域検出部３６７は、読み出した第２対象領域情報と、画像取得部３６５が取得した第２撮像画像とに基づいて、第２撮像画像内の第２対象領域を特定する。領域検出部３６７は、特定した第２対象領域内のうち所定条件を満たす領域を第２領域として検出する。
【００４７】
撮像条件変更部３６９は、領域検出部３６７が特定した第１対象領域と、第１領域との比に基づいて、第１撮像部１１の撮像条件を変更する。また、撮像条件変更部３６９は、領域検出部３６７が特定した第２対象領域と、第２領域との比に基づいて、第２撮像部１２の撮像条件を変更する。
【００４８】
三次元点群生成部３７５は、第１撮像画像と第２撮像画像とに基づいて、対象物Ｏの三次元点群を生成する処理を所定処理として行う。当該第１撮像画像は、撮像条件変更部３６９が第１撮像部１１の撮像条件を変更した後に第１撮像部１１により撮像された撮像画像である。当該第２撮像画像は、撮像条件変更部３６９が第２撮像部１２の撮像条件を変更した後に第２撮像部１２により撮像された撮像画像である。
位置姿勢算出部３７７は、三次元点群生成部３７５が生成した三次元点群に基づいて、対象物Ｏのワールド座標系ＷＣにおける位置及び姿勢を算出する。
【００４９】
＜三次元計測装置が三次元計測を行う処理＞
以下、図５を参照し、三次元計測装置３０が三次元計測を行う処理について説明する。図５は、三次元計測装置３０が三次元計測を行う処理の流れの一例を示すフローチャートである。
【００５０】
投射制御部３６１は、投射部５に投射画像を投射範囲ＰＡへ投射させる（ステップＳ１１０）。次に、撮像制御部３６３は、第１撮像部１１及び第２撮像部１２に撮像範囲ＣＡをステレオ撮像させる（ステップＳ１２０）。
【００５１】
次に、画像取得部３６５は、第１撮像部１１が撮像した撮像画像を第１撮像画像として第１撮像部１１から取得するとともに、第２撮像部１２が撮像した撮像画像を第２撮像画像として第２撮像部１２から取得する（ステップＳ１３０）。ここで、図６を参照し、ステップＳ１３０において画像取得部３６５が取得した第１撮像画像について説明する。
【００５２】
図６は、第１撮像部１１により対象物Ｏが撮像された第１撮像画像の一例を示す図である。第１撮像画像には、投射部５によって投射画像が投射された対象物Ｏが含まれている。ここで、この一例では、対象物Ｏが表面に光沢を有する物体であるため、第１撮像画像における対象物Ｏの表面には、白飛びが生じる場合がある。図６に示した領域ＷＲは、第１撮像画像において当該表面の一部に白飛びが生じている領域の一例である。このような領域を有する第１撮像画像及び第２撮像画像に基づいて対象物Ｏの三次元点群を生成した場合、前述した通り、対象物Ｏの三次元形状を精度よく表す三次元点群が生成できない。なお、第２撮像部１２により対象物Ｏが撮像された第２撮像画像は、第１撮像画像とほぼ同一の画像であるため、説明を省略する。
【００５３】
ステップＳ１３０の処理が行われた後、領域検出部３６７は、画像取得部３６５により取得された第１撮像画像及び第２撮像画像にノイズ除去処理を行う（ステップＳ１４０）。ノイズ除去処理は、第１撮像画像及び第２撮像画像に含まれるノイズを除去する処理である。ここで、ノイズとノイズ除去処理について説明する。
【００５４】
ノイズ除去処理では、領域検出部３６７は、ステップＳ１３０において画像取得部３６５が取得した第１撮像画像及び第２撮像画像を輝度値についての第１所定閾値に基づいて２値化画像に変換する。ここで、以下では、一例として、第１撮像画像及び第２撮像画像における輝度値の下限値が０であり、当該輝度値の上限値が２５５である場合について説明する。また以下では、第１所定閾値が２５５である場合について説明する。なお、第１所定閾値は、２５５に代えて、他の値であってもよい。
【００５５】
第１撮像画像及び第２撮像画像を２値化画像に変換する際、領域検出部３６７は、第１撮像画像及び第２撮像画像を構成する画素の輝度値が２５５である画素の値を１とする。また、領域検出部３６７は、第１撮像画像及び第２撮像画像を構成する画素の輝度値が２５５以外である画素の値を０とする。以下では、説明の便宜上、画素の値が１である画素を白画素と称して説明する。また、以下では、画素の値が０である画素を黒画素と称して説明する。領域検出部３６７は、第１撮像画像において、白画素に隣接する画素が黒画素のみである白画素をノイズとして検出する。また、領域検出部３６７は、第１撮像画像において、白画素に隣接する画素が黒画素のみである白画素をノイズとして検出する。そして、領域検出部３６７は、例えば、検出したノイズを黒画素に変換することにより、第１撮像画像及び第２撮像画像からノイズを除去する。このようなノイズ除去処理により、領域検出部３６７は、第１撮像画像及び第２撮像画像からノイズを除去することができる。
【００５６】
次に、領域検出部３６７は、ステップＳ１４０においてノイズが除去された後の第１撮像画像における第１対象領域から所定条件を満たす領域を第１領域として検出するとともに、ステップＳ１４０においてノイズが除去された後の第２撮像画像における第２対象領域から所定条件を満たす領域を第２領域として検出する（ステップＳ１５０）。所定条件は、この一例において、複数の白画素が互いに隣接する領域であることである。換言すると、所定条件は、第１所定閾値以上の輝度値の画素のみを含む領域であって所定大きさ以上の大きさの当該領域である。所定大きさは、画素数によって表され、この一例において、２画素以上である。なお、所定条件は、これに代えて、他の条件であってもよい。すなわち、所定条件を満たす領域は、前述した通り、対象物Ｏの光学特性によって第１撮像画像と第２撮像画像とのそれぞれにおいて白飛びが生じている領域である。以下では、説明の便宜上、当該領域を白画素領域と称して説明する。ここで、領域検出部３６７は、第１対象領域内から２以上の白画素領域を検出した場合、これらの白画素領域の全体を含む領域を白画素領域として検出する。当該領域は、当該白画素領域を含む円領域であってもよく、当該白画素領域を含む長方形領域であってもよく、当該白画素領域を含む他の形状の領域であってもよい。
【００５７】
なお、図５に示したフローチャートにおけるステップＳ１１０からステップＳ１９０までの繰り返し処理のうちの１回目のステップＳ１１０からステップＳ１６０までの処理において、第１対象領域は、前述した通り、第１撮像画像内における投射範囲ＰＡの領域である。当該第１対象領域情報は、後述するステップＳ１７０において更新されるため、当該繰り返し処理のうちの２回目以降のステップＳ１１０からステップＳ１６０までの処理では、第１撮像画像内における投射範囲ＰＡの領域と異なる領域となる。また、図５に示したフローチャートにおけるステップＳ１１０からステップＳ１９０までの繰り返し処理のうちの１回目のステップＳ１１０からステップＳ１６０までの処理において、第２対象領域は、前述した通り、第２撮像画像内における投射範囲ＰＡの領域である。当該第２対象領域情報は、後述するステップＳ１７０において更新されるため、当該繰り返し処理のうちの２回目以降のステップＳ１１０からステップＳ１６０までの処理では、第２撮像画像内における投射範囲ＰＡの領域とは異なる領域となる。領域検出部３６７は、ステップＳ１５０において、このような第１対象領域から第１領域を検出するとともに、このような第２対象領域から第２領域を検出する。
【００５８】
また、対象物Ｏが、投射部５により光が投射される表面が透明又は半透明な物体である場合、所定条件は、第２所定閾値以下の輝度値の画素のみを含む領域であって所定大きさ以上の大きさの当該領域である。第２所定閾値は、例えば、０である。なお、第２所定閾値は、これに代えて、他の値であってもよい。このような領域は、すなわち、黒潰れが生じている領域である。
【００５９】
次に、領域検出部３６７は、第１対象領域の大きさに対する第１領域の大きさの比（割合）である第１領域比を算出するとともに、第２対象領域の大きさに対する第２領域の大きさの比（割合）である第２領域比を算出する（ステップＳ１６０）。第１対象領域の大きさは、この一例において、第１撮像画像の画素数のうち第１対象領域に含まれる画素数によって表される。なお、第１対象領域の大きさは、これに代えて、他の値によって表される構成であってもよい。第２対象領域の大きさは、この一例において、第２撮像画像の画素数のうち第２対象領域に含まれる画素数によって表される。なお、第２対象領域の大きさは、これに代えて、他の値によって表される構成であってもよい。また、第１領域の大きさは、この一例において、第１撮像画像の画素数のうち第１領域に含まれる画素数によって表される。なお、第１領域の大きさは、これに代えて、他の値によって表される構成であってもよい。また、第２領域の大きさは、この一例において、第２撮像画像の画素数のうち第２領域に含まれる画素数によって表される。なお、第２領域の大きさは、これに代えて、他の値によって表される構成であってもよい。
【００６０】
ここで、ステップＳ１６０において算出される第１領域比は、第１撮像画像内において生じた白飛びにより三次元計測装置３０が対象物Ｏの三次元点群を生成することが困難な領域（すなわち、第１領域）が第１対象領域内において占める割合を示す。このため、第１領域比が０に近いほど、第１領域が小さいことを表している。また、第１領域比が１に近い場合であっても、第１対象領域が小さいほど、第１領域が小さいことを表している。また、ステップＳ１６０において算出される第２領域比は、第２撮像画像内において生じた白飛びにより三次元計測装置３０が対象物Ｏの三次元点群を生成することが困難な領域（すなわち、第２領域）が第２対象領域内において占める割合を示す。このため、第２領域比が０に近いほど、第２領域が小さいことを表している。また、第２領域比が１に近い場合であっても、第２対象領域が小さいほど、第２領域が小さいことを表している。
【００６１】
次に、領域検出部３６７は、第１対象領域及び第２対象領域を更新する（ステップＳ１７０）。具体的には、領域検出部３６７は、ステップＳ１５０において検出した第１領域を示す情報を新たな第１対象領域情報として記憶部３２に記憶させるとともに、ステップＳ１５０において検出した第２領域を示す情報を新たな第２対象領域情報として記憶部３２に記憶させる。ここで、図７を参照し、ステップＳ１７０の処理について説明する。
【００６２】
図７は、第１領域に基づいて領域検出部３６７により更新された第１対象領域の一例を示す図である。図７に示した領域Ｒ１は、１回目のステップＳ１１０からステップＳ１８０までの処理における第１対象領域を示す。また、図７に示した領域Ｒ２は、ｎ回目のステップＳ１１０からステップＳ１８０までの処理における第１対象領域を示す。ここで、ｎは、２以上の整数である。前述したとおり、１回目のステップＳ１１０からステップＳ１８０までの処理における第１対象領域は、当該１回目のステップＳ１７０において検出された第１領域に更新される。また、２回目のステップＳ１１０からステップＳ１８０までの処理における第１対象領域は、当該２回目のステップＳ１７０において検出された第２領域に更新される。これを繰り返すことにより、図７に示した通り、第１対象領域は、小さくなる。その結果、三次元計測装置３０は、第１領域を検出する領域を第１対象領域に制限することにより、第１領域を検出する処理に要する時間を短縮することができる。なお、図７において、第２領域に基づいて領域検出部３６７により更新された第２対象領域が含まれる第２撮像画像は、第１撮像画像とほぼ同一の画像であるため、説明を省略する。
【００６３】
次に、撮像条件変更部３６９は、領域検出部３６７が算出した第１領域比に基づいて第１撮像部１１の撮像パラメーターを変化させ、第１撮像部１１の撮像条件を変更するとともに、領域検出部３６７が算出した第２領域比に基づいて第２撮像部１２の撮像パラメーターを変化させ、第２撮像部１２の撮像条件を変更する（ステップＳ１８０）。すなわち、この一例において、第１撮像部１１の撮像条件は、第１撮像部１１の撮像に関するパラメーターである撮像パラメーターによって表される。また、第２撮像部１２の撮像条件は、第２撮像部１２の撮像に関するパラメーターである撮像パラメーターによって表される。当該撮像パラメーターは、例えば、露光時間である。具体的には、撮像条件変更部３６９は、例えば、第１撮像部１１の露光時間を、領域検出部３６７が算出した第１領域比を現在の第１撮像部１１の露光時間に乗じた値に変更する。また、撮像条件変更部３６９は、例えば、第２撮像部１２の露光時間を、領域検出部３６７が算出した第２領域比を現在の第２撮像部１２の露光時間に乗じた値に変更する。第１領域比及び第２領域比は、０以上１以下の範囲内における値である。すなわち、このような撮像条件の変更により、第１撮像部１１及び第２撮像部１２の露光時間は、短くなる。これにより、三次元計測装置３０は、撮像条件が変更された後の第１撮像部１１に撮像範囲ＣＡを撮像させることによって、第１撮像画像内における白飛び領域を小さくすることができる。また、三次元計測装置３０は、撮像条件が変更された後の第２撮像部１２に撮像範囲ＣＡを撮像させることによって、第２撮像画像内における白飛び領域を小さくすることができる。
【００６４】
なお、撮像条件を変更する際、撮像条件変更部３６９は、第１領域比に基づいて第１撮像部１１の露光時間を変更することに代えて、第１撮像部１１のシャッタースピードを変更する構成であってもよく、他の撮像パラメーターを変更する構成であってもよい。第１撮像部１１のシャッタースピードを変更する構成の場合、撮像条件変更部３６９は、第１撮像部１１のシャッタースピードを、現在の第１撮像部１１のシャッタースピードに第１領域比を乗じた値に変更する。また、撮像条件変更部３６９は、第２撮像部１２についても同様に、第２領域比に基づいて、第２撮像部１２のシャッタースピードを変更する構成であってもよい。第２撮像部１２のシャッタースピードを変更する構成の場合、撮像条件変更部３６９は、第２撮像部１２のシャッタースピードを、現在の第２撮像部１２のシャッタースピードに第２領域比を乗じた値に変更する。
【００６５】
また、撮像条件変更部３６９は、ステップＳ１８０において、第１撮像部１１及び第２撮像部１２（すなわち、撮像部１０）それぞれの撮像パラメーターを第１領域比と第２領域比とのいずれか一方に基づいて更新する構成であってもよい。
また、撮像条件変更部３６９は、ステップＳ１８０において、第１撮像部１１及び第２撮像部１２の撮像パラメーターを変更する構成に代えて、投射部５が投射画像を投射する際の投射パラメーターを変更する構成であってもよい。この場合、撮像条件変更部３６９は、例えば、投射部５が投射画像を投射する際の当該投射画像の輝度を、現在の輝度に第１領域比と第２領域比とのうち少なくとも一方に基づく値を乗じた値に変更する。これにより、三次元計測装置３０は、第１領域の大きさと第２領域の大きさとの少なくとも一方に基づいて、投射パラメーターを変化させ、対象物Ｏの光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【００６６】
また、上述では、撮像条件変更部３６９は、ステップＳ１８０において第１領域比及び第２領域比に基づいて撮像部１０の撮像パラメーター又は投射部５の投射パラメーターを変更する構成に代えて、第１領域比及び第２領域比に基づく値に基づいて当該撮像パラメーター又は当該投射パラメーターを変更する構成であってもよい。第１領域比及び第２領域比に基づく値は、例えば、第１領域比と第２領域比との平均値であるが、これに限られず、第１領域比及び第２領域比に基づく他の値であってもよい。
【００６７】
また、撮像条件変更部３６９は、ステップＳ１８０において第１領域比及び第２領域比に基づいて撮像部１０の撮像パラメーター又は投射部５の投射パラメーターを変更する構成に代えて、ステップＳ１８０において第１領域比及び第２領域比に基づいて撮像部１０の撮像パラメーター及び投射部５の投射パラメーターの両方を変更する構成であってもよい。
【００６８】
三次元点群生成部３７５は、領域検出部３６７が算出した第１領域比と第２領域比とのうち少なくとも１つが所定の判定条件を満たすか否かを判定する（ステップＳ１９０）。以下では、一例として、ステップＳ１９０において、第１領域比が所定の判定条件を満たすか否かを三次元点群生成部３７５が判定する場合について説明する。ここで、所定の判定条件は、第１領域比が第３所定閾値以上又は０であることである。第３所定閾値は、例えば、０．９５である。なお、第３所定閾値は、これに代えて、０．９５以外の値であってもよい。第１領域比が第３所定閾値以上の場合、第１対象領域の大きさと、第１領域（すなわち、白画素領域）の大きさとは、ほぼ等しく、第１対象領域の大きさが十分小さいと考えられる。これは、当該場合が、第１対象領域の大きさと第１領域の大きさとがほぼ等しくなった場合であり、ステップＳ１１０からステップＳ１９０までの繰り返し処理によって第１領域を小さくすることがほぼ限界に達している場合であるためである。また、第１領域比が０の場合は、第１対象領域において白画素領域が無い。すなわち、ステップＳ１９０の判定は、第１領域比が所定の判定条件を満たすか否かによって、第１撮像画像及び第２撮像画像における白飛びが生じている領域の有無の判定である。換言すると、ステップＳ１９０の判定は、ステップＳ１３０において取得された最新の第１撮像画像及び第２撮像画像に基づいて、対象物Ｏの三次元形状を精度よく表す三次元点群を生成することが可能であるか否かを判定する判定である。
【００６９】
ステップＳ１９０において、三次元点群生成部３７５は、第１領域比が所定の判定条件を満たすと判定した場合（ステップＳ１９０−ＹＥＳ）、ステップＳ１３０において画像取得部３６５が取得した最新の第１撮像画像及び第２撮像画像に白飛びが生じている領域が無い（又はほぼ無い）と判定し、ステップＳ１３０において取得した最新の第１撮像画像及び第２撮像画像に基づいて、対象物Ｏの三次元点群を生成する（ステップＳ２００）。第１撮像画像及び第２撮像画像に基づいて三次元点群を生成する方法は、既知の方法であってもよく、これから開発される方法であってもよい。
【００７０】
一方、第１領域比が所定の判定条件を満たさないと判定した場合（ステップＳ１９０−ＮＯ）、三次元点群生成部３７５は、ステップＳ１３０において画像取得部３６５が取得した最新の第１撮像画像及び第２撮像画像に白飛びが生じている領域が有ると判定する。そして、投射制御部３６１は、ステップＳ１１０に遷移し、再び投射部５に投射画像を投射範囲ＰＡへ投射させる。すなわち、制御部３６は、領域検出部３６７が算出した第１領域比が所定の判定条件を満たすまでの間、ステップＳ１１０からステップＳ１８０までの処理を繰り返し行う。このため、制御部３６が当該処理を繰り返し行う度、第１対象領域は、領域検出部３６７が検出した第１領域にステップＳ１７０において更新される。また、制御部３６が当該処理を繰り返し行う度、第２対象領域は、領域検出部３６７が検出した第２領域にステップＳ１７０において更新される。なお、制御部３６は、第２領域比が所定の判定条件を満たすまでの間、当該処理を繰り返し行う構成であってもよい。この場合、所定の判定条件は、例えば、第２領域比が第４所定閾値以上又は０であることである。なお、第４所定閾値は、第３所定閾値と同じ値であってもよく、第３所定閾値と異なる値であってもよい。また、制御部３６は、第１領域比及び第２領域比が所定の判定条件を満たすまでの間、当該処理を繰り返し行う構成であってもよい。この場合、所定の判定条件は、例えば、第１領域比が第３所定閾値以上又は０であるとともに、第２領域比が第４所定閾値以上又は０であることである。
【００７１】
ここで、制御部３６は、この一例において、領域検出部３６７が算出した第１領域比が所定の判定条件を満たすまでの間、１回の当該処理を行う度に、撮像条件の異なる第１撮像画像及び第２撮像画像を１回取得する。例えば、制御部３６は、ステップＳ１１０からステップＳ１８０までの処理を２回行った場合、撮像条件の異なる第１撮像画像及び第２撮像画像を２回取得する。このため、ステップＳ２００において、三次元点群生成部３７５は、画像取得部３６５が取得した最新の第１撮像画像及び第２撮像画像に基づいて、対象物Ｏの三次元点群を生成する構成に代えて、画像取得部３６５が取得した複数の第１撮像画像及び複数の第２撮像画像の一部又は全部に基づいて、対象物Ｏの三次元点群を生成する構成であってもよい。この場合、三次元点群生成部３７５は、例えば、ある第１撮像画像及び第２撮像画像に含まれる白飛びが生じている領域によって当該第１撮像画像及び第２撮像画像に基づいて三次元点群が生成できなかった領域が存在する際に、他の第１撮像画像及び第２撮像画像に基づいて当該領域に対応する三次元点群を生成する。
【００７２】
次に、位置姿勢算出部３７７は、ステップＳ２００において生成された対象物Ｏの三次元点群に基づいて、対象物Ｏのワールド座標系ＷＣにおける位置及び姿勢を算出し（ステップＳ２１０）、処理を終了する。位置姿勢算出部３７７が当該三次元点群に基づいて対象物Ｏの位置及び姿勢を算出する方法は、既知の方法であってもよく、これから開発される方法であってもよい。
【００７３】
このように、三次元計測装置３０は、第１撮像画像と第２撮像画像に基づいて、第１撮像画像内において所定処理を行う対象となる第１対象領域のうち所定条件を満たす第１領域の大きさと、第２撮像画像内において所定処理を行う対象となる第２対象領域のうち所定条件を満たす第２領域の大きさとの少なくとも一方に基づいて、第１撮像部及び第２撮像部が対象物を撮像する際の撮像条件を変化させ三次元計測を行う。これにより、三次元計測装置３０は、対象物Ｏが光沢を有する物体や半透明な物体であっても、対象物Ｏの光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【００７４】
＜三次元計測装置が取得する撮像画像及び三次元計測装置が生成する三次元点群の例＞
以下、図８〜図１１を参照し、三次元計測装置３０が取得する第１撮像画像と、当該第１撮像画像に基づいて生成される三次元点群について説明する。
【００７５】
まず、図８は、撮像条件変更部３６９が第１撮像部１１の撮像パラメーターを変更した後の第１撮像部１１により撮像された第１撮像画像の一例を示す図である。図８に示した第１撮像画像Ｐ１は、当該第１撮像画像の一例である。また、図８では、第１撮像画像Ｐ１における黒い領域である領域Ｒ１１が、白飛びが生じている領域を表している。図９は、撮像条件変更部３６９が第１撮像部１１の撮像パラメーターを変更する前の第１撮像部１１により撮像された第１撮像画像の一例を示す図である。図９に示した第１撮像画像Ｐ２は、当該第１撮像画像の一例である。また、図９では、第１撮像画像Ｐ２における黒い領域である領域Ｒ２１が、白飛びが生じている領域を表している。
【００７６】
図８に示した第１撮像画像Ｐ１と、図９に示した第１撮像画像Ｐ２とを比較すると、第１撮像画像Ｐ１は、ステップＳ１８０において撮像条件が変更されることにより、白飛びが生じている領域が小さくなっていることが分かる。これはすなわち、三次元計測装置３０が、図５に示したフローチャートにおけるステップＳ１１０からステップＳ１９０までの処理を繰り返すことにより、第１撮像部１１により撮像される第１撮像画像内において白飛びが生じている領域を小さくすることができていることを示している。なお、図８及び図９では、第１撮像画像を例に挙げて説明したが、第２撮像画像についても同様であるため説明を省略する。
【００７７】
次に、図１０は、撮像条件変更部３６９が第１撮像部１１の撮像パラメーターを変更した後の第１撮像部１１により撮像された第１撮像画像と、図示しない第２撮像画像に基づいて生成された三次元点群の一例を示す図である。当該第２撮像画像は、当該第１撮像画像とともにステレオ撮像された第２撮像画像である。図１０に示した三次元点群Ｐ１１は、当該三次元点群の一例である。また、図１０では、三次元点群Ｐ１１における黒い領域である領域Ｒ１１１が、当該第１撮像画像及び当該第２撮像画像において白飛びが生じている領域によって点群が生成できなかった領域を表している。また、図１０では、ハッチングによって三次元点群Ｐ１１に含まれる点のそれぞれを表している。図１１は、撮像条件変更部３６９が第１撮像部１１の撮像パラメーターを変更する前の第１撮像部１１により撮像された第１撮像画像と、図示しない第２撮像画像に基づいて生成された三次元点群の一例を示す図である。当該第２撮像画像は、当該第１撮像画像とともにステレオ撮像された第２撮像画像である。図１１に示した三次元点群Ｐ２１は、当該三次元点群の一例である。また、図１１では、三次元点群Ｐ２１における黒い領域である領域Ｒ２１１が、当該第１撮像画像及び当該第２撮像画像において白飛びが生じている領域によって点群が生成できなかった領域を表している。また、図１１では、ハッチングによって三次元点群Ｐ２１に含まれる点のそれぞれを表している。
【００７８】
図１０に示した三次元点群Ｐ１１は、図８に示した第１撮像画像Ｐ１において白飛びが生じている領域が、図９に示した第１撮像画像Ｐ２において白飛びが生じている領域よりも小さいため、図１１に示した三次元点群Ｐ２１よりも対象物Ｏの三次元形状を表す点の数が多い。これはすなわち、三次元計測装置３０が、図５に示したフローチャートにおけるステップＳ１１０からステップＳ１９０までの処理を繰り返すことにより、対象物Ｏの三次元形状を精度よく示す三次元点群を生成することができることを示している。
【００７９】
＜実施形態の変形例＞
以下、図１２を参照し、実施形態の変形例について説明する。なお、実施形態の変形例では、実施形態と同様な構成部に対して同じ符号を付して説明を省略する。
【００８０】
図１２は、実施形態の変形例に係るロボットシステム２の構成の一例を示す図である。ロボットシステム２は、投射部５と、撮像部１０と、ロボット２０と、ロボット制御装置５０を備える。また、ロボット制御装置５０は、三次元計測装置３０を備える。より具体的には、ロボット制御装置５０は、三次元計測装置３０が備える各機能部を備える。
【００８１】
ロボット２０は、アームＡと、アームＡを支持する支持台Ｂを備える単腕ロボットである。単腕ロボットは、この一例におけるアームＡのような１本のアーム（腕）を備えるロボットである。なお、ロボット２０は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、２本以上のアーム（例えば、２本以上のアームＡ）を備えるロボットである。なお、複腕ロボットのうち、２本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット２０は、２本のアームを備える双腕ロボットであってもよく、３本以上のアーム（例えば、３本以上のアームＡ）を備える複腕ロボットであってもよい。また、ロボット２０は、スカラロボットや、円筒型ロボット等の他のロボットであってもよい。
【００８２】
アームＡは、エンドエフェクターＥと、マニピュレーターＭを備える。
エンドエフェクターＥは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターＥは、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
【００８３】
エンドエフェクターＥは、ケーブルによってロボット制御装置５０と通信可能に接続されている。これにより、エンドエフェクターＥは、ロボット制御装置５０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、エンドエフェクターＥは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置５０と接続される構成であってもよい。
【００８４】
マニピュレーターＭは、６つの関節を備える。また、当該６つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、マニピュレーターＭを備えるアームＡは、６軸垂直多関節型のアームである。アームＡは、支持台Ｂと、エンドエフェクターＥと、マニピュレーターＭと、マニピュレーターＭが備える６つの関節それぞれのアクチュエーターとによる連携した動作によって６軸の自由度の動作を行う。なお、アームＡは、５軸以下の自由度で動作する構成であってもよく、７軸以上の自由度で動作する構成であってもよい。
【００８５】
マニピュレーターＭが備える６つの（関節に備えられた）アクチュエーターはそれぞれ、ケーブルによってロボット制御装置５０と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置５０から取得される制御信号に基づいて、マニピュレーターＭを動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、マニピュレーターＭが備える６つのアクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置５０と接続される構成であってもよい。
【００８６】
ロボット制御装置５０は、この一例において、ロボットを制御する装置である。ロボット制御装置５０は、予め入力された動作プログラムに基づいて制御信号を生成する。ロボット制御装置５０は、生成した制御信号をロボット２０に送信し、ロボット２０に所定作業を行わせる。所定作業は、この一例において、ロボット２０がアームＡを動作させ、作業台ＴＢの上面に載置された対象物Ｏを把持し、把持した対象物Ｏを図示しない給材領域に配置する作業である。なお、所定作業は、これに代えて、他の作業であってもよい。
【００８７】
ロボット制御装置５０は、所定作業をロボット２０に行わせる際、対象物Ｏを含む撮像範囲ＣＡであって第１撮像部１１及び第２撮像部１２により撮像可能な撮像範囲ＣＡに投写画像が投射部５により投射され、投射された投射画像を含む撮像範囲ＣＡが第１撮像部１１により撮像された第１撮像画像と、第２撮像部１２により撮像された第２撮像画像とに基づく三次元計測を行う。この三次元計測により、ロボット制御装置５０は、対象物Ｏの三次元点群を生成する。ロボット制御装置５０は、生成した当該三次元点群に基づいて、対象物Ｏの位置及び姿勢を算出する。そして、ロボット制御装置５０は、算出した対象物Ｏの位置及び姿勢に基づいて、ロボット２０に所定作業を行わせる。なお、ロボット制御装置５０が対象物Ｏの三次元計測を行うための処理は、図５に示したフローチャートの処理の説明においてワールド座標系ＷＣをロボット座標系ＲＣに読み替えた場合の処理と同様の処理であるため説明を省略する。
【００８８】
このように、ロボット制御装置５０は、実施形態において説明した三次元計測装置３０を備え、三次元計測装置３０が算出した対象物Ｏの位置及び姿勢に基づいて、ロボット２０に所定作業を行わせる。これにより、ロボット制御装置５０は、高い精度で所定作業をロボット２０に行わせることができる。
【００８９】
なお、ロボットシステム２において、ロボット制御装置５０と三次元計測装置３０とは、別体であってもよい。この場合、ロボット制御装置５０は、三次元計測装置３０から三次元計測装置３０が算出した対象物Ｏの位置及び姿勢を取得し、取得した対象物Ｏの位置及び姿勢に基づいてロボット２０に所定作業を行わせる。
【００９０】
以上のように、三次元計測装置３０は、対象物（この一例において、対象物Ｏ）を含む撮像領域（この一例において、撮像範囲ＣＡ）が第１撮像部（この一例において、第１撮像部１１）により撮像された第１撮像画像と、撮像領域が第２撮像部（この一例において、第２撮像部１２）により撮像された第２撮像画像とに基づいて対象物の三次元形状を計測し、第１撮像画像と第２撮像画像に基づいて、第１撮像画像内において所定処理を行う対象となる第１対象領域のうち所定条件を満たす第１領域の大きさと、第２撮像画像内において所定処理を行う対象となる第２対象領域のうち所定条件を満たす第２領域の大きさとの少なくとも一方に基づいて、第１撮像部及び第２撮像部が対象物を撮像する際の撮像条件を変化させ三次元計測する。これにより、三次元計測装置３０は、対象物が光沢を有する物体や、透明又は半透明な物体であっても、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【００９１】
また、三次元計測装置３０は、第１対象領域を第１領域の大きさに応じて変化させ、第２対象領域を第２領域の大きさに応じて変化させる。これにより、三次元計測装置３０は、第１領域の大きさに応じて変化させた第１対象領域のうちの所定条件を満たす第１領域の大きさと、第２領域の大きさに応じて変化させた第２対象領域のうちの所定条件を満たす第２領域の大きさとの少なくとも一方に基づいて、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【００９２】
また、三次元計測装置３０では、第１領域の大きさは、第１領域に含まれる画素数によって表され、第２領域の大きさは、第２領域に含まれる画素数によって表される。これにより、三次元計測装置３０は、第１領域に含まれる画素数と、第２領域に含まれる画素数の少なくとも一方に基づいて、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【００９３】
また、三次元計測装置３０は、第１領域の大きさと第２領域の大きさとの少なくとも一方に基づいて、撮像パラメーターを変化させる。これにより、三次元計測装置３０は、第１領域の大きさと第２領域の大きさとの少なくとも一方に基づく撮像パラメーターに基づいて、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【００９４】
また、三次元計測装置３０は、第１対象領域に対する第１領域の大きさの割合（この一例において、第１領域比）と、第２対象領域に対する第２領域の大きさの割合（この一例において、第２領域比）との少なくとも一方に基づいて撮像パラメーターを変化させる。これにより、三次元計測装置３０は、第１対象領域に対する第１領域の大きさの割合と、第２対象領域に対する第２領域の大きさの割合との少なくとも一方に基づく撮像パラメーターに基づいて、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【００９５】
また、三次元計測装置３０は、第１領域の大きさと第２領域の大きさとの少なくとも一方に基づいて、投射パラメーターを変化させる。これにより、三次元計測装置３０は、第１領域の大きさと第２領域の大きさとの少なくとも一方に基づく投射パラメーターに基づいて、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【００９６】
また、三次元計測装置３０では、第１対象領域に対する第１領域の大きさの割合と、第２対象領域に対する第２領域の大きさの割合との少なくとも一方に基づいて投射パラメーターを変化させる。これにより、三次元計測装置３０は、第１領域の大きさの割合と、第１対象領域に対する第１領域の大きさの割合との少なくとも一方に基づいて投射パラメーターを変化させ、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【００９７】
また、三次元計測装置３０は、第１撮像画像と第２撮像画像に基づいて、第１撮像画像内において所定処理を行う対象となる第１対象領域のうち第１所定閾値（この一例において、所定閾値）以上の輝度値の画素のみを含む領域であって所定大きさ以上の大きさの当該領域である第１領域の大きさと、第２撮像画像内において所定処理を行う対象となる第２対象領域のうち第２所定閾値（この一例において、所定閾値）以下の輝度値の画素のみを含む領域であって所定大きさ以上の大きさの当該領域である第２領域の大きさとの少なくとも一方に基づいて、第１撮像部及び第２撮像部が対象物を撮像する際の撮像条件を変化させ三次元計測を行う。これにより、三次元計測装置３０は、第１対象領域のうち第１所定閾値以上の輝度値の画素のみを含む領域であって所定大きさ以上の大きさの当該領域である第１領域の大きさと、第２対象領域のうち第２所定閾値以下の輝度値の画素のみを含む領域であって所定大きさ以上の大きさの当該領域である第２領域の大きさとの少なくとも一方に基づいて、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【００９８】
また、三次元計測装置３０は、第１撮像画像と第２撮像画像に基づいて、白飛びが生じている領域である第１領域の大きさと、白飛びが生じている領域である第２領域の大きさとの少なくとも一方に基づいて、第１撮像部及び第２撮像部が対象物を撮像する際の撮像条件を変化させ三次元計測を行う。これにより、三次元計測装置は、対象物の光学特性によって白飛びが生じている領域に基づいて、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【００９９】
また、三次元計測装置３０は、撮像条件を変化させた後に第１撮像部によって撮像された第１撮像画像と、撮像条件を変化させた後に第２撮像部によって撮像された第２撮像画像とに基づいて対象物の三次元形状を表す三次元点群を生成し、生成した三次元点群に基づいて対象物の位置及び姿勢を算出する。これにより、三次元計測装置３０は、精度よく算出した対象物の位置及び姿勢を他の装置に出力することができる。
【０１００】
また、ロボット２０は、三次元計測装置３０が三次元計測を行った結果に基づいて所定作業を行う。これにより、ロボット２０は、高い精度で所定作業を行うことができる。
【０１０１】
また、ロボット制御装置５０は、三次元計測装置３０が三次元計測を行った結果に基づいてロボット２０に所定作業を行わせる。これにより、ロボット制御装置５０は、高い精度で所定作業をロボットに行わせることができる。
【０１０２】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１０３】
また、以上に説明した装置（例えば、三次元計測装置３０、ロボット制御装置５０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１０４】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１０５】
１…三次元計測システム、２…ロボットシステム、５…投射部、１０…撮像部、１１…第１撮像部、１２…第２撮像部、２０…ロボット、３０…三次元計測装置、３１…ＣＰＵ、３２…記憶部、３３…入力受付部、３４…通信部、３５…表示部、３６…制御部、５０…ロボット制御装置、３６１…投射制御部、３６３…撮像制御部、３６５…画像取得部、３６７…領域検出部、３６９…撮像条件変更部、３７５…三次元点群生成部、３７７…位置姿勢算出部
【図１】
2018017653.tif 000003
【図２】
2018017653.tif 000004
【図３】
2018017653.tif 000005
【図４】
2018017653.tif 000006
【図５】
2018017653.tif 000007
【図６】
2018017653.tif 000008
【図７】
2018017653.tif 000009
【図８】
2018017653.tif 000010
【図９】
2018017653.tif 000011
【図１０】
2018017653.tif 000012
【図１１】
2018017653.tif 000013
【図１２】
2018017653.tif 000014