(57)【特許請求の範囲】
【請求項１】
三次元形状を有する対象物を撮影したカラー画像データを取り込む画像取込部と、
前記対象物を微小面に分割し、輝度情報に基づいて各微小面の法線ベクトルを抽出する法線ベクトル抽出部と、
前記法線ベクトル群に基づいて前記対象物の三次元形状データを算出して三次元形状を復元表示する三次元形状復元部と、
を備え、
前記法線ベクトル抽出部は、
カラー取込画像を輝度画像に変換する輝度画像変換部と、
前記輝度画像に基づき前記各微小面の法線ベクトルの水平成分を抽出する水平成分抽出部と、
前記輝度画像に基づき前記各微小面の法線ベクトルの垂直成分を抽出する垂直成分抽出部と、
前記微小面の各面の法線ベクトルの水平成分と垂直成分により正規化された法線ベクトルを算出する法線ベクトル正規化部と、
からなり、
前記水平成分抽出部で抽出する前記法線ベクトルの水平成分は、前記対象物体を撮影した視線方向に直交する面に投影した単位長のベクトル成分であり、
前記垂直成分抽出部で抽出する法線ベクトルの垂直成分は、前記対象物体の視線方向のベクトル成分であり、
前記水平成分抽出部は、前記微小面を通る輝度等値線の接線ベクトルを生成し、
前記微小面が存在する面形状が凸面であった場合、前記輝度等値線の接線ベクトルを輝度の暗くなる方向に９０度回転して前記法線ベクトルの水平成分を求め、
前記微小面が存在する面形状が凹面であった場合、前記輝度等値線の接線ベクトルを輝度の明るくなる方向に９０度回転して前記法線ベクトルの水平成分を求め、
前記垂直成分抽出部は、前記法線ベクトルの垂直成分を、平滑化した輝度画像の各微小面の輝度値に比例した値として算出することを特徴とする三次元形状復元装置。
【請求項２】
請求項１記載の三次元画像復元装置に於いて、前記水平成分抽出部は、
前記輝度画像を平滑化する輝度画像平滑部と、
前記平滑化した輝度画像の画素輝度値を任意の刻み幅で丸め込んで輝度コンター画像に変換する輝度コンター変換部と、
前記輝度コンター画像に基づき任意の刻み幅で輝度等値線を生成する輝度等値線生成部と、
前記輝度等値線上での前記各微小面について法線ベクトルの水平成分を算出する水平成分算出部と、
を備えたことを特徴とする三次元形状復元装置。
【請求項３】
請求項２記載の三次元画像復元装置に於いて、
前記輝度等値線生成部は、前記コンター画像上で輝度値が変化する画素を探索して追跡開始点とし、該追跡開始点を中心に所定回りに周囲の隣接８画素に着目して順次調べ、着目した画素の輝度値が追跡開始点と同じで、次に着目する画素の輝度値が追跡開始点より大きい場合、現在の着目画素を次の追跡開始点とし、前記複数の追跡開始点を結んで輝度等値線を生成することを特徴とする三次元形状復元装置。
【請求項４】
請求項１記載の三次元形状復元装置に於いて、
前記三次元形状復元部は、
前記正規化された法線ベクトルを積分することで前記対象物の三次元形状を生成する積分処理部と、
前記三次元形状を復元結果として表示する復元表示部と、を備えたことを特徴とする三次元形状復元装置。
【請求項５】
画像取込部により三次元形状を有する対象物を撮影したカラー画像データを取り込み、
法線ベクトル抽出部により前記対象物を微小面に分割し、輝度情報に基づいて各微小面の法線ベクトルを抽出し、
三次元形状復元部により前記法線ベクトル群に基づいて前記対象物の三次元形状データを算出して復元表示し、
前記法線ベクトルの抽出は、
輝度画像変換部によりカラー取込画像を輝度画像に変換し、
水平成分抽出部により前記輝度画像に基づき前記各微小面の法線ベクトルの水平成分を抽出し、
垂直成分抽出部により前記輝度画像に基づき前記各微小面の法線ベクトルの垂直成分を抽出し、
法線ベクトル正規化部により前記微小面の各面の法線ベクトルの水平成分と垂直成分により正規化された法線ベクトルを算出し、
前記水平成分抽出部で抽出する前記法線ベクトルの水平成分は、前記対象物を撮影した視線方向に直交する面に投影した単位長のベクトル成分であり、
前記垂直成分抽出部で抽出する法線ベクトルの垂直成分は、前記対象物の視線方向のベクトル成分であり、
前記水平成分抽出部によって、前記微小面を通る輝度等値線の接線ベクトルを生成し、
前記微小面が存在する面形状が凸面であった場合、前記輝度等値線の接線ベクトルを輝度の暗くなる方向に９０度回転して前記法線ベクトルの水平成分を求め、
前記微小面が存在する面形状が凹面であった場合、前記輝度等値線の接線ベクトルを輝度の明るくなる方向に９０度回転して前記法線ベクトルの水平成分を求め、
前記垂直成分抽出部によって、前記法線ベクトルの垂直成分を、平滑化した輝度画像の各微小面の輝度値に比例した値として算出することを特徴とする三次元形状復元方法。
【請求項６】
請求項５記載の三次元形状復元方法に於いて、
三次元形状データ算出による復元表示は、
積分処理部により前記正規化された法線ベクトルを積分することで前記対象物の三次元形状を生成し、
復元表示部により前記三次元形状を復元結果として表示する
ことを特徴とする三次元形状復元方法。
【請求項７】
コンピュータに、
三次元形状を有する対象物を撮影したカラー画像データを取り込む画像取込ステップと、
前記対象物を微小面に分割し、輝度情報に基づいて各微小面の法線ベクトルを抽出するため、カラー取込画像を輝度画像に変換する輝度画像変換ステップと：前記輝度画像に基づき前記各微小面の法線ベクトルの水平成分を抽出する水平成分抽出ステップと、前記輝度画像に基づき前記各微小面の法線ベクトルの垂直成分を抽出する垂直成分抽出ステップと、前記微小領域の各面の法線ベクトルの水平成分と垂直成分により正規化された法線ベクトルを算出する法線ベクトル正規化ステップとを実行させるためのプログラムとを記録したコンピュータ読み取り可能な記録媒体であって、
前記水平成分抽出ステップで抽出する前記法線ベクトルの水平成分は、前記対象物を撮影した視線方向に直交する面に投影した単位長のベクトル成分であり、
前記垂直成分抽出ステップで抽出する法線ベクトルの垂直成分は、前記対象物の視線方向のベクトル成分であり、
前記水平成分抽出ステップは、前記微小面を通る輝度等値線の接線ベクトルを生成し、
前記微小面が存在する面形状が凸面であった場合、前記輝度等値線の接線ベクトルを輝度の暗くなる方向に９０度回転して前記法線ベクトルの水平成分を求め：前記微小面が存在する面形状が凹面であった場合、前記輝度等値線の接線ベクトルを輝度の明るくなる方向に９０度回転して前記法線ベクトルの水平成分を求め：前記垂直成分抽出ステップは、前記法線ベクトルの垂直成分を、平滑化した輝度画像の各微小面の輝度値に比例した値として算出する法線ベクトル抽出ステップと、
前記法線ベクトル群に基づいて前記対象物の三次元形状データを算出して三次元形状を復元表示する三次元形状復元ステップによって構成されることを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、三次元形状を有する対象物を撮影したカラー画像から対象物の三次元形状データを作成してコンピュータグラフィックスにより復元するための三次元形状復元装置及び方法並びに三次元形状復元プログラムを記録したコンピュータ読取り可能な記録媒体に関し、特に、三次元対象物のカラー画像から変換した輝度画像に基づいて短時間でかつ正確に対象物の三次元形状を復元するための三次元形状復元装置及び方法並びに三次元形状復元プログラムを記録したコンピュータ読取り可能な記録媒体に関する。
【０００２】
【従来の技術】
近年、デジタルカメラやデジタルビデオ等の普及に伴い、撮影した画像データをパーソナルコンピュータに取り込んでプレゼンテーション等に利用することが盛んに行われている。この場合、撮影した画像データからパーソナルコンピュータ上で三次元形状データを生成することができれば、コンピュータグラフィックスによって撮影した対象物を復元することができ、撮影画像データの利用範囲が大幅に拡大する。
【０００３】
従来、三次元形状を持つ対象物を撮影した画像データのうちの輝度情報をもとに、対象物の三次元形状を復元する方法は、一般に「Shape From Shading」問題として知られており、各種のアプローチが試みられている。この復元方法としては、例えば特性曲線展開法と弛緩法が代表的なものとしてある。
特性曲線展開法は、Hornにより定式化され、画像の照明の方程式、即ち、面の傾きに関する非線形１階微分方程式を特性曲線に沿って解くことによって三次元形状情報を得るという方法である。具体的には、画面上の任意の点を中心として明暗の差がもっとも大きくなる点を順次結ぶことで特性曲線を求める。この特性曲線と反射率分布図により特性曲線上での面の傾きを求め、三次元形状を再構成する。
【０００４】
弛緩法は、外縁線拘束と滑らか拘束による方法である。曲面体の外縁線、即ち見かけ上の輪郭線上では、面の法線ベクトルは視線に直交するという初期条件を用いて、画素近傍の２乗誤差及び反射関数と観測される画像の輝度との２乗誤差の和を最小にするように、画素数に比例した連立方程式をガウス・ザイデルの繰り返し法によって面の傾きを解く方法である。
【０００５】
換言すると、弛緩法は、物体の輪郭線上では、面の傾きが輪郭線の接線の傾きにより決定できることを利用し、これを境界条件として形状全体の面の傾きを求めて三次元形状を再構成する。
【０００６】
【発明が解決しようとする課題】
しかしながら、このような従来の撮影画像の輝度情報に基づいて三次元形状を復元する方法は、次のような問題がある。
まず特性曲線展開法においては、特性曲線に沿って解を求めるため、特性曲線が得られない部分においては解を求めることができない。また、特性曲線の開始点では、近似的に面の傾きを人為的に与える必要があるが、この際の誤差が全体の復元形状に影響を与えやすい。
【０００７】
また弛緩法においては、自然画像などでは見かけ上の輪郭線を正確に求めることは難しく、初期条件に誤差が含まれやすい。また、画素数に比例した連立方程式を繰り返し法によって解くため、処理に時間を要する。
本発明は、このような従来の問題点に鑑みてなされたもので、三次元対象物を撮影した画像データから、輝度情報に基づいて短時間で且つ正確に三次元形状を復元することのできる三次元形状復元装置及び方法並びに三次元形状復元プログラムを記録したコンピュータ読取り可能な記録媒体を提供することを目的とする。
【０００８】
【課題を解決するための手段】
図１は本発明の原理説明図である。本発明の三次元形状復元装置は、図１（Ａ）のように、三次元形状を有する対象物を撮影したカラー画像データを取り込む画像取込部２４と、対象物を例えば画素単位の微小面に分割し輝度情報に基づいて各微小面の法線ベクトルを抽出する法線ベクトル抽出部２６、及び法線ベクトル群に基づいて対象物の三次元形状データを算出して復元表示する三次元形状復元部５０で構成される。
【０００９】
本発明にあっては、図１（Ｂ）のように、撮影する対象物体６６における微小面７０の法線ベクトル７２を、視線方向６８のベクトル垂直成分７６と視線方向に直交する面７８のベクトル水平成分７４に分解し、垂直成分７６は微小面の輝度に比例し、水平成分７４は輝度の等値線の接線方向から決定するものである。法線ベクトル検出部２６は、カラー取込画像を輝度画像に変換する輝度画像変換部２８、輝度画像に基づき各微小面の法線ベクトルの水平成分を抽出する水平成分抽出部３０、輝度画像に基づき各微小面の法線ベクトルの垂直成分を抽出する垂直成分算出部３２、及び各微小面の法線ベクトルの水平成分と垂直成分により正規化された法線ベクトルを算出する法線ベクトル正規化部４８を備える。
【００１０】
水平成分抽出部３０で抽出する法線ベクトルの水平成分７４は、図１（Ｂ）の対象物６６の視線方向６８に直交する面に投影した単位ベクトル長（大きさ１．０）の成分であり、垂直成分抽出部３２で抽出する法線ベクトルの垂直成分７６は、対象物の輝度に比例した視線方向の成分である。
水平成分抽出部３０は、輝度画像を平滑化する輝度画像平滑部３４、平滑化した輝度画像の画素輝度値を任意の刻み幅で丸め込んで輝度コンター画像（輝度等高線画像）に変換する輝度コンター変換部３６、輝度コンター画像に基づき任意の刻み幅で輝度等値線線を生成する輝度等値線生成部３８、輝度等値線上での微小領域の各面について法線ベクトルの水平成分を算出する水平成分算出部４０を備える。
【００１１】
輝度等値線生成部３８は、例えばコンター画像上で輝度値が変化する画素を探索して追跡開始点とし、この追跡開始点を中心に所定回りに周囲の８画素を調べ、着目した画素の輝度値が追跡開始点と同じで、次に着目する画素の輝度値が追跡開始点より大きい場合、現在の着目画素を次の追跡開始点とし、複数の追跡開始点を結んで輝度等値線を生成する。
【００１２】
水平成分算出部４０は、微小面を通る輝度等値線の接線ベクトルを生成し、接線ベクトルを９０度回転して法線ベクトルの水平成分を求める。この場合、微小面が存在する面形状が凸面であった場合、輝度等値線の接線ベクトルを輝度の暗くなる方向に９０度回転して法線ベクトルの水平成分を求める。また微小面が存在する面形状が凹面であった場合には、逆に輝度等値線の接線ベクトルを輝度の明るくなる方向に９０度回転して法線ベクトルの水平成分を求める。
【００１３】
垂直成分抽出部３２は、法線ベクトルの垂直成分を、平滑化した輝度画像の各微小面の輝度値に比例した値として算出する。具体的には、カラー画像を撮影した際の視線方向、撮像方向等の撮影条件を入力する撮影条件入力部４２、視線方向に対する処理対象物の面角度と輝度値との関係を定義した反射テーブルを作成する反射テーブル作成部４４、及び輝度画像の各微小面の輝度値による反射テーブルの参照で、各面の法線ベクトルの垂直成分を算出する垂直成分算出部４６を備える。
【００１４】
反射テーブル生成部４４は、面角度θに比例する輝度値Ｂを格納した線形反射テーブルを生成し、垂直成分算出部４６は、輝度画像の各微小面の輝度Ｂｓに所定のスケール係数Ｋを乗じて線形反射テーブルの輝度値Ｂに変換し、この輝度値Ｂによる線形反射テーブルの参照で対応する面角度θを求め、長さ１の法線ベクトルの垂直成分Ｎｚを
Ｎｚ＝ｓｉｎθ
により算出する。
【００１５】
また反射テーブル生成部４４は、面角度θに比例する輝度値Ｂを格納した線形反射テーブルに加え、更に、線形反射テーブルの面角度θに対する輝度値Ｂの関係を対象物の材質、光源の種類等に基づき変形した非線形反射テーブルを生成する。
この場合、垂直成分算出部４６は、平滑化された輝度画像の各微小面の輝度Ｂｓに所定のスケール係数Ｋを乗じて反射テーブルの輝度値Ｂを求め、次にテーブル輝度値Ｂにより非線形反射テーブルを参照して面角度θを求め、法線ベクトルの垂直成分Ｎｚを算出する。
【００１６】
垂直成分算出部４６で使用するスケール係数Ｋとしては、同じ面角度θにおける反射テーブルの輝度値Ｂと撮影画像の輝度値Ｂｓとの比率
Ｋ＝（Ｂ／Ｂｓ）
を算出する。例えば、光源方向に直交する面角度９０度における反射テーブルの輝度最大値Ｂmax と撮影画像の輝度値Ｂsmaxとの比率
Ｋ＝（Ｂmax ／Ｂsmax）
を算出する。
【００１７】
法線ベクトル正規化部４８は、単位ベクトル長（大きさ１）の水平成分（Ｎｘ，Ｎｙ）と垂直成分（Ｎｚ）の合成で得られる法線ベクトルを、単位ベクトル長（大きさ１．０）の法線ベクトルに正規化する。即ち、法線ベクトル正規化部４８は、垂直成分Ｎｚに基づいて単位ベクトル長の法線ベクトルを合成するための正規化水平成分ＨＬを
ＨＬ＝√（１−Ｎｚ2 ）
として算出する。
【００１８】
次に正規化水平成分ＨＬの単位ベクトル長１．０に対する比率（ＨＬ／１．０）を、法線ベクトルの水平成分（Ｎｘ，Ｎｙ）の各々に乗じて正規化水平成分（Ｎｎｘ，Ｎｎｙ）を
Ｎｘｎ＝Ｎｘ・（ＨＬ／１．０）
Ｎｙｎ＝Ｎｙ・（ＨＬ／１．０）
として求め、法線ベクトルを正規化する。
【００１９】
図１（Ａ）の三次元形状復元部５０は、正規化された法線ベクトルを積分することで対象範囲の三次元形状を生成する積分処理部５１、及び三次元形状を復元結果として表示する復元表示部５２を備える。
積分処理部５１は、視線方向に直交する基準面を設定し、対象物体の任意の微小面を初期位置として基準面上の投影微小面までの視線方向の高さを初期値として設定し、初期位置の微小面に隣接する他の微小面の高さ方向の変異を、法線ベクトルに基づく面の傾きから求めて高さの初期値に加算することで、基準面からの高さを順次算出して三次元形状データを生成する。
【００２０】
更に、取り込んだカラー画像に対し三次元形状を復元する画像範囲を選択する画像範囲選択部２５を設ける。画像範囲選択部２５は、各画素データの選択回数をラベル番号に使用して選択範囲をラベリングする。
画像範囲選択部２５は、例えば対象物に含まれる任意のカラー画素を指定し、指定画素のカラー画素値に対し所定の許容範囲のカラー画素値をもち且つ指定画素に連続する画素を選択する。
【００２１】
また本発明は、三次元形状復元方法を提供するもので、
三次元形状を有する対象物を撮影したカラー画像データを取り込む画像取込過程；
対象物を微小面に分割し、輝度情報に基づいて各微小面の法線ベクトルを抽出する法線ベクトル抽出過程；
法線ベクトル群に基づいて対象物の三次元形状データを算出して復元表示する三次元形状復元過程；
を備えたことを特徴とする。
【００２２】
三次元形状復元過程の法線ベクトル検出過程は、
カラー取込画像を輝度画像に変換する輝度画像変換過程；
輝度画像に基づき各微小面の法線ベクトルの水平成分を抽出する水平成分抽出過程；
輝度画像に基づき各微小面の法線ベクトルの垂直成分を抽出する垂直成分抽出過程；
各微小面の法線ベクトルの水平成分と垂直成分により正規化された法線ベクトルを算出する法線ベクトル正規化過程；
を備える。
【００２３】
また三次元形状復元過程は、
正規化された法線ベクトルを積分することで対象範囲の三次元形状を生成する積分処理過程；
三次元形状を復元結果として表示する復元表示過程；
を備える。これ以外の点は、三次元形状復元装置と同じである。
【００２４】
更に、本発明は、三次元形状復元プログラムを記憶したコンピュータ読取り可能な記録媒体を提供するもので、三次元形状を有する対象物を撮影したカラー画像データを取り込む画像取込部、対象物を微小面に分割し、輝度情報に基づいて各微小面の法線ベクトルを抽出する法線ベクトル抽出部、及び法線ベクトル群に基づいて対象物の三次元形状データを算出して復元表示する三次元形状復元部を備えたことを特徴とする。
【００２５】
ここで法線ベクトル検出部は、カラー取込画像を輝度画像に変換する輝度画像変換部、輝度画像を平滑化する輝度画像平滑部、輝度画像に基づき各微小面の法線ベクトルの水平成分を抽出する水平成分抽出部、輝度画像に基づき各微小面の法線ベクトルの垂直成分を抽出する垂直成分抽出部、微小領域の各面の法線ベクトルの水平成分と垂直成分により正規化された法線ベクトルを算出する法線ベクトル正規化部を備える。
【００２６】
また三次元形状復元部は、正規化された法線ベクトルを積分することで対象範囲の三次元形状を生成する積分処理部、及び三次元形状を復元結果として表示する復元表示部を備える。これ以外の点は、三次元形状復元装置と同じである。
【００２７】
【発明の実施の形態】
＜目次＞
１．装置構成と機能
２．画像取込みと範囲選択
３．法線ベクトル水平成分の抽出
４．法線ベクトル垂直成分の抽出
５．法線ベクトルの正規化
６．三次元形状の復元
１．装置構成と機能
図２は本発明による三次元形状復元装置のハードウェア構成のブロック図である。図２において、本発明の三次元形状復元装置は、例えばＰＣ／ＡＴ互換器等のコンピュータ装置を用いた処理装置１０を有し、処理装置１０に対し処理対象とするカラー画像を入力するための撮像装置として、例えばデジタルカメラ装置１２、ビデオカメラ装置１４、イメージスキャナ装置１６を設けている。
【００２８】
デジタルカメラ装置１２、ビデオカメラ装置１４及びイメージスキャナ装置１６の処理装置１０とのインタフェースは、例えばＳＣＳＩもしくはＲＳ２３２Ｃ等が使用される。ＰＣ／ＡＴ互換器を使用した処理装置１０は、例えば３２メガバイト以上の主メモリ１８を備えている。
処理装置１０はデジタルカメラ装置１２、ビデオカメラ装置１４またはイメージスキャナ装置１６からカラー画像データを取り込み、カラー画像データに含まれる任意の対象物（又は対象範囲）について、輝度画像に変換した後に対象物を構成する例えば画素単位となる微小面ごとの面の法線ベクトルを求め、求めた法線ベクトル群を作り出す形状を逆に求めることで、対象物の三次元形状データを生成し、対象物を復元表示させる。
【００２９】
処理装置１０に続いては３Ｄアクセラレータ２０が設けられ、処理装置１０で微小面の法線ベクトル群から作り出された三次元形状データを入力して、コンピュータグラフィックスの手法により、任意の視線方向から見た対象物の画像をディスプレイ２２上に復元表示させる。
図３は図２の処理装置１０にインストールされた三次元形状復元ソフトウェアによって実現される本発明の三次元形状復元処理の機能ブロック図である。
【００３０】
図３において、本発明の三次元形状復元装置は、画像取込部２４、画像範囲選択部２５、法線ベクトル抽出部２６及び形状復元部５０で構成されている。画像取込部２４はデジタルカメラ装置１２、ビデオカメラ装置１４またはイメージスキャナ装置１６から例えばＲＧＢカラー画像データを取り込む。
画像範囲選択部２５は、画像取込部２４で取り込んだカラー画像の中の三次元形状の復元を行う画像範囲の選択するためのラベリングを行う。法線ベクトル抽出部２６は、対象物を構成している微小面ごとの面の法線ベクトルを求めるため、カラー画像の輝度情報に着目し、微小面の法線ベクトルを水平成分と垂直成分に分けて抽出する。
【００３１】
ここで、対象物の微小面の法線ベクトルを分解した水平成分と垂直成分は図４のように定められている。図４は、対象物６６に光源方向６９から光を照射し、視線方向６８から対象物を撮像している。この対象物６６上のある微小面７０に着目すると、微小面７０の面方向に直交する外側に法線ベクトル７２が設定される。
【００３２】
本発明にあっては、法線ベクトル７２を水平成分７４と垂直成分７６に分解して抽出する。水平成分７４は、対象物６６に対する視線方向６８に対し直交する面７８に平行なベクトル成分である。また垂直成分７６は、対象物６６に対する視線方向６８に平行なベクトル成分である。
ここで三次元座標（Ｘ，Ｙ，Ｚ）として視線方向６８に直交する面７８を二次元座標（Ｘ，Ｙ）平面とし、視線方向６８をＺ軸方向としている。このため、法線ベクトル７２の大きさをＮとすると、水平成分７４は（Ｎｘ，Ｎｙ）で表され、垂直成分７６は（Ｎｚ）で表される。
【００３３】
再び図３を参照するに、法線ベクトル抽出部２６にあっては、図４に示した法線ベクトル７２の垂直成分７６は微小面７０の輝度値の大きさに比例していると考え、また水平成分７４は対象物６６上で輝度の等値線を考え、微小面７０を通る輝度等値線の接線方向により決定する。
このように法線ベクトルを水平成分と垂直成分に分解して抽出するため、法線ベクトル抽出部２６には輝度画像変換部２８が設けられ、これに続いて水平成分抽出部３０と垂直成分抽出部３２が設けられている。
【００３４】
水平成分抽出部３０は、輝度画像平滑部３４、輝度コンター変換部３６、輝度等値線生成部３８及び水平成分算出部４０で構成される。一方、垂直成分抽出部３２は、光源方向及び撮影方向を設定する撮影条件入力部４２、反射テーブル作成部４４及び垂直成分算出部４６で構成される。
更に法線ベクトル抽出部２６には法線ベクトル正規化部４８が設けられる。法線ベクトル正規化部４８は、後の説明で明らかにするように、水平成分抽出部３０における法線ベクトルの水平成分が大きさ１の単位ベクトル成分として求められており、これに対し垂直成分が実際の輝度値に比例した正しいベクトルの大きさとして求められていることから、垂直成分に基づいて水平成分を、大きさ１の単位ベクトル長となる法線ベクトルの水平成分となるように垂直成分に基づいて正規化する。
【００３５】
法線ベクトル抽出部２６に続いて設けられた形状復元部５０には積分処理部５１と復元表示部５２が設けられる。積分処理部５１は、法線ベクトル抽出部２６で抽出された対象物の各微小面の法線ベクトル群を作り出す三次元形状を逆に求める積分処理を行い、対象物の三次元形状データを生成する。復元表示部５２は積分処理部５１で求められた対象物の三次元形状データに任意の視線方向を設定することで二次元表示データを作成し、読取りカラー画像から得られたＲＧＢデータを使用したコンピュータグラフィックスにより、対象物を復元してディスプレイに表示する。
【００３６】
図５，図６には、図３に示した本発明の三次元形状復元装置の処理手順に従った処理画像を示している。まず図５（Ａ）は図３の画像取込部２４で適宜の撮像装置から取り込まれたカラー取込画像５４であり、右手を握った拳の撮影画像５４を取り込んでいる。このカラー取込画像５４は、図３の法線ベクトル抽出部２６に設けている輝度画像変換部２８により、図５（Ｂ）のような輝度変換画像５６に変換される。
【００３７】
この輝度変換画像５６は、更に図３の輝度コンター変換部３６及び輝度等値線生成部３８の処理により、図５（Ｃ）のような輝度等値線画像５８が生成される。この輝度等値線画像５８は、輝度変換画像５６における同一輝度の画素を結んだ線の集合である。
続いて図３の法線ベクトル抽出部２６に設けている水平成分算出部４０によって抽出された水平成分の集合である図６（Ｄ）のような法線ベクトル水平成分抽出画像６０が図５（Ｃ）の輝度等値線画像５８に基づいて求められる。
【００３８】
一方、図３の垂直成分抽出部３２において、図５（Ｂ）の輝度変換画像５６の輝度情報に基づき、図６（Ｅ）のような各微小面についての法線ベクトル垂直成分抽出画像６２が求められる。尚、図６（Ｄ）の法線ベクトル水平成分抽出画像６０は、図３の法線ベクトル正規化部４８において垂直成分に基づいて正規化したベクトル水平成分となっている。
【００３９】
このようにして図６（Ｄ）の法線ベクトル水平成分抽出画像６０及び図６（Ｅ）の法線ベクトル垂直成分抽出画像６２が得られると、この法線ベクトル群について図３の形状復元部５０に設けている積分処理部５１で、法線ベクトル群を作り出す三次元形状を逆に求める積分処理を行って対象物の三次元形状データを生成し、この三次元形状データに基づき復元表示部５２で図６（Ｆ）のような三次元形状復元画像６４を生成して表示する。この三次元形状復元画像６４は、図５（Ａ）の正面から見たカラー取込画像５４の対象物について、視線方向を斜め方向に設定して復元表示している。
【００４０】
図７は図３に示した本発明の三次元形状復元装置の処理手順のフローチャートである。まずステップＳ１で、デジタルカメラ装置１２、ビデオカメラ装置１４またはイメージスキャナ装置１６で撮像したカラー画像を画像取込部２４によって取り込む。次にステップＳ２で、取り込んだカラー画像を対象に画像範囲選択部２５で任意の対象範囲を選択して１以上の値を使用したラベル番号によるラベリングを行う。
【００４１】
ここでカラー取込画像に対する対象範囲の選択は、ユーザが必要に応じて自由に行うことができ、また特に必要がなければ全範囲をラベリングして選択してもよい。また対象範囲を選択する際に、復元対象としない部分についてはユーザが任意にラベル番号０を設定することで、本発明による三次元形状の復元処理から除外し、本発明による三次元形状の復元処理が終了した後の後処理で補足的に三次元形状を補うようにしてもよい。
【００４２】
次にステップＳ３で、取り込んだカラー画像を輝度画像変換部２８によって輝度画像に変換し、更に、ステップＳ４で輝度画像を平滑化する。この輝度画像の平滑化は、自然画像等では人間の目で見ると同一色と認識されても、輝度値としての数値で見ると極端に値が異なる部分があり、この輝度値の急激な変化が三次元形状の復元時にはノイズとして悪影響を及ぼすことから、極端な輝度値のずれを無くすために平滑化する。
【００４３】
次にステップＳ４で、輝度画像に基づき微小面を構成する画素の法線ベクトルの水平成分を抽出する。この水平成分の抽出は、輝度コンター画像に変換した後に、輝度等値線を生成し、最終的に輝度等値線を接線ベクトルに基づき水平成分も算出する。
続いてステップＳ６で、輝度画像の微小面に対応した各画素の法線ベクトルの垂直成分を抽出する。この法線ベクトルの垂直成分の抽出は、光源方向及び撮影方向等の撮影条件を入力し、対象物について輝度と微小面の面角度との対応関係を定義する反射テーブルを作成し、取込画像の画素輝度値による反射テーブルの参照で法線ベクトルの垂直成分も算出する。
【００４４】
次にステップＳ７で、対象物を構成する各画素の法線ベクトルの水平成分と垂直成分により正規化された大きさ１の法線ベクトルを算出する。具体的には、垂直成分に基づき、大きさ１の法線ベクトルに対応した水平成分を求める。
このようにして対象物の各微小面に対応した画素の法線ベクトル群が抽出できたならば、ステップＳ８で、正規化された法線ベクトル群を作り出す微小面の形状を逆に求める積分処理により三次元形状データを作成し、ステップＳ９で、任意の視線方向の設定により作成された三次元形状データから二次元形状データを生成し、且つステップＳ１で取り込んだカラー画像の対応するカラー画素値を使用して対象物を復元表示する。
【００４５】
次に図３及び図７に示した本発明の三次元形状復元処理の詳細を説明する。
２．画像取込みと範囲選択
図３のデジタルカメラ装置１２にあっては、撮影した画像を内蔵したメモリやミニディスク等の記憶装置に格納している。またビデオカメラ装置１４は撮影した画像をテープに格納している。更に紙やフィルム等に記録された画像はイメージスキャナ装置１６で読み取ることで、電子化されたカラー画像データとすることができる。
【００４６】
このようなデジタルカメラ装置１２、ビデオカメラ装置１４またはイメージスキャナ装置１６からのカラー画像データは、画像取込部２４が例えば図５（Ａ）のようなカラー取込画像として取り込み、取込結果は例えば図８のようなＲＧＢテーブル８２に格納される。ＲＧＢテーブル８２は一例として（４×４）ドットの画素Ｐ１１〜Ｐ４４を例にとっており、例えば画素Ｐ１４のようにＲ成分８４，Ｇ成分８５，Ｂ成分８６のＲＧＢ画素値を格納している。
【００４７】
Ｒ成分８４，Ｇ成分８５，Ｂ成分８６は各々８ビットデータであり、０〜２５５の値をとる。更に有効フラグ８８が設けられ、ビット１をセットすることでＲＧＢ画素値を有効とし、ビット０をセットすることでＲＢＧ画素値を無効とする。この有効フラグ８８は、テーブルに格納されている値が処理上意味があるか否かを示し、有効フラグ８８が有効となっている画素についてのみ処理を行うことで全体での処理速度の向上を図っている。
【００４８】
図８のＲＧＢテーブル８２の場合、画像読み込み時に有効フラグ８８は全て有効となっており、後に説明する対象範囲を選択した場合には、対象範囲内は有効、対象範囲外は無効となる。この図８のＲＧＢテーブル８２のように取り込まれたカラー画像データは、図３の画像範囲選択部２５に与えられ、三次元形状の復元対象とする対象範囲の選択が行われる。
【００４９】
図９のフローチャートは、図３の画像範囲選択部２５による対象範囲選択処理のフローチャートであり、カラー画像上の任意の画素を指定することで自動的に対象範囲を選択することができる。即ち、ステップＳ１でカラー画像上の任意の画素を指定すると、ステップＳ２で、指定された画素の画素値、即ちＲＧＢ値を基準に任意の許容幅αに含まれるＲＧＢ値を持つ画素の内、指定された画素に連続する画素を選択し、ステップＳ３で図１０に示すようなラベルテーブル９０に登録する。
【００５０】
図１０のラベルテーブル９０は、画素Ｐ１１〜Ｐ４４ごとにラベル値として使用する選択回数９２と有効フラグ８８を設けている。有効フラグ８８は画像読み込み時は全て無効となっている。選択回数９２は初期状態にあっては「０」であり、図９の選択処理により対象範囲の画素として選択されると、選択回数９２の値が「０」から「１」となる。また選択回数９２は、複数回選択された場合には選択回数の累積値が格納される。
【００５１】
この結果、ラベルテーブル９０に登録された選択回数９２の値が「１」以上の領域について有効フラグ８８がビット１にセットされて有効となり、対象範囲としての選択が行われる。
例えば図５（Ａ）のカラー取込画像５４を例にとると、図９のステップＳ１でカラー取込画像５４の中の手の部分の任意の「肌色」の画素を指定すると、指定した肌色画素に対し所定の許容範囲±αをもつ他の連続する画素の選択が自動的に行われ、手の部分となる肌色領域を対象範囲として選択することができる。
【００５２】
ここで図９の選択処理にあっては、任意の画素を指定することによる対象範囲の自動選択を例にとっているが、これ以外の選択処理として多角形、直線等により任意の閉ループ形状をディスプレイ上で設定し、この閉ループ形状に囲まれる領域の内側に含まれる画素を対象範囲として選択するようにしてもよい。
３．法線ベクトル水平成分の抽出
図３の法線ベクトル抽出部２６にあっては、まず輝度画像変換部２８で取り込んだカラー画像を輝度画像に変換している。図１１は本発明における輝度画像変換処理のフローチャートである。まずステップＳ１で、図１０のように作成したラベルテーブル９０の参照により対象範囲を認識し、対象範囲の画素について、図８のＲＧＢテーブル８２から画素値を抽出する。
【００５３】
続いてステップＳ２で、０．０〜１．０の値を持つ正規化輝度値Ｙと、０〜２５５の階調値を持つ輝度値ｙｎを次式により算出する。
Ｙ  ＝0.299 Ｒ＋0.587 ・Ｇ＋0.114 ・Ｂ            （１）
Ｙｎ＝Ｙ・２５５                                  （２）
この輝度値への変換式は、ＲＧＢカラー空間からＹＩＱ原色系への変換式として知られたＹ信号への変換式と同じである。ステップＳ２で正規化輝度値Ｙと輝度値Ｙｎの算出が済むと、ステップＳ３で図１２のように輝度テーブル９４に登録し、ステップＳ４で全対象範囲の画素について処理を繰り返す。
【００５４】
図１２の輝度テーブル９４は、画素Ｐ１１〜Ｐ４４のそれぞれについて、例えば画素Ｐ１４に示すように、正規化輝度値Ｙと輝度値Ｙｎ、更に有効フラグ８８を登録している。有効フラグ８８は、対象範囲の選択が行われたＲＧＢテーブル８２と同じ内容を格納している。このカラー画像から輝度画像への変換は、対象物の表面に対する光源の影響を取り出し易くして法線ベクトルを正確に抽出するためであり、変換式としては（１）式以外に他の変換式を利用してもよい。
【００５５】
図１３は図１１の輝度画像変換処理に続いて、図３の輝度画像平滑部３４より行われる輝度画像平滑化処理のフローチャートである。この輝度画像平滑化処理は、自然画像等のカラー画像にあっては、カラー画像から変換された輝度画像において、自然画像等については人間の目では同じ色と認識できても輝度値としての数値を見ると極端に値が異なっている部分がある。
【００５６】
このような輝度値の極端な変化は、本発明の処理による三次元形状復元の際にはノイズとして復元画像に悪影響を及ぼす。そこで、着目する画素と周囲の画素の値を比較し、その間における極端な値のずれを補正する平滑化処理を行う。即ち図１３の輝度画像平滑化処理にあっては、まずステップＳ１で図１２の輝度テーブル９４の画素を１つ抽出し、ステップＳ２で平滑化演算を行う。この平滑化演算は、例えば次のいずれかとする。
【００５７】
▲１▼周囲画素の平均を着目画素の画素値とする。
▲２▼周囲画素を大きさの順に並べ、中央画素の画素値を着目画素の画素値とする。
続いてステップＳ３で、平滑化が済んだ画素値を再び図１２の輝度テーブル９４に格納し、これをステップＳ４で全対象画素について繰り返す。
【００５８】
図１４は図１３の輝度画像平滑化処理に続いて、図３の輝度コンター変換部３６で行われる輝度コンター変換処理のフローチャートである。この輝度コンター変換処理は、平滑化した画像を任意の輝度値の刻み幅で丸め込む演算処理を行うことで、等高線的な画素分布を持った輝度画像に変換する。即ちステップＳ１で図１３による平滑化処理が済んだ図１２の輝度テーブル９４から画素を１つ抽出し、ステップＳ２で画素の輝度値を所定の刻み幅で丸め込む。
【００５９】
この丸め込みは、例えば０〜２５５の階調値を持つ輝度値の第１位の切り捨て、四捨五入または繰り上げ等がある。この丸め込みにより得られたコンター画素は、ステップＳ３で図１５のコンターテーブル１００に格納し、ステップＳ４で全対象画素についてこの同じ処理を繰り返す。図１５のコンターテーブル１００は、画素Ｐ１１〜Ｐ１４について、例えば画素Ｐ１４のようにコンター輝度値１０２と有効フラグ８８が格納されている。有効フラグ８８は図１２の輝度テーブル９４と同じ内容を格納している。
【００６０】
図１６は、図１４の輝度コンター変換処理に続いて図３の輝度等値線生成部３８で行われる輝度等値線変換処理のフローチャートである。ここで輝度等値線とは、図１４の処理で生成されたコンター画像について、異なる輝度値の境界画素を結んだ一種の等高線ということができる。
図１７は図１６の輝度等値線変換処理の処理内容を説明する。図１７（Ａ）は図１４の輝度コンター変換処理で生成されたコンター画像の一例であり、（５×９）の４５画素を例にとっている。図１６の輝度等値線変換処理にあっては、例えば図１７（Ａ）の輝度値「２０」をもつ画素Ｐ０を追跡開始点とし、この追跡開始点の画素Ｐ０につき、図１７（Ｂ）に取り出して示すように、隣接する周囲の８画素を反時計回り（左回り）に調べる。
【００６１】
このとき次の条件を満足すれば、その隣接画素を次の追跡開始点として登録する。
条件▲１▼：着目した画素値が追跡開始点と同じであること。
条件▲２▼：次の着目画素の画素値が追跡開始点より大きいこと。
このような条件▲１▼▲２▼を図１７（Ｂ）の追跡開始点の画素Ｐ０の周囲の画素Ｐ１から反時計回りに順番に調べると、６番目の画素Ｐ６が条件▲１▼▲２▼を満足する。このため、画素Ｐ６が次の追跡開始点として記録される。このような処理を図１７（Ａ）のコンター画素１０４について行うと、図１７（Ｃ）のように、輝度等値線１０６を生成することができる。
【００６２】
この追跡開始点の検出処理は、検出済みの着目点を検出した場合あるいは次の追跡開始点が検出できない場合には終了し、次の新たな追跡開始点の設定による処理に移行する。
この輝度等値線の変換処理を図１６のフローチャートについて説明すると次のようになる。まずステップＳ１で、例えば図１７（Ａ）のようにコンターテーブル上のコンター画像１０４につき輝度値の変化する境界を探索して追跡開始点として記憶する。続いてステップＳ２を介してステップＳ３に進み、図１７（Ｂ）のように追跡開始点の周囲の隣接８画素を左回りに順番に着目する。
【００６３】
隣接画素の１つに着目した場合には、まずステップＳ４で着目画素の輝度値が追跡開始点と同じか否かチェックする。同じであればステップＳ５で次の着目画素の輝度値が追跡開始点より大きいか否かチェックする。追跡開始点より大きければ、ステップＳ６で検出済みの着目画素か否かチェックし、検出済みの着目画素でなければ、ステップＳ７で現在の着目画素を次の追跡開始点として記憶する。
【００６４】
ステップＳ４またはステップＳ５の条件を満足しない場合には、ステップＳ３に戻って次の隣接画素に着目して同じ処理を繰り返す。このような処理をステップＳ２で新たな追跡開始点がなくなるまで繰り返す。
図１８は、図１６の輝度等値線変換処理に続いて図３の水平成分算出部４０で行われる水平成分抽出処理のフローチャートである。この水平成分抽出処理は、図１６の輝度等値線変換処理で図１７（Ｃ）のように求めた輝度等値線１０６上の各画素について、各画素の輝度等値線に対する接線ベクトルを求め、この接線ベクトルを９０度回転したベクトルを法線ベクトルの水平成分とする処理である。
【００６５】
図１９は図１８の水平成分抽出処理の原理を説明する。図１９（Ａ）は微笑面で形成される球体の対象物の一部を取り出しており、微小面７０は法線ベクトル７２を備えている。この法線ベクトル７２の水平成分は、光源方向６８に直交する投影平面７８に法線ベクトル７２を平行投影した水平成分７４である。
一方、図１９（Ｂ）は対象物６６の輝度情報に基づいて生成された微小面７０を通る輝度等値線１０６の接線ベクトル１１０である。この接線ベクトル１１０を対象物の輝度の暗くなる方向、即ち反時計回りに９０度回転すると、９０度回転したベクトルは、図１９（Ａ）の投影平面７８に投影した法線ベクトル７２の投影成分となる水平成分７４に一致している。
【００６６】
そこで本発明にあっては、図１９（Ｂ）のように輝度画像の等値線から求めた接線ベクトル１１０を輝度が暗くなる方向に９０度回転することによって、法線ベクトル７２の水平成分７４を算出している。
図８のフローチャートについて水平成分抽出処理を説明すると次のようになる。まずステップＳ１で、例えば図５（Ｃ）のように得られた輝度等値線画像５８における任意の等高線上の画素に着目する。次にステップＳ２で、同じ等高線上の前後の画素から着目画素の接線方向の単位ベクトルを求める。この接線方向の単位ベクトルの求め方としては、例えば図２０のように、黒丸の着目画素Ｐ７を例にとると、輝度等値線１０６上に位置する前後の画素Ｐ１〜Ｐ６、Ｐ８〜Ｐ１３とのそれぞれを結んだ方向ベクトルの和の平均として着目画素Ｐ７の接線ベクトルを決定する。
【００６７】
ここで輝度等値線１０６は折れ線で表現した場合を例にとっているが、曲線に変換できる場合には、画素を通る曲線部分の曲率中心を求め、曲率中心に対する９０度方向の接線ベクトルを求めればよい。
再び図１８を参照するに、ステップＳ２で輝度等値線に対する接線方向の大きさ１の単位ベクトルを求めたならば、ステップＳ３で対象面が凸面か否かチェックする。ここで図１９（Ａ）（Ｂ）のように対象物の微小面７０が存在する面が凸面であった場合には、ステップＳ４に進み、接線方向の単位ベクトルを輝度が暗くなる方向に９０度回転させて法線ベクトルの水平成分とする。
【００６８】
ここで法線ベクトルの水平成分は、図４の視線方向６８に直交する面７８に平行な面であることから二次元の水平成分（Ｎｘ，Ｎｙ）で表される。これに対し対象物の面が窪んだ凹面の場合にはステップＳ５に進み、接線方向の単位ベクトルを逆に明るくなる方向に９０度回転させて法線ベクトルの水平成分（Ｎｘ，Ｎｙ）とする。
【００６９】
このようにして法線ベクトルの水平成分（Ｎｘ，Ｎｙ）が得られたならば、ステップＳ６で図２１のような法線ベクトルテーブル１１４に登録する。法線ベクトルテーブル１１４は、例えは画素Ｐ１４に示すように、Ｘ軸水平成分Ｎｘ、Ｙ軸水平成分Ｎｙ、及び垂直成分Ｎｚ、更に有効フラグ８８を格納している。有効フラグ８８は図１５のコンターテーブル１００と同じ内容を格納している。このようなステップＳ１〜Ｓ６の処理を、ステップＳ７で全対象画素が終了するまで繰り返す。
４．法線ベクトル垂直成分の抽出
図２２は、図３の垂直成分抽出部３２による法線ベクトルの垂直成分の抽出処理のフローチャートである。ここでは、光源の方向と視線方向の開きが無視できる程度に小さいものとして説明を行う。垂直成分抽出処理にあっては、まずステップＳ１で図３の反射テーブル作成部４４が撮影条件入力部４２から得られた撮影条件に基づいて反射テーブルを作成する。ここで図４のような視線方向６８で照明された対象物６６に着目すると、対象物６６の表面の内、視線方向６８に向いている部分は明るく、したがって輝度が高く、光源とは別の方向を向いている部分は暗く、輝度が低くなっている。
【００７０】
したがって、対象物６６について得られた輝度画像上の各画素の輝度は、画素が存在する微小面の光源への向き具合に対応していると考えることができる。この画素の輝度値から画素が存在する微小面の光源への向き具合の変換を、図２２のステップＳ１で作成する反射テーブルを使用して行う。
図２３は図２２のステップＳ１で作成する反射テーブルの特性である。この反射テーブルは、横軸にテーブル輝度値Ｂをもち、縦軸に光源方向に対する面の角度θをもっている。ここでテーブル輝度値Ｂを０．０〜１．０で正規化して表すと、面の輝度が最も大きいθ＝９０度では理想的にはテーブル輝度Ｂは１．０であり、光源方向に対する角度θ＝０度の場合にはテーブル輝度値Ｂは０．０となる。
【００７１】
しかし、実際には面角度θ＝９０度でテーブル輝度値Ｂは１．０とはならず、例えば図２４のようにθ＝９０度で例えば０．８〜０．７の値となる。また面角度θ＝０でテーブル輝度値Ｂが０．０となるのではなく、図２４のように例えばθ＝３０度で輝度値Ｂ＝０．２〜０．０となる。その結果、面角度θに対し輝度値Ｂとの間に比例関係があったとすると、この場合の特性は直線で現わした線形テーブル特性１２４のようになる。
【００７２】
この線形反射テーブル特性１２４を用いた輝度値に比例した法線ベクトルの垂直成分Ｎｚの算出は、次のようにして行う。まず対象物上の光源方向に対する角度θが判明している微小面、即ち画素の輝度値Ｂｓを撮影条件入力部４２によって取得する。この場合の画素輝度値Ｂｓとしては、光源方向に対する面角度θがθ＝９０度となった場合の画素輝度最大値Ｂ smax が望ましい。
【００７３】
このようにして対象物のθ＝９０度の画素輝度最大値Ｂmax が得られたならば、図２３のテーブル輝度値Ｂの最大値Ｂmax のスケールに変換するためのスケール係数Ｋを次式により求める。
Ｋ＝Ｂmax ／Ｂｓmax                           （３）
このようにしてスケール係数Ｋが算出できたならば、対象範囲の各画素の輝度値Ｂｓにスケール係数Ｋを乗じてテーブル輝度値Ｂを算出することができる。算出された輝度値Ｂにより線形反射テーブル１２４を参照して対応する面角度θ１を求め、長さを１とした法線ベクトルの垂直成分Ｎｚを
Ｎｚ＝ｓｉｎθ                              （４）
により求める。
【００７４】
一方、対象物の光源方向に対する面角度θとテーブル輝度値Ｂとの間の関係は図２３の線形反射テーブル特性１２４のような直線関係とは必ずしも限らず、面角度θに対する輝度値Ｂの変化は対象物の材質、光源の種類等により複数の近似関数となる場合が多い。そこで、このような対象物の材質、光源の種類等を考慮することで、例えば図２３の非線形反射テーブル特性１２６を作成することもできる。
【００７５】
この非線形反射テーブル特性１２６を使用した法線ベクトルの垂直成分Ｎｚの算出は、次のようにして行う。まず対象範囲の画素輝度値Ｂｓを抽出し、これに線形反射テーブル特性１２４で算出しているスケール係数Ｋを乗じてテーブル輝度値Ｂを求める。次にスケール係数Ｋから算出したテーブル輝度値Ｂ＝Ｋ×Ｂｓにより、非線形反射テーブル１２６を参照して対応する面角度θを求め、（４）式から法線ベクトルの垂直成分Ｎｚを算出する。
【００７６】
例えば図２３に示すように、画素輝度値Ｂｓ１から垂直成分Ｎｚを算出する場合には、画素輝度値Ｂｓ１にスケール係数Ｋを乗じてテーブル輝度値Ｂ１を求め、テーブル輝度値Ｂ１による非線形反射テーブル特性１２６の参照で対応する面角度θ２を求め、（４）式から法線ベクトルの垂直成分Ｎｚを求める。
図２３の反射テーブルを使用した法線ベクトルの垂直成分の抽出処理を図２２のフローチャートを参照して説明すると次のようになる。ステップＳ１で線形または非線形の反射テーブルが作成されたならば、ステップＳ２では面角度９０度の既知の対象物の輝度値Ｂsmaxと反射テーブルのフルスケール輝度値Ｂmax からスケール係数Ｋを算出する。
【００７７】
次にステップＳ３で対象画素の輝度値Ｂｓにスケール係数Ｋを乗じてテーブル参照画素の輝度値Ｂを算出する。続いてステップＳ４では、ステップＳ３で求めた輝度値Ｂにより対応する面角度θを線形または非線形反射テーブルの参照で求め、（４）式に代入して法線ベクトルの垂直成分Ｎｚを求める。
ステップＳ５では、求めた面角度θに対応した法線ベクトルの垂直成分Ｎｚを法線ベクトルテーブルに登録する。このステップＳ３からＳ５までの処理をステップＳ６で全対象画素が終了するまで繰り返す。
【００７８】
また、光源の方向と視線方向との開きが大きい場合には、面の法線ベクトルの水平成分ごとに線形または非線形の反射テーブルを作成し、法線ベクトルの水平成分値に対応した反射テーブルを参照することで面角度θを求めて法線ベクトルの垂直成分Ｎｚを算出する。
５．法線ベクトルの正規化
図２５は、図２２の法線ベクトルの垂直成分の抽出処理に続いて図３の法線ベクトル正規化部４８で行われる法線ベクトル正規化処理のフローチャートである。この法線ベクトルの正規化処理は、図１８の処理で求めた法線ベクトルの水平成分（Ｎｘ，Ｎｙ）が大きさ１の単位ベクトルであり、図２２の処理で求めた法線ベクトルの垂直成分（Ｎｚ）との合成により得られる法線ベクトルが大きさ１の単位ベクトルとはならないことから、これを大きさ１の単位法線ベクトルに正規化する処理を行う。
【００７９】
図２６（Ａ）は正規化前の法線ベクトル７２であり、大きさ１をもつ水平成分（Ｎｘ，Ｎｙ）の水平ベクトル７４と、大きさＮｚの垂直ベクトル７５との合成ベクトルとなっている。このため、法線ベクトル７２は大きさ１の単位ベクトルとはなっていない。そこで図２６（Ｂ）のように、法線ベクトル７２が大きさ１の単位ベクトルとなるように、垂直ベクトル７５の垂直成分Ｎｚに基づいて水平ベクトル７４の水平成分を正規化水平成分（Ｎｘｎ，Ｎｙｎ）に変換する正規化処理を行う。
【００８０】
この図２６（Ａ）の法線ベクトル７２の図２６（Ｄ）への大きさ１の法線ベクトル７０への正規化は、図２５のフローチャートに従って行われる。まずステップＳ１で対象画素を図２１の法線ベクトルテーブル１１４から取り出し、ステップＳ２で垂直成分Ｎｚに基づき、図２６（Ｂ）の大きさ１の法線ベクトル７２となるための水平ベクトル７４の大きさＨＬを次式で算出する。
【００８１】
ＨＬ＝√（１−Ｎｚ2 ）                        （４）
次にステップＳ３で大きさ１の法線ベクトル７０が合成できる大きさＨＬを持った水平ベクトル７４を与える正規化水平成分（Ｎｘｎ，Ｎｙｎ）を次式により算出する。
Ｎｘｎ＝Ｎｘ・（ＨＬ／１．０）                （５）
Ｎｙｎ＝Ｎｙ・（ＨＬ／１．０）                （６）
このようにして法線ベクトルを正規化するための水平成分（Ｎｘｙ，Ｎｙｎ）の算出ができたならば、ステップＳ４で、これを図２１の法線ベクトルテーブル１１４に登録する。法線ベクトルテーブル１１４の有効フラグ８８は、図２１の法線テーブル１１４と同じ内容を格納している。このようなステップＳ１〜Ｓ４の処理を、ステップＳ５で全ての対象画素が終了するまで繰り返す。
６．三次元形状の復元
図２７は、図２５の法線ベクトル正規化処理に続いて図３の形状復元部５０に設けた積分処理部５１で行われる法線ベクトル積分処理のフローチャートである。この法線ベクトル積分処理は、対象物の微小面となる各画素ごとに求めた法線ベクトル群を作り出す面形状を逆に求める処理である。
【００８２】
図２９は本発明による法線ベクトル積分処理の一例である。図２９にあっては、対象物６６に対し任意の位置に視線方向に直交する基準面１３４を設定する。まず対象物６６を形成する任意の画素、例えば視線方向６８に一致する法線ベクトル７２−１をもつ画素Ｐ１を初期位置として、基準面１３４からの高さｈ０を初期値として設定する。
【００８３】
次に画素Ｐ１に隣接する画素Ｐ２に着目し、その中心１４０を通る視線方向の高さの変位Δｈを法線ベクトルに基づいて算出する。この変位Δｈは、画素Ｐ１とＰ２の基準面１３４における間隔が一定値Ｌであり、また画素Ｐ２の中心点１４０の法線ベクトル７２−２の垂直成分Ｎｚ及びＸ軸成分Ｎｘが判明していることから、次式の関係が得られる。
【００８４】
Ｎｘ／Ｎｚ＝Δｈ／（Ｌ／２）                  （７）
この（７）式から変位Δｈを求めると、
Δｈ＝（Ｎｘ／Ｎｚ）（Ｐ／２）                （８）
が得られる。したがって、画素Ｐ２の基準面１３４からの高さｈは
ｈ＝ｈ０＋Δｈ
＝ｈ０＋（Ｎｘ／Ｎｚ）（Ｐ／２）            （９）
となる。このようにして画素Ｐ２について高さｈが求められたならば、この求めた高さを新たな初期値ｈ０として、隣接する次の画素Ｐ３について基準面１３４からの高さｈを求める。
【００８５】
このような法線ベクトル積分処理による基準面からの高さの算出処理を図２７のフローチャートについて説明すると、まずステップＳ１で、視線方向に法線ベクトルが一致する対象物上の画素を開始位置として、図２９のように視線方向に直交する面として設定した基準面１３４からの高さを初期値ｈ０に設定する。
次にステップＳ２で、隣接画素の法線ベクトルから光軸方向のＮΔｈを算出して、その高さｈを求める。そしてステップＳ３で図２８のような高さテーブル１２８に格納する。次にステップＳ４で現在求めた算出高さｈを次の初期値ｈ０とし、ステップＳ５で全対象画素が終了するまで、ステップＳ１〜Ｓ３の処理を繰り返す。
【００８６】
このような法線ベクトルの積分処理によって、図２９の基準面１３４に対する対象物６６の各画素の高さｈ０、即ち相対的な座標値Ｚが求められ、各画素の基準面１３４に対する二次元座標値（Ｘ，Ｙ）と合わせて対象物の三次元形状データを得ることができる。このようにして対象物の三次元形状データが得られたならば、図３の形状復元部５０に設けた復元表示部５２が通常のコンピュータグラフィックスの処理機能によって、例えば図６（Ｆ）のように任意の視線方向を設定することにより三次元形状から二次元投影形状を生成し、且つ図５（Ａ）のカラー取込画像から得られた各画素のＲＧＢ値を使用して復元画像を表示することができる。
【００８７】
ここで法線ベクトルから三次元形状データを得るための積分処理は、法線ベクトルが対象物を構成する微小面の傾斜角の微分値であることから、図２７のような水平基準面に対する高さを順次求める積分処理以外に、法線ベクトル群を一括して積分処理することにより基準面からの高さｈを求めることが可能である。
また本発明の三次元形状復元処理にあっては、図５，図６のような例えば肌色の指定により抽出可能な手といった単色の対象物については問題ないが、例えば人の顔の形状復元処理を行おうとした場合、色の異なる目、口等の肌色以外の部分については、図５（Ｂ）のように輝度変換画像５６を生成した場合の輝度値が大きく異なり、図５（Ｃ）のような輝度等値線画像５８が得られず、法線ベクトルの生成が適切にできない。
【００８８】
このような場合については、肌色部分を除いた三次元形状復元処理を行い、終了後に未処理部分となっている目や口の部分を、処理済みの周囲の高さｈから補間して目や口の三次元形状を決定すればよい。
更に本発明は三次元形状復元処理を実行するプログラムを記録したコンピュータ読取可能な記録媒体として実施されるものであり、この記録媒体にはＣＤ−ＲＯＭやフロッピディスク等のリムーバブルな可搬型記憶媒体、回線によりプログラムを提供するプログラム提供者の記憶装置、更にはプログラムをインストールした処理装置のＲＡＭやハードディスク等のメモリ装置がある。また記録媒体によって提供された三次元形状復元プログラムは処理装置にローディングされ、その主メモリ上で実行される。
【００８９】
尚、本発明は上記の実施形態に限定されず、その目的と利点を損なわない範囲で適宜の変形が可能である。また本発明は実施形態に示した数値による限定は受けない。
【００９０】
【発明の効果】
以上説明してきたように本発明によれば、三次元の対象物を撮影した画像データの輝度情報に着目し、輝度情報から対象物を構成する微小面の法線ベクトルを水平成分と垂直成分に分けて抽出し、特に垂直成分は輝度値の大きさに比例し、また水平成分は輝度の等値線の接線ベクトルを９０度回転することにより決定し、これによって従来の特性曲線展開法における特性曲線が得られる範囲でしか三次元形状を再構成できないという問題を解消し、画像全体で確実に三次元形状を再構築できる。
【００９１】
また従来の弛緩法における対象物の輪郭線が得られなければ適用できず、また輪郭線が得られても画素ごとに計算を繰り返すために時間を要する問題が解消できる。
更に本発明は、画像全体についてパーソナルコンピュータレベルの処理能力で十分な実用的な処理時間をもって効率よく撮影された画像データから画像全領域について均一な精度で三次元形状を再構成することができる。
【図面の簡単な説明】
【図１】本発明の原理説明図
【図２】本発明の装置構成のブロック図
【図３】本発明の機能ブロック図
【図４】本発明における法線ベクトルの水平成分と垂直成分の説明図
【図５】本発明における取込み画像、輝度変換画像及び輝度コンター画像の説明図
【図６】本発明における法線ベクトルの水平成分、垂直成分及び復元画像の説明図
【図７】本発明の三次元形状復元処理のフローチャート
【図８】取込み画像のＲＧＢテーブルの説明図
【図９】本発明の対象範囲選択処理のフローチャート
【図１０】図９の選択処理で生成されたラベルテーブルの説明図
【図１１】本発明の輝度画像変換処理のフローチャート
【図１２】図１１の処理で生成された輝度テーブルの説明図
【図１３】本発明の輝度画像平滑化処理のフローチャート
【図１４】本発明の輝度コンター変換処理のフローチャート
【図１５】図１４の処理で生成されたコンターテーブルの説明図
【図１６】本発明の輝度等値線変換処理のフローチャート
【図１７】図１５の輝度等値線変換処理の説明図
【図１８】本発明の水平成分抽出処理のフローチャート
【図１９】水平成分の抽出原理の説明図
【図２０】輝度等値線上の画素における接線ベクトルの算出方法の説明図
【図２１】法線の水平成分と垂直成分を格納する法線テーブルの説明図
【図２２】本発明の垂直成分抽出処理のフローチャート
【図２３】垂直成分抽出に使用する反射テーブルの説明図
【図２４】図２３の線形反射テーブルを生成する輝度値と面角度の説明図
【図２５】本発明の法線ベクトル正規化処理のフローチャート
【図２６】法線ベクトルを正規化する説明図
【図２７】本発明の法線ベクトル積分処理のフローチャート
【図２８】図２７の積分処理で得られた高さテーブルの説明図
【図２９】図２７の積分処理の説明図
【符号の説明】
１０：処理装置
１２：デジタルカメラ装置
１４：ビデオカメラ装置
１６：イメージスキャナ装置
１８：主メモリ
２０：３Ｄアクセラレータ
２２：ディスプレイ
２４：画像取込部
２５：対象範囲選択部
２６：法線ベクトル抽出部
２８：輝度画像変換部
３０：水平成分抽出部
３２：垂直成分抽出部
３４：輝度画像平滑部
３６：輝度コンター変換部
３８：輝度等値線生成部
４０：水平成分算出部
４２：撮影条件入力部
４４：反射テーブル作成部
４６：垂直成分算出部
５０：形状復元部
５１：積分処理部
５２：復元表示部
５４：カラー取込画像
５６：輝度変換画像
５８：輝度等値線画像
６０：法線ベクトル水平成分抽出画像
６２：法線ベクトル垂直成分抽出画像
６４：三次元形状復元画像
６６：対象物
６８：視線方向
７０：微小面
７２：法線ベクトル
７４：水平成分
７６：垂直成分
７８：水平成分投影面
８０：投影像
８２：ＲＧＢテーブル
８４：Ｒ成分
８５：Ｇ成分
８６：Ｂ成分
８８：有効フラグ
９０：ラベルテーブル
９２：選択累積番号
９４：輝度テーブル
９６：正規化輝度値
９８：輝度値
１００：コンターテーブル
１０２：コンター輝度値
１０４：コンター画像
１０６，１０６−１：輝度等値線
１１０：接線ベクトル
１１４：法線テーブル
１１６：Ｘ軸水平成分Ｎｘ
１１８：Ｙ軸水平成分Ｎｙ
１２０：垂直成分Ｎｚ
１２４：線形反射テーブル特性
１２６：非線形反射テーブル特性
１２８：高さテーブル
１３０：高さｈ
１３４：基準面
１３６：対象物
【図１】
0003940484.tif 000002
【図２】
0003940484.tif 000003
【図３】
0003940484.tif 000004
【図４】
0003940484.tif 000005
【図５】
0003940484.tif 000006
【図６】
0003940484.tif 000007
【図７】
0003940484.tif 000008
【図８】
0003940484.tif 000009
【図９】
0003940484.tif 000010
【図１０】
0003940484.tif 000011
【図１１】
0003940484.tif 000012
【図１２】
0003940484.tif 000013
【図１３】
0003940484.tif 000014
【図１４】
0003940484.tif 000015
【図１５】
0003940484.tif 000016
【図１６】
0003940484.tif 000017
【図１７】
0003940484.tif 000018
【図１８】
0003940484.tif 000019
【図１９】
0003940484.tif 000020
【図２０】
0003940484.tif 000021
【図２１】
0003940484.tif 000022
【図２２】
0003940484.tif 000023
【図２３】
0003940484.tif 000024
【図２４】
0003940484.tif 000025
【図２５】
0003940484.tif 000026
【図２６】
0003940484.tif 000027
【図２７】
0003940484.tif 000028
【図２８】
0003940484.tif 000029
【図２９】
0003940484.tif 000030