(57)【要約】【課題】  ユーザおよびユーザ以外の者が撮影した複数の画像から被写体の３次元画像を簡単に生成、表示することのできる電子カメラを提供する。【解決手段】  デジタルカメラ１−ｊで撮影した画像データおよびカメラ位置情報と、他のデジタルカメラ１−１、１−２、・・によって無線ＬＡＮ２の通信可能範囲内において任意の角度で撮影された同じ被写体の画像データおよびカメラ位置情報を他のデジタルカメラ１−１、１−２、・・から受信して保存メモリに保存しておき、撮影時刻および撮影対象の位置がほぼ同じ画像データおよびカメラ位置情報を任意の時期に取り出して３次元画像データを生成してメモリに保存する。また、表示指示があると３次元画像表示する。【選択図】      図３
2010109783.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段、表示手段、保存メモリおよび撮影日時記録手段を備える電子カメラであって、
無線ＬＡＮを介してデータの送受信を行う通信処理手段と、
撮影時に当該電子カメラの位置、被写体の位置および被写体に対する撮影方向と撮影位置を取得する位置取得手段と、
前記撮像手段による撮影画像の画像データおよび前記通信処理手段により前記無線ＬＡＮを介して他の電子カメラから取得した画像データと、前記撮影日時記録手段により得られた撮影日時と、前記位置取得手段により取得された撮影方向および撮影位置とを対応付けて前記保存メモリに記録する画像記録手段と、
前記保存メモリに記録された画像データおよび撮影方向および撮影位置に基づいて３次元画像データを生成する３次元画像データ生成手段と、
制御手段と、を備え、
前記制御手段は、前記３次元画像データ生成手段が、前記保存メモリに記録されている被写体の位置および撮影日時がそれぞれ所定値以内の画像データおよび撮影方向および撮影位置から３次元画像データを生成するよう制御することを特徴とする電子カメラ。
【請求項２】
前記制御手段は、前記無線ＬＡＮを介しての他の電子カメラからの画像データの受信、および無線ＬＡＮを介しての他の電子カメラへの画像データの送信を開始する際に、前記通信処理手段を制御して、前記無線ＬＡＮの通信チャネルにおいて、同じ時刻に該無線ＬＡＮの通信可能範囲内にいる電子カメラ相互でのみ認証なしに画像データを共有できる位置・日時限定の匿名共有チャネル、および、その参加/離脱設定を行うことを特徴とする請求項１に記載の電子カメラ。
【請求項３】
前記制御手段は、前記通信処理手段を制御して、前記保存メモリに記録されている画像データ、撮影日時、被写体の位置、撮影方向および撮影位置を前記無線ＬＡＮを介して他の電子カメラに送信することを特徴とする請求項１または２いずれかに記載の電子カメラ。
【請求項４】
ＥＸＩＦ形式ＪＰＥＧ画像データ・ファイルとて、前記撮影日時、撮影位置、被写体の位置を関連付けて保存記録することを特徴とする請求項１ないし３いずれかに記載の電子カメラ。
【請求項５】
自他の電子カメラで同一被写体を撮影した複数枚の多視点画像データを、ＥＸＩＦ拡張形式であるＭＰ（マルチピクチャー）形式の画像ファイルに副画像として、１つの画像ファイル内に一緒に保存記録することを特徴とする請求項１ないし４いずれかに記載の電子カメラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元画像データの生成および生成した３次元画像の表示が可能な電子カメラに関し、特定のユーザおよびそのユーザ以外のものが電子カメラで撮影した画像から３次元画像を簡単に生成、表示する技術に関する。
【背景技術】
【０００２】
一つの建造物を複数のカメラで複数の方向から撮影し、それらの撮影画像と予め用意された３次元ＣＡＤデータとに基づいて、３次元化されて再現された建造物の画像を立体メガネを介して映す技術（建造物設計システム、プラント設計システム、および３次元構造体観察システム）が開示されている（例えば、特許文献１参照）。
【０００３】
複数の画像における点対応からカメラ運動と相対的位置関係（３次元形状）とを復元する場合には、点対応は、まず「画像座標」で与えられるので、全てのカメラに対して統一的に扱うためには、この「画素（Pixel）座標」と「画像（Image）座標」間の１対１の写像関係を求めること（「カメラキャリブレーション」と呼ばれる）ができれば、「画素（Pixel）座標」と「画像（Image）座標」とを自由に変換できることになる。
【０００４】
そこで、複数の撮影画像から３次元形状データを作成する方法として、例えば、全周囲３６０度からの多視点角度から、または、周囲に配した複数台のカメラから撮影した画像データを入力して、対象物の３次元形状データを作成するソフトウエアが各種開発されている。これらのソフトウエアでは、予めカメラを所定の位置や角度に配して撮影したカメラ位置情報が既知のカメラで撮影された複数枚の多視点画像を用いる方法や、または、回転台に印刷された参照マーカーと、回転台に載せた対象物体とを一緒に撮影した複数枚のカメラ画像から、撮影時のカメラ位置を自動計算する（例えば、非特許文献１参照）。
【０００５】
そして、得られたカメラ位置情報と物体画像とから形状とテクスチャの３次元情報を自動計算し、その３次元情報をユーザが適宜修正してデジタルカメラで手持ち撮影した画像から３次元データを生成する。つまり、対象物を撮影した視点の異なる１０〜２０枚程度以上のＪＰＥＧフォーマットの撮影画像データを入力して、カメラ位置の計算、形状情報の生成、テクスチャ情報の生成などの一連の処理を実行して、３次元形状データを作成する。
【０００６】
すなわち、下記（１）〜（３）の手順により３次元形状データを得る。
（１）カメラ位置の計算を行う場合では、例えば、座標系におけるカメラの３次元位置パラメータ（回転成分α，β，γと平行移動成分（ｘ、ｙ、ｚ）をHough変換などに基づいて計算する。つまり、撮影された画像から、参照マーカーを抽出し、抽出された参照マーカーの任意の３点と、あらかじめ登録されている参照マーカー中の任意の３点の位置関係を組合せて決定される連立方程式を解くことにより、位置パラメータを計算する。
（２）形状情報の生成では、単色の背景紙などを使用して対象を撮影し、指定した背景の色情報を用いて物体と背景を分離し、対象物のシルエット（輪郭）の抽出を行う。
（３）次に、カメラの位置情報と対象物の２次元輪郭情報に基づいて、３次元ボクセル空間へのボーティング（投票）処理により、３次元形状を再構成し、得られたボクセルデータから、ポリゴン（多角形）データへ変換し、三角ポリゴン表現形式やＳＳＦ形式など、３次元形状データとして出力する。
【０００７】
【特許文献１】特開２００４−０２１８４８号広報
【非特許文献１】「デジタルカメラ画像から簡単に３次元データを生成するソフトウエア技術」    ＳＡＮＹＯ  ＴＥＣＨＮＩＣＡＬ  ＲＥＶＩＥＷ  ＣＯＬ．３５  ＮＯ．１ＪＵＮ．２００３
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記特許文献１などに開示の技術では、ユーザ（個人）が立体コンテンツを閲覧したい場合はあらかじめ設けられた観察用屋内の壁面に画像を投影し、立体メガネを装着してみる必要があり、しかも、ユーザが、希望する立体コンテンツを得たい場合には、ユーザが見たい部分を指定し、システム（建造物設計システム、プラント設計システム、および３次元構造体観察システム）の装置を介して必要な撮影画像を撮影させ、複数の撮影画像を用意させる必要があった。
【０００９】
また、自動撮影機から３次元データを自動作成する場合は、周囲３６０度から多数枚の画像やアクティブスキャン画像などを撮影する３６０度撮影台や専用撮影機を必要とするので、ユーザは、専用撮影機の設置場所まで赴いて写真を撮影する必要があるが、ユーザが立体コンテンツとして所望する既存の建造物等を３６０度撮影するためには大掛かりな準備が必要となり経済性や時間的観点から現実的ではないという問題点があった。また、写真画像から３次元データを生成するには、上記（１）のカメラ位置の計算を行う必要があり、複雑な計算を必要とし、その結果についても専門家による調整作業が必要であるという不都合があった。
【００１０】
また、上述した、非特許文献１に記載のように全周囲３６０度からの多視点角度から、または、周囲に配した複数台のカメラから撮影した画像データを入力して、対象物の３次元形状データを作成する方法によれば、カメラ位置を入力すればよいので上記（１）の不都合は生じないが、ステレオカメラで撮影できるような近距離や小さい物体などに限られる難点があることと、ユーザが立体コンテンツとして所望する既存の建造物等を３６０度撮影するためには全周を撮影するために複数台のカメラを配設する必要があり、建造物等の大きさや立地条件（地形や立ち木等の障害物の存在）により必要数のカメラを配設できない場合や、必要数のカメラを揃えてカメラを配設するための費用が嵩むといった不都合があった。
【００１１】
本発明は、ユーザおよびユーザ以外の者が撮影した複数の画像から被写体の３次元画像を簡単に生成、表示することのできる電子カメラの提供を目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、請求項１に記載の発明は、撮像手段と表示手段と保存メモリを備える電子カメラにおいて、撮像手段、表示手段、保存メモリおよび撮影日時記録手段を備える電子カメラであって、無線ＬＡＮを介してデータの送受信を行う通信処理手段と、撮影時に当該電子カメラの位置、被写体の位置および被写体に対する撮影方向と撮影位置を取得する位置取得手段と、前記撮像手段による撮影画像の画像データおよび前記通信処理手段により前記無線ＬＡＮを介して他の電子カメラから取得した画像データと、前記撮影日時記録手段により得られた撮影日時と、前記位置取得手段により取得された撮影方向および撮影位置とを対応付けて前記保存メモリに記録する画像記録手段と、前記保存メモリに記録された画像データおよび撮影方向および撮影位置に基づいて３次元画像データを生成する３次元画像データ生成手段と、制御手段と、を備え、前記制御手段は、前記３次元画像データ生成手段が、前記保存メモリに記録されている被写体の位置および撮影日時がそれぞれ所定値以内の画像データおよび撮影方向および撮影位置から３次元画像データを生成するよう制御することを特徴とする。
【００１３】
また、請求項２に記載の発明は、請求項１に記載の発明の電子カメラにおいて、前記制御手段は、前記無線ＬＡＮを介しての他の電子カメラからの画像データの受信、および無線ＬＡＮを介しての他の電子カメラへの画像データの送信を開始する際に、前記通信処理手段を制御して、前記無線ＬＡＮの通信チャネルにおいて、同じ時刻に該無線ＬＡＮの通信可能範囲内にいる電子カメラ相互でのみ認証なしに画像データを共有できる位置・日時限定の匿名共有チャネル、および、その参加/離脱設定を行うことを特徴とする。
【００１４】
また、請求項３に記載の発明は、請求項１または２に記載の発明の電子カメラにおいて、前記制御手段は、前記通信処理手段を制御して、前記保存メモリに記録されている画像データ、撮影日時、被写体の位置、撮影方向および撮影位置を前記無線ＬＡＮを介して他の電子カメラに送信することを特徴とする。
また、請求項４に記載の発明は、請求項１ないし３に記載の発明の電子カメラにおいて、ＥＸＩＦ形式ＪＰＥＧ画像データ・ファイルとて、前記撮影日時、撮影位置、被写体の位置を関連付けて保存記録することを特徴とする。
また、請求項５に記載の発明は、請求項１ないし４に記載の発明の電子カメラにおいて、自他の電子カメラで同一被写体を撮影した複数枚の多視点画像データを、ＥＸＩＦ拡張形式であるＭＰ（マルチピクチャー）形式の画像ファイルに副画像として、１つの画像ファイル内に一緒に保存記録することを特徴とする。
また、請求項４に記載の発明は、請求項１ないし３いずれかに記載の発明の電子カメラにおいて、ＥＸＩＦ形式ＪＰＥＧ画像データ・ファイルとて、前記撮影日時、撮影位置、被写体の位置を関連付けて保存記録することを特徴とする。
また、請求項５に記載の発明は、請求項１ないし４に記載の発明の電子カメラにおいて、自他の電子カメラで同一被写体を撮影した複数枚の多視点画像データを、ＥＸＩＦ拡張形式であるＭＰ（マルチピクチャー）形式の画像ファイルに副画像として、１つの画像ファイル内に一緒に保存記録することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、無線ＬＡＮの通信可能範囲内で開催されている撮影会や同じイベントなどに参加しているカメラマン同士で、他のカメラが撮影した画像データをその場で共有できるだけでなく、複数カメラの同時刻画像データから、被写体の３次元画像データを生成することにより、どのカメラも撮影しなかったような視点や位置からの画像を後から自動生成することができるので、撮り忘れや撮影に失敗した場合やシーンも、後から復元回復できるし、所望の角度や構図の画像を得ることができる。
【発明を実施するための最良の形態】
【００１６】
図１は、本発明に基づく電子カメラの一実施例として用いるデジタルカメラ１の電子回路の構成例を示すブロック図である。
【００１７】
デジタルカメラ１は、制御部１０、撮像部１１、画像データ処理部１２、カメラ位置情報（撮影位置、撮影方向）および被写体位置を取得する位置取得部１３、３次元形状データ生成部１４、プログラム格納メモリ１５、一次記憶メモリ１６、画像表示部１７、画像記録部１８、無線ＬＡＮ通信処理２０、外部入出力部４０、および操作部６０を備えており、本発明に基づく３次元画像モード（機能）を含む静止画撮影モード、動画撮影モード等を備えている。
【００１８】
制御部１０は、ＣＰＵから構成され、デジタルカメラ１全体の制御動作を司るものである。
【００１９】
撮像部１１は、撮像素子に入射した被写体光像は撮像素子によって光電変換され撮像信号として出力する。
【００２０】
画像データ処理部１２は、撮像部１１から出力された撮像信号に対して画像補間処理及びγ補正処理を含むカラープロセス処理を行って画像データ（デジタル値の輝度信号Ｙ及び色差信号Ｃｂ、Ｃｒ）を生成し、一次記憶メモリ１６にバス９０を介して転送する。
【００２１】
カメラ位置取得部１３は、ＧＰＳ受信測位装置や３次元加速度センサ、傾斜センサ、電子コンパス等、カメラの位置や角度、姿勢を検出するセンサ計測装置や、被写体とカメラ間の位置を計測する距離計測装置などからなり、受信したＧＰＳ情報から撮影位置（撮影時のカメラの現在位置（座標））および被写体とカメラとの距離を取得する。ここで、被写体の位置情報はカメラの現在位置と撮影方向および被写体とカメラとの距離に基づいて算出することができる。
【００２２】
３次元形状データ生成部１４は、３次元画像モードにおいて、任意の異なった角度で撮影された各撮影画像から対象物領域を抽出し、抽出した対象物領域からそれぞれの画像における特徴点をそれぞれ検出し、検出した各画像間の特徴点の点対応を基に全身の３次元形状データを生成し、生成した３次元形状データを画像記録部１８に転送し、記録媒体１９に記録させる。
【００２３】
３次元形状データ生成部１４による３次元形状データ生成は既存の技術で実現できる。
つまり、撮影画像から物体と背景を分離し、対象物のシルエット（輪郭）の抽出を行い、次に、カメラの位置情報と上記抽出した対象物の２次元輪郭情報に基づいて、３次元画像データ（３次元形状データ）を生成する。
カメラの位置情報と上記抽出した対象物の２次元輪郭情報に基づく３次元画像の生成方法は、非特許文献１に記載の技術を適用することができる。
カメラの位置情報と上記抽出した対象物の２次元輪郭情報に基づいて、３次元ボクセル空間へのボーティング（投票）処理により、３次元形状を再構成し、得られたボクセルデータから、ポリゴン（多角形）データへ変換し、三角ポリゴン表現形式やＳＳＦ形式など、３次元形状データとして出力する。
【００２４】
プログラム格納メモリ１５は、３次元画像表示プログラム、画像処理プログラム、通信制御プログラム等の各種プログラムを格納し、処理段階に応じて呼び出され制御部１０によって実行される。
【００２５】
一次記憶メモリ１６はＤＲＡＭ等のメモリで構成され、画像データ処理部１２から取得する画像データを一時記憶するバッファメモリや、３次元形状データ生成部１４による３次元データ生成時等のワークメモリや、画像撮影に基づく複数の画像撮影用のワークメモリ等、各種プログラムによるデータ処理に必要なワークメモリおよび、取得した撮影情報の一次記憶領域として用いられる。
【００２６】
画像表示部１７は制御部１０の制御下で画像データを表示する。
【００２７】
画像記録部１８は、画像データの圧縮または伸張を行うデータ圧縮伸張部、ＤＲＡＭ等のバッファメモリから転送されるデータの記録媒体１９への書き込みや記録媒体１９からの読み出しを行うコントローラから構成されている。
【００２８】
記録媒体１９は内蔵メモリあるいは着脱可能なメモリーカード等の書き換え可能な記録媒体からなり、画像記録部１８によって書き込まれた撮影画像データやその撮影情報や、図４に示すように画像データと、撮影対象の位置、撮影位置、撮影方向、および撮影時刻等とを対応付けて記憶した画像保存用データや、生成された３次元画像データや、撮影情報等を保存記録する。
【００２９】
通信処理手段２０は、無線ＬＡＮ２（図２参照）とのデータの授受の制御および無線ＬＡＮ２から無線データのデジタルデータへの復元処理、デジタルカメラ１から無線ＬＡＮ２への送信データの作成処理を行う。無線ＬＡＮ２からの受信データは一時記憶メモリ１６の所定領域に記憶される。線ＬＡＮ通信処理部２０として無線ＬＡＮモジュールを用いることもできる。
【００３０】
外部入出力部４０は、ＵＳＢケーブル等の接続手段や、赤外線通信やブルートゥース等の近距離通信との間でデータおよびプログラム等を入出力する際の入出力インターフェィス等からなる。
【００３１】
操作部６０は、撮影モードの切り替えを行うためのダイヤルやシャッターキー等の各種キーと、それらのキーが操作されると操作されたキーの操作信号を生成して制御部１０に送出するキー処理部等から構成されている。
【００３２】
図２は、無線ＬＡＮと接続する複数のデジタルカメラ１の説明図であり、デジタルカメラ１−１、１−２、・・・、１−ｎは、図１に示したデジタルカメラ１と同様の機能を有する。
また、無線ＬＡＮ２は、図示していないインターネット等の通信回線に接続し、インターネットに接続する外部装置、例えば、デジタルカメラ１―ｊ（１≦ｊ≦ｎ）で生成した３次元画像データから模型作成用データを生成し、生成された模型作成用データを元に模型作成サービスを行うサーバ等、に接続することができる。
【００３３】
図２で、デジタルカメラ１−ｊ（１≦ｊ≦ｎ）のユーザは、無線ＬＡＮ２の通信可能範囲内において任意の角度で撮影したある被写体（建築物等の構造物や人物（図３の撮影会のモデル３１参照）の複数枚分の異なる画像データから３次元画像データを生成し、メモリに保存する。また、３次元画像表示することもできる。
【００３４】
デジタルカメラ１−ｊは、デジタルカメラ１−ｊによって無線ＬＡＮ２の通信可能範囲内において任意の角度で撮影した同じ被写体の画像データ（１または複数）を、デジタルカメラ１−１、１−２、・・・、１−ｎのうちの指定または登録されたカメラ若しくは全部に無線ＬＡＮ２を介して送信することにより同じ被写体の撮影画像データを共有できる。
【００３５】
また、デジタルカメラ１−ｊは、デジタルカメラ１−ｊおよび／またはデジタルカメラ１−１、１−２、・・・、１−ｋ・・によって無線ＬＡＮ２の通信可能範囲内において任意の角度で撮影された同じ被写体の画像データを、無線ＬＡＮ２を介して受信しメモリに保存しておき、撮影時以降の任意の時期に取り出して３次元画像データを生成し、メモリに保存する。また、３次元画像表示することもできる。
これにより、生成された３次元画像データに基づいて、どのカメラでも他のいずれかのカメラで撮影された画像データはもちろん、どのカメラでも撮影されなかった向きや視点からの画像に変換して再生表示することができる。
【００３６】
図３は、無線ＬＡＮと接続する複数のデジタルカメラによる撮影会の概念図であり、図３Ａは無線ＬＡＮ２の通信可能範囲内に設けられた撮影会会場で、モデル３１を複数台のデジタルカメラ１−１、１−２、・・・１−ｊで撮影している様子を示している。
モデル３１は、複数のデジタルカメラ１−１、１−２、・・・１−ｊによって任意の角度で撮影され、図３Ｂに示すようなモデル３１の撮影画像データは複数のデジタルカメラ１−１、１−２、・・・１−ｊのうちのユーザが指定したカメラ若しくは全部に前記無線ＬＡＮ２を介して送信される。画像データを受信したデジタルカメラのユーザが、３次元画像モードを選択すると、図６のフローチャートに示すような動作で、図３Ｃのように対象物の３次元形状データを計算してモデル３１の３次元画像データが生成され、メモリに保存される。さらに、ユーザが表示指示を行うと図３Ｄのようにモデル３１の３次元画像が指定された任意視点からの画像が表示される。この場合、モデル３１の画像は、どのカメラでも他のいずれかのカメラで撮影された画像データはもちろん、どのカメラでも撮影されなかった向きや視点からの画像に変換して再生表示することができる。
【００３７】
また、上記無線ＬＡＮ２等の通信チャネルにおいて、撮影会など、その場所（ＧＰＳ位置情報）と同じ時刻に近くにいるカメラ相互でのみ認証なしに画像データを共有できるような場所時刻限定の匿名共有チャネル、および、そのＯＮ（参加）/ＯＦＦ設定機能をデジタルカメラ１に設けることができる。
【００３８】
図４は、３次元画像データ生成用の画像保存データの構成例を示す図である。
図２および図３に示したように、複数のデジタルカメラ１−１、１−２、・・・、１−ｎで撮影した複数の撮影画像データから３次元画像データを作成する際に、所定時間差以内のほぼ同じ日時時刻の画像データであってもユーザが、同じ被写体を撮影したとは限らないので、所定時間差以内のほぼ同じ日時時刻の画像データであって、かつ撮影対象の位置がほぼ同じある画像データを３次元画像データとして分類し、画像データ生成時に上記画像データを用いて３次元画像データを自動生成することが望ましい。
【００３９】
画像保存データ４０は、上述した、所定時間差以内のほぼ同じ日時時刻の画像データであって、かつ撮影対象の位置がほぼ同じある画像データを３次元画像データとして分類し、メモリから迅速に取り出すことができるように構成したものであり、画像保存データ４０は、図示のように、画像データ記録アドレスを示すアドレス情報からなるポインタ４１で関連付けられる画像データごとに、撮影日時および時刻４２、撮影対象の位置（座標）４３、撮影位置４４、撮影方向４５等を対応付けて記録してなる。
【００４０】
画像保存データ４０は、記録媒体１９の所定領域に記録されているが、３次元画像データ作成時には一時記憶メモリ１６の所定領域に記憶され、３次元画像データ生成部１４によって参照される。これにより、３次元画像生成部１４は記録媒体１９に記録されている３次元画像作成用の画像データを撮影対象ごとに読出して３次元画像データを生成することができる。
【００４１】
図５は３次元画像モード選択時に表示されるスルー画像の例を示す図であり、ユーザがデジタルカメラ１に表示されるアプリケーション選択画面で「３次元画像モード」を選択すると、図示のように画像表示部１７のモニタ５０の所定の位置（図示の例では右側）に「撮影」、「受信」、「送信」、「生成」、「表示」を意味する指示用アイコン５１〜５５が表示される。アイコン５１〜５５は「３次元画像モード」が解除されるまで表示される。図示の例は「撮影」を選択した場合に表示されるスルー画像５９と共に３次元画像モード下での動作選択用アイコン５１〜５５が表示されている例を示す。
【００４２】
ユーザが操作部６０のカーソルキー等を操作してアイコンを選択すると、選択されたアイコンは実行中を示す明色（例えば、緑色）で表示される。「受信」アイコン５２の選択は、無線ＬＡＮ２を介して他のユーザから３次元画像データを受信することを意味し、「送信」アイコン５３の選択は、無線ＬＡＮ２を介して他のユーザに３次元画像データを送信することを意味し、「生成」アイコン５４の選択は、３次元画像データを生成することを意味し、「表示」アイコン５５の選択は、３次元画像を表示することを意味する。なお、他のユーザから着信があった場合は「受信」アイコン５２は、例えば黄色表示され、明滅し、ユーザが「受信」アイコンを選択すると明色表示される。
【００４３】
図６は、図１に示したデジタルカメラ１による３次元画像データ生成時の動作例を示すフローチャートであり、デジタルカメラ１は制御プログラム、通信制御プログラム、画像処理プログラム、モード選択プログラム、および各種動作プログラムにより、選択されたモード動作（機能）を実行する。３次元画像モード時のデジタルカメラ１の動作は、制御プログラムの制御下で制御部１０によってプログラム格納メモリ１５から取り出され、一時記憶メモリ１６の実行プログラム領域に記憶される３次元画像モード用の動作プログラムに基づいて図示のステップに対応した動作を実行する。
【００４４】
図６で、ユーザが、デジタルカメラ１の操作部６０のキーを操作してモニタ５０に表示される各種アプリケーションのうち「３次元画像モード」を選択すると、３次元画像モードに移行し、制御部１０は、ＬＡＮ通信処理部２０を制御して、無線ＬＡＮ２の通信チャネルにおいて、同じ時刻に無線ＬＡＮ２の通信可能範囲内にいるカメラ相互でのみ認証なしに画像データを共有できるような場所・時刻限定の匿名共有チャネル、および、そのＯＮ（参加）/ＯＦＦ（離脱）設定を行う（ステップＳ１）。
【００４５】
次に、制御部１０は、モニタ５０に図５に示したような動作選択用アイコン５１〜５５を表示してユーザの選択を待ち、アイコンの選択行われると選択されたアイコンを判定し、「撮影」アイコン５１が選択されるとステップＳ２に進み、「受信」アイコン５１が選択されるとステップＳ８に進み、「送信」アイコン５３が選択されるとステップＳ１０に進み、「作成」アイコン５４が選択されるとステップＳ１３に進み、「表示」アイコン５４が選択されるとステップＳ１６に進み、終了操作が行われると３次元画像モードを終了し、無線ＬＡＮ２に関する場所・時刻限定の匿名共有チャネルから離脱する（ステップＳ２）。
【００４６】
「撮影」アイコン５１が選択されると、制御部１０は、撮像部１１および画像処理部１２を制御してスルー画像表示を行い、ユーザがシャッターキーの操作を行って撮影を行ったことを検知するとステップＳ４に移行する（ステップＳ３）。
【００４７】
撮影が行われると、制御部１０は画像処理部１２を制御して撮影処理を行わせると共に位置情報取得部１３から撮影位置および撮影方向と被写体との距離を取得し、さらに撮影時刻を図示しない計時機構から取得して一時記憶メモリ１６に記録する。また、撮影処理の結果である画像データを（圧縮処理を施してから）撮影情報と共に画像記録部１８に転送して記録媒体１９の画像データ記録領域に追加記録する（ステップＳ４）。
【００４８】
次に、ステップＳ４で一時記憶メモリ１６に記録した撮影位置および撮影方向と被写体との距離から撮影対象（人物または建造物等の対象物）の位置を算出し、ステップＳ２で記録した画像データのアドレス、撮影時刻、撮影対象の位置、撮影位置、撮影時刻から図３に示したような画像保存用データ４０を作成し、画像記録部１８に転送して記録媒体１９の画像保存用データ記録領域に追加記録する（ステップＳ５）。
【００４９】
撮影時に、他のユーザからデジタルカメラ１に無線ＬＡＮ２を介して画像データが送られてくると、制御部１０は「受信」アイコン５２が点滅させ、ユーザに他のユーザから画像データが送信されたことをユーザに報知すると共に、ユーザが「受信」アイコン５２を選択した否かを操作部６０からの信号を調べて判定し、ユーザが「受信」アイコン５２を選択した場合には「受信」アイコン５２を明色表示してステップＳ８に進み（ステップＳ６）、ユーザが「受信」アイコン５２を選択ない場合には撮影終了操作が行われたか否かを調べ、撮影終了操作が行われた場合はステップＳ２に戻り、撮影終了操作が行われていない場合はステップＳ３に戻る（ステップＳ７）。
【００５０】
「受信」アイコン５１が選択されると、制御部１０は、通信処理手段２０を制御して無線ＬＡＮ２を介して他のユーザから送信された画像データ、撮影情報、および画像保存用データの受信処理を行わせ（ステップＳ８）、受信した画像データや撮影情報を画像記録部１８に転送して記録媒体１９の画像データ記録領域に追加記録すると共に受信した画像保存用データを画像記録部１８に転送して記録媒体１９の画像保存用データ記録領域に追加記録し、ステップＳ２に戻る（ステップＳ９）。
【００５１】
「送信」アイコン５１が選択されると、制御部１０は、画像記録部１８を制御して記録媒体１９の画像保存用データ記録領域に記録してある画像保存用データを読み出して撮影対象の位置４３および撮影日時・時刻４２を調べ、撮影対象の位置および撮影時刻が所定値内の画像保存用データについて画像データのポインタ４１を元に記録媒体１９の画像データ記録領域に記録してある画像データを読出し（ステップＳ１０）、読み出した画像保存用データおよび画像データを通信処理手段２０に渡し、通信処理手段２０を制御して無線データに変換して無線ＬＡＮ２を介して共用チャンネルのユーザのデジタルカメラ宛送信する（ステップＳ１１）。
【００５２】
制御部１０は、ステップＳ９、Ｓ１０の動作を撮影対象の位置および現在時刻が所定値内の全ての画像保存用データおよび画像データを送信し終わるまでステップＳ１０、Ｓ１１を繰り返し、送信し終わるとステップＳ２に戻る（ステップＳ１２）。
【００５３】
「生成」アイコン５１が選択されると、制御部１０は、画像記録部１８を制御して記録媒体１９の画像保存用データ記録領域に記録してある画像保存用データを読み出し、撮影対象の位置４３および撮影日時・時刻４２を調べ、撮影対象の位置および現在時刻が所定値内の画像保存用データについて画像データのポインタ４１を元に記録媒体１９の画像データ記録領域に記録してある画像データを読出し（ステップＳ１３）、読み出した画像保存用データおよび画像データを一時記憶メモリ１６に記憶する動作を、撮影対象の位置および現在時刻が所定値内の全ての画像保存用データおよび画像データを一時記憶メモリ１６に記憶するまで繰り返す（ステップＳ１４）。
【００５４】
次に、制御部１０は、３次元画像データ生成部１４を制御して、一時記憶メモリ１６に記録した画像保存用データから撮影位置４４および撮影方位４５とこれに対応付けられた画像データとを元に、３次元画像データを生成し、一時記憶メモリ１６に記憶すると共に、画像記録部１８に転送して記録媒体１９の３次元画像データ記録領域に追加記録し、ステップＳ２に戻る（ステップＳ１５）。
なお、３次元画像データ生成部１４による３次元画像データの生成は、前述（図１の３次元画像データ生成部１４の機能の説明参照）したように、カメラ位置は撮影時に取得されているので既知であるから、カメラ位置を既知として背景技術の項で述べた（２）、（３）の手順によることができる。
【００５５】
「表示」アイコン５１が選択されると、制御部１０は、プログラム格納メモリ１５から３次元画像表示プログラムを取り出し、３次元画像表示プログラムに基づいて画像記録部１８を制御し、記録媒体１９の３次元画像データ記録領域から所望の３次元画像データを読出し、（伸張処理等を施してから）画像表示部１７に転送して、３次元画像表示を行わせ、ユーザが再生終了操作を行うとステップＳ２に戻る。なお、ステップＳ１４で３次元画像データを生成した直後に表示」アイコン５１が選択された場合は一時記憶メモリ１６に記憶されている３次元画像データを）画像表示部１７に転送して、３次元画像表示を行わせ、ユーザが再生終了操作を行うとステップＳ２に戻る（ステップＳ１６）。
【００５６】
（実施形態）
次に、３次元画像データ生成部１４による３次元画像データの生成の実施形態について説明する。
【００５７】
３次元形状モデルの作成：
１）まず、同一の対象物や被写体が撮影された複数枚の画像データ、望ましくは、視点や向き、角度などが異なる複数枚の画像データを入力して、大きさや上下の向き、回転などを正規化した後、
２）複数枚の景観画像から、「Lucas-Kanade法（勾配法）」や、「Kanade-Lucas-Tomasiトラッカー」などにより、特徴点の移動や相違を追跡し、対応点を探索する。
【００５８】
３−Ａ）各点の移動、距離の深さ、カメラ位置、エッジモーションなどを解析して、カメラの位置や動き情報を求めて、任意の多視点画像とカメラ情報から、３次元形状データを求める。
あるいは、参照マーカー等を一緒に写した画像を用いるなど、人工的特徴を付加することによって、カメラ運動情報を求めやすくできる。
または、比較的近距離の撮影の場合には、カメラ間の距離（基線長）が判明しているステレオカメラ画像などから、三角測量方式で、立体の位置座標や立体形状データを求めても良い。
【００５９】
３−Ｂ）「射影グリッド空間における視体積交差法」などを用いて、３次元ボクセル（立体画素）空間を多数の立体格子に分割し、異なる視点の各画像におけるシルエット画像を３次元ボクセル空間に逆投影して（すなわち、各ボクセルが各画像に投影される場合にそのシルエットに含まれるか否かを判断して）、顔および頭部の３次元データを生成する。
【００６０】
３−Ｃ）複数画像における対応点から、因子分解法（Kanade-Lucas法）などにより、（計測行列）＝（移動行列）×（形状行列）における（移動行列）と（形状行列）とを同時に求め、（形状行列）から、被印刷物の立体表面形状の３次元モデルを生成する等、他の方法を用いても良い。
【００６１】
複数枚のカメラ画像からの３次元形状データの作成方法：
特に、複数枚の撮影画像から３次元形状データを生成する方法について、以下に詳しく説明する。
【００６２】
画素座標、カメラ座標、画像座標：
カメラを基準とした３次元空間座標である「カメラ（Camera）座標」と、２次元画像を表現する「画像（Image）座標」とを、カメラ座標系（Ｘ，Ｙ，Ｚ）の原点（０，０，０）を光軸上のカメラ中心とし、撮像画像面に平行なＸ軸、Ｙ軸と光軸方向のＺ軸との正規直交座標系として設定すると、カメラ座標が（Ｘ，Ｙ，Ｚ）Ｔである３次元空間の点と、その透視射影として得られる２次元画像の画像座標（ｘ、ｙ）Ｔには、次式が成り立つ。
ｘ＝l×X／Z、  ｙ＝l×Y／Z    （ただし、l：カメラの焦点距離）  ・・・（１）
ここで、透視射影による３次元空間の像を記述する「画像（Image）座標」と、モニター表示画面などの「画素（Pixel）座標」の間には、個々のカメラに固有の１対１の写像関係がある。
【００６３】
複数の画像における点対応からカメラ運動と相対的位置関係（３次元形状）とを復元する場合には、点対応は、まず「画像（Image）座標」で与えられるので、全てのカメラに対して統一的に扱うためには、この「画素（Pixel）座標」と「画像（Image）座標」間の１対１の写像関係を求めること（カメラキャリブレーション）ができれば、「画素（Pixel）座標」と「画像（Image）座標」とを自由に変換できることになる。
【００６４】
カメラモデルを表現する透視射影において、複数の画像における点対応からカメラ運動と３次元形状とを求める問題は、非線形写像の逆問題となるので、非線形最適化問題に帰着し、非線形最適化問題はノイズに敏感で、初期値依存性が高く、数値計算が不安定であるなど、問題があるため、安定して３次元形状を復元することは難しい。そこで、
１）前記非特許文献１にあるように、カメラの位置や姿勢、視点方向などに関する外部情報、すなわち、カメラ運動情報を入力するか、参照マーカーを一緒に写した画像を用いるなど、人工的特徴を付加することによって、カメラ運動情報を求めやすくできる。
２）または、特開２００４−２２０３１２号公報に記載されているように、複数の多視点カメラ（または多視点画像）の中から、なるべく直交する関係の２台のカメラ（または画像）を基底カメラとして選択して、基底カメラによる射影グリッド空間を用いて、複数のカメラ間または視点間の相互関係情報を付加するか、または制限して、例えば、カメラ間のエピポーラ幾何関係を表す基底行列Ｆ（Ｆｕｎｄａｍｅｎｔａｌ）行列等を用いて、射影グリッド空間上の点（ボクセル）を各カメラ画像へ逆投影し、各カメラ画像のシルエット画像において、各点（ボクセル）が対象物の内部に存在するか外部かを判定して、３次元形状データを復元することができる。
３）または、「金出武雄ほか、「因子分解法による物体形状とカメラ運動の復元」、電子通信学会論文誌、J76−D−II、No.8（19930825）、pp．1497−1505、1993年」にあるように、Tomasi and Kanadeによる「因子分解法」などにより、理想的カメラモデルである透視射影をアフィン射影で近似して、正射影モデル等のアフィン近似射影に基づいた複数の２次元画像からカメラ運動情報と３次元形状情報とを同時に復元する手法などを用いることができる。
２次元画像がアフィン近似射影で得られると仮定すると、複数のアフィン近似射影画像における点対応からのカメラ運動と３次元形状の復元問題は、線形写像の逆問題となるので、復元の精度は劣るが、非線形写像の場合に比べて、数値計算を安定して解くことができるようになる。
【００６５】
複数の画像間における点の対応付け：
まず、複数の画像間における点特徴（輝度や色、輪郭形状、テクスチャーなど）の対応付けを行なう。
３次元空間では遠く離れた点も、２次元画像では近くに投影されることがある。２次元画像におけるわずかな誤差が３次元空間での認識や理解に重大な影響を及ぼすので、複数の画像間における点の対応を精度良く行なう必要がある。
複数の画像間における特徴点の対応付けには、「Lucas-Kanade法（勾配法）」（1981年）や、「Kanade-Lucas-Tomasiトラッカー」（Shi and Tomasi、1994年）などの手法を用いることができる。時間的に離れた画像を事前知識無しに対応付けるのは難しいが、複数の点で対応が既知であれば、同一の３次元空間を撮影した多視点の複数画像間の幾何的な関係（エピポーラ幾何学）を用いて、他の対応点の存在可能な領域を絞りこむことができる。
【００６６】
例えば、複数のフレーム画像間における対応や追跡には、一般に、見え方（局所画像）、または、エッジ（輪郭）、色ヒストグラムなどの画像特徴の類似（相関）や相違に基づいて、隣接する他フレーム画像との間で、最も類似する領域を探索し、探索された点へ対象物が移動したと判定する方法（ブロックマッチング）が良く用いられる。
つまり、座標ｘ＝（ｘ，ｙ）における画素値I（ｘ）毎に、移動量（変位）ｄ＝（ｄｘ，ｄｙ）を逐次変えながら、次式であらわされるような
・差分二乗和（二乗誤差）  ε（ｄ）＝Σ｛It（ｘ＋ｄ）−It−1（ｘ）｝2  ・・・（２）
・もしくは、差分絶対値和  ε（ｄ）＝Σ｜It（ｘ−ｄ）−It−1（ｘ）｜
・もしくは、相互相関  γ（ｄ）＝Σ｛It（ｘ−ｄ）−I￣t  ｝｛It−1（ｘ）−I￣t−1｝／｜It（ｘ−ｄ）−I￣t｜｜It−1（ｘ）−I￣t−1｜
などを計算し、その中から、
相違度最小  d＝min｛ε（ｄ）｝、または、類似度（相関）最大  d＝max｛γ（ｄ）｝…（３）
となる変位ｄを求めれば良い。しかし、これを全探索すると、計算量が多くなったり、変位量が離散的で連続しなかったりするなどの難点がある。局所画像を回転や拡大縮小してマッチングする場合には、さらに膨大な計算が必要になる。
このとき、「Lucas-Kanade法（勾配法）」では、暫定解の周りの勾配（傾き）にもとづいて、山登り（または山降り）することにより、極大値（または極小値）を効率よく求めることができる。
すなわち、差分二乗和（二乗誤差、SSD）の勾配を、
ε＝Σ｛I（ｘ＋δｘ，ｙ＋δｙ，ｔ＋δｔ）−I（ｘ，ｙ，ｔ）｝2  ・・・（４）
とすると、この第１項のテーラー展開は、
I（ｘ＋δｘ，ｙ＋δｙ，ｔ＋δｔ）
＝I（ｘ，ｙ，ｔ）＋δｘ｛∂I（ｘ，ｙ，ｔ）/δｘ｝＋δｙ｛∂I（ｘ，ｙ，ｔ）/δｙ｝＋δｔ｛∂I（ｘ，ｙ，ｔ）/δｔ｝＋・・・
このとき、２次以降の項を、変位が微小であるとして無視できる（ｘ周辺で線形近似できる）とすると、
δｘ＝ｄｘ、δｙ＝ｄｙ、δｔ＝１として、
ε＝Σ｛ｄｘIｘ（ｘ，ｙ，ｔ）＋ｄｙIｙ（ｘ，ｙ，ｔ）＋Iｔ（ｘ，ｙ，ｔ）｝2  …（５）
ただし、上式で、Iｘ(x,y,t)＝∂I(x,y,t)/δｘ、  Iｙ(x,y,t)＝∂I(x,y,t)/δｙ、  Iｔ(x,y,t)＝∂I(x,y,t)/δｔ
【００６７】
相違度最小の変位  d＝minεは、∂ε/∂ｄｘ＝0、∂ε/∂ｄｙ＝0となるｄを求めれば良いので、
∂ε/∂ｄｘ＝Σ２Iｘ（ｘ，ｙ，ｔ）｛ｄｘIｘ（ｘ，ｙ，ｔ）＋ｄｙIｙ（ｘ，ｙ，ｔ）＋Iｔ（ｘ，ｙ，ｔ）｝＝0、
∂ε/∂ｄｙ＝Σ２Iｙ（ｘ，ｙ，ｔ）｛ｄｘIｘ（ｘ，ｙ，ｔ）＋ｄｙIｙ（ｘ，ｙ，ｔ）＋Iｔ（ｘ，ｙ，ｔ）｝＝0  ・・・（６）
ここで、
2010109783.tif 000003
・・・（７）
とおくと、ATAd−ATｂ＝0から、ATAd＝ATｂ
2010109783.tif 000004
・・・（８）
となるので、ATAが正則なとき、dは解を持ち、
d＝minε＝(ATA)−1 ATｂ  ・・・（９）
となり、全探索しなくても、相違度最小となる変位量を求めることができる。特徴点検出と上記のような追跡法とを統合した手法は、「Kanade-Lucas-Tomasi（KLT）トラッカー」と呼ばれている。
【００６８】
次に、対象物の３次元形状データを生成する。
３次元形状データの生成（１）  --  カメラ位置情報や参照マーカーを用いる方法：
例えば、全周囲３６０度からの多視点角度から、または、周囲に配した複数台のカメラから撮影した画像データを入力して、対象物の３次元形状データを作成する場合には、予めカメラを所定の位置や角度に配して撮影し、カメラ位置情報が既知のカメラで撮影された複数枚の多視点画像を用いる。
また、得られたカメラ位置情報と物体画像とから、形状とテクスチャーの３次元情報を自動計算し、デジタルカメラで撮影した画像から、３次元データを生成する。対象物が撮影された視点の異なる１０〜２０枚程度の撮影画像データを入力して、カメラ位置の計算、形状情報の生成など、一連の処理を実行して、３次元形状データを作成することができる。すなわち、
カメラ位置の計算では、例えば、座標系におけるカメラの３次元位置パラメータ（回転成分α，β，γと平行移動成分（ｘ，ｙ，ｚ）を、Hough変換（注１）などに基づいて計算する。つまり、撮影された画像から、参照マーカーを抽出し、抽出された参照マーカーの任意の３点と、あらかじめ登録されている参照マーカー中の任意の３点の位置関係を組み合わせて決定される連立方程式を解くことにより、位置パラメータを計算する。
【００６９】
（注１）Hough変換（ハフ変換、ヒュー変換）：
エッジ画像から直線を求める問題等において多く用いられる方法で、エッジ画像中の各々の点（ｘ，ｙ）について、それがある直線上にある点と仮定した場合に可能性のある全ての直線を、極座標ρ＝x cosθ＋y sinθによるパラメータ空間（ρ，θ）へ曲線として投票し、最終的にパラメータ空間においてピークとなる（ρ，θ）が、求める直線のパラメータとして得られる。
【００７０】
形状情報の生成では、背景の色情報を用いて物体と背景を分離し、対象物のシルエット（輪郭）の抽出を行なう。
次に、カメラの位置情報と対象物の２次元輪郭情報に基づいて、３次元ボクセル空間へのボーティング（投票）処理により、３次元形状を再構成し、得られたボクセルデータから、ポリゴン（多角形）データ等へ変換し、三角ポリゴン表現形式やSSF形式、もしくは、VRMLやXVL、IGES、STL、PLYなどの各種３次元形状データとして出力する。
【００７１】
一般の撮影会や人物モデルの撮影などでは、対象物を載せる回転台や参照マーカー等は用いにくいので、カメラに内蔵して設けた３軸加速度センサ、傾斜計センサ等により計測された位置や角度、姿勢情報や、別のマーキング方法や人工的特徴を用いて、カメラの位置情報を求めてもよい。
【００７２】
３次元形状データの生成（２）  --  ステレオカメラや三角測量式を用いる：
比較的近距離の撮影では、２台のカメラを所定寸法（基線長ｄ）だけ離して配したステレオカメラで撮影された２枚の画像データから、もしくは、１台のカメラでも、所定寸法（ｄ）だけ視点を変えて撮影された２枚の画像データから、三角測量方式で、対象物の３次元形状データを求めてもよい。
すなわち、基線をｘ軸、カメラの光軸方向をｚ軸とすると、点Ｐの座標（ｘ、ｙ、ｚ）の観測値として、各カメラ１、２における基線と点Ｐの方向との角度α１、α２が得られたとき、点ＰのＸ−Ｙ面に対する傾斜角（仰角）をθ、既知の基線長をｄとすると、点Ｐの座標（ｘ、ｙ、ｚ）は、次式より求められる。
ｘ＝ｄ・(tanα１−tanα2)/２(tanα１+tanα2)、
ｙ＝ｄ・(tanα１・tanα2・sinθ)/(tanα１+tanα2)、
ｚ＝ｄ・(tanα１・tanα2・sinθ)/(tanα１+tanα2)、  ・・・（１０）
３次元形状データの生成（３）  --  視体積交差法：
あるいは、複数の多視点から撮影された画像データに対して、「視体積交差法」を用いても、３次元形状モデルの生成を行なうことができる。
【００７３】
視体積とは、視点を頂点とし、対象物のシルエットを断面とする錐体のことで、「視体積交差法」は、全ての視点における対象物の視体積の共通部分を求めることにより、対象物の形状を復元する手法である。
視体積交差法では、実空間内に設置した複数台（または複数の位置）のカメラで撮影した画像から、物体のシルエットを抽出し、空間に逆投影し、シルエットの交わりを計算することによって、対象物の３次元形状モデルを求めることができる。
複数の多視点画像から３次元モデルを生成する手順は、次の通りである。
１）形状を構成する３次元空間（ボクセル空間）を立方体格子に分割する。
２）各画像のシルエット（輪郭）画像を入力し、各ボクセルに対して、正射影による逆投影を行い、各ボクセル上に当該画像のシルエットが存在するか、しないかを判定する。
３）最終的に存在するボクセル集合を、３次元形状とみなす。
４）３次元形状の内部にあるボクセルを削除する。
【００７４】
３次元形状データの生成（４）  --  因子分解法：
一般の撮影会などで、複数のカメラで同じモデルや被写体を撮影するような場合には、上記のような参照マーカーやカメラ位置のキャリブレーション処理を用いにくい。このように、カメラ位置情報が不明な場合でも、複数の多視点カメラ画像や連続動画像などから３次元形状データを生成する方法として、因子分解法がある。
一般に、カメラ位置や視点方向の制限も設けずに、対象物周囲の任意視点からの複数枚の２次元画像から、対象物の３次元形状を求めるには、膨大な計算処理が必要で、解も不安定になる。
「因子分解法（Factorization）」（Tomasi and Kanade（金出武雄）、1992年）では、実際のカメラモデルである透視射影をアフィン射影で近似することにより、問題を簡略化し、数値計算を高速かつ解を安定化させることができる。また、複数のアフィン近似射影画像から、カメラ運動と対象物体の立体形状とを同時に復元できる方法として知られている。
【００７５】
すでに、上記の［複数の画像間における点の対応付け］のステップにより、複数の画像における点特徴の対応付けが求められ、画像座標として与えられているとする。
アフィン近似射影においては、カメラ撮影による写像は、３次元空間の対象物から、２次元画像へのカメラの位置と方向によって決まるアフィン射影となる。
画像がＭ枚、特徴点がＮ個与えられるとき、Ｎ個の３次元座標のＭ個のアフィン射影によるＭＮ個の画像座標が得られるとすると、因子分解法では、このＭＮ個の条件を行列の形に並べて、複数の２次元画像からの３次元形状復元問題を単純な形で表現することができる。すなわち、
（計測行列）＝（運動行列）×（形状行列）  ・・・（１１）
ここで、計測行列はＭＮ個の画像座標を並べた（２Ｍ×Ｎ）行列、運動行列はＭ個のアフィン射影の表現行列を並べた（２Ｍ×３）行列、形状行列はＮ個の特徴点の３次元座標を並べた（３×Ｎ）行列である。
つまり、複数の２次元画像からの３次元形状を復元するには、計測行列を因子分解できればよい。
このように、透視射影によって得られた計測行列の成分からアフィン近似射影により投影されたとき得られる計測行列を推定できれば、後は、因子分解法のアルゴリズムにしたがって、計測行列を運動行列と形状行列の積に分解するだけで、カメラの運動情報と物体の３次元形状とを復元することができる。
ただし、画像座標が正規直交基底による表現であるため、正しい復元解を得るには、画像座標の基底が正規直交基底となるように分解する必要がある。
【００７６】
アフィンカメラ・モデル：
対象の３次元物体のＮ個の特徴点｛Ｐα｝を、Ｍ枚の画像に渡って追跡撮像し、第κ（カッパ）画像におけるα（アルファ）番目の特徴点Ｐαの画像座標を（ｘκα，ｙκα）  （κ＝1, ・・・, M、α＝1, ・・・, N）とする。
そして、その運動履歴を次の２Ｍ次元ベクトル（軌跡ベクトル）で表す。
Ｐα＝（ｘ１α  ｙ１α  ｘ２α  ｙ２α  ・・・・ｘＭα  ｙＭα）  ・・・（１２）
これによって各特徴点の軌跡を２Ｍ次元空間の１点と同一視できる。便宜上、画像番号κを「時刻κ」と呼ぶ。
カメラの光軸をＺ軸とするカメラＸＹＺ座標系をとり、これに相対的にシーン（被写体）が運動すると解釈する。または、静止したシーン（被写体）に対してカメラが相対的に運動すると考えても同等である。
シーン中に３次元座標系を任意に固定し、特徴点Ｐαのそのシーン座標系に関する３次元座標を（ａα，ｂα，ｃα）とする。時刻κでのシーン座標系の原点と各座標軸の基底ベクトルをカメラ座標系で表したものをそれぞれ、ｔκ、｛iκ，jκ，kκ｝とすると、特徴点Ｐαの時刻κにおける３次元位置ｒκαは、カメラ座標系では次式となる。
ｒκα＝ｔκ＋ａαiκ＋ｂαjκ＋ｃαkκ  ・・・（１３）
平行投影または弱透視投影や疑似透視投影を抽象化（モデル化）したアフィンカメラは、３次元の点が次のように画像上に投影されると仮定する。
（ｘκα，ｙκα）Ｔ＝Ｐκαｒκα＋ｑκ  ・・・（１４）
ここにＰκα，ｑκはそれぞれ時刻κでのカメラの位置や内部パラメータによって定まる（２×３）行列および２次元ベクトルである。式（１３）を代入すると、式（１４）は次のように書ける。
（ｘκα，ｙκα）Ｔ＝m’0κ+aαm’１κ+bαm’２κ+cαm’３κ  ・・・（１５）
m’0κ、m’１κ、m’２κ、m’３κは時刻κでのカメラの位置や内部パラメータで決まる２次元ベクトルである。これを時刻κ=1，・・・，Ｍにわたって縦に並べると、前述式（１２）の軌跡ベクトルＰαは次のように書ける。
Ｐα＝m0  +aαm1  +bαm2  +cαm3  ・・・（１６）
ここで、mi（i＝0，・・・，3）は、m’iκを時刻κ＝1，・・・，Ｍに渡って縦に並べた２Ｍ次元ベクトルである。
上式は、すべての軌跡ベクトルＰαが２Ｍ次元空間中でm0を通り、｛m1， m2， m3｝の張る「３次元アフィン空間」に含まれることを表している。これを「アフィン空間拘束条件」と呼ぶ。
【００７７】
３次元形状モデルの復元処理の流れ：
因子分解法により、観測データ｛Ｐα｝から３次元復元する計算は、次の４ステップから成る。
（１）軌跡ベクトル｛Ｐα｝に、３次元アフィン空間を最小二乗法などにより当てはめる。
（２）当てはめた３次元アフィン空間から、ベクトルm0, m1, m2, m3を計算する。カメラモデルに依存する計量条件を用いる。
（３）得られたm0, m1, m2, m3から各時刻κのシーン座標系の位置tκと向き（iκ，ｊκ，ｋκ）を計算する。これは、各時刻κにおけるカメラの位置と向きに相当する。
ここで、（iκ，ｊκ，ｋκ）が正規直交系であることから、これらを並べた行列Ｒ＝｛iκ，ｊκ，ｋκ｝が回転行列であるという非拘束条件を用いる。このような回転の最適当てはめ問題は、いわゆる特異解分解により解決できる。
（４）各特徴点の３次元座標（aα, bα, cα）を計算し、式（１３）より、立体形状の３次元位置ｒκαを計算する。ここでは、
Ｊ＝Σα||Ｐα-m0  -aαm1  -bαm2  -cαm3||２  ・・・（１７）
を最小にすればよい。これは、（aα, bα, cα）の２次式であるから、線型方程式を解いて解が求まる。
【００７８】
このようにして、複数枚の撮影画像の計測行列データ（２Ｍ次元の軌跡ベクトル｛Ｐα｝（α＝１〜Ｎ））から、カメラの運動情報を含む運動行列データ（特徴点の重心の並進ベクトル｛ｔκ｝と回転行列｛Ｒκ｝（κ＝１〜Ｍ））と、物体の３次元形状情報を含む形状行列データ（各特徴点の３次元位置｛ｒα｝（α＝１〜Ｎ））とを、同時に復元することができる。
因子分解法による３次元復元の実際の計算アルゴリズムについては、（藤木  淳（産総研）、「点対応を用いた複数の２次元画像からの３次元形状復元  −因子分解法の数理−」、統計数理、第４９巻第１号、pp77〜107、2001年。）、（金谷  健一、菅谷  保之（岡山大学工学部）、「因子分解法の完全レシピ」、電子情報通信学会技術報告、PRMU2003-118、NC2003-49、2003年10月。）などに詳しい解説がある。
【００７９】
異なる視点からの２次元画像の生成：
複数の画像から生成された被写体の３次元形状モデルデータから、異なる視点の２次元画像を生成するには、以下のように、対象物の３次元形状モデルと設定された所定の視点から見た透視図を、透視変換や座標変換などの行列演算によって計算して求め、それを３次元のＣＧ（コンピュータ・グラフィックス）分野で用いられるレンダリング（描画）処理などによって、２次元画像として描画することにより、作成することができる。
【００８０】
３次元データの座標変換：
一般に、３次元空間における回転操作や縮小、拡大、平行移動、透視変換などの座標変換処理を、繰り返し処理するには、マトリクス（行列）演算で行なうのが適している。
３次元データに変換行列｛Ｔ｝により座標変換した後の座標（ｘ’，ｙ’，ｚ’）は、射影問題を解くときに都合が良いように、空間を表す三要素のベクトルに一要素を加えた同次座標形式を用いると、次式で表わすことができる。
同次座標では、  ［Ｘ  Ｙ  Ｚ  Ｈ］＝［ｘ  ｙ  ｚ  １］・Ｔ
通常座標では、  ［ｘ’  ｙ’  ｚ’  １］＝［Ｘ/Ｈ  Ｙ/Ｈ  Ｚ/Ｈ  １］・・・（１８）
このとき、変換行列｛Ｔ｝の一般形は、次式で表される。
2010109783.tif 000005
変換行列｛Ｔ｝の小行列である左上（３×３）正方マトリクス（要素：a〜j）は、スケーリング（拡大、縮小）、回転、および、線断などの変換を、（１×３）の行マトリクス（要素：ｌ，ｍ，ｎ）は平行移動を、（３×１）の列マトリクス（要素：ｐ，ｑ，ｒ）は透視変換を、（１×１）の要素（ｓ）は全体スケーリング（拡大、縮小）変換を行なう。
【００８１】
投影、透視変換：
３次元形状を平面に投影する場合には、
１）例えば、平行投影（直交投影、正射影、parallel projection）の場合には、空間内にあるベクトルを考え、それに平行に物体上の一点を画像平面上の一点へ投影する。（ｘ−ｙ平面に平行な）ｚ＝ｎの面を投影面とすると、変換行列は次式となる。
2010109783.tif 000006
２）一方、透視変換（遠近投影、（perspective projection））の場合には、投影面がｘ−ｙ平面で、投影中心（視点）がｚ軸上（原点から距離Ｒ）にある場合、対象物の点Ｐ（ｘ，ｙ，ｚ）が投影面に投影されたときの点をＰ'（ｘ'，ｙ'，ｚ'）とすると、略ピンホールカメラと同様に、
ｘ’＝ｘ｛Ｒ/（Ｒ−ｚ）｝、  ｙ’＝ｙ｛Ｒ/（Ｒ−ｚ）｝  ・・・（２１）
これを同次座標で表わすと、次式となる。
2010109783.tif 000007
上式から、Ｈ＝１−（ｚ/Ｒ）＝（Ｒ−ｚ）/Ｒが得られるから、各要素をＨで割って正規化すると、透視変換後の同次座標は、次式となり、近いものの方が大きく投影されて遠近感が得られる透視図が作図できる。
2010109783.tif 000008
・・・（２３）
【００８２】
レンダリング処理：（図３の３次元モデルデータの構成例参照）
（１）（３次元モデルのデータ構造）：
３次元ＣＧでは、一般に、コンピュータ内部に数値化されたデータとして、ワイヤーフレームモデルやソリッドモデル、サーフェスモデルなどによる３次元モデルを作り、３次元の形状や空間、環境を定義する。
ａ）ワイヤーフレームモデルでは、３次元形状を線分やフレームで表し、それぞれの線分の両端の頂点をＸ，Ｙ，Ｚの３次元座標系で表現することによって数値化する方法であり、物体の形状は、各頂点と稜線とを番号付け、各頂点の座標を記憶する頂点テーブルと、稜線の２端点の頂点番号を記憶する稜線（辺）テーブルとで定義される。
ｂ）ソリッドモデルでは、３次元形状の物体を中身の詰まった多面体の立体として表現され、形状データは、頂点座標と各面を構成する頂点番号（面テーブル）で定義される。
ｃ）また、サーフェスモデルは、３次元形状をその表面を構成する面の状態で表したもので、最近では、ポリゴンなど細かい多角形平面に分割し、その平面を構成する頂点の座標値によって形状を表現する多面体（ポリゴン）表示がよく用いられる。すなわち、形状データは、頂点座標（頂点テーブル）と面を構成する頂点番号の順で定義される面テーブルで表される。各面において、頂点をたどる向きは、当該面 F I の法線 N I 周りの右ネジ法則（右ネジが進むときの回転方向）などで表記すればよい。
【００８３】
（２）次に、レンダリング処理を行なうには、その物体をある位置から見たときにどのように見えるかを考え、その見え方に従った画像を作成する（描画、レンダリング）が、視点の位置や照明条件などを与える必要がある。まず、３次元の物体を２次元のスクリーンに映し込む投影処理、および、座標変換処理を行なう。（前述したように、）投影には、平行投影と透視投影等がある。
座標変換では、ローカル座標系で指定した形状をワールド座標系に配置し、視点位置、視軸方向などによる視点座標系をワールド座標系で決める。次に、ワールド座標系の位置を視軸上にあるuvn座標系（＝視野窓（view window）を定義するための座標系）の位置に変換する（視野変換、ビューイング変換）。
【００８４】
（３）画面に現れる部分を決定し、視野に入らない範囲を除くクリッピング処理を行なう。
（４）次に、（必要に応じて、）物体の稜線や隠面などの見える部分と裏に隠れて見えない部分を判定して、隠線消去処理、隠面消去処理を行なう。
（５）次に、（必要に応じて、）光の当たり具合や反射、透過の様子を計算して、設定されたライティング条件に基づいて、シェーディング処理（物体の表面の明暗や陰付け）やシャドウイング処理（地面の陰の描画など）を施す。
（６）さらに、（必要に応じて、）表面に、（元の２次元画像から抽出された該当領域の）模様や凹凸、あるいは、まわりの景色などを貼りつけるマッピング処理を行なってより現実感を出す。
（７）また、デジタル処理による境界線のギザギザなどを滑らかにするアンチ・エリアシング処理などを行い、レンダリング画像を完成して出力する。
【００８５】
隠線消去、隠面消去：
なお、上記の隠線消去処理では、面の可視性について考えると、面の法線ベクトルと視線の角が鋭角である面は見え、それが鈍角のものは見えないので、それを用いて隠線消去を行なう。隠面消去処理では、視点の位置から考えて、どの面のどの部分が見え、どの部分が見えないかを判断する。判別法には、奥行きソート法（Ｚソート法）や、図に示したＺバッファ法、スキャンライン法、レイトレーシング法などがある。
【００８６】
１）奥行きソート法（Ｚソート法）では、ディスプレイの塗りつぶし表示処理の特徴を活かし、視点から遠い順に面を重ねながら次々と描くことによって見えるべき面が最終的に残るという簡潔な手法である。
２）Ｚバッファ法では、視点から物体の間までの距離の値を全ての画素（ピクセル）について一つずつ格納できるような大きなバッファメモリ領域を用意しておき、これを利用して画素毎に、その位置に見える物体の中で、視点に最も近いものを選択する。表示しようとする面のＺ値（視点からの奥行き）を各画素毎とにバッファに蓄える。各々の面を透視投影面に投影し、その面が占める画素の位置に、その面のＺ値を格納する。すでに格納されている面があれば、そのＺ値と比較し、小さい方の面の情報を記憶する。
３）スキャンライン法では、走査線をスクリーンの上から下へ走査しながら、走査線と視点を含む平面（走査面、スキャンライン平面）を作り、水平の走査面によって物体をスライスし、その交線を抽出し、その奥行きの前後関係からその可視部分を表示する。
４）レイトレーシング法では、画素毎に、その方向から目に入ってくる光を、その元（光源方向）にさかのぼって追求していき、視線と交差する面のうち最も手前の面を表示する。
【００８７】
本実施形態では、撮影会などで、同じ被写体やモデルを、複数の人やカメラで撮影し、各カメラに内蔵または接続された無線ＬＡＮなどにより、複数のカメラにより、同じ被写体を向きや視点の異なる位置から撮影された複数枚の画像データを互いに送受信して、他のカメラで撮影された画像データも、自分のカメラで撮影された画像データと同様に保存記録できるようにするとともに、自他のカメラで撮影された、または、受信された、同じ被写体の異なる視点位置からの複数枚の画像データから、同じ被写体の３次元形状モデルや３次元画像データを生成し、３次元形状モデルに基づいて、どのカメラでも撮影されていなかったような任意の向きや視点からの画像データを変換生成して、再生表示したり、それを撮影された画像データと同様に保存記録したりすることができる。
また、生成された３次元形状モデルデータや生成された視点の異なる画像データも、無線ＬＡＮなどを介して他の各カメラに送受信して、互いに共有できるようにしてもよい。
【００８８】
多視点画像の保存記録：
図７に、メモリーカードなどに、ＥＸＩＦ形式ＪＰＥＧ画像データ・ファイル７００として、撮影日時情報７０１、撮影位置情報７０２、視点情報７０３などを関連付けて保存記録する例を示す。ＥＸＩＦ形式自体は公知であるので詳述はしない。
また、図８に、自他のカメラで同一被写体を撮影した複数枚の多視点画像データ８０１，８０２，８０３，・・・８０ｎを、ＥＸＩＦ拡張形式やＭＰ（マルチピクチャー）形式の画像ファイルに副画像として、１つの画像ファイル８００内に一緒に保存記録する例を示す。
あるいは、複数枚の画像から生成された３次元形状モデルデータに基づいて、生成された視点の異なる複数枚の画像データを、同様に、副画像として、１つの画像ファイル内に一緒に保存記録するようにしてもよい。
【００８９】
以上、実施形態としていくつかの手法を説明したように、画像データおよび撮影方向および撮影位置に基づいて３次元画像データを生成することができる。
【００９０】
（実施形態の効果）
１）撮影会や同じイベントなどに参加しているカメラマン同士で、他のカメラが撮影した画像データをその場で共有できるだけでなく、複数カメラからの同一被写体の同時刻の複数枚の画像データから、被写体の３次元データを生成することにより、どのカメラも撮影しなかったような視点や位置からの画像も、後から自動生成することができるので、撮り忘れや撮影失敗した場合やシーンでも、後から復元回復するように、所望の角度や構図の画像データを得ることができる。
２）また、任意の複数台のカメラと無線ＬＡＮによって、撮影データを共有する場合にも、（ＧＰＳ位置情報による）略同じ場所で近くにいるカメラ相互間で、かつ、（撮影時刻が）所定時間差以内の略同じ時刻の画像データだけを共有するようにして、同じ撮影会や同じ被写体と思われる場合のみ、３次元画像データを自動生成するようにしたので、異なる被写体の画像から３次元形状データを作成したり、また、不要な画像を無線受信してメモリが一杯になったり、その他の記録画像を他のカメラに自動的に送信してしまって、プライバシーや秘匿性などを損なったりすることを回避することができる。
【図面の簡単な説明】
【００９１】
【図１】本発明の電子カメラの電子回路の構成例を示すブロック図である。
【図２】無線ＬＡＮと接続する複数のデジタルカメラの説明図である。
【図３】無線ＬＡＮと接続する複数のデジタルカメラによる撮影会の説明図である。
【図４】３次元画像データ生成用の画像保存データの構成例を示す図である。
【図５】３次元画像モード選択時に表示されるスルー画像の例を示す図である。
【図６】図１に示したデジタルカメラによる３次元画像データ生成時の動作例を示すフローチャートである。
【図７】メモリーカードなどに、ＥＸＩＦ形式ＪＰＥＧ画像データ・ファイルとて、撮影日時情報、撮影位置情報、視点情報などを関連付けて保存記録する例を示す図である。
【図８】ＥＸＩＦ拡張形式やＭＰ（マルチピクチャー）形式の画像ファイルに副画像として、１つの画像ファイル内に一緒に保存記録する例を示す図である。
【符号の説明】
【００９２】
１、１−１、１−２、・・・、１−ｊ、・・・、１−ｎ  デジタルカメラ（電子カメラ）
２  無線ＬＡＮ
１０  制御部
１１  撮像部
１２  画像データ処理部
１３  位置取得部
１４  ３次元形状データ生成部
１５  プログラム格納メモリ
１６  一次記憶メモリ
１７  画像表示部
１８  画像記録部
１９  無線ＬＡＮ通信処理
３１  モデル（撮影対象）
６０  操作部
【図１】
2010109783.tif 000009
【図２】
2010109783.tif 000010
【図３】
2010109783.tif 000011
【図４】
2010109783.tif 000012
【図５】
2010109783.tif 000013
【図６】
2010109783.tif 000014
【図７】
2010109783.tif 000015
【図８】
2010109783.tif 000016