(57)【要約】【課題】モデル情報、あるいはモデル情報のもとになる情報を容易に処理できる。【解決手段】撮像装置は、対象物を所定の視点から撮像する撮像部と、所定の視点から対象物上の点までの距離を測定する測距部と、撮像部による撮像画像および測距部の測定結果を用いて、撮像画像の画素値、及び画素値に対応する対象物上の点から所定の視点までの距離とを組にした単位データが第１の並び順で配列された対象物データを生成する対象物データ生成部と、対象物データに基づいて対象物上の点の位置情報を算出し、位置情報を含む点データを第１の並び順で配列して点群データを生成する点群データ生成部と、を備える。
2017154705.tif 000002
【特許請求の範囲】
【請求項１】
対象物を所定の視点から撮像する撮像部と、
前記所定の視点から前記対象物上の点までの距離を測定する測距部と、
前記撮像部による撮像画像および前記測距部の測定結果を用いて、前記撮像画像の画素値、及び前記画素値に対応する前記対象物上の点から前記所定の視点までの距離を組にした単位データが第１の並び順で配列された対象物データを生成する対象物データ生成部と、
前記対象物データに基づいて前記対象物上の点の位置情報を算出し、前記位置情報を含む点データを前記第１の並び順で配列して点群データを生成する点群データ生成部と、を備える撮像装置。
【請求項２】
前記対象物データ生成部は前記第１の並び順を保持し、
前記点群データ生成部は、保持された前記第１の並び順を用いて前記点データを配列して前記点群データを生成する、請求項１に記載の撮像装置。
【請求項３】
前記第１の並び順は、前記撮像画像における画素の読み出し順を含み、
前記点群データ生成部は、前記画素の読み出し順で前記点データを配列する、請求項１または請求項２に記載の撮像装置。
【請求項４】
前記撮像画像において、前記単位データに対応する画素が前記第１の並び順で配列されている、請求項１から請求項３のいずれか一項に記載の撮像装置。
【請求項５】
前記点データはシーケンシャルアクセスによって前記点群データから読み出される、請求項１から請求項４のいずれか一項に記載の撮像装置。
【請求項６】
前記点群データに含まれる前記点データを、前記位置情報に基づいて複数のグループに分類する分類部を備える、請求項１から請求項５のいずれか一項に記載の撮像装置。
【請求項７】
前記分類部は、前記グループの前記点データの配列に応じて、前記複数のグループを複数の階層に分類する、請求項６に記載の撮像装置。
【請求項８】
前記複数のグループは、前記撮像画像において連続する画素に関する前記点データが属するグループを含む、請求項６または請求項７に記載の撮像装置。
【請求項９】
前記複数のグループのうち第１のグループに属する前記点データの数は、前記複数のグループのうち第２のグループに属する前記点データの数と異なる、請求項６から請求項８のいずれか一項に記載の撮像装置。
【請求項１０】
前記点データと属する前記グループの情報とを組にしたメッシュ要素を前記第１の並び順で配列して、メッシュ情報を生成するメッシュ情報生成部を備える、請求項６から請求項９のいずれか一項に記載の撮像装置。
【請求項１１】
前記メッシュ要素は、シーケンシャルアクセスによって読み出される、請求項１０に記載の撮像装置。
【請求項１２】
前記複数のグループは、前記グループの前記点データの配列に応じて複数の階層に分類され、
前記メッシュ情報は、前記複数の階層のそれぞれに対応する前記点データの配列を定めた設定情報を含む、請求項１０または請求項１１に記載の撮像装置。
【請求項１３】
前記点データに対応する前記画素値と、前記データが属する前記グループの情報とを組にしたテクスチャ要素を、前記第１の並び順で配列して、テクスチャ情報を生成するテクスチャ情報生成部を備える、請求項６から請求項１２のいずれか一項に記載の撮像装置。
【請求項１４】
前記複数のグループは、前記点データの配列に応じて複数の階層に分類され、
前記テクスチャ情報は、前記複数の階層のそれぞれに対応する前記点データの配列を定めた設定情報を含む、請求項１３に記載の撮像装置。
【請求項１５】
前記複数のグループは、前記点データの配列に応じて複数の階層に分類され、
前記グループの情報は、前記グループの階層を示すデータを含む、請求項１２から請求項１４のいずれか一項に記載の撮像装置。
【請求項１６】
前記点群データと、前記点群データに基づいて生成されるデータとの一方または双方を用いて、前記対象物の形状情報とテクスチャ情報との少なくとも一方を算出する情報算出部を備える、請求項１から請求項１５のいずれか一項に記載の撮像装置。
【請求項１７】
前記撮像部、前記測距部、及び前記対象物データ生成部を収容する本体部を備え、
前記点群データと、前記点群データに基づいて生成されるデータとの一方または双方を前記本体部の外部へ送信する送信部を備える、請求項１から請求項１６のいずれか一項に記載の撮像装置。
【請求項１８】
対象物を所定の視点から撮像した撮像画像と、前記所定の視点から前記対象物上の点までの距離の測定結果とを用いて、前記撮像画像の画素値、及び前記画素値に対応する前記対象物上の点から前記所定の視点までの距離を組にした単位データが第１の並び順で配列された対象物データを生成する対象物データ生成部と、
前記対象物データに基づいて前記対象物上の点の位置情報を算出し、前記位置情報を含む点データを前記第１の並び順で配列して点群データを生成する点群データ生成部と、を備える画像処理装置。
【請求項１９】
コンピュータに、
対象物を所定の視点から撮像した撮像画像と、前記所定の視点から前記対象物上の点までの距離の測定結果とを用いて、前記撮像画像の画素値、及び前記画素値に対応する前記対象物上の点から前記所定の視点までの距離を組にした単位データが前記第１の並び順で配列された対象物データを生成することと、
前記対象物データに基づいて前記対象物上の点の位置情報を算出し、前記位置情報を含む点データを前記第１の並び順で配列して点群データを生成することと、を実行させる画像処理プログラム。
【請求項２０】
対象物を所定の視点から撮像した撮像画像と、前記所定の視点から前記対象物上の点までの距離の測定結果とを用いて、前記撮像画像の画素値、及び前記画素値に対応する前記対象物上の点から前記所定の視点までの距離を組にした単位データが前記第１の並び順で配列された対象物データを用いて生成され、
前記第１の並び順を定めた設定情報と、
前記対象物データに基づいて算出される前記対象物上の点の位置情報を含み前記第１の並び順で配列された点データと、を含むデータ構造。
【請求項２１】
対象物を特定の位置から撮像する撮像部と、
前記特定の位置から前記対象物までの距離を測定する測距部と、
前記撮像部による撮像画像及び前記測距部の測定結果を用いて、前記撮像画像の画素値と前記画素値に対応する前記距離とを組にした単位データが第１の並び順で配列された対象物データを生成する対象物データ生成部と、
前記対象物データに基づく前記対象物上の点の位置情報を含む点データを前記第１の並び順で配列して点群データを生成する点群データ生成部と、を備える撮像装置。
【請求項２２】
前記第１の並び順は、前記撮像画像における画素の読み出し順を含み、
前記点群データ生成部は、前記画素の読み出し順で前記点データを配列する、請求項２１に記載の撮像装置。
【請求項２３】
前記単位データを前記読み出し順に基づいて記憶する記憶部を備える、請求項２２に記載の撮像装置。
【請求項２４】
前記点データはシーケンシャルアクセスによって前記点群データから読み出される、請求項２１から請求項２３のいずれか一項に記載の撮像装置。
【請求項２５】
対象物を特定の位置から撮像する第１撮像部と、
前記特定の位置から前記対象物までの距離を測定する第１測距部と、
前記第１撮像部による撮像画像と前記第１測距部の測定結果とを用いて、前記撮像画像の画素値と前記画素値に対応する前記距離とを組にした単位データが第１の並び順で配列された第１対象物データを生成する第１対象物データ生成部と、
前記第１対象物データに基づく前記対象物上の点の位置情報を含む点データを前記第１の並び順で配列して第１点群データを生成する第１点群データ生成部と、
前記対象物を前記特定の位置とは異なる位置から撮像する第２撮像部と、
前記第２撮像部による撮像画像と前記異なる位置から前記対象物までの距離とを組にした単位データが第２の並び順で配列された第２対象物データを生成する第２対象物データ生成部と、
前記第２対象物データに基づく前記対象物上の点の位置情報を含む点データを前記第２の並び順で配列して第２点群データを生成する第２点群データ生成部と、
前記第１点群データに基づく第１モデル情報と前記第２点群データに基づく第２モデル情報とを統合するモデル統合部と、を備える撮像システム。
【請求項２６】
請求項１から請求項１７、請求項２１から請求項２４のいずれか一項に記載の撮像装置と、
前記撮像装置から出力された情報を処理する情報処理装置と、を備える撮像システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置、画像処理装置、画像処理プログラム、データ構造、及び撮像システムに関する。
【背景技術】
【０００２】
物体の三次元形状をサーフェスモデルで記述したモデル情報（３次元構造情報）を処理する装置が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１３４５４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のモデル情報、あるいはモデル情報のもとになる情報は、容易に処理できることが望まれる。
【課題を解決するための手段】
【０００５】
本発明の第１の態様に従えば、対象物を所定の視点から撮像する撮像部と、所定の視点から対象物上の点までの距離を測定する測距部と、撮像部による撮像画像および測距部の測定結果を用いて、撮像画像の画素値、及び画素値に対応する対象物上の点から所定の視点までの距離とを組にした単位データが第１の並び順で配列された対象物データを生成する対象物データ生成部と、対象物データに基づいて対象物上の点の位置情報を算出し、位置情報を含む点データを第１の並び順で配列して点群データを生成する点群データ生成部と、を備える撮像装置が提供される。【０００６】
本発明の第２の態様に従えば、対象物を所定の視点から撮像した撮像画像と、所定の視点から対象物上の点までの距離の測定結果とを用いて、撮像画像の画素値、及び画素値に対応する対象物上の点から所定の視点までの距離とを組にした単位データが第１の並び順で配列された対象物データを生成する対象物データ生成部と、対象物データに基づいて対象物上の点の位置情報を算出し、位置情報を含む点データを第１の並び順で配列して点群データを生成する点群データ生成部と、を備える画像処理装置が提供される。【０００７】
本発明の第３の態様に従えば、コンピュータに、対象物を所定の視点から撮像した撮像画像と、所定の視点から対象物上の点までの距離の測定結果とを用いて、撮像画像の画素値、及び画素値に対応する対象物上の点から所定の視点までの距離とを組にした単位データが第１の並び順で配列された対象物データを生成することと、対象物データに基づいて対象物上の点の位置情報を算出し、位置情報を含む点データを第１の並び順で配列して点群データを生成することと、を実行させる画像処理プログラムが提供される。【０００８】
本発明の第４の態様に従えば、対象物を所定の視点から撮像した撮像画像と、所定の視点から対象物上の点までの距離の測定結果とを用いて、撮像画像の画素値、及び画素値に対応する対象物上の点から所定の視点までの距離とを組にした単位データが第１の並び順で配列された対象物データを用いて生成され、第１の並び順を定めた設定情報と、対象物データに基づいて算出される対象物上の点の位置情報を含み第１の並び順で配列された点データと、を含むデータ構造が提供される。【０００９】
本発明の第５の態様に従えば、対象物を特定の位置から撮像する撮像部と、特定の位置から対象物までの距離を測定する測距部と、撮像部による撮像画像及び測距部の測定結果を用いて、撮像画像の画素値と画素値に対応する距離とを組にした単位データが第１の並び順で配列された対象物データを生成する対象物データ生成部と、対象物データに基づく対象物上の点の位置情報を含む点データを第１の並び順で配列して点群データを生成する点群データ生成部と、を備える撮像装置が提供される。【００１０】
本発明の第６の態様に従えば、対象物を特定の位置から撮像する第１撮像部と、特定の位置から対象物までの距離を測定する第１測距部と、第１撮像部による撮像画像と第１測距部の測定結果とを用いて、撮像画像の画素値と画素値に対応する距離とを組にした単位データが第１の並び順で配列された第１対象物データを生成する第１対象物データ生成部と、第１対象物データに基づく対象物上の点の位置情報を含む点データを第１の並び順で配列して第１点群データを生成する第１点群データ生成部と、対象物を特定の位置とは異なる位置から撮像する第２撮像部と、第２撮像部による撮像画像と異なる位置から対象物までの距離とを組にした単位データが第２の並び順で配列された第２対象物データを生成する第２対象物データ生成部と、第２対象物データに基づく対象物上の点の位置情報を含む点データを第２の並び順で配列して第２点群データを生成する第２点群データ生成部と、第１点群データに基づく第１モデル情報と第２点群データに基づく第２モデル情報とを統合するモデル統合部と、を備える撮像システムが提供される。【００１１】
本発明の第７の態様に従えば、第１の態様または第５の態様の撮像装置と、撮像装置から出力された情報を処理する情報処理装置と、を備える撮像システムが提供される。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態に係る撮像装置を示す図である。
【図２】第１実施形態に係る検出部を示す図である。
【図３】第１実施形態に係る撮像部による撮像画像、画像データを示す図である。
【図４】第１実施形態に係る測距部によるデプス画像、デプス情報を示す図である。
【図５】第１実施形態に係る対象物データ、点群データを示す図である。
【図６】第１実施形態に係るメッシュ情報の例を示す図である。
【図７】実施形態に係る検出方法を示すフローチャートである。
【図８】第２実施形態に係る撮像装置を示す図である。
【図９】第２実施形態に係る分類部による処理を示す図である。
【図１０】第２実施形態に係る分類部による処理、メッシュ情報を示す図である。
【図１１】第３実施形態に係る撮像装置を示す図である。
【図１２】第３実施形態に係るメッシュ情報、テクスチャ情報を示す図である。
【図１３】第４実施形態に係る検出システムを示す図である。
【図１４】第４実施形態に係る検出システムを示す図である。
【図１５】第５実施形態に係る検出システムを示す図である。
【図１６】第５実施形態に係る検出システムを示す図である。
【発明を実施するための形態】
【００１３】
［第１実施形態］
第１実施形態について説明する。図１（Ａ）は、本実施形態に係る撮像装置１の一例を示す図である。撮像装置１は、所定の視点（一視点、単視点、複数の視点）から対象物ＯＢを検出する撮像装置であり、検出領域Ａ１（例、視野）内の対象物ＯＢを検出する。撮像装置１は、例えば、定点カメラでもよいし、手動または自動で視野を変更可能なカメラでもよく、携帯可能な情報端末（例、スマートフォン、タブレット、カメラ付き携帯電話）でもよい。
【００１４】
撮像装置１は、対象物ＯＢを検出した結果を使って、対象物ＯＢに関する情報の演算処理を行う。撮像装置１は、演算処理によって、対象物ＯＢの少なくとも一部をモデル化し、モデル情報（モデルデータ、ＣＧモデルデータ）を算出する。例えば、撮像装置１は、対象物ＯＢの検出結果（例、撮像画像、デプス情報）を用いて、形状情報とテクスチャ情報（表面情報）との少なくとも一方を生成あるいは抽出する処理を行う。上記の演算処理は、例えば、対象物ＯＢの少なくとも一部に関するコンピュータグラフィック処理（ＣＧ処理）を含んでもよい。
【００１５】
モデル情報は、例えば、対象物ＯＢの三次元形状を示す形状情報と、対象物ＯＢの表面の模様を示すテクスチャ情報との少なくとも一方を含む。また、例えば、モデル情報は、３次元の点座標、その点座標の関連情報、点座標及びその関連情報で規定された面のテクスチャ情報、画像全体の照明条件や光源情報などの画像の空間情報、並びに形状情報としてのポリゴンデータの少なくとも一つを含む。テクスチャ情報は、例えば、対象物ＯＢの表面の文字や図形、パターン、凹凸を規定する情報、特定の画像、及び色彩（例、有彩色、無彩色）の少なくとも１つの情報を含む。撮像装置１は、例えば、所定の視点Ｖｐ（例、一視点、単視点、１方向）から見た対象物ＯＢを示すモデル情報を算出する。
【００１６】
図１（Ｂ）は、撮像装置１の構成の一例を示すブロック図である。撮像装置１は、例えば、検出部２と、画像処理部３（画像処理装置）と、情報算出部４と、記憶部５と、通信部６（送信部）と、制御部７と、本体部８とを備える。本体部８は、例えば、カメラボディ、ケース、筐体などである。検出部２、画像処理部３、及び情報算出部４は、例えば、本体部８に設けられる。
【００１７】
図２は、検出部２の一例を示す図である。検出部２は、所定の視点Ｖｐから対象物ＯＢを光学的に検出する。検出部２は、例えば、所定の一視点から対象物ＯＢを見た画像と、所定の一視点から対象物ＯＢ上の各点までの距離との少なくとも一方を取得する。検出部２は、例えば、所定の視角で対象物ＯＢを検出してもよい。検出部２は、例えば、所定の視線（例、単一の視線）で対象物ＯＢを検出してもよい。検出部２は、撮像部１１および測距部１２を含む。撮像部１１は、所定の視点Ｖｐから対象物ＯＢを撮像する。測距部１２は、所定の視点Ｖｐ（図１（Ａ）参照）から対象物ＯＢ上の各点までの距離を検出する。
【００１８】
撮像部１１は、結像光学系１３および撮像素子（検出素子、受光素子）１４を備える。結像光学系１３は、対象物ＯＢの像を撮像素子１４上に形成する（撮像素子１４に投影する）。結像光学系１３は、例えば鏡筒内に保持され、鏡筒とともに本体部８（図１参照）に取り付けられる。結像光学系１３および鏡筒は、例えば交換レンズであり、本体部８から取り外し可能である。結像光学系１３および鏡筒は、内蔵レンズでもよく、例えば鏡筒は、本体部８の一部でもよいし、本体部８から取り外し不能でもよい。
【００１９】
撮像素子１４は、例えば、複数の画素が二次元的に配列されたＣＭＯＳイメージセンサ、あるいはＣＣＤイメージセンサである。撮像素子１４は、例えば本体部８に収容される。撮像素子１４は、結像光学系１３が形成した像を撮像する。撮像素子１４の撮像結果（検出結果）は、例えば、各画素の色ごとの画素値（例、階調値）の情報（例、ＲＧＢデータ）を含む。撮像素子１４は、例えば、撮像結果をフルカラー画像のデータ形式で出力する。
【００２０】
図３（Ａ）は、実施形態に係る撮像部１１による撮像画像Ｉｍ１を示す概念図であり、図３（Ｂ）は画像データＤａのデータ構造を示す図である。撮像画像Ｉｍ１は、複数の画素Ｐが二次元的に配列されている。ここでは、画素が配列される第１の方向を水平走査方向と称し、画素が配列される第２の方向（第１の方向とは異なる方向）を垂直走査方向と称する。また、水平走査方向における画素の位置を、０、１、２、・・・、ｉ−１で表し、垂直走査方向における画素の位置を０、１、２、・・・、ｊ−１で表す。ｉは、水平走査方向に並ぶ画素の数であり、ｊは垂直走査方向に並ぶ画素の数である。例えば、解像度がＶＧＡである場合、ｉが６４０であり、ｊが４８０である。解像度は任意に設定され、例えば、フルＨＤ（Full High Definition、画素数が１９２０×１０８０）でもよいし、他の解像度でもよい。ここでは、水平走査方向の位置がｘ（ｘは０以上ｉ−１以下の整数）であり、垂直走査方向の位置がｙ（ｙは０以上ｊ−１以下の整数）である画素Ｐを符号Ｐ（ｘ、ｙ）で表す。また、水平走査方向に並ぶ画素を行と称し、垂直走査方向に並ぶ画素を列と称する。
【００２１】
撮像画像Ｉｍ１は、例えば、加法混色によって複数の色を表現可能である。各画素（例、画素Ｐ（ｉ−１，ｊ−１））は、互い異なる色を表すサブ画素（Ｒ、Ｇ、Ｂ）を含む。以下、画素Ｐ（ｘ、ｙ）におけるＢ（青）の画素値（階調値）をＢ（ｘ，ｙ）で表し、画素Ｐ（ｘ、ｙ）におけるＧ（緑）の画素値（階調値）をＧ（ｘ，ｙ）で表し、画素Ｐ（ｘ、ｙ）におけるＲ（赤）の画素値（階調値）をＲ（ｘ，ｙ）で表す。Ｂ（ｘ，ｙ）、Ｇ（ｘ，ｙ）、Ｒ（ｘ，ｙ）のそれぞれは、例えば、８ビットのデジタルデータで表される。例えば、Ｐ（０、０）の画素データは、Ｂ（０，０）とＧ（０，０）とＲ（０，０）との組で表される。例えば、Ｂ（ｘ，ｙ）、Ｇ（ｘ，ｙ）、及びＲ（ｘ，ｙ）は、それぞれ、予め設定される任意のビット数のデジタルデータ（固定長データ）である。
【００２２】
なお、撮像画像Ｉｍ１は、加法混色に用いる色の種類の数は、任意であり、２つあるいは４つ以上でもよい。また、撮像画像Ｉｍ１は、ＲＧＢ表色系以外の表色系を用いるものでもよく、例えばＸＹＺ表色系などで色を表すものでもよい。また、撮像画像Ｉｍ１は、カラー画像でなくてもよく、グレイスケール画像でもよい。グレイスケール画像の場合、撮像画像Ｉｍ１は、青、緑、及び赤の画素値の代わりに、黒から白までの明るさを段階的に表した画素値を含む。
【００２３】
図３（Ｂ）に示すように、画像データＤａは、設定情報Ｄａ１および画素データ構造体Ｄａ２を含む。設定情報Ｄａ１は、例えば、ヘッダ情報であり、画像データＤａが画像処理装置等に読み込まれる際に、画像データＤａのうち最初に読み込まれる。設定情報Ｄａ１は、例えば、ファイルヘッダ、情報ヘッダ、及びパレットヘッダを含む。ファイルヘッダは、ファイルタイプ、ファイルサイズなど、ファイル自体に関する情報を格納する。情報ヘッダは、画像として取り扱われるのに必要な情報を格納する。例えば、情報ヘッダは、画素の配列のサイズを示す配列情報（図中「Ｗｉｄｔｈ」、「Ｈｅｉｇｈｔ」）を含む。「Ｗｉｄｔｈ」は、画像の横幅（水平走査方向に並ぶ画素数）であり、図３（Ａ）の例ではｉである。また「Ｈｅｉｇｈｔ」は、画像の高さ（垂直走査方向に並ぶ画素数）であり、図３（Ａ）の例ではｊである。パレットヘッダは、画素データ構造体Ｄａ２に格納される画素データのインデックスカラーを格納する。
【００２４】
画素データ構造体Ｄａ２は、複数の画素の各色の画素値を格納する。画素データ構造体Ｄａ２は、例えば、画素ごとの画素データにおいてＢ、Ｇ、Ｒの画素値が予め定められた順に連続的に配列され、画素データが画素の並ぶ順に繰り返し配列される構造である。例えば、画素データ構造体Ｄａ２の先頭の画素データは、画素Ｐ（０，０）の画素データであり、以下、水平走査方向に並ぶ順に、画素Ｐ（１，０）、・・・、Ｐ（ｉ−１，０）の画素データまで並ぶ。また、水平走査方向の終端の画素Ｐ（ｉ−１，０）の画素データの次には、垂直走査方向の位置をインクリメント（＋１）した水平走査方向の起点の画素Ｐ（０，１）の画素データが配置され、以下同様に、画素Ｐ（ｉ−１，ｊ−１）まで画素データが順に配列される。画素データ構造体Ｄａ２には、画素データ（Ｂ、Ｇ、Ｒの画素値の組み）が（ｉ×ｊ）個配列される。
【００２５】
画素データ構造体Ｄａ２は、例えば、予め決められたアクセス方式（例えばシーケンシャルアクセス）で画像処理部３によって読み出される。シーケンシャルアクセスの場合、例えば、画素データ構造体Ｄａ２は、画像の左下の端の画素の画素データから水平走査方向の１行の画素データが順に読みだされ、次に垂直走査方向に１画素だけステップして次の行の画素の画素データが読み出される処理が繰り返されて、全画素の画素データが読み出される。画像データＤａを読み出す装置（例、画像処理部３）は、設定情報Ｄａ１から画素の配列のサイズの情報を取得し、画素データ構造体Ｄａ２から画素データが読み出される順番（読み出し順、アクセス順）によって、この画素データがいずれの位置の画素の画素データであるかを判別することができる。なお、画素データ構造体Ｄａ２は、ランダムアクセスによって読み出されてもよく、この場合、画像データＤａを読み出す装置は、画素の位置を用いて画素データのアドレスを算出して、画素データを直接的に読み出すことができる。
【００２６】
なお、ビッドマップなどの画像は、「Ｗｉｄｔｈ」あるいは「Ｈｅｉｇｈｔ」が負の値で表される場合があり、「Ｗｉｄｔｈ」、「Ｈｅｉｇｈｔ」の正負によって配列の起点が定められる。例えば、「Ｈｅｉｇｈｔ」は、正である場合、画像の左下の画素を起点として上方に向かう配列（ボトムアップ方式）であることを示し、負である場合に左上の画素を起点として下方に向かう配列（トップダウン方式）であることを示す。このように、撮像画像Ｉｍ１は、「Ｗｉｄｔｈ」あるいは「Ｈｅｉｇｈｔ」の正負によって配列の方向を表すものでもよいし、それ以外のフラグなどによって配列の方向を表すものでもよい。
【００２７】
図２の説明に戻り、測距部１２は、対象物ＯＢの表面上の各点からの距離を検出する。測距部１２は、例えば、TOF（time of flight）法により距離を検出する。測距部１２は、その他の手法で距離を検出するものでもよい。例えば、測距部１２は、レーザスキャナを含み、レーザスキャンにより距離を検出するものでもよい。例えば、測距部１２は、対象物ＯＢに所定のパターンを投影し、このパターンの検出結果をもとに距離を測定するものでもよい。また、測距部１２は、位相差センサを含み、位相差法により距離を検出するものでもよい。また、測距部１２は、DFD(depth from defocus)法、あるいは複数の撮像素子（例、立体視カメラ）を用いた三角測量法により距離を検出するものでもよい。DFD法あるいは三角測量法を用いる場合、測距部１２は、撮像部１１の結像光学系１３と撮像素子１４との少なくとも一方を用いるものでもよい。
【００２８】
測距部１２は、例えば、照射部１５、結像光学系１６、撮像素子１７、及びコントローラ１８を備える。照射部１５は、対象物ＯＢに赤外光を照射可能である。照射部１５は、コントローラ１８に制御される。コントローラ１８は、照射部１５から照射される赤外光の強度を時間変化させる（例、振幅変調する）。結像光学系１６は、対象物ＯＢの像を形成する。結像光学系１６は、結像光学系１３と同様に、交換レンズの少なくとも一部でもよいし、内蔵レンズの少なくとも一部でもよい。撮像素子１７は、例えば、ＣＭＯＳイメージセンサ、あるいはＣＣＤイメージセンサである。撮像素子１７は、少なくとも照射部１５が照射する光の波長帯に感度を有する。撮像素子１７は、例えば、コントローラ１８に制御され、対象物ＯＢで反射散乱した赤外光を検出する。例えば、撮像素子１７は、結像光学系１６が形成した像を撮像する。
【００２９】
コントローラ１８は、撮像素子１７による検出結果を使って、対象物ＯＢの表面の各点から撮像素子１７までの距離（デプス）を検出する。例えば、対象物ＯＢの表面上の点から撮像素子１７に入射する光の飛行時間は、この点のデプスに応じて変化する。撮像素子１７の出力は飛行時間に応じて変化し、コントローラ１８は、例えば、撮像素子１７の出力をもとにデプスを算出する。コントローラ１８は、例えば、撮像素子１７が撮像した画像の一部の領域（例、１画素、複数の画素）ごとにデプスを算出し、この領域の位置とデプスとを関連付けて、デプス情報を算出（生成）する。デプス情報は、例えば、対象物ＯＢの表面上の点の位置と、この点から撮像装置１までの距離（デプス、深度）とを関連付けた情報を含む。デプス情報は、例えば、対象物ＯＢにおけるデプスの分布（例、デプスマップ）を示す情報（例、デプス画像）を含む。デプス画像は、例えば、各画素に対応する対象物ＯＢ上の位置から所定の視点Ｖｐまでの距離を階調で表したグレイスケール画像である。
【００３０】
図４（Ａ）は、実施形態に係る測距部１２によるデプス画像Ｉｍ２を示す概念図であり、図４（Ｂ）はデプス画像Ｉｍ２の画像データ（デプス情報）のデータ構造を示す図である。デプス画像Ｉｍ２には、複数の画素Ｄが二次元的に配列される。ここでは、画素Ｐ（ｘ、ｙ）に対応する対象物ＯＢ上の点（部分）と所定の視点Ｖｐとの距離（デプス）を表す画素を符号Ｄ（ｘ，ｙ）で表す。なお、デプス画像Ｉｍ２において、図３の撮像画像Ｉｍ１と共通する説明については、適宜、省略あるいは簡略化する。ｍは、水平走査方向に並ぶ画素の数であり、ｎは垂直走査方向に並ぶ画素の数である。デプス画像Ｉｍ２における各画素の画素値は、例えば、各画素に対応する対象物ＯＢ上の点と所定の視点Ｖｐとの距離を階調値で表したものである。デプス画像Ｉｍ２における各画素の画素値は、例えば、予め設定される任意のビット数のデジタルデータ（固定長データ）である。
【００３１】
図４（Ｂ）に示すように、デプス画像Ｉｍ２の画像データＤｂ（デプス情報）は、設定情報Ｄｂ１および距離データ構造体Ｄｂ２を含む。設定情報Ｄｂ１は、例えばヘッダ情報であり、画像データＤｂが画像処理装置あるいは表示装置等に読み込まれる際に、画像データＤａのうち最初に読み込まれる。設定情報Ｄｂ１は、例えば、画素の配列を示す配列情報（図中「Ｗｉｄｔｈ」、「Ｈｅｉｇｈｔ」）を含む。「Ｗｉｄｔｈ」は、画像の横幅（水平走査方向に並ぶ画素数）であり、図４（Ａ）の例ではｍである。また「Ｈｅｉｇｈｔ」は、画像の高さ（垂直走査方向に並ぶ画素数）であり、図４（Ａ）の例ではｎである。以下の説明では、ｍ＝ｉかつｎ＝ｊであるものとするが、ｍはｉと異なる値でもよいし、また、ｎはｊと異なる値でもよい。
【００３２】
距離データ構造体Ｄｂ２は、各画素の画素値を格納する。距離データ構造体Ｄｂ２は、例えば、画素値が画素Ｄの並ぶ順に繰り返し配列される構造である。例えば、距離データ構造体Ｄｂ２の先頭の画素値は、画素Ｄ（０，０）の画素値であり、以下、水平走査方向に並ぶ順に、画素Ｄ（１，０）、・・・、Ｄ（ｍ−１，０）の画素値まで並ぶ。また、水平走査方向の終端の画素Ｄ（ｍ−１，０）の画素値の次には、垂直走査方向の位置をインクリメント（＋１）した水平走査方向の起点の画素Ｄ（０，１）の画素値が配置され、以下同様に、画素Ｄ（ｉ−１，ｊ−１）まで画素値が順に配列される。距離データ構造体Ｄｂ２には、（ｍ×ｎ）個の画素値がシリアルに配列される。
【００３３】
距離データ構造体Ｄｂ２は、例えば、シーケンシャルアクセス方式で画像処理部３によって並ぶ順に読み出される。例えば、距離データ構造体Ｄｂ２は、画像の左下の端の画素の画素値から水平走査方向の１行の画素の画素値が順に読みだされ、次に垂直走査方向に１画素だけステップして次の行の画素の画素値が順に読み出される処理が繰り返されて、全画素の画素値が読み出される。画像データＤｂを利用する装置は、設定情報Ｄｂ１から画素の配列情報（例、ｍ、ｎ）を取得し、距離データ構造体Ｄｂ２から画素値が読み出される順番によって、画素の位置と画素値とを対応付けることができるである。なお、距離データ構造体Ｄｂ２は、例えば画素データ構造体Ｄａ２と同様にランダムアクセスによって読み出されてもよい。
【００３４】
図１の説明に戻り、画像処理部３（画像処理装置）は、対象物データ生成部２１および点群データ生成部２２を備える。対象物データ生成部２１は、撮像部１１による撮像画像および測距部１２の測定結果を用いて、対象物データＤｃ（後に図５（Ａ）で説明する）を生成する。点群データ生成部２２は、対象物データＤｃに基づいて対象物ＯＢ上の点の位置情報（例、座標）を算出する。また、点群データ生成部２２は、対象物ＯＢ上の点の位置情報を少なくとも含む点データＦを配列して、点群データＤｅ（後に図５（Ｂ）、図５（Ｃ）で説明する）を生成する。点データＦは、例えば、検出部２の検出結果から得られる対象物ＯＢ上の点の座標（Ｘ，Ｙ、Ｚ）を含む。例えば、複数の点データＦは、それぞれ、画像処理部３が検出部２の検出結果を用いて推定した対象物ＯＢの表面上の点の三次元座標を含む。
【００３５】
点群データ生成部２２は、例えば、形状情報として、検出部２の検出結果をもとに対象物ＯＢ上の複数の点の座標を含む点群データを算出する。点群データ生成部２２は、測距部１２の検出結果（例、デプス情報）を使って、点群データを算出する（点群データ処理）。例えば、点群データ生成部２２は、デプス情報が示す距離画像（デプス画像）から平面画像への透視変換などにより、点群データを算出する。なお、点群データ生成部２２は、撮像部１１と測距部１２とで視野が異なる場合、例えば、測距部１２の検出結果を透視変換（射影変換）などによって、撮像部１１の視野から対象物ＯＢを検出した結果に変換してもよい。点群データ生成部２２は、例えば、撮像部１１の視野と測距部１２の視野との位置関係（例、視点の位置、視線の向き）に依存するパラメータを使って、透視変換を実行してもよい。
【００３６】
図５（Ａ）は、本実施形態に係る対象物データＤｃの一例を示す概念図である。対象物データＤｃは、例えば、ＲＢＧ−Ｄ画像の画像データである。対象物データＤｃは、設定情報Ｄｃ１および単位データ構造体Ｄｃ２を含む。設定情報Ｄｃ１は、例えばヘッダ情報であり、対象物データＤｃが画像処理装置等に読み込まれる際に、対象物データＤｃのうち最初に読み込まれる。設定情報Ｄｃ１は、単位データ構造体Ｄｃ２の構造を示す情報を含む。例えば、設定情報Ｄｃ１は、ＲＢＧ−Ｄ画像における画素の配列を示す情報（図中「Ｗｉｄｔｈ」、「Ｈｅｉｇｈｔ」）を含む。「Ｗｉｄｔｈ」は、画像の横幅（水平走査方向に並ぶ画素数）であり、図５（Ａ）の例ではｉである。また「Ｈｅｉｇｈｔ」は、画像の高さ（垂直走査方向に並ぶ画素数）であり、図５（Ａ）の例ではｊである。
【００３７】
単位データ構造体Ｄｃ２は、例えば、撮像画像Ｉｍ１の画像データＤａを３次元（Ｒ、Ｇ、Ｂ）から４次元（Ｒ，Ｇ、Ｂ、Ｄ）に拡張した構造である。単位データ構造体Ｄｃ２は、例えば、複数の単位データＥがシリアルに配列された構造である。単位データＥは、それぞれ、撮像画像Ｉｍ１の画素値（図３のＲ，Ｇ、Ｂ）、及び画素値に対応する対象物ＯＢ上の点から所定の視点Ｖｐまでの距離に関する情報（図４の画素Ｄの画素値）とを組にしたデータである。ここでは、画素Ｐ（ｘ、ｙ）に対応する単位データＥを符号Ｅ（ｘ、ｙ）で表す。例えば、単位データＥ（０，０）は、図３の画素Ｐ（０，０）の画素値（Ｂ（０，０）、Ｇ（０，０）、Ｒ（０，０））、及び画素Ｐ（０，０）に対応する対象物ＯＢ上の位置と所定の視点Ｖｐとの距離に相当するデプス（画素Ｄ（０，０）の画素値）を含む。
【００３８】
撮像画像Ｉｍ１における画素（又は画素値）は、第１の並び順（所定の並び順、複数の画素に対するアクセス順）で配列され、単位データ構造体Ｄｃ２において、単位データＥは、第１の並び順（例、撮像画像Ｉｍ１における画素又は該画素の画素値の読み出し順と同じ順番、同じパターン）で配列されている。例えば、単位データ構造体Ｄｃ２において、単位データＥは、撮像画像Ｉｍ１における取得した画素（又は画素値）の並び順（第１の並び順）を保持するように、シリアルに配列されている。例えば、単位データ構造体Ｄｃ２は、１行の画素に対応する単位データＥ（０，０）から単位データＥ（ｉ−１，０）までが順に配置され、次に２行目の画素に対応する単位データＥ（０，１）から単位データＥ（ｉ−１，１）までが順に配置され、以下同様に、単位データＥ（ｉ−１，ｊ−１）まで順に配置されている。単位データ構造体Ｄｃ２において、単位データＥ（０，０）から単位データＥ（ｉ−１，ｊ−１）は、例えばシーケンシャルアクセスによって、並ぶ順に読み出されるが、例えば画像データＤａと同様にランダムアクセスによって読み出されてもよい。
【００３９】
対象物データ生成部２１は、単位データＥを第１の並び順で配列して対象物データＤｃを生成する。対象物データ生成部２１は、例えば、対象物データＤｃにおいて、撮像画像Ｉｍ１のデータにおける画素値の並び順（例、第１の並び順）を保持する。例えば、対象物データ生成部２１は、撮像画像Ｉｍ１における画素（又は、撮像画像Ｉｍ１のデータにおける画素値）の並び順（第１の並び順）を保持して単位データＥを配列して、保持した並び順で単位データＥが配列された対象物データＤｃを生成する。例えば、対象物データ生成部２１は、撮像画像Ｉｍ１における画素データ（画素値）の保持される順番（第１の並び順、データ保持順）で単位データＥを配列して、単位データＥが配列された対象物データＤｃを生成する。例えば、対象物データ生成部２１は、撮像画像Ｉｍ１の画像データＤａ（図３参照）から画素データをシーケンシャルアクセスによって読み出し、デプス画像Ｉｍ２の画像データＤｂ（図４参照）から画素値（デプス）をシーケンシャルアクセスによって読み出し、撮像画像Ｉｍ１の画素データとデプス画像の画素値（デプス）とを読み出された順に組にして配列することで、対象物データＤｃを生成する。なお、撮像画像Ｉｍ１の解像度（ｉ×ｊ）とデプス画像Ｉｍ２の解像度（ｍ×ｎ）とが異なる場合、対象物データ生成部２１は、補間あるいは平均などを用いて撮像画像Ｉｍ１とデプス画像Ｉｍ２とで解像度を揃え、対象物データＤｃを生成してもよい。対象物データＤｃ（例、単位データ構造体Ｄｃ２）は、例えば、インデックスレスなデータ構造である。例えば、単位データ構造体Ｄｃ２において、単位データＥは、それぞれ、自データのインデックス（例、識別情報、プロパティ、点データ構造体Ｄｅ２における順番）を含まないデータである。対象物データＤｃは、例えば、単位データＥの並び順がパターン化されたデータ構造である。対象物データＤｃは、例えば、単位データＥの並び順が撮像画像Ｉｍ１における画素の読出し順（第１の並び順）と対応付けられたデータ構造である。対象物データ生成部２１は、例えば、生成した対象物データＤｃを記憶部５（図１参照）に記憶させる。また、例えば、対象物データ生成部２１は、単位データ又は画素値の並び順を保持しておくために、上述の第１の並び順を記憶部５に記憶させる。
【００４０】
図５（Ｂ）は、本実施形態に係る点群データの一例を示す概念図である。点群データＤｅは、例えば、ＲＢＧ−Ｄ画像のデプスを位置情報（例、座標）に変換したデータである。点群データＤｅは、設定情報Ｄｅ１および点データ構造体Ｄｅ２を含む。点データ構造体Ｄｅ２は、複数の点データＦがシリアルに配列された構造である。点データＦは、撮像画像Ｉｍ１の画素値（図３のＲ，Ｇ、Ｂ）、及びこの画素値に対応する対象物ＯＢ上の点の座標（Ｘ，Ｙ、Ｚ）とを組にした構造である。ここでは、画素Ｐ（ｘ，ｙ）に対応する点データを符号Ｆ（ｘ、ｙ）で表す。また、画素Ｐ（ｘ，ｙ）に対応する対象物ＯＢ上の点の実空間上の座標をＸ（ｘ，ｙ）、Ｙ（ｘ，ｙ）、及びＺ（ｘ，ｙ）の組で表す。点データ構造体Ｄｅ２は、例えば、撮像画像の画素データを３次元（Ｒ、Ｇ、Ｂ）から６次元（Ｒ，Ｇ、Ｂ、Ｘ，Ｙ，Ｚ）に拡張した構造である。
【００４１】
点データ構造体Ｄｅ２において、点データＦは、第１の並び順で配列されている。例えば、点データ構造体Ｄｅ２において、点データＦは、対象物データＤｃ（図５（Ａ）参照）における単位データＥの並び順を保持するように、配列されている。例えば、点データ構造体Ｄｅ２は、単位データＥ（０，０）から単位データＥ（ｉ−１，ｊ−１）に対応する点データＦ（０，０）から点データＦ（ｉ−１，ｊ−１）がこの順に配置される。点データ構造体Ｄｅ２において点データＦが並ぶ順番（例、第１の並び順）は、撮像画像において点データＦに対応する画素が並ぶ順番でもよく、撮像画像のデータにおいて点データＦに対応する画素データ（画素値）が並ぶ順番でもよい。また、点データ構造体Ｄｅ２において点データＦが並ぶ順番（例、第１の並び順）は、デプス情報（例、デプス画像）において点データＦに対応するデプス（距離、デプス画像において距離に対応する画素値）が並ぶ順番でもよい。点データ構造体Ｄｅ２において、点データＦは、例えばシーケンシャルアクセスによって、並ぶ順に読み出される。点データＦは、対象物データＤｃと同様にランダムアクセスによって読み出されてもよい。
【００４２】
設定情報Ｄｅ１は、例えばヘッダ情報であり、点群データＤｅが画像処理装置等に読み込まれる際に、点群データＤｅのうち最初に読み込まれる。設定情報Ｄｅ１は、点データ構造体Ｄｅ２の構造を示す情報を含む。例えば、設定情報Ｄｅ１は、点データＦの配列を示す配列情報（図中「Ｗｉｄｔｈ」、「Ｈｅｉｇｈｔ」）を含む。点群データＤｅを利用する装置は、点データＦが読み出される順番と上述の配列情報とを用いて、検出部２による検出領域Ａ１におけるいずれの部分が点データＦと対応関係にあるのかを判別することができる。例えば、点データＦを対象物データＤｃの単位データＥに対応させて二次元的に配列する場合、「Ｗｉｄｔｈ」は、第１の方向における点データＦの数であり、図Ｂ（Ａ）の例ではｉである。また、点データＦを対象物データＤｃの単位データＥに対応させて二次元的に配列する場合、「Ｈｅｉｇｈｔ」は、第２の方向における点データＦの数であり、図５（Ａ）の例ではｊである。例えば、ｉおよびｊが与えられている場合、点データＦが読み出される順番は、検出部２による検出領域Ａ１（撮像画像、デプス画像）上の部分と点データＦとを関連付ける情報として利用することができる。例えば、点データＦが読み出される順番は、検出部２による検出領域Ａ１において点データＦに相当する部分の位置を示す情報として利用することができる。
【００４３】
点群データ生成部２２は、対象物データ生成部２１で保持された第１の並び順で点データＦを配列して点群データＤｅを生成する。例えば、点群データ生成部２２は、対象物データＤｃにおける単位データＥの並び順を保持して点データＦを配列して、これら点データＦが配列された点群データＤｅを生成する。例えば、点群データ生成部２２は、対象物データＤｃの単位データＥをシーケンシャルアクセスによって順に読み出し、読み出した順に画素Ｄ（ｘ、ｙ）の画素値をＸ（ｘ，ｙ）、Ｙ（ｘ，ｙ）、及びＺ（ｘ，ｙ）の組に置き換えて点データＦを生成する。点群データ生成部２２は、点データＦを、点データＦに対応する単位データＥが読み出された順番で点データ構造体Ｄｅ２に格納することで、点群データＤｅを生成する。点群データＤｅ（例、点データ構造体Ｄｅ２）は、例えばインデックスレスなデータ構造である。例えば、点データ構造体Ｄｅ２において、点データＦは、それぞれ、自データのインデックス（例、識別情報、プロパティ、点データ構造体Ｄｅ２における順番）を含まないデータである。点群データＤｅは、例えば、点データＦの並び順がパターン化されたデータ構造である。点群データＤｅは、例えば、点データＦの並び順が、対象物データＤｃにおける単位データＥの読出し順（撮像画像Ｉｍ１における画素の読出し順）と対応付けられたデータ構造である。点群データ生成部２２は、例えば、生成した点群データＤｅを記憶部５（図１参照）に記憶させる。
【００４４】
図５（Ｃ）は、本実施形態に係る点群データの他の例を示す概念図である。点群データＤｅは、図５（Ｂ）の点群データＤｅから画素値（Ｒ、Ｇ、Ｂ）を除いた構造である。対象物データ生成部２１は、例えば、対象物データＤｃの単位データＥをシーケンシャルアクセスによって順に読み出し、画素Ｄ（ｘ、ｙ）の画素値を位置情報（Ｘ、Ｙ、Ｚ）に変換して点データＦを生成し、画素Ｄ（ｘ，ｙ）の画素値が読み出された順に点データＦ（ｘ，ｙ）を点データ構造体Ｄｅ２に格納することで、点群データＤｅを生成する。このように、点データＦは、画素値（Ｒ、Ｇ、Ｂ）を含んでいなくてもよい。また、点データＦは、画素値、位置情報の他の情報を含んでもよい。
【００４５】
上述の点群データＤｅにおいて、点データ構造体Ｄｅ２の構造を示す情報（例、ｉ，ｊ）は、例えば、点データＦの元になった情報（例、撮像画像、デプス画像）において、点データＦに相当する部分の相対関係を示す情報として利用可能である。実施形態に係る点群データＤｅは、例えば、点データ構造体Ｄｅ２の構造を示す情報および点データの並び順（第１の並び順）によって、検出部２による検出領域Ａ１における位置関係を保持している。例えば、ｘを１以上（ｉ−１）以下の整数とすると、点データＦ（ｘ−１，ｙ）、点データＦ（ｘ＋１，ｙ）は、それぞれ、検出部２による検出領域Ａ１（例、視野）において、点データＦ（ｘ，ｙ）に相当する部分に対して第１の方向（例、水平走査方向）に隣接する部分である。例えば、点データＦ（ｘ，ｙ）の直前に読み出される点データＦ（ｘ−１，ｙ）、点データＦ（ｘ，ｙ）の直後に読み出される点データＦ（ｘ＋１，ｙ）は、それぞれ、検出部２による検出領域Ａ１において、点データＦ（ｘ，ｙ）に相当する部分に対して第１の方向（例、水平走査方向）において隣接する部分である。
【００４６】
また、例えば、ｙを１以上（ｉ−１）以下の整数とすると、点データＦ（ｘ，ｙ−１）、点データＦ（ｘ，ｙ＋１）は、それぞれ、検出部２による検出領域Ａ１において、点データＦ（ｘ，ｙ）に相当する部分に対して第２の方向（例、垂直走査方向）に隣接する部分である。例えば、点データＦ（ｘ，ｙ）から（ｉ−１）個だけ前に読み出される点データＦ（ｘ，ｙ−１）、点データＦ（ｘ，ｙ）から（ｉ−１）個だけ後に読み出される点データＦ（ｘ，ｙ＋１）は、それぞれ、検出部２による検出領域Ａ１において、点データＦ（ｘ，ｙ）に相当する部分に対して第２の方向（例、垂直走査方向）において隣接する部分である。このような点群データＤｅは、例えば、対象物ＯＢ上の２点を結ぶ線の情報、あるいは対象物ＯＢ上の３つ以上の線に囲まれる面の情報（メッシュ情報、サーフェス情報）を生成する上で処理しやすい。
【００４７】
図６（Ａ）は、本実施形態に係るメッシュの一例を示す概念図である。図６では、点群データＤｅの点データＦを、対象物データＤｃに対応させて２次元的に配列し、概念的に示した。図６（Ａ）において、メッシュＭは、４つの点データＦを頂点とする面である。ここでは、点データＦ（ｘ，ｙ）と点データＦ（ｘ＋ｄｘ，ｙ）とを結ぶ線、点データＦ（ｘ＋ｄｘ，ｙ）と点データＦ（ｘ＋ｄｘ，ｙ＋ｄｙ）とを結ぶ線、点データＦ（ｘ＋ｄｘ，ｙ＋ｄｙ）と点データＦ（ｘ，ｙ＋ｄｙ）とを結ぶ線、及び点データＦ（ｘ，ｙ＋ｄｙ）と点データＦ（ｘ，ｙ）を結ぶ線に囲まれるメッシュＭを符号Ｍ（ｘ，ｙ）で表す。ｄｘ、ｄｙは、メッシュＭにおける点データＦの配列を示す情報である。ｄｘ、ｄｙは、それぞれ１以上の整数であり、図６（Ａ）では、ｄｘ＝１かつｄｙ＝１である。なお、ｄｙは、ｄｘと異なる値でもよく、ｄｘとｄｙとの少なくとも一方は２以上の整数でもよい。図６（Ａ）では、４つのメッシュＭ（０，０）、メッシュＭ（ｉ−２，０）、メッシュＭ（０，ｊ−２）、メッシュＭ（ｉ−２，ｊ−２）を代表的にハッチングを付して示したが、その他の部分にメッシュＭを定義することもできる。
【００４８】
図６（Ｂ）は、本実施形態に係るメッシュの他の例を示す概念図である。図６（Ｂ）において、メッシュＭは、３つの点データＦを頂点とする面である。ここでは、点データＦ（ｘ，ｙ）と点データＦ（ｘ＋ｄｘ，ｙ）とを結ぶ線、点データＦ（ｘ＋ｄｘ，ｙ）と点データＦ（ｘ，ｙ＋ｄｙ）とを結ぶ線、及び点データＦ（ｘ，ｙ＋ｄｙ）と点データＦ（ｘ，ｙ）とを結ぶ線に囲まれるメッシュＭを符号Ｍ１（ｘ，ｙ）で表す。また、点データＦ（ｘ＋ｄｘ，ｙ）と点データＦ（ｘ＋ｄｘ，ｙ＋ｄｙ）とを結ぶ線、点データＦ（ｘ＋ｄｘ，ｙ＋ｄｙ）と点データＦ（ｘ，ｙ＋ｄｙ）とを結ぶ線、及び点データＦ（ｘ，ｙ＋ｄｙ）と点データＦ（ｘ＋ｄｘ，ｙ）とを結ぶ線に囲まれるメッシュＭを符号Ｍ２（ｘ＋ｄｘ，ｙ）で表す。
【００４９】
メッシュＭの頂点の数は、図６（Ｂ）のように３つでもよいし、図６（Ａ）のように４つでもよいし、５つ以上の任意の数でもよい。また、ここでは、対象物ＯＢ上の３つ以上の線に囲まれる面の情報について説明したが、撮像装置１は、対象物ＯＢ上の２点を結ぶ線の情報を生成してもよい。対象物ＯＢの形状情報は、上記の線の情報および面の情報（メッシュ情報）の少なくとも一方を含んでもよい。
【００５０】
このようなメッシュ情報は、例えば、メッシュにおける点データＦの配列を示す情報（例、ｄｘ、ｄｙ）を、点群データＤｅの設定情報Ｄｅ１に付加することで生成可能である。一般的な点群データにおいて点データは、例えば、インデックスを付されて線あるいは面と関係付けられる。一方で、実施形態に係る点群データＤｅは、例えば上記のメッシュ情報のように、点データＦの並び順（第１の並び順）を用いて複数の点データＦを関連付けて、線あるいは面（例、メッシュＭ）を定義することができる。実施形態に係る点群データＤｅ、あるいは点群データＤｅを用いて生成されるメッシュ情報などの各種情報は、例えば、データの並ぶ順番、あるいはデータが読み出される順番を上記のインデックスの代わりに用いることができる。実施形態に係る点群データＤｅは、例えば、上記のインデックスを省くこと（インデックスレスなデータ構造にすること）ができ、インデックスレスによりデータ量を低減することができる。例えば、対象物データＤｃ、あるいは対象物データＤｃを用いて生成される点群データＤｅなどの各種データをインデックスレスなデータ構造にする場合、インデックスに由来するメモリアクセス（例、ＣＰＵの外部へのメモリアクセス）を減らすことができ、撮像装置１（例、画像処理部３、情報算出部４）の処理を高速化することができる。また、例えば、対象物データＤｃ、あるいは対象物データＤｃを用いて生成される点群データＤｅなどの各種データをインデックスレスなデータ構造にする場合、インデックスを介してデータのアドレス位置を計算する処理などのインデックスに関わる演算処理を削減することができ、撮像装置１（例、画像処理部３、情報算出部４）の負荷を減らすことができる。
【００５１】
図１の説明に戻り、情報算出部４は、点群データＤｅと、点群データＤｅに基づいて生成されるデータとの一方または双方を用いて、対象物ＯＢの形状情報とテクスチャ情報との少なくとも一方を含むモデル情報を算出する。例えば、情報算出部４は、点群データＤｅを用いて、対象物ＯＢの形状情報として図６で説明したメッシュ情報を生成してもよい。また、情報算出部４は、メッシュ情報に含まれる２以上のメッシュＭを統合して、１つの面で表してもよい。例えば、情報算出部４は、隣り合う２つのメッシュＭ（例、図６（Ｂ）のメッシュＭ１（０，０）、メッシュＭ２（１，０））で法線方向を比較して、これら２つのメッシュＭが１つの面であるか否かを判定してもよい。例えば、情報算出部４は、メッシュＭ１（０，０）の法線方向とメッシュＭ２（１，０）の法線方向との角度が閾値以下である場合に、これら２つのメッシュが１つの面であると判定してもよい。情報算出部４は、複数のメッシュＭを１つの面に統合した場合、これら複数のメッシュＭの情報を、１つの面の情報（例、頂点の点データＦおよび法線方向）で置き換えてもよい。また、情報算出部４は、対象物ＯＢの形状情報として、点群データＤｅに含まれる２点を結ぶ線の情報を生成してもよい。情報算出部４は、対象物ＯＢ上の複数の点の座標と複数の点間の連結情報とを含むサーフェス情報を生成してもよい。サーフェス情報は、例えばポリゴンデータ、ベクタデータ、ドローデータなどである。連結情報は、例えば、対象物ＯＢの稜線（例、エッジ）に相当する線の両端の点を互いに関連付ける情報（上記の線の情報）、及び対象物ＯＢの面の輪郭に相当する複数の線あるいは面の頂点を互いに関連付ける情報（上記の面の情報）を含む。例えば、情報算出部４は、点群データＤｅの点データＦに含まれる位置情報を用いて、対象物ＯＢの形状情報（例、線の情報、サーフェス情報）を算出する。例えば、情報算出部４は、点データＦの並び順を点群データＤｅ上での点間の関係を示す情報として利用し、点データＦに含まれる位置情報を実空間上の点の位置として利用する。また、撮像装置１は、情報算出部４を備えなくてもよく、例えば点群データＤｅあるいはメッシュ情報を、モデル情報あるいはモデル情報の元になる情報として外部へ出力してもよい。
【００５２】
情報算出部４は、例えばインバースレンダリングの手法により、テクスチャ情報を算出する。テクスチャ情報は、例えば、対象物ＯＢの表面の模様を示すパターン情報、対象物ＯＢを照らす光の光源情報、及び対象物ＯＢの表面の光学特性（例、反射率、散乱率）を示す光学特性情報の少なくとも１項目の情報を含む。光源情報は、例えば、光源の位置、光源から対象物へ光が照射される方向、光源から照射される光の波長、光源の種類のうち少なくとも１項目の情報を含む。
【００５３】
情報算出部４は、例えば、ランバート反射を仮定したモデル、アルベド（Albedo）推定を含むモデルなどを利用して、光源情報を算出する。例えば、情報算出部４は、撮像部１１が撮像した画像の各画素の画素値のうち、対象物ＯＢで拡散した光に由来する成分と対象物ＯＢで正反射した成分とを推定する。また、情報算出部４は、例えば、対象物ＯＢで正反射した成分の推定結果、及び形状情報を使って、光源から対象物ＯＢへ光が入射してくる方向を算出する。情報算出部４は、例えば、算出した光源情報および形状情報を使って対象物ＯＢの反射特性を推定し、反射特性の推定結果を含む光学特性情報を算出する。また、情報算出部４は、例えば、算出した光源情報および光学特性情報を使って、可視光画像のデータから照明光の影響を除去して、パターン情報を算出する。
【００５４】
記憶部５は、例えばＵＳＢメモリ、メモリカードなどの不揮発性メモリであり、各種情報を記憶する。記憶部５は、撮像装置１に内蔵される記憶デバイス（例、ハードディスク）を含んでいてもよいし、撮像装置１からリリース可能な記憶デバイスを接続可能なポートを含んでいてもよい。
【００５５】
通信部６は、例えば、ＵＳＢポートなどのＩ／Ｏポート、電波または赤外線の無線通信を行う通信器のうち少なくとも一つを含む。通信部６は、制御部７に制御され、記憶部５に記憶されている情報を読み出し、読み出した情報を外部装置に送信する。例えば、通信部６は、点群データＤｅと、点群データＤｅに基づいて生成されるデータ（例、情報算出部４の算出結果、モデル情報）の少なくとも一部を、本体部８の外部の装置（例、後に図１４等に示す情報処理装置５１）に送信する。また、通信部６は、例えば、外部の装置からの指令を含む情報を受信する。通信部６は、受信した情報を記憶部５に記憶させること、受信した情報を制御部７に供給することができる。
【００５６】
制御部７は、例えば、ユーザまたは外部装置からの指令（制御信号）により、撮像装置１の各部を制御する。例えば、制御部７は、検出部２に検出処理を実行させる。この検出処理は、例えば、撮像部１１による撮像処理、及び測距部１２による距離検出処理を含む。制御部７は、例えば、検出部２の検出結果の少なくとも一部を記憶部５に記憶させる。制御部７は、例えば、対象物データ生成部２１に対象物データＤｃを生成させ、生成された対象物データＤｃを記憶部５に記憶させる。制御部７は、例えば、点群データ生成部２２に点群データＤｅを生成させ、生成された点群データＤｅを記憶部５に記憶させる。制御部７は、例えば、情報算出部４にモデル情報を算出させる。制御部７は、例えば、情報算出部４が算出したモデル情報の少なくとも一部を記憶部５に記憶させる。
【００５７】
また、例えば、撮像装置１は、モデル情報の少なくとも一部を、バーコードや２次元コードのようなデジタル情報を入出力できるデジタル装置に出力可能である。このようなデジタル装置は、モデル情報の少なくとも一部を含むデジタル情報をディスプレイや紙などに表示する又は印字することができる。表示された又は印字されたデジタル情報を読み取れるリーダー部（例、光学式リーダー）を備えるリーダー装置は、該リーダー部を介して該デジタル情報を自装置の記憶領域などに入力することができる。また、リーダー装置は、後述のレンダリング処理部を更に備えていてもよい。なお、上記の撮像システム５０は、上記のデジタル装置やリーダー部を備えるリーダー装置を備える構成であってもよい。また、撮像装置１は、上記のデジタル装置やリーダー装置を備える構成であってもよい。撮像装置１が上記のデジタル装置を備える場合に、通信部６はモデル情報の少なくとも一部を上記のデジタル装置に送信してもよい。また、上記のデジタル装置は、受信したモデル情報をもとにデジタル情報を生成し、このデジタル情報を紙などの媒体に出力してもよい。
【００５８】
次に、上述の構成の撮像装置１の動作に基づき、本実施形態に係る検出方法について説明する。図７は、実施形態に係る検出方法を示すフローチャートである。ステップＳ１にいて、撮像部１１は、対象物ＯＢを所定の視点Ｖｐから撮像する。ステップＳ２において、測距部１２は、所定の視点から対象物ＯＢ上の点までの距離を検出する。例えば、制御部７は、測距部１２を制御し、測距部１２に検出処理を実行させる。なお、ステップＳ２の処理は、ステップＳ１の処理よりも先に実行されてもよいし、ステップＳ１の処理の少なくとも一部と並行して実行されてもよい。
【００５９】
ステップＳ３において、対象物データ生成部２１は、画素値および距離を組にした単位データを配列して対象物データＤｃ（図５（Ａ）参照）を生成する。ステップＳ４において、点群データ生成部２２は、ステップＳ４で対象物データ生成部２１が生成した対象物データＤｃを用いて、対象物ＯＢ上の点の位置情報（例、座標）を算出する。ステップＳ５において、点群データ生成部２２は、対象物ＯＢ上の点の位置情報を含む点データＦ（図５（Ｂ）、図５（Ｃ）参照）を配列して点群データＤｅを生成する。
【００６０】
［第２実施形態］
第２実施形態について説明する。本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。図８（Ａ）は、本実施形態に係る撮像装置１を示す図である。撮像装置１は、分類部２３およびメッシュ情報生成部２４を備える。図８（Ｂ）は、点群データＤｅの点データＦを対象物データＤｃに対応させて２次元的に配列した概念図である。分類部２３は、図８（Ｂ）に示すように、点群データＤｅに含まれる点データＦを、位置情報（例、点データＦの座標（Ｘ、Ｙ、Ｚ））に基づいて、複数のグループＧに分類する。図８（Ｂ）には、複数のグループＧとしてグループＧ１〜Ｇ５を代表的に示した。複数のグループＧは、それぞれ、１または２以上の点データＦを含む。グループＧ１は４行４列の１６点の点データＦを含む。グループＧ２およびグループＧ３は、それぞれ、２行２列の４点の点データＦを含む。グループＧ４およびグループＧ５は、それぞれ、１行１列の１点の点データＦを含む。
【００６１】
分類部２３は、例えば、点群データＤｅにふくまれる全ての点データＦがいずれかのグループに属するように、点データＦを分類する。分類部２３は、例えば、同じ面に含まれると推定される点データＦを同じグループに分類する。分類部２３は、例えば、検出部２の検出領域Ａ１において隣り合う部分（点、線、面）が同一面に含まれると推定される場合、これらの部分に対応する点データＦを同じグループに分類する。分類部２３は、例えば、異なる面に含まれると推定される点データＦを異なるグループに分類する。分類部２３は、例えば、検出部２の検出領域Ａ１において隣り合う部分（点、線、面）が互いに異なる面に含まれると推定される場合、これらの部分に対応する点データＦを互いに異なるグループに分類する。
【００６２】
図９は、本実施形態に係る分類部２３による処理の一例を示す図である。図９（Ａ）は、対象物ＯＢと所定の視点Ｖｐとの関係の一例を示す図である。図９（Ａ）において符号ＯＢ１、ＯＢ２は、それぞれ、対象物ＯＢ上の面である。図９（Ｂ）は、点群データＤｅを対象物ＯＢと関連付けて概念的に示す図である。分類部２３は、線Ｌｓ１に沿って、例えば、点群データＤｅに含まれる点データＦ（ｒ，ｓ）と隣の点データＦ（ｒ＋１，ｓ）との距離を、順に算出する。線Ｌｓ１は、点データＦ（０，ｓ１）と点データＦ（ｉ−１，ｓ１）とを結ぶ線であり、ｓ１は、０以上（ｊ−２）以下の整数である。
【００６３】
図９（Ｃ）は、点データＦ（ｒ，ｓ）のｒの値と線Ｌｓ１上の隣の点データＦと距離との関係を概念的に示す図である。ｒは、０以上（ｉ−２）以下の整数である。図９（Ｃ）の縦軸は、点データＦ（ｒ，ｓ）が示す座標（Ｘ（ｒ，ｓ），Ｙ（ｒ，ｓ），Ｚ（ｒ，ｓ））と、点データＦ（ｒ＋１，ｓ）が示す座標（Ｘ（ｒ＋１，ｓ），Ｙ（ｒ＋１，ｓ），Ｚ（ｒ＋１，ｓ））との距離（以下、点間距離という）である。
【００６４】
図９（Ｂ）の例では、点データＦ（０，ｓ１）から点データＦ（ｒ１，ｓ１）までの部分は、対象物ＯＢの背景の部分であり、点間距離が閾値よりも小さい。点データＦ（ｒ＋１，ｓ１）は、対象物ＯＢの面ＯＢ１の部分であり、点データＦ（ｒ１，ｓ１）と異なる面に配置される。点データＦ（ｒ１，ｓ１）の部分と点データＦ（ｒ＋１，ｓ１）の部分との間には、例えば段差があり、図９（Ｃ）に示すように、点データＦ（ｒ１，ｓ１）と点データＦ（ｒ＋１，ｓ１）との点間距離は、閾値よりも大きい。分類部２３は、例えば、第１の方向（ｒの方向）で隣り合う点データＦ（ｒ，ｓ）と隣の点データＦ（ｒ＋１，ｓ）との点間距離が閾値未満である場合、点データＦ（ｒ，ｓ）と点データＦ（ｒ＋１，ｓ）とを同じグループに分類する。また、分類部２３は、例えば、隣り合う点データＦ（ｒ，ｓ）と点データＦ（ｒ＋１，ｓ）との点間距離を閾値以上である場合、点データＦ（ｒ＋１，ｓ）を点データＦ（ｒ，ｓ）と別のグループに分類する。例えば、分類部２３は、点データＦ（０，ｓ１）から点データＦ（ｒ１，ｓ１）までをグループＧ６に分類し、点データＦ（ｒ＋１，ｓ１）から点データＦ（ｒ２，ｓ１）までをグループＧ６と異なるグループＧ７に分類する。同様に、分類部２３は、点データＦ（ｒ２＋１，ｓ１）から点データＦ（ｒ３，ｓ１）までをグループＧ８に分類し、点データＦ（ｒ３＋１，ｓ１）から点データＦ（ｉ−１，ｓ１）までをグループＧ９に分類する。
【００６５】
また、分類部２３は、線Ｌｓ１を第２の方向（ｓの方向）にシフトした線Ｌｓ２に沿って同様の処理を行う。また、線Ｌｓ２は、点データＦ（０，ｓ２）と点データＦ（ｉ−１，ｓ２）とを結ぶ線であり、ｓ２は例えば（ｓ１＋１）である。分類部２３は、例えば、点データＦ（ｒ１＋１，ｓ２）について、線Ｌｓ２上の隣の点データＦ（ｒ１＋２，ｓ２）との点間距離を閾値と比較する処理を行い、またｓの方向の隣の点データＦ（ｒ１＋１，ｓ１）との点間距離を閾値と比較する処理を行う。分類部２３は、点データＦ（ｒ１＋１，ｓ２）と点データＦ（ｒ１＋１，ｓ１）との点間距離を閾値と比較することによって、点データＦ（ｒ１＋１，ｓ２）をグループＧ７に分類するか否かを判定する。分類部２３は、ｒ、ｓの値を順に変化させながら上述の処理を繰り返し行って、点群データＤｅに含まれる点データＦを複数のグループＧに分類する。分類部２３は、例えば、グループの情報として、複数のグループＧを区別する情報と各グループに属する点データＦとを関連付ける情報を生成する。分類部２３は、例えば、生成したグループの情報を記憶部５に記憶させる。
【００６６】
なお、図９の処理は一例であり、分類部２３は、他の処理によって点群データＤｅに含まれる点データＦを複数のグループＧに分類してもよい。例えば、分類部２３は、図６で説明したメッシュ情報を用いて、隣り合うメッシュＭが同一面上に存在するか否かを判定し、同一面上に存在するメッシュＭを同じグループに分類し、異なる面上に存在するメッシュＭを異なるグループに分類してもよい。隣り合うメッシュＭが同一面上に存在するか否かの判定処理は、例えば、隣り合うメッシュＭで法線方向を比較することなどで可能である。
【００６７】
図１０は、複数のグループおよびメッシュ情報を示す概念図である。分類部２３は、グループの点データＦの配列に応じて、複数のグループＧを複数の階層に分類する。各グループに属する点データＦの配列は、点データＦに対応する対象物データＤｃの単位データＥ（図５（Ａ）参照）の配列でもよい。また、複数のグループＧの少なくとも１つは、撮像画像Ｉｍ１（図３参照）において連続する画素Ｐに関する点データＦが属するグループでもよく、各グループに属する点データＦの配列は、撮像画像Ｉｍ１において点データＦに対応する画素の配列でもよい。
【００６８】
分類部２３は、例えば、属する点データＦの配列（ｉの方向のサイズ、ｊの方向のサイズ）が同じグループを同じ階層に分類し、属する点データＦの配列が異なるグループを異なる階層に分類する。例えば、図１０（Ａ）において、グループＧ４およびグループＧ５は、属する点データＦが１行１列であり、分類部２３は、このようなグループをレベル１（データレベル１）の階層に分類する。例えば、グループＧ２およびグループＧ３は、属する点データＦが２行２列であり、分類部２３は、このようなグループをレベル２の階層に分類する。例えば、グループＧ１は、属する点データＦが４行４列であり、分類部２３は、このようなグループをレベル３の階層に分類する。複数のグループＧのうち、各グループＧに属する点データＦの数は、階層が異なるグループで異なる。例えば、複数のグループＧのうち、レベル１の階層のグループＧ４に属する点データＦの数は１つであり、レベル２にグループＧ２に属する点データＦの数は４である。なお、複数のグループＧは、属する点データＦの数が同じ且つ階層が異なるグループを含んでもよい。例えば、１行４列の点データＦが属するグループと、２行２列の点データＦが属するグループは、属する点データＦの数が同じ（４つ）であるが、配列の違いにより階層を分けてもよい。
【００６９】
分類部２３が分類したグループＧの情報は、例えば、メッシュＭを定義することに利用される。例えば、メッシュＭは、グループＧごとに定義されてもよく、グループＧと１対１の対応で定義されてもよい。メッシュ情報生成部２４（図８参照）は、図１０（Ｂ）に示すようなメッシュ要素Ｈが配列されたメッシュ情報Ｄｆを生成する。メッシュ情報Ｄｆは、例えばメッシュを定義する情報である。メッシュ情報Ｄｆは、例えば、設定情報Ｄｆ１およびメッシュ要素構造体Ｄｆ２を含む。
【００７０】
設定情報Ｄｆ１は、例えば、ヘッダ情報であり、メッシュ情報Ｄｆが画像処理装置等に読み込まれる際に、メッシュ情報Ｄｆのうち最初に読み込まれる。設定情報Ｄｆ１は、各レベルの階層に関する階層情報（図中「Ｒａｎｇｅ」で示す）を含む。階層情報は、例えば、各レベルの階層のグループに属する点データＦの配列を示す情報を含む。点データの配列は、例えば、点データをＦ（ｘ，ｙ）で表した際のｘの範囲およびｙの範囲の組み（例、ｙ行ｘ列）で表される。
【００７１】
例えば、「Ｌ１，１，１」は、レベル１の階層の階層情報である。「Ｌ１」は階層のレベルを示すデータであり、例えば、予め定められたビット数で表される固定長データである。また、「Ｌ１」に続く「１，１」は、「Ｌ１」で表されるレベルの階層のグループに属する点データＦの配列を示す配列情報であり、例えば、レベル１の階層の配列情報は、ｘの範囲（列数）が１、ｙの範囲（行数）が１（１行１列）であることを示す。「Ｌ２，２，２」は、レベル２の階層の階層情報であり、例えば、レベル２の階層の配列情報は、ｘの範囲（列数）が２、ｙの範囲（行数）が２（２行２列）であることを示す。「Ｌ３，４，４」は、レベル３の階層の階層情報であり、例えば、レベル３の階層の配列情報は、ｘの範囲（列数）が４、ｙの範囲（行数）が４（４行４列）であることを示す。ここでは階層の数が３であるものとして説明するが、階層の数は、１つでもよいし、２以上や４以上の任意の数字でもよい。また、各レベルの階層のグループに属する点データＦの配列のｘの範囲およびｙの範囲は、それぞれ、任意の値に予め設定される。
【００７２】
メッシュ要素構造体Ｄｆ２は、複数のメッシュ要素Ｈがシリアルに配列された構造である。メッシュ要素Ｈは、例えば、メッシュＭを構成する点データＦと、この点データＦが属するグループの情報（例、グループの階層のレベル）とを組にしたデータである。ここでは、点データＦ（ｘ，ｙ）に対応するメッシュ要素を符号Ｈ（ｘ，ｙ）で表す。例えば、メッシュ要素Ｈ（０，０）は、点データＦ（０，０）と対応し、図１０（Ａ）ではグループＧ１に属している。グループＧ１はレベル３（４行４列）の階層であり、メッシュ要素Ｈ（０，０）は、例えば、点データＦ（０，０）が属するグループＧ１の階層のレベルを示すフラグ「Ｌ３」と、点データＦ（０，０）の座標を示すＸ（０，０）、Ｙ（０，０）、Ｚ（０，０）とを並べた構造である。各メッシュ要素Ｈにおいて、グループの情報（例、階層のレベルを示すフラグ「Ｌ３」）は、例えば、座標（Ｘ、Ｙ、Ｚ）よりも前に配列される。各メッシュ要素Ｈにおいて、グループの情報（例、階層のレベルを示すフラグ「Ｌ３」）は、例えば、座標（Ｘ、Ｙ、Ｚ）よりも先に読み出される。
【００７３】
図１０（Ａ）では、点データＦ（０，０）から点データＦ（３，０）までがレベル３の階層のグループＧ１であり、これら点データＦに対応するメッシュ要素Ｈ（０，０）からメッシュ要素Ｈ（３，０）にはレベル３を示すフラグ「Ｌ３」が付される。同様に、点データＦ（４，０）および点データＦ（５，０）はレベル２の階層のグループＧ２であり、メッシュ要素Ｈ（４，０）およびメッシュ要素Ｈ（５，０）にはレベル２を示すフラグ「Ｌ２」が付される。メッシュ要素構造体Ｄｆ２においてメッシュ情報Ｄｆは、例えば、シーケンシャルアクセスによって読み出される。メッシュ情報Ｄｆを利用する装置は、例えば、メッシュ要素Ｈ（０，０）が読み出された際に、そのフラグ「Ｌ３」を設定情報Ｄｆ１と照合し、メッシュ要素（０，０）が属するグループは４行４列のメッシュ要素Ｈを含むことを判別することができる。例えば、この装置は、例えば、メッシュ要素Ｈ（０，０）からメッシュ要素Ｈ（３，０）が同じグループＧ１（メッシュ）に属することを判別することができる。例えば、この装置は、メッシュ要素Ｈ（０，０）が読み出された段階で、メッシュ要素Ｈ（０，０）に続いて読み出される３つのメッシュ要素Ｈがメッシュ要素Ｈ（０，０）と同じグループＧ１に属することを判別することができる。また、この装置は、例えば、メッシュ要素（３，０）の次に読み出されるメッシュ要素（４，０）がメッシュ要素（３，０）と異なるグループＧ２に属することを判別することができる。なお、メッシュ情報Ｄｆは、例えば、ランダムアクセスによって読み出されてもよい。
【００７４】
図８の説明に戻り、メッシュ情報生成部２４は、例えば、記憶部５から点群データＤｅおよびグループの情報を取得し、点群データＤｅおよびグループの情報を用いてメッシュ情報Ｄｆを生成する。例えば、メッシュ情報生成部２４は、点群データＤｅの点データＦをシーケンシャルアクセスによって読み出し、点データＦにグループの情報の情報（例、フラグ「Ｌ１」〜「Ｌ３」）を付加してメッシュ要素Ｈを生成する。メッシュ情報生成部２４は、例えば、生成したメッシュ要素Ｈを、対応する点データＦが読み出された順（例、第１の並び順）にメッシュ要素構造体Ｄｆ２に格納して、メッシュ情報Ｄｆを生成する。メッシュ情報生成部２４は、例えば、生成したメッシュ情報Ｄｆを記憶部５（図１参照）に記憶させる。
【００７５】
情報算出部４は、点群データＤｅと、点群データＤｅに基づいて生成されるデータとの一方または双方を用いて、対象物ＯＢの形状情報とテクスチャ情報との少なくとも一方を含むモデル情報を算出する。例えば、情報算出部４は、メッシュ情報生成部２４が生成したメッシュ情報Ｄｆを用いて、対象物ＯＢの形状情報を算出する。例えば、情報算出部４は、例えば、メッシュ情報Ｄｆのメッシュ要素Ｈをシーケンシャルアクセスによって読み出し、対象物ＯＢの形状情報を算出する。情報算出部４は、例えば、メッシュ情報Ｄｆに定められる各グループを用いて対象物ＯＢ上の面の情報を生成する。例えば、情報算出部４は、１つのグループに属する複数のメッシュ要素Ｈを用いて、面の輪郭に相当する線（外周線）の情報を生成する。この線の情報は、例えば、端点に相当する点の座標を含む。また、情報算出部４は、例えば、１つの面の外周線に相当する複数の線の情報を関連付けることで、１つの面に関する面の情報を生成する。また、情報算出部４は、例えば、面の情報として、各面の法線方向を示す情報を生成する。情報算出部４は、例えば、面の情報として、面の複数の頂点の座標を関連付けた情報を生成してもよい。実施形態に係るメッシュ情報Ｄｆは、例えば、メッシュ要素Ｈの並ぶ順番、あるいはメッシュ要素Ｈが読み出される順番をインデックスの代わりに用いることができる。実施形態に係るメッシュ情報Ｄｆは、例えば、上記のインデックスを省くこと（インデックスレスなデータ構造にすること）ができ、データ量を低減することができる。例えば、メッシュ情報Ｄｆをインデックスレスなデータ構造にする場合、インデックスに由来するメモリアクセス（例、ＣＰＵの外部へのメモリアクセス）を減らすことができ、撮像装置１（例、情報算出部４）の処理を高速化することができる。また、例えば、メッシュ情報Ｄｆをインデックスレスなデータ構造にする場合、インデックスを介してデータのアドレス位置を計算する処理などのインデックスに関わる演算処理を削減することができ、撮像装置１（例、情報算出部４）の負荷を減らすことができる。
【００７６】
［第３実施形態］
第３実施形態について説明する。本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。撮像装置１は、テクスチャ情報を生成するテクスチャ情報生成部２５を備える。テクスチャ情報生成部２５は、例えば、第２実施形態で説明したグループの情報を用いて、テクスチャ情報を生成する。例えば、テクスチャ情報生成部２５は、グループの情報を含むメッシュ情報Ｄｆを用いて、テクスチャ情報を生成する。
【００７７】
図１２に示すように、メッシュ情報Ｄｆは、設定情報Ｄｆ１を含み、設定情報Ｄｆ１は、各レベルの階層のグループＧに属する点データＦの配列情報（図中「Ｒａｎｇｅ」）を含む。「Ｌｋ，ｉｋ，ｊｋ」は、レベルがｋの配列情報であり、「Ｌｋ」は、階層のレベルであり、「ｉｋ」は、レベルがｋの階層のグループに属する点データＦの配列において第１の方向に並ぶ点データＦの数であり、「ｊｋ」は、レベルがｋの階層のグループに属する点データＦの配列において第２の方向に並ぶ点データＦの数である。例えば、「Ｌｋ」が５であり、「ｉｋ」が２であり、「ｊｋ」が３である場合、この配列情報は、レベル５の階層のグループＧに属する点データＦが３行２列であることを示す。メッシュ情報Ｄｆのメッシュ要素構造体Ｄｆ２は、複数のメッシュ要素Ｈが配列された構造である。ここでは、点群データＤｅの点データＦ（ｘ，ｙ）に対応するメッシュ要素を符号Ｈ（ｘ，ｙ）で表す。メッシュ要素Ｈ（ｘ，ｙ）において、Ｌ（ｘ，ｙ）は、このメッシュ要素Ｈが属するグループの階層のレベルであり、Ｌ１からＬｋのいずれかが割り付けられる。
【００７８】
また、テクスチャ情報Ｄｇは、設定情報Ｄｇ１およびテクスチャ要素構造体Ｄｇ２を含む。テクスチャ要素構造体Ｄｇ２は、複数のテクスチャ要素Ｋがシリアルに配列された構造である。テクスチャ要素Ｋは、例えば、メッシュ情報Ｄｆのメッシュ要素Ｈと１対１の対応で配置される。ここでは、メッシュ要素Ｈ（ｘ，ｙ）に対応するテクスチャ要素Ｋを符号Ｋ（ｘ，ｙ）で表す。テクスチャ要素Ｋは、上述の第１の並び順で配列されている。例えば、テクスチャ要素Ｋは、メッシュ情報Ｄｆにおけるメッシュ要素Ｈの並び順を保持して、配列されている。なお、メッシュ情報Ｄｆにおいてメッシュ情報Ｄｆは、点群データＤｅにおける点データＦの並び順を保持して配列されており、テクスチャ要素Ｋは、点群データＤｅにおける点データＦの並び順を保持して配列されている。
【００７９】
テクスチャ要素Ｋは、テクスチャ要素Ｋが属するグループの階層のレベルＬ（ｘ，ｙ）と、テクスチャ要素Ｋに対応する画素値（Ｂ、Ｇ、Ｒ）とが順に並ぶ構造である。各テクスチャ要素Ｋにおいて、グループの情報（例、Ｌ（ｘ，ｙ））は、例えば、画素値（Ｂ、Ｇ、Ｒ）よりも前に配列される。各テクスチャ要素Ｋにおいて、グループの情報（例、Ｌ（ｘ，ｙ））は、例えば、画素値（Ｂ、Ｇ、Ｒ）よりも先に読み出される。画素値（Ｂ、Ｇ、Ｒ）は、図５（Ｂ）で説明したように、検出部２の検出領域Ａ１において点データＦに相当する部分の画素値である。例えば、画素値Ｂ（０，０）、緑の画素値Ｇ（０，０）、赤の画素値Ｒ（０，０）は、それぞれ、撮像画像Ｉｍ１において点データＦ（０，０）に対応する画素の画素値である。
【００８０】
また、設定情報Ｄｇ１は、メッシュ情報Ｄｆの設定情報Ｄｆ１と同様に、メッシュ要素Ｈの配列を示す配列情報（図中「Ｗｉｄｔｈ」、「Ｈｅｉｇｈｔ」）、及び各レベルの階層のグループに属する点データＦの配列情報（図中「Ｒａｎｇｅ」）を含む。テクスチャ情報生成部２５は、例えば、図５（Ｂ）の点群データＤｅ、及び分類部２３が生成したグループＧの情報を用いて、テクスチャ情報Ｄｇを生成する。例えば、テクスチャ情報生成部２５は、図５（Ｂ）の点群データＤｅの点データＦをシーケンシャルアクセスによって読み出し、点データＦから画素値を抽出する。テクスチャ情報生成部２５は、例えば、抽出した画素値に、点データＦの属するグループＧの階層のレベル（Ｌｋ）を付して、テクスチャ要素Ｋを生成する。テクスチャ情報生成部２５は、点データＦが読み出された順に、この点データＦに対応するテクスチャ要素Ｋをテクスチャ要素構造体Ｄｇ２に格納して、テクスチャ情報Ｄｇを生成する。テクスチャ情報生成部２５は、例えば、生成したテクスチャ情報Ｄｇを記憶部５（図１１参照）に記憶させる。情報算出部４は、テクスチャ情報生成部２５が生成したテクスチャ情報Ｄｇを処理（例、加工、再構成）してもよい。例えば、情報算出部４は、テクスチャ情報Ｄｇのテクスチャ要素Ｋをシーケンシャルアクセスによって読み出し、グループごとの情報に再構成してもよい。
【００８１】
上述の実施形態において、画像処理部３（画像処理装置）は、例えばコンピュータシステムを含む。画像処理部３は、記憶部５に記憶されている画像処理プログラムを読み出し、この画像処理プログラムに従って各種の処理を実行する。この画像処理プログラムは、例えば、コンピュータに、対象物を所定の視点から撮像した撮像画像と、所定の視点から対象物上の点までの距離の測定結果とを用いて、撮像画像の画素値、及び画素値に対応する対象物上の点から所定の視点までの距離とを組にした単位データが第１の並び順で配列された対象物データを生成することと、対象物データに基づいて対象物上の点の位置情報を算出し、位置情報を点データを第１の並び順で配列して点群データを生成することと、を実行させる。この画像処理プログラムは、コンピュータ読み取り可能な記憶媒体に記録されて提供されてもよい。また、画像処理部３は、デジタルシグナルプロセッサ（ＤＳＰ）を含んでもよいし、ＡＳＩＣ（Application Specific Integrated Circuit）を含んでもよい。
【００８２】
［第４実施形態］
第４実施形態について説明する。本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。図１３は、実施形態に係る撮像装置１を適用した撮像システム５０の一例を示す図である。撮像システム５０は、撮像装置１と、撮像装置１から出力される情報を処理する情報処理装置５１と、を備える。情報処理装置５１には、例えば、入力装置５２および表示装置５３が設けられる。
【００８３】
撮像装置１は、図５などに示したように、第１の並び順（所定の並び順）で点データＦが配列された点群データＤｅを生成する。撮像装置１は、例えば、点群データＤｅを用いた処理を行って、対象物ＯＢの形状情報（例、メッシュ情報、サーフェス情報）を生成する。また、例えば、撮像装置１は、例えば、対象物ＯＢのテクスチャ情報を生成する。撮像装置１は、点群データＤｅにおいて点データＦが第１の並び順に配列されているので、例えばシーケンシャルアクセスによって点群データＤｅを容易に処理することができる。点群データＤｅにおいて点データＦが第１の並び順に配列されている場合、例えば、撮像装置１は、点群データＤｅを用いた処理の負荷を減らすことができる。例えば、撮像装置１は、点群データＤｅを用いた処理の負荷を減らすことができるので、持ち運び可能なレベルに小型化することが可能である。撮像装置１は、例えば、対象物ＯＢの形状情報とテクスチャ情報との少なくとも一部を含むモデル情報を外部へ送信（出力）する。
【００８４】
情報処理装置５１は、撮像装置１との間の通信により、撮像装置１から情報を取得する。情報処理装置５１は、例えば、撮像装置１から取得した情報（例、モデル情報）を使って、レンダリング処理を実行する。例えば、情報処理装置５１は、ユーザにより入力装置５２に入力された視点の設定情報を元に、この視点から対象物ＯＢを見た推定画像のデータを算出する。情報処理装置５１は、例えば、推定画像のデータを表示装置５３に供給し、表示装置５３に推定画像を表示させる。
【００８５】
入力装置５２は、例えば、キーボード、マウス、タッチパネル、加速度センサなどのセンサ、音声入力機、タッチ型ペンなどの少なくとも一つを含む。入力装置５２は、情報処理装置５１と接続される。入力装置５２は、例えばユーザから情報の入力を受け付け、入力された情報を情報処理装置５１に供給する。表示装置５３は、例えば、液晶ディスプレイ又はタッチパネル型ディスプレイを含み、情報処理装置５１と接続されている。表示装置５３は、例えば、情報処理装置５１から供給される画像データにより、画像（例、レンダリング処理による推定画像）を表示する。
【００８６】
図１４は、本実施形態に係る撮像システム５０の一例を示すブロック図である。情報処理装置５１は、通信部５５、記憶部５６、レンダリング処理部５７、及び制御部５８を備える。通信部５５は、例えば、ＵＳＢポート、ネットワークカード、電波または赤外線の無線通信を行う通信器のうち少なくとも一つを含む。通信部５５は、撮像装置１の通信部６と通信可能である。
【００８７】
記憶部５６は、例えば、ＵＳＢメモリなどの取り外し可能な記憶媒体、外付け型あるいは内蔵型のハードディスクなどの大容量記憶装置を含む。記憶部５６は、例えば、通信部５５を介して受信した情報の少なくとも一部のデータ、撮像装置１を制御する撮像制御プログラム、情報処理装置５１の各処理を実行させる処理プログラム、などを記憶する。
【００８８】
レンダリング処理部５７は、例えば、グラフィックス  プロセッシング  ユニット（Graphics Processing Unit; GPU）を含む。なお、レンダリング処理部５７は、ＣＰＵおよびメモリが画像処理プログラムに従って各処理を実行する態様でもよい。レンダリング処理部５７は、例えば、描画処理、テクスチャマッピング処理、シェーディング処理の少なくとも一つの処理を行う。
【００８９】
レンダリング処理部５７は、描画処理において、例えば、モデル情報の形状情報に定められた形状を任意の視点から見た推定画像（例、再構築画像）を算出できる。以下の説明において、形状情報が示す形状をモデル形状という。レンダリング処理部５７は、例えば、描画処理によって、モデル情報（例、形状情報）からモデル形状（例、推定画像）を再構成できる。レンダリング処理部５７は、例えば、算出した推定画像のデータを記憶部５６に記憶させる。また、レンダリング処理部５７は、テクスチャマッピング処理において、例えば、推定画像上の物体の表面に、モデル情報のテクスチャ情報が示す画像を貼り付けた推定画像を算出できる。レンダリング処理部５７は、推定画像上の物体の表面に、対象物ＯＢと別のテクスチャを貼り付けた推定画像を算出することもできる。レンダリング処理部５７は、シェーディング処理において、例えば、モデル情報の光源情報が示す光源により形成される陰影を推定画像上の物体に付加した推定画像を算出できる。また、レンダリング処理部５７は、シェーディング処理において、例えば、任意の光源により形成される陰影を推定画像上の物体に付加した推定画像を算出できる。
【００９０】
制御部５８は、例えば、情報処理装置５１の各部、撮像装置１、入力装置５２、及び表示装置５３を制御する。制御部５８は、例えば、通信部５５を制御し、撮像装置１に指令（制御信号）や設定情報を送信させる。制御部５８は、例えば、通信部５５が撮像装置１から受信した情報を、記憶部５６に記憶させる。制御部５８は、例えば、レンダリング処理部５７を制御し、レンダリング処理を実行させる。
【００９１】
なお、撮像システム５０は、入力装置５２を備えなくてもよい。例えば、撮像システム５０は、各種の指令、情報が通信部６を介して入力される形態でもよい。また、撮像システム５０は、表示装置５３を備えなくてもよい。例えば、撮像システム５０は、レンダリング処理により生成された推定画像のデータを外部の表示装置へ出力し、この表示装置が推定画像を表示してもよい。
【００９２】
［第５実施形態］
第５実施形態について説明する。本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。図１５は、実施形態に係る撮像装置１を適用した撮像システム５０を示す図である。撮像システム５０は、複数の撮像装置（第１撮像装置１ａ、第２撮像装置１ｂ）と、複数の撮像装置から出力される情報を処理する情報処理装置５１とを備える。例えば、第１撮像装置１ａは、上述したように、単位データＥを第１の並び順で配列して対象物データＤｃを生成する。また、例えば、第２撮像装置１ｂは、上述した実施形態と同様に、単位データＥを第２の並び順で配列して対象物データＤｃを生成する。例えば、第２の並び順は、上記の第１の並び順と同じ順番、又は異なる順番である。
【００９３】
情報処理装置５１は、第１撮像装置１ａとの間の通信により、第１撮像装置１ａから情報（例、モデル情報）を取得する。情報処理装置５１は、第２撮像装置１ｂとの間の通信により、第２撮像装置１ｂから情報（例、モデル情報）を取得する。情報処理装置５１は、第１撮像装置１ａから取得した情報、及び第２撮像装置１ｂから取得した情報を使って、情報処理を行う。例えば、第１撮像装置１ａおよび第２撮像装置１ｂは、それぞれ、自装置の視点（１視点、単一視点、１方向）から見た対象物ＯＢを表すモデル情報を、情報処理装置５１に供給する。情報処理装置５１は、第１撮像装置１ａの視点から見た対象物ＯＢを表す第１モデル情報と、第２撮像装置１ｂの視点から見た対象物を表す第２モデル情報とを統合するモデル統合処理を行う。
【００９４】
図１６は、本実施形態に係る撮像システム５０を示すブロック図である。第１撮像装置１ａおよび第２撮像装置１ｂは、それぞれ、例えば図１に示した撮像装置１と同様の構成である。情報処理装置５１は、モデル統合処理を行うモデル統合部５９を備える。モデル統合部５９は、例えば、第１撮像装置１ａからの第１モデル情報が示す形状から特徴点を抽出する。また、モデル統合部５９は、第２撮像装置１ｂからの第２モデル情報が示す形状から特徴点を抽出する。特徴点は、各モデル情報が示す形状のうち他の部分と識別可能な部分である。例えば、サーフェス情報において面に定義されている部分は、その外周の形状などにより、他の面と識別可能である。例えば、モデル統合部５９は、各モデル情報に含まれる形状情報とテクスチャ情報とのうち少なくとも一方を使って特徴点を抽出する。また、モデル統合部５９は、例えば、第１モデル情報と第２モデル情報とで特徴点をマッチングし、第１モデル情報と第２モデル情報とで共通する特徴点を検出する。また、モデル統合部５９は、第１モデル情報と第２モデル情報とで共通する特徴点を用いて、第１モデル情報が示す形状と第２モデル情報が示す形状との相対位置、相対姿勢を算出し、第１モデル情報と第２モデル情報とを統合する。
【００９５】
なお、モデル統合部５９が第１モデル情報と第２モデル情報とを統合する手法は、上述の例に限定されない。例えば、モデル統合部５９は、第１撮像装置１ａと第２撮像装置１ｂとの相対的な位置および相対的な姿勢を用いて、モデル統合処理を行ってもよい。また、モデル統合部５９は、第１撮像装置１ａの視点と第２撮像装置１ｂの視点との相対的な位置、及び第１撮像装置１ａの視点の向き（視線）と第２撮像装置１ｂの視点の向き（視線）との関係を用いて、モデル統合処理を行ってもよい。また、情報処理装置５１は、モデル統合部５９を備え、レンダリング処理部５７を備えなくてもよい。例えば、情報処理装置５１は、モデル統合処理の結果を外部装置へ出力し、この外部装置に設けられるレンダリング処理部がレンダリング処理を実行してもよい。また、情報処理装置５１は、撮像装置１から出力された情報を記憶するデータベースを含んでもよい。
【００９６】
なお、本発明の技術範囲は、上述の実施形態などで説明した態様に限定されるものではない。上述の実施形態などで説明した要件の１つ以上は、省略されることがある。また、上述の実施形態などで説明した要件は、適宜組み合わせることができる。また、法令で許容される限りにおいて、上述の実施形態などで引用した全ての文献の開示を援用して本文の記載の一部とする。
【符号の説明】
【００９７】
１、１ａ、１ｂ・・・撮像装置、２・・・検出部、３・・・画像処理部（画像処理装置）、４・・・情報算出部、８・・・本体部、１１・・・撮像部、１２・・・測距部、２１・・・対象物データ生成部、２２・・・点群データ生成部、２３・・・分類部、２４・・・メッシュ情報生成部、２５・・・テクスチャ情報生成部、Ｅ・・・単位データ、Ｆ・・・点データ、Ｇ・・・グループ、Ｈ・・・メッシュ要素、Ｋ・・・テクスチャ要素、Ｄｃ・・・対象物データ、Ｄｅ・・・点群データ、Ｄｆ・・・メッシュ情報、Ｄｇ・・・テクスチャ情報、Ｍ、Ｍ１、Ｍ２・・・メッシュ、ＯＢ・・・対象物
【図１】
2017154705.tif 000003
【図２】
2017154705.tif 000004
【図３】
2017154705.tif 000005
【図４】
2017154705.tif 000006
【図５】
2017154705.tif 000007
【図６】
2017154705.tif 000008
【図７】
2017154705.tif 000009
【図８】
2017154705.tif 000010
【図９】
2017154705.tif 000011
【図１０】
2017154705.tif 000012
【図１１】
2017154705.tif 000013
【図１２】
2017154705.tif 000014
【図１３】
2017154705.tif 000015
【図１４】
2017154705.tif 000016
【図１５】
2017154705.tif 000017
【図１６】
2017154705.tif 000018
【国際調査報告】
2017154705.tif 000019
2017154705.tif 000020
2017154705.tif 000021
2017154705.tif 000022