(57)【要約】【課題】ユーザの負担を低減した上で、三次元形状データを生成する。【解決手段】本発明は、オブジェクトの三次元形状データを生成する画像処理装置（２００）であって、オブジェクトの概略形状を示すデータを生成する形状生成部（４０４）と、オブジェクトの概略形状を示すデータを、オブジェクトの概略形状の断面の形状に応じて複数の部分データに分解する形状分解部（４０５）と、部分データ毎に、対応する基本形状をフィッティングする形状フィッティング部（４０８）を備え、フィッティングした基本形状に基づいて、オブジェクトの三次元形状データを生成する。【選択図】図３
2020187626.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトの三次元形状データを生成する画像処理装置であって、
前記オブジェクトの概略形状を示すデータを生成する第１の生成手段と、
前記オブジェクトの概略形状を示すデータを、当該オブジェクトの概略形状の断面の形状に応じて複数の部分データに分解する分解手段と、
前記部分データ毎に、対応する基本形状をフィッティングするフィッティング手段と、
前記フィッティングした基本形状に基づいて、前記オブジェクトの三次元形状データを生成する第２の生成手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記基本形状は、前記オブジェクトの三次元形状データを生成する上で処理単位とされる三次元形状であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記基本形状は、少なくとも、直方体、球、三角柱、円柱、三角錐、及び円錐のいずれか又は全てを含むことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記第２の生成手段は、前記フィッティングした基本形状を統合することで、前記オブジェクトの三次元形状データを生成することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記第１の生成手段は、複数の撮影画像を用いて、前記オブジェクトの概略形状を生成することを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記第１の生成手段は、光波測定器の測定結果を用いて、前記オブジェクトの概略形状を示すデータを生成することを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項７】
前記分解手段は、前記オブジェクトの概略形状の断面の連結性及び前記オブジェクトの概略形状の断面積の変化に基づいて、前記オブジェクトの概略形状を示すデータを複数の部分データに分解することを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記基本形状の断面の断面図をデータとして記憶する記憶手段と、
前記分解された部分データに対応するオブジェクトの概略形状の断面と、前記記憶された前記基本形状の断面図の断面を比較し、一致度のより高い基本形状を前記フィッティングする基本形状として選択する選択手段と
をさらに備えることを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項９】
前記選択手段は、前記分解された部分データに対応するオブジェクトの概略形状の断面と、前記記憶された前記基本形状の断面図の断面を比較する上で、前記分解された部分データに対応するオブジェクトの概略形状の高さと前記記憶された基本形状の高さの関係、及び前記分解された部分データに対応するオブジェクトの概略形状の断面の重心と前記記憶された基本形状の断面の重心の関係に基づいて、前記記憶された基本形状のスケールを調整することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記フィッティング手段は、前記分解された部分データに対応するオブジェクトの概略形状の頂点の位置と、当該頂点に対応する前記選択された基本形状の頂点の位置との差分がより小さくなるように、前記選択された基本形状をフィッティングすることを特徴とする請求項８又は９に記載の画像処理装置。
【請求項１１】
前記分解された部分データに対応するオブジェクトの概略形状に、前記選択された基本形状がフィッティングされたか否かを判定する判定手段をさらに備え、
前記判定手段によりフィッティングされていないと判定されると、前記分解手段による前記複数の部分データへの分解、前記選択手段による前記フィッティングする基本形状の選択、及び前記フィッティング手段による前記選択された基本形状のフィッティングの処理のうち、いずれかから再度、処理の実行を開始することを特徴とする請求項８から１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記判定手段により、所定の回数、フィッティングされていないと判定されると、前記オブジェクトの概略形状を示すデータを前記オブジェクトの三次元形状データとして出力することを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記判定手段は、前記フィッティングした基本形状と前記分解された部分データに対応するオブジェクトの概略形状の差分を算出することで、前記選択された基本形状がフィッティングされたか否かを判定することを特徴とする請求項１１又は１２に記載の画像処理装置。
【請求項１４】
オブジェクトの三次元形状データを生成する画像処理方法であって、
前記オブジェクトの概略形状を示すデータを生成する第１の生成ステップと、
前記オブジェクトの概略形状を示すデータを、当該オブジェクトの概略形状の断面の形状に応じて複数の部分データに分解する分解ステップと、
前記部分データ毎に、対応する基本形状をフィッティングするフィッティングステップと、
前記フィッティングした基本形状に基づいて、前記オブジェクトの三次元形状データを生成する第２の生成ステップと
を含むことを特徴とする画像処理方法。
【請求項１５】
請求項１４に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクトの三次元形状データを生成する技術に関する。
【背景技術】
【０００２】
近年、ＶＲ（Virtual Reality）、ＡＲ（Augmented Reality）、ストリートビューイング等の用途に対して、リアリティの高い三次元コンピュータグラフィックス（以下、ＣＧと称する）モデルを生成する需要が高まっている。但し、ＣＧクリエータが、現実世界のオブジェクトの三次元ＣＧモデルを最初から生成すると、その負担が大きく、多大な時間を要してしまう。
【０００３】
そこで、現実世界のオブジェクトの大まかな三次元形状を推定してＣＧ空間に取り込み、その推定した三次元形状を用いてより精巧な三次元ＣＧモデルを生成することで三次元ＣＧモデルの生成にかかる負担を低減し、生成時間を短縮する方法が提案されている。特許文献１には、現実世界のオブジェクトを撮影した複数の画像に対して、ユーザがオブジェクトの頂点や辺を手動で指定し、指定された情報と予め記憶された基本形状の姿勢情報とを比較し、一致度の高い基本形状をフィッティングする方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２５９８５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、この特許文献１で提案された方法では、ユーザの手動入力が複数、必要となり、そのため、ユーザに負担がかかるという課題があった。
【０００６】
本発明は、前記従来の問題に鑑みてなされたものであって、ユーザの負担を低減した上で、三次元形状データを生成することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、オブジェクトの三次元形状データを生成する画像処理装置であって、前記オブジェクトの概略形状を示すデータを生成する第１の生成手段と、前記オブジェクトの概略形状を示すデータを、当該オブジェクトの概略形状の断面の形状に応じて複数の部分データに分解する分解手段と、前記部分データ毎に、対応する基本形状をフィッティングするフィッティング手段と、前記フィッティングした基本形状に基づいて、前記オブジェクトの三次元形状データを生成する第２の生成手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ユーザの負担を低減した上で、三次元形状データを生成することができる。
【図面の簡単な説明】
【０００９】
【図１】ラグビーゴールの三次元形状を示す図である。
【図２】三次元形状データ生成システムのハードウェア構成を示す図である。
【図３】三次元形状データ生成システムにおける処理の概念図である。
【図４】画像処理装置の機能構成を示すブロック図である。
【図５】画像処理装置において実行される処理の手順を示すフローチャートである。
【図６】オブジェクトの概略形状を分解する処理の概念図である。
【図７】基本形状を選択する処理の概念図である。
【図８】形状を統合する処理の概念図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１１】
本実施形態では、オブジェクトの概略形状を基本形状の組み合わせになるように分解し、その分解したオブジェクトの概略形状に対して、基本形状をフィッティングすることで、オブジェクトの三次元形状データを生成する。また、そのオブジェクトとして、形状の構造が簡易なラグビーゴールを例に用いて説明する。
【００１２】
図１は、ラグビーゴールの三次元形状を示す図である。図１に示されるように、ラグビーゴール１０１の形状には、概して、土台である直方体型の２つのクッション１０２、２本のゴールポスト１０３、及びクロスバー１０４が含まれる。なお、上述のようにラグビーゴールはオブジェクトの一例であり、オブジェクトは必ずしもこれに限定されず、本実施形態は、基本形状の組み合わせで表現できるオブジェクト、例えば、建築物、乗り物等に適用することができる。
【００１３】
図２は、三次元形状データ生成システムのハードウェア構成を示す図である。三次元形状データ生成システムは、図２に示されるように、画像処理装置２００、及び１台以上の撮影装置（カメラ群）２０９を備える。画像処理装置２００は、ＣＰＵ２０１、メインメモリ２０２、記憶部２０３、入力部２０４、表示部２０５、外部Ｉ/Ｆ部２０６を備え、また、各部はバス２０７を介して接続されている。
【００１４】
ＣＰＵ（Central Processing Unit）２０１は、演算処理装置であり、記憶部２０３等に格納された各種プログラムを実行することで、画像処理装置２００を統括的に制御する。メインメモリ２０２は、各種処理で用いられるデータやパラメータ等を一時的に格納する他、ＣＰＵ２０１に作業領域を提供する。記憶部２０３は、各種プログラムやＧＵＩ（Graphical User Interface）表示に必要な各種データを記憶する大容量記憶装置で、例えば、ハードディスクやシリコンディスク等の不揮発性メモリである。
【００１５】
入力部２０４は、キーボード、マウス、電子ペン、タッチパネル等の入力装置であり、ユーザからの操作入力を受け付ける。表示部２０５は、液晶パネル等を備え、例えば、分析結果のＧＵＩ表示等を行う。外部Ｉ/Ｆ部２０６は、カメラ群２０９を構成する各カメラとＬＡＮ（Local Area Network）２０８を介して接続され、映像データや制御信号データの送受信を行う。バス２０７は、上述の各部を接続し、データ転送を行う。
【００１６】
カメラ群２０９は、ＬＡＮ２０８経由で画像処理装置２００と接続されており、画像処理装置２００からの制御信号に基づいて、撮影の開始や停止、カメラ設定（例えば、シャッタースピード、絞り等）の変更、撮影した映像データの転送等を行う。なお、三次元形状データ生成システムは、そのハードウェア構成として、図２に示される構成以外にも、様々な構成要素を備えるが、ここでは、その説明は省略する。
【００１７】
図３は、三次元形状データ生成システムにおける処理の概念図である。本実施形態では、先ず、ＳＴＥＰ．３−１のように、オブジェクトを取り囲むようにカメラを配置し、その設置したカメラでオブジェクトを撮影する。なお、カメラ群２０９を構成する個々のカメラに関して、ラグビーゴール１０１が画角内に収まるように、カメラの向き、焦点距離、露出制御パラメータ等が適切に設定されている。
【００１８】
次に、ＳＴＥＰ．３−２において、画像処理装置２００は、撮影した画像からオブジェクトの概略形状をデータとして算出（生成）する。さらに、ＳＴＥＰ．３−３において、基本形状の組み合わせで表現できるように、概略形状を分解する（より正確には、概略形状を示すデータを、複数の部分データに分解する）。なお、ここで、基本形状とは、直方体、球、三角柱、円柱、三角錐、円錐等、オブジェクトの三次元形状データを生成する上で最低限必要な形状（処理単位）のことである。そして、ＳＴＥＰ．３−４において、分解した概略形状毎（部分データ毎）に基本形状をフィッティングし、最終的な三次元形状データを出力する。
【００１９】
図４は、画像処理装置２００の機能構成を示すブロック図である。本実施形態では、上述のように、画像処理装置２００によりラグビーゴール１０１の三次元形状データを生成する。画像処理装置２００は、画像取得部４０１、カメラ校正部４０２、シルエット生成部４０３、形状生成部４０４、形状分解部４０５、断面格納部４０６、基本形状選択部４０７、形状フィッティング部４０８を備える。
【００２０】
画像取得部４０１は、カメラ群２０９で撮影された画像を画像群として取得する。カメラ校正部４０２は、撮影された画像からカメラキャリブレーションを行い、カメラの外部パラメータ、内部パラメータ、及び歪曲パラメータを各々、算出する。シルエット生成部４０３は、撮影した画像からオブジェクトのシルエットを抽出（生成）する。なお、ここで、シルエットとは、撮影画像内で形状推定の対象とするオブジェクトの領域をマスクした画像のことである。
【００２１】
形状生成部４０４は、画像内のオブジェクトのシルエット及び算出したカメラパラメータに基づいて、オブジェクトの概略形状をデータとして算出（生成）する。本実施形態では、オブジェクトのシルエットからオブジェクトの概略形状を算出する方法として、ビジュアル・ハル法(以下、ＶＨ法と称する)を用いる。なお、ＶＨ法に関して、詳細は後述する。
【００２２】
形状分解部４０５は、形状生成部４０４により生成されたオブジェクトの概略形状を、基本形状でフィッティングするために、複数の形状（即ち、複数の部分データ）に分解する。断面格納部４０６は、予め用意した直方体、球、三角柱、円柱、三角錐、円錐等の三次元ＣＧ形状の断面図を格納する。基本形状選択部４０７は、分解された形状毎に、どのような基本形状をフィッティングするか選択する。形状フィッティング部４０８は、分解された形状毎に、基本形状の重心やスケールを決定した上で、基本形状をフィッティングし、オブジェクトの三次元形状データを生成する。また、形状フィッティング部４０８は、フィッティングが正確に行われたか否かを判定する。
【００２３】
次に、図５のフローチャートを用いて、画像処理装置２００において実行される処理の手順について説明する。なお、このフローチャートに示される処理は、ＣＰＵ２０１が、所定のプログラムを記憶部２０３から読み込んでメインメモリ２０２に展開し、さらに、これを実行することで実現される。また、フローチャートの説明における記号「Ｓ」は、ステップを表すものとする。
【００２４】
Ｓ５０１において、画像取得部４０１は、ＬＡＮ２０８経由で、カメラ群２０９に撮影指示を送信する。なお、カメラ群２０９により撮影された画像は、ＬＡＮ２０８、外部Ｉ／Ｆ部２０６、バス２０７を介して、メインメモリ２０２に読み込まれる。
【００２５】
Ｓ５０２において、カメラ校正部４０２は、画像取得部４０１で取得した画像からカメラ群２０９を構成する各カメラのカメラパラメータを算出する。なお、カメラパラメータは、カメラの撮影位置が異なる複数の画像を入力としたカメラキャリブレーション処理によって算出される。
【００２６】
以下、カメラキャリブレーション処理について簡単に説明する。先ず、スクエアグリッド等の平面パターンを多視点（複数の視点位置）から撮影する。次に、そのスクエアグリッド等の平面パターンを撮影した画像から特徴点（ここでは、直線の交点）を検出し、画像座標系における特徴点の座標を算出する。そして、その算出した特徴点の座標を用いて、カメラの内部パラメータの初期値を算出する。なお、ここで、カメラの内部パラメータとは、焦点距離、主点と称される光学的中心を示すパラメータのことである。また、カメラの内部パラメータの初期値に関して、必ずしも画像の特徴点から算出する必要はなく、例えば、カメラの設計値を用いることもできる。
【００２７】
カメラの内部パラメータの初期値を算出した後、バンドル調整と称される非線形最適化処理によって、カメラの内部パラメータ、外部パラメータ、歪曲パラメータを算出する。なお、ここで、カメラの外部パラメータとは、カメラの位置、視線方向、視線方向を軸とする回転角を示すパラメータのことである。また、歪曲パラメータとは、レンズの屈折率の違いによって生じる半径方向の画像の歪みやレンズとイメージプレーンが平行にならないことによって生じる円周方向の歪みを示す係数のことである。補足として、カメラキャリブレーション処理の手法として、上述の手法以外の手法も用いることができるが、ここでは、その説明を省略する。
【００２８】
Ｓ５０３において、シルエット生成部４０３は、画像取得部４０１で取得した画像からオブジェクトのシルエットを抽出（生成）する。ここで、シルエットを抽出する方法として、例えば、背景差分法や床面投影画像を用いる方法がある。
【００２９】
背景差分法は、オブジェクトが存在しない場合と存在する場合の画像を各々、撮影し、それらの画像の差分領域を算出し、その差分領域をオブジェクトのシルエットとする方法である。また、床面投影画像を用いる方法は、各カメラから床面に対して投影した撮影画像の中間値を取ることで床面投影画像を生成し、その床面投影画像を各カメラに逆投影した画像と撮影した画像との差分をとることで、シルエットを抽出する方法である。なお、床面とは、本実施形態において、ラグビーゴールの鉛直方向の軸（以下、ｚ軸と称する）に対して垂直な複数の水平面（以下、ｘｙ平面と称する）のことである。また、生成される床面投影画像は、高さのあるオブジェクトが除去された画像である。
【００３０】
ここで、オブジェクトとして用いるラグビーゴールは、極めて大きく、設置する上で多くの時間が必要とされるため、その設置前後において背景が大きく変化することが予想される。そのため、本実施形態では、シルエットを抽出する方法として、背景差分法ではなく、床面投影画像を用いる方法を採用することとする。以下、この床面投影画像を用いる方法によるシルエットの抽出について説明する。
【００３１】
床面投影を行う上で、先ず、カメラの内部パラメータ及び歪曲パラメータに合わせて、各カメラの撮影画像の歪みを補正する。撮影画像の歪みの補正に用いられるパラメータは、Ｓ５０２で算出した内部パラメータ及び歪曲パラメータである。次に、床面の座標と画像座標との変換行列を算出する。はじめに、床面が存在するワールド座標系をカメラ座標系に変換する変換行列Ｖを定義する。ここで、カメラ座標系とは、座標系の原点を始点とし、画像の水平方向をｘ軸、画像の垂直方向をｙ軸、視線方向をｚ軸の負の方向になるように設定される座標系のことである。さらに、カメラ座標系からスクリーン座標系に変換する変換行列Ｐを定義する。なお、ここでの変換（即ち変換行列Ｐによる変換）は、カメラ座標系に対して存在する３次元オブジェクトを２次元平面上に射影する変換である。
【００３２】
これらを踏まえると、床面上の点Ｘの同次座標（ｘ、ｙ、ｚ、ｗ）を画像上の点Ｕの同次座標（ｘ’、ｙ’、ｚ’、ｗ’）に射影する式は、以下のように示すことができる。即ち、下式を用いて、各カメラ画像を、ラグビーゴール１０１のある床面の高さｚに対して投影する。なお、下式では、並進変換を加えるため、座標ｗ及び座標ｗ’を追加し、四次元としている。
【００３３】
【数１】
2020187626.tif 000003
【００３４】
Ｓ５０４において、形状生成部４０４は、シルエット生成部４０３で生成した形状（シルエット）及びカメラ校正部４０２で算出したカメラパラメータからオブジェクトの概略形状をデータとして生成する。本実施形態では、上述のように、オブジェクトのシルエットから概略形状を生成する方法の一例として、ＶＨ法を用いる。ここで、ＶＨ法とは、画像内のオブジェクトのシルエット領域を、算出したカメラパラメータに基づいて空間中に投影し、その投影した領域の積集合をオブジェクトの概略形状として定義する方法のことである。
【００３５】
なお、撮影された画像からオブジェクトの概略形状を推定（生成）する方法としては、必ずしもＶＨ法に限定されず、例えば、カメラ間の視差を用いて、オブジェクトの概略形状を推定するステレオマッチング法等がある。また、オブジェクトの概略形状を推定する上で、必ずしも撮影された画像を用いる必要はない。したがって、例えば、光波測定器の測定結果を用いることもできる。具体的には、レーザ測定器を用いて、レーザを射出してからレーザが測定機に戻ってくるまでの時間とレーザの速度の関係からオブジェクトまでの距離を求めることで、オブジェクトの概略形状を推定することもできる。補足として、オブジェクトの概略形状データの生成方法については、上述の方法以外の方法も用いることができるが、ここでは、その説明を省略する。
【００３６】
Ｓ５０５において、形状分解部４０５は、基本形状を用いてフィッティングできるように、形状生成部４０４で生成したオブジェクトの概略形状を分解する。以下、オブジェクトの概略形状を分解する方法（処理）について、図６を用いて、具体的に説明する。
【００３７】
図６は、オブジェクトの概略形状を分解する処理の概念図である。先ず、ＳＴＥＰ．６−１において、ｚ軸に対して垂直な方向にオブジェクトの断面図を算出する。ここで、ｚ１からｚ４の断面図は、ゴールポスト下部の断面図と土台上部の断面図を拡大したものである。なお、概略形状を分解する処理について、以降のＳＴＥＰでは、これらの断面図を用いて説明する。
【００３８】
次に、ＳＴＥＰ．６−２において、各断面図に関して、断面が複数、存在する場合に、断面を分割する。ｚ１からｚ４の各々の高さの断面図では、断面が２つに分割される。なお、断面を分割する方法として、例えば、ある断面の連結性を考慮して、連結している閉領域を１つの断面として分割する方法を用いることができる。
【００３９】
そして、ＳＴＥＰ．６−３において、分割した各々の断面がｚ軸方向に対して連結しているか否かを判定する。具体的には、高さをｚ１からｚ４に変化させた場合に、ｚ軸方向に断面の連結性があれば、その断面が一続きの形状でフィッティングできるものとして判定する。図６に示されるラグビーゴールの例では、各々の断面がｚ軸方向に連結しており、それらの連結している断面の集合を各々Ｓ１、Ｓ２としている。
【００４０】
さらに、ＳＴＥＰ．６−４において、一続きの形状でフィッティングされると算出された断面に対して、ｚ軸方向の断面積Ｓの変化を確認し、断面形状が大きく変化するときの高さを形状の変曲点として設定する。具体的には、下式に示されるように、断面積Ｓの変化に対して閾値ｔｈを設け、閾値以上に断面積が変化した場合に、異なる基本形状がフィッティングされると定義する。
【００４１】
【数２】
2020187626.tif 000004
【００４２】
図６に示されるラグビーゴールの例では、ｚ２からｚ３に高さが変化した場合に、断面積が大きく変化しており、断面の集合Ｓ１が断面の集合Ｓ１、Ｓ３に分割され、断面の集合Ｓ２が断面の集合Ｓ２、Ｓ４に分割される。また、この閾値ｔｈについては、必ずしも断面積の差分として設定する必要はなく、下式に示されるように、断面積の大きさに対する変化の割合として設定してもよい。
【００４３】
【数３】
2020187626.tif 000005
【００４４】
Ｓ５０６において、基本形状選択部４０７は、分解した形状の各々に対して、どの基本形状をフィッティングするかを選択する。基本形状選択部４０７は、形状分解部４０５で分解した形状の断面図と断面格納部４０６に格納されている断面図を比較し、フィッティングする基本形状を選択する。なお、断面格納部４０６には、上述のように、予め用意した直方体、球、三角柱、円柱、三角錐、円錐等の三次元ＣＧ形状を、様々な方向から撮影したときの断面が断面図として格納されている。以下、基本形状を選択する方法（処理）について、図７を用いて、具体的に説明する。
【００４５】
図７は、基本形状を選択する処理の概念図である。なお、ここでは、ラグビーゴールのゴールポストに円柱をフィッティングする例について説明する。先ず、ＳＴＥＰ．７−１において、分解した形状と基本形状とではその高さによって断面積の変位は異なることから、高さのスケールを合わせる。即ち、断面格納部４０６に格納されている基本形状の高さをｈDとして、分解した形状の高さをｈSとすると、分解した形状の断面積ＳS（ｈ）と基本形状の断面積ＳD（ｈ）の対応は、以下のように示すことができる。
【００４６】
【数４】
2020187626.tif 000006
【００４７】
次に、ＳＴＥＰ．７−２において、断面積は形状自体の横幅に関係して変化するため、形状の横幅に対してもスケールを合わせる。はじめに、ある１つの断面を複数の断面に分割し、その分割した各断面の面積Ｓkと重心ｘkから、断面全体の重心ｘGを下式（５）により算出する。
【００４８】
【数５】
2020187626.tif 000007
【００４９】
続いて、算出した重心を中心として、ｘ軸方向とｙ軸方向のスケールを調整する。図７に示されるラグビーゴールの例では、断面格納部４０６に格納される基本形状のスケールをｘ、ｙ方向にｒS/ｒD倍することでスケール調整を行う。
【００５０】
そして、最後に、断面の一致度が高い基本形状をフィッティングする対象として選択する。具体的には、分解した形状の断面積ＳSと、スケーリング調整後の基本形状の断面積ＳDとの差分を高さ毎に比較し、全ての高さで総計した結果として、断面積の差が小さくなる基本形状をフィッティングする対象として選択する。即ち、断面格納部４０６に格納された基本形状ｎの断面積をＳn,Dとして、下式を充足する基本形状をフィッティングする対象として選択する。
【００５１】
【数６】
2020187626.tif 000008
【００５２】
なお、図７では、正立した基本形状について取り扱ったが、断面格納部４０６には様々な方向から撮影したときの断面が断面図として格納されているため、正立していない基本形状についても同様にフィッティングする対象として選択され得る。また、断面格納部４０６に格納されている全ての基本形状と比較しても差分が極めて大きくなる場合（即ち、フィッティングする上で、その差分が極めて大きくなる場合）、概略形状を分解した形状をそのまま最終的な三次元形状データとして出力してもよい。
【００５３】
Ｓ５０７において、形状フィッティング部４０８は、選択した基本形状をフィッティングする。形状フィッティング部４０８は、基本形状のフィッティングにおいて、概略形状を分解した形状の頂点ＶSの位置と基本形状の頂点ＶDの位置の差分が最小となるように、最適化を実行する。
【００５４】
この最適化を実行する上で、形状フィッティング部４０８は、差分を算出する頂点の組み合わせとして、基本形状の頂点Ｖi,Dのより近傍に位置する、概略形状を分解した形状の頂点Ｖi,Sを選択するものとする。例えば、円柱をフィッティングする場合、重心の位置Ｇ、円柱の半径ｒ、円柱の高さｈに応じて、誤差が生じるため、下式（７）を充足するように（即ち、頂点間の位置の差分が最小となるように）重心の位置Ｇ、円柱の半径ｒ、円柱の高さｈを算出すればよい。
【００５５】
【数７】
2020187626.tif 000009
【００５６】
なお、最適化を実行するにあたり、重心の初期位置に関しては、上式（５）で算出した二次元的な重心と、分割した形状の高さを用いて容易に算出することができる。また、半径の初期値に関しても、断面の重心に対する形状の横幅に基づいて、設定することができる。加えて、円柱の高さに関しても、分割した形状の高さを初期値とすればよい。補足として、最適化の方法として、上述の方法以外の方法、例えば、最急降下法、ガウス・ニュートン法等も用いることができるが、ここでは、その説明を省略する。
【００５７】
Ｓ５０８において、形状フィッティング部４０８は、フィッティングが正確に実行されたか否かを判定する。フィッティングが正確に実行されたか否かは、フィッティングが実行された後の形状Ｆと概略形状Ｒとの差分を算出することで行われる。具体的には、下式に示されるように、フィッティングが実行された後の形状と概略形状との共通部分の体積と、フィッティングが実行された後の形状の体積との差分が閾値Ｖthよりも小さくなれば、正確に実行されたものとして判定する。
【００５８】
【数８】
2020187626.tif 000010
【００５９】
なお、フィッティングが実行された後の形状Ｆと概略形状Ｒとの差分の算出、及び閾値判定について、上式（８）では、概略形状全体について行っているが、フィッティングした形状の各々について行ってもよい。
【００６０】
そして、フィッティングが実行された後の形状と概略形状との共通部分の体積と、フィッティングが実行された後の形状の体積との差分が閾値Ｖthよりも大きいと判定すると、処理をＳ５０５に返し、再度、オブジェクトの概略形状を分解する処理を実行する。
【００６１】
なお、再度、オブジェクトの概略形状を分解する場合、前回の処理で分解したときとは異なる軸方向に断面を算出したり、断面積の変化に対する閾値を変更して処理を実行したりする等して、再度、基本形状のフィッティング、及び閾値判定を繰り返す。また、この処理を繰り返すことに関して、必ずしもオブジェクトの概略形状を分解する処理（Ｓ５０５）から繰り返す必要はなく、概略形状を分解した後の基本形状の選択、又は基本形状の選択後のフィッティングから繰り返してもよい。さらに、この処理を繰り返すことに関して、事前に最大繰り返し回数を設定し、差分が収束しない場合に、概略形状をそのまま最終的な三次元形状データとして出力してもよい。
【００６２】
他方、形状フィッティング部４０８は、フィッティングが正確に実行されていると判定すると、図８に示されるように、フィッティングした各形状を比較して、同じスケール、方向の形状があれば、それらの形状を１つに統合する。また、例えば、ラグビーゴールの形状を分解した場合、閾値の設定方法によっては、１つのゴールポストが２つに分割される場合がある。そこで、同一の種類の基本形状との距離、傾き、スケールに関しての閾値を各々、設定し、各々の差分が閾値以下の場合に形状を統合する。
【００６３】
以上、説明したように、本実施形態に係る画像処理装置によれば、ユーザの負担を低減した上で、三次元形状データを生成することができる。
【００６４】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６５】
２００  画像処理装置
４０１  画像取得部
４０２  カメラ校正部
４０３  シルエット生成部
４０４  形状生成部
４０５  形状分解部
４０６  断面格納部
４０７  基本形状選択部
４０８  形状フィッティング部
【図１】
2020187626.tif 000011
【図２】
2020187626.tif 000012
【図３】
2020187626.tif 000013
【図４】
2020187626.tif 000014
【図５】
2020187626.tif 000015
【図６】
2020187626.tif 000016
【図７】
2020187626.tif 000017
【図８】
2020187626.tif 000018