(57)【要約】    【課題】  ストライプパターンから取得した点群データから被写体に忠実な３次元形状モデルを取得する。    【解決手段】  プロジェクタ１０をＯＮにし被写体５０にストライプパターンを投影する。ストライプパターンが投影された被写体５０を第２カメラ３０で撮影し（Ｓ１１），その後プロジェクタ１０の投影をＯＦＦにする。点群データ算出部６０２により撮像画像から点群データを算出し，点群データ間引き部６０８により被写体５０上の点群の隣接点間の間隔が縦横で略等しくなるように点群データを間引く。評価用三角ポリゴン生成部６０４により，間引き後の点群データから三角ポリゴンを生成し，鋭角の三角ポリゴンを無効と判断して削除する。当初の点群データのうち，有効な三角ポリゴンに含まれる点群データを用いて三角ポリゴンを生成してそのデータを３次元モデリング部６０６に供給する。【選択図】  図４
2006064453.tif 000002
【特許請求の範囲】
【請求項１】
ストライプ状の投影パターンを被写体に投影する投光手段の光軸からずれて配置される撮影手段で前記被写体を撮影することに基づいて，前記被写体の３次元画像を得る３次元形状入力装置において，
被写体にストライプ上の投影パターンを投影する投光手段と，
前記投光手段の光軸からずれて配置され前記被写体上の投影パターンを撮影する撮影手段と，
前記カメラの撮影画像に基づいて，前記投影パターンのストライプエッジ上の点に対応して得られる前記被写体上の点群の座標を表す点群データを生成する点群データ算出手段と，
前記点群データ算出手段で生成された点群データの前記投影パターンのストライプエッジ方向の解像度と前記投影パターンのストライプエッジ方向と直角な方向の解像度とが実質的に等しくなるように調整する点群調整手段と，
前記点群調整手段により調整された点群データを用いて評価用の三角ポリゴンを生成する評価用三角ポリゴン生成手段と，
前記評価用三角ポリゴン生成手段により生成した評価用の三角ポリゴンについて有効・無効を判別する三角ポリゴン評価手段とを有し，
有効と判別された評価用の三角ポリゴンの領域にある点群の点群データを用いて生成された三角ポリゴンをモデリング用三角ポリゴンとして出力することを特徴とする３次元形状入力装置。
【請求項２】
ストライプ状の投影パターンを被写体に投影する投光手段の光軸からずれて配置される撮影手段で前記被写体を撮影することに基づいて，前記被写体の３次元画像を得る３次元形状入力装置において，
被写体にストライプ上の投影パターンを投影する投光手段と，
前記投光手段の光軸からずれて配置され前記被写体上の投影パターンを撮影する撮影手段と，
前記カメラの撮影画像に基づいて，前記投影パターンのストライプエッジ上の点に対応して得られる前記被写体上の点群の座標を表す点群データを生成する点群データ算出手段と，
前記点群データを前記ストライプエッジに沿って間引く間引き手段と，
前記間引き手段により間引いた後の点群データを用いて評価用の三角ポリゴンを生成する評価用三角ポリゴン生成手段と，
前記評価用三角ポリゴン生成手段により生成した評価用の三角ポリゴンについて有効・無効を判別する三角ポリゴン評価手段とを有し，
有効と判別された評価用の三角ポリゴンの領域にある点群の点群データを用いて生成された三角ポリゴンをモデリング用三角ポリゴンとして出力することを特徴とする３次元形状入力装置。
【請求項３】
前記間引き手段は，前記投影パターンを，前記撮影手段の光軸に垂直な面に投影して得られる点群の前記ストライプエッジ方向の間隔と，前記ストライプエッジ方向と直角な方向の間隔とが実質的に等しくなるように，前記点群データを前記ストライプエッジに沿って間引く請求項２記載の３次元形状入力装置。
【請求項４】
端に位置する点の点群データが間引かれないようにする請求項２または３記載の３次元形状入力装置。
【請求項５】
前記有効と判別された評価用の三角ポリゴンの領域にあるすべての点群データを用いて前記モデリング用三角ポリゴンを生成して出力する請求項１，２，３または４記載の３次元形状入力装置。
【請求項６】
前記有効と判別された評価用の三角ポリゴンを前記モデリング用三角ポリゴンとして出力する請求項１，２，３または４記載の３次元形状入力装置。
【請求項７】
ストライプ状の投影パターンを被写体に投影する投光手段の光軸からずれて配置される撮影手段で前記被写体を撮影することに基づいて，前記被写体の３次元画像を得る３次元形状入力装置において，
被写体にストライプ上の投影パターンを投影する投光手段と，
投影される投影パターンの位相を当該投影パターンのストライプの繰り返し周期未満の長さだけシフトさせるストライプ位相シフト手段と，
前記投光手段の光軸からずれて配置され前記被写体上の投影パターンを撮影する撮影手段と，
位相が異なる投影パターンごとに，前記カメラの撮影画像に基づいて，前記投影パターンのストライプエッジ上の点に対応して得られる前記被写体上の点群の座標を表す点群データを生成する点群データ算出手段と，
前記位相が異なる投影パターンごとに前記点群データ取得手段が取得した点群データを合成する点群データ合成手段と，
前記点群データ合成手段により合成された点群データを用いて評価用の三角ポリゴンを生成する評価用三角ポリゴン生成手段と，
前記評価用三角ポリゴン生成手段により生成した評価用の三角ポリゴンについて有効・無効を判別する三角ポリゴン評価手段とを有し，
有効と判別された評価用の三角ポリゴンの領域に含まれる点群に関する点群データを用いて生成された三角ポリゴンをモデリング用三角ポリゴンとして出力することを特徴とする３次元形状入力装置。
【請求項８】
前記評価用の三角ポリゴンのうち有効と判別されたものをモデリング用三角ポリゴンとして出力する請求項７記載の３次元形状入力装置。
【請求項９】
前記判別手段は，評価用三角ポリゴンの任意の角度が所定値以下のときには無効と判別する請求項１〜８のいずれかに記載の３次元形状入力装置。
【請求項１０】
ストライプ状の投影パターンを被写体に投影する投光手段の光軸からずれて配置される撮影手段で前記被写体を撮影することに基づいて，前記被写体の３次元画像を得る３次元形状入力方法において，
投光手段により被写体にストライプ上の投影パターンを投影するステップと，
前記投光手段の光軸からずれて配置された撮影手段により前記被写体上の投影パターンを撮影するステップと，
点群データ算出手段により，前記カメラの撮影画像に基づいて，前記投影パターンのストライプエッジ上の点に対応して得られる前記被写体上の点群の座標を表す点群データを生成するステップと，
点群調整手段により，前記点群データ算出手段で生成された点群データの前記投影パターンのストライプエッジ方向の解像度と前記投影パターンのストライプエッジ方向と直角な方向の解像度とが実質的に等しくなるように調整するステップと，
評価用三角ポリゴン生成手段により前記点群調整手段により調整された点群データを用いて評価用の三角ポリゴンを生成すると，
前記評価用三角ポリゴン生成手段により生成した評価用の三角ポリゴンについて有効・無効を判別するステップと，
有効と判別された評価用の三角ポリゴンの領域にある点群の点群データを用いて生成された三角ポリゴンをモデリング用三角ポリゴンとして出力するステップとを有することを特徴とする３次元形状入力方法。
【請求項１１】
投光手段により被写体にストライプ上の投影パターンを投影し，前記投光手段の光軸からずれて配置された撮影手段により前記被写体上の投影パターンを撮影することに基づいて，前記被写体の３次元画像を得る３次元形状入力用コンピュータプログラムであって，
点群データ算出手段により，前記カメラの撮影画像に基づいて，前記投影パターンのストライプエッジ上の点に対応して得られる前記被写体上の点群の座標を表す点群データを生成するステップと，
点群調整手段により，前記点群データ算出手段で生成された点群データの前記投影パターンのストライプエッジ方向の解像度と前記投影パターンのストライプエッジ方向と直角な方向の解像度とが実質的に等しくなるように調整するステップと，
評価用三角ポリゴン生成手段により前記点群調整手段により調整された点群データを用いて評価用の三角ポリゴンを生成すると，
前記評価用三角ポリゴン生成手段により生成した評価用の三角ポリゴンについて有効・無効を判別するステップと，
有効と判別された評価用の三角ポリゴンの領域にある点群の点群データを用いて生成された三角ポリゴンをモデリング用三角ポリゴンとして出力するステップとをコンピュータに実行させるために用いられることを特徴とする３次元形状入力用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，パターン投影法を用いて三角測量の原理で得られた対象物体までの距離情報をもとに物体の３次元モデルを生成する３次元形状入力技術に関する。
【背景技術】
【０００２】
対象物の形状を計測する手法として，対象物に基準となるパターンを投影してこの基準となるパターン光が投影された方向とは異なる方向からＣＣＤカメラなどで撮影を行うパターン投影法と呼ばれる手法がある。撮影されたパターンは物体の形状によって変形を受けたものとなるが，この撮影された変形パターンと投影したパターンとの対応づけを行うことで，物体の３次元計測を行うことができる。パターン投影法では変形パターンと投影したパターンとの対応づけをいかに誤対応を少なく，かつ簡便に行うかが課題となっている。そこで様々なパターン投影法が従来より提案されている。
【０００３】
例えば特許文献１に開示される手法は，コード化されたパターンを投影する投光器と，投光器の光軸方向から投影パターンを撮影する第１カメラと，投光器の光軸方向と異なる方向から投影パターンを撮影する第２カメラとを備え，投影パターンに対する第１カメラによる撮影パターンの変化量が所定値以上の領域について新たなコードを割り付け，割り付けたコードを用いて第２カメラによる撮影パターンから距離情報を生成し，この距離情報および第１カメラより得られた輝度情報に基づいて３次元画像を得るよう構成した３次元画像撮影装置である。投影パターンを同じ光軸に置いた第１カメラで撮影したパターンを用いて再コード化することにより精度よく３次元計測を行うことができる。
【０００４】
上述のような手法を適用して得られる計測対象の距離情報は，計測対象の表面形状を表すデータであり，レンジデータや距離画像などと呼ばれる。以下では点群データとも呼ぶ。レンジデータは測定対象上におけるある１点の距離データ・サンプル点の集合データである。
【０００５】
一方，一般に三次元モデルとして扱う際には，対象物の表面をポリゴンと呼ばれる多角形形式で近似することが多い。レンジデータは上述のとおり点の単なる集合であり，各点を多角形として接続した構造を持っていない。そこで，レンジデータから多角形を構成するための手法が必要となる。２次元画像を基にしたレンジデータの場合，元の２次元画像での画素位置を利用して三角形網に分割することがよく用いられている。その中でも，ドロネー（Ｄｅｌａｕｎａｙ）法は生成される三角形が正三角形に近くなり，３次元モデルとしてレンダリングを行うのに好適であるという性質があるため特によく知られた手法である。
【０００６】
ところで，特許文献１に開示される手法のような投影パターンを用いた方式では，ストライプの境界部の座標をカメラと投光器との位置関係から三角測量の原理により求めており，具体的には撮像画像中における画素位置，すなわち２次元の座標値を基にして３次元座標を算出している。従ってカメラ画像において縦方向（Ｙ軸方向）にはカメラの解像度分，横方向（Ｘ軸方向）にはストライプ境界（エッジ）数分の座標データが算出されることになる。ストライプ幅をカメラ解像度と同等にすることは困難であるので，算出されたデータはＹ軸方向には密で，Ｘ方向には疎になってしまう。得られた座標データの集合である点群データを３次元モデル化する場合にポリゴン化して面を作成するが，縦横の点群比が異なるので三角パッチが鋭角化するため，ポリゴンリダクション時にノイズか真の形状かの区別がつかなくなる。また，３次元モデルとして利用しやすい正三角形に近い三角パッチのポリゴンモデルを得るための後処理として正三角形に近づけるためのポリゴンリダクションが必要となる。
【０００７】
Ｄｅｌａｕｎａｙ法は原理的に凸多角形を三角形に分割する手法である。したがって図２７（ａ）のような投影図が凹なプロファイルを持つ被写体では，ポリゴン化により凹部分にも面が作成されてしまい（図２７（ｄ）），正しいモデリングが行えないという問題がある。このような現象は，物体の境界情報がレンジデータには含まれないため，三角形分割の手法によらず発生する可能性がある。この現象が発生したまま三次元モデルを作成すると偽の形状情報が含まれてしまい，モデルとしての品質が低下してしまう。この問題を解決するため，例えば特許文献２に開示されるようにユーザが凹部に対応する領域を指定し，その領域における三角形網を除去してモデルを生成する方法が知られている。しかしながら，この方法においては凹部をユーザが指定する必要があることから，近年の３次元座標データ取得装置が出力するような大量の距離データの場合にはモデル作成の工数が非常に大きくなってしまうという問題がある。
【特許文献１】特許第３４８２９９０号公報
【特許文献２】特開平８−１２２０３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
この発明は，以上の事情を考慮してなされたものであり，パターン投影法を用いて生成された座標データ（レンジデータ，点群データ）の縦横の解像度の相違に起因する問題点を解消して被写体に忠実に三次元形状を入力できる３次元形状入力技術を提供することを目的としている。
【課題を解決するための手段】
【０００９】
本発明の原理的な構成例によれば，ストライプ状の投影パターンを被写体に投影する投光器の光軸からずれて配置されるカメラで前記被写体を撮影することに基づいて，前記被写体の３次元画像を得る３次元形状入力方法において，得られた３次元点群データから，カメラ光軸に垂直な面に投影した場合にＸＹ方向に略等間隔になるように態様で，所与の点群を選択し，選択した点群に対して三角ポリゴン化し，鋭角を有する三角ポリゴンを削除してポリゴンデータ領域を決定し，前記３次元点群データの前記領域のみに対してポリゴン化して，３次元モデルを得る。
【００１０】
この構成では，鋭角を有するノイズデータを確実に検出して被写体の３次元形状を忠実に入力できる。
【００１１】
また，選択した点群を用いて生成した三角ポリゴンを用いて３次元モデリングを行なう場合には，後処理により三角ポリゴンを正三角形に近づけるためのポリゴンリダクションを行なう必要がない。
【００１２】
また，本発明の他の原理的な構成例では，全白から全黒までを等間隔に区切った複数レベルの輝度でコード化されたストライプパターンを被写体に投影する投光器の光軸からずれて配置されるカメラで前記被写体を撮影することに基づいて，前記被写体の３次元画像を得る３次元形状入力方法において，ストライプ幅より小さい範囲で前記ストライプパターンをシフトさせて複数回撮影して，カメラ光軸に垂直な面に投影した状態でＸＹ方向に略等間隔に配置される３次元点群データを得て，三角ポリゴン化し，鋭角を有する三角ポリゴンを削除して３次元モデルを得る。
【００１３】
この構成においても，鋭角を有するノイズデータを確実に検出して被写体の３次元形状を忠実に入力できる。
【００１４】
また，選択した点群を用いて生成した三角ポリゴンを用いて３次元モデリングを行なう場合には，後処理により三角ポリゴンを正三角形に近づけるためのポリゴンリダクションを行なう必要がない。
【００１５】
さらに本発明を説明する。
【００１６】
本発明の一側面によれば，上述の目的を実現するために，ストライプ状の投影パターンを被写体に投影する投光手段の光軸からずれて配置される撮影手段で前記被写体を撮影することに基づいて，前記被写体の３次元画像を得る３次元形状入力装置に：被写体にストライプ上の投影パターンを投影する投光手段と；前記投光手段の光軸からずれて配置され前記被写体上の投影パターンを撮影する撮影手段と；前記カメラの撮影画像に基づいて，前記投影パターンのストライプエッジ上の点に対応して得られる前記被写体上の点群の座標を表す点群データを生成する点群データ算出手段と；前記点群データ算出手段で生成された点群データの前記投影パターンのストライプエッジ方向の解像度と前記投影パターンのストライプエッジ方向と直角な方向の解像度とが実質的に等しくなるように調整する点群調整手段と；前記点群調整手段により調整された点群データを用いて評価用の三角ポリゴンを生成する評価用三角ポリゴン生成手段と；前記評価用三角ポリゴン生成手段により生成した評価用の三角ポリゴンについて有効・無効を判別する三角ポリゴン評価手段とを設け，有効と判別された評価用の三角ポリゴンの領域にある点群の点群データを用いて生成された三角ポリゴンをモデリング用三角ポリゴンとして出力するようにしている。
【００１７】
この構成においては，鋭角を有するノイズデータを確実に検出して被写体の３次元形状を忠実に入力できる。
【００１８】
また，本発明の他の側面によれば，上述の目的を達成するために，ストライプ状の投影パターンを被写体に投影する投光手段の光軸からずれて配置される撮影手段で前記被写体を撮影することに基づいて，前記被写体の３次元画像を得る３次元形状入力装置に：被写体にストライプ上の投影パターンを投影する投光手段と；前記投光手段の光軸からずれて配置され前記被写体上の投影パターンを撮影する撮影手段と；前記カメラの撮影画像に基づいて，前記投影パターンのストライプエッジ上の点に対応して得られる前記被写体上の点群の座標を表す点群データを生成する点群データ算出手段と；前記点群データを前記ストライプエッジに沿って間引く間引き手段と；前記間引き手段により間引いた後の点群データを用いて評価用の三角ポリゴンを生成する評価用三角ポリゴン生成手段と；前記評価用三角ポリゴン生成手段により生成した評価用の三角ポリゴンについて有効・無効を判別する三角ポリゴン評価手段とを設け，有効と判別された評価用の三角ポリゴンの領域にある点群の点群データを用いて生成された三角ポリゴンをモデリング用三角ポリゴンとして出力するようにしている。
【００１９】
この構成においても，鋭角を有するノイズデータを確実に検出して被写体の３次元形状を忠実に入力できる。
【００２０】
この構成において，前記間引き手段は，前記投影パターンを，前記撮影手段の光軸に垂直な面に投影して得られる点群の前記ストライプエッジ方向の間隔と，前記ストライプエッジ方向と直角な方向の間隔とが実質的に等しくなるように，前記点群データを前記ストライプエッジに沿って間引くようにすることが好ましい。
【００２１】
また，端に位置する点の点群データが間引かれないようにすることが好ましい。
【００２２】
また，前記有効と判別された評価用の三角ポリゴンの領域にあるすべての点群データを用いて前記モデリング用三角ポリゴンを生成して出力するようにしてもよいし，場合によっては，前記有効と判別された評価用の三角ポリゴンを前記モデリング用三角ポリゴンとして出力するようにしてもよい。前者では，より多くの点群データの解像度が向上し，後者では三角ポリゴンがより正三角形に近くなる。
【００２３】
また，本発明のさらに他の側面によれば，上述の目的を達成するために，ストライプ状の投影パターンを被写体に投影する投光手段の光軸からずれて配置される撮影手段で前記被写体を撮影することに基づいて，前記被写体の３次元画像を得る３次元形状入力装置に：被写体にストライプ上の投影パターンを投影する投光手段と；投影される投影パターンの位相を当該投影パターンのストライプの繰り返し周期未満の長さだけシフトさせるストライプ位相シフト手段と；前記投光手段の光軸からずれて配置され前記被写体上の投影パターンを撮影する撮影手段と；位相が異なる投影パターンごとに，前記カメラの撮影画像に基づいて，前記投影パターンのストライプエッジ上の点に対応して得られる前記被写体上の点群の座標を表す点群データを生成する点群データ算出手段と；前記位相が異なる投影パターンごとに前記点群データ取得手段が取得した点群データを合成する点群データ合成手段と；前記点群データ合成手段により合成された点群データを用いて評価用の三角ポリゴンを生成する評価用三角ポリゴン生成手段と；前記評価用三角ポリゴン生成手段により生成した評価用の三角ポリゴンについて有効・無効を判別する三角ポリゴン評価手段とを設け，有効と判別された評価用の三角ポリゴンの領域に含まれる点群に関する点群データを用いて生成された三角ポリゴンをモデリング用三角ポリゴンとして出力するようにしている。
【００２４】
この構成例においても，鋭角を有するノイズデータを確実に検出して被写体の３次元形状を忠実に入力できる。
【００２５】
また，前記判別手段は，具体的には，評価用三角ポリゴンの任意の角度が所定値以下のときには無効と判別する。角度は各点のベクトルから簡易に計算できる。もちろん，三角形の辺の和や，アスペクト比（縦横比）に基づいて有効・無効を判別するようにしてもよい。
【００２６】
なお，この発明は装置またはシステムとして実現できるのみでなく，方法としても実現可能である。また，そのような発明の一部をソフトウェアとして構成することができることはもちろんである。またそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品もこの発明の技術的な範囲に含まれることも当然である。
【００２７】
この発明の上述の側面および他の側面は特許請求の範囲に記載され以下実施例を用いて詳述される。
【発明の効果】
【００２８】
この発明によれば，パターン投影法により得られる点群データについて採用する点群の調整を行い，Ｘ方向とＹ方向にほぼ同距離の点群データに対してポリゴン化処理を行うので，鋭角を有する三角形をノイズデータと容易に認識削除して，被写体に忠実な３次元形状モデルを得ることが可能となる。
【発明を実施するための最良の形態】
【００２９】
以下，本発明について詳細に説明する。
【実施例１】
【００３０】
まず，本発明の原理的な構成を示す実施例１を説明する。図１は，本発明の原理的な構成を示す実施例１の３次元形状入力装置の構成図であり，図１において，３次元形状入力装置は，３次元計測用にパターンを投影するパターン投影装置（たとえば液晶プロジェクタ）１０，プロジェクタ１０と異なる光軸に配置された三角測量用撮像装置（たとえばＣＣＤカメラ。カメラとも呼ぶ）３０，パーソナルコンピュータ６０等で構成される。プロジェクタ１０は，ストライプパターンを対象物（被写体）５０に投影する。カメラ３０は投影されたストライプパターンを撮影する。
【００３１】
パーソナルコンピュータ６０は，そのハードウェア資源およびソフトウェア資源を協同させて制御部６０１，点群データ算出部６０２，点群調整部６０３，評価用三角ポリゴン生成部６０４，三角ポリゴン評価部６０５，３次元モデリング部６０６，記憶部６０７等を実現する。パーソナルコンピュータ６０に替えて専用の処理装置を用いても良い。制御部６０１は，プロジェクタ１０やカメラ３０等を制御するものである。
【００３２】
点群データ算出部６０２は，カメラ３０の撮像画像からストライプのエッジ上の点群の距離情報（点群データ）を三角測量法により取得する。この詳細については，具体的な実現態様を示す実施例４に関連して後に詳述する。点群調整部６０３は，点群の間隔が縦（ストライプの方向）および横で略等しくなるようにする。縦方向の点群を間引いても良いし，横方向の点群を増加させても良い。その他ストライプの角度がずれた複数のストライプパターンを用いる等、種々の方法を採用できる。記憶部６０７は、当初の点群データや調整された点群データ等を記憶するものである。
【００３３】
評価用三角ポリゴン生成部６０４は点群調整部６０３で調整された点群データに対して例えば周知のドロネー三角網を生成する任意にアルゴリズムを適用して三角ポリゴンを生成する。三角ポリゴン評価部６０５は評価用三角ポリゴン生成部６０４で生成された評価用の三角ポリゴンが有効化どうかを例えば角度に基づいて判別する。アスペクト比等を採用しても良い。
【００３４】
３次元モデリング部６０６は有効な評価用三角ポリゴンに関する情報を受け取ってその中に含まれる点群に関する点群データを用いてモデリング用の三角ポリゴンを入手し３次元モデリングを行なう。評価用三角ポリゴンをそのまま入手しても良いし，その中に他の点群が含まれる場合には，その点群に関する点群データも利用して三角ポリゴンを生成しなおして３次元モデリングに用いても良い。
【実施例２】
【００３５】
つぎに本発明の実施例２の３次元形状入力装置について説明する。この実施例も本発明の原理的な構成を説明するものである。図２は実施例２の３次元形状入力装置の構成を示しており，この図において図１と対応する箇所には対応する符号を付した。
【００３６】
この実施例２においては，点群データ間引き部６０７を用いて，点群の間隔が縦（ストライプの方向）および横で略等しくなるようにする。間引いた後の点群についての点群データを用いて評価用三角ポリゴンを生成してその有効・無効を判断する。
【００３７】
その他の構成は実施例１と同様である。
【実施例３】
【００３８】
つぎに本発明の実施例３の３次元形状入力装置について説明する。この実施例も本発明の原理的な構成を説明するものである。図３は実施例３の３次元形状入力装置の構成を示しており，この図において図１と対応する箇所には対応する符号を付した。
【００３９】
この実施例３においては，プロジェクタ１０がストライプパターンをわずかに横方向（ストライプの並び方向）にずらして複数回投影を行い，カメラ３０がそれぞれお投影パターンを撮影して，その都度，点群データ算出部６０２が点群データを算出する。点群データ統合部６０９はこれら複数組の点群データを統合して，点群の間隔が縦（ストライプの方向）および横で略等しくなるようにする。統合した後の点群データを用いて三角ポリゴン生成部６１０が三角ポリゴンを生成し、三角ポリゴン評価部６０５がその有効・無効を判断する。有効と判別された三角ポリゴンが３次元モデリング部６０６に供給される。
【００４０】
その他の構成は実施例１と同様である。
【実施例４】
【００４１】
つぎに本発明の詳細な構成を示す実施例４の３次元形状入力装置について説明する。
【００４２】
図４は，本発明の実施例４の３次元形状入力装置の構成図であり，図４において，３次元形状入力装置は，３次元計測用にパターンを投影するパターン投影装置（たとえば液晶プロジェクタ）１０，同光軸でパターンをモニタする撮像装置（たとえばＣＣＤカメラ。第１カメラとも呼ぶ）２０，三角測量用撮像装置（たとえばＣＣＤカメラ。第２カメラとも呼ぶ）３０，パーソナルコンピュータ６０等で構成される。パーソナルコンピュータ６０は，実施例２と同様に，制御部６０１，点群データ算出部６０２，点群データ間引き部６０７，評価用三角ポリゴン生成部６０４，三角ポリゴン評価部６０５，３次元モデリング部６０６，記憶部６０７等を実現するものである。
【００４３】
４０はハーフミラーであり，５０は対象物（被写体ともいう）である。この３次元形状入力装置の基本的な構成は，特許文献１（特許第３４８２９９０号公報）に開示される構成と同様である。パターン投影装置１０は，液晶プロジェクタもしくはＤＬＰ（商標）プロジェクタ，またはスライドプロジェクタを用いる。パターン投影装置１０，たとえば液晶プロジェクタへ入力する投影パターンは，図８に示すような濃淡のあるストライプパターンを用い，例えば，図８の右側に図示されている対象物（物体）にパターン投影する。スライドプロジェクタを用いる場合，投影パターンはスライドフィルム上へ形成するか，ガラスパターンに金属膜などを蒸着し膜厚や網膜点パターンなどによって透過率をコントロールする。
【００４４】
図１０にパターン投影の模様を示す。撮像装置（第１カメラ２０）と投影装置（パターン投影装置１０）をハーフミラー４０などで同光軸に配置し，三角計測用に撮像装置を用意し，図８に示すようなストライプパターンを投影する。同光軸の撮像素子（第１カメラ２０）で観測された画像（第１カメラ・イメージ）から再コード化を実施し，測定用撮像装置（第２カメラ３０）で観測された画像（第２カメラ・イメージ）とで３次元距離画像（距離）を算出する。
【００４５】
図９に液晶プロジェクタへ入力するパターンデータの水平方向の輝度プロファイルを示す。投影パターンは２５６階調を４段階から６段階程度に分けた輝度ストライプの組み合わせである。
【００４６】
つぎに実施例の動作手順の概略を説明する。図５に示すように。まず，プロジェクタ１０をＯＮにし被写体５０にストライプパターンを投影する（Ｓ１０）。ストライプパターンが投影された被写体５０を第２カメラ３０で撮影し（Ｓ１１），その後プロジェクタ１０の投影をＯＦＦにする（Ｓ１２）。点群データ算出部６０２により撮像画像から点群データを算出し（Ｓ１３），点群データ間引き部６０８により被写体５０上の点群の隣接点間の間隔が縦横で略等しくなるように点群データを間引く（Ｓ１４）。評価用三角ポリゴン生成部６０４により，間引き後の点群データから三角ポリゴンを生成し（Ｓ１５），鋭角の三角ポリゴンを無効と判断して削除する（Ｓ１６）。当初の点群データ（間引き前のデータ）のうち，有効な三角ポリゴンに含まれる点群データを用いて三角ポリゴンを生成してそのデータを３次元モデリング部６０６に供給する（Ｓ１７）。三角ポリゴンのデータは，例えば，三角ポリゴンの点座標からなる三角ポリゴンデータを連結したものであり，種々の構造を採用できる。
【００４７】
つぎに点群データ（距離画像）の算出処理について説明する。
【００４８】
図１１は，点群データ（距離画像）を算出する構成例を示しており，この図において，パターン投影装置１０がコード化されたパターンを対象物５０に投影する。このパターンはフレームメモリ１１０に記憶される。モニタ用の第１カメラ２０および三角測量用の第２カメラ３０により，対象物５０上の投影パターンを撮像しそれぞれパターン画像メモリ１２０，１５０に記憶する。
【００４９】
領域分割部１３０はパターン画像メモリ１２０のパターン画像を，パターン投影装置１０からの投影パターン（光）が十分に届いている領域（領域２ともいう）と届いていない領域（領域１ともいう）に分割する。たとえば，隣り合うストライプ間の強度差が閾値以下である領域については，投影パターンが十分に届いてないと判別し，ストライプ間の強度差が閾値以上である領域を投影パターンが十分に届いている領域と判別する。投影パターンが十分に届いている領域に関し，以下に述べるように，境界線となるエッジ画素算出を行い，距離計算を行う。投影パターンが十分に届いてない領域については，別途，視差に基づく距離計算を行う。ここではとくに説明しないが，詳細は特許文献１を参照されたい。
【００５０】
再コード化部１６０は，抽出された領域２についてストライプを抽出し，各ストライプをストライプ幅毎に縦方向に分割し，正方形のセルを生成し，セルの再コード化を行う。これについては後に詳述する。
【００５１】
コード復号部１７０は，パターン画像メモリ１５０に記憶されている，三角測量用の第２カメラ３０からのパターン画像の各セル（エッジ）のコードを再コード化部１６０からのコードを用いて判別する。これにより，パターン画像メモリ１５０のパターン画像における測定点ｐ（エッジ）の画素のｘ座標および光源からの照射方向（スリット角）θが決定され，後述する式（１）により距離Ｚが測定される（図２０参照）。３次元画像メモリ１８０は，この距離と，第１カメラ２０から取得した対象物の輝度値（輝度値メモリ１４０に記憶される）とを三次元画像データとして記憶する。
【００５２】
この構成例における３次元形状の算出の詳細についてさらに説明する。
【００５３】
上述で得られたそれぞれのパターン画像，輝度値を用いて３次元形状を算出する為に以下の操作を行う。
【００５４】
同光軸のモニタ用の第１カメラ２０によって撮影されたパターン画像と投光に用いられたパターン画像を用いて図１３に示すフローチャートに従って再コード化を行う。最初に第１カメラ２０で撮影されたパターン画像の領域分割を行う。隣り合うストライプ間の強度差が閾値以下である領域については，パターン投影装置１０からの投影パターンが届いてない領域１として抽出し，ストライプ間の強度差が閾値以上である領域を領域２として抽出し（Ｓ３０），領域２について境界線となるエッジ画素算出を行う。
【００５５】
抽出された領域２についてストライプを抽出し，各ストライプをストライプ幅毎に縦方向に分割し，正方形のセルを生成する。生成された各セルについて強度の平均値をとり，平均値を各セルの強度とする（Ｓ３１）。画像の中心から順に対応する各セル間の強度を比較し，対象物の反射率，対象物までの距離などの要因によってパターンが変化したためにセル間の強度が閾値以上異なった場合には新たなコードの生成，割り付けを行う（Ｓ３２〜Ｓ３６）。
【００５６】
図１４は簡単のため単純化した例であるが，図１４の左側のストライプ列がストライプの並びによってコード化された投光パターンであり，それぞれの強度に３（強），２（中），１（弱）が割り当てられている。図１４の右側がそれぞれ同軸上の第１カメラ２０で撮影されたストライプをセルの幅でストライプと垂直方向に抽出したものである。図１４の右上の例では，左から３つめのセルで強度が変化して新たなコードが出現したので，新たに０というコードを割り当てる。図１４の右下の例では，左から３つめ上から２つめのセルで，既存のコードが出現しているので，セルの並びから新たなコードとして（２３２，１３１）という具合に（縦の並び，横の並び）によってコードを表現する。この再コード化は，対象の形状が変化に富む部位には２次元パターンなどの複雑なパターンを投光し，変化の少ない部位には簡単なパターンを投光しているのに等しい。この過程を繰り返し，全てのセルに対して一意なコードを割り付けることで再コード化を行う。
【００５７】
例として，図１５の対象物に，図１６のパターンを投光した場合に第１カメラ２０，第２カメラ３０で得られる画像を簡単化したものをそれぞれ図１７，図１８に示す。この例では，板の表面には新たなコード化されたパターンとして図１９が得られる。
【００５８】
次に第２カメラ３０で得られたストライプ画像からストライプを抽出し，先ほどと同じようにセルに分割する。各セルについて，再コード化されたコードを用いて各セルのコードを検出し，検出されたコードに基づいて光源からの照射方向θを算出する。各画素の属するセルのθとカメラ２で撮影された画像上のｘ座標とカメラパラメータである焦点距離Ｆと基線長Ｌを用いて式（１）によって距離Ｚを算出する。なお，測定点ｐと，光源からの照射方向θと，第２カメラ３０で撮影された画像上のｘ座標と，カメラパラメータである焦点距離Ｆと，基線長Ｌとの関係を図２０に示す。
【００５９】
Ｚ＝ＦＬ／（ｘ＋Ｆｔａｎθ）          −−−式（１）
【００６０】
この計算は実際にはセルの境界のｘ座標を利用して行うが，このときのｘ座標はカメラの画素解像度よりも細かい単位で計算することで計測精度を向上させている。ｘ座標値は，先に算出したエッジ画素の両側のセルの適当な数画素の輝度平均値ｄ１，ｄ２とエッジ画素の輝度ｄｅから求める。エッジ画素の両隣の画素位置ｐ１とｐ２と輝度平均値ｄ１とｄ２から一次補間した直線から輝度ｄｅに相当する画素位置ｄｅ’（図では便宜上ｘで示す）が求められ，これがｘ座標値となる。（図２１参照）
【００６１】
図１２はｘ座標を求める構成例を示している。図１２においては，エッジ右近傍画素位置入力部２１０，エッジ右セル輝度平均値入力部２２０，エッジ左近傍画素位置入力部２３０，エッジ左セル輝度平均値入力部２４０，エッジ輝度入力部２５０からそれぞれｄ１，ｐ１，ｄ２，ｐ２，ｄｅを補間計算部２００に供給して上述のとおりｘ座標を計算する。
【００６２】
つぎに，点群データを間引いてから最終的な三角ポリゴンのデータを取得するまでの動作（図５のステップＳ１４〜Ｓ１７）を図６を参照して説明する。
【００６３】
図６において，（ａ）は被写体５０の輪郭を示し，（ｂ）は撮影により得られた点群（黒丸）を示す。ここで，Ｙ座標（垂直方向。ストライプの長さ方向）を一定のピッチで選択して点群データを選択する。例えば，Ｙ軸方向の解像度がＸ軸方向（ストライプの並び方向）の解像度の１０倍であれば，１０個に１個のピッチで点群を選択する。図では白丸を間引き点とし，便宜上，１／２のピッチのように示されているが，これに限定されない。これら選択後の点群データに対してポリゴン化を行う。まず，選択された点群データの２次元の座標値を用いて三角形網を生成し，仮のポリゴン生成用接続情報とする。具体的な三角形網の生成手法としては，例えば前述のＤｅｌａｕｎａｙ法を用いることができる。つぎに仮のポリゴン生成用接続情報を基に３次元座標点群を接続し，ポリゴンを生成する（図６（ｃ））。
【００６４】
次に全ポリゴンに対して頂角の評価を行い，頂角が一定の値以下の三角形については削除する。頂角算出は，仮のポリゴン生成用接続情報から三角形として接続されている３点の座標値から各辺のベクトルを求めることで容易に算出される。このように選択した三角形の３辺の接続情報を仮のポリゴン生成用接続情報から削除する。また図示していないが，元の点群データに対して離散的に存在するノイズ点データも周囲の点とのポリゴンが頂角の小さい三角形であることが多いので，この処理によってポリゴン化からは排除される。これにより図６（ｄ）のようなポリゴンが得られる。
【００６５】
以上で，各ポリゴンが正三角形に近いポリゴンモデルが得られるが，ポリゴンの形状よりも細かさを必要とする場合には，得られたポリゴンの最外周（図６（ｅ））の内部に存在するオリジナルの点群データの座標値に対して再度ポリゴン化処理を施す（図６（ｆ））。
【００６６】
以上で述べた手法では，Ｙ座標を一定のピッチで選択して点群データを選択するために図６（ｄ）または（ｆ）のように端部の点が選択されない場合が発生する。これを防ぐために，端部の点は必ず選択するようにした例が図７である。処理の概要は同様なので省略する。
【実施例５】
【００６７】
つぎに本発明の実施例５について説明する。
【００６８】
図２２は，本発明の実施例５の３次元形状入力装置の構成を示しており，基本的な構成は実施例４と同様である。ただし，実施例３と同様に異なるストライプパターンを被写体５０に投影してそれぞれのパターンについて点群データを生成し，これを点群データ統合部６０９で統合している。図２２において図３および図４と対応する箇所には対応する符号を付した。
【００６９】
図２３は実施例５の動作手順の概略を示しており，この図において，まず，プロジェクタ１０をＯＮにし被写体５０に第１のストライプパターンを投影する（Ｓ４０）。このストライプパターンは図２４の上側に示すものであり，後に投影する図２４の下側の第２のストライプパターンに対してストライプ幅の半分だけすれている。第１のストライプパターンが投影された被写体５０を第２カメラ３０で撮影し（Ｓ４１），その後プロジェクタ１０の投影パターンを第１のストライプパターンから第２のストライプパターンに変更する（Ｓ４２）。第２のストライプパターンが投影された被写体５０を第２カメラ３０で撮影する（Ｓ４３）。この後，プロジェクタ１０の投影をＯＦＦにする（Ｓ４４）。つぎに第１のストライプパターンおよび第２のストライプパターンのそれぞれの撮影画像から点群データ算出部６０２によりそれぞれ点群データを算出し（Ｓ４５），これら２組の点群データを点群データ統合部６０９により統合する（Ｓ４６）。この例では２つのストライプパターンを用いる例を示しているが，３つ以上のストライプパターンをすこしずつずらしながら設定し，３組以上の点群データを採用しても良い。点群データの隣接点間の間隔が縦横で実質的に等しくなるようにすることが好ましい。三角ポリゴン生成部６１０により，統合後の点群データから三角ポリゴンを生成し（Ｓ４７），鋭角の三角ポリゴンを無効と判断して削除し，有効な三角ポリゴンののデータを３次元モデリング部６０６に供給する（Ｓ４８）。
【００７０】
この実施例では，図２５（ａ）の被写体５０に対して図２５（ｂ）に示すような位置の点群データが得られる。この点群データは図７（ｂ）に示すものよりＸ軸方向に密になって，点の間の縦横の間隔が実質的に等しくなっている。すなわち，図２４に示すようなＸ軸方向にストライプ幅の半分だけずらした第１のストライプパターンおよび第２のストライプパターンを用いて２組の点群データを取得して，これら２組の点群データをまとめることにより図２５（ｂ）のような点群データが得られる。
【００７１】
こののち，全点群データの２次元の座標値を用いて三角形網を生成し，仮のポリゴン生成用接続情報とする。具体的な三角形網の生成手法としては，例えば前述のＤｅｌａｕｎａｙ法を用いることができる。つぎに仮のポリゴン生成用接続情報を基に３次元座標点群を接続し，ポリゴンを生成する（図２５（ｃ））。次に全ポリゴンに対して頂角の評価を行い，頂角が一定の値以下の三角形については削除する。頂角算出は，仮のポリゴン生成用接続情報から三角形として接続されている３点の座標値から各辺のベクトルを求めることで容易に算出される。このように選択した三角形の３辺の接続情報を仮のポリゴン生成用接続情報から削除する。これにより図２５（ｄ）のようなポリゴンが得られる。
【００７２】
以上で実施例の説明を終了する。
【００７３】
なお，この発明は上述の実施例に限定されるものではなくその趣旨を逸脱しない範囲で種々変更が可能である。例えば，上述の例では多値のストライプパターンを用いたが，２値のストライプパターンを用いても良い。またストライプの角度が異なる複数のストライプパターンを用いても良い。また実施例４および５では，ハーフミラー４０を用いて投影装置１０とモニタ用の撮像装置２０とを同一の光軸（同主点）に配置したが，図２６に示すように，投影装置１０および撮像装置２０を，パターンのストライプ（エッジ）の方向に無視できる程度に離間して配置し，実質的に同一の光軸上（同主点）に配置しても良い。この場合ハーフミラーによるパターン光のロスや配分に伴うパワーの低下やバラツキを回避できる。ただし，ストライプ角度に応じてモニタ用の撮像装置２０を移動させる必要がある。
【図面の簡単な説明】
【００７４】
【図１】本発明の実施例１の構成を示す図である。
【図２】本発明の実施例２の構成を示す図である。
【図３】本発明の実施例３の構成を示す図である。
【図４】本発明の実施例４の構成を示す図である。
【図５】上述実施例４の全体の動作を説明するフローチャートである。
【図６】上述実施例４のポリゴン化を説明する図である。
【図７】上述実施例４のポリゴン化の他の例を説明する図である。
【図８】上述実施例を説明するためのパターンと被写体の一例を示す図である。
【図９】上述実施例のストライプパターン例を示す図である。
【図１０】上述実施例の投影態様を説明する図である。
【図１１】上述実施例の距離計算の構成例を説明するブロック図である。
【図１２】上述実施例のエッジ位置の補間計算例を説明するブロック図である。
【図１３】上述実施例の再コード化の動作例を説明する
【図１４】上述実施例の再コード化の例を説明する図である。
【図１５】上述実施例の再コード化を説明するためのカメラと被写体の配置図である。
【図１６】上述実施例の再コード化を説明するためのパターン図である。
【図１７】上述実施例の第１カメラのモニタ画像の例を示す図である。
【図１８】上述実施例の第２カメラ２のモニタ画像の例を示す図である。
【図１９】上述実施例において被写体にあたって輝度が変化した部分を説明する図である。
【図２０】上述実施例における距離計算を説明する図である。
【図２１】上述実施例のエッジ座標の算出説明図である。
【図２２】本発明の実施例５の構成を示す図である。
【図２３】上述実施例２の全体の動作を説明するフローチャートである。
【図２４】上述実施例２で用いるストライプパターンの例を説明する図である。
【図２５】上述実施例５のポリゴン化を説明する図である。
【図２６】実施例４および実施例５の変形例を説明する図である。
【図２７】従来のポリゴン化を説明する図である。
【符号の説明】
【００７５】
１０      パターン投影装置（プロジェクタ）
２０      第１カメラ（撮像装置）
３０      第２カメラ（撮像装置）
４０      ハーフミラー
５０      対象物（被写体）
６０      パーソナルコンピュータ
６０１      制御部
６０２      点群データ算出部
６０３      点群調整部
６０４      評価用三角ポリゴン生成部
６０５      三角ポリゴン評価部
６０６      ３次元モデリング部
６０７      記憶部
６０８      点群データ間引き部
６０９      点群データ統合部
６１０      三角ポリゴン生成部
【図１】
2006064453.tif 000003
【図２】
2006064453.tif 000004
【図３】
2006064453.tif 000005
【図５】
2006064453.tif 000006
【図１１】
2006064453.tif 000007
【図１２】
2006064453.tif 000008
【図１３】
2006064453.tif 000009
【図２０】
2006064453.tif 000010
【図２１】
2006064453.tif 000011
【図２３】
2006064453.tif 000012
【図２６】
2006064453.tif 000013
【図４】
2006064453.tif 000014
【図６】
2006064453.tif 000015
【図７】
2006064453.tif 000016
【図８】
2006064453.tif 000017
【図９】
2006064453.tif 000018
【図１０】
2006064453.tif 000019
【図１４】
2006064453.tif 000020
【図１５】
2006064453.tif 000021
【図１６】
2006064453.tif 000022
【図１７】
2006064453.tif 000023
【図１８】
2006064453.tif 000024
【図１９】
2006064453.tif 000025
【図２２】
2006064453.tif 000026
【図２４】
2006064453.tif 000027
【図２５】
2006064453.tif 000028
【図２７】
2006064453.tif 000029