以下、実施形態について図面を参照しながら説明する。図面においては実施形態を説明するため、一部分を大きく又は強調して表すなど適宜縮尺を変更して表現している。図面においては、XYZ座標系を用いて図中の方向を説明する図がある。このXYZ座標系においては、水平面に平行な平面をXZ平面とする。このXY平面における一方向をX方向と表記し、X方向に直交する方向をY方向と表記する。XY平面に垂直な方向はZ方向と表記する。X方向、Y方向及びZ方向のそれぞれは、図中の矢印の指す方向が+方向であり、反対の方向が-方向であるとして説明する。
[第1実施形態]
第1実施形態について説明する。図1は、検出装置1の構成の一例を示す機能ブロック図である。図2は、本実施形態に係る検出装置1の一例を示す概念図である。図1及び図2に示すように、検出装置1は、例えば撮像装置であり、検出領域A1(例、視野)内の対象物OBを検出する。検出装置1は、例えば、定点カメラでもよいし、手動又は自動で視野を変更可能なカメラでもよく、携帯可能な情報端末(例、スマートフォン、タブレット、カメラ付き携帯電話)でもよい。検出装置1は、対象物OBを検出した結果を使って、対象物OBに関する情報の演算処理を行う。検出装置1は、自端末の演算処理によって、対象物OBの少なくとも一部をモデル化し、モデル情報(モデルデータ)を算出する。例えば、検出装置1は、演算処理によって、対象物OBの少なくとも一部をコンピュータグラフィック処理(CG処理)し、モデル情報(例、CGモデルデータ)を算出する。
モデル情報は、例えば、対象物OBの三次元形状を示す形状情報と、対象物OBの表面の模様を示すテクスチャ情報の少なくとも一方を含む。また、例えば、モデル情報は、3次元の点座標、その点座標の関連情報、3次元の点座標及びその関連情報で規定された面のテクスチャ情報、画像全体の照明条件や光源情報などの画像の空間情報、並びに形状情報としてのポリゴンデータの少なくとも一つを含む。テクスチャ情報は、例えば、対象物OBの表面の文字や図形、パターン、凹凸を規定する情報、特定の画像、及び色彩(例、有彩色、無彩色)の少なくとも1つの情報を含む。検出装置1は、例えば、視点Vp(例、所定の視点、一視点、単一の視点、1方向)から見た対象物OBを示すモデル情報を算出する。また、例えば、検出装置1は、対象物OBに対して所定の角度における一視点から見た対象物OBを示すモデル情報を算出する。
検出装置1は、例えば、検出部2と、確度算出部3と、モデル算出部4と、特定部5と、制御部6と、記憶部7と、通信部8と、表示制御部9と、本体部10とを備える。本体部10は、例えば、カメラボディ、ケース、筐体などである。検出部2、確度算出部3、モデル算出部4、特定部5、制御部6、記憶部7、通信部8、及び表示制御部9は、例えば、本体部10に設けられることでユニット化される。検出部2は、視点Vp(一視点)から対象物OBを光学的に検出する。例えば、検出部2は、視点Vpから対象物OBを撮像して、検出結果として対象物OBの画像データなどを出力する。
図3は、検出部2の一例を示す図である。検出部2は、例えば、視点Vpから対象物OBを光学的に検出する。検出部2は、例えば、一視点(視点Vp)から対象物OBを見た画像と、一視点(視点Vp)から対象物OB上の各点までの距離との少なくとも一方を取得する。検出部2は、例えば、所定の視角で対象物OBを検出してもよい。検出部2は、例えば、所定の視線(例、単一の視線)で対象物OBを検出してもよい。検出部2は、例えば、撮像部21及び測距部22を含む。撮像部21は、視点Vpから対象物OBを撮像して、検出結果として対象物OBの画像データなどを出力する。検出部2の検出結果は、例えば、検出した対象物OBの画像データを含む。測距部22は、視点Vp(図2参照)から対象物OB上の各点までの距離を検出する。なお、検出部2は、撮像部21又は測距部22を含まなくてもよい。
撮像部21は、結像光学系13及び撮像素子14を備える。結像光学系13は、対象物OBの像を形成する。結像光学系13は、例えば鏡筒内に保持され、鏡筒とともに本体部10(図2参照)に取り付けられる。結像光学系13及び鏡筒は、例えば交換レンズであり、本体部10から取り外し可能である。結像光学系13及び鏡筒は、内蔵レンズでもよく、例えば鏡筒は、本体部10の一部でもよいし、本体部10から取り外し不能でもよい。
撮像素子14は、例えば、複数の画素が二次元的に配列されたCMOSイメージセンサ、あるいはCCDイメージセンサである。撮像素子14は、例えば本体部10に収容される。撮像素子14は、結像光学系13が形成した像を撮像する。撮像素子14の撮像結果(検出結果)は、例えば、各画素の色ごとの階調値の情報(例、RGBデータ)を含む。撮像素子14は、例えば、撮像結果をフルカラー画像のデータ形式で出力する。
測距部22は、一視点から対象物OB上(対象物OBの表面上)の各点までの距離を検出する。測距部22は、例えば、TOF(time of flight)法により距離を検出する。測距部22は、その他の手法で距離を検出するものでもよい。例えば、測距部22は、レーザスキャナを含み、レーザスキャンにより距離を検出するものでもよい。例えば、測距部22は、対象物OBに所定のパターンを投影し、このパターンの検出結果をもとに距離を測定するものでもよい。また、測距部22は、位相差センサを含み、位相差法により距離を検出するものでもよい。また、測距部22は、DFD(depth from defocus)法により距離を検出するものでもよい。DFD法を用いる場合、測距部22は、撮像部21の結像光学系13と撮像素子14との少なくとも一方を用いるものでもよい。
測距部22は、例えば、照射部15、結像光学系16、撮像素子17、及びコントローラ18を備える。照射部15は、対象物OBに赤外光を照射可能である。照射部15は、コントローラ18に制御される。コントローラ18は、照射部15から照射される赤外光の強度を時間変化させる(例、振幅変調する)。結像光学系16は、対象物OBの像を形成する。結像光学系16は、結像光学系13と同様に、交換レンズの少なくとも一部でもよいし、内蔵レンズの少なくとも一部でもよい。撮像素子17は、例えば、CMOSイメージセンサ、あるいはCCDイメージセンサである。撮像素子17は、少なくとも照射部15が照射する光の波長帯に感度を有する。撮像素子17は、例えば、コントローラ18に制御され、対象物OBで反射散乱した赤外光を検出する。例えば、撮像素子17は、結像光学系16が形成した像を撮像する。
コントローラ18は、撮像素子17による検出結果を使って、対象物OBの表面の各点から撮像素子17までの距離(デプス)を検出する。例えば、対象物OBの表面上の点から撮像素子17に入射する光の飛行時間は、この点のデプスに応じて変化する。撮像素子17の出力は飛行時間に応じて変化し、コントローラ18は、例えば、撮像素子17の出力をもとにデプスを算出する。コントローラ18は、例えば、撮像素子17が撮像した画像の一部の領域(例、1画素、複数の画素)ごとにデプスを算出し、この領域の位置とデプスとを関連付けて、デプス情報を算出(生成)する。デプス情報は、例えば、対象物OBの表面上の点の位置と、この点から検出装置1までの距離(デプス、深度)とを関連付けた情報を含む。デプス情報は、例えば、対象物OBにおけるデプスの分布(例、デプスマップ)を示す情報(例、デプス画像)を含む。
点群データ生成部23は、検出部2の検出結果をもとに対象物OB上の複数の点の座標を含む点群データを算出する。点群データ生成部23は、測距部22の検出結果(例、デプス情報)を使って、点群データを算出する点群データ算出処理を実行する。例えば、点群データ生成部23は、デプス情報が示す距離画像(デプス画像)から平面画像への透視変換などにより、点群データを算出する。この場合、例えば、点群データは、デプス画像における複数の領域(例、1画素、複数の画素)に対応して平面に配列されて、互いに隣接又は近傍の領域同士をつなげることが可能な複数の点である。なお、点群データ生成部23は、撮像部21と測距部22とで視野が異なる場合、例えば、測距部22の検出結果を透視変換(射影変換)などによって、撮像部21の視野から対象物OBを検出した結果に変換してもよい。
点群データ生成部23は、例えば、撮像部21の視野と測距部22の視野との位置関係(例、視点の位置、視線の向き)に依存するパラメータを使って、透視変換を実行してもよい。点群データ生成部23は、例えば、算出した点群データを記憶部7に記憶させる。なお、点群データ生成部23は、検出部2に含まれなくてもよい。点群データ生成部23は、検出部2外に設けられてもよい。点群データ生成部23は、例えば、モデル算出部4に含まれてもよい。すなわち、モデル算出部4は、検出部2の検出結果をもとに点群データを算出してもよい。
確度算出部3は、検出部2の検出結果をもとに、対象物OBの部分ごとの確度を含む確度情報を算出する。確度算出部3は、対象物OBの確度情報を算出する確度算出処理を実行する。確度情報は、例えば、対象物OBを含む領域(例、検出部2の検出領域A1、視野)の各位置に物体(対象物OB)が存在する確率、確率分布、及び期待値の少なくとも一つを含む。この確率分布は、例えば、検出部2の検出領域の一部の領域の確度と、その周辺の領域との確度との関係を示す情報である。確度算出部3は、例えば、デバイス特性情報に基づいて、確度情報を算出してもよい。デバイス特性情報は、検出装置1に設けられる各部の特性を示す情報である。デバイス特性情報は、例えば、検出部2に設けられる光学系(例、結像光学系13、結像光学系16)の光学特性(例、収差)、測距部22の測距レンジなどの特性を含む。
撮像部21の結像光学系13(図3参照)は、例えば、光軸13aから離れるほど収差が大きくなる。例えば、結像光学系13の光軸13aは撮像部21の視野中心14aに対応し、撮像部21は、撮像素子14において視野中心14aから離れた領域(例、1画素、複数画素)であるほど、この領域を用いた検出結果の信頼度が低下する。撮像部21の撮像画像は、例えば、光軸13aから離れるにつれて収差の影響が大きくなり、ボケ等により被写体の再現性(検出結果の信頼度)が低くなる。確度算出部3は、例えば、撮像画像の領域(例、1画素、複数画素)ごとに、視野中心14aからの距離に基づいて確度情報を算出してもよい。
確度と撮像部21の視野中心14aからの距離との関係は、例えば、結像光学系13による収差の撮像素子14上の分布に基づいて定められる。確度は、視野中心14aからの距離に対して非線形に変化する場合もあり、視野中心14aからの距離に対して線形に変化する場合もある。また、確度は、視野中心14aからの距離に対して不連続に(例、ステップ的に)変化する場合もある。確度と、撮像画像上の撮像部21の視野中心14aからの距離との関係を示す情報(以下、第1関係情報という)は、例えば、上記のデバイス特性情報に含まれ、記憶部7(図1参照)に予め記憶される。確度算出部3は、例えば、撮像画像の領域(例、1画素、複数画素)ごとに視野中心14aからの距離を算出する。確度算出部3は、算出した距離を第1関係情報と照合して、この領域における確度を算出する。確度算出部3は、例えば、確度情報として、各領域の位置と確度とを関連付けた情報を算出してもよい。
確度算出部3は、結像光学系13の収差(例、収差の分布)に基づいて確度情報を算出してもよい。また、確度算出部3は、結像光学系13の収差及び視野中心からの距離に基づいて確度情報を算出してもよい。また、確度算出部3は、測距部22の検出結果に対して、測距部22の視野中心からの距離と結像光学系16の収差の少なくとも一方に基づいて、確度情報を算出してもよい。
また、撮像画像は、例えば、対象物OBからの反射光により、その一部の領域において明るさが飽和することがある。また、対象物OB上には、例えば、他の物体の影がある場合など、視点Vpから見て暗い部分ができる場合がある。確度算出部3は、例えば、撮像画像における明るさ(明暗)に基づいて確度情報を算出してもよい。明るさと確度との関係は、例えば実験やシミュレーションなどに基づいて任意に設定される。例えば、確度は、明るさに対して非線形に変化してもよいし、線形に変化してもよく、不連続に(例、ステップ的に)変化してもよい。
明るさと確度との関係を示す情報(以下、第2関係情報という)は、例えば、記憶部7(図1参照)に予め記憶される。確度算出部3は、撮像画像の領域(例、1画素、複数画素)ごとの明るさ(例、階調値)を上記の第2関係情報と照合し、この領域における確度を算出する。確度算出部3は、例えば、確度情報として、各領域の位置と確度とを関連付けた情報を算出してもよい。
上述の各領域の位置と確度とを関連付けた情報は、撮像画像のデータと同じファイルに格納されてもよい。例えば、この情報のデータ構造(データ形式、データフォーマット)は、例えば、画素の階調値(R、G、Bの各階調値)と、確度とを組にした構造でもよい。また、各領域の位置と確度とを関連付けた情報は、撮像画像のデータと別のファイルに格納されてもよい。例えば、領域の位置と確度とを関連付けた情報のデータ構造は、撮像画像の画素配列に対応させて、各画素の確度の値を配列した構造でもよい。なお、確度算出部3は、検出部2に設けられる光学系(例、結像光学系13、結像光学系16)の光学特性に基づいた確度情報の算出を行わなくてもよい。例えば、確度算出部3は、上述の領域の位置と確度とを関連付けた情報を算出しなくてもよい。
また、確度算出部3は、例えば、測距部22が検出した距離に基づいて確度情報を算出してもよい。測距部22は、例えば、視点Vpから遠い位置であるほどその検出結果の信頼度(例、検出精度)が低下する場合がある。このような場合、確度算出部3は、例えば、確度情報として距離に対して負の相関をもつ値の確度を算出してもよい。確度は、視点Vpからの距離が遠くなるにつれて減少する。確度と視点Vpからの距離との関係を示す情報(以下、第3関係情報)は、例えば、予め記憶部7(図1参照)に記憶される。確度算出部3は、例えば、デプスの分布(例、デプスマップ)を示す情報であるデプス画像上の領域(例、1画素、複数画素)ごとに、領域における視点Vpまでの距離を第3関係情報に照合して、この領域の確度を算出する。確度算出部3は、例えば、確度情報として、各領域の位置と確度とを関連付けた情報を算出してもよい。
測距部22は、例えば所定の測距範囲(測距レンジ)を有し、測距範囲の中心から離れるほど検出結果の信頼度(例、検出精度)が低下する場合がある。このような場合、確度算出部3は、例えば、確度情報として、測距範囲の中心と、所定の視点からの距離とのずれ量に基づいて、確度情報を算出してもよい。確度は、測距範囲の中心で極大となり、距離が測距範囲の中心からずれるほど低下する。距離と確度との関係は、例えば測距部22の特性に応じて適宜設定される。また、確度算出部3は、測距部22が検出した距離の分布に基づいて、確度情報を算出してもよい。
測距部22の検出結果の信頼度は、例えば、距離の変化量が閾値よりも大きい位置(例、段差の近傍)で低下する。このような場合、確度算出部3は、例えば、確度情報として、距離の変化量に応じた確度を算出してもよい。例えば、確度算出部3は、確度情報として、距離の変化量に対して負の相関の値の確度を算出してもよい。例えば、確度算出部3は、距離の変化量が相対的に小さい領域について、測距部22の検出結果の信頼度が高いことを示す確度を算出してもよい。また、例えば、確度算出部3は、距離の変化量が相対的に大きい領域について、測距部22の検出結果の信頼度が低いことを示す確度を算出してもよい。
距離の変化量は、例えば、検出部2の視点を通る視線と、対象物OB上の面との傾きに応じた量である。例えば、距離の変化量が大きい場合、視線に対して対象物OB上の面が平行に近く、距離の変化量が小さい場合、視線に対して対象物OB上の面が垂直に近い。確度算出部3は、例えば、デプス画像の領域ごとに距離の変化量(例、隣接する2つの領域におけるデプスとの差分)を算出し、算出した変化量と閾値とを比較する。確度算出部3は、例えば、距離の変化量が閾値以下である場合に、この領域の確度を高く設定する。確度算出部3は、距離の変化量が閾値よりも大きい場合に、この領域の確度を低く設定する。
確度は、距離の変化量が閾値以下の範囲において一定であり、距離の変化量が閾値を超える範囲において減少する。なお、確度は、距離の変化量に対して、非線形に変化してもよいし、線形に変化してもよく、不連続に(例、ステップ的に)変化してもよい。確度と、視点Vpからの距離の変化量との関係を示す情報(以下、第4関係情報)は、例えば、予め記憶部7(図1参照)に記憶されてもよい。確度算出部3は、例えば、デプス画像上の領域(例、1画素、複数画素)ごとに、視点Vpまでの距離の変化量を算出し、この変化量を第4関係情報に照合して各領域の確度を算出する。確度算出部3は、例えば、確度情報として、各領域の位置と確度とを関連付けた情報を算出してもよい。
上述した各領域の位置と確度とを関連付けた情報は、デプス情報と同じファイルに格納されてもよい。例えば、この情報のデータ構造(データ形式、データフォーマット)は、例えば、検出領域A1の一部の領域ごとに、確度とデプスとを組にした構造でもよい。例えば、この情報は、デプス画像の領域(例、1画素、複数画素)ごとに、デプスの値と確度とを組にした形式で表されてもよい。また、各領域の位置と確度とを関連付けた情報は、デプス情報と別のファイルに格納されてもよい。例えば、各領域の位置と確度とを関連付けた情報は、デプス情報における各領域の距離のデータ配列に対応させて、各領域の確度の値を配列した構造でもよい。
なお、確度算出部3は、各領域の位置と確度とを関連付けた情報を算出しなくてもよい。また、確度算出部3は、検出部2(例、測距部22)が検出した距離に基づいた確度情報の算出を行わなくてもよい。なお、確度算出部3は、2つ以上の確度を組み合わせた確度を算出してもよい。例えば、確度算出部3は、各領域の位置と確度とを関連付けた複数の情報を用いた重み付け(加重平均(weighted average)の算出)を行って、確度を算出してもよい。また、確度算出部3は、各領域の位置と確度とを関連付けた複数の情報のうち2つ以上の相加平均と相乗平均との少なくとも一方を、確度として算出してもよい。
なお、点群データ生成部23は、確度情報を用いて点群データを算出してもよい。例えば、点群データ生成部23は、デプス画像において確度が相対的に高い領域を選択して、デプス画像から平面画像への透視変換を行ってもよい。例えば、点群データ生成部23は、デプス画像において確度が相対的に低い領域の少なくとも一部の透視変換を省略してもよい。また、点群データ生成部23は、例えば、デプス画像において確度が相対的に高い領域を用いて、確度が相対的に低い領域を補間し、デプス画像から平面画像への透視変換を行ってもよい。点群データ生成部23は、例えば、点群データと確度情報とを関連付けた情報を生成してもよい。例えば、点群データ生成部23は、点群データに含まれる3次元の点座標と、この点に対応するデプス画像上の点の確度(点確度情報)とを関連付けた情報を算出してもよい。この情報のデータ構造は、例えば、3次元の点座標と確度とを組にした構造でもよい。点群データ生成部23は、例えば、点群データと点確度情報とを関連付けた情報を、記憶部7に記憶させてもよい。
確度算出部3は、例えば、点群データ生成部23が生成した点群データを用いて、点群データに含まれる点の情報に関する確度情報(点確度情報)を算出する。確度情報は、例えば、対象物OBを含む領域(例、検出部2の検出領域、視野)の各位置に対する、検出部2の検出結果の信頼度を含む。例えば、確度は、各位置のデータの正確さ(正確度、精度、信頼度)、又は不確かさ(曖昧さ、不明瞭さ)を数値化したものであり、確度情報は、複数の位置における確度の分布を含む。例えば、確度が高いことは、正確さが高いこと、あるいは不確かさが低いことに相当する。例えば、確度が低いことは、正確さが低いこと、あるいは不確かさが高いことに相当する。確度情報は、確度の集まり(複数の確度)を含み、例えば、確度マップである。確度情報は、対象物OBの部分ごとに算出される確度(つまり、複数の確度)を含む。
確度算出部3は、例えば、点群データ生成部23が生成した点群データを用いて、点群データに含まれる点の情報に関する確度情報(点群データの確度情報)を算出する。例えば、確度算出部3は、点群データに含まれる所定の2点間の距離情報に基づいて、確度情報を算出してもよい。例えば、確度算出部3は、点群データから隣接する2点を選択し、これら2点間の距離を閾値と比較して、確度情報を算出してもよい。また、確度算出部3は、点群データに含まれる複数の点の空間周波数情報(例、点の空間分布の粗密)に基づいて、確度情報を算出してもよい。
また、確度算出部3は、点群データに含まれる2点を結ぶベクトル情報に基づいて、確度情報を算出してもよい。例えば、確度算出部3は、点群データから隣接する2点を選択し、これら2点を結ぶベクトルと、検出装置1の位置情報とを用いて、確度情報を算出してもよい。検出装置1の位置情報は、例えば、視点Vpの向き(検出方向、視線、光学系の光軸の方向)を含む。確度算出部3は、例えば、点群データに含まれる2点を結ぶベクトルと視点Vpの向きとの角度に応じて、確度情報を算出してもよい。例えば、確度算出部3は、上記のベクトルと視点Vpの向きとの角度が0°あるいは180°に近い場合、上記のベクトルの始点と終点との少なくとも一方の確度を相対的に低くしてもよい。また、例えば、確度算出部3は、上記のベクトルと視点Vpの向きとの角度が90°あるいは270°に近い場合、確度を相対的に高くしてもよい。
確度算出部3が確度情報(点確度情報)の算出に用いる情報は、上記の距離情報、空間周波数情報、ベクトル情報、及び検出装置1の位置情報のうち、1種類の情報でもよいし、2種類以上の情報でもよい。確度算出部3が点確度情報の算出に用いる点群データは、点群データ生成部23が確度情報を用いて生成したものでもよいし、点群データ生成部23が確度情報を用いないで生成したものでもよい。また、確度算出部3は、点群データを用いて算出した点確度情報を記憶部7に記憶させてもよい。
また、確度算出部3は、例えば、線の情報に関する確度情報(線確度情報)を算出してもよい。例えば、確度算出部3は、線の端点に相当する2点の点確度情報を用いた相加平均、相乗平均、あるいは加重平均によって、線確度情報を算出してもよい。また、例えば、確度算出部3は、2つの端点の確度のうち低い方の値を閾値と比較して、線の確度を算出(評価)してもよい。また、確度算出部3は、線情報を用いて線確度情報を算出してもよい。例えば、確度算出部3は、上述の点群データを用いた点確度情報の算出と同様に、上記の距離情報、ベクトル情報、及び検出装置1の位置情報の少なくとも1つを用いて、線確度情報を算出してもよい。確度算出部3は、算出した線確度情報を記憶部7に記憶させてもよい。
また、確度算出部3は、例えば、面の情報に関する確度情報(面確度情報)を算出してもよい。例えば、確度算出部3は、面の外周線に相当する線の線確度情報を用いた相加平均、相乗平均、あるいは加重平均によって、面確度情報を算出してもよい。また、確度算出部3は、面の法線方向と、検出装置1の位置情報(例、視点Vpの向き)とを用いて、確度情報を算出してもよい。例えば、確度算出部3は、例えば、面の法線ベクトルと視点Vpの向きとの角度に応じて、面確度情報を算出してもよい。例えば、確度算出部3は、面の法線ベクトルと視点Vpの向きとの角度が0°あるいは180°に近い場合(例、面と視線が平行に近い場合)、面の確度を相対的に低くしてもよい。また、例えば、確度算出部3は、面の法線ベクトルと視点Vpの向きとの角度が90°あるいは270°に近い場合(面と視線が垂直に近い場合)、面の確度を相対的に高くしてもよい。確度算出部3は、算出した面確度情報を記憶部7に記憶させてもよい。
確度算出部3は、例えば、モデル算出部4が生成したサーフェス情報を用いて確度情報を算出してもよい。また、確度算出部3は、サーフェス情報を用いて算出した確度情報を記憶部7に記憶させてもよい。確度算出部3が、サーフェス情報を用いて確度情報を算出した場合、モデル算出部4は、この確度情報を用いてサーフェス情報の少なくとも一部(例、線の情報、面の情報)を再計算してもよい。
確度算出部3は、例えば、テクスチャ情報のもとになる画像データを用いて、テクスチャ情報に関する確度情報を算出してもよい。確度算出部3は、例えば、画像データに含まれる各画素のR、G、Bの輝度(階調値)と、画像データから算出されるテクスチャの空間周波数情報との少なくとも一方を用いて、確度情報を算出してもよい。確度算出部3は、例えば、上記の画像データの取得に用いられる光学系の特性(例、照野、収差)、対象物の光学特性(例、反射率、透過率、吸収率)、及び対象物を照らす光の光源の情報の少なくとも一部を用いて、確度情報を算出してもよい。
確度算出部3は、例えば、対象物OBの領域(例、点群データの各点、サーフェス情報の要素)ごとに、確度情報を算出する。確度情報は、例えば、形状情報またはテクスチャ情報を算出するために検出部2の検出結果に対して重み付けした情報を含んでもよい。確度情報は、例えば、形状情報またはテクスチャ情報の算出に用いられる情報として、検出部2の検出結果または検出結果から生成される情報に対して重み付けした情報を含んでもよい。この重み付けに用いられる係数は、重み付けの処理よりも前に取得された確度情報に含まれる確度に応じた値でもよい。
モデル算出部4は、検出部2の検出結果を用いて対象物OBのモデル情報を算出する。モデル算出部4は、対象物OBのモデル情報を算出するモデル算出処理を実行する。モデル算出部4は、例えば、視点Vpから見た場合の対象物OBの形状情報とテクスチャ情報との少なくとも一方を算出する。モデル算出部4は、例えば、点群データ生成部23が生成した点群データを用いて、対象物OBのモデル情報を算出する。モデル情報は、視点Vpにおける対象物OBの形状情報とテクスチャ情報との少なくとも一方を含む。
モデル算出部4は、例えば、形状情報として、検出部2の検出結果をもとに対象物OB上の複数の点の座標と複数の点間の連結情報とを含むサーフェス情報を生成する。サーフェス情報は、例えばポリゴンデータ、ベクタデータ、ドローデータなどである。連結情報は、例えば、対象物OBの稜線(例、エッジ)に相当する線の両端の点を互いに関連付ける情報、及び対象物OBの面の輪郭に相当する複数の線を互いに関連付ける情報を含む。モデル算出部4は、例えば、確度算出部3が算出した確度情報を用いてサーフェス情報を生成してもよい。
モデル算出部4は、例えば、点群データを用いて、線情報を生成する。モデル算出部4は、線情報を用いて、面情報を生成する。モデル算出部4は、例えば、点群データに含まれる複数の点から選択される点(例、デプス画像における画素に対応する点)とその近傍の点との間の面を推定し、点群データを点間の平面情報を持つポリゴンデータに変換する(サーフェス処理)。モデル算出部4は、例えば、最小二乗法を用いたアルゴリズムにより、点群データをポリゴンデータへ変換する。このアルゴリズムは、例えば、点群処理ライブラリに公開されているアルゴリズムを適用したものでもよい。モデル算出部4は、例えば、対象物OBの領域ごとに算出された確度情報を少なくとも形状情報に関連付けしてもよい。モデル算出部4は、算出したサーフェス情報を記憶部7に記憶させてもよい。
モデル算出部4は、例えば、確度算出部3が算出した確度情報を用いてテクスチャ情報を算出してもよい。なお、モデル算出部4は、サーフェス情報を生成する際に確度情報を用いなくてもよい。例えば、モデル算出部4は、点群データ生成部23が確度情報を用いて点群データを生成し、この点群データをもとにサーフェス情報を生成する際に、確度情報を用いなくてもよい。また、モデル算出部4は、点確度情報を用いて線情報を生成し、この線情報をもとに面情報を生成する際に、線確度情報を用いなくてもよい。
モデル算出部4は、例えばインバースレンダリングの手法により、テクスチャ情報を算出する。テクスチャ情報は、例えば、対象物OBの表面の模様を示すパターン情報、対象物OBを照らす光の光源情報、及び対象物OBの表面の光学特性(例、反射率、散乱率、透過率)を示す光学特性情報の少なくとも1項目の情報を含む。光源情報は、例えば、光源の位置、光源から対象物へ光が照射される方向、光源から照射される光の波長、光源の種類のうち少なくとも1項目の情報を含む。
モデル算出部4は、例えば、ランバート反射を仮定したモデル、アルベド(Albedo)推定を含むモデルなどを利用して、光源情報を算出する。例えば、モデル算出部4は、撮像部21が撮像した画像の各画素の画素値のうち、対象物OBで拡散した光に由来する成分と対象物OBで正反射した成分とを推定する。また、モデル算出部4は、例えば、対象物OBで正反射した成分の推定結果、及び形状情報を使って、光源から対象物OBへ光が入射してくる方向を算出する。モデル算出部4は、例えば、算出した光源情報及び形状情報を使って対象物OBの反射特性を推定し、反射特性の推定結果を含む光学特性情報を算出する。また、モデル算出部4は、例えば、算出した光源情報及び光学特性情報を使って、可視光画像のデータから照明光の影響を除去して、テクスチャ情報(パターン情報)を算出する。モデル算出部4は、算出したテクスチャ情報を記憶部7に記憶させてもよい。
モデル算出部4は、例えば、検出部2(例、撮像部21)の検出結果(撮像画像)のうち、確度が相対的に高い領域を選択的に用いて、テクスチャ情報を算出してもよい。モデル算出部4は、例えば、撮像部21による撮像画像のうち、確度が相対的に低い領域をテクスチャ情報の算出に用いなくてもよく、この場合、処理の負荷を減らすこと、生成されるテクスチャ情報のデータ量を減らすことができる。また、モデル算出部4は、例えば、確度が相対的に低い領域の情報を、確度が相対的に高い領域の情報を用いて補間し、テクスチャ情報を算出してもよい。
特定部5は、確度算出部3が算出した確度情報のうち、対象物OBにおける各点の確度が基準に対して低い第1部分AR1を特定する。特定部5は、第1部分AR1を特定する第1部分特定処理を実行する。対象物OBは、例えば、XYZ座標系において突起OB1を+X方向に向けて配置されている。この状態で図2に示すように、視点Vpから検出部2で取得した情報に基づいて確度情報を算出すると、視点Vpから見て対象物OBの影になる部分(視点Vpから見込むことができない部分であり、突起OB1の影になる部分も含む。)は確度が基準に対して低い第1部分AR1となる。第1部分AR1は、確度が基準に対して低い領域である。例えば、第1部分AR1は、低精度領域である。
対象物OBは、第1部分AR1と、第1部分AR1とは異なる第2部分AR2とを含む。第2部分AR2は、対象物OBのうち、第1部分AR1を除いた部分の一部又は全部である。第2部分AR2は、第1部分AR1の各点の確度より高い確度を有する領域である。第2部分AR2は、基準に対して高い確度を有する領域である。
特定部5は、基準として閾値(所定値)を設定し、確度が閾値より小さい部分を第1部分AR1に特定する。また、特定部5は、閾値より大きい部分を除いた部分を第1部分AR1に特定する。閾値は、予め設定された値であってもよいし、演算等により求められた値であってもよい。また、閾値は、ユーザがモデル算出部4により生成されたモデル情報を見て設定される値であってもよい。ユーザがモデル情報を見て閾値を設定する場合、例えば、表示部DPの画面DPA(図4等参照)に表示されたモデル情報に対して、例えば入力装置(例、タッチペン等)により第1部分AR1とすべき領域を囲む(又は塗る)ことにより、囲まれた領域(又は塗られた領域)を第1部分AR1とするような閾値(すなわち、囲まれた領域含まれる確度より大きな値とする閾値)に設定されてもよい。特定部5において設定される基準(閾値)は、対象物OBの形状(例、複雑な凹凸を含む場合など)、検出部2における検出精度等に応じて定めることができる。
また、特定部5は、第2部分AR2に対して、確度情報に基づいて複数の領域(複数の部分)を設定してもよい。特定部5は、例えば、第2閾値(第2所定値)を設定し、第2部分AR2を2つの領域(部分)AR21、AR22に設定してもよい(図5参照)。例えば、領域AR21は、第2閾値より確度が高い領域であり、領域AR22は、第2閾値より確度が小さい領域である。第2閾値は、予め設定された値であってもよいし、演算等により求められた値であってもよい。また、第2閾値は、ユーザがモデル算出部4により生成されたモデル情報を見て設定される値であってもよい。また、特定部5は、例えば、第2部分AR2を3つ以上の領域に設定してもよい。また、特定部5は、第1部分AR1と第2部分AR2との比率を算出してもよい。特定部5は、第1部分AR1を特定した後、第1部分AR1と第2部分AR2との割合(比率)を算出し、算出結果を記憶部7に記憶させてもよい。
制御部6は、例えば、ユーザ又は外部装置からの指令(制御信号)により、検出装置1の各部を制御する。例えば、制御部6は、検出部2に上記の検出処理を実行させる。この検出処理は、例えば、撮像部21による撮像処理を含む。制御部6は、例えば、検出部2の検出結果の少なくとも一部を記憶部7に記憶させる。制御部6は、例えば、確度算出部3に確度情報を算出させ、確度算出部3が算出した確度情報の少なくとも一部を記憶部7に記憶させる。制御部6は、例えば、モデル算出部4にモデル情報を算出させ、モデル算出部4が算出したモデル情報の少なくとも一部を記憶部7に記憶させる。制御部6は、例えば、通信部8を制御し、検出装置1に指令(制御信号)や設定情報を送信させる。制御部6は、例えば、通信部8で受信した情報を、記憶部7に記憶させる。
記憶部7は、制御部6内に含まれる形態であってもよいし、制御部6外に配置される形態であってもよい。記憶部7は、例えば、USBメモリ、メモリカードなどの不揮発性メモリであってもよい。また、記憶部7は、検出装置1に内蔵される記憶デバイスを含んでいてもよいし、検出装置1からリリース可能な記憶デバイスを接続可能なポートを含んでいてもよい。記憶部7は、例えば、検出部2の検出結果(例、撮像画像データ、デプス情報、点群データ)、モデル算出部4の算出結果(例、形状情報、サーフェス情報、テクスチャ情報)、確度算出部3の算出結果(確度情報)、各種設定情報、及び処理を実行させるプログラム等を記憶する。
通信部8は、無線又は有線により本体部10外の装置、機器、情報端末等との各種データ(例、モデル情報)の送受信を行う。通信部8は、例えば、USBポートなどのI/Oポート、電波又は赤外線の無線通信を行う通信器のうち少なくとも一つを含む。通信部8は、制御部6に制御され、記憶部7に記憶されている情報を読み出し、読み出した情報を外部装置に送信する。例えば、通信部8は、確度算出部3の算出結果(例、確度情報)とモデル算出部4の算出結果(例、モデル情報)の少なくとも一部を、外部装置(例、情報処理装置)に送信する。また、通信部8は、例えば、外部装置からの指令を含む情報を受信する。通信部8は、受信した情報を記憶部7に記憶させること、受信した情報を制御部6に供給することができる。
また、検出装置1は、例えば、モデル情報の少なくとも一部を、バーコードや2次元コードのようなデジタル情報を入出力できるデジタル装置に出力可能である。このようなデジタル装置は、モデル情報の少なくとも一部を含むデジタル情報を他の表示装置(ディスプレイ装置)又は紙などに表示する又は印字することができる。表示された又は印字されたデジタル情報を読み取れるリーダー部(例、光学式リーダー)を備えるリーダー装置は、リーダー部で読み取ったデジタル情報を自装置の記憶領域などに記憶させることができる。また、検出装置1は、上記したデジタル装置、リーダー装置を備える構成であってもよい。検出装置1が上記したデジタル装置を備える場合に、通信部8は、情報(例、モデル情報)の少なくとも一部を上記したデジタル装置に送信してもよい。また、上記したデジタル装置は、受信したモデル情報をもとにデジタル情報を生成し、このデジタル情報を紙などの媒体に出力してもよい。
表示制御部9は、表示部DPに対象物OBのモデル情報を表示させる際に、モデル情報における第1部分AR1に相当する部分を強調させる。表示制御部9は、モデル算出部4が算出したモデル情報を用いてレンダリング処理を実行する。表示制御部9は、レンダリング処理部を含む。表示制御部9(レンダリング処理部)は、例えば、グラフィックス プロセッシング ユニット(Graphics Processing Unit; GPU)を含む。なお、表示制御部9(レンダリング処理部)は、CPUおよびメモリが画像処理プログラムに従って各処理を実行する態様でもよい。レンダリング処理部は、例えば、描画処理、テクスチャマッピング処理、シェーディング処理の少なくとも一つの処理を行う。
表示制御部9(レンダリング処理部)は、描画処理において、例えば、モデル情報の形状情報に定められた形状を任意の視点位置から見た推定画像(例、再構築画像)を算出できる。以下の説明において、形状情報が示す形状をモデル形状という。表示制御部9(レンダリング処理部)は、例えば、描画処理によって、モデル情報(例、形状情報)からモデル形状(例、推定画像)を再構成できる。表示制御部9(レンダリング処理部)は、例えば、算出した推定画像のデータを記憶部7に記憶させる。また、表示制御部9(レンダリング処理部)は、テクスチャマッピング処理において、例えば、推定画像上の物体(例、対象物OB)の表面に、モデル情報のテクスチャ情報が示す画像を貼り付けた推定画像を算出できる。
表示制御部9(レンダリング処理部)は、推定画像上の物体の表面に、対象物と別のテクスチャを貼り付けた推定画像を算出することができる。表示制御部9(レンダリング処理部)は、シェーディング処理において、例えば、モデル情報の光源情報が示す光源により形成される陰影を推定画像上の物体に付加した推定画像を算出できる。また、表示制御部9(レンダリング処理部)は、シェーディング処理において、例えば、任意の光源により形成される陰影を推定画像上の物体に付加した推定画像を算出できる。
表示制御部9は、モデル情報における第1部分AR1に相当する部分を強調させる強調表示処理を実行する。表示部DPにおいて第1部分AR1が強調されるとは、ユーザが表示部DPの画面DPAを見たときに、第1部分AR1に対応する部分を特定できるように表示されていることを含む。表示制御部9は、表示部DPに対象物OBのモデル情報を表示させる際に、モデル情報における第1部分AR1に相当する部分を特定表示により強調させる。特定表示は、例えば、対象物OBのモデル情報のうち、第2部分AR2に相当する部分に対して第1部分AR1に相当する部分の色、彩度、及び輝度のうち少なくとも1つが異なってもよい。また、特定表示は、例えば、表示部DPに対象物OBのモデル情報を表示させる際に、時間の経過に伴って変化させてもよい。例えば、表示制御部9は、特定表示として、第1部分AR1に相当する表示を点滅させてもよい。このように、本実施形態では、第1部分AR1に相当する部分を、他の部分(例、第2部分AR2に相当する部分)と識別できる(又はユーザが特定して視認できる)モデル情報を生成して表示する。
図4から図6は、第1実施形態に係る表示部DPの表示例を示す図である。図4は、表示部DPの画面DPAに表示される一例を示している。図4に示すように、表示部DPの画面DPAには、表示制御部9によるレンダリング処理により対象物OBのモデル情報が表示される。その際、表示制御部9は、特定表示Sとして、第1部分AR1に相当する部分の色を第2部分AR2の色から変えて、すなわち第1部分AR1をユーザから見て強調された表示とする強調表示処理を行っている。
表示制御部9は、特定表示Sとして、例えば、第2部分AR2を青又は青系の色で表示しつつ、第1部分AR1を赤又は赤系の色で表示させる。このように、第1部分AR1の色を第2部分AR2と変える特定表示を行うことにより、第1部分AR1が強調された状態となる。すなわち、ユーザは、第1部分AR1が強調されることで、この第1部分AR1の確度が基準(閾値)より低いこと、第1部分AR1のモデル情報が不確実であることを容易に確認することができる。その結果、ユーザは、第1部分AR1について対象物OBの情報を取得する必要があることを容易に認識することができる。なお、第1部分AR1の色は任意に設定可能である。また、表示制御部9は、例えば、モデル情報をグレースケールで表示させる際(又は単一色で表示する際)に、第2部分AR2を薄く表示させ、第1部分AR1を濃く表示させてもよいし、第2部分AR2を濃く表示させ、第1部分AR1を薄く表示させてもよい。
また、表示制御部9は、特定表示Sとして、第2部分AR2に対して第1部分AR1の輝度を大きく(明るく)してもよい。第1部分AR1が第2部分AR2より明るく表示されるので、第1部分AR1が強調された状態となる。なお、表示制御部9は、特定表示Sとして、第1部分AR1に対して第2部分AR2の輝度を大きく(明るく)してもよい。また、表示制御部9は、特定表示Sとして、第2部分AR2の彩度を高めて表示させ、第1部分AR1の彩度を低くして表示させてもよい。すなわち、表示制御部9は、第2部分AR2に対して濃い色処理を行いつつ、第1部分AR1に対して薄い色処理を行ってもよい。この場合、第2部分AR2が鮮やか(はっきりした、鮮明)であるのに対し、第1部分AR1が薄い色合い(くすんだ)となり、第1部分AR1が強調された状態となる。なお、表示制御部9は、特定表示Sとして、第2部分AR2に対して第1部分AR1の輝度を大きく(明るく)してもよい。
なお、表示制御部9は、上記した特定処理の2つ以上を組み合わせてもよい。例えば、第2部分AR2に対して第1部分AR1の色を変え、かつ、第1部分AR1の輝度と第2部分AR2の輝度とを変えるようにしてもよい。また、表示制御部9は、特定表示Sとして、第1部分AR1を時間の経過により変化させてもよいし、第2部分AR2を時間の経過により変化させてもよい。時間の経過による変化は、例えば、第1部分AR1を点滅させる形態、第1部分AR1の色を徐々に変化させる形態、第1部分AR1の色が薄くなる又は濃くなるなど彩度を変化させる形態のいずれであってもよい。また、表示制御部9は、上記処理がリアルタイムに行われること等によって、特定表示S又は特定表示Sを含むモデル情報などを連続的に又は断続的に表示してもよい。
図5は、第1実施形態に係る表示部DPの画面DPAに表示される他の例を示している。図5に示すように、表示部DPの画面DPAには、表示制御部9によるレンダリング処理により対象物OBのモデル情報が表示される点は図4と同様である。特定部5が、第2部分AR2に対して、確度情報と第2閾値とに基づいて領域AR21、AR22を設定している場合、表示制御部9は、領域AR21、AR22に対して、例えば、色、彩度、及び輝度の少なくとも一つを変えて表示させてもよい。例えば、領域AR21が領域AR22より確度が高い部分である場合、表示制御部9は、領域AR21を領域AR22に対して色を濃く、又は輝度を高くしてもよい。
ユーザは、確度情報が基準より高い第2部分AR2について、その第2部分AR2の中でも確度が高い部分を容易に認識することができる。なお、第2部分AR2を3以上の部分に分ける場合の同様である。なお、図5に示す領域AR21、AR22の表示は、ユーザにより選択的に表示させてもよい。例えば、不図示の入力部をユーザが操作することにより、表示部DPの画面DPAに領域AR21、AR22を表示させる形態と、領域AR21、AR22を表示させない形態とを選択可能な構成であってもよい。また、ユーザの操作により領域AR21、AR22のいずれか一方を表示部DPの画面DPAに表示させる形態であってもよい。
図6は、第1実施形態に係る表示部DPの画面DPAに表示される他の例を示している。図6に示すように、表示部DPの画面DPAには、表示制御部9によるレンダリング処理により対象物OBのモデル情報が表示される点は図4と同様である。特定部5が第1部分AR1と第2部分AR2との割合(比率)を算出している場合、表示制御部9は、表示部DPの画面DPAにモデル情報と確度比率を示すグラフGとを表示させてもよい。すわなち、一画面中にモデル情報と割合とを表示させてもよい。なお、グラフGの形態は任意であり、第1部分AR1と第2部分AR2と割合を示す他の形態(例、棒グラフ)であってもよい。
ユーザは、表示部DPの画面DPAにモデル情報とグラフGとが表示されることにより、モデル情報全体に対する第1部分AR1の比率を容易に認識することができる。すなわち、ユーザは、モデル情報全体に対して、確度が基準(閾値)に達しない部分がどの程度であるかを容易に確認することができる。なお、グラフGにおいて、第2部分AR2に相当する部分は、モデル情報の第2部分AR2の表示に用いた色で表示させ、第1部分AR1に相当する部分は、モデル情報の第1部分AR1の表示に用いた色で表示させてもよい。この表示により、ユーザは、モデル情報の第1部分AR1(又は第2部分AR2)とグラフGの第1部分AR1(又は第2部分AR2)との対比を直感的に把握することができる。
なお、図6に示すグラフGの表示は、ユーザにより選択的に表示させてもよい。例えば、不図示の入力部をユーザが操作することにより、表示部DPの画面DPAにおいてモデル情報と併せてグラフGを表示させる形態と、グラフGを表示させない形態とを選択可能な構成であってもよい。また、ユーザの操作により、モデル情報を表示している形態からグラフGを表示させる形態に切り替える構成であってもよい。また、図5に示す領域AR21、AR22を表示させる場合、グラフGの第2部分AR2の領域を領域AR21と領域AR22とで分割して表示させてもよい。
次に、上述の検出装置1の構成に基づき、実施形態に係る検出方法の一例について説明する。図7、図8は、実施形態に係る検出方法の一例を示すフローチャートである。本実施形態に係る検出方法は、対象物を一視点から検出することと、検出した結果を用いて、対象物のモデル情報を算出することと、検出結果をもとに、対象物の部分ごとの確度を含む確度情報を算出することと、一視点における確度情報のうち、確度が基準に対して低い第1部分を特定することと、モデル情報における第1部分に相当する部分を強調させたモデル情報を表示部に表示させることと、を含む。
図7に示すように、ステップS1において、検出部2は、所定の一視点(単一視点)から対象物OBを検出する。例えば、検出部2の撮像部21は、視点Vpから対象物OBを撮像する。ステップS2において、モデル算出部4は、検出部2の検出結果を用いて、対象物OBのモデル情報を算出する。モデル算出部4は、例えば、視点Vpから見た場合の対象物OBの形状情報とテクスチャ情報との少なくとも一方を算出する。また、モデル算出部4は、例えば、点群データを用いて対象物OBのサーフェス情報を算出する。
ステップS3において、確度算出部3は、検出部2の検出結果をもとに、対象物OBの部分ごとの確度を含む確度情報を算出する。確度算出部3は、例えば、点群データ生成部23が生成した点群データを用いて、点群データに含まれる点の情報に関する点確度情報(確度情報、点群データの確度情報)を算出する。なお、確度算出部3は、線確度情報又は面確度情報を算出してもよい。ステップS4において、特定部5は、一視点における確度情報のうち、確度が基準に対して低い第1部分AR1を特定する。特定部5は、例えば、予め設定されている閾値(所定値)に基づいて、この閾値より小さい第1部分AR1を特定する。また、特定部5は、第2部分AR2に対して、第2閾値に基づいて複数の領域(例、領域AR21、AR22)を設定する。
ステップS5において、表示制御部9は、モデル情報における第1部分AR1に相当する部分を強調させたモデル情報を表示部DPの画面DPAに表示させる。例えば、図4に示すように、表示制御部9は、表示部DPの画面DPAにモデル情報を表示させる際に、第1部分AR1に相当する部分を第2部分AR2と色を変えるなどの特定表示により、第1部分AR1を強調させる。ユーザは、画面DPAのモデル情報を見たときに、確度が基準より小さい第1部分AR1を容易に認識することができる。
図8(A)及び(B)は、実施形態に係る検出方法の他の例を示すフローチャートである。図8(A)及び(B)において、ステップS1からS5については図7に示すフローチャートと同様であるため、説明を簡略化又は省略する。図8(A)に示すように、ステップS4の後、ステップS6において、表示制御部9は、表示部DPの画面DPAに表示するモデル情報において、第2部分AR2を複数の領域で表示するか否かを判断する。特定部5が、例えば、第2部分AR2に対して、確度情報と第2閾値とに基づいて領域AR21、AR22を設定している場合、表示制御部9は、領域AR21、AR22を表示すると判断してもよい。また、表示制御部9は、ユーザから領域AR21、AR22の表示指示を受け付けた場合に領域AR21、AR22を表示すると判断してもよい。
表示制御部9が第2部分AR2を複数の領域で表示すると判断した場合(ステップS6のYES)、ステップS7において、表示制御部9は、表示部DPの画面DPAにモデル情報を表示させる際に、第2部分AR2を例えば2つの(複数の)領域AR21、AR22を表示させる(図5参照)。領域AR21、AR22は、例えば、互いに、色、彩度、及び輝度の少なくとも一つを変えて表示部DPの画面DPAに表示される。また、表示制御部9が第2部分AR2を複数の領域で表示しないと判断した場合(ステップS6のNO)、ステップS5において、表示制御部9は、表示部DPの画面DPAにモデル情報を表示させる。
図8(B)に示すように、ステップS4の後、ステップS8において、表示制御部9は、表示部DPの画面DPAに割合のグラフGを表示するか否かを判断する。特定部5が、例えば、モデル情報全体に対する第1部分AR1と第2部分AR2との割合(比率)を算出している場合、表示制御部9は、割合のグラフGを表示すると判断してもよい。また、表示制御部9は、ユーザから割合のグラフGの表示指示を受け付けた場合に割合のグラフGを表示すると判断してもよい。
表示制御部9が割合のグラフGを表示すると判断した場合(ステップS8のYES)、ステップS9において、表示制御部9は、表示部DPの画面DPAにモデル情報とともに割合のグラフGを表示させる(図6参照)。また、表示制御部9が割合のグラフGを表示しないと判断した場合(ステップS8のNO)、ステップS5において、表示制御部9は、表示部DPの画面DPAにモデル情報を表示させる。なお、図8(A)に示すフローチャートと、図8(B)に示すフローチャートとは同時に行ってもよい。すなわち、表示制御部9は、ステップS6がYESであり、かつステップS8がYESである場合、表示部DPの画面DPAにモデル情報を表示させる際に、第2部分AR2を領域AR21、AR22で表示させ、かつ割合のグラフGを表示させてもよい。
このように、本実施形態によれば、モデル情報のうち、確度が基準より小さい第1部分AR1を強調して表示させるので、ユーザは、確度が小さい部分である(形状等が不確かな部分である)第1部分AR1の位置又は範囲等を容易に確認することができる。また、第1部分AR1を強調することは、第1部分AR1の確度上げるための示唆を与えることができる。すなわち、ユーザは、第1部分AR1の情報を別途(新たに)取得することにより、第1部分AR1の確度を上げることが可能であること(モデル情報全体としての精度を向上させること)を容易に認識できる。
上述の実施形態において、検出装置1は、例えばコンピュータシステムを含む。検出装置1は、記憶部7に記憶されている検出プログラムを読み出し、この検出プログラムに従って各種の処理を実行する。この検出プログラムは、例えば、コンピュータに、所定の一視点Vp(単一視点)から対象物OBを検出することと、検出部2の検出結果を用いて、対象物OBのモデル情報を算出することと、一視点Vpにおける確度情報のうち、確度が基準に対して低い第1部分AR1を特定することと、モデル情報における第1部分AR1に相当する部分を強調させたモデル情報を表示部DPに表示させることと、を実行させる。この検出プログラムは、コンピュータ読み取り可能な記憶媒体に記録されて提供されてもよい。
[第2実施形態]
第2実施形態について説明する。図9は、第2実施形態に係る検出装置1Aの一例を示す機能ブロック図である。本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。図9に示すように、検出装置1Aは、例えば撮像装置であり、複数の検出領域(例、視野)内の対象物OBを検出する。検出装置1Aは、例えば、定点カメラでもよいし、手動又は自動で視野を変更可能なカメラでもよく、携帯可能な情報端末(例、スマートフォン、タブレット、カメラ付き携帯電話)でもよい。検出装置1Aは、対象物OBを検出した結果を使って、対象物OBに関する情報の演算処理を行う。検出装置1Aは、自端末の演算処理によって、対象物OBの少なくとも一部をモデル化し、モデル情報(モデルデータ)を算出する。例えば、検出装置1Aは、演算処理によって、対象物OBの少なくとも一部をコンピュータグラフィック処理(CG処理)し、モデル情報(例、CGモデルデータ)を算出する。
検出装置1Aは、例えば、複数の視点(例、異なる視点、複数の方向)から見た対象物OBを示すモデル情報を算出する。本実施形態では、2つの視点Vp1、Vp2から見た対象物OBを示すモデル情報を算出するが、この形態に限定されず、3つ以上の視点から見た対象物OBを示すモデル情報を算出してもよい。検出装置1Aは、例えば、検出部2、2Aと、確度算出部3と、モデル算出部4と、特定部5と、制御部6と、記憶部7と、通信部8と、表示制御部9と、本体部10と、モデル統合部30とを備える。検出部2、2A、確度算出部3、モデル算出部4、特定部5、制御部6、記憶部7、通信部8、表示制御部9、及びモデル統合部30は、例えば、本体部10に設けられることでユニット化される。なお、2つの検出部2、2Aは、1つの本体部10に設けられてもよいし、検出部2、2Aの少なくとも一方は、本体部10から分離可能であってもよい。
検出部2は、視点Vp1(一視点)から対象物OBを光学的に検出する。例えば、検出部2は、視点Vp1から対象物OBを撮像して、検出結果として対象物OBの画像データなどを出力する。検出部2Aは、視点Vp2(一視点)から検出するから対象物OBを光学的に検出する。例えば、検出部2は、視点Vp1から対象物OBを撮像して、検出結果として対象物OBの画像データなどを出力する。視点Vp1と視点Vp2とは異なる視点(位置)である。検出部2と検出部2Aとは、同一の構成であってもよいし、異なる構成であってもよい。
図10は、第2実施形態に係る検出装置1Aによる検出方法の一例を示す図である。検出部2は、例えば、視点Vp1から対象物OBを光学的に検出する。検出部2は、視点Vp1から対象物OBを見た画像と、視点Vp1から対象物OB上の各点までの距離との少なくとも一方を取得する。検出部2Aは、視点Vp2から対象物OBを光学的に検出する。検出部2Aは、視点Vp2から対象物OBを見た画像と、視点Vp2から対象物OB上の各点までの距離との少なくとも一方を取得する。検出部2、2Aのそれぞれは、例えば、撮像部21及び測距部22を含む。視点Vp1、Vp2の配置は、図10に示す配置に限定されない。例えば、視点Vp1から対象物OBを見る方向と、視点Vp2から対象物OBを見る方向とでなす角度が、90°より小さくてもいし、90°より大きくても(例180°)よい。
検出部2の撮像部21は、視点Vp1から対象物OBを撮像して、検出結果として対象物OBの画像データなどを出力する。検出部2の測距部22は、視点Vp1から対象物OB上の各点までの距離を検出する。検出部2Aの撮像部21は、視点Vp2から対象物OBを撮像して、検出結果として対象物OBの画像データなどを出力する。検出部2Aの測距部22は、視点Vp2から対象物OB上の各点までの距離を検出する。なお、検出部2、2Aは、撮像部21又は測距部22を含まなくてもよい。検出部2の点群データ生成部23は、視点Vp1から取得した情報に基づいて点群データを生成する。検出部2Aの点群データ生成部23は、視点Vp2から取得した情報に基づいて点群データを生成する。なお、検出部2Aで生成された点群データは、例えば、通信部8を介して検出装置1Aに送信されてもよいし(図9参照)、USBメモリなどの形態可能な記録媒体を介して検出装置1Aに送られてもよい。
図10に示すように、視点Vp1から検出部2で取得した情報に基づいて作成された点群データをもとに、モデル算出部4(図9参照)によりモデル情報を算出すると、視点Vp1から見て対象物OBの影になる部分(第1部分AR1)の確度が基準より低い状態でモデル情報が作成される。また、視点Vp2から検出部2Aで取得した情報に基づいて作成された点群データをもとに、モデル算出部4によりモデル情報を算出すると、視点Vp2から見て対象物OBの影になる部分(第1部分AR11)の確度が基準より低い状態でモデル情報が作成される。
視点Vp1から見て確度が基準より低い第1部分AR1と、視点Vp2から見て確度が基準より低い第1部分AR11とは、視点Vp1、Vp2が異なることからずれた状態となる。従って、視点Vp1から見た第1部分AR1のうち、視点Vp2から見た第1部分AR11を除いた部分は、視点Vp2から検出部2Aで取得した情報に含まれている。また、視点Vp2から見た第1部分AR11のうち、視点Vp1から見た第1部分AR1を除いた部分は、視点Vp1から検出部2で取得した情報に含まれている。視点Vp1、Vp2の双方から見て対象物OBの影になる部分(第1部分AR12)は、検出部2、2Aで取得した情報に含まれていない。
図9に示すモデル統合部30は、異なる視点(例、視点Vp1、Vp2)から取得した情報に基づいて算出された複数のモデル情報を統合する。モデル統合部30は、複数のモデル情報を統合して統合モデル情報を生成する統合モデル算出処理(モデル統合処理)を実行する。統合モデル算出処理は、例えば、対象物OBを視点Vp1から検出した結果(第1の検出結果)に基づいて生成される第1モデル情報と、対象物OBを視点Vp2から検出した結果(第2の検出結果)に基づいて生成される第2モデル情報とを統合して、統合モデル情報(統合形状情報)を生成する。また、モデル統合部30は、検出部2、2A以外の視点から生成された第3モデル情報を取得して第1モデル情報及び第2モデル情報の一方又は双方を統合させて統合モデル情報を算出してもよい。
モデル統合部30は、例えば、第1モデル情報が示す形状のうちの第1特徴点と、第2モデル情報が示す形状のうちの第2特徴点とを対応させて、第1モデル情報と第2モデル情報とを統合する。第1特徴点は、第1モデル情報が示す形状のうち他の部分と識別可能な部分である。例えば、サーフェス情報において面に定義されている部分は、細かな凹凸の形状などにより、他の凹凸が少ない面と識別可能である。第2特徴点は、第2モデル情報が示す形状のうち他の部分と識別可能な部分である。
また、モデル統合部30は、第1モデル情報と、第1モデル情報に関連付けられた第1テクスチャ情報との少なくとも一方を使って第1特徴点を検出し、第1特徴点の位置とその特徴点の特徴量(第1特徴量)とを示す第1特徴点データを算出する。モデル統合部30は、例えば、第1特徴点データを第1モデル情報の1項目の情報として、記憶部7に記憶させる。また、モデル統合部30は、例えば、第2モデル情報と、第2モデル情報に関連付けられた第2テクスチャ情報との少なくとも一方を使って第2特徴点を検出し、第2特徴点の位置とその特徴点の特徴量(第2特徴量)とを示す第2特徴点データを算出する。モデル統合部30は、例えば、第2特徴点データを第2モデル情報の1項目の情報として、記憶部7に記憶させる。
モデル統合部30は、例えば、SIFT(Scale-Invariant Feature Transform)法又はSURF (Speeded Up Robust Features) 法により特徴点及び特徴量を算出する。なお、上記の特徴点データ(例、第1特徴点データ、第2特徴点データ)は、少なくとも特徴点の特徴量を含むデータである。
モデル統合部30は、第1モデル情報の第1特徴量を有する第1特徴点データと、第2モデル情報の第2特徴量を有する第2特徴点データとをマッチングさせて統合した第3特徴点データを含む統合モデル情報を算出する。第3特徴点データは、第1特徴点データ(例、第1特徴量)と第2特徴点データ(例、第2特徴量)とをマッチングさせたデータである。第3特徴点データは、例えば、対象物OBのうち、第1特徴点データと第2特徴点データとが重なる部分を含み、第1特徴点及び第2特徴点よりも広い範囲のデータである。なお、統合モデル情報が示す形状は、対象物OBの一部を示す部分モデル情報であってもよい。
モデル統合部30は、例えば、第1モデル情報と第2モデル情報とに重み付け(加重平均の算出)を行って、モデル情報を統合してもよい。加重平均は、例えば、相加平均、相乗平均、又は指数平均(指数加重移動平均)を含む。第1モデル情報と第2モデル情報とに重複部分がある場合、この重み付けの係数は、例えば、重複部分における第1モデル情報の確度、及び重複部分における第2モデル情報の確度に基づいて、決定されてもよい。
確度算出部3(図9参照)は、統合モデル情報を算出する前に、第1モデル情報(又は第1モデル情報を算出するもとになった点群データ)に関する確度情報と、第2モデル情報(又は第2モデル情報を算出するもとになった点群データ)に関する確度情報とを算出し、これらの算出結果から統合モデル情報に関する確度情報を算出する。なお、確度算出部3は、モデル統合部30により統合モデル情報を算出した後に、統合モデル情報に関する確度情報を算出してもよい。確度算出部3は、視点Vp1からの情報により得られた第1モデル情報の形状情報と、視点Vp2からの情報により得られた第2モデル情報の形状情報とにおいて、一部が重複する場合は、その重複する部分において相対的に高い確度が得られているものを選択して(低い確度の点を除去して)、統合モデル情報の重複部分における各点における確度としてもよい。
また、確度算出部3は、複数のモデル情報を統合する場合に、重複する部分の確度を、それぞれのモデル情報で得られる高い方の確度を選択することに限定されない。例えば、複数のモデル情報において重複する部分が存在する場合、その重複部分において、複数のモデル情報のそれぞれで各点の確度が低いときでも、1つのモデル情報の重複部分において複数の点で示される面の法線の方向と、他のモデル情報の重複部分において複数の点で示される面の法線の方向とが一致又は近似する場合は、統合モデル情報における重複部分の各点における確度を高く設定してもよい。
すなわち、1つの対象物OBを複数の視点から取得した複数のモデル情報の重複部分において、いずれも確度が低い点であるが、上記した法線方向が一致又は近似することから、重複部分において1のモデル情報で規定する面と、他のモデル情報で規定する面とが同一又はほぼ同一の面であると想定して、この重複部分の各点の確度を、当初の確度より高く設定してもよい。その結果、設定された確度は、複数のモデル情報のいずれかで算出された確度よりも高い確度となる。
統合モデル情報について確度情報が算出された後、特定部5(図9参照)は、確度算出部3が算出した統合モデル情報に関する確度情報のうち、確度が基準に対して低い第1部分AR12を特定する。第1部分AR12は、図10に示すように、第1部分AR1と第1部分AR11との重複部分である。第1部分AR12は、確度が基準(例、閾値、所定値)に対して低い領域である。対象物OBは、第1部分AR12と、第1部分AR12とは異なる第2部分AR13とを含む。第2部分AR13は、対象物OBのうち、第1部分AR12を除いた部分の一部又は全部である。第2部分AR13は、第1部分AR12の各点の確度より高い確度を有する領域である。第2部分AR13は、基準に対して高い確度を有する領域である。また、特定部5は、基準(例、閾値、所定値)より大きい部分を除いた部分を第1部分AR12に特定してもよい。
表示制御部9は、表示部DPに対象物OBの統合モデル情報を表示させる際に、統合モデル情報における第1部分AR12に相当する部分を強調させる。表示制御部9は、表示部DPに対象物OBの統合モデル情報を表示させる際に、統合モデル情報と、統合前のモデル情報とを表示部DPの一画面DPA内に表示させてもよい。表示制御部9は、統合前のモデル情報を表示部DPに表示させる場合、複数の統合前のモデル情報の1つを一画面DPA内に表示させてもよいし、複数の統合前のモデル情報を一画面DPA内に表示させてもよい。また、表示制御部9は、統合前のモデル情報を表示させる場合、表示した統合前のモデル情報に関連付けて画面DPA内に視点(例、上記した第1モデル情報を表示する場合は視点Vp1)を表示させてもよい。
なお、表示制御部9は、表示部DPに対象物OBの統合モデル情報を表示させる際に、統合前のモデル情報を一画面DPA内に表示させなくてもよい。また、表示制御部9は、例えば、不図示の入力装置等からユーザによる表示切替の指示を受け付けた場合に、統合モデル情報と、統合前のモデル情報とを切り替えて表示部DPに表示せてもよい。また、表示制御部9は、統合モデル情報と、統合前のモデル情報とを表示させる場合、表示部DPの一画面DPA内において、同一又はほぼ同一の寸法により並べて表示させてもよい。表示制御部9は、統合モデル情報及びモデル情報のそれぞれに対してレンダリング処理を実行可能である。
図11は、第2実施形態に係る表示部DPの表示例を示す図である。図11は、表示部DPの一画面DPA内に、統合モデル情報と、統合前のモデル情報の1つとを表示する一例を示している。図11に示すように、表示部DPの一画面DPAには、表示制御部9によるレンダリング処理により、統合モデル情報と、統合前のモデル情報とが並んだ状態で表示される。その際、表示制御部9は、特定表示Sとして、統合前のモデル情報における第1部分AR1、及び統合モデル情報における第1部分AR12に相当する部分の色を第2部分AR2、AR13の色から変えて、すなわち各第1部分AR1、AR12をユーザから見て強調された表示とする強調表示処理を行っている。
第1部分AR1に対する特定表示Sと、第1部分AR12に対しる特定表示Sとは、同一の形態(例、色、輝度、点滅など)であってもよいし、異なる形態であってもよい。ユーザは、統合モデル情報と、統合前のモデル情報とを見ることで、確度が基準(閾値)より低い領域が第1部分AR1から第1部分AR12に変わったこと(例、縮小したこと、減少したこと)を容易に確認することができる。なお、検出装置1Aは、表示制御部9を備えるか否かは任意である。検出装置1Aは、表示制御部9を備えなくてもよい。
次に、上述の検出装置1Aの構成に基づき、実施形態に係る検出方法の一例について説明する。図12は、実施形態に係る検出方法の一例を示すフローチャートである。図12に示すように、ステップS11において、検出部2は、複数の視点(例、視点Vp1、Vp2)から対象物OBを検出する。例えば、検出部2の撮像部21は、視点Vp1から対象物OBを撮像し、検出部2Aの撮像部21は、視点Vp2から対象物OBを撮像する。ステップS12において、モデル算出部4は、検出部2、2Aの検出結果を用いて、対象物OBのモデル情報をそれぞれ算出する。モデル算出部4は、例えば、視点Vp1から見た場合の対象物OBの形状情報とテクスチャ情報との少なくとも一方と、視点Vp2から見た場合の対象物OBの形状情報とテクスチャ情報との少なくとも一方とを算出する。また、モデル算出部4は、例えば、点群データを用いて対象物OBのサーフェス情報を算出する。
ステップS13において、モデル統合部30は、複数のモデル情報を統合する。モデル統合部30は、例えば、複数の視点(例、視点Vp1、Vp2)から得られるモデル情報を統合して統合モデル情報を算出する。ステップS14において、確度算出部3は、統合モデル情報をもとに、対象物OBの部分ごとの確度を含む確度情報を算出する。ステップS15において、特定部5は、統合モデル情報に関する確度情報のうち、確度が基準に対して低い第1部分AR12を特定する。また、特定部5は、第2部分AR13に対して、第2閾値に基づいて複数の領域(例、領域AR21、AR22)を設定してもよい。
ステップS16において、表示制御部9は、統合モデル情報を表示する際に、一画面DPA内に統合前のモデル情報を表示するモデル情報を表示するか否かを判断する。表示制御部9は、統合前の複数のモデル情報のうち、先にモデル情報を算出したものを、統合モデル情報とともに一画面DPA内に表示させるように判断してもよい。また、表示制御部9は、ユーザから統合前のモデル情報の表示指示を受け付けた場合に、統合モデル情報とともに一画面DPA内に統合前のモデル情報を表示すると判断してもよい。また、一画面DPA内に表示する統合前のモデル情報は、ユーザから指定されてもよい。
表示制御部9が、統合モデル情報とともに一画面DPA内に統合前のモデル情報を表示すると判断した場合(ステップS16のYES)、ステップS17において、表示制御部9は、表示部DPの一画面DPA内に統合モデル情報と統合前のモデル情報とを表示させる(図11参照)。表示制御部9が、一画面DPA内に、統合モデル情報と統合前のモデル情報とを同一又はほぼ同一の寸法で並べて表示させる。ユーザは、画面DPAの統合モデル情報と、統合前のモデル情報とを容易に見比べることができ、確度が基準(閾値)より低い領域が第1部分AR1から第1部分AR12に変わったこと(例、縮小したこと、減少したこと)を容易に確認することができる。また、表示制御部9が統合モデル情報とともに一画面DPA内に統合前のモデル情報を表示しないと判断した場合(ステップS16のNO)、ステップS18において、表示制御部9は、表示部DPの画面DPAに統合モデル情報を表示させる。
[第3実施形態]
第3実施形態について説明する。図13は、第3実施形態に係る検出装置の一例を示す機能ブロック図である。本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。図13に示すように、検出装置1Bは、例えば撮像装置であり、複数の検出領域(例、視野)内の対象物OBを検出する。検出装置1Bは、例えば、定点カメラでもよいし、手動又は自動で視野を変更可能なカメラでもよく、携帯可能な情報端末(例、スマートフォン、タブレット、カメラ付き携帯電話)でもよい。検出装置1Bは、対象物OBを検出した結果を使って、対象物OBに関する情報の演算処理を行う。検出装置1Bは、自端末の演算処理によって、対象物OBの少なくとも一部をモデル化し、モデル情報(モデルデータ)を算出する。例えば、検出装置1Bは、演算処理によって、対象物OBの少なくとも一部をコンピュータグラフィック処理(CG処理)し、モデル情報(例、CGモデルデータ)を算出する。
検出装置1B、例えば、検出部2と、確度算出部3と、モデル算出部4と、特定部5と、制御部6と、記憶部7と、通信部8と、表示制御部9と、本体部10と、教示生成部40と、教示生成部40と、方向算出部41と、方位センサ42とを備える。検出部2、確度算出部3、モデル算出部4、特定部5、制御部6、記憶部7、通信部8、表示制御部9、教示生成部40、方向算出部41、及び方位センサ42は、例えば、本体部10に設けられることでユニット化される。教示生成部40は、例えば、特定部が特定した第1部分AR1をもとに、検出部2による対象物OBの次の検出をユーザに教示する教示情報を生成する。教示情報は、検出部2による対象物OBの次の検出に関連する検出条件(例、検出方向、検出回数、検出時間、対象物OBにおける検出対象、光源などの環境条件など)を含む。
教示生成部40は、検出部2による対象物OBの次の検出を位置情報に基づきユーザに教示する教示情報を生成するための教示生成処理を実行する。教示生成処理により生成される教示情報は、例えば、対象物OBの第1部分AR1に対して一視点と異なる所定の視点(所定の位置)からの検出方向を含む。所定の視点は、例えば、第1部分AR1を見込むことが可能な視点であり、上記一視点で取得した低精度領域(例、第1部分AR1)を解消する検出方向(例、データ取得方向、撮影方向)を含む。所定の視点は、第1部分AR1とともに第2部分AR2の一部を見込むことが可能な視点であってもよい。検出方向は、表示部DPの画面DPAにおいて矢印で示される形態であってもよいし、直線、点線等で示される形態であってもよい。
図14は、第3実施形態に係る検出装置1Bによる検出方法の一例を示す図である。検出装置1Bにより視点Vp1から対象物OBの情報を取得した場合、そのモデル情報(点群データ)には、確度が基準(閾値)より第1部分AR1が含まれている。従って、図14に示すように、視点Vp3から対象物OBの情報を取得することにより、第1部分AR1について、確度を高めることが可能である。視点Vp3は、一視点である視点Vp1と異なる所定の視点である。視点Vp3は、第1部分AR1の全部又は一部を見込むことが可能な任意の視点に設定可能である。
なお、図14では、検出装置1Bを用いて視点Vp3から対象物OB(第1部分AR1を含む対象物OB)の情報を取得しているが、この形態に限定されない。例えば、視点Vp3から検出装置1Bと異なる他の検出装置により第1部分AR1を含む対象物OBの情報を取得させ、その情報を通信部8(図13参照)を介して検出装置1Bが取得する構成であってもよいし、検出装置1Bの検出部2を本体部10から取り外して、この検出部2により視点Vp3から対象物OBを情報を取得させてもよい。教示生成部40は、例えば、第1部分AR1を見込むことが可能な視点(例、視点Vp3)から、又はこの視点Vp3を含む検出方向から対象物OBの検出を行うように、次の検出をユーザに教示する教示情報を生成する。
方向算出部41は、検出部2の検出結果を用いて、教示情報としての検出方向を算出する。方向算出部41は、例えば、検出部2が備える測距部22(図13参照)の検出結果から得られるデプス情報を用いて、第1部分AR1における法線の方向を教示情報としての検出方向として算出してもよい。また、方向算出部41は、例えば、測距部22の検出結果から得られるデプス情報を用いて点群データ生成部23が生成した対象物OBの点群データを用いて、第1部分AR1における法線の方向を教示情報としての検出方向として算出してもよい。
図15は、第3実施形態に係る方向算出部41により法線の方向を算出する一例を示す図である。方向算出部41は、例えば、デプス情報及び点群データの一方又は双方を用いて、第1部分AR1における各点のうち、少なくとも3点を含む面PL1からPLnを選定する。方向算出部41は、各面(図15では面PL1からPL7)における法線の方向VE1からVEn(図15では方向VE1からVE7)を算出する。第1部分AR1において選定される3点(又は4点以上の点)は、例えば、ある点からの距離が最小となる3点の組み合わせにより選定される。方向算出部41は、例えば、ある点からの距離が小さい順に2つ(又は3つ以上)の点を選んで3点(又は4点以上)の組とし、この組の点で規定される面(例、面PL1からPL7)を選定する。
方向算出部41は、第1部分AR1の全部について面(例、面PL1からPL7)の選定を行ってもよいし、第1部分AR1の一部について面の選定を行ってもよい。第1部分AR1の一部は、方向算出部41が判断してもよいし、ユーザが指定してもよい。方向算出部41が第1部分AR1の一部を判断する場合、例えば、第1部分AR1を複数(例、3つ、4つ)に分割して、分割された領域のうち第2部分AR2から最も離れた領域について面の選定、及び法線の方向の算出を行ってもよい。
方向算出部41は、例えば、各面(例、面PL1からPL7)における複数の法線の方向(例、方向VE1からVE7)うち、最も多い法線の方向VEを算出する。方向算出部41は、全ての法線の方向を用いて、最も多いものを法線の方向VEに算出してもよいし、一部の法線の方向を用いて、最も多いものを法線の方向VEに算出してもよい。また、方向算出部41は、例えば、各面における複数の法線の方向うち、最も多い法線以外の方向(方向VE以外の方向)を算出してもよい。また、方向算出部41は、複数の法線の方向を平均化した方向を算出してもよい。方向算出部41は、法線の方向VEを、教示情報としての検出方向として算出する。検出方向は、一視点(例、視点Vp1)と異なる所定の視点(例、視点Vp3)を含む。なお、方向算出部41は、教示情報として複数の検出方向を算出してもよい。また、検出装置1Bは、方向算出部41を備えるか否かは任意である。検出装置1Bは、方向算出部41を備えなくてもよい。
表示制御部9は、表示部DPに対象物OBのモデル情報を表示させる際に、教示生成部40が生成した教示情報をモデル情報とともに表示部DPの画面DPAに表示させる。表示制御部9は、表示部DPに対象物OBのモデル情報を表示させる際に、教示情報を表示させなくてもよい。また、表示制御部9は、例えば、不図示の入力装置等からユーザによる表示切替の指示を受け付けた場合に、モデル情報とともに教示情報を表示部DPに表示せてもよい。また、表示制御部9は、例えば、モデル情報及び教示情報のそれぞれに対してレンダリング処理を実行可能である。表示制御部9は、方向算出部41が算出した検出方向を教示情報として表示部DPに表示させてもよい。表示制御部9は、検出方向として、矢印、線等を表示部DPに表示させてもよい。
図16は、第3実施形態に係る表示部DPの表示例を示す図である。図16は、表示部DPの画面DPA内に、モデル情報と教示情報Tとを表示する一例を示している。図16に示すように、表示部DPの画面DPAには、表示制御部9によるレンダリング処理により、モデル情報と、教示情報Tとして検出方向を示す矢印T1とが表示される。表示制御部9は、矢印T1が、第1部分AR1を見込む方向に向けられるように表示する。矢印T1は、モデル情報と関連付けられて表示される。従って、表示制御部9は、モデル情報の向き(姿勢)が変わった場合、モデル情報の向き(姿勢)にあわせて矢印T1の表示位置、向きを変更させる。
矢印T1は、検出装置1Bによる次の検出をユーザに教示する。ユーザは、教示情報T(矢印T1)を見ることにより、次に検出すべき方向を容易に確認することができる。なお、矢印T1は、例えば、点滅、輝度の調整などにより、モデル情報に対して強調された表示であってもよい。また、方向算出部41が、教示情報として複数の検出方向を算出している場合、表示制御部9は、表示部DPに複数の矢印を表示させてもよい。この場合、複数の矢印のうち、検出方向として最も推奨する矢印から順に番号(例、推奨番号)を表示させてもよい。
方位センサ42(図13参照)は、検出装置1Bの向きを検出する。方位センサ42は、検出部2による検出方向を検出することができる。従って、表示制御部9(又は制御部6)は、方位センサ42の検出結果を用いることにより、検出部2による検出方向と、教示情報Tである検出方向との関係を算出することができる。また、表示制御部9は、方位センサ42による検出部2による検出方向を表示部DPに表示させてもよい。方位センサ42の検出結果は、教示情報に含まれる。表示制御部9(又は制御部6)は、方位センサ42の検出結果により、検出部2による検出方向と、教示情報Tである検出方向とが一致又はほぼ一致している場合は、表示部DPに両者が一致又はほぼ一致していること示す表示(例、OKなどの文字表示、丸などの記号表示)を行ってもよいし、音声を出力させてもよい。ユーザは、この表示、音声などの合図により、検出部2による検出方向と、教示情報Tである検出方向とが一致又はほぼ一致していることを容易に認識することができる。
方位センサ42で検出した検出部2の検出方向は、例えば、矢印、線等により表示部DPに表示させてもよい。ユーザは、表示部DPにおいて、方位センサ42で検出した検出部2の検出方向と、教示情報Tである検出方向とを見ながら、検出部2の検出方向を教示情報Tである検出方向に合わせることが可能となる。すなわち、方位センサ42で検出した検出部2の検出方向を表示部DPに表示させることにより、検出装置1B(検出部2)による次の検出方向をユーザにガイドすることができる。また、検出装置1Bは、方位センサ42を備えるか否かは任意である。検出装置1Bは、方位センサ42を備えなくてもよい。
また、教示生成部40が生成する教示情報は、所定の視点(例、視点Vp3)としたときのモデル情報である教示モデル情報であってもよい。教示生成部40は、所定の視点(例、視点Vp3)としたときの教示モデル情報を生成してもよいし、他で生成した(例、モデル算出部4で生成した)モデル情報の全部又は一部を用いて教示モデル情報を生成してもよい。表示制御部9は、教示生成部401が生成した教示モデル情報を表示部DPの画面DPAに表示させる。また、教示生成部40は、教示モデル情報として、対象物OBのシルエットであってもよい。例えば、ユーザは、該教示モデル情報の少なくとも一部に重なるような所定の視点から対象物OBを検出すればよい。表示制御部9は、モデル情報と教示モデル情報とを表示部DPの一画面DPA内に同時に又は切り替えて表示させてもよい。
図17は、第3実施形態に係る表示部DP他の表示例を示す図である。図17は、表示部DPの一画面DPA内に、モデル情報と、教示情報Tである教示モデル情報T2とを表示する一例を示している。図17に示すように、表示部DPの画面DPAには、表示制御部9によるレンダリング処理により、モデル情報と、教示情報Tとして教示モデル情報T2とが表示される。教示モデル情報T2は、一視点(例、視点Vp1)と異なり、第1部分AR1を見込むことが可能な所定の視点(例、視点Vp3)から見た対象物OBのシルエットである。教示モデル情報T2は、対象物OBのシルエットでなくてもよい。教示モデル情報T2は、所定の視点(例、視点Vp3)から見た対象物OBのモデル情報であってもよい。
また、表示制御部9は、教示モデル情報T2を表示させる場合に、第1部分AR1を見込む視点(例、視点Vp3)を教示モデル情報T2に関連付けて画面DPA内に表示させてもよい。なお、表示制御部9は、表示部DPに対象物OBのモデル情報を表示させる際に、教示モデル情報T2を一画面DPA内に表示させなくてもよい。また、表示制御部9は、例えば、不図示の入力装置等からユーザによる表示切替の指示を受け付けた場合に、モデル情報と教示モデル情報T2とを一画面DPAに表示せてもよいし、モデル情報と教示モデル情報T2とを切り替えて画面DPAに表示させてもよい。また、表示制御部9は、モデル情報と教示モデル情報T2とを表示させる場合、表示部DPの一画面DPA内において、同一又はほぼ同一の寸法により並べて表示させてもよい。
表示制御部9は、モデル情報及び教示モデル情報T2のそれぞれに対してレンダリング処理を実行可能である。表示制御部9は、モデル情報に対して教示モデル情報T2の表示を強調させてもよい。表示制御部9は、例えば、モデル情報に対して教示モデル情報T2の表示形態(例、色、輝度、点滅など)を変えて、教示モデル情報T2を強調させてもよい。ユーザは、教示モデル情報T2を見ることにより、次の検出方向(次に検出すべき方向)を容易に確認することができる。
図18は、第3実施形態に係る表示部DP他の表示例を示す図である。図18は、表示部DPの一画面DPA内に、モデル情報と、教示情報Tである想定モデル情報T3とを表示する一例を示している。図18に示すように、表示制御部9は、表示部DPの画面DPAには、表示制御部9によるレンダリング処理により、モデル情報と、教示情報Tとして想定モデル情報T3とが表示させる。想定モデル情報T3は、一視点(例、視点Vp1)からの情報によるモデル情報と、第1部分AR1を見込むことが可能な所定の視点(例、視点Vp3)からの情報により算出されたモデル情報とを統合した場合に想定されるモデル情報である。想定モデル情報T3は、教示生成部40により生成されてもよいし、他で生成(例、モデル算出部4で生成)されてもよい。
また、表示制御部9は、想定モデル情報T3を表示させる場合に、確度が基準(閾値)より小さいと想定される第1部分AR15と、第2部分AR16を想定モデル情報T3に関連付けて表示部DPに表示させてもよい。第1部分AR15は、第1部分AR1よりも小さい。なお、表示制御部9は、表示部DPに対象物OBのモデル情報を表示させる際に、想定モデル情報T3を一画面DPA内に表示させなくてもよい。また、表示制御部9は、例えば、不図示の入力装置等からユーザによる表示切替の指示を受け付けた場合に、モデル情報と想定モデル情報T3とを一画面DPAに表示せてもよいし、モデル情報と想定モデル情報T3とを切り替えて画面DPAに表示させてもよい。また、表示制御部9は、モデル情報と想定モデル情報T3とを表示させる場合、表示部DPの一画面DPA内において、同一又はほぼ同一の寸法により並べて表示させてもよい。
想定モデル情報T3は、3以上の視点から情報を取得した場合に想定されるモデル情報であってもよい。また、想定モデル情報T3を生成するための視点は、教示生成部40により設定されてもよいし、ユーザにより設定されてもよい。教示生成部40が視点を設定する場合は、先にモデル情報を取得している視点(例、視点Vp1)に対して離れた視点(例えば、視点Vp1と反対側の視点など)が設定されてもよい。また、表示制御部9は、モデル情報に対して想定モデル情報T3の表示を強調させてもよい。表示制御部9は、例えば、モデル情報に対して想定モデル情報T3の表示形態(例、色、輝度、点滅など)を変えて、想定モデル情報T3を強調させてもよい。ユーザは、想定モデル情報T3を見ることにより、モデル情報の精度が高くなることを容易に確認することができる。なお、検出装置1Bは、表示制御部9を備えるか否かは任意である。検出装置1Bは、表示制御部9を備えなくてもよい。
次に、上述の検出装置1Bの構成に基づき、実施形態に係る検出方法の一例について説明する。本実施形態に係る検出方法は、対象物を一視点から検出することと、検出した結果を用いて、対象物のモデル情報を算出することと、検出結果をもとに、対象物の部分ごとの確度を含む確度情報を算出することと、一視点における確度情報のうち、確度が基準に対して低い第1部分を特定することと、第1部分をもとに、前記対象物の次の検出をユーザに教示する教示情報を生成することと、を含む。図19は、実施形態に係る検出方法の一例を示すフローチャートである。なお、図19のフローチャートにおいて、図7のフローチャートと同様の処理については、同じ符号を付してその説明を省略あるいは簡略化する。
図19に示すように、ステップS1において、検出部2は、所定の一視点(単一視点)である視点Vp1から対象物OBを検出する。ステップS2において、モデル算出部4は、検出部2の検出結果を用いて、対象物OBのモデル情報を算出する。ステップS3において、確度算出部3は、検出部2の検出結果をもとに、対象物OBの部分ごとの確度を含む確度情報を算出する。ステップS4において、特定部5は、一視点(例、視点Vp1)における確度情報のうち、確度が基準(閾値)に対して低い第1部分AR1を特定する。
ステップS20において、教示生成部40は、特定部5が特定した第1部分AR1をもとに、対象物OBの次の検出をユーザに教示する教示情報T(例、矢印T1、教示モデル情報T2、想定モデル情報T3)を生成する。教示生成部40が生成した教示情報Tは、表示制御部9により表示部DPに表示させてもよいし、検出装置1B外に送信されて、他の装置の表示部に対象物OBのモデル情報とともに表示させてもよい。ユーザは、例えば、画面DPAの教示情報Tを見ることにより、次に検出すべき方向を容易に確認することができる。
このように、本実施形態によれば、モデル情報のうち、確度が基準より小さい第1部分AR1をもとに教示情報Tが生成されるので、ユーザに対して、対象物OBの次の検出を容易に教示することができる。すなわち、ユーザは、例えば、対象物OBのモデル情報に関連付けられた教示情報Tを表示部DPの画面DPAで見ることにより、対象物OBに対して次に検出すべき方向等を容易に確認することができる。また、教示情報Tにより教示された検出を実行してモデル情報を算出し、そのモデル情報と、先に取得しているモデル情報とを統合することによりモデル情報全体としての精度を向上させることができる。
上述の実施形態において、検出装置1Bは、例えばコンピュータシステムを含む。検出装置1Bは、記憶部7に記憶されている検出プログラムを読み出し、この検出プログラムに従って各種の処理を実行する。この検出プログラムは、例えば、コンピュータに、所定の一視点Vp(単一視点)から対象物OBを検出することと、検出部2の検出結果を用いて、対象物OBのモデル情報を算出することと、一視点Vpにおける確度情報のうち、確度が基準に対して低い第1部分AR1を特定することと、第1部分AR1をもとに、対象物OBの次の検出をユーザに教示する教示情報Tを生成することと、を実行させる。この検出プログラムは、コンピュータ読み取り可能な記憶媒体に記録されて提供されてもよい。
[第4実施形態]
第4実施形態について説明する。図20は、第4実施形態に係る情報処理装置の一例を示す機能ブロック図である。本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。図20に示すように、情報処理装置100は、確度算出部3と、モデル算出部4と、特定部5と、制御部6と、記憶部7と、通信部8とを備える。情報処理装置100は、例えば、検出部200から対象物OBの情報が送られる。なお、情報処理装置100は、制御部6、記憶部7、及び通信部8の少なくとも1つを備えなくてもよい。
検出部200は、撮像部21と、測距部22と、点群データ生成部23とを備える。検出部200は、例えば撮像装置であり、複数の検出領域(例、視野)内の対象物OBを検出する。検出部200は、例えば、定点カメラでもよいし、手動又は自動で視野を変更可能なカメラでもよく、携帯可能な情報端末(例、スマートフォン、タブレット、カメラ付き携帯電話)でもよい。なお、検出部200は、上記した実施形態における検出部2と同一の構成が適用されてもよいし、検出部2と異なる構成が適用されてもよい。
情報処理装置100は、対象物OBの情報として、検出部200から測距部22で検出したデプス情報、又はこのデプス情報から点群データ生成部23で生成した点群データが、例えば無線又は有線により通信部8を介して送られる。情報処理装置100の確度算出部3は、送られた対象物OBの情報から確度情報を算出する。モデル算出部4は、送られた対象物OBの情報から対象物OBのモデル情報を算出する。特定部5は、確度算出部3が算出した確度情報から、確度が基準(閾値、所定値)より小さい第1部分AR1を特定する。
情報処理装置100は、対象物OBのモデル情報及び特定部5が特定した第1部分AR1に関する情報を出力可能である。情報処理装置100外に設けられる表示制御部9は、情報処理装置100から出力されたモデル情報及び第1部分AR1に関する情報を例えばレンダリング処理して表示部DPに表示させる。表示制御部9は、表示部DPにおいて、対象物OBのモデル情報を表示させるとともに、第1部分AR1に相当する部分を強調表示させる。なお、検出部200が備える点群データ生成部23は、情報処理装置100が備えてもよい。また、表示制御部9及び表示部DPの一方又は双方は、情報処理装置100が備えてもよい。
このように、本実施形態によれば、モデル情報のうち、確度が基準より小さい第1部分AR1を特定するので、ユーザは、情報処理装置100から出力された情報を例えば表示部DPで見ることにより、確度が小さい部分である(形状等が不確かな部分である)第1部分AR1の位置又は範囲等を容易に確認することができる。
[第5実施形態]
第5実施形態について説明する。図21は、第5実施形態に係る情報処理装置の一例を示す機能ブロック図である。本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。図21に示すように、情報処理装置100Aは、確度算出部3と、モデル算出部4と、特定部5と、制御部6と、記憶部7と、通信部8と、教示生成部40とを備える。情報処理装置100Aは、例えば、検出部200から対象物OBの情報が送られる。なお、情報処理装置100Aは、制御部6、記憶部7、及び通信部8の少なくとも1つを備えなくてもよい。
情報処理装置100Aは、対象物OBの情報として、検出部200から測距部22で検出したデプス情報、又はこのデプス情報から点群データ生成部23で生成した点群データが、例えば無線又は有線により通信部8を介して送られる。情報処理装置100Aの確度算出部3は、送られた対象物OBの情報から確度情報を算出する。モデル算出部4は、送られた対象物OBの情報から対象物OBのモデル情報を算出する。特定部5は、確度算出部3が算出した確度情報から、確度が基準(閾値、所定値)より小さい第1部分AR1を特定する。教示生成部40は、対象物OBの第1部分AR1をもとに、検出部200による対象物OBの次の検出をユーザに教示する教示情報を生成する。
情報処理装置100Aは、対象物OBのモデル情報及び教示生成部40が生成した教示情報を出力可能である。情報処理装置100A外に設けられる表示制御部9は、情報処理装置100Aから出力されたモデル情報及び教示情報を例えばレンダリング処理して表示部DPに表示させる。表示制御部9は、表示部DPにおいて、対象物OBのモデル情報と教示情報とを表示させる。なお、検出部200が備える点群データ生成部23は、情報処理装置100Aが備えてもよい。また、表示制御部9及び表示部DPの一方又は双方は、情報処理装置100Aが備えてもよい。
このように、本実施形態によれば、教示生成部40により教示情報を生成するので、ユーザは、情報処理装置100Aから出力された情報を例えば表示部DPで見ることにより、検出部200による対象物OBの次の検出を容易に確認することができる。
[第6実施形態]
第6実施形態について説明する。図22は、第6実施形態に係る情報処理装置の一例を示す機能ブロック図である。本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。図22に示すように、情報処理装置100Bは、確度算出部3と、モデル算出部4と、特定部5と、制御部6と、記憶部7と、通信部8と、移動算出部50とを備える。情報処理装置100Bは、例えば、検出部200から対象物OBの情報が送られる。なお、情報処理装置100Bは、モデル算出部4、制御部6、記憶部7、及び通信部8の少なくとも1つを備えなくてもよい。
情報処理装置100Bは、対象物OBの情報として、検出部200から測距部22で検出したデプス情報、又はこのデプス情報から点群データ生成部23で生成した点群データが、例えば無線又は有線により通信部8を介して送られる。情報処理装置100Bの確度算出部3は、送られた対象物OBの情報から確度情報を算出する。モデル算出部4は、送られた対象物OBの情報から対象物OBのモデル情報を算出する。特定部5は、確度算出部3が算出した確度情報から、確度が基準(閾値、所定値)より小さい第1部分AR1を特定する。
移動算出部50は、対象物OBの第1部分AR1をもとに、検出部200による対象物OBの次の検出における検出部200の移動量又は移動位置を算出する。移動算出部50は、一視点と異なる所定の視点から対象物OBを検出するために検出部200を移動させる移動量(例、移動距離、移動角度)又は移動位置(例、座標値)を算出する。所定の視点は、例えば、第1部分AR1を見込むことが可能な視点である。所定の視点は、第1部分AR1とともに第2部分AR2の一部を見込むことが可能な視点であってもよい。本実施形態に係る情報処理装置100Bは、例えば、上記した実施形態に係る方向算出部41を含んで構成されてもよい。移動算出部50は、この方向算出部41により算出した方向に基づいて、検出部200の移動量又は移動位置を算出してもよい。
移動算出部50は、検出部200による対象物OBの次の検出おける検出部200の移動量又は移動位置に関する移動情報を算出するための移動算出処理を実行する。移動算出処理により算出された移動情報は、移動装置60に送られる。
移動装置60は、上記移動情報に基づいて、対象物OBと検出部200とを所定の移動方向に相対的に移動させる。移動装置60は、例えば、対象物OBを回転させることで対象物OBと検出部200とを相対的に移動させる。また、移動装置60は、例えば、対象物OBを中心として検出部200を周回移動させることで対象物OBと検出部200とを相対的に移動させる。移動装置60は、対象物OB及び検出部200のいずれか一方を移動させる構成が適用されてもよいし、対象物OB及び検出部200の双方を移動させる構成が適用されてもよい。移動装置60は、駆動部61と、駆動部61を制御する駆動制御部62とを備える。駆動制御部62は、移動算出部50が算出した移動情報に基づき、駆動部61を駆動して対象物OBと検出部200とを相対的に移動させ、例えば、第1部分AR1を見込むことが可能な視点(例、第1部分AR1が検出部200の視野に入る位置)に検出部200を配置させる。すなわち、検出部200は、移動装置60により、次の検出において、例えば最適位置(最適視点)に配置される。
図23は、移動装置60の一例を示し、(A)は移動前の状態を示す図、(B)は移動後の状態を示す図である。図23に示す例では、移動装置60はターンテーブル60Aである。図23(A)に示すように、ターンテーブル60Aには、対象物OBが載置される。ターンテーブル60Aは、上下方向の軸AX1まわりに回転可能である。ターンテーブル60Aが回転することにより、対象物OBと検出部200とが相対的に移動する。ターンテーブル60Aは、図示しない駆動部(図22の駆動部61参照)により回転する。ターンテーブル60Aの回転量又は回転位置は、図示しない駆動制御部(図22の駆動制御部62参照)により制御される。ターンテーブル60Aは、図23(B)に示すように、移動算出部50が算出した回転量(移動情報)に基づいて回転して、又は移動算出部50が算出した回転位置(移動情報)まで回転して、検出部200を対象物OBの第1部分AR1を見込む位置に配置させる。
ターンテーブル60Aの駆動制御部は、例えば、移動情報に基づく位置まで回転したこと(すなわち、検出部200が対象物OBの第1部分AR1を見込む位置に配置されたこと)を情報処理装置100Bに通知する。情報処理装置100Bは、この通知に基づいて、検出部200に対して対象物OBの検出を実行するように指示する。検出部200は、情報処理装置100Bからの指示により対象物OBの検出を行うことで、対象物OBの第1部分AR1の一部又は全部について検出することが可能である。なお、ターンテーブル60Aは、対象物OBを回転させることに限定されない。例えば、ターンテーブル60Aに検出部200が保持され、対象物OBの周りを周回させる形態であってもよい。
図24は、移動装置60の他の例を示し、(A)は移動前の状態を示す図、(B)は移動後の状態を示す図である。図24に示す例では、移動装置60はロボットアーム60Bである。図24(A)に示すように、ロボットアーム60Bは、検出部200を保持する保持部HLと、保持部HLに連結される複数のアームAMとを備える。ロボットアーム60Bは、保持部HLで保持した検出部200を、例えば、6自由度の方向に移動させることができる。ロボットアーム60Bによって検出部200を移動させることにより、対象物OBと検出部200とが相対的に移動する。ロボットアーム60Bは、保持部HL及びアームAMを駆動する駆動部(図22の駆動部61参照)により、保持部HLで保持した検出部200を移動させる。保持部HL(検出部200)の移動量又は移動位置は、図示しない駆動制御部(図22の駆動制御部62参照)により制御される。ロボットアーム60Bは、図24(B)に示すように、移動算出部50が算出した移動量(移動情報)に基づいて保持部HLが移動して、又は移動算出部50が算出した移動位置(移動情報)まで保持部HLが移動して、検出部200を対象物OBの第1部分AR1を見込む位置に配置させる。
ロボットアーム60Bの駆動制御部は、例えば、移動情報に基づく位置まで保持部HLが移動したこと(すなわち、検出部200が対象物OBの第1部分AR1を見込む位置に配置されたこと)を情報処理装置100Bに通知する。情報処理装置100Bは、この通知に基づいて、検出部200に対して対象物OBの検出を実行するように指示する。検出部200は、情報処理装置100Bからの指示により対象物OBの検出を行うことで、対象物OBの第1部分AR1の一部又は全部について検出することが可能である。なお、ロボットアーム60Bは、保持部HLが対象物OBを保持して移動することに限定されない。例えば、保持部HLに対象物OBが保持され、検出部200に対して移動させる形態であってもよい。
情報処理装置100Bは、対象物OBのモデル情報を出力可能である。情報処理装置100B外に設けられる表示制御部9は、情報処理装置100Bから出力されたモデル情報を例えばレンダリング処理して表示部DPに表示させる。表示制御部9は、表示部DPにおいて、対象物OBのモデル情報を表示させる。なお、検出部200が備える点群データ生成部23は、情報処理装置100Bが備えてもよい。また、表示制御部9及び表示部DPの一方又は双方は、情報処理装置100Bが備えてもよい。また、情報処理装置100Bは、例えば、検出部200と1つの筐体に収容されて一体化されていてもよい。また、検出部200と情報処理装置100とが一体化された形態は、検出装置である。
このように、本実施形態によれば、移動算出部50により移動情報を生成するので、この移動情報に基づいて移動装置60を駆動することで、例えば、次の検出における適切な位置(適切な視点)に検出部200を容易に配置することができる。従って、ユーザが次の検出のために検出部200を移動させる必要がなく、対象物OBに対する複数の視点における検出を自動化することができる。
[第7実施形態]
第7実施形態について説明する。本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。図25は、本実施形態に係る検出システムSYSの一例を示す図である。検出システムSYSは、検出装置1、1A、1Bと、検出装置1、1A、1Bから出力される情報を処理する処理装置300と、を備える。処理装置300には、例えば、入力装置301及び表示装置302が設けられる。検出システムSYSは、検出装置1、1A、1Bのいずれか1つ又は3つ以上を含んでもよいし、同一の複数の検出装置(例、検出装置1)を含んでもよい。
処理装置300は、検出装置1、1A、1Bとの間の通信により、検出装置1等から情報を取得する。処理装置300は、例えば、検出装置1等から取得した情報(例、モデル情報、確度情報、第1部分AR1に関する情報、教示情報)を使って、レンダリング処理を実行する。例えば、処理装置300は、ユーザにより入力装置301に入力された視点の設定情報をもとに、この視点から対象物OBを見た推定画像のデータを算出する。処理装置300は、例えば、推定画像のデータを表示装置302に送り、表示装置302に推定画像を表示させる。
入力装置301は、例えば、キーボード、マウス、タッチパネル、加速度センサなどのセンサ、音声入力機、タッチ型ペンなどの少なくとも一つを含む。入力装置301は、処理装置300と接続される。入力装置301は、例えばユーザから情報の入力を受け付け、入力された情報を処理装置300に供給する。表示装置302は、例えば、液晶ディスプレイ又はタッチパネル型ディスプレイを含み、処理装置300と接続されている。表示装置302は、例えば、処理装置300から供給される画像データにより、画像(例、レンダリング処理による推定画像)を表示する。
処理装置300は、図25に示すように、通信部303、記憶部304、レンダリング処理部305、及び制御部306を備える。通信部303は、例えば、USBポート、ネットワークカード、電波又は赤外線の無線通信を行う通信器のうち少なくとも一つを含む。通信部303は、検出装置1、1A、1Bの通信部8と通信可能である。記憶部304は、例えば、USBメモリなどの取り外し可能な記憶媒体、外付け型あるいは内蔵型のハードディスクなどの大容量記憶装置を含む。記憶部304は、例えば、通信部303を介して受信した情報の少なくとも一部のデータ、検出装置1、1A、1Bを制御する撮像制御プログラム、処理装置300の各処理を実行させる処理プログラム、などを記憶する。
レンダリング処理部305は、例えば、グラフィックス プロセッシング ユニット(Graphics Processing Unit; GPU)を含む。なお、レンダリング処理部305は、CPU及びメモリが画像処理プログラムに従って各処理を実行する態様でもよい。レンダリング処理部305は、例えば、描画処理、テクスチャマッピング処理、シェーディング処理の少なくとも一つの処理を行う。制御部306は、例えば、処理装置300の各部、検出装置1、1A、1B、入力装置301、及び表示装置302を制御する。制御部306は、例えば、通信部303を制御し、検出装置1、1A、1Bに指令(制御信号)や設定情報を送信させる。制御部306は、例えば、通信部303が検出装置1、1A、1Bから受信した情報を、記憶部304に記憶させる。制御部306は、例えば、レンダリング処理部305を制御し、レンダリング処理を実行させる。
なお、検出システムSYSは、入力装置301を備えなくてもよい。例えば、検出システムSYSは、各種の指令、情報が通信部303を介して入力される形態でもよい。また、検出システムSYSは、表示装置302を備えなくてもよい。例えば、検出システムSYSは、レンダリング処理により生成された推定画像のデータを外部の表示装置へ出力し、この表示装置が推定画像を表示してもよい。また、処理装置300は、モデル統合部を備えてもよい。このモデル統合部は、検出装置1、1A、1Bから送られた複数のモデル情報(形状情報)を統合する。
以上、実施形態について説明したが、本発明の技術範囲は、上述の実施形態などで説明した態様に限定されない。上述の実施形態などで説明した要件の1つ以上は、省略されることがある。また、上述の実施形態などで説明した要件は、適宜組み合わせることができる。また、法令で許容される限りにおいて、本明細書で引用した全ての文献の開示を援用して本文の記載の一部とする。