(57)【要約】  要約書三次元形状データおよびテクスチャ情報生成装置４は、被写体上における測距対象点を含む一部領域にカメラ１のピントが合った状態で、カメラ１の位置から測距対象点までの距離を測距センサ２に計測させ、計測された距離または計測された距離から計算される距離を被写界深度の範囲内に保ちながら一部領域が順次変更されるように被写体とカメラ１との少なくとも何れか一方を駆動装置３により駆動させ、被写体の各一部領域をカメラ１に撮影させることで上記一部領域毎の画像を取得し、取得された画像に基づいて前記被写体の三次元形状データおよびテクスチャ情報を生成する。
2017146202.tif 000002
【特許請求の範囲】
【請求項１】
被写体を一部領域毎に撮影する撮影手段と、前記撮影手段の位置から測距対象点までの距離を計測する測距手段と、前記被写体と前記撮影手段との少なくとも何れか一方を駆動する駆動手段と、前記撮影手段、前記測距手段、及び前記駆動手段を制御する制御手段と、前記撮影手段により撮影された前記一部領域毎の画像に基づいて前記被写体の三次元形状データおよびテクスチャ情報を生成する生成手段と、を備える三次元形状データおよびテクスチャ情報生成システムであって、
前記制御手段は、
前記被写体上における測距対象点を含む前記一部領域に前記撮影手段のピントが合った状態で、前記撮影手段の位置から前記測距対象点までの距離を前記測距手段に計測させ、
前記計測された距離または計測された距離から計算される距離を被写界深度の範囲内に保ちながら前記一部領域が順次変更されるように前記被写体と前記撮影手段との少なくとも何れか一方を前記駆動手段により駆動させ、
前記被写体の各前記一部領域を前記撮影手段に撮影させることで前記一部領域毎の画像を取得することを特徴とする三次元形状データおよびテクスチャ情報生成システム。
【請求項２】
前記制御手段は、前記距離を被写界深度の範囲内に保ちながら、変更される前記一部領域と、当該変更される一部領域に隣接する一部領域とがオーバーラップするように前記被写体と前記撮影手段との少なくとも何れか一方を前記駆動手段により駆動させることを特徴とする請求項１に記載の三次元形状データおよびテクスチャ情報生成システム。
【請求項３】
前記制御手段は、前記被写体を構成する同一の箇所が複数回撮影されるように、前記被写体と前記撮影手段との少なくとも何れか一方を前記駆動手段により駆動させることを特徴とする請求項２に記載の三次元形状データおよびテクスチャ情報生成システム。
【請求項４】
前記駆動手段は、前記被写体が設置されるターンテーブルを備えており、
前記制御手段は、前記一部領域が順次変更されるように前記ターンテーブルを駆動させることを特徴とする請求項１乃至３の何れか一項に記載の三次元形状データおよびテクスチャ情報生成システム。
【請求項５】
前記撮影手段及び前記測距手段は、前記測距対象点からの距離を変更可能なスライダに取り付けられており、
前記制御手段は、前記計測された距離が被写界深度の範囲内に保たれるように前記スライダを駆動させることを特徴とする請求項１乃至４の何れか一項に記載の三次元形状データおよびテクスチャ情報生成システム。
【請求項６】
前記撮影手段及び前記測距手段は、前記測距対象点に対する前記撮影手段及び前記測距手段の位置と姿勢との少なくとも何れか一方を変更可能なロボットアームに取り付けられており、
前記制御手段は、前記計測された距離または計測された距離から計算される距離を被写界深度の範囲内に保ちながら前記一部領域が順次変更されるように前記ロボットアームを駆動させることを特徴とする請求項１乃至３の何れか一項に記載の三次元形状データおよびテクスチャ情報生成システム。
【請求項７】
前記撮影手段のレンズは、マクロレンズであることを特徴とする請求項１乃至６の何れか一項に記載の三次元形状データおよびテクスチャ情報生成システム。
【請求項８】
被写体を一部領域毎に撮影するカメラと、
前記カメラの位置から測距対象点までの距離を計測する測距センサと、
前記被写体と前記カメラとの少なくとも何れか一方を駆動する駆動装置と、
前記カメラ、前記測距センサ、及び前記駆動装置を制御するコントローラと、
を備え、
前記コントローラは、前記被写体上における測距対象点を含む前記一部領域に前記カメラのピントが合った状態で、前記カメラの位置から前記測距対象点までの距離を前記測距センサに計測させ、前記計測された距離または計測された距離から計算される距離を被写界深度の範囲内に保ちながら前記一部領域が順次変更されるように前記被写体と前記カメラとの少なくとも何れか一方を前記駆動装置により駆動させ、前記被写体の各前記一部領域を前記カメラに撮影させ、
前記カメラにより撮影された前記一部領域毎の画像に基づいて前記被写体の三次元形状データおよびテクスチャ情報を生成する生成処理を実行するプロセッサを、
さらに備えることを特徴とする三次元形状データおよびテクスチャ情報生成システム。
【請求項９】
被写体を一部領域毎に撮影する撮影手段と、前記撮影手段の位置から測距対象点までの距離を計測する測距手段と、前記被写体と前記撮影手段との少なくとも何れか一方を駆動する駆動手段と、前記撮影手段、前記測距手段、及び前記駆動手段を制御する制御手段と、前記撮影手段により撮影された前記一部領域毎の画像に基づいて前記被写体の三次元形状データおよびテクスチャ情報を生成する生成手段と、を備える三次元形状データおよびテクスチャ情報生成システムにおける前記制御手段に含まれるコンピュータに、
前記被写体上における測距対象点を含む前記一部領域に前記撮影手段のピントが合った状態で、前記撮影手段の位置から前記測距対象点までの距離を前記測距手段に計測させるステップと、
前記計測された距離または計測された距離から計算される距離を被写界深度の範囲内に保ちながら前記一部領域が順次変更されるように前記被写体と前記撮影手段との少なくとも何れか一方を前記駆動手段に駆動させるステップと、
前記被写体の各前記一部領域を前記撮影手段に撮影させることで前記一部領域毎の画像を取得するステップと、
を実行させることを特徴とする撮影制御プログラム。
【請求項１０】
被写体上における測距対象点を含む一部領域にカメラのピントが合った状態で、前記カメラの位置から前記測距対象点までの距離を、測距センサにより計測するステップと、
前記計測された距離または計測された距離から計算される距離を被写界深度の範囲内に保ちながら前記一部領域が順次変更されるように前記被写体と前記カメラとの少なくとも何れか一方を、駆動装置により駆動させるステップと、
前記一部領域が順次変更される過程において、前記被写体の各前記一部領域を前記カメラに撮影させるステップと、
前記カメラにより撮影された前記一部領域毎の画像に基づいて前記被写体の三次元形状データおよびテクスチャ情報をプロセッサにより生成するステップと、
を含むことを特徴とする三次元形状データおよびテクスチャ情報生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体の三次元形状およびテクスチャ情報を取得するシステム等の技術分野に関する。
【背景技術】
【０００２】
従来から、被写体の三次元形状を取得するツールは様々なものが提案されているが、その全てが一定の条件下での機能に限定されている。従来は、作業者がその条件を満たすように撮影環境や方法を調整しているが、位置や向きの高精度な制御ができないため、取得されたデータの結合処理などで計算時間が長くなったり、位置合わせの結果精度が低いなどの問題が発生している。また、一度デジタル化されたデータから、撮影条件に起因するボケやノイズなどを除去することが困難であり、データ整備工程の長大化につながっている。また、被写体の三次元形状と形状表面の模様の双方が表現された被写体のデジタルデータでは、表面の模様を表現するテクスチャ情報は形状情報よりも高精細なデータとなることが多く、より精細な画像を撮影することが要求されてきている。【０００３】
一方、特許文献１には、持運びできる可搬式三次元形状計測装置において、素早く高精度の三次元形状データが得られるようにする可搬式三次元形状計測装置が開示されている。この可搬式三次元形状計測装置では、基部に立設された関節アームの先端部に、形状センサとして三次元形状を検知し得る三次元形状センサを取付け、三次元形状センサを計測対象物の計測領域に向けて三次元位置及び姿勢を調整して非接触状態で対面させ、三次元形状センサの静止状態で、形状センサから面走査により計測対象物の三次元形状データが出力されるようになっている。特許文献２には、複数の画像から三次元形状データを生成する手法が示されている。この手法を用いると、画像を撮影したカメラの位置と向きを計算によって求めることができるため、カメラの位置と向きの精度によらない三次元形状が生成できるようになっている。特許文献３では、単一のカメラを用い、照明条件を変えて撮影することで被写体の三次元形状とテクスチャ情報を生成している。単一のカメラを使用することで、レンズの歪みによる三次元形状とテクスチャの位置ずれを回避している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１４８９２６号公報
【特許文献２】特開２００１−３３８２７９号公報
【特許文献３】特開２０１４−５５８１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、例えば特許文献１に開示された三次元形状センサは、有効に機能する距離範囲が決まっており、距離範囲外のデータは取得できないか、或いはエラーとなる。そのため、作業者はエラーが出ない位置へ三次元形状センサを移動する必要がある。三次元形状に対して三次元形状センサの位置を正確に定めることができれば、取得される三次元形状の精度向上を図ることができるものも、関節アームの関節角や外部のマーカなどによる位置や向きの精度を高めることは実現できていない。一方、特許文献２に基づく手法で生成する三次元形状は、カメラの解像度に依存しているため、高精細な三次元形状データおよびテクスチャ情報を生成するためには高解像度のカメラを使用し、接写する必要がある。その場合、ピントが合う範囲が極端に狭くなるため、画像がぼけないようにオートフォーカス機構を併用することになるが、これは画像撮影手段の光学系を定義した撮影系モデルが変化することとなり、高精細な三次元形状データおよびテクスチャ情報の生成における精度低下を及ぼすため、実用に至らない。また、特許文献３に基づく方法でテクスチャ情報と三次元形状の位置を合わせる場合、テクスチャ画像を撮影した方向からは正しいテクスチャとなるが、他の方向から見た場合に正しい位置にテクスチャが設定されない課題がある。これは、三次元形状の情報とテクスチャの色情報が独立した情報であることに起因するため、三次元形状の生成方法とテクスチャの生成方法が異なる手法であるかぎり、課題が解決されない。【０００６】
そこで、本発明は、被写体の撮影条件に起因するボケやノイズの発生を抑え、高精細な三次元形状データおよびテクスチャ情報を得ることが可能な三次元形状データおよびテクスチャ情報生成システム、撮影制御プログラム、及び三次元形状データおよびテクスチャ情報生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に記載の発明は、被写体を一部領域毎に撮影する撮影手段と、前記撮影手段の位置から測距対象点までの距離を計測する測距手段と、前記被写体と前記撮影手段との少なくとも何れか一方を駆動する駆動手段と、前記撮影手段、前記測距手段、及び前記駆動手段を制御する制御手段と、前記撮影手段により撮影された前記一部領域毎の画像に基づいて前記被写体の三次元形状データおよびテクスチャ情報を生成する生成手段と、を備える三次元形状データおよびテクスチャ情報生成システムであって、前記制御手段は、前記被写体上における測距対象点を含む前記一部領域に前記撮影手段のピントが合った状態で、前記撮影手段の位置から前記測距対象点までの距離を前記測距手段に計測させ、前記計測された距離または計測された距離から計算される距離を被写界深度の範囲内に保ちながら前記一部領域が順次変更されるように前記被写体と前記撮影手段との少なくとも何れか一方を前記駆動手段により駆動させ、前記被写体の各前記一部領域を前記撮影手段に撮影させることで前記一部領域毎の画像を取得することを特徴とする。【０００８】
請求項２に記載の発明は、請求項１に記載の三次元形状データおよびテクスチャ情報生成システムにおいて、前記制御手段は、前記距離を被写界深度の範囲内に保ちながら、変更される前記一部領域と、当該変更される一部領域に隣接する一部領域とがオーバーラップするように前記被写体と前記撮影手段との少なくとも何れか一方を前記駆動手段により駆動させることを特徴とする。【０００９】
請求項３に記載の発明は、請求項２に記載の三次元形状データおよびテクスチャ情報生成システムにおいて、前記制御手段は、前記被写体を構成する同一の箇所が複数回撮影されるように、前記被写体と前記撮影手段との少なくとも何れか一方を前記駆動手段により駆動させることを特徴とする。【００１０】
請求項４に記載の発明は、請求項１乃至３の何れか一項に記載の三次元形状データおよびテクスチャ情報生成システムにおいて、前記駆動手段は、前記被写体が設置されるターンテーブルを備えており、前記制御手段は、前記一部領域が順次変更されるように前記ターンテーブルを駆動させることを特徴とする。【００１１】
請求項５に記載の発明は、請求項１乃至４の何れか一項に記載の三次元形状データおよびテクスチャ情報生成システムにおいて、前記撮影手段及び前記測距手段は、前記測距対象点からの距離を変更可能なスライダに取り付けられており、前記制御手段は、前記計測された距離または計測された距離から計算される距離が被写界深度の範囲内に保たれるように前記スライダを駆動させることを特徴とする。【００１２】
請求項６に記載の発明は、請求項１乃至３の何れか一項に記載の三次元形状データおよびテクスチャ情報生成システムにおいて、前記撮影手段及び前記測距手段は、前記測距対象点に対する前記撮影手段及び前記測距手段の位置と姿勢との少なくとも何れか一方を変更可能なロボットアームに取り付けられており、前記制御手段は、前記計測された距離または計測された距離から計算される距離を被写界深度の範囲内に保ちながら前記一部領域が順次変更されるように前記ロボットアームを駆動させることを特徴とする。【００１３】
請求項７に記載の発明は、請求項１乃至６の何れか一項に記載の三次元形状データおよびテクスチャ情報生成システムにおいて、前記撮影手段のレンズは、マクロレンズであることを特徴とする。【００１４】
請求項８に記載の発明は、被写体を一部領域毎に撮影するカメラと、前記カメラの位置から測距対象点までの距離を計測する測距センサと、前記被写体と前記カメラとの少なくとも何れか一方を駆動する駆動装置と、前記カメラ、前記測距センサ、及び前記駆動装置を制御するコントローラと、を備え、前記コントローラは、前記被写体上における測距対象点を含む前記一部領域に前記カメラのピントが合った状態で、前記カメラの位置から前記測距対象点までの距離を前記測距センサに計測させ、前記計測された距離または計測された距離から計算される距離を被写界深度の範囲内に保ちながら前記一部領域が順次変更されるように前記被写体と前記カメラとの少なくとも何れか一方を前記駆動装置により駆動させ、前記被写体の各前記一部領域を前記カメラに撮影させ、前記カメラにより撮影された前記一部領域毎の画像に基づいて前記被写体の三次元形状データおよびテクスチャ情報を生成する生成処理を実行するプロセッサを、さらに備えることを特徴とする。【００１５】
請求項９に記載の発明は、被写体を一部領域毎に撮影する撮影手段と、前記撮影手段の位置から測距対象点までの距離を計測する測距手段と、前記被写体と前記撮影手段との少なくとも何れか一方を駆動する駆動手段と、前記撮影手段、前記測距手段、及び前記駆動手段を制御する制御手段と、前記撮影手段により撮影された前記一部領域毎の画像に基づいて前記被写体の三次元形状データおよびテクスチャ情報を生成する生成手段と、を備える三次元形状データおよびテクスチャ情報生成システムにおける前記制御手段に含まれるコンピュータに、前記被写体上における測距対象点を含む前記一部領域に前記撮影手段のピントが合った状態で、前記撮影手段の位置から前記測距対象点までの距離を前記測距手段に計測させるステップと、前記計測された距離または計測された距離から計算される距離を被写界深度の範囲内に保ちながら前記一部領域が順次変更されるように前記被写体と前記撮影手段との少なくとも何れか一方を前記駆動手段に駆動させるステップと、前記被写体の各前記一部領域を前記撮影手段に撮影させることで前記一部領域毎の画像を取得するステップと、を実行させることを特徴とする。【００１６】
請求項１０に記載の発明は、被写体上における測距対象点を含む一部領域にカメラのピントが合った状態で、前記カメラの位置から前記測距対象点までの距離を、測距センサにより計測するステップと、前記計測された距離または計測された距離から計算される距離を被写界深度の範囲内に保ちながら前記一部領域が順次変更されるように前記被写体と前記カメラとの少なくとも何れか一方を、駆動装置により駆動させるステップと、前記一部領域が順次変更される過程において、前記被写体の各前記一部領域を前記カメラに撮影させるステップと、前記カメラにより撮影された前記一部領域毎の画像に基づいて前記被写体の三次元形状データおよびテクスチャ情報をプロセッサにより生成するステップと、を含むことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、被写体の撮影条件に起因するボケやノイズの発生を抑え、高精細な三次元形状データおよびテクスチャ情報を得ることができる。また、単一の撮影装置で撮影した画像から三次元形状データとテクスチャ情報を同時に生成することで、得られる三次元形状とテクスチャ情報の位置が合った状態で生成することができる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態に係る三次元形状データおよびテクスチャ情報生成システムＳの概要構成を示すブロック図である。
【図２】実施例１において、ターンテーブルに設置された被写体（例えば、地球儀）と、カメラ１及び測距センサ２との位置関係の一例を示す図である。
【図３】実施例１における撮影制御処理、三次元形状データおよびテクスチャ情報生成処理の一例を示すフローチャートである。
【図４】実施例２において、基台に設置された被写体と、カメラ１及び測距センサ２との位置関係の一例を示す図である。
【図５】実施例２における撮影制御処理、三次元形状データおよびテクスチャ情報生成処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態を図面に基づいて説明する。
【００２０】
［１．三次元形状データおよびテクスチャ情報生成システムＳの構成及び機能］
先ず、図１等を参照して、本実施形態に係る三次元形状データおよびテクスチャ情報生成システムＳの構成及び機能について説明する。図１は、本実施形態に係る三次元形状データおよびテクスチャ情報生成システムＳの概要構成を示すブロック図である。図１に示すように、三次元形状データおよびテクスチャ情報生成システムＳは、カメラ１、測距センサ２、駆動装置３、及び三次元形状データおよびテクスチャ情報生成装置４等を備えて構成される。ここで、カメラ１は本発明における撮影手段の一例であり、測距センサ２は本発明における測距手段の一例であり、駆動装置３は本発明における駆動手段の一例である。カメラ１及び測距センサ２は、被写体（撮影対象となる対象物）の三次元形状の取得用センサとして使用される。本実施形態に係る三次元形状データおよびテクスチャ情報生成システムＳは、例えば、対象物の三次元形状や対象物に描かれた模様等のテクスチャを高精度に取得する必要が生じる場合として、産業用ロボットにおける加工前の三次元形状検出用、加工後の作業確認用、または、美術品のデジタル化プロセスにおける詳細形状及びテクスチャの取得用として利用される。
【００２１】
カメラ１は、マクロレンズ、シャッター及び撮像素子（イメージセンサ）等を備え、三次元形状データおよびテクスチャ情報生成装置４による制御の下、被写体を一部領域毎に撮影し、撮影した画像を三次元形状データおよびテクスチャ情報生成装置４へ出力する。なお、カメラ１には、一眼レフカメラが適用される。マクロレンズは、焦点距離（光学的なレンズの中心から焦点までの距離）が変化しない単焦点レンズの一種であり、ピントが合う範囲が非常に狭く（例えば、絞り値Ｆ５．６程度で被写界深度は数ｍｍ）、狭い範囲を高倍率で撮影するためのレンズである。厳密にはピントが合う範囲は、理論上、一つの平面上にしかないが、当該平面から深度方向の前後に所定距離（つまり、被写界深度）の許容範囲があり、この許容範囲はピントが合っている範囲として扱うことができる。ピントは、マクロレンズに写った画像が三次元形状データおよびテクスチャ情報生成装置４に取り込んだ画像またはカメラ１のファインダーで確認される画像で合わせられる。なお、本実施形態においてはオートフォーカス機構を有しないカメラ１が適用されるか、或いはオートフォーカス機構を有するカメラ１であっても当該オートフォーカス機構を使用しない。
【００２２】
測距センサ２は、光源（例えば、発光ダイオードやレーザダイオード）及び受光素子等を備え、三次元形状データおよびテクスチャ情報生成装置４による制御の下、カメラ１の位置（実空間上の位置）から被写体上における測距対象点（一部領域の画素の中心に相当）までの距離を計測し、計測した距離を三次元形状データおよびテクスチャ情報生成装置４へ出力する。ここで、カメラ１の位置は、カメラ１のレンズの中心を通る光軸上にあり、例えば当該レンズの焦点である。カメラ１の位置と測距センサ２の位置とが一致する場合、測距センサ２で計測した距離をそのまま用いることができるが、カメラ１の位置と測距センサ２の位置とが一致していない場合、測距センサ２で計測した距離は、公知の三角測距の原理に基づきカメラ１の位置からの距離になるように三次元形状データおよびテクスチャ情報生成装置４により補正される。なお、測距センサ２は、カメラ１の筐体内にカメラ１と一体的に設けられてもよい。また、ピントがあう範囲は、深度方向の前後に所定距離であるため、被写体の形状を考慮し、より広範囲にピントがあるよう、オフセットを計算して補正されることもできる。
【００２３】
駆動装置３は、三次元形状データおよびテクスチャ情報生成装置４による制御の下、被写体とカメラ１との少なくとも何れか一方を駆動する（つまり、被写体とカメラ１との少なくとも何れか一方を動力により動かす）駆動機構及び当該駆動機構を制御する制御回路を備える。ここで、駆動機構には、例えば、被写体が設置されるターンテーブル、及びカメラ１と測距センサ２とが取り付けられるスライダが備えられる。或いは、駆動機構には、カメラ１と測距センサ２とが取り付けられる多関節ロボットアームが備えられる。
【００２４】
三次元形状データおよびテクスチャ情報生成装置４は、インターフェース部４１ａ〜４１ｃ、表示部４２、操作部４３、記憶部４４、制御部（コントローラ）４５、及び計算部４６等を備えて構成され、これらはバス４７を介して相互に接続される。インターフェース部４１ａは、制御部４５がカメラ１との間で有線または無線により通信を行うときのインターフェースを担う。インターフェース部４１ｂは、制御部４５が測距センサ２との間で有線または無線により通信を行うためのインターフェースを担う。インターフェース部４１ｃは、制御部４５が駆動装置３との間で有線または無線により通信を行うためのインターフェースを担う。表示部４２は、各種情報を表示するための表示画面を有する。表示画面には、例えばカメラ１により撮影された被写体の一部領域毎の画像（二次元画像）や、当該被写体全体の三次元形状を表す三次元画像等、被写体とカメラ１との距離が表示される。操作部４３は、ユーザからの操作指示を受け付け、受け付けた操作指示に応じた信号を制御部４５へ出力する。操作部４３には例えばマウスが適用される。或いは、表示部４２及び操作部４３には、各種情報を表示画面に表示する表示機能と、人の指やペン等による操作を受け付ける入力機能とを有するタッチパネルが適用されてもよい。
【００２５】
記憶部４４は、例えばハードディスクドライブや不揮発性半導体メモリからなり、ＯＳ（オペレーティングシステム）、撮影制御プログラム、及び三次元形状生成プログラム、並びに各種設定データ等を記憶する。また、記憶部４４には、被写体の一部領域毎に撮影された画像のデータ、及び当該一部領域毎の画像に基づいて生成された三次元形状データおよびテクスチャ情報が記憶される。この三次元形状データおよびテクスチャ情報は、被写体全体または一部の三次元形状またはおよびテクスチャ情報を表す三次元画像を構成するデータである。
【００２６】
制御部４５は、ＣＰＵ（Central Processing Unit），ＲＯＭ（Read Only Memory），及びＲＡＭ（Random Access Memory）等を備える。そして、制御部４５は、記憶部４４に記憶された撮影制御プログラムにしたがって、被写体の撮影制御処理を実行する。この撮影制御処理において、制御部４５は、カメラ１、測距センサ２、及び駆動装置３を制御する制御手段として機能する。具体的には、制御部４５は、被写体上における測距対象点を含む一部領域にカメラ１のピントが合った状態で、カメラ１の位置から測距対象点までの距離を測距センサ２に計測させる。そして、制御部４５は、計測された距離または計測された距離から計算される距離を一定（数ｍｍの被写界深度を考慮して一定）に保ちながら一部領域が順次変更されるように被写体とカメラ１との少なくとも何れか一方を駆動装置３により駆動させ、被写体の各一部領域をカメラ１に撮影させることで上記一部領域毎の画像を取得する。すなわち、制御部４５は、被写体とカメラ１との距離を一定（数ｍｍの被写界深度を考慮して一定）に保ちながら被写体とカメラ１との少なくとも何れか一方を例えば数ｃｍずつ所定方向にずらし、なおかつ、上記変更される一部領域と、当該変更される一部領域に隣接する一部領域がオーバーラップ（重複）するように被写体とカメラ１との少なくとも何れか一方を駆動（つまり、駆動ＯＮ信号を駆動装置３に与えることで駆動）させ、この駆動制御の過程（つまり、一部領域が順次変更される過程）において各一部領域をカメラ１に撮影（つまり、シャッターＯＮ信号をカメラ１に与えることで撮影）させてカメラ１から一部領域毎の画像を取得する。これにより、前記被写体を構成する同一の箇所は少なくとも２回以上撮影されていることになり、前記被写体を構成する同一の箇所を、相対的に異なる撮影位置から撮影することができ、前記相対的に異なる撮影位置から取得された画像からフォトグラメトリに基づき、前記同一の箇所の三次元位置を特定することができる。加えて、例えばレンズキャリブレーションを行ったパラメータそのままで被写体の形状全周の画像をピントがあった状態で取得することができる。
【００２７】
計算部４６は、ＣＰＵ，ＲＯＭ，及びＲＡＭ等を備える。そして、計算部４６は、記憶部４４に記憶された三次元形状およびテクスチャ情報生成プログラムにしたがって、被写体の三次元形状データおよびテクスチャ情報を生成する三次元形状データおよびテクスチャ情報生成処理を実行する。この三次元形状データおよびテクスチャ情報生成処理において、計算部４６は、カメラ１により撮影された一部領域毎の画像（二次元画像）に基づいて被写体の三次元形状データおよびテクスチャ情報を生成する生成手段として機能する。ここで、三次元空間内の被写体をカメラ１で撮影して二次元画像を取得する場合、三次元空間内の座標（X Y Z）は、二次元画像内の座標（u v）へ、カメラの位置姿勢を表す行列Ｍouter及びカメラ１内の光学変換を表す行列Ｍinnerの積による次の（１）式で変換される。
【数１】
2017146202.tif 000003
【００２８】
この式に対し、十分な数の三次元空間内の座標（X Y Z）とその座標に対応する二次元画像内の座標（u v）の組が与えられれば、計算部４６は、行列Ｍouter及び行列Ｍinnerが計算できる。行列Ｍouter及び行列Ｍinnerが求まれば、計算部４６は、二次元画像内の座標（u v）から三次元空間内の座標（X Y Z)が計算でき、これをもとに二次元画像から三次元形状データおよびテクスチャ情報を生成することができる。このような手法は、例えばAutomated Pavement Distress Survey through Stereovision（Prepared by :Kelvin C.P Wang University of Arkansas, Fayetteville,AR)の文献などで提案されている。ところで、カメラ１の位置姿勢を表す行列Ｍouterは、三次元空間内の座標（X Y Z)と二次元画像内の座標（u v）の組から計算できるため、十分に特徴的な座標を含んでいる画像であれば行列Ｍouterを計算するために必要な組を得ることができる。一方、カメラ１内の光学変換を表す行列Ｍinnerを得るためには、行列Ｍinnerが一定であることを仮定した上で、既知の三次元空間内の座標（X Y Z)を含むキャリブレーションパターンを撮影して計算されることが多い。しかし、行列Ｍinnerはカメラ１のオートフォーカス機構によるピント位置調整の影響を受けており、三次元空間内の座標（X Y Z)を高精度で復元する上での障害となる。本発明では、行列Ｍinnerが完全に固定であるような撮影環境を実現するため、被写体にピントを合わせる作業を行列Ｍinnerではなく、行列Ｍouterの位置成分（tx ty tz)で実現している。これにより、高精度にキャリブレーションまたは計算された行列Ｍinnerを、精度低下を引き起こさずに三次元空間内の座標（X Y Z)を計算するために用いることができる。
【００２９】
なお、三次元形状データおよびテクスチャ情報生成装置４は、複数のＰＣ（パーソナルコンピュータ）に分けて構成されてもよい。例１として、撮影用ＰＣでハードディスクに保管したデータをネットワーク接続された別ＰＣが参照、計算して三次元形状データとテクスチャ情報を生成する。例２として、撮影用ＰＣで外付けハードディスクに画像を保管し、これを別ＰＣにつなぎかえ、計算して三次元形状データとテクスチャ情報を生成する。例３として、制御用ＰＣでカメラと被写体を操作し、カメラの撮影ボタンが押されると、撮影用ＰＣはカメラから画像データを受け取り、記憶する（なお、カメラが撮影したことはカメラのストロボ信号から判定される）。
【００３０】
［２. 三次元形状データおよびテクスチャ情報生成システムＳの動作］
次に、本実施形態に係る三次元形状データおよびテクスチャ情報生成システムＳの動作について、実施例１と実施例２とに分けて説明する。
【００３１】
（実施例１）  
先ず、図２及び図３を参照して、実施例１について説明する。図２は、実施例１において、ターンテーブルに設置された被写体（例えば、地球儀）と、カメラ１及び測距センサ２との位置関係の一例を示す図である。図２に示すように、ターンテーブルは、制御部４５の制御の下、中心軸まわりに回転（図２の破線矢印方向）する。カメラ１及び測距センサ２は、スライダに取り付けられている。スライダは、制御部４５の制御の下、被写体上における測距対象点からの距離を変更可能に設けられており、例えば、被写体上における測距対象点に対して前後（図２の破線矢印方向）に移動する。
【００３２】
図３は、実施例１における撮影制御処理、三次元形状データおよびテクスチャ情報生成処理の一例を示すフローチャートである。図３に示す処理は、例えば、ユーザが操作部４３を操作して開始指示を行った場合に開始される。図３に示す処理が開始されると、制御部４５は、カメラ１及び測距センサ２を起動させ、被写体の形状に基づき作成された想定パスを示す設定データを記憶部４４から入力する（ステップＳ１）。図２の例では、この想定パスは、被写体を水平に例えば１０度ずつ３６０度回転させることを示すものであり、予め作成されて記憶部４４に記憶される。
【００３３】
次いで、制御部４５は、ステップＳ１で入力された設定データが示す想定パスに基づいて被写体上における測距対象点を決定する（ステップＳ２）。次いで、制御部４５は、ステップＳ２で決定された測距対象点を含む一部領域にカメラ１のピントが合うようにスライダを駆動（つまり、測距対象点に対して前後に移動）させて調整する（ステップＳ３）。これにより、測距対象点を含む一部領域にカメラ１のピントが合った場合にステップＳ４へ進む。
【００３４】
ステップＳ４では、制御部４５は、測距対象点を含む一部領域にカメラ１のピントが合った状態で、測距センサ２に計測ＯＮ信号を与えることで、カメラ１の位置から測距対象点までの距離を測距センサ２に計測させ、測距センサ２により計測された距離を示す距離データを取得（ＲＡＭに記憶）する。次いで、制御部４５は、カメラ１にシャッターＯＮ信号を与えることで、上記測距対象点を含む一部領域をカメラ１に撮影させ、カメラ１により撮影された画像（二次元画像）を取得する（ステップＳ５）。
【００３５】
次いで、制御部４５は、ステップＳ１で入力された設定データが示す想定パスに基づいて撮影を終了するか否かを判定する（ステップＳ６）。図２の例では、被写体が水平に３６０度回転した場合、制御部４５は、撮影を終了すると判定し（ステップＳ６：ＹＥＳ）、ステップＳ１１へ進む。これにより、被写体の一周分の所定の縦幅の画像が得られる。なお、被写体の全面に亘って画像を取得するため、ユーザはターンテーブルに設置された被写体の角度を替え（例えば、被写体をターンテーブル上に置き直し）、再び、操作部４３を操作して開始指示を行うことで、図３に示す処理を開始させる。
【００３６】
一方、ステップＳ６において、制御部４５は、撮影を終了しないと判定した場合（ステップＳ６：ＮＯ）、ステップＳ７へ進む。ステップＳ７では、制御部４５は、ステップＳ１で入力された設定データが示す想定パスに基づいて駆動装置３に駆動ＯＮ信号を与えることで、被写体の一部領域が変更（例えば、水平に１０度変更）されるようにターンテーブルを駆動（つまり、回転）させる。被写体がターンテーブルに連動して回転するので、当該被写体の位置がユーザの意図に反してずれることを防止することができる。次いで、制御部４５は、測距センサ２に計測ＯＮ信号を与えることで、カメラ１の位置から上記変更された一部領域に含まれる測距対象点までの距離を測距センサ２に計測させ、測距センサ２により計測された距離を示す距離データを取得する（ステップＳ８）。
【００３７】
次いで、制御部４５は、ステップＳ４で取得した距離データが示す距離と、ステップＳ８（つまり、直前のステップＳ８）で取得した距離データが示す距離との差（距離差）が±所定値（望ましくは０であるが、被写界深度を考慮して数ｍｍに設定される）の範囲内にあるか否かを判定する（ステップＳ９）。制御部４５は、上記距離差が±所定値の範囲内にあると判定した場合（ステップＳ９：ＹＥＳ）、ステップＳ５へ戻り、カメラ１にシャッターＯＮ信号を与えることで、変更された測距対象点を含む一部領域をカメラ１に撮影させ、カメラ１により撮影された画像を取得する。
【００３８】
一方、ステップＳ９において、制御部４５は、上記距離差が±所定値の範囲内にないと判定した場合（ステップＳ９：ＮＯ）、駆動装置３に駆動ＯＮ信号を与えることで、当該距離差が無くなるようにスライダを駆動（つまり、測距対象点に対して前後に移動）させ（ステップＳ１０）、ステップＳ９に戻る。つまり、制御部４５は、計測された距離が被写界深度の範囲（つまり、上記「±所定値の範囲」）内に保たれるようにスライダを駆動させる。カメラ１がスライダに取り付けられているので、カメラ１の位置から測距対象点までの距離を被写界深度の範囲内に、より精度良く保つことができる。このように、ステップＳ５〜Ｓ１０の処理により、測距センサ２により計測された測距対象点までの距離を被写界深度の範囲内に保ちながら一部領域を順次変更することができる。
【００３９】
ステップＳ１１では、計算部４６は、記憶部４４に記憶された三次元形状およびテクスチャ情報生成プログラムにしたがって、上述したように取得された画像（二次元画像）に基づいて被写体の三次元形状データおよびテクスチャ情報を生成する三次元形状データおよびテクスチャ情報生成処理を実行する。
【００４０】
（実施例２）
先ず、図４及び図５を参照して、実施例２について説明する。図４は、実施例２において、基台に設置された被写体と、カメラ１及び測距センサ２との位置関係の一例を示す図である。図４に示すように、カメラ１及び測距センサ２は、多関節ロボットアームの先端に取り付けられている。多関節ロボットアームは、複数のアームを関節を介して連結して構成され、制御部４５の制御の下、駆動する。すなわち、多関節ロボットアームの各関節の角度（回転角度及び曲げ角度）は、制御部４５により駆動するモータ（図示せず）により変化する。これにより、被写体上における測距対象点に対するカメラ１及び測距センサ２の位置と姿勢との少なくとも何れか一方が変更可能になっている。
【００４１】
図５は、実施例２における撮影制御処理、三次元形状データおよびテクスチャ情報生成処理の一例を示すフローチャートである。図５に示す処理は、例えば、ユーザが操作部４３を操作して開始指示を行った場合に開始される。図５に示す処理が開始されると、制御部４５は、カメラ１及び測距センサ２を起動させ、ユーザが操作部４３を操作して、被写体上における測距対象点の指定を受け付ける（ステップＳ２１）。例えば表示部４２の表示画面には、マクロレンズに写った画像（ファインダーで確認される画像）が表示され、ユーザはマウスを操作することで画像上の測距対象点に相当する位置にアイコンを合わせて当該マウスをクリックすることで当該測距対象点の指定が受け付けられる。
【００４２】
なお、ステップＳ２１では、実施例１と同様に、被写体の形状に基づき作成された想定パスを示す設定データが入力されてもよく、この場合、ユーザにより指定された測距対象点から、想定パスに基づいて多関節ロボットアームが駆動されることになる。
【００４３】
次いで、制御部４５は、ステップＳ２１で指定された測距対象点を決定する（ステップＳ２２）。次いで、制御部４５は、ステップＳ２２で決定された測距対象点を含む一部領域にカメラ１のピントが合うように多関節ロボットアームを駆動させる（ステップＳ２３）。これにより、測距対象点を含む一部領域にカメラ１のピントが合った場合にステップＳ２４へ進む。
【００４４】
ステップＳ２４では、制御部４５は、測距対象点を含む一部領域にカメラ１のピントが合った状態で、測距対象点に対するカメラ１の状態確認処理を行う。この状態確認処理では、制御部４５は、カメラ１の位置から測距対象点までの距離を測距センサ２に計測させ、測距センサ２により計測された距離を示す距離データを取得し、さらに、測距対象点からの法線ベクトルを取得する。
【００４５】
次いで、制御部４５は、カメラ１の状態が適正であるか否かを判定する（ステップＳ２５）。例えば、測距対象点からの法線ベクトルとカメラ１の光軸とが一致するか否かが判断され、一致する場合、カメラ１の状態が適正であると判定される。制御部４５は、カメラ１の状態が適正であると判定した場合（ステップＳ２５：ＹＥＳ）、ステップＳ２７へ進む。一方、制御部４５は、カメラ１の状態が適正でないと判定した場合（ステップＳ２５：ＮＯ）、ステップＳ２６へ進む。
【００４６】
ステップＳ２６では、制御部４５は、駆動装置３に駆動ＯＮ信号を与えることで、カメラ１及び測距センサ２の姿勢（向き）が変わるように多関節ロボットアームを駆動させ、ステップＳ２５に戻り、再度、カメラ１の状態が適正であるか否かを判定する。このような処理により、法線ベクトルとカメラ１の光軸とを一致させる。
【００４７】
ステップＳ２７では、制御部４５は、カメラ１にシャッターＯＮ信号を与えることで、測距対象点を含む一部領域をカメラ１に撮影させ、カメラ１により撮影された画像を取得する。次いで、制御部４５は、撮影を終了するか否かを判定する（ステップＳ２８）。例えば、ユーザが操作部４３を操作して終了指示を行った場合、制御部４５は、撮影を終了すると判定し（ステップＳ２８：ＹＥＳ）、ステップＳ３０へ進む。
【００４８】
一方、制御部４５は、撮影を終了しないと判定した場合（ステップＳ２８：ＮＯ）、ステップＳ２９へ進む。ステップＳ２９では、制御部４５は、例えばユーザからの操作部４３を介した指示に応じて（または想定パスに基づいて）駆動装置３に駆動ＯＮ信号を与えることで、被写体の一部領域が変更されるように多関節ロボットアームを駆動させ、ステップＳ２４に戻る。
【００４９】
ステップＳ２４に戻ると、制御部４５は、状態確認処理において、カメラ１の位置から測距対象点までの距離を測距センサ２に計測させ、測距センサ２により計測された距離を示す距離データを取得し、さらに、測距対象点からの法線ベクトルを取得する。
【００５０】
次いで、カメラ１の状態が適正であるか否かを判定する（ステップＳ２５）。この処理（つまり、２回目以降の処理）では、今回取得した距離データが示す距離と、前回取得した距離データが示す距離との差（距離差）が±所定値の範囲内にあり、且つ測距対象点からの法線ベクトルとカメラ１の光軸とが一致する場合、カメラ１の状態が適正であると判定され、ステップＳ２７へ進む。
【００５１】
一方、今回取得した距離データが示す距離と、前回取得した距離データが示す距離との差（距離差）が±所定値の範囲内にないか、または測距対象点からの法線ベクトルとカメラ１の光軸とが一致しない場合、ステップＳ２６へ進む。このような処理により、測距センサ２により計測された測距対象点までの距離を被写界深度の範囲内に保ちながら一部領域を順次変更することができる。つまり、制御部４５は、計測された距離を被写界深度の範囲内に保ちながら一部領域が順次変更されるように多関節ロボットアームを駆動させる。カメラ１及び測距センサ２がロボットアームに取り付けられているので、カメラ１及び測距センサ２の位置及び姿勢を自在に調整することができ、被写体を固定した状態でカメラ１の位置から測距対象点までの距離を被写界深度の範囲内に、より精度良く保つことができる。
【００５２】
ステップＳ３０では、計算部４６は、記憶部４４に記憶された三次元形状およびテクスチャ情報生成プログラムにしたがって、上述したように取得された画像（二次元画像）に基づいて被写体の三次元形状データおよびテクスチャ情報を生成する三次元形状データおよびテクスチャ情報生成処理を実行する。
【００５３】
なお、上記実施例２では多関節ロボットアームを用いたが、他の実施例として、多関節ロボットアームに代えて、ターンテーブル及び単関節ロボットアームを用いてもよい。この場合、ターンテーブルには被写体が設置され、単関節ロボットアームの先端にはカメラ１及び測距センサ２が取り付けられる。そして、制御部４５は、上述したように計測された距離を被写界深度の範囲内に保ちながら一部領域が順次変更されるように、スライダ及び単関節ロボットアームを駆動させる。
【００５４】
以上説明したように、上記実施形態によれば、三次元形状データおよびテクスチャ情報生成装置４は、被写体上における測距対象点を含む一部領域にカメラ１のピントが合った状態で、カメラ１の位置から測距対象点までの距離を測距センサ２に計測させ、計測された距離または計測された距離から計算される距離を被写界深度の範囲内に保ちながら一部領域が順次変更されるように被写体とカメラ１との少なくとも何れか一方を駆動装置３により駆動させ、被写体の各一部領域をカメラ１に撮影させることで上記一部領域毎の画像を取得し、取得された画像に基づいて前記被写体の三次元形状データおよびテクスチャ情報を生成するように構成したので、被写体の撮影条件に起因するボケやノイズの発生を抑え、高精細な三次元形状データおよびテクスチャ情報を得ることができる。また、単一の撮影装置で撮影した画像から三次元形状データとテクスチャ情報を同時に生成することで、得られる三次元形状とテクスチャ情報の位置が合った状態で生成することができる。
【００５５】
また、上記実施形態によれば、ユーザがカメラ１の位置や向きなどのおおまかな撮影状況を設定するだけで高品質な画像を得ることができる。ユーザは、被写体を撮影したい位置や向きへカメラ１を移動させるだけで、フォーカス位置の変更をすることなく適切な位置や向きに設定して撮影することができる。これにより、一眼レフを用いたテクスチャ撮影では、レンズキャリブレーションを行ったパラメータそのままで形状全周のテクスチャ用画像を、ピントがあった状態で撮影することができる。また、上記実施形態によれば、回転中心よりも数ミリ以上ずれた位置に設置した被写体であっても、常に等距離から撮影され、被写体と光軸の交点を中心とした領域のテクスチャが、ピントがあった状態で撮影することができる。また、上記実施形態によれば、ユーザが撮影したい一部領域を予め、または動的に生成される形状に対して指定すると、距離を一定にし、一部領域のオーバーラップする面積を一定とする撮影位置と姿勢を計算し、カメラ１の移動及び撮影を行うことができる。一部領域間のオーバーラップする面積を一定とさせることで、被写体の形状全周について安定した品質の画像を取得することができる。また、一般的な質感に対しては形状の法線方向より撮影することが好ましいが、光沢の強い材質の場合は、撮影に適した位置や方向が異なるため、手作業で撮影環境を構築することは困難であるが、上記実施形態によれば、照明を含めた撮影に適した環境が自動的に構築されるため、安定した品質の画像群を撮影できるようになる。
【符号の説明】
【００５６】
１  カメラ
２  測距センサ
３  駆動装置
４  三次元形状データおよびテクスチャ情報生成装置
４１ａ〜４１ｃ  インターフェース部
４２  表示部
４３  操作部
４４  記憶部
４５  制御部
４６  計算部
Ｓ  三次元形状データおよびテクスチャ情報生成システム
【図１】
2017146202.tif 000004
【図２】
2017146202.tif 000005
【図３】
2017146202.tif 000006
【図４】
2017146202.tif 000007
【図５】
2017146202.tif 000008
【国際調査報告】
2017146202.tif 000009
2017146202.tif 000010
2017146202.tif 000011
2017146202.tif 000012