JP5093053B2 - 電子カメラ - Google Patents

電子カメラ Download PDF

Info

Publication number
JP5093053B2
JP5093053B2 JP2008280665A JP2008280665A JP5093053B2 JP 5093053 B2 JP5093053 B2 JP 5093053B2 JP 2008280665 A JP2008280665 A JP 2008280665A JP 2008280665 A JP2008280665 A JP 2008280665A JP 5093053 B2 JP5093053 B2 JP 5093053B2
Authority
JP
Japan
Prior art keywords
image data
shooting
image
dimensional
electronic camera
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008280665A
Other languages
English (en)
Other versions
JP2010109783A5 (ja
JP2010109783A (ja
Inventor
一記 喜多
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2008280665A priority Critical patent/JP5093053B2/ja
Publication of JP2010109783A publication Critical patent/JP2010109783A/ja
Publication of JP2010109783A5 publication Critical patent/JP2010109783A5/ja
Application granted granted Critical
Publication of JP5093053B2 publication Critical patent/JP5093053B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、3次元画像データの生成および生成した3次元画像の表示が可能な電子カメラに関し、特定のユーザおよびそのユーザ以外のものが電子カメラで撮影した画像から3次元画像を簡単に生成、表示する技術に関する。
一つの建造物を複数のカメラで複数の方向から撮影し、それらの撮影画像と予め用意された3次元CADデータとに基づいて、3次元化されて再現された建造物の画像を立体メガネを介して映す技術(建造物設計システム、プラント設計システム、および3次元構造体観察システム)が開示されている(例えば、特許文献1参照)。
複数の画像における点対応からカメラ運動と相対的位置関係(3次元形状)とを復元する場合には、点対応は、まず「画像座標」で与えられるので、全てのカメラに対して統一的に扱うためには、この「画素(Pixel)座標」と「画像(Image)座標」間の1対1の写像関係を求めること(「カメラキャリブレーション」と呼ばれる)ができれば、「画素(Pixel)座標」と「画像(Image)座標」とを自由に変換できることになる。
そこで、複数の撮影画像から3次元形状データを作成する方法として、例えば、全周囲360度からの多視点角度から、または、周囲に配した複数台のカメラから撮影した画像データを入力して、対象物の3次元形状データを作成するソフトウエアが各種開発されている。これらのソフトウエアでは、予めカメラを所定の位置や角度に配して撮影したカメラ位置情報が既知のカメラで撮影された複数枚の多視点画像を用いる方法や、または、回転台に印刷された参照マーカーと、回転台に載せた対象物体とを一緒に撮影した複数枚のカメラ画像から、撮影時のカメラ位置を自動計算する(例えば、非特許文献1参照)。
そして、得られたカメラ位置情報と物体画像とから形状とテクスチャの3次元情報を自動計算し、その3次元情報をユーザが適宜修正してデジタルカメラで手持ち撮影した画像から3次元データを生成する。つまり、対象物を撮影した視点の異なる10〜20枚程度以上のJPEGフォーマットの撮影画像データを入力して、カメラ位置の計算、形状情報の生成、テクスチャ情報の生成などの一連の処理を実行して、3次元形状データを作成する。
すなわち、下記(1)〜(3)の手順により3次元形状データを得る。
(1)カメラ位置の計算を行う場合では、例えば、座標系におけるカメラの3次元位置パラメータ(回転成分α,β,γと平行移動成分(x、y、z)をHough変換などに基づいて計算する。つまり、撮影された画像から、参照マーカーを抽出し、抽出された参照マーカーの任意の3点と、あらかじめ登録されている参照マーカー中の任意の3点の位置関係を組合せて決定される連立方程式を解くことにより、位置パラメータを計算する。
(2)形状情報の生成では、単色の背景紙などを使用して対象を撮影し、指定した背景の色情報を用いて物体と背景を分離し、対象物のシルエット(輪郭)の抽出を行う。
(3)次に、カメラの位置情報と対象物の2次元輪郭情報に基づいて、3次元ボクセル空間へのボーティング(投票)処理により、3次元形状を再構成し、得られたボクセルデータから、ポリゴン(多角形)データへ変換し、三角ポリゴン表現形式やSSF形式など、3次元形状データとして出力する。
特開2004−021848号広報 「デジタルカメラ画像から簡単に3次元データを生成するソフトウエア技術」 SANYO TECHNICAL REVIEW COL.35 NO.1JUN.2003
しかしながら、上記特許文献1などに開示の技術では、ユーザ(個人)が立体コンテンツを閲覧したい場合はあらかじめ設けられた観察用屋内の壁面に画像を投影し、立体メガネを装着してみる必要があり、しかも、ユーザが、希望する立体コンテンツを得たい場合には、ユーザが見たい部分を指定し、システム(建造物設計システム、プラント設計システム、および3次元構造体観察システム)の装置を介して必要な撮影画像を撮影させ、複数の撮影画像を用意させる必要があった。
また、自動撮影機から3次元データを自動作成する場合は、周囲360度から多数枚の画像やアクティブスキャン画像などを撮影する360度撮影台や専用撮影機を必要とするので、ユーザは、専用撮影機の設置場所まで赴いて写真を撮影する必要があるが、ユーザが立体コンテンツとして所望する既存の建造物等を360度撮影するためには大掛かりな準備が必要となり経済性や時間的観点から現実的ではないという問題点があった。また、写真画像から3次元データを生成するには、上記(1)のカメラ位置の計算を行う必要があり、複雑な計算を必要とし、その結果についても専門家による調整作業が必要であるという不都合があった。
また、上述した、非特許文献1に記載のように全周囲360度からの多視点角度から、または、周囲に配した複数台のカメラから撮影した画像データを入力して、対象物の3次元形状データを作成する方法によれば、カメラ位置を入力すればよいので上記(1)の不都合は生じないが、ステレオカメラで撮影できるような近距離や小さい物体などに限られる難点があることと、ユーザが立体コンテンツとして所望する既存の建造物等を360度撮影するためには全周を撮影するために複数台のカメラを配設する必要があり、建造物等の大きさや立地条件(地形や立ち木等の障害物の存在)により必要数のカメラを配設できない場合や、必要数のカメラを揃えてカメラを配設するための費用が嵩むといった不都合があった。
本発明は、ユーザおよびユーザ以外の者が撮影した複数の画像から被写体の3次元画像を簡単に生成、表示することのできる電子カメラの提供を目的とする。
上記課題を解決するために、請求項1に記載の発明は、被写体を撮像して画像データを取得する撮像手段と、無線通信を介して他の電子カメラから画像データを取得する通信処理手段と、前記撮像手段により取得された画像データまたは前記通信処理手段により取得された画像データの中で、撮影対象の位置および撮影日時が所定値以内の画像データを複数選択する選択手段と、前記選択手段により選択された複数の画像データを用いて3次元画像データを生成する3次元画像データ生成手段と、を備えたことを特徴とする。
また、請求項2に記載の発明は、更に、前記撮像手段により取得された画像データまたは前記通信処理手段により取得された画像データの撮影位置、撮影方向、および被写体との距離を取得する取得手段と、前記取得手段により取得された画像データの撮影位置、撮影方向、および被写体との距離から撮影対象の位置を特定する特定手段を更に備え、前記選択手段は、前記特定手段により特定される撮影対象の位置が所定値以内の画像データを複数選択することを特徴とする。
また、請求項3に記載の発明は、更に、前記3次元画像データ生成手段は、前記選択手段により選択された複数の画像データおよび各画像データの撮影位置と撮影方向とに基づいて3次元画像データを生成することを特徴とする。
また、請求項4に記載の発明は、更に、前記取得手段は、前記無線通信を介して他の電子カメラから画像データとともに送信されてくる当該画像データの撮影日時、撮影位置、撮影方向、および撮影対象の位置を取得することを特徴とする。
また、請求項5に記載の発明は、更に、前記取得手段は、前記撮像手段による撮影時に、撮影日時、撮影位置、撮影方向、および被写体との距離を取得することを特徴とする。
また、請求項6に記載の発明は、更に、前記3次元画像データ生成手段は、前記選択手段により選択された複数の画像データおよび各画像データの撮影位置と撮影方向とに基づいて、撮影対象物の3次元形状データを生成することを特徴とする。
また、請求項7に記載の発明は、更に、前記3次元画像データ生成手段は、前記生成された撮影対象物の3次元形状データに基づいて、任意の視点位置から見た撮影対象物の画像データを生成することを特徴とする。
また、請求項8に記載の発明は、撮像手段、表示手段、保存メモリおよび撮影日時記録手段を備える電子カメラであって、無線通信を介してデータの送受信を行う通信処理手段と、撮影時に当該電子カメラの位置、被写体の位置および被写体に対する撮影方向と撮影位置を取得する位置取得手段と、前記撮像手段による撮影画像の画像データおよび前記通信処理手段により前記無線通信を介して他の電子カメラから取得した画像データと、前記撮影日時記録手段により得られた撮影日時と、前記位置取得手段により取得された撮影方向および撮影位置とを対応付けて前記保存メモリに記録する画像記録手段と、前記保存メモリに記録された画像データおよび撮影方向および撮影位置に基づいて3次元画像データを生成する3次元画像データ生成手段と、制御手段と、を備え、前記制御手段は、前記3次元画像データ生成手段が、前記保存メモリに記録されている被写体の位置および撮影日時がそれぞれ所定値以内の画像データおよび撮影方向および撮影位置から3次元画像データを生成するよう制御することを特徴とする。
また、請求項9に記載の発明は、更に、前記制御手段は、前記無線通信を介しての他の電子カメラからの画像データの受信、および無線通信を介しての他の電子カメラへの画像データの送信を開始する際に、前記通信処理手段を制御して、前記無線通信の通信チャネルにおいて、同じ時刻に該無線通信の通信可能範囲内にいる電子カメラ相互でのみ認証なしに画像データを共有できる位置・日時限定の匿名共有チャネル、および、その参加/離脱設定を行うことを特徴とする。
また、請求項10に記載の発明は、更に、前記制御手段は、前記通信処理手段を制御して、前記保存メモリに記録されている画像データ、撮影日時、被写体の位置、撮影方向および撮影位置を前記無線通信を介して他の電子カメラに送信することを特徴とする。
また、請求項11に記載の発明は、更に、EXIF形式JPEG画像データ・ファイルとて、前記撮影日時、撮影位置、被写体の位置を関連付けて保存記録することを特徴とする。
また、請求項12に記載の発明は、更に、自他の電子カメラで同一被写体を撮影した複数枚の多視点画像データを、EXIF拡張形式であるMP(マルチピクチャー)形式の画像ファイルに副画像として、1つの画像ファイル内に一緒に保存記録することを特徴とする。
また、請求項13に記載の発明は、更に、EXIF形式JPEG画像データ・ファイルとて、前記撮影日時、撮影位置、被写体の位置を関連付けて保存記録することを特徴とする。
また、請求項14に記載の発明は、更に、自他の電子カメラで同一被写体を撮影した複数枚の多視点画像データを、EXIF拡張形式であるMP(マルチピクチャー)形式の画像ファイルに副画像として、1つの画像ファイル内に一緒に保存記録することを特徴とする。
本発明によれば、無線通信の通信可能範囲内で開催されている撮影会や同じイベントなどに参加しているカメラマン同士で、他のカメラが撮影した画像データをその場で共有できるだけでなく、複数カメラの同時刻画像データから、被写体の3次元画像データを生成することができるので、例えば、どのカメラも撮影しなかったような視点や位置からの画像を後から自動生成したり、撮り忘れや撮影に失敗した場合やシーン後から復元回復し、所望の角度や構図の画像を得るようなことが必要に応じて可能となる。
図1は、本発明に基づく電子カメラの一実施例として用いるデジタルカメラ1の電子回路の構成例を示すブロック図である。
デジタルカメラ1は、制御部10、撮像部11、画像データ処理部12、カメラ位置情報(撮影位置、撮影方向)および被写体位置を取得する位置取得部13、3次元形状データ生成部14、プログラム格納メモリ15、一次記憶メモリ16、画像表示部17、画像記録部18、無線LAN通信処理20、外部入出力部40、および操作部60を備えており、本発明に基づく3次元画像モード(機能)を含む静止画撮影モード、動画撮影モード等を備えている。
制御部10は、CPUから構成され、デジタルカメラ1全体の制御動作を司るものである。
撮像部11は、撮像素子に入射した被写体光像は撮像素子によって光電変換され撮像信号として出力する。
画像データ処理部12は、撮像部11から出力された撮像信号に対して画像補間処理及びγ補正処理を含むカラープロセス処理を行って画像データ(デジタル値の輝度信号Y及び色差信号Cb、Cr)を生成し、一次記憶メモリ16にバス90を介して転送する。
カメラ位置取得部13は、GPS受信測位装置や3次元加速度センサ、傾斜センサ、電子コンパス等、カメラの位置や角度、姿勢を検出するセンサ計測装置や、被写体とカメラ間の位置を計測する距離計測装置などからなり、受信したGPS情報から撮影位置(撮影時のカメラの現在位置(座標))および被写体とカメラとの距離を取得する。ここで、被写体の位置情報はカメラの現在位置と撮影方向および被写体とカメラとの距離に基づいて算出することができる。
3次元形状データ生成部14は、3次元画像モードにおいて、任意の異なった角度で撮影された各撮影画像から対象物領域を抽出し、抽出した対象物領域からそれぞれの画像における特徴点をそれぞれ検出し、検出した各画像間の特徴点の点対応を基に全身の3次元形状データを生成し、生成した3次元形状データを画像記録部18に転送し、記録媒体19に記録させる。
3次元形状データ生成部14による3次元形状データ生成は既存の技術で実現できる。
つまり、撮影画像から物体と背景を分離し、対象物のシルエット(輪郭)の抽出を行い、次に、カメラの位置情報と上記抽出した対象物の2次元輪郭情報に基づいて、3次元画像データ(3次元形状データ)を生成する。
カメラの位置情報と上記抽出した対象物の2次元輪郭情報に基づく3次元画像の生成方法は、非特許文献1に記載の技術を適用することができる。
カメラの位置情報と上記抽出した対象物の2次元輪郭情報に基づいて、3次元ボクセル空間へのボーティング(投票)処理により、3次元形状を再構成し、得られたボクセルデータから、ポリゴン(多角形)データへ変換し、三角ポリゴン表現形式やSSF形式など、3次元形状データとして出力する。
プログラム格納メモリ15は、3次元画像表示プログラム、画像処理プログラム、通信制御プログラム等の各種プログラムを格納し、処理段階に応じて呼び出され制御部10によって実行される。
一次記憶メモリ16はDRAM等のメモリで構成され、画像データ処理部12から取得する画像データを一時記憶するバッファメモリや、3次元形状データ生成部14による3次元データ生成時等のワークメモリや、画像撮影に基づく複数の画像撮影用のワークメモリ等、各種プログラムによるデータ処理に必要なワークメモリおよび、取得した撮影情報の一次記憶領域として用いられる。
画像表示部17は制御部10の制御下で画像データを表示する。
画像記録部18は、画像データの圧縮または伸張を行うデータ圧縮伸張部、DRAM等のバッファメモリから転送されるデータの記録媒体19への書き込みや記録媒体19からの読み出しを行うコントローラから構成されている。
記録媒体19は内蔵メモリあるいは着脱可能なメモリーカード等の書き換え可能な記録媒体からなり、画像記録部18によって書き込まれた撮影画像データやその撮影情報や、図4に示すように画像データと、撮影対象の位置、撮影位置、撮影方向、および撮影時刻等とを対応付けて記憶した画像保存用データや、生成された3次元画像データや、撮影情報等を保存記録する。
通信処理手段20は、無線LAN2(図2参照)とのデータの授受の制御および無線LAN2から無線データのデジタルデータへの復元処理、デジタルカメラ1から無線LAN2への送信データの作成処理を行う。無線LAN2からの受信データは一時記憶メモリ16の所定領域に記憶される。線LAN通信処理部20として無線LANモジュールを用いることもできる。
外部入出力部40は、USBケーブル等の接続手段や、赤外線通信やブルートゥース等の近距離通信との間でデータおよびプログラム等を入出力する際の入出力インターフェィス等からなる。
操作部60は、撮影モードの切り替えを行うためのダイヤルやシャッターキー等の各種キーと、それらのキーが操作されると操作されたキーの操作信号を生成して制御部10に送出するキー処理部等から構成されている。
図2は、無線LANと接続する複数のデジタルカメラ1の説明図であり、デジタルカメラ1−1、1−2、・・・、1−nは、図1に示したデジタルカメラ1と同様の機能を有する。
また、無線LAN2は、図示していないインターネット等の通信回線に接続し、インターネットに接続する外部装置、例えば、デジタルカメラ1―j(1≦j≦n)で生成した3次元画像データから模型作成用データを生成し、生成された模型作成用データを元に模型作成サービスを行うサーバ等、に接続することができる。
図2で、デジタルカメラ1−j(1≦j≦n)のユーザは、無線LAN2の通信可能範囲内において任意の角度で撮影したある被写体(建築物等の構造物や人物(図3の撮影会のモデル31参照)の複数枚分の異なる画像データから3次元画像データを生成し、メモリに保存する。また、3次元画像表示することもできる。
デジタルカメラ1−jは、デジタルカメラ1−jによって無線LAN2の通信可能範囲内において任意の角度で撮影した同じ被写体の画像データ(1または複数)を、デジタルカメラ1−1、1−2、・・・、1−nのうちの指定または登録されたカメラ若しくは全部に無線LAN2を介して送信することにより同じ被写体の撮影画像データを共有できる。
また、デジタルカメラ1−jは、デジタルカメラ1−jおよび/またはデジタルカメラ1−1、1−2、・・・、1−k・・によって無線LAN2の通信可能範囲内において任意の角度で撮影された同じ被写体の画像データを、無線LAN2を介して受信しメモリに保存しておき、撮影時以降の任意の時期に取り出して3次元画像データを生成し、メモリに保存する。また、3次元画像表示することもできる。
これにより、生成された3次元画像データに基づいて、どのカメラでも他のいずれかのカメラで撮影された画像データはもちろん、どのカメラでも撮影されなかった向きや視点からの画像に変換して再生表示することができる。
図3は、無線LANと接続する複数のデジタルカメラによる撮影会の概念図であり、図3Aは無線LAN2の通信可能範囲内に設けられた撮影会会場で、モデル31を複数台のデジタルカメラ1−1、1−2、・・・1−jで撮影している様子を示している。
モデル31は、複数のデジタルカメラ1−1、1−2、・・・1−jによって任意の角度で撮影され、図3Bに示すようなモデル31の撮影画像データは複数のデジタルカメラ1−1、1−2、・・・1−jのうちのユーザが指定したカメラ若しくは全部に前記無線LAN2を介して送信される。画像データを受信したデジタルカメラのユーザが、3次元画像モードを選択すると、図6のフローチャートに示すような動作で、図3Cのように対象物の3次元形状データを計算してモデル31の3次元画像データが生成され、メモリに保存される。さらに、ユーザが表示指示を行うと図3Dのようにモデル31の3次元画像が指定された任意視点からの画像が表示される。この場合、モデル31の画像は、どのカメラでも他のいずれかのカメラで撮影された画像データはもちろん、どのカメラでも撮影されなかった向きや視点からの画像に変換して再生表示することができる。
また、上記無線LAN2等の通信チャネルにおいて、撮影会など、その場所(GPS位置情報)と同じ時刻に近くにいるカメラ相互でのみ認証なしに画像データを共有できるような場所時刻限定の匿名共有チャネル、および、そのON(参加)/OFF設定機能をデジタルカメラ1に設けることができる。
図4は、3次元画像データ生成用の画像保存データの構成例を示す図である。
図2および図3に示したように、複数のデジタルカメラ1−1、1−2、・・・、1−nで撮影した複数の撮影画像データから3次元画像データを作成する際に、所定時間差以内のほぼ同じ日時時刻の画像データであってもユーザが、同じ被写体を撮影したとは限らないので、所定時間差以内のほぼ同じ日時時刻の画像データであって、かつ撮影対象の位置がほぼ同じある画像データを3次元画像データとして分類し、画像データ生成時に上記画像データを用いて3次元画像データを自動生成することが望ましい。
画像保存データ40は、上述した、所定時間差以内のほぼ同じ日時時刻の画像データであって、かつ撮影対象の位置がほぼ同じある画像データを3次元画像データとして分類し、メモリから迅速に取り出すことができるように構成したものであり、画像保存データ40は、図示のように、画像データ記録アドレスを示すアドレス情報からなるポインタ41で関連付けられる画像データごとに、撮影日時および時刻42、撮影対象の位置(座標)43、撮影位置44、撮影方向45等を対応付けて記録してなる。
画像保存データ40は、記録媒体19の所定領域に記録されているが、3次元画像データ作成時には一時記憶メモリ16の所定領域に記憶され、3次元画像データ生成部14によって参照される。これにより、3次元画像生成部14は記録媒体19に記録されている3次元画像作成用の画像データを撮影対象ごとに読出して3次元画像データを生成することができる。
図5は3次元画像モード選択時に表示されるスルー画像の例を示す図であり、ユーザがデジタルカメラ1に表示されるアプリケーション選択画面で「3次元画像モード」を選択すると、図示のように画像表示部17のモニタ50の所定の位置(図示の例では右側)に「撮影」、「受信」、「送信」、「生成」、「表示」を意味する指示用アイコン51〜55が表示される。アイコン51〜55は「3次元画像モード」が解除されるまで表示される。図示の例は「撮影」を選択した場合に表示されるスルー画像59と共に3次元画像モード下での動作選択用アイコン51〜55が表示されている例を示す。
ユーザが操作部60のカーソルキー等を操作してアイコンを選択すると、選択されたアイコンは実行中を示す明色(例えば、緑色)で表示される。「受信」アイコン52の選択は、無線LAN2を介して他のユーザから3次元画像データを受信することを意味し、「送信」アイコン53の選択は、無線LAN2を介して他のユーザに3次元画像データを送信することを意味し、「生成」アイコン54の選択は、3次元画像データを生成することを意味し、「表示」アイコン55の選択は、3次元画像を表示することを意味する。なお、他のユーザから着信があった場合は「受信」アイコン52は、例えば黄色表示され、明滅し、ユーザが「受信」アイコンを選択すると明色表示される。
図6は、図1に示したデジタルカメラ1による3次元画像データ生成時の動作例を示すフローチャートであり、デジタルカメラ1は制御プログラム、通信制御プログラム、画像処理プログラム、モード選択プログラム、および各種動作プログラムにより、選択されたモード動作(機能)を実行する。3次元画像モード時のデジタルカメラ1の動作は、制御プログラムの制御下で制御部10によってプログラム格納メモリ15から取り出され、一時記憶メモリ16の実行プログラム領域に記憶される3次元画像モード用の動作プログラムに基づいて図示のステップに対応した動作を実行する。
図6で、ユーザが、デジタルカメラ1の操作部60のキーを操作してモニタ50に表示される各種アプリケーションのうち「3次元画像モード」を選択すると、3次元画像モードに移行し、制御部10は、LAN通信処理部20を制御して、無線LAN2の通信チャネルにおいて、同じ時刻に無線LAN2の通信可能範囲内にいるカメラ相互でのみ認証なしに画像データを共有できるような場所・時刻限定の匿名共有チャネル、および、そのON(参加)/OFF(離脱)設定を行う(ステップS1)。
次に、制御部10は、モニタ50に図5に示したような動作選択用アイコン51〜55を表示してユーザの選択を待ち、アイコンの選択行われると選択されたアイコンを判定し、「撮影」アイコン51が選択されるとステップS2に進み、「受信」アイコン51が選択されるとステップS8に進み、「送信」アイコン53が選択されるとステップS10に進み、「作成」アイコン54が選択されるとステップS13に進み、「表示」アイコン54が選択されるとステップS16に進み、終了操作が行われると3次元画像モードを終了し、無線LAN2に関する場所・時刻限定の匿名共有チャネルから離脱する(ステップS2)。
「撮影」アイコン51が選択されると、制御部10は、撮像部11および画像処理部12を制御してスルー画像表示を行い、ユーザがシャッターキーの操作を行って撮影を行ったことを検知するとステップS4に移行する(ステップS3)。
撮影が行われると、制御部10は画像処理部12を制御して撮影処理を行わせると共に位置情報取得部13から撮影位置および撮影方向と被写体との距離を取得し、さらに撮影時刻を図示しない計時機構から取得して一時記憶メモリ16に記録する。また、撮影処理の結果である画像データを(圧縮処理を施してから)撮影情報と共に画像記録部18に転送して記録媒体19の画像データ記録領域に追加記録する(ステップS4)。
次に、ステップS4で一時記憶メモリ16に記録した撮影位置および撮影方向と被写体との距離から撮影対象(人物または建造物等の対象物)の位置を算出し、ステップS2で記録した画像データのアドレス、撮影時刻、撮影対象の位置、撮影位置、撮影時刻から図3に示したような画像保存用データ40を作成し、画像記録部18に転送して記録媒体19の画像保存用データ記録領域に追加記録する(ステップS5)。
撮影時に、他のユーザからデジタルカメラ1に無線LAN2を介して画像データが送られてくると、制御部10は「受信」アイコン52が点滅させ、ユーザに他のユーザから画像データが送信されたことをユーザに報知すると共に、ユーザが「受信」アイコン52を選択した否かを操作部60からの信号を調べて判定し、ユーザが「受信」アイコン52を選択した場合には「受信」アイコン52を明色表示してステップS8に進み(ステップS6)、ユーザが「受信」アイコン52を選択ない場合には撮影終了操作が行われたか否かを調べ、撮影終了操作が行われた場合はステップS2に戻り、撮影終了操作が行われていない場合はステップS3に戻る(ステップS7)。
「受信」アイコン51が選択されると、制御部10は、通信処理手段20を制御して無線LAN2を介して他のユーザから送信された画像データ、撮影情報、および画像保存用データの受信処理を行わせ(ステップS8)、受信した画像データや撮影情報を画像記録部18に転送して記録媒体19の画像データ記録領域に追加記録すると共に受信した画像保存用データを画像記録部18に転送して記録媒体19の画像保存用データ記録領域に追加記録し、ステップS2に戻る(ステップS9)。
「送信」アイコン51が選択されると、制御部10は、画像記録部18を制御して記録媒体19の画像保存用データ記録領域に記録してある画像保存用データを読み出して撮影対象の位置43および撮影日時・時刻42を調べ、撮影対象の位置および撮影時刻が所定値内の画像保存用データについて画像データのポインタ41を元に記録媒体19の画像データ記録領域に記録してある画像データを読出し(ステップS10)、読み出した画像保存用データおよび画像データを通信処理手段20に渡し、通信処理手段20を制御して無線データに変換して無線LAN2を介して共用チャンネルのユーザのデジタルカメラ宛送信する(ステップS11)。
制御部10は、ステップS9、S10の動作を撮影対象の位置および現在時刻が所定値内の全ての画像保存用データおよび画像データを送信し終わるまでステップS10、S11を繰り返し、送信し終わるとステップS2に戻る(ステップS12)。
「生成」アイコン51が選択されると、制御部10は、画像記録部18を制御して記録媒体19の画像保存用データ記録領域に記録してある画像保存用データを読み出し、撮影対象の位置43および撮影日時・時刻42を調べ、撮影対象の位置および現在時刻が所定値内の画像保存用データについて画像データのポインタ41を元に記録媒体19の画像データ記録領域に記録してある画像データを読出し(ステップS13)、読み出した画像保存用データおよび画像データを一時記憶メモリ16に記憶する動作を、撮影対象の位置および現在時刻が所定値内の全ての画像保存用データおよび画像データを一時記憶メモリ16に記憶するまで繰り返す(ステップS14)。
次に、制御部10は、3次元画像データ生成部14を制御して、一時記憶メモリ16に記録した画像保存用データから撮影位置44および撮影方位45とこれに対応付けられた画像データとを元に、3次元画像データを生成し、一時記憶メモリ16に記憶すると共に、画像記録部18に転送して記録媒体19の3次元画像データ記録領域に追加記録し、ステップS2に戻る(ステップS15)。
なお、3次元画像データ生成部14による3次元画像データの生成は、前述(図1の3次元画像データ生成部14の機能の説明参照)したように、カメラ位置は撮影時に取得されているので既知であるから、カメラ位置を既知として背景技術の項で述べた(2)、(3)の手順によることができる。
「表示」アイコン51が選択されると、制御部10は、プログラム格納メモリ15から3次元画像表示プログラムを取り出し、3次元画像表示プログラムに基づいて画像記録部18を制御し、記録媒体19の3次元画像データ記録領域から所望の3次元画像データを読出し、(伸張処理等を施してから)画像表示部17に転送して、3次元画像表示を行わせ、ユーザが再生終了操作を行うとステップS2に戻る。なお、ステップS14で3次元画像データを生成した直後に表示」アイコン51が選択された場合は一時記憶メモリ16に記憶されている3次元画像データを)画像表示部17に転送して、3次元画像表示を行わせ、ユーザが再生終了操作を行うとステップS2に戻る(ステップS16)。
(実施形態)
次に、3次元画像データ生成部14による3次元画像データの生成の実施形態について説明する。
3次元形状モデルの作成:
1)まず、同一の対象物や被写体が撮影された複数枚の画像データ、望ましくは、視点や向き、角度などが異なる複数枚の画像データを入力して、大きさや上下の向き、回転などを正規化した後、
2)複数枚の景観画像から、「Lucas-Kanade法(勾配法)」や、「Kanade-Lucas-Tomasiトラッカー」などにより、特徴点の移動や相違を追跡し、対応点を探索する。
3−A)各点の移動、距離の深さ、カメラ位置、エッジモーションなどを解析して、カメラの位置や動き情報を求めて、任意の多視点画像とカメラ情報から、3次元形状データを求める。
あるいは、参照マーカー等を一緒に写した画像を用いるなど、人工的特徴を付加することによって、カメラ運動情報を求めやすくできる。
または、比較的近距離の撮影の場合には、カメラ間の距離(基線長)が判明しているステレオカメラ画像などから、三角測量方式で、立体の位置座標や立体形状データを求めても良い。
3−B)「射影グリッド空間における視体積交差法」などを用いて、3次元ボクセル(立体画素)空間を多数の立体格子に分割し、異なる視点の各画像におけるシルエット画像を3次元ボクセル空間に逆投影して(すなわち、各ボクセルが各画像に投影される場合にそのシルエットに含まれるか否かを判断して)、顔および頭部の3次元データを生成する。
3−C)複数画像における対応点から、因子分解法(Kanade-Lucas法)などにより、(計測行列)=(移動行列)×(形状行列)における(移動行列)と(形状行列)とを同時に求め、(形状行列)から、被印刷物の立体表面形状の3次元モデルを生成する等、他の方法を用いても良い。
複数枚のカメラ画像からの3次元形状データの作成方法:
特に、複数枚の撮影画像から3次元形状データを生成する方法について、以下に詳しく説明する。
画素座標、カメラ座標、画像座標:
カメラを基準とした3次元空間座標である「カメラ(Camera)座標」と、2次元画像を表現する「画像(Image)座標」とを、カメラ座標系(X,Y,Z)の原点(0,0,0)を光軸上のカメラ中心とし、撮像画像面に平行なX軸、Y軸と光軸方向のZ軸との正規直交座標系として設定すると、カメラ座標が(X,Y,Z)Tである3次元空間の点と、その透視射影として得られる2次元画像の画像座標(x、y)Tには、次式が成り立つ。
x=l×X/Z、 y=l×Y/Z (ただし、l:カメラの焦点距離) ・・・(1)
ここで、透視射影による3次元空間の像を記述する「画像(Image)座標」と、モニター表示画面などの「画素(Pixel)座標」の間には、個々のカメラに固有の1対1の写像関係がある。
複数の画像における点対応からカメラ運動と相対的位置関係(3次元形状)とを復元する場合には、点対応は、まず「画像(Image)座標」で与えられるので、全てのカメラに対して統一的に扱うためには、この「画素(Pixel)座標」と「画像(Image)座標」間の1対1の写像関係を求めること(カメラキャリブレーション)ができれば、「画素(Pixel)座標」と「画像(Image)座標」とを自由に変換できることになる。
カメラモデルを表現する透視射影において、複数の画像における点対応からカメラ運動と3次元形状とを求める問題は、非線形写像の逆問題となるので、非線形最適化問題に帰着し、非線形最適化問題はノイズに敏感で、初期値依存性が高く、数値計算が不安定であるなど、問題があるため、安定して3次元形状を復元することは難しい。そこで、
1)前記非特許文献1にあるように、カメラの位置や姿勢、視点方向などに関する外部情報、すなわち、カメラ運動情報を入力するか、参照マーカーを一緒に写した画像を用いるなど、人工的特徴を付加することによって、カメラ運動情報を求めやすくできる。
2)または、特開2004−220312号公報に記載されているように、複数の多視点カメラ(または多視点画像)の中から、なるべく直交する関係の2台のカメラ(または画像)を基底カメラとして選択して、基底カメラによる射影グリッド空間を用いて、複数のカメラ間または視点間の相互関係情報を付加するか、または制限して、例えば、カメラ間のエピポーラ幾何関係を表す基底行列F(Fundamental)行列等を用いて、射影グリッド空間上の点(ボクセル)を各カメラ画像へ逆投影し、各カメラ画像のシルエット画像において、各点(ボクセル)が対象物の内部に存在するか外部かを判定して、3次元形状データを復元することができる。
3)または、「金出武雄ほか、「因子分解法による物体形状とカメラ運動の復元」、電子通信学会論文誌、J76−D−II、No.8(19930825)、pp.1497−1505、1993年」にあるように、Tomasi and Kanadeによる「因子分解法」などにより、理想的カメラモデルである透視射影をアフィン射影で近似して、正射影モデル等のアフィン近似射影に基づいた複数の2次元画像からカメラ運動情報と3次元形状情報とを同時に復元する手法などを用いることができる。
2次元画像がアフィン近似射影で得られると仮定すると、複数のアフィン近似射影画像における点対応からのカメラ運動と3次元形状の復元問題は、線形写像の逆問題となるので、復元の精度は劣るが、非線形写像の場合に比べて、数値計算を安定して解くことができるようになる。
複数の画像間における点の対応付け:
まず、複数の画像間における点特徴(輝度や色、輪郭形状、テクスチャーなど)の対応付けを行なう。
3次元空間では遠く離れた点も、2次元画像では近くに投影されることがある。2次元画像におけるわずかな誤差が3次元空間での認識や理解に重大な影響を及ぼすので、複数の画像間における点の対応を精度良く行なう必要がある。
複数の画像間における特徴点の対応付けには、「Lucas-Kanade法(勾配法)」(1981年)や、「Kanade-Lucas-Tomasiトラッカー」(Shi and Tomasi、1994年)などの手法を用いることができる。時間的に離れた画像を事前知識無しに対応付けるのは難しいが、複数の点で対応が既知であれば、同一の3次元空間を撮影した多視点の複数画像間の幾何的な関係(エピポーラ幾何学)を用いて、他の対応点の存在可能な領域を絞りこむことができる。
例えば、複数のフレーム画像間における対応や追跡には、一般に、見え方(局所画像)、または、エッジ(輪郭)、色ヒストグラムなどの画像特徴の類似(相関)や相違に基づいて、隣接する他フレーム画像との間で、最も類似する領域を探索し、探索された点へ対象物が移動したと判定する方法(ブロックマッチング)が良く用いられる。
つまり、座標x=(x,y)における画素値I(x)毎に、移動量(変位)d=(dx,dy)を逐次変えながら、次式であらわされるような
・差分二乗和(二乗誤差) ε(d)=Σ{It(x+d)−It−1(x)}2 ・・・(2)
・もしくは、差分絶対値和 ε(d)=Σ|It(x−d)−It−1(x)|
・もしくは、相互相関 γ(d)=Σ{It(x−d)−I ̄t }{It−1(x)−I ̄t−1}/|It(x−d)−I ̄t||It−1(x)−I ̄t−1|
などを計算し、その中から、
相違度最小 d=min{ε(d)}、または、類似度(相関)最大 d=max{γ(d)}…(3)
となる変位dを求めれば良い。しかし、これを全探索すると、計算量が多くなったり、変位量が離散的で連続しなかったりするなどの難点がある。局所画像を回転や拡大縮小してマッチングする場合には、さらに膨大な計算が必要になる。
このとき、「Lucas-Kanade法(勾配法)」では、暫定解の周りの勾配(傾き)にもとづいて、山登り(または山降り)することにより、極大値(または極小値)を効率よく求めることができる。
すなわち、差分二乗和(二乗誤差、SSD)の勾配を、
ε=Σ{I(x+δx,y+δy,t+δt)−I(x,y,t)}2 ・・・(4)
とすると、この第1項のテーラー展開は、
I(x+δx,y+δy,t+δt)
=I(x,y,t)+δx{∂I(x,y,t)/δx}+δy{∂I(x,y,t)/δy}+δt{∂I(x,y,t)/δt}+・・・
このとき、2次以降の項を、変位が微小であるとして無視できる(x周辺で線形近似できる)とすると、
δx=dx、δy=dy、δt=1として、
ε=Σ{dxIx(x,y,t)+dyIy(x,y,t)+It(x,y,t)}2 …(5)
ただし、上式で、Ix(x,y,t)=∂I(x,y,t)/δx、 Iy(x,y,t)=∂I(x,y,t)/δy、 It(x,y,t)=∂I(x,y,t)/δt
相違度最小の変位 d=minεは、∂ε/∂dx=0、∂ε/∂dy=0となるdを求めれば良いので、
∂ε/∂dx=Σ2Ix(x,y,t){dxIx(x,y,t)+dyIy(x,y,t)+It(x,y,t)}=0、
∂ε/∂dy=Σ2Iy(x,y,t){dxIx(x,y,t)+dyIy(x,y,t)+It(x,y,t)}=0 ・・・(6)
ここで、

Figure 0005093053
・・・(7)

とおくと、ATAd−ATb=0から、ATAd=ATb

Figure 0005093053
・・・(8)

となるので、ATAが正則なとき、dは解を持ち、
d=minε=(ATA)−1 ATb ・・・(9)
となり、全探索しなくても、相違度最小となる変位量を求めることができる。特徴点検出と上記のような追跡法とを統合した手法は、「Kanade-Lucas-Tomasi(KLT)トラッカー」と呼ばれている。
次に、対象物の3次元形状データを生成する。
3次元形状データの生成(1) -- カメラ位置情報や参照マーカーを用いる方法:
例えば、全周囲360度からの多視点角度から、または、周囲に配した複数台のカメラから撮影した画像データを入力して、対象物の3次元形状データを作成する場合には、予めカメラを所定の位置や角度に配して撮影し、カメラ位置情報が既知のカメラで撮影された複数枚の多視点画像を用いる。
また、得られたカメラ位置情報と物体画像とから、形状とテクスチャーの3次元情報を自動計算し、デジタルカメラで撮影した画像から、3次元データを生成する。対象物が撮影された視点の異なる10〜20枚程度の撮影画像データを入力して、カメラ位置の計算、形状情報の生成など、一連の処理を実行して、3次元形状データを作成することができる。すなわち、
カメラ位置の計算では、例えば、座標系におけるカメラの3次元位置パラメータ(回転成分α,β,γと平行移動成分(x,y,z)を、Hough変換(注1)などに基づいて計算する。つまり、撮影された画像から、参照マーカーを抽出し、抽出された参照マーカーの任意の3点と、あらかじめ登録されている参照マーカー中の任意の3点の位置関係を組み合わせて決定される連立方程式を解くことにより、位置パラメータを計算する。
(注1)Hough変換(ハフ変換、ヒュー変換):
エッジ画像から直線を求める問題等において多く用いられる方法で、エッジ画像中の各々の点(x,y)について、それがある直線上にある点と仮定した場合に可能性のある全ての直線を、極座標ρ=x cosθ+y sinθによるパラメータ空間(ρ,θ)へ曲線として投票し、最終的にパラメータ空間においてピークとなる(ρ,θ)が、求める直線のパラメータとして得られる。
形状情報の生成では、背景の色情報を用いて物体と背景を分離し、対象物のシルエット(輪郭)の抽出を行なう。
次に、カメラの位置情報と対象物の2次元輪郭情報に基づいて、3次元ボクセル空間へのボーティング(投票)処理により、3次元形状を再構成し、得られたボクセルデータから、ポリゴン(多角形)データ等へ変換し、三角ポリゴン表現形式やSSF形式、もしくは、VRMLやXVL、IGES、STL、PLYなどの各種3次元形状データとして出力する。
一般の撮影会や人物モデルの撮影などでは、対象物を載せる回転台や参照マーカー等は用いにくいので、カメラに内蔵して設けた3軸加速度センサ、傾斜計センサ等により計測された位置や角度、姿勢情報や、別のマーキング方法や人工的特徴を用いて、カメラの位置情報を求めてもよい。
3次元形状データの生成(2) -- ステレオカメラや三角測量式を用いる:
比較的近距離の撮影では、2台のカメラを所定寸法(基線長d)だけ離して配したステレオカメラで撮影された2枚の画像データから、もしくは、1台のカメラでも、所定寸法(d)だけ視点を変えて撮影された2枚の画像データから、三角測量方式で、対象物の3次元形状データを求めてもよい。
すなわち、基線をx軸、カメラの光軸方向をz軸とすると、点Pの座標(x、y、z)の観測値として、各カメラ1、2における基線と点Pの方向との角度α1、α2が得られたとき、点PのX−Y面に対する傾斜角(仰角)をθ、既知の基線長をdとすると、点Pの座標(x、y、z)は、次式より求められる。
x=d・(tanα1−tanα2)/2(tanα1+tanα2)、
y=d・(tanα1・tanα2・sinθ)/(tanα1+tanα2)、
z=d・(tanα1・tanα2・sinθ)/(tanα1+tanα2)、 ・・・(10)
3次元形状データの生成(3) -- 視体積交差法:
あるいは、複数の多視点から撮影された画像データに対して、「視体積交差法」を用いても、3次元形状モデルの生成を行なうことができる。
視体積とは、視点を頂点とし、対象物のシルエットを断面とする錐体のことで、「視体積交差法」は、全ての視点における対象物の視体積の共通部分を求めることにより、対象物の形状を復元する手法である。
視体積交差法では、実空間内に設置した複数台(または複数の位置)のカメラで撮影した画像から、物体のシルエットを抽出し、空間に逆投影し、シルエットの交わりを計算することによって、対象物の3次元形状モデルを求めることができる。
複数の多視点画像から3次元モデルを生成する手順は、次の通りである。
1)形状を構成する3次元空間(ボクセル空間)を立方体格子に分割する。
2)各画像のシルエット(輪郭)画像を入力し、各ボクセルに対して、正射影による逆投影を行い、各ボクセル上に当該画像のシルエットが存在するか、しないかを判定する。
3)最終的に存在するボクセル集合を、3次元形状とみなす。
4)3次元形状の内部にあるボクセルを削除する。
3次元形状データの生成(4) -- 因子分解法:
一般の撮影会などで、複数のカメラで同じモデルや被写体を撮影するような場合には、上記のような参照マーカーやカメラ位置のキャリブレーション処理を用いにくい。このように、カメラ位置情報が不明な場合でも、複数の多視点カメラ画像や連続動画像などから3次元形状データを生成する方法として、因子分解法がある。
一般に、カメラ位置や視点方向の制限も設けずに、対象物周囲の任意視点からの複数枚の2次元画像から、対象物の3次元形状を求めるには、膨大な計算処理が必要で、解も不安定になる。
「因子分解法(Factorization)」(Tomasi and Kanade(金出武雄)、1992年)では、実際のカメラモデルである透視射影をアフィン射影で近似することにより、問題を簡略化し、数値計算を高速かつ解を安定化させることができる。また、複数のアフィン近似射影画像から、カメラ運動と対象物体の立体形状とを同時に復元できる方法として知られている。
すでに、上記の[複数の画像間における点の対応付け]のステップにより、複数の画像における点特徴の対応付けが求められ、画像座標として与えられているとする。
アフィン近似射影においては、カメラ撮影による写像は、3次元空間の対象物から、2次元画像へのカメラの位置と方向によって決まるアフィン射影となる。
画像がM枚、特徴点がN個与えられるとき、N個の3次元座標のM個のアフィン射影によるMN個の画像座標が得られるとすると、因子分解法では、このMN個の条件を行列の形に並べて、複数の2次元画像からの3次元形状復元問題を単純な形で表現することができる。すなわち、
(計測行列)=(運動行列)×(形状行列) ・・・(11)
ここで、計測行列はMN個の画像座標を並べた(2M×N)行列、運動行列はM個のアフィン射影の表現行列を並べた(2M×3)行列、形状行列はN個の特徴点の3次元座標を並べた(3×N)行列である。
つまり、複数の2次元画像からの3次元形状を復元するには、計測行列を因子分解できればよい。
このように、透視射影によって得られた計測行列の成分からアフィン近似射影により投影されたとき得られる計測行列を推定できれば、後は、因子分解法のアルゴリズムにしたがって、計測行列を運動行列と形状行列の積に分解するだけで、カメラの運動情報と物体の3次元形状とを復元することができる。
ただし、画像座標が正規直交基底による表現であるため、正しい復元解を得るには、画像座標の基底が正規直交基底となるように分解する必要がある。
アフィンカメラ・モデル:
対象の3次元物体のN個の特徴点{Pα}を、M枚の画像に渡って追跡撮像し、第κ(カッパ)画像におけるα(アルファ)番目の特徴点Pαの画像座標を(xκα,yκα) (κ=1, ・・・, M、α=1, ・・・, N)とする。
そして、その運動履歴を次の2M次元ベクトル(軌跡ベクトル)で表す。
Pα=(x1α y1α x2α y2α ・・・・xMα yMα) ・・・(12)
これによって各特徴点の軌跡を2M次元空間の1点と同一視できる。便宜上、画像番号κを「時刻κ」と呼ぶ。
カメラの光軸をZ軸とするカメラXYZ座標系をとり、これに相対的にシーン(被写体)が運動すると解釈する。または、静止したシーン(被写体)に対してカメラが相対的に運動すると考えても同等である。
シーン中に3次元座標系を任意に固定し、特徴点Pαのそのシーン座標系に関する3次元座標を(aα,bα,cα)とする。時刻κでのシーン座標系の原点と各座標軸の基底ベクトルをカメラ座標系で表したものをそれぞれ、tκ、{iκ,jκ,kκ}とすると、特徴点Pαの時刻κにおける3次元位置rκαは、カメラ座標系では次式となる。
rκα=tκ+aαiκ+bαjκ+cαkκ ・・・(13)
平行投影または弱透視投影や疑似透視投影を抽象化(モデル化)したアフィンカメラは、3次元の点が次のように画像上に投影されると仮定する。
(xκα,yκα)T=Pκαrκα+qκ ・・・(14)
ここにPκα,qκはそれぞれ時刻κでのカメラの位置や内部パラメータによって定まる(2×3)行列および2次元ベクトルである。式(13)を代入すると、式(14)は次のように書ける。
(xκα,yκα)T=m’0κ+aαm’1κ+bαm’2κ+cαm’3κ ・・・(15)
m’0κ、m’1κ、m’2κ、m’3κは時刻κでのカメラの位置や内部パラメータで決まる2次元ベクトルである。これを時刻κ=1,・・・,Mにわたって縦に並べると、前述式(12)の軌跡ベクトルPαは次のように書ける。
Pα=m0 +aαm1 +bαm2 +cαm3 ・・・(16)
ここで、mi(i=0,・・・,3)は、m’iκを時刻κ=1,・・・,Mに渡って縦に並べた2M次元ベクトルである。
上式は、すべての軌跡ベクトルPαが2M次元空間中でm0を通り、{m1, m2, m3}の張る「3次元アフィン空間」に含まれることを表している。これを「アフィン空間拘束条件」と呼ぶ。
3次元形状モデルの復元処理の流れ:
因子分解法により、観測データ{Pα}から3次元復元する計算は、次の4ステップから成る。
(1)軌跡ベクトル{Pα}に、3次元アフィン空間を最小二乗法などにより当てはめる。
(2)当てはめた3次元アフィン空間から、ベクトルm0, m1, m2, m3を計算する。カメラモデルに依存する計量条件を用いる。
(3)得られたm0, m1, m2, m3から各時刻κのシーン座標系の位置tκと向き(iκ,jκ,kκ)を計算する。これは、各時刻κにおけるカメラの位置と向きに相当する。
ここで、(iκ,jκ,kκ)が正規直交系であることから、これらを並べた行列R={iκ,jκ,kκ}が回転行列であるという非拘束条件を用いる。このような回転の最適当てはめ問題は、いわゆる特異解分解により解決できる。
(4)各特徴点の3次元座標(aα, bα, cα)を計算し、式(13)より、立体形状の3次元位置rκαを計算する。ここでは、
J=Σα||Pα-m0 -aαm1 -bαm2 -cαm3||2 ・・・(17)
を最小にすればよい。これは、(aα, bα, cα)の2次式であるから、線型方程式を解いて解が求まる。
このようにして、複数枚の撮影画像の計測行列データ(2M次元の軌跡ベクトル{Pα}(α=1〜N))から、カメラの運動情報を含む運動行列データ(特徴点の重心の並進ベクトル{tκ}と回転行列{Rκ}(κ=1〜M))と、物体の3次元形状情報を含む形状行列データ(各特徴点の3次元位置{rα}(α=1〜N))とを、同時に復元することができる。
因子分解法による3次元復元の実際の計算アルゴリズムについては、(藤木 淳(産総研)、「点対応を用いた複数の2次元画像からの3次元形状復元 −因子分解法の数理−」、統計数理、第49巻第1号、pp77〜107、2001年。)、(金谷 健一、菅谷 保之(岡山大学工学部)、「因子分解法の完全レシピ」、電子情報通信学会技術報告、PRMU2003-118、NC2003-49、2003年10月。)などに詳しい解説がある。
異なる視点からの2次元画像の生成:
複数の画像から生成された被写体の3次元形状モデルデータから、異なる視点の2次元画像を生成するには、以下のように、対象物の3次元形状モデルと設定された所定の視点から見た透視図を、透視変換や座標変換などの行列演算によって計算して求め、それを3次元のCG(コンピュータ・グラフィックス)分野で用いられるレンダリング(描画)処理などによって、2次元画像として描画することにより、作成することができる。
3次元データの座標変換:
一般に、3次元空間における回転操作や縮小、拡大、平行移動、透視変換などの座標変換処理を、繰り返し処理するには、マトリクス(行列)演算で行なうのが適している。
3次元データに変換行列{T}により座標変換した後の座標(x’,y’,z’)は、射影問題を解くときに都合が良いように、空間を表す三要素のベクトルに一要素を加えた同次座標形式を用いると、次式で表わすことができる。
同次座標では、 [X Y Z H]=[x y z 1]・T
通常座標では、 [x’ y’ z’ 1]=[X/H Y/H Z/H 1]・・・(18)
このとき、変換行列{T}の一般形は、次式で表される。

Figure 0005093053

変換行列{T}の小行列である左上(3×3)正方マトリクス(要素:a〜j)は、スケーリング(拡大、縮小)、回転、および、線断などの変換を、(1×3)の行マトリクス(要素:l,m,n)は平行移動を、(3×1)の列マトリクス(要素:p,q,r)は透視変換を、(1×1)の要素(s)は全体スケーリング(拡大、縮小)変換を行なう。
投影、透視変換:
3次元形状を平面に投影する場合には、
1)例えば、平行投影(直交投影、正射影、parallel projection)の場合には、空間内にあるベクトルを考え、それに平行に物体上の一点を画像平面上の一点へ投影する。(x−y平面に平行な)z=nの面を投影面とすると、変換行列は次式となる。

Figure 0005093053

2)一方、透視変換(遠近投影、(perspective projection))の場合には、投影面がx−y平面で、投影中心(視点)がz軸上(原点から距離R)にある場合、対象物の点P(x,y,z)が投影面に投影されたときの点をP'(x',y',z')とすると、略ピンホールカメラと同様に、
x’=x{R/(R−z)}、 y’=y{R/(R−z)} ・・・(21)
これを同次座標で表わすと、次式となる。

Figure 0005093053

上式から、H=1−(z/R)=(R−z)/Rが得られるから、各要素をHで割って正規化すると、透視変換後の同次座標は、次式となり、近いものの方が大きく投影されて遠近感が得られる透視図が作図できる。

Figure 0005093053
・・・(23)
レンダリング処理:(図3の3次元モデルデータの構成例参照)
(1)(3次元モデルのデータ構造):
3次元CGでは、一般に、コンピュータ内部に数値化されたデータとして、ワイヤーフレームモデルやソリッドモデル、サーフェスモデルなどによる3次元モデルを作り、3次元の形状や空間、環境を定義する。
a)ワイヤーフレームモデルでは、3次元形状を線分やフレームで表し、それぞれの線分の両端の頂点をX,Y,Zの3次元座標系で表現することによって数値化する方法であり、物体の形状は、各頂点と稜線とを番号付け、各頂点の座標を記憶する頂点テーブルと、稜線の2端点の頂点番号を記憶する稜線(辺)テーブルとで定義される。
b)ソリッドモデルでは、3次元形状の物体を中身の詰まった多面体の立体として表現され、形状データは、頂点座標と各面を構成する頂点番号(面テーブル)で定義される。
c)また、サーフェスモデルは、3次元形状をその表面を構成する面の状態で表したもので、最近では、ポリゴンなど細かい多角形平面に分割し、その平面を構成する頂点の座標値によって形状を表現する多面体(ポリゴン)表示がよく用いられる。すなわち、形状データは、頂点座標(頂点テーブル)と面を構成する頂点番号の順で定義される面テーブルで表される。各面において、頂点をたどる向きは、当該面 F I の法線 N I 周りの右ネジ法則(右ネジが進むときの回転方向)などで表記すればよい。
(2)次に、レンダリング処理を行なうには、その物体をある位置から見たときにどのように見えるかを考え、その見え方に従った画像を作成する(描画、レンダリング)が、視点の位置や照明条件などを与える必要がある。まず、3次元の物体を2次元のスクリーンに映し込む投影処理、および、座標変換処理を行なう。(前述したように、)投影には、平行投影と透視投影等がある。
座標変換では、ローカル座標系で指定した形状をワールド座標系に配置し、視点位置、視軸方向などによる視点座標系をワールド座標系で決める。次に、ワールド座標系の位置を視軸上にあるuvn座標系(=視野窓(view window)を定義するための座標系)の位置に変換する(視野変換、ビューイング変換)。
(3)画面に現れる部分を決定し、視野に入らない範囲を除くクリッピング処理を行なう。
(4)次に、(必要に応じて、)物体の稜線や隠面などの見える部分と裏に隠れて見えない部分を判定して、隠線消去処理、隠面消去処理を行なう。
(5)次に、(必要に応じて、)光の当たり具合や反射、透過の様子を計算して、設定されたライティング条件に基づいて、シェーディング処理(物体の表面の明暗や陰付け)やシャドウイング処理(地面の陰の描画など)を施す。
(6)さらに、(必要に応じて、)表面に、(元の2次元画像から抽出された該当領域の)模様や凹凸、あるいは、まわりの景色などを貼りつけるマッピング処理を行なってより現実感を出す。
(7)また、デジタル処理による境界線のギザギザなどを滑らかにするアンチ・エリアシング処理などを行い、レンダリング画像を完成して出力する。
隠線消去、隠面消去:
なお、上記の隠線消去処理では、面の可視性について考えると、面の法線ベクトルと視線の角が鋭角である面は見え、それが鈍角のものは見えないので、それを用いて隠線消去を行なう。隠面消去処理では、視点の位置から考えて、どの面のどの部分が見え、どの部分が見えないかを判断する。判別法には、奥行きソート法(Zソート法)や、図に示したZバッファ法、スキャンライン法、レイトレーシング法などがある。
1)奥行きソート法(Zソート法)では、ディスプレイの塗りつぶし表示処理の特徴を活かし、視点から遠い順に面を重ねながら次々と描くことによって見えるべき面が最終的に残るという簡潔な手法である。
2)Zバッファ法では、視点から物体の間までの距離の値を全ての画素(ピクセル)について一つずつ格納できるような大きなバッファメモリ領域を用意しておき、これを利用して画素毎に、その位置に見える物体の中で、視点に最も近いものを選択する。表示しようとする面のZ値(視点からの奥行き)を各画素毎とにバッファに蓄える。各々の面を透視投影面に投影し、その面が占める画素の位置に、その面のZ値を格納する。すでに格納されている面があれば、そのZ値と比較し、小さい方の面の情報を記憶する。
3)スキャンライン法では、走査線をスクリーンの上から下へ走査しながら、走査線と視点を含む平面(走査面、スキャンライン平面)を作り、水平の走査面によって物体をスライスし、その交線を抽出し、その奥行きの前後関係からその可視部分を表示する。
4)レイトレーシング法では、画素毎に、その方向から目に入ってくる光を、その元(光源方向)にさかのぼって追求していき、視線と交差する面のうち最も手前の面を表示する。
本実施形態では、撮影会などで、同じ被写体やモデルを、複数の人やカメラで撮影し、各カメラに内蔵または接続された無線LANなどにより、複数のカメラにより、同じ被写体を向きや視点の異なる位置から撮影された複数枚の画像データを互いに送受信して、他のカメラで撮影された画像データも、自分のカメラで撮影された画像データと同様に保存記録できるようにするとともに、自他のカメラで撮影された、または、受信された、同じ被写体の異なる視点位置からの複数枚の画像データから、同じ被写体の3次元形状モデルや3次元画像データを生成し、3次元形状モデルに基づいて、どのカメラでも撮影されていなかったような任意の向きや視点からの画像データを変換生成して、再生表示したり、それを撮影された画像データと同様に保存記録したりすることができる。
また、生成された3次元形状モデルデータや生成された視点の異なる画像データも、無線LANなどを介して他の各カメラに送受信して、互いに共有できるようにしてもよい。
多視点画像の保存記録:
図7に、メモリーカードなどに、EXIF形式JPEG画像データ・ファイル700として、撮影日時情報701、撮影位置情報702、視点情報703などを関連付けて保存記録する例を示す。EXIF形式自体は公知であるので詳述はしない。
また、図8に、自他のカメラで同一被写体を撮影した複数枚の多視点画像データ801,802,803,・・・80nを、EXIF拡張形式やMP(マルチピクチャー)形式の画像ファイルに副画像として、1つの画像ファイル800内に一緒に保存記録する例を示す。
あるいは、複数枚の画像から生成された3次元形状モデルデータに基づいて、生成された視点の異なる複数枚の画像データを、同様に、副画像として、1つの画像ファイル内に一緒に保存記録するようにしてもよい。
以上、実施形態としていくつかの手法を説明したように、画像データおよび撮影方向および撮影位置に基づいて3次元画像データを生成することができる。
(実施形態の効果)
1)撮影会や同じイベントなどに参加しているカメラマン同士で、他のカメラが撮影した画像データをその場で共有できるだけでなく、複数カメラからの同一被写体の同時刻の複数枚の画像データから、被写体の3次元データを生成することにより、どのカメラも撮影しなかったような視点や位置からの画像も、後から自動生成することができるので、撮り忘れや撮影失敗した場合やシーンでも、後から復元回復するように、所望の角度や構図の画像データを得ることができる。
2)また、任意の複数台のカメラと無線LANによって、撮影データを共有する場合にも、(GPS位置情報による)略同じ場所で近くにいるカメラ相互間で、かつ、(撮影時刻が)所定時間差以内の略同じ時刻の画像データだけを共有するようにして、同じ撮影会や同じ被写体と思われる場合のみ、3次元画像データを自動生成するようにしたので、異なる被写体の画像から3次元形状データを作成したり、また、不要な画像を無線受信してメモリが一杯になったり、その他の記録画像を他のカメラに自動的に送信してしまって、プライバシーや秘匿性などを損なったりすることを回避することができる。
本発明の電子カメラの電子回路の構成例を示すブロック図である。 無線LANと接続する複数のデジタルカメラの説明図である。 無線LANと接続する複数のデジタルカメラによる撮影会の説明図である。 3次元画像データ生成用の画像保存データの構成例を示す図である。 3次元画像モード選択時に表示されるスルー画像の例を示す図である。 図1に示したデジタルカメラによる3次元画像データ生成時の動作例を示すフローチャートである。 メモリーカードなどに、EXIF形式JPEG画像データ・ファイルとて、撮影日時情報、撮影位置情報、視点情報などを関連付けて保存記録する例を示す図である。 EXIF拡張形式やMP(マルチピクチャー)形式の画像ファイルに副画像として、1つの画像ファイル内に一緒に保存記録する例を示す図である。
符号の説明
1、1−1、1−2、・・・、1−j、・・・、1−n デジタルカメラ(電子カメラ)
2 無線LAN
10 制御部
11 撮像部
12 画像データ処理部
13 位置取得部
14 3次元形状データ生成部
15 プログラム格納メモリ
16 一次記憶メモリ
17 画像表示部
18 画像記録部
19 無線LAN通信処理
31 モデル(撮影対象)
60 操作部

Claims (12)

  1. 被写体を撮像して画像データを取得する撮像手段と、
    無線通信を介して他の電子カメラから画像データを取得する通信処理手段と、
    前記撮像手段により取得された画像データまたは前記通信処理手段により取得された画像データの中で、撮影対象の位置および撮影日時が所定値以内の画像データを複数選択する選択手段と、
    前記選択手段により選択された複数の画像データを用いて3次元画像データを生成する3次元画像データ生成手段と、
    を備えたことを特徴とする電子カメラ。
  2. 前記撮像手段により取得された画像データまたは前記通信処理手段により取得された画像データの撮影位置、撮影方向、および被写体との距離を取得する取得手段と、
    前記取得手段により取得された画像データの撮影位置、撮影方向、および被写体との距離から撮影対象の位置を特定する特定手段を更に備え、
    前記選択手段は、前記特定手段により特定される撮影対象の位置が所定値以内の画像データを複数選択することを特徴とする請求項1に記載の電子カメラ。
  3. 前記3次元画像データ生成手段は、前記選択手段により選択された複数の画像データおよび各画像データの撮影位置と撮影方向とに基づいて3次元画像データを生成することを特徴とする請求項2に記載の電子カメラ。
  4. 前記取得手段は、前記無線通信を介して他の電子カメラから画像データとともに送信されてくる当該画像データの撮影日時、撮影位置、撮影方向、および撮影対象の位置を取得することを特徴とする請求項3に記載の電子カメラ。
  5. 前記取得手段は、前記撮像手段による撮影時に、撮影日時、撮影位置、撮影方向、および被写体との距離を取得することを特徴とする請求項4に記載の電子カメラ。
  6. 前記3次元画像データ生成手段は、前記選択手段により選択された複数の画像データおよび各画像データの撮影位置と撮影方向とに基づいて、撮影対象物の3次元形状データを生成することを特徴とする請求項1乃至5のいずれかに記載の電子カメラ。
  7. 前記3次元画像データ生成手段は、前記生成された撮影対象物の3次元形状データに基づいて、任意の視点位置から見た撮影対象物の画像データを生成することを特徴とする請求項6に記載の電子カメラ。
  8. 撮像手段、表示手段、保存メモリおよび撮影日時記録手段を備える電子カメラであって、
    無線通信を介してデータの送受信を行う通信処理手段と、
    撮影時に当該電子カメラの位置、被写体の位置および被写体に対する撮影方向と撮影位置を取得する位置取得手段と、
    前記撮像手段による撮影画像の画像データおよび前記通信処理手段により前記無線通信を介して他の電子カメラから取得した画像データと、前記撮影日時記録手段により得られた撮影日時と、前記位置取得手段により取得された撮影方向および撮影位置とを対応付けて前記保存メモリに記録する画像記録手段と、
    前記保存メモリに記録された画像データおよび撮影方向および撮影位置に基づいて3次元画像データを生成する3次元画像データ生成手段と、
    制御手段と、を備え、
    前記制御手段は、前記3次元画像データ生成手段が、前記保存メモリに記録されている被写体の位置および撮影日時がそれぞれ所定値以内の画像データおよび撮影方向および撮影位置から3次元画像データを生成するよう制御することを特徴とする電子カメラ。
  9. 前記制御手段は、前記無線通信を介しての他の電子カメラからの画像データの受信、および無線通信を介しての他の電子カメラへの画像データの送信を開始する際に、前記通信処理手段を制御して、前記無線通信の通信チャネルにおいて、同じ時刻に該無線通信の通信可能範囲内にいる電子カメラ相互でのみ認証なしに画像データを共有できる位置・日時限定の匿名共有チャネル、および、その参加/離脱設定を行うことを特徴とする請求項8に記載の電子カメラ。
  10. 前記制御手段は、前記通信処理手段を制御して、前記保存メモリに記録されている画像データ、撮影日時、被写体の位置、撮影方向および撮影位置を前記無線通信を介して他の電子カメラに送信することを特徴とする請求項8または9に記載の電子カメラ。
  11. EXIF形式JPEG画像データ・ファイルとて、前記撮影日時、撮影位置、被写体の位置を関連付けて保存記録することを特徴とする請求項8乃至10のいずれかに記載の電子カメラ。
  12. 自他の電子カメラで同一被写体を撮影した複数枚の多視点画像データを、EXIF拡張形式であるMP(マルチピクチャー)形式の画像ファイルに副画像として、1つの画像ファイル内に一緒に保存記録することを特徴とする請求項8乃至11のいずれかに記載の電子カメラ。
JP2008280665A 2008-10-31 2008-10-31 電子カメラ Expired - Fee Related JP5093053B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008280665A JP5093053B2 (ja) 2008-10-31 2008-10-31 電子カメラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008280665A JP5093053B2 (ja) 2008-10-31 2008-10-31 電子カメラ

Publications (3)

Publication Number Publication Date
JP2010109783A JP2010109783A (ja) 2010-05-13
JP2010109783A5 JP2010109783A5 (ja) 2011-11-17
JP5093053B2 true JP5093053B2 (ja) 2012-12-05

Family

ID=42298762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008280665A Expired - Fee Related JP5093053B2 (ja) 2008-10-31 2008-10-31 電子カメラ

Country Status (1)

Country Link
JP (1) JP5093053B2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5672109B2 (ja) * 2011-03-29 2015-02-18 カシオ計算機株式会社 撮像装置及び撮像方法、並びにプログラム
JP2012216885A (ja) * 2011-03-31 2012-11-08 Nikon Corp 撮像装置及び画像共有システム
KR101773116B1 (ko) * 2013-07-26 2017-08-31 삼성전자주식회사 영상 촬영 장치 및 이의 촬영 방법
JP5979396B2 (ja) 2014-05-27 2016-08-24 パナソニックIpマネジメント株式会社 画像撮影方法、画像撮影システム、サーバ、画像撮影装置及び画像撮影プログラム
WO2015182034A1 (ja) * 2014-05-27 2015-12-03 パナソニックIpマネジメント株式会社 画像撮影方法、画像撮影システム、サーバ、画像撮影装置及び画像撮影プログラム
JP2016004466A (ja) * 2014-06-18 2016-01-12 パイオニア株式会社 情報生成装置及び方法、端末装置、コンピュータプログラム並びに記録媒体
WO2016035181A1 (ja) 2014-09-03 2016-03-10 株式会社ニコン 撮像装置、情報処理装置、及び撮像システム
JP2017049052A (ja) * 2015-08-31 2017-03-09 日本ユニシス株式会社 対象物の3次元画像データを生成するためのシステム、方法、プログラム
EP3428877A4 (en) 2016-03-09 2019-10-30 Nikon Corporation DETECTION DEVICE, INFORMATION PROCESSING DEVICE, METHOD, PROGRAM, AND DETECTION SYSTEM
JP6612170B2 (ja) * 2016-04-13 2019-11-27 日本電信電話株式会社 画像処理装置及び画像処理方法
JP6902881B2 (ja) * 2017-02-17 2021-07-14 キヤノン株式会社 情報処理装置及び三次元モデルの生成方法
JP2019057899A (ja) * 2017-09-22 2019-04-11 株式会社リコー 撮影装置、計測装置、及び計測システム
JP6920987B2 (ja) * 2017-12-28 2021-08-18 キヤノン株式会社 情報処理装置、映像配信装置およびそれらの制御方法、並びにプログラム
WO2020050222A1 (ja) * 2018-09-07 2020-03-12 シャープ株式会社 画像再生装置、画像生成装置、画像生成方法、制御プログラム及び記録媒体
JP7199886B2 (ja) * 2018-09-14 2023-01-06 キヤノン株式会社 画像処理装置、画像処理方法、及び、プログラム
CN109359547B (zh) * 2018-09-19 2024-04-12 上海掌门科技有限公司 一种用于记录用户的静坐过程的方法与设备
JP7180243B2 (ja) * 2018-09-27 2022-11-30 株式会社デンソーウェーブ 監視システムおよびカメラ
JP2019049572A (ja) * 2018-12-26 2019-03-28 株式会社ニコン 撮像装置、情報処理装置、及び撮像システム
JP2019109918A (ja) * 2019-02-19 2019-07-04 パイオニア株式会社 情報生成装置及び方法、端末装置、コンピュータプログラム並びに記録媒体
JP2020194600A (ja) * 2020-09-02 2020-12-03 パイオニア株式会社 情報生成装置及び方法、端末装置、コンピュータプログラム並びに記録媒体

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008235971A (ja) * 2007-03-16 2008-10-02 Nec Corp 撮像装置、及び、撮像装置における立体的形状撮影方法

Also Published As

Publication number Publication date
JP2010109783A (ja) 2010-05-13

Similar Documents

Publication Publication Date Title
JP5093053B2 (ja) 電子カメラ
US10964108B2 (en) Augmentation of captured 3D scenes with contextual information
JP6687204B2 (ja) 投影イメージ生成方法およびその装置、イメージピクセルと深度値との間のマッピング方法
JP6425780B1 (ja) 画像処理システム、画像処理装置、画像処理方法及びプログラム
US10777002B2 (en) 3D model generating system, 3D model generating method, and program
JP6560480B2 (ja) 画像処理システム、画像処理方法、及びプログラム
JP4115117B2 (ja) 情報処理装置および方法
JP5740884B2 (ja) 繰り返し撮影用arナビゲーション及び差異抽出のシステム、方法及びプログラム
JP5538667B2 (ja) 位置姿勢計測装置及びその制御方法
US10607405B2 (en) 3D model generating system, 3D model generating method, and program
CN109102537A (zh) 一种激光雷达和球幕相机结合的三维建模方法和系统
JP2006053694A (ja) 空間シミュレータ、空間シミュレート方法、空間シミュレートプログラム、記録媒体
EP1074943A2 (en) Image processing method and apparatus
JP6310149B2 (ja) 画像生成装置、画像生成システム及び画像生成方法
JP2023546739A (ja) シーンの3次元モデルを生成するための方法、装置、およびシステム
CN108028904A (zh) 移动设备上光场增强现实/虚拟现实的方法和系统
JP6640294B1 (ja) 複合現実システム、プログラム、携帯端末装置、及び方法
JP2003346185A (ja) 情報表示システム及び携帯情報端末
JP2016194784A (ja) 画像管理システム、通信端末、通信システム、画像管理方法、及びプログラム
KR102146839B1 (ko) 실시간 가상현실 구축을 위한 시스템 및 방법
JP2017184025A (ja) 通信端末、画像通信システム、画像送信方法、画像表示方法、及びプログラム
US20200005527A1 (en) Method and apparatus for constructing lighting environment representations of 3d scenes
KR102358950B1 (ko) 모바일 스캔 객체 모델 스케일링을 통한 증강현실 구현 장치 및 방법
JP7447403B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP6759300B2 (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111004

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120725

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120821

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120903

R150 Certificate of patent or registration of utility model

Ref document number: 5093053

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees