(57)【特許請求の範囲】
【請求項１】
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成手段と、
前記生成手段で生成された三次元モデルを構成する点を基準点として所定の距離までの空間範囲において、前記三次元モデルの生成に用いられた撮影画像の撮影位置と異なる位置から撮影された撮影画像を用いて生成された他の三次元モデルを構成する頂点を、所定数得られない場合に、前記基準点を、前記三次元モデルから除去する除去手段と、
を備えることを特徴とする三次元モデル生成装置。
【請求項２】
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成手段と、
前記生成手段で生成された三次元モデルを構成する点に基づいて、前記三次元モデルの生成に用いられた撮影画像の撮影時における撮影装置の撮影方向を推定する推定手段と、
前記推定手段で推定された撮影方向の差異が所定値よりも小さい複数の三次元モデルの内で、他の三次元モデルの生成に用いられた撮影画像の撮影時刻よりも早い撮影時刻の撮影画像を用いて生成された三次元モデルを除去する除去手段と、
を備えることを特徴とする三次元モデル生成装置。
【請求項３】
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成手段と、
前記生成手段で生成された三次元モデルを構成する点に基づいて、前記三次元モデルの生成に用いられた撮影画像の撮影時における撮影装置の撮影方向を推定する推定手段と、
前記推定手段で推定された撮影方向と、前記三次元モデルを構成する点を頂点とするポリゴン面の法線との相違が所定値よりも大きい場合に、前記頂点を、前記三次元モデルから除去する除去手段と、
を備えることを特徴とする三次元モデル生成装置。
【請求項４】
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成手段と、
前記生成手段で生成された三次元モデルを構成する点に基づいて、前記三次元モデルの生成に用いられた撮影画像の撮影時における撮影装置の撮影方向を推定する推定手段と、
前記推定手段で推定された撮影方向と、前記三次元モデルを構成する点を頂点とする複数のポリゴン面の法線で定まる前記頂点の方向との相違が所定値よりも大きい場合に、前記頂点を、前記三次元モデルから除去する除去手段と、
を備えることを特徴とする三次元モデル生成装置。
【請求項５】
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成手段と、
前記生成手段で生成された三次元モデルからノイズを除去する除去手段と、
前記除去手段でノイズを除去された三次元モデルと、前記三次元モデルを構成する点がノイズであるか否かを前記除去手段が判定するために用いた所定値とを対応付けて表示する表示手段と、
前記所定値を変更するための変更手段と、を備え、
前記除去手段は、前記変更手段によって変更された所定値に基づいて、前記三次元モデルを構成する点がノイズであるか否かを再度判定すると共に、ノイズであると判定した点を前記三次元モデルから再度除去し、
前記表示手段は、前記除去手段でノイズが再度除去された三次元モデルを表示する、
ことを特徴とする三次元モデル生成装置。
【請求項６】
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成ステップと、
前記三次元モデルを構成する点を基準点として所定の距離までの空間範囲において、前記三次元モデルの生成に用いられた撮影画像の撮影位置と異なる位置から撮影された撮影画像を用いて生成された他の三次元モデルを構成する頂点を、所定数得られない場合に、前記基準点を、前記三次元モデルから除去する除去ステップと、
を含むことを特徴とする三次元モデル生成方法。
【請求項７】
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成ステップと、
前記三次元モデルを構成する点に基づいて、前記三次元モデルの生成に用いられた撮影画像の撮影時における撮影装置の撮影方向を推定する推定ステップと、
前記推定された撮影方向の差異が所定値よりも小さい複数の三次元モデルの内で、他の三次元モデルの生成に用いられた撮影画像の撮影時刻よりも早い撮影時刻の撮影画像を用いて生成された三次元モデルを除去する除去ステップと、
を含むことを特徴とする三次元モデル生成方法。
【請求項８】
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成ステップと、
前記三次元モデルを構成する点に基づいて、前記三次元モデルの生成に用いられた撮影画像の撮影時における撮影装置の撮影方向を推定する推定ステップと、
前記撮影方向と、前記三次元モデルを構成する点を頂点とするポリゴン面の法線との相違が所定値よりも大きい場合に、前記頂点を、前記三次元モデルから除去する除去ステップと、
を含むことを特徴とする三次元モデル生成方法。
【請求項９】
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成ステップと、
前記三次元モデルを構成する点に基づいて、前記三次元モデルの生成に用いられた撮影画像の撮影時における撮影装置の撮影方向を推定する推定ステップと、
前記撮影方向と、前記三次元モデルを構成する点を頂点とする複数のポリゴン面の法線で定まる前記頂点の方向との相違が所定値よりも大きい場合に、前記頂点を、前記三次元モデルから除去する除去ステップと、
を含むことを特徴とする三次元モデル生成方法。
【請求項１０】
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成ステップと、
前記三次元モデルからノイズを除去する除去ステップと、
前記ノイズを除去された三次元モデルと、前記生成された三次元モデルを構成する点がノイズであるか否かを判定するために前記除去ステップで用いた所定値とを対応付けて表示する表示ステップと、
前記所定値を変更するための変更ステップと、を含み、
前記除去ステップは、前記変更された所定値に基づいて、前記生成された三次元モデルを構成する点がノイズであるか否かを再度判定すると共に、ノイズであると判定した点を前記生成された三次元モデルから再度除去し、
前記表示ステップは、前記ノイズが再度除去された三次元モデルを表示する、
ことを特徴とする三次元モデル生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元モデル生成装置、及び三次元モデル生成方法に関する。
【背景技術】
【０００２】
非特許文献１には、２つのカメラを光軸が平行で、かつ画像座標系の座標軸が同一直線上で同一方向になる配置（つまり、平行ステレオ）に固定すると共に、固定した２つのカメラで撮影された画像における撮影対象物（つまり、被写体という）の見え方の差異（つまり、視差）とカメラ間の距離（つまり、基線長）とに基づいて、対象物の三次元画像を生成する技術が開示されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】佐藤  洋一  著、「ディジタル画像処理」、ＣＧ−ＡＲＴＳ協会出版、２００９年１１月２日発行、第２５１頁から第２６２頁
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、非特許文献１に係る技術では、生成された三次元画像に含まれるノイズを除去できないため、撮影された対象物の三次元画像を精度良く生成できないという問題があった。
【０００５】
そこで、本発明は、このような点に鑑み、その目的とするところは、被写体の三次元画像を精度良く生成できる三次元モデル生成装置、及び三次元モデル生成方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の第１の観点に係る三次元モデル生成装置は、
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成手段と、前記生成手段で生成された三次元モデルを構成する点を基準点として所定の距離までの空間範囲において、前記三次元モデルの生成に用いられた撮影画像の撮影位置と異なる位置から撮影された撮影画像を用いて生成された他の三次元モデルを構成する頂点を、所定数得られない場合に、前記基準点を、前記三次元モデルから除去する除去手段と、を備える。
本発明の第２の観点に係る三次元モデル生成装置は、
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成手段と、前記生成手段で生成された三次元モデルを構成する点に基づいて、前記三次元モデルの生成に用いられた撮影画像の撮影時における撮影装置の撮影方向を推定する推定手段と、前記推定手段で推定された撮影方向の差異が所定値よりも小さい複数の三次元モデルの内で、他の三次元モデルの生成に用いられた撮影画像の撮影時刻よりも早い撮影時刻の撮影画像を用いて生成された三次元モデルを除去する除去手段と、を備える。
本発明の第３の観点に係る三次元モデル生成装置は、
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成手段と、前記生成手段で生成された三次元モデルを構成する点に基づいて、前記三次元モデルの生成に用いられた撮影画像の撮影時における撮影装置の撮影方向を推定する推定手段と、前記推定手段で推定された撮影方向と、前記三次元モデルを構成する点を頂点とするポリゴン面の法線との相違が所定値よりも大きい場合に、前記頂点を、前記三次元モデルから除去する除去手段と、を備える。
本発明の第４の観点に係る三次元モデル生成装置は、
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成手段と、前記生成手段で生成された三次元モデルを構成する点に基づいて、前記三次元モデルの生成に用いられた撮影画像の撮影時における撮影装置の撮影方向を推定する推定手段と、前記推定手段で推定された撮影方向と、前記三次元モデルを構成する点を頂点とする複数のポリゴン面の法線で定まる前記頂点の方向との相違が所定値よりも大きい場合に、前記頂点を、前記三次元モデルから除去する除去手段と、を備える。
本発明の第５の観点に係る三次元モデル生成装置は、
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成手段と、前記生成手段で生成された三次元モデルからノイズを除去する除去手段と、前記除去手段でノイズを除去された三次元モデルと、前記三次元モデルを構成する点がノイズであるか否かを前記除去手段が判定するために用いた所定値とを対応付けて表示する表示手段と、前記所定値を変更するための変更手段と、を備え、前記除去手段は、前記変更手段によって変更された所定値に基づいて、前記三次元モデルを構成する点がノイズであるか否かを再度判定すると共に、ノイズであると判定した点を前記三次元モデルから再度除去し、前記表示手段は、前記除去手段でノイズが再度除去された三次元モデルを表示する、ことを特徴とする。
【０００９】
さらに上記目的を達成するため、本発明の第６の観点に係る三次元モデル生成方法は、
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成ステップと、前記三次元モデルを構成する点を基準点として所定の距離までの空間範囲において、前記三次元モデルの生成に用いられた撮影画像の撮影位置と異なる位置から撮影された撮影画像を用いて生成された他の三次元モデルを構成する頂点を、所定数得られない場合に、前記基準点を、前記三次元モデルから除去する除去ステップと、を含む。
本発明の第７の観点に係る三次元モデル生成方法は、
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成ステップと、前記三次元モデルを構成する点に基づいて、前記三次元モデルの生成に用いられた撮影画像の撮影時における撮影装置の撮影方向を推定する推定ステップと、前記推定された撮影方向の差異が所定値よりも小さい複数の三次元モデルの内で、他の三次元モデルの生成に用いられた撮影画像の撮影時刻よりも早い撮影時刻の撮影画像を用いて生成された三次元モデルを除去する除去ステップと、を含む。
本発明の第８の観点に係る三次元モデル生成方法は、
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成ステップと、前記三次元モデルを構成する点に基づいて、前記三次元モデルの生成に用いられた撮影画像の撮影時における撮影装置の撮影方向を推定する推定ステップと、前記撮影方向と、前記三次元モデルを構成する点を頂点とするポリゴン面の法線との相違が所定値よりも大きい場合に、前記頂点を、前記三次元モデルから除去する除去ステップと、を含む。
本発明の第９の観点に係る三次元モデル生成方法は、
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成ステップと、前記三次元モデルを構成する点に基づいて、前記三次元モデルの生成に用いられた撮影画像の撮影時における撮影装置の撮影方向を推定する推定ステップと、前記撮影方向と、前記三次元モデルを構成する点を頂点とする複数のポリゴン面の法線で定まる前記頂点の方向との相違が所定値よりも大きい場合に、前記頂点を、前記三次元モデルから除去する除去ステップと、を含む。
本発明の第１０の観点に係る三次元モデル生成方法は、
被写体を撮影した撮影画像を用いて、前記被写体の三次元モデルを生成する生成ステップと、前記三次元モデルからノイズを除去する除去ステップと、前記ノイズを除去された三次元モデルと、前記生成された三次元モデルを構成する点がノイズであるか否かを判定するために前記除去ステップで用いた所定値とを対応付けて表示する表示ステップと、前記所定値を変更するための変更ステップと、を含み、前記除去ステップは、前記変更された所定値に基づいて、前記生成された三次元モデルを構成する点がノイズであるか否かを再度判定すると共に、ノイズであると判定した点を前記生成された三次元モデルから再度除去し、前記表示ステップは、前記ノイズが再度除去された三次元モデルを表示する、ことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、被写体の三次元画像を精度良く生成できる。
【図面の簡単な説明】
【００１１】
【図１】図１（ａ）は、本実施形態に係る撮影装置の一例を表す正面図である。図１（ｂ）は撮影装置の一例を表す背面図、図１（ｃ）は撮影装置の一例を表す右側面図、図１（ｄ）は撮影装置の一例を表す上面図である。
【図２】図２（ａ）は、本実施形態に係る撮影装置が撮影する被写体及び被写体の撮影位置の一例を表す図である。図２（ｂ）は、初回の撮影により生成された被写体の三次元モデルの一例を表す図である。図２（ｃ）は、１０回目の撮影により生成された被写体の三次元モデルの一例を表す図である。図２（ｄ）は、２０回目の撮影により生成された被写体の三次元モデルの一例を表す図である。
【図３】図３は、撮影装置の回路構成の一例を表すブロック図である。
【図４】図４は、制御部が実行する三次元画像生成処理の一例を表すフローチャートである。
【図５】図５（ａ）は、本実施形態に係る撮影装置が有する機能の一例を表す機能ブロック図である。図５（ｂ）は、モデル群更新部の一構成例を表す機能ブロック図である。
【図６】図６（ａ）は、モデル群更新部が実行するモデル群更新処理の一例を表すフローチャートである。図６（ｂ）は、撮影状態推定部が実行する撮影状態推定処理の一例を表すフローチャートである。
【図７】図７は、撮影部の透視投影モデルの一例を表す図である。
【図８】図８は、初回の撮影状態を基準とした他の撮影状態を表す回転行列Ｒと併進ベクトルｔとの一例を表す図である。
【図９】図９（ａ）は、ノイズ除去部が実行する第１除去処理の一例を表すフローチャートである。図９（ｂ）は、ノイズ除去部が実行する第２除去処理の一例を表すフローチャートである。図９（ｃ）は、ノイズ除去部が実行する第３除去処理の一例を表すフローチャートである。
【図１０】図１０は、撮影位置を用いたノイズ除去方法の一例を説明するための図である。
【図１１】図１１は、モデル群編集部が実行するモデル群編集処理の一例を表すフローチャートである。
【図１２】図１２（ａ）は、表示メニューの一例を表す図である。図１２（ｂ）は、ノイズ除去レベルが「0」の場合に表示される点群の一例を表す図である。図１２（ｃ）は、ノイズ除去レベルが「0.5」の場合に表示される点群の一例を表す図である。図１２（ｄ）は、ズームレベルが「180%」の場合に表示される点群の一例を表す図である。図１２（ｅ）は、ズームレベルが「30%」の場合に表示される点群の一例を表す図である。
【図１３】図１３（ａ）は、モデル群編集部が実行するノイズ除去表示処理の一例を表すフローチャートである。図１３（ｂ）は、モデル群編集部が実行するズーム表示処理の一例を表すフローチャートである。図１３（ｃ）は、モデル群編集部が実行する自由視点表示処理の一例を表すフローチャートである。
【図１４】図１４は、変形例においてノイズ除去部が実行する第１除去処理の一例を表すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の最良の実施形態について添付図面を参照しつつ説明する。
【００１３】
＜実施形態＞
本発明の実施形態に係る撮影装置１００は、デジタルカメラであり、図１（ａ）に示すような、携帯可能な所謂コンパクトカメラの形状を模している。撮影装置１００は、図２（ａ）に示すように撮影位置を変更され、変更されたそれぞれの撮影位置で被写体（つまり、撮影対象物）を複数回に亘って撮影する。撮影装置１００は、それぞれの撮影位置で取得したそれぞれの撮影画像に基づいて、図２（ｂ）から図２（ｄ）に示すような被写体の三次元モデルを複数生成し、生成した複数の三次元モデルを合成する。その後、撮影装置１００は、合成された三次元モデルに基づいて三次元画像を生成する。
【００１４】
撮影装置１００は、図１（ａ）に示すように、正面にストロボ発光窓１０１、並びに撮影レンズ１０２ａ及び１０２ｂを有する。ストロボ発光窓１０１は、必要に応じてキセノンフラッシュが発光したストロボ光を被写体に向けて照射する。
【００１５】
また、図１（ｂ）に示すように、撮影装置１００の背面には、液晶モニタ画面である表示部１０３、電源キー１０４ｐ、３Ｄ（dimension）モデリングキー１０４ｄ、及び操作キー１０５を有する。
表示部１０３は、ファインダーとして機能するＬＣＤ（Liquid Crystal Display）パネルを有する。また、表示部１０３のＬＣＤパネルは、撮影装置１００の操作に必要な種々の画面、撮影時のライブビュー画像、撮影装置１００が撮影した画像（以下、撮影画像という）及び撮影画像に基づいて生成された三次元画像を表示する。さらに、ＬＣＤパネルの表示面は、透明なタッチパネルで覆われており、タッチパネルは、ユーザによるタッチ操作に応じた信号（例えば、タッチ位置の座標値を表す信号など）を出力する。
【００１６】
電源キー１０４ｐは、撮影装置１００の電源がＯＮである場合に長押しをされると、撮影装置１００の電源をＯＦＦにするように命じる信号を入力し、撮影装置１００の電源がＯＦＦである場合に押されると、撮影装置１００の電源をＯＮにするように命じる信号を入力する。
【００１７】
３Ｄモデリングキー１０４ｄは、トグル動作をし、押される度に通常の撮影を行う通常撮影モードと、三次元画像を生成する３Ｄ（Dimension）モデリングモードとの二者を択一に切り替える信号を入力する。
【００１８】
操作キー１０５は、十字キー及び決定キーを有する。十字キーは、撮影モードの切替時又は表示切替時に表示部１０３に表示されるアイコンを選択するユーザの選択操作に応じた信号を撮影装置１００へ入力する。決定キーは、選択されたアイコンに対応付けられた命令（つまり、コマンド）を実行させることを決定するユーザの決定操作に応じた信号を撮影装置１００へ入力する。
【００１９】
さらに、撮影装置１００は、図１（ｃ）に示すように、右側面に、ＵＳＢ（Universal Serial Bus）接続端子である外部インターフェース部（以下、外部Ｉ／Ｆ部という）１０６を有する。尚、外部Ｉ／Ｆ部１０６は、ビデオ出力端子であっても良い。また、撮影装置１００は、図１（ｄ）に示すように、上面に、シャッターボタン１０９を有する。
【００２０】
次に、撮影装置１００の回路構成について説明する。
撮影装置１００は、図３に示すような２つの撮影部１１０ａ及び１１０ｂ、データ処理部１２０、及びインターフェース部１３０（以下単に、Ｉ／Ｆ部１３０という）で構成される。
【００２１】
撮影部１１０ａと撮影部１１０ｂとは、平行ステレオとなるように配置されている。つまり、撮影部１１０ａが有する図１（ａ）の撮影レンズ１０２ａと、撮影部１１０ｂが有する撮影レンズ１０２ｂとは、撮影装置１００の外面を構成する同一平面上に配置され、かつそれぞれの中心位置が、シャッターボタン１０９を上に向けた使用時における撮影装置１００の水平方向の同一線上に位置するように配置されている。つまり、撮影部１１０ａと撮影部１１０ｂとを同時に動作させて同一被写体を撮影すると、撮影部１１０ａで取得された撮影画像における光軸位置と、撮影部１１０ｂ取得された撮影画像における光軸位置とが撮影画像の横方向に互いにずれる。撮影部１１０ａと撮影部１１０ｂとは、それぞれの光軸が平行で、かつそれぞれの画像座標系における座標軸が同一直線上で同一方向になる配置に固定されている（つまり、平行ステレオである）ためである。尚、撮影部１１０ａの構成と撮影部１１０ｂの構成とは、それぞれ同様であるので、撮影部１１０ｂの説明を省略する。
【００２２】
撮影部１１０ａは、光学装置１１１ａ及びイメージセンサ部１１２ａで構成される。光学装置１１１ａは、図１（ａ）の撮影レンズ１０２ａ、並びに不図示の絞り機構及びシャッター機構を有し、被写体の撮影に関する光学的動作を行う。この光学的動作は、撮影レンズ１０２ａを用いて入射光を集光すると、焦点距離及び絞りを調節すると共にシャッタースピードを調整する動作をいう。つまり、光学的動作は、画角、ピント、及び露出といった光学的な要素を調整する動作である。尚、光学装置１１１ａが有するシャッター機構はいわゆるメカニカルシャッターである。しかし、イメージセンサの動作によってシャッター動作を行う場合には、光学装置１１１ａは、シャッター機構を有さなくても良い。
【００２３】
イメージセンサ部１１２ａは、ＣＣＤ（Charge Coupled Device：電荷結合素子）で構成される。イメージセンサ部１１２ａは、光電変換を行うことで、光学装置１１１ａによって集光された入射光に応じた電気信号を発生させると共に、発生させた電気信号をデータ処理部１２０に出力する。尚、イメージセンサ部１１２ａは、ＣＭＯＳ（Complementary Metal Oxide Semiconductor：相補型金属酸化物半導体）で構成されても良い。
【００２４】
データ処理部１２０は、撮影部１１０ａ又は撮影部１１０ｂから出力された電気信号を処理することで、撮影部１１０ａ又は撮影部１１０ｂが撮影した撮影画像を表すデジタルデータを生成すると共に、生成したデータが表す撮影画像に対する画像処理を行う。尚、データ処理部１２０は、制御部１２１、記憶部１２２、外部記憶部１２３、画像処理部１２４、画像メモリ１２５、及び画像出力部１２６で構成される。
【００２５】
制御部１２１は、不図示のＣＰＵ（Central Processing Unit：中央演算処理部）及びＲＡＭ（Random Access Memory）で構成され、記憶部１２２に格納されたプログラムを実行することで、撮影装置１００の各部を制御する。
【００２６】
記憶部１２２は、ＲＯＭ（Read Only Memory）で構成され、制御部１２１が実行するプログラム及びプログラムの実行時に使用されるパラメーター及び演算式を表すデータを格納する。尚、記憶部１２２は、フラッシュメモリであっても良い。
【００２７】
外部記憶部１２３は、撮影装置１００に着脱可能な記憶装置であるメモリカードで構成され、撮影画像を表す画像データ及び撮影画像に基づいて生成した三次元画像を表すデータ（以下、３Ｄモデリングデータという）を格納する。
【００２８】
画像処理部１２４は、不図示のＡＤＣ（Analog‐Digital Converter：アナログ・デジタル変換器）、バッファメモリ、画像処理用のプロセッサ（いわゆる、画像処理エンジン）で構成される。画像処理部１２４は、イメージセンサ部１１２ａ又１１２ｂから出力されたアナログ電気信号をＡＤＣでデジタル信号に変換すると共に、変換したデジタル信号で表されるデータを順次バッファメモリに格納する。次に、画像処理部１２４は、バッファメモに格納したデジタルデータに対して、画像処理用のプロセッサが現像処理を行うことで、撮影画像の画質の調整及び画像データの圧縮を行う。
【００２９】
画像メモリ１２５は、画像処理部１２４によって生成された画像データ、及び制御部１２１によって処理される画像データを一時的に格納する。
【００３０】
画像出力部１２６は、ＲＧＢ信号を生成する回路で構成され、画像メモリ１２５に展開された画像データをＲＧＢ信号に変換して表示部１０３及び外部Ｉ／Ｆ部１０６へ出力する。
【００３１】
Ｉ／Ｆ部１３０は、撮影装置１００と、撮影装置１００の使用者（つまり、ユーザ）又は撮影装置１００と接続する外部装置とのインターフェースを提供する。尚、Ｉ／Ｆ部１３０は、図１（ｂ）の表示部１０３、図１（ｃ）の外部Ｉ／Ｆ部１０６、及び操作部１３１で構成される。操作部１３１は、図１の電源キー１０４ｐ、３Ｄモデリングキー１０４ｄ、操作キー１０５、及び表示部１０３の上に重ねて設置された不図示のタッチパネルとタッチパネルのコントローラとで構成される。
【００３２】
次に、撮影装置１００が図３に示したハードウェアを用いて三次元画像を生成するために実行する三次元画像生成処理について説明を行う。図３の制御部１２１は、図４に示すような三次元画像生成処理を実行することで、図５（ａ）に示すような撮影制御部１４１、画像取得部１４２、モデル群更新部１４３、モデル群編集部１４４、三次元画像生成部１４５、及び三次元画像表示制御部１４６として機能する。
【００３３】
ユーザが図１（ｂ）の３Ｄモデリングキー１０４ｄを操作して３Ｄモデリングモードを選択すると、制御部１２１は、３Ｄモデリングキー１０４ｄから出力される信号を検出して図４の三次元画像生成処理を開始する。三次元画像生成処理が開始されると、図５（ａ）の撮影制御部１４１は、三次元画像を生成するために撮影が行われた回数を計数する撮影回数カウンタの値を「1」として初期化する（ステップＳ０１）。次に、撮影制御部１４１は、シャッターボタン１０９がユーザによって押し下げられたか否かを、シャッターボタン１０９から出力される信号に基づいて判別する（ステップＳ０２）。
【００３４】
ステップＳ０２において、シャッターボタン１０９が押し下げられなかったと判別すると（ステップＳ０２；Ｎｏ）、撮影制御部１４１は、終了イベントが発生したか否かを判別する（ステップＳ０３）。具体例としては、撮影制御部１４１は、例えば、シャッターボタン１０９が所定時間を超えて押し下げられる終了イベントが発生したか（つまり、長押しされたか）否かを、シャッターボタン１０９が出力する信号に基づいて判別する。このときに、終了イベントが発生したと判別すると（ステップＳ０３；Ｙｅｓ）、撮影制御部１４１は、三次元画像生成処理の実行を終了する。これに対して、撮影制御部１４１は、終了イベントが発生しなかったと判別する場合には（ステップＳ０３；Ｎｏ）、ステップＳ０２に戻り上記処理を繰り返す。
【００３５】
ステップＳ０２において、シャッターボタン１０９が押し下げられたと判別すると（ステップＳ０２；Ｙｅｓ）、撮影制御部１４１は、被写体の撮影を行うように撮影部１１０ａと撮影部１１０ｂとを制御する（ステップＳ０４）。次に、画像取得部１４２は、撮影部１１０ａと撮影部１１０ｂとから、それぞれの撮影画像を取得する（ステップＳ０５）。尚、平行ステレオに配置された撮影部１１０ａの撮影画像（以下、撮影画像Ａという）と撮影部１１０ｂの撮影画像（以下、撮影画像Ｂという）との組み合わせをペア画像（又はステレオ画像）という。
【００３６】
次に、モデル群更新部１４３は、ステップＳ０５で取得されたペア画像に基づいて被写体の三次元モデルを生成し、かつ前回までに生成された複数の三次元モデルで構成される三次元モデル群に対して、今回に生成された三次元モデルを追加することで、三次元モデル群を更新するモデル群更新処理を実行する（ステップＳ０６）。尚、モデル群更新部１４３は、図５（ｂ）に示すようなモデル生成部１４３ａ、撮影状態推定部１４３ｂ、頂点座標値変換部１４３ｃ、ノイズ除去部１４３ｄ、及び頂点方向算出部１４３ｅで構成され、図６（ａ）に示すようなモデル群更新処理をこれらの構成を用いて実行する。
【００３７】
図６（ａ）のモデル群更新処理の実行を開始すると、モデル生成部１４３ａは、図４のステップＳ０５で取得されたペア画像に基づいて、撮影された被写体の三次元モデルを生成する（３Ｄモデリングともいう）（ステップＳ２１）。尚、三次元モデルとは、被写体を表す複数の点の位置を表す三次元座標の座標値の集まりをいう。
【００３８】
一例として、モデル生成部１４３ａは、非特許文献１「デジタル画像処理」の第２５９頁に開示された方法を用いてペア画像から三次元モデルを生成する。この方法は、図７に示すような撮影部１１０ａと撮影部１１０ｂとの透視投影モデルに表されるように、以下の式（１）から（３）を用いて、被写体の三次元モデルを構成する点Ｍの座標値（Ｘｍ，Ｙｍ，Ｚｍ）を算出する方法である。
【００３９】
Ｘｍ＝（ｂ＊ｕ）／（ｕ−ｕ’）・・・（１）
Ｙｍ＝（ｂ＊ｖ）／（ｕ−ｕ’）・・・（２）
Ｚｍ＝（ｂ＊ｆ）／（ｕ−ｕ’）・・・（３）
【００４０】
尚、記号ｕ及びｖは、撮影画像Ａに被写体上の点Ｍが表された位置ｍａの座標値（ｕ，ｖ）を表し、記号ｕ’及びｖ’は、撮影画像Ｂに点Ｍが表された位置ｍｂの位置座標（ｕ’，ｖ’）を表す。また、記号ｂは、撮影部１１０ａの主点Ｃａと撮影部１１０ｂの主点Ｃｂとの距離である基線長を表し、記号ｆは、撮影部１１０ａの主点Ｃａと焦点ｆａとの焦点距離を表す。ここで、撮影部１１０ａの構成と撮影部１１０ｂの構成とは同一であるため、焦点距離ｆは、撮影部１１０ｂの主点Ｃｂと焦点ｆｂとの距離に等しい。また、位置ｍａを表す座標値（ｕ，ｖ）は、撮影部１１０ａの投影面に投影された撮影画像Ａの左上の角を原点とし、かつ撮影画像Ａの縦方向（副走査方向）及び横方向（主走査方向）に一致した座標軸ｕ及びｖからなる画像座標系Ｐａにおける座標値である。同様に、位置ｍｂを表す座標値（ｕ’，ｖ’）は、撮影部１１０ｂの投影面に投影された撮影画像Ｂの左上の角を原点とし、かつ撮影画像Ｂの縦方向（副走査方向）及び横方向（主走査方向）に一致した座標軸ｕ及びｖからなる画像座標系Ｐｂにおける座標値である。
【００４１】
さらに、点Ｍの座標値（Ｘｍ，Ｙｍ，Ｚｍ）は、今回の処理で用いられる世界座標系（ワールド座標系）で表され、今回の処理で用いられる世界座標系の原点は、今回の撮影位置における撮影部１１０ａの主点Ｃａの位置を原点とし、今回の処理で用いられる世界座標系のＸ軸及びＹ軸は、今回の撮影位置における画像座標系Ｐａのｕ軸及びｖ軸とそれぞれ平行であり、今回の世界座標系のＺ軸は、撮影部１１０ａの光軸ｌａ（及び撮影部１１０ｂの光軸ｌｂ）と平行である。つまり、ステップＳ２１で座標値を算出される頂点が被写体上の同じ点であっても、撮影装置１００の撮影位置及び撮影方向によって異なる値として算出される。座標系が異なるためである。
【００４２】
三次元モデルを生成した後に、モデル生成部１４３ａは、ペア画像から生成した三次元モデルを構成する各座標値で表される点（以下、三次元モデルを構成する点という）に対してドルネー（ドロネー：Delaunay）分割を行うことで、三角形ポリゴンを表すポリゴン情報を取得し、ポリゴン情報を三次元モデルを表す情報に追加する。
【００４３】
図６（ａ）のステップＳ２１の後に、撮影状態推定部１４３ｂは、初回の撮影状態（つまり、撮影カウンタの値が「1」のときにペア画像を撮影した撮影位置及び撮影方向）を基準とした今回の撮影状態を推定する、図６（ｂ）に示すような撮影状態推定処理を実行する（ステップＳ２２）。尚、ペア画像の撮影方向は、撮影部１１０ａの光軸方向（又は撮影部１１０ｂの光軸方向）をいうとして説明する。
【００４４】
図６（ｂ）の撮影状態推定処理の実行を開始すると、撮影状態推定部１４３ｂは、初回に生成された三次元モデルと、今回に生成された三次元モデルとの双方から特徴点を取得する（ステップＳ３１）。例えば、撮影状態推定部１４３ｂは、それぞれの三次元モデルを構成する頂点の内で、ペア画像におけるコーナー強度が高く、かつステレオマッチングの一致度が高い点に相当する頂点を特徴点として選択する。
【００４５】
次に、撮影状態推定部１４３ｂは、初回の三次元モデルから３つの特徴点を選択した後に、今回に生成された三次元モデルが有する３つの特徴点を頂点とする三角形の中から、選択された３つの特徴点を頂点とする三角形と合同な三角形の組を複数探索する（ステップＳ３２）。初回の三次元モデルの点と、今回の三次元モデルの点とから同じ被写体上の点を表す点（つまり、対応点ペア）をそれぞれ特定するためである。尚、撮影状態推定部１４３ｂは、３辺それぞれにおける長さの相違がそれぞれ所定値以下であれば、２つの三角形を合同であると判別する。
【００４６】
撮影状態推定部１４３ｂは、探索された複数の三角形が有する頂点のそれぞれに対して値「1」から始まる番号を付番する。次に、撮影状態推定部１４３ｂは、番号「1」が付された（今回の三次元モデルを構成する）頂点の座標値（ｘ1，ｙ1，ｚ1）と、探索された三角形と合同な三角形の頂点であって、当該頂点に対応する（初回の三次元モデルを構成する）頂点の座標値（ｘ’1，ｙ’ 1，ｚ’1）とをそれぞれ以下の式（４）及び（５）に代入することで、対応点ペアｐ1及びｐ1を設定し、かつ同様に番号「2」から「N」が付された他の頂点についても対応点ペアｐｉ及びｐ’ｉ（但し、ｉ＝２からＮ、かつＮはペア数）を設定する。（ステップＳ３３）。
【００４７】
【数１】
0005126442.tif 000002
【００４８】
【数２】
0005126442.tif 000003
【００４９】
ここで、初回の撮影位置及び撮影方向を基準にした今回の撮影位置及び撮影方向との関係は、図８に示すように、初回の撮影位置Ｓｐから今回の撮影位置Ｓｐ’への移動を表す移動ベクトルｔ（以下、併進ベクトルｔという）と、撮影装置１００の回転を表す回転行列Ｒとで表される。このため、式（４）で表される対応点ｐｉは、式（５）で表される対応点ｐ’ｉと、回転行列Ｒと併進ベクトルｔとを用いた式（６）で表される。
【００５０】
【数３】
0005126442.tif 000004
【００５１】
ここで、撮影状態推定部１４３ｂは、式（６）から直接的に回転行列Ｒと併進ベクトルｔとを算出する構成を採用し得る。しかし、ノイズの影響を軽減し、回転行列Ｒを安定的かつ精度良く算出するために、以下の処理を実行する。
【００５２】
ステップＳ３３の後に、撮影状態推定部１４３ｂは、以下の式（７）を用いて対応点ｐの重心を算出し、以下の式（８）を用いて対応点ｐ’の重心を算出する（ステップＳ３４）。次に、撮影状態推定部１４３ｂは、算出した重心を基準とした対応点ｐの分布ｄ１を以下の式（９）を用いて算出し、重心を基準とした対応点ｐ’の分布ｄ２を以下の式（１０）を用いて算出する（ステップＳ３５）。
【００５３】
【数４】
0005126442.tif 000005
【００５４】
【数５】
0005126442.tif 000006
【００５５】
【数６】
0005126442.tif 000007
【００５６】
【数７】
0005126442.tif 000008
【００５７】
ここで、対応点ｐと対応点ｐ’とは、同じ被写体上の複数の点を表すので、対応点ｐｉの重心を基準とした分布ｄ１と、対応点ｐ’ｉの重心を基準とした分布ｄ２とは、ほぼ一致する。また、重心を基準としているので、分布ｄ１と分布ｄ２との関係は、併進ベクトルｔによって定められず、回転量列Ｒのみによって定められる。このため、分布ｄ１と分布ｄ２とは、以下の式（１１）を満足する。
【００５８】
【数８】
0005126442.tif 000009
【００５９】
上記の式（１１）から回転行列を算出するため、ステップＳ３５の後に、撮影状態推定部１４３ｂは、式（１２）及び（１３）に示すように、分布ｄ１及びｄ２を特異値分解して、ユニタリ行列Ｕ１及びＵ２、特異値の対角行列Ｓ１及びＳ３、並びに随伴行列Ｖ１＊及びＶ２＊をそれぞれ算出する。（ステップＳ３６）。但し、特異値は、降順に並べられているものとし、記号＊は複素共役転置を表す。
【００６０】
【数９】
0005126442.tif 000010
【００６１】
【数１０】
0005126442.tif 000011
【００６２】
ここで、上記の式（１２）及び（１３）と上記の式（１１）とから、回転行列Ｒは、以下の式（１４）で表される。
【００６３】
【数１１】
0005126442.tif 000012
【００６４】
ここで、行列Ｕ１と行列Ｕ２＊とを関連付ける行列を、以下の式（１５）に示すような関連付け行列Ｋとすると、回転行列Ｒは、以下の式（１６）で表される。
【００６５】
【数１２】
0005126442.tif 000013
【００６６】
【数１３】
0005126442.tif 000014
【００６７】
ここで、ユニタリ行列Ｕ１及びＵ２の列ベクトルは、それぞれ分布ｄ１の固有ベクトル及び分布ｄ２の固有ベクトルに相当する。よって、行列Ｕ１及びＵ２＊を関係付ける関係付け行列Ｋの要素は、それぞれの固有ベクトルが対応する場合は「1」又は「-1」であり、そうでない場合は「0」である。ここで、分布ｄ１と分布ｄ２が等しいため、それぞれが分解される特異値も等しい（つまり、特異値の対角行列Ｓ１及びＳ３も等しい）。しかし実際には、分布ｄ１と分布ｄ２とには誤差が含まれているため、誤差を丸める必要がある。このため、関連付け行列Ｋは、例えば、四捨五入を行うｒｏｕｎｄ関数を用いた下記の式（１７）で表される。
【００６８】
【数１４】
0005126442.tif 000015
【００６９】
このため、図６（ｂ）のステップＳ３６の後に、撮影状態推定部１４３ｂは、上記の式（１７）に対して、ステップＳ３６で算出された随伴行列１＊及びＶ２＊を用いて関連付け行列Ｋを算出する（ステップＳ３７）。次に、撮影状態推定部１４３ｂは、算出された関連付け行列Ｋと、ステップＳ３６で算出されたユニタリ行列Ｕ１及びＵ２とを上記の式（１６）に代入することで、回転行列Ｒを算出する（ステップＳ３８）。
【００７０】
ここで、それぞれの対応ペアの重心からそれぞれの対応点へ向かうベクトルは、回転行列Ｒによって回転させるとそれぞれ等しいため、以下の式（１８）が成立し、以下の式（１８）を変形すると以下の式（１９）が得られる。
【００７１】
【数１５】
0005126442.tif 000016
【００７２】
【数１６】
0005126442.tif 000017
【００７３】
ここで、上記の式（１９）で表されるｐｉを上記の式（６）に代入することで、併進ベクトルｔの算出に用いられる以下の式（２０）が得られる。
【００７４】
【数１７】
0005126442.tif 000018
【００７５】
このため、ステップＳ３８の後に、撮影状態推定部１４３ｂは、上記の式（２０）に対して、ステップＳ３４で算出された重心ｔ１及びｔ２を用いて併進ベクトルｔを算出する（ステップＳ３９）。その後、撮影状態推定部１４３ｂは、撮影状態推定処理の実行を終了する。
【００７６】
図６（ａ）のステップＳ２２の後に、図５（ｂ）の頂点座標値変換部１４３ｃは、ステップＳ２１で生成されたモデルを構成するポリゴン頂点の座標値を、今回の処理で用いられる世界座標系の座標値から初回の処理で用いられた世界座標系の座標値へ変換する（ステップＳ２３）。具体的には、頂点座標値変換部１４３ｃは、ステップＳ２２で推定された撮影装置１００の撮影位置を表す併進ベクトルｔ及び撮影方向を表す回転行列Ｒを以下の式（２１）に用いることで、今回の世界座標系における座標値Ｗを初回の世界座標系における座標値Ｗ’に変換する。その後、頂点座標値変換部１４３ｃは、変換後の頂点座標値で構成されるモデルを表すデータを、撮影カウンタの値と対応付けて外部記憶部１２３に保存する。
【００７７】
Ｗ’＝ｉｎｖ（Ｒ）（Ｗ−ｔ）・・・（２１）
但し、ｉｎｖ（Ｒ）は、回転行列Ｒの逆行列を表す。
【００７８】
ステップＳ２３の後に、図５（ｂ）のノイズ除去部１４３ｄは、今回に生成された三次元モデルを構成するポリゴン面の向きを利用してノイズを三次元モデルから除去する、図９（ａ）に示すような第１除去処理を実行する。尚、ノイズ除去部１４３ｄが除去するノイズは、例えば、被写体上の点に対応しない三次元モデルの点を含む。
【００７９】
第１除去処理の実行を開始すると、先ず、ノイズ除去部１４３ｄは、ステップＳ２１で生成された三次元モデルを構成する各ポリゴン面の頂点座標値に基づいて、各ポリゴン面の法線ベクトルを取得する（ステップＳ４１）。尚、ステップＳ４１で取得されるポリゴン面の法線ベクトルは、撮影装置１００のカメラ視線（つまり、撮影部１１０ａの光軸方向）と同じ向きの（つまり、カメラ視線との内積が正の値となる）ベクトルと逆向きのベクトルとの２種類のベクトルの内で、カメラ視線と同じ向きのベクトルとする。処理の便宜のためである。
【００８０】
次に、ノイズ除去部１４３ｄは、図６（ｂ）のステップＳ３８で算出された回転行列Ｒによって今回のカメラ視線の方向を特定した後に、特定したカメラ視線と各ポリゴン面の法線ベクトルとの内積を算出する（ステップＳ４２）。その後、ノイズ除去部１４３ｄは、算出された内積の値が所定の閾値ＴＨ＿ＮＰ以下のポリゴン面を、三次元モデルから削除する（ステップＳ４３）。
【００８１】
次に、ノイズ除去部１４３ｄは、ポリゴン面の画定に使用されていない頂点をノイズであると判定する（ステップＳ４４）。その後、ノイズ除去部１４３ｄは、ノイズであると判定した頂点を、今回生成された三次元モデルから削除する（ステップＳ４５）。その後、ノイズ除去部１４３ｄは、第１除去処理の実行を終了する。
【００８２】
これらの構成によれば、ポリゴン面のカメラ視線に対する向きに基づいて、ポリゴン面を画定する頂点がノイズであるか否かを精度良く判定できる。カメラ視線との内積値が低い面ほどカメラ視線に対して正対していないため、三次元モデルの生成に用いられたペア画像にモデルを生成するのに十分な情報が表されていないことが多く、ノイズを有する可能性が高いためである。
【００８３】
図６（ａ）のステップＳ２４の後に、頂点方向算出部１４３ｅは、三次元モデルを構成する各頂点に対して頂点方向を算出する（ステップＳ２５）。一例として、頂点方向算出部１４３ｅは、ある頂点で画定されるポリゴン面が１つである場合には、当該ポリゴン面の法線方向を当該頂点の頂点方向とする。ある頂点で画定されるポリゴン面が複数存在する場合には、当該複数のポリゴン面が有する法線方向の単純平均又は面積を重みとした加重平均を当該頂点の頂点方向とする。
【００８４】
次に、ノイズ除去部１４３ｄは、撮影カウンタの値が所定値Ｋ１をより大きいか否かを判別する（ステップＳ２６）。撮影カウンタの値が所定値Ｋ１より大きいと判別した場合には（ステップＳ２６；Ｙｅｓ）、ノイズ除去部１４３ｄは、今回に生成された三次元モデルを、今回の撮影カウンタの値及び図６のステップＳ２２で推定された撮影状態とに対応付けて、三次元モデル群に追加する（ステップＳ２７）。次に、ノイズ除去部１４３ｄは、撮影位置を利用してノイズを除去する、図９（ｂ）に示すような第２除去処理を実行する（ステップＳ２８）。第２除去処理によりノイズを除去するためには、所定個数より多い三次元モデルが必要であるためである。
【００８５】
図９（ｂ）に示す第２除去処理の実行を開始すると、ノイズ除去部１４３ｄは、今回の撮影状態に近い前回までの撮影状態（つまり、過去の撮影状態）をＫ２個選出する（ステップＳ５１）。
【００８６】
具体的には、ノイズ除去部１４３ｄは、現在の撮影カウンタの値との差異がＫ２以内の撮影カウンタの値と対応付けて三次元モデル群に追加された三次元モデルを、差異が小さい順に選出する。この構成によれば、少ない計算量で今回の撮影状態に近い過去の撮影状態を選出できる。
【００８７】
また、これに限定される訳ではなく、ノイズ除去部１４３ｄは、今回推定された回転行列Ｒとの距離（行列の各要素の差分の２乗和）が所定の閾値ＴＨ＿Ｒ１よりも小さい回転行列と対応付けて三次元モデル群に追加された三次元モデルを、距離が小さい順に選出しても良い。この構成によれば、撮影カウンタの値に基づいて今回の撮影状態に近い過去の撮影状態を選出する方法よりも精度が良いだけでなく、後述する併進ベクトルｔに基づいて今回の撮影状態に近い過去の撮影状態を選出する方法よりも計算量が少ない。
【００８８】
さらに、これらに限定される訳ではなく、ノイズ除去部１４３ｄは、今回推定された併進ベクトルｔとの差異が所定の閾値ＴＨ＿Ｔ１よりも小さい併進ベクトルと対応付けて三次元モデル群に追加された三次元モデルを、差異が小さい順に選出しても良い。この構成によれば、回転行列Ｒに基づいて今回の撮影状態に近い過去の撮影状態を選出する方法よりも精度が良い。
【００８９】
図９（ｂ）のステップＳ５１を実行した後に、ノイズ除去部１４３ｄは、選出された撮影状態に対応付けられた三次元モデルを、三次元モデル群からＫ２個選出した後に（ステップＳ５２）、選出された全ての三次元モデルを構成する全ての頂点について以下のステップＳ５４からＳ５６の処理を実行したか否かを判別する（ステップＳ５３）。このとき、未だ全頂点に対して処理が行われていないと判別された場合には（ステップＳ５３；Ｎｏ）、ノイズ除去部１４３ｄは、未処理の頂点の内１つを処理対象とする頂点（以下単に、対象頂点という）とし、対象頂点で構成される三次元モデルを対象モデルとする。次に、ノイズ除去部１４３ｄは、対象頂点から所定距離（以下、近傍距離という）までの空間範囲（以下、近傍範囲という）に含まれる対象モデルと異なる他の三次元モデルの頂点の数を算出する（ステップＳ５４）。その後、ノイズ除去部１４３ｄは、近傍範囲に含まれる他の三次元モデルの頂点数が所定の閾値ＴＨ＿Ｎ以下であるか否かを判別する（ステップＳ５５）。
【００９０】
ステップＳ５５において、ノイズ除去部１４３ｄは、近傍範囲に含まれる他の三次元モデルの頂点数が所定の閾値ＴＨ＿Ｎ以下であると判別すると（ステップＳ５５；Ｙｅｓ）、対象頂点をノイズであると判定し、対象頂点で構成されていた三次元モデル及び三次元モデル群から対象頂点を削除する（ステップＳ５６）。その後、ノイズ除去部１４３ｄは、ステップＳ５３に戻り上記処理を繰り返す。
【００９１】
具体的には、図１０に示すように、対象頂点ＴＰ１から近傍距離ｄｓ以内の近傍範囲ＳＰには、対象頂点ＴＰ１と同様に２０回目の撮影により得られたペア画像を用いて生成された三次元モデル（以下、２０回目の三次元モデルという）を構成する頂点が３つ含まれるが、１６回目の三次元モデルを構成する頂点が１つしか含まれない。このため、閾値ＴＨ＿Ｎが値「1」である場合には、対象頂点ＴＰ１はノイズであると判別される。
【００９２】
ここで、被写体を複数回撮影すると、同じ対象物上の点が複数のペア画像に表されるので、対象物上のある点に対応する点は、通常、複数の三次元モデルに含まれる。このため、これらの構成によれば、ある点の近傍範囲ＳＰに含まれる他の三次元モデルを構成する点の数に基づいて、当該点がノイズであるか否かを精度良く判定できる。また、撮影回数が増える程、生成される三次元モデルの数が増えるため、撮影回数が増える程、三次元モデルの点がノイズであるか否かを精度良く判定できる。
【００９３】
ステップＳ５５において、ノイズ除去部１４３ｄは、近傍範囲に含まれる他の三次元モデルの頂点数が所定の閾値ＴＨ＿Ｎよりも大きいと判別すると（ステップＳ５５；Ｎｏ）、対象頂点はノイズでないと判定し、ステップＳ５３に戻り上記処理を繰り返す。
【００９４】
具体的には、図１０に示すように、対象頂点ＴＰ２の近傍範囲ＳＰには、１６回目の三次元モデルを構成する頂点が３つ含まれ、１１回目の三次元モデルを構成する頂点が２つ含まれる。このため、閾値ＴＨ＿Ｎが値「1」である場合には、対象頂点ＴＰ１はノイズではないと判別される。
【００９５】
その後、図９（ｂ）のステップＳ５３において、全頂点に対してステップＳ５４からＳ５６の処理が行われたと判別すると（ステップＳ５３；Ｙｅｓ）、ノイズ除去部１４３ｄは、第２ノイズ除去処理の実行を終了する。
【００９６】
図６（ａ）のステップＳ２８を実行した後に、ノイズ除去部１４３ｄは、撮影時刻を利用してノイズを除去する、図９（ｃ）に示すような第３除去処理を実行する（ステップＳ２９）。
【００９７】
第３除去処理の実行を開始すると、ノイズ除去部１４３ｄは、図９（ｂ）のステップＳ５１と同様の処理を実行して、今回の撮影状態に近い撮影状態を選出する（ステップＳ６１）。次に、ノイズ除去部１４３ｄは、選出された撮影状態の数（以下、選出撮影状態数）が所定の閾値ＴＨｃｎ＋１以上であるか否かを判別する（ステップＳ６２）。このとき、選出撮影状態数が所定の閾値ＴＨｃｎ以下であると判別すると（ステップＳ６２；Ｎｏ）、ノイズ除去部１４３ｄは、第３除去処理の実行を終了する。第３除去処理の実行に必要な数の撮影状態が選出されていないためである。
【００９８】
ステップＳ６２において、選出撮影状態数が所定の閾値ＴＨｃｎ＋１以上であると判別すると、ノイズ除去部１４３ｄは、撮影時刻が新しい（つまり、撮影カウンタの値が大きい）撮影状態から順にＴＨｃｎ個の撮影状態を抽出する（ステップＳ６３）。次に、ノイズ除去部１４３ｄは、抽出した撮影状態以外の撮影状態に対応付けられた（つまり、抽出した撮影状態以外の撮影状態において撮影されたペア画像を用いて生成された）三次元モデルの頂点を三次元モデル群から削除する（ステップＳ６４）。その後、ノイズ除去部１４３ｄは、第３除去処理の実行を終了する。
【００９９】
ここで、同じ撮影位置及び撮影方向から同じ被写体を撮影した場合であっても、撮影時刻が異なると、例えば、被写体を照らす照明、被写体の背景、又は被写体自体の動作などにより、撮影されたペア画像に表される被写体の情報が異なる。このためこれらの構成によれば、古い撮影時刻に撮影されたペア画像を用いて生成された三次元モデルの頂点を三次元モデル群から除去するため、ペア画像に表される被写体の情報の相違を軽減し、均一な三次元モデルで構成される三次元モデル群を生成できる。
【０１００】
図４のステップＳ０６の後に、図５（ａ）のモデル群編集部１４４は、ステップＳ０６で更新された三次元モデル群を編集する、図１１に示すようなモデル群編集処理を実行する（ステップＳ０７）。
【０１０１】
図１１に示すモデル群編集処理の実行を開始すると、モデル群編集部１４４は、図３の操作部１３１を構成するタッチパネルに対してタッチ操作がなされたか否かを、操作部１３１から出力される信号に基づいて判別する（ステップＳ７１）。このとき、タッチ操作がなされたと判別すると（ステップＳ７１；Ｙｅｓ）、モデル群編集部１４４は、図１２（ａ）に示すような表示メニューＭＮを図１（ｂ）の表示部１０３に表示させる（ステップＳ７２）。この表示メニューは、図１２（ａ）に示すようなモデル表示エリアＤＡＭに表示される三次元モデルの拡大又は縮小を命じる命令に関連付けられたズームアイコンＩＣＺ、三次元モデルの表示視点を変える命令と関連付けられた自由視点アイコンＩＣＦ、三次元モデルに対するノイズ除去を命じる命令と関連付けられたノイズ除去アイコンＩＣＮ、及び現在の３Ｄモデリングモードから通常撮影モードへの復帰を命じる命令と関連付けられた撮影モードアイコンＩＣＭで構成される。
【０１０２】
ステップＳ７２を実行した後に、モデル群編集部１４４は、タッチパネルから出力されたタッチ位置の座標値を表す信号と、表示部１０３に表示させた各アイコンの位置座標とに基づいて、タッチ操作が行われた位置に表示されていたアイコン（つまり、ユーザによりタッチされたアイコン）が撮影モードアイコンＩＣＭであるか否かを判別する（ステップＳ７３）。
【０１０３】
ステップＳ７１において、タッチ操作がなされなかったと判別した場合（ステップＳ７１；Ｎｏ）、又はステップＳ７３において、撮影モードアイコンＩＣＭがタッチされたと判別した場合に（ステップＳ７３；Ｙｅｓ）、モデル群編集部１４４は、現在の撮影視線の方向から三次元モデル群を構成する各三次元モデルの頂点（以下単に、点群という）を表した画像を、表示部１０３のモデル表示エリアＤＡＭに表示させる（ステップＳ７４）。その後、モデル群編集部１４４は、モデル群編集処理の実行を終了する。
【０１０４】
ステップＳ７３において、撮影モードアイコンＩＣＭがタッチされなかったと判別した場合には（ステップＳ７３；Ｎｏ）、モデル群編集部１４４は、ステップＳ７３と同様に、ノイズ除去アイコンＩＣＮがタッチされたか否かを判別する（ステップＳ７５）。このとき、ノイズ除去アイコンＩＣＮがタッチされたと判別すると（ステップＳ７５；Ｙｅｓ）、モデル群編集部１４４は、タッチパネルから入力されたノイズ除去レベルに基づいて三次元座標群からノイズを取り除いた後に、ノイズを取り除かれた三次元座標群の頂点を表示部１０３に表示させる、図１３（ａ）に示すようなノイズ除去表示処理を実行する（ステップＳ７６）。その後、モデル群編集部１４４は、ステップＳ７３に戻り上記処理を繰り返す。
【０１０５】
図１３（ａ）のノイズ除去表示処理の実行を開始すると、モデル群編集部１４４は、図１２（ｂ）に示すようにノイズ除去アイコンＩＣＮをハイライト表示するように表示部１０３を制御する（ステップＳ８１）。尚、モデル群編集部１４４は、ノイズ除去アイコンＩＣＮを反転表示させても良い。次に、モデル群編集部１４４は、モデル表示エリアＤＡＭの下側に、ノイズ除去レベルを表すレベルバーＬＢを表示させる。
【０１０６】
次に、モデル群編集部１４４は、三次元モデル群の各頂点について、図６（ａ）のステップＳ２５で算出された頂点方向と、図６（ｂ）のステップＳ３８で算出された回転行列Ｒで定まる撮影視線の方向との内積を算出する（ステップＳ８３）。
【０１０７】
次に、モデル群編集部１４４は、タッチパネルから出力されるタッチ座標値を表す信号に基づいて、ユーザによって指定されたノイズ除去レベル（以下単に、指定レベルという）を取得する（ステップＳ８４）。例えば、タッチパネルが出力する座標値が、表示部１０３に表示されたレベルバーの中心位置を表す場合には、モデル群編集部１４４は、最小の内積値「0」と最大の内積値「1」との中間値「0.5」を指定レベルとして取得する。その後、モデル群編集部１４４は、図１２（ｃ）に示すように、取得した指定レベルをレベルバーＬＢに表示させる（ステップＳ８５）。
【０１０８】
次に、モデル群編集部１４４は、ステップＳ８４で取得した指定レベルより高い内積値の算出に用いられた頂点方向を有する頂点を表示するように表示部１０３を制御する（ステップＳ８６）。これに対して、モデル群編集部１４４は、指定レベルより低い内積値の算出に用いられた頂点方向を有する頂点を表示しないように表示部１０３を制御する（ステップＳ８７）。このため、ノイズ除去レベルが値「0.5」に指定されると、図１２（ｂ）に示されていたポリゴン面ＰＮ１からＰＮ３の頂点の内で、視線方向と正対する度合いが高く、ノイズを有する可能性が低い面ＰＮ１（つまり、内積値が「0.5」以上の面）の頂点だけが表示される。
【０１０９】
その後、モデル群編集部１４４は、ノイズ除去アイコンＩＣＮ以外の他のアイコンに対してタッチ操作がなされたか否かを判別する（ステップＳ８８）。このとき、他のアイコンに対してタッチ操作がなされなかったと判別すると（ステップＳ８８；Ｎｏ）、モデル群編集部１４４は、ステップＳ８４に戻り上記処理を繰り返す。
【０１１０】
ステップＳ８８において、他のアイコンに対してタッチ操作がなされたと判別すると（ステップＳ８８；Ｙｅｓ）、ステップＳ８７において非表示とした頂点をモデル群から削除する（ステップＳ８９）。その後、モデル群編集部１４４は、表示部１０３に対して、ノイズ除去アイコンＩＣＮのハイライト表示を終了し、かつレベルバーの表示を終了させた後に（ステップＳ９０）、ノイズ除去表示処理の実行を終了する。
【０１１１】
これらの構成によれば、被写体を撮影すると直ぐに、生成された三次元モデル群を表示するだけでなく、ユーザの操作により指定されたノイズ除去レベルに応じて三次元モデル群のノイズを除去し、ノイズを除去した三次元モデル群を表示する。このため、ユーザは、被写体を複数回に亘って撮影しながら、生成された三次元モデル群を直ちに確認できるだけでなく、確認結果に基づいて三次元モデル群に対して行うノイズ除去のレベルを容易かつ迅速に指定できるので、ユーザの撮影装置１００に対する利便性が向上する。
【０１１２】
図１１のステップＳ７５において、ノイズ除去アイコンＩＣＮがタッチされなかったと判別した場合には（ステップＳ７５；Ｎｏ）、モデル群編集部１４４は、ステップＳ７３と同様に、ズームアイコンＩＣＺがタッチされたか否かを判別する（ステップＳ７７）。このとき、ズームアイコンＩＣＺがタッチされたと判別すると（ステップＳ７７；Ｙｅｓ）、モデル群編集部１４４は、タッチパネルから入力されたサイズに基づいて三次元座標群の表示サイズを変更する、図１３（ｂ）に示すようなズーム表示処理を実行した後に（ステップＳ７８）、ステップＳ７３に戻り上記処理を繰り返す。
【０１１３】
図１３（ｂ）のズーム表示処理の実行を開始すると、モデル群編集部１４４は、図１２（ｄ）に示すようにズームアイコンＩＣＺをハイライト表示するように表示部１０３を制御する（ステップＳ９１）。次に、モデル群編集部１４４は、モデル表示エリアＤＡＭの下側に、サイズを表すサイズバーＬＺを表示させる。
【０１１４】
次に、モデル群編集部１４４は、タッチパネルから出力されるタッチ位置の座標値を表す信号に基づいて、ユーザによって指定された三次元モデルの表示サイズ（以下単に、指定サイズという）を取得する（ステップＳ９３）。例えば、タッチパネルが出力する座標値がサイズバーＬＺの中心位置を表す場合に、モデル群編集部１４４は、デフォルトの表示サイズを指定サイズ（つまり、１００％）として取得する。また例えば、タッチパネルが出力する座標値が、サイズバーＬＺの右端を表す場合には、モデル群編集部１４４は、デフォルトの表示サイズの２倍（つまり、２００％）を指定サイズとして取得する。その後、モデル群編集部１４４は、図１２（ｄ）及び（ｅ）に示すように、取得した指定サイズをサイズバーＬＺに表示させる（ステップＳ９４）。
【０１１５】
次に、モデル群編集部１４４は、ステップＳ９３で取得した指定サイズで三次元モデル群を表示するように表示部１０３を制御する（ステップＳ９５）。つまり、図１２（ｄ）に示すように、指定サイズがデフォルトサイズの１８０％の大きさである場合には、モデル群編集部１４４は、図１２（ａ）に示すようなデフォルトのサイズの三次元モデル群を１．８倍の大きさに拡大した三次元モデル群を表示させる。また図１２（ｅ）に示すように、指定サイズがデフォルトサイズの３０％の大きさである場合には、デフォルトサイズの三次元モデル群を０．３倍の大きさに縮小した三次元モデル群を表示させる。
【０１１６】
その後、モデル群編集部１４４は、ズームアイコンＩＣＺ以外の他のアイコンに対してタッチ操作がなされたか否かを判別する（ステップＳ９６）。このとき、他のアイコンに対してタッチ操作がなされなかったと判別すると（ステップＳ９６；Ｎｏ）、モデル群編集部１４４は、ステップＳ９３に戻り上記処理を繰り返す。
【０１１７】
ステップＳ９６において、他のアイコンに対してタッチ操作がなされたと判別すると（ステップＳ９６；Ｙｅｓ）、ズームアイコンＩＣＺのハイライト表示を終了し、かつサイズバーＬＺの表示を終了させた後に（ステップＳ９７）、ズーム表示処理の実行を終了する。
【０１１８】
図１１のステップＳ７７において、ズームアイコンＩＣＺがタッチされなかったと判別した場合には（ステップＳ７７；Ｎｏ）、モデル群編集部１４４は、ステップＳ７３と同様に、自由視点アイコンＩＣＦがタッチされたか否かを判別する（ステップＳ７９）。このとき、自由視点アイコンＩＣＦがタッチされなかった（つまり、タッチ操作がなかった）と判別すると（ステップＳ７９；Ｎｏ）、モデル群編集部１４４は、ステップＳ７３に戻り上記処理を繰り返す。これに対して、自由視点アイコンＩＣＦがタッチされたと判別すると（ステップＳ７９；Ｙｅｓ）、モデル群編集部１４４は、タッチパネルから入力されたタッチ位置から被写体の三次元モデル群に向かう視線の方向を特定し、特定した視線の方向から三次元モデル群を表示部１０３に表示させる、図１３（ｃ）に示すような自由視点表示処理を実行する（ステップＳ８０）。
【０１１９】
図１３（ｃ）の自由視点表示処理の実行を開始すると、モデル群編集部１４４は、自由視点アイコンＩＣＦをハイライト表示するように表示部１０３を制御する（ステップＳ１０１）。次に、モデル群編集部１４４は、タッチパネルから出力される信号に基づいて、ユーザによって指定された視線の始点位置を検出し、検出した始点から三次元モデル群へ向かう視線（以下単に、指定視線という）を取得する（ステップＳ１０２）。
【０１２０】
次に、モデル群編集部１４４は、指定視線に応じて三次元モデル群を上下左右に回転させることで、指定視線から三次元モデル群を表示部１０３に表示させる（ステップＳ１０３）。具体例としては、モデル群編集部１４４は、指定視線をユーザの視線（つまり、表示部１０３の表示方向の逆向き）とするような回転行列を算出し、算出した回転行列に基づいて三次元モデル群の頂点座標を変換し、変換した三次元モデル群を表示部１０３に表示させる。
【０１２１】
その後、モデル群編集部１４４は、自由視点アイコンＩＣＦ以外の他のアイコンに対してタッチ操作がなされたか否かを判別する（ステップＳ１０４）。このとき、他のアイコンに対してタッチ操作がなされなかったと判別すると（ステップＳ１０４；Ｎｏ）、モデル群編集部１４４は、ステップＳ１０２に戻り上記処理を繰り返す。
【０１２２】
ステップＳ１０４において、他のアイコンに対してタッチ操作がなされたと判別すると（ステップＳ１０４；Ｙｅｓ）、自由視点アイコンＩＣＦのハイライト表示を終了させた後に（ステップＳ１０５）、自由視点表示処理の実行を終了する。
【０１２３】
図４のステップＳ０７の後に、図５（ａ）の撮影制御部１４１は、図１（ａ）のシャッターボタン１０９がユーザによって押し下げられたか否かを再度判別する（ステップＳ０８）。このとき、シャッターボタン１０９が押し下げられたと判別すると（ステップＳ０８；Ｙｅｓ）、撮影制御部１４１は、撮影カウンタを値「1」だけインクリメントする（ステップＳ０９）。その後、ステップＳ０４から上記処理が繰り返される。
【０１２４】
ステップＳ０８において、シャッターボタン１０９が押し下げられていないと判別すると（ステップＳ０８；Ｎｏ）、撮影制御部１４１は、ステップＳ０３と同様に、所定期間において終了イベントが発生したか否かを判別する（ステップＳ１０）。このとき、所定期間において終了イベントが発生しなかったと判別された場合には（ステップＳ１０；Ｎｏ）、ステップＳ０７から上記処理が繰り返される。
【０１２５】
ステップＳ１０において、終了イベントが発生したと判別された場合には（ステップＳ１０；Ｙｅｓ）、図５（ａ）の三次元画像生成部１４５は、撮影装置１００のモードが、ポリゴン画像を表示するポリゴン表示モードであるか否かを判別する（ステップＳ１１）。このとき、ポリゴン表示モードでないと判別すると（ステップＳ１１；Ｎｏ）、三次元画像生成部１４５は、三次元画像生成処理の実行を終了する。尚、撮影装置１００が３Ｄモデリングモードである場合には、ポリゴン表示モードに設定されるとして良い。また、撮影装置１００がポリゴン表示モードに設定されていない場合としては、例えば、図１１のモデル群編集処理の実行中に、撮影装置１００が通常撮影モードに設定された場合を一例として挙げることができる。
【０１２６】
ステップＳ１１において、撮影装置１００がポリゴン表示モードに設定されていると判別すると、三次元画像生成部１４５は、例えば、アルファ・シェイプ（Alpha-Shapes）法を用いて、三次元モデル群の点群から三次元画像であるポリゴン画像を生成する（ステップＳ１２）。具体的には、三次元画像生成部１４５は、点群を用いてドロネー分割を行うことでポリゴン候補を作成する。次に、三次元画像生成部１４５は、直径Alphaの球を、各ポリゴン候補を画定する各頂点に置き、各頂点に置かれた球によってポリゴン候補内が満されるものを有効とし、満たされないものを無効とする。
【０１２７】
その後、図５（ａ）の三次元画像表示制御部１４６は、生成された被写体のポリゴン画像（つまり、三次元画像）を表示部１０３に表示させた後に（ステップＳ１３）、三次元画像生成処理の実行を終了する。
【０１２８】
これらの構成によれば、図９（ｂ）の第２除去処理において、三次元モデルに含まれる点が、当該三次元モデルの生成に用いられた撮影画像の撮影位置と異なる位置から撮影された撮影画像を用いて生成された三次元モデルに含まれているか否かに基づいて当該点がノイズであるか否かを判定される。またこれらの構成によれば、ノイズであると判定された点を除去されたモデルに基づいて三次元画像を生成するため、精度の良い被写体の三次元画像を生成できる。
【０１２９】
またこれらの構成によれば、図９（ｂ）の第２除去処理において、あるモデルに含まれるある点がノイズであるか否かを、当該点の所定距離内（つまり、近傍範囲）に他のモデルに含まれる点が存在するか否かに基づいて判定するため、撮影回数が増すほど精度良くノイズ判定できる。同一の点が複数の撮影画像に表されている場合には、それぞれの撮影画像に基づいて算出された同一点の三次元座標は、誤差により生じる距離を超えて離れることがないためである。
【０１３０】
さらにこれらの構成によれば、図９（ｃ）の第３除去処理において、三次元モデルを生成するために用いられた撮影画像の撮影位置における差異に基づいて、対応する三次元モデルの点から他の点よりもノイズである可能性が高い点を抽出し、かつ抽出した点を三次元モデルから除去するため、精度の良い三次元画像を生成できる。通常、複数の撮影画像の撮影位置における差異が小さい場合の方が、差異が大きい場合に比べて、複数の撮影画像に同一の点が表されている可能性が高いので、複数の撮影画像から生成された複数の三次元モデルの対応点にノイズが含まれる可能性が低いためである。またこれに対して、複数の撮影画像の撮影位置における差異が大きい場合の方が、差異が小さい場合に比べて、複数の撮影画像に同一の点が表されている可能性が低いので、複数のモデルに含まれる対応点にノイズが含まれる可能性が高いためである。
【０１３１】
またこれらの構成によれば、図９（ａ）の第１除去処理において、撮影視線の方向とポリゴン面の法線との相違が所定よりも大きい場合に、当該ポリゴン面の頂点はノイズであるとして当該三次元モデルから除去するため、精度の良い被写体の三次元画像を生成できる。ポリゴン面の法線方向と撮影視線の方向との相違が大きくなる程、ポリゴン面の生成に用いられる撮影画像中の情報量が少なくなるので、ポリゴン面にノイズが生じ易くなるからである。
【０１３２】
さらにこれらの構成によれば、図１３（ａ）のノイズ除去表示処理において、撮影視線の方向と頂点の方向との相違が所定よりも大きい場合に、当該頂点はノイズである可能性が高いとして当該三次元モデルから除去されるため、精度の良い被写体の三次元画像を生成できる。これは、頂点の方向と撮影視線の方向との相違が大きくなる程、頂点を画定する複数のポリゴン面の生成にそれぞれ用いられる撮影画像中の情報量の総量が少なくなるので、これらのポリゴン面にノイズが生じ易くなり、ノイズが生じ易いポリゴン面で画定される頂点はノイズである可能性が高いからである。
【０１３３】
＜変形例＞
本実施形態において、図９（ａ）の第１除去処理によって、隣接するポリゴン面を有する頂点は、隣接する全てのポリゴン面の法線ベクトルと撮影視線との内積値が閾値ＴＨ＿ＮＰ以下である場合にノイズであるとして除去されるとして説明した。しかし、図１４に示すように、少なくとも１つの隣接するポリゴン面の法線ベクトルと撮影視線との内積値が閾値ＴＨ＿ＮＰＸ以下である場合に、当該頂点はノイズであるとして除去されるとしても良い。
【０１３４】
この変形例において、図１４に示すような第１除去処理の実行を開始すると、ノイズ除去部１４３ｄは、今回の三次元モデルを構成する全頂点について、以下のステップＳ１１２からＳ１１７の実行が終了したか否かを判別する（ステップＳ１１１）。このとき、全頂点についてステップＳ１１２などの処理が終了していないと判別すると（ステップＳ１１１；Ｎｏ）、ステップＳ１１２などの処理の対象とされていない頂点の１つを対象頂点とし、対象頂点に隣接する複数のポリゴン面を特定する（ステップＳ１１２）。
【０１３５】
次に、ノイズ除去部１４３ｄは、特定されたポリゴン面の法線ベクトルを取得する（ステップＳ１１３）。その後、ノイズ除去部１４３ｄは、各ポリゴン面の法線ベクトルと、図６（ｂ）の撮影状態推定処理で推定された撮影視線との内積をそれぞれ算出する（ステップＳ１１４）。その後、ノイズ除去部１４３ｄは、算出された内積値の内で最も小さい内積値を選択し（ステップＳ１１５）、選択した内積値が閾値ＴＨ＿ＮＰＸ以下であるか否かを判別する（ステップＳ１１６）。このときに、選択された内積値が閾値ＴＨ＿ＮＰＸより大きいと判別されると（ステップＳ１１６；Ｎｏ）、ノイズ除去部１４３ｄは、ステップＳ１１１に戻り上記処理を繰り返す。
【０１３６】
ステップＳ１１６において、選択された内積値が閾値ＴＨ＿ＮＰＸ以下であると判別されると（ステップＳ１１６；Ｙｅｓ）、ノイズ除去部１４３ｄは、対象頂点をノイズと判定し、今回の三次元モデルから当該対象頂点を削除する（ステップＳ１１７）。その後、ノイズ除去部１４３ｄは、ステップＳ１１１から上記処理の実行を繰り返す。
【０１３７】
これらの構成によれば、ある頂点に隣接するポリゴン面の内で、少なくとも１つのポリゴン面の法線ベクトルと撮影視線との内積値が閾値ＴＨ＿ＮＰＸ以下である場合に、当該頂点はノイズであるとして除去される。このため、例えば、ある頂点に隣接する全てのポリゴン面の法線ベクトルと撮影視線との内積値が閾値ＴＨ＿ＮＰ以下である場合に当該頂点がノイズであるとして除去される場合と比べて、ノイズを確実に除去できる。
【０１３８】
尚、本発明に係る機能を実現するための構成を予め備えた撮影装置として提供できることはもとより、プログラムの適用により、既存の撮影装置を本発明に係る撮影装置として機能させることもできる。すなわち、上記実施形態で例示した撮影装置１００による各機能構成を実現させるための制御プログラムを、既存の撮影装置を制御するコンピューター（ＣＰＵなど）が実行できるように適用することで、本発明に係る撮影装置１００として機能させることができる。また、本発明に係る撮影装置の制御方法は、撮影装置１００を用いて実施できる。
【０１３９】
このようなプログラムの配布方法は任意であり、例えば、メモリカード、ＣＤ−ＲＯＭ、又はＤＶＤ−ＲＯＭなどの記録媒体に格納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。
【０１４０】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【０１４１】
１００・・・撮影装置、１０１・・・ストロボ発光窓、１０２ａ，１０２ｂ・・・撮影レンズ、１０３・・・表示部、１０４ｄ・・・３Ｄモデリングキー、１０４ｐ・・・電源キー、１０５・・・操作キー、１０６・・・外部Ｉ／Ｆ部、１０９・・・シャッターボタン、１１０ａ，１１０ｂ・・・撮影部、１１１ａ，１１１ｂ・・・光学装置、１１２ａ，１１２ｂ・・・イメージセンサ部、１２０・・・データ処理部、１２１・・・制御部、１２２・・・記憶部、１２３・・・外部記憶部、１２４・・・画像処理部、１２５・・・画像メモリ、１２６・・・画像出力部、１３０・・・Ｉ／Ｆ部、１３１・・・操作部、１４１・・・撮影制御部、１４２・・・画像取得部、１４３・・・モデル群更新部、１４３ａ・・・モデル生成部、１４３ｂ・・・撮影状態推定部、１４３ｃ・・・頂点座標値変換部、１４３ｄ・・・ノイズ除去部、１４３ｅ・・・頂点方向算出部、１４４・・・モデル群編集部、１４５・・・三次元画像生成部、１４６・・・三次元画像表示制御部
【図１】
0005126442.tif 000019
【図２】
0005126442.tif 000020
【図３】
0005126442.tif 000021
【図４】
0005126442.tif 000022
【図５】
0005126442.tif 000023
【図６】
0005126442.tif 000024
【図７】
0005126442.tif 000025
【図８】
0005126442.tif 000026
【図９】
0005126442.tif 000027
【図１０】
0005126442.tif 000028
【図１１】
0005126442.tif 000029
【図１２】
0005126442.tif 000030
【図１３】
0005126442.tif 000031
【図１４】
0005126442.tif 000032