JP5163409B2 - 撮像装置、撮像方法、およびプログラム - Google Patents

撮像装置、撮像方法、およびプログラム Download PDF

Info

Publication number
JP5163409B2
JP5163409B2 JP2008258114A JP2008258114A JP5163409B2 JP 5163409 B2 JP5163409 B2 JP 5163409B2 JP 2008258114 A JP2008258114 A JP 2008258114A JP 2008258114 A JP2008258114 A JP 2008258114A JP 5163409 B2 JP5163409 B2 JP 5163409B2
Authority
JP
Japan
Prior art keywords
image
images
parallax
subject
sensor
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
JP2008258114A
Other languages
English (en)
Other versions
JP2010088085A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2008258114A priority Critical patent/JP5163409B2/ja
Priority to CN2009102044431A priority patent/CN101715055B/zh
Priority to US12/570,771 priority patent/US8767036B2/en
Publication of JP2010088085A publication Critical patent/JP2010088085A/ja
Application granted granted Critical
Publication of JP5163409B2 publication Critical patent/JP5163409B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6812Motion detection based on additional sensors, e.g. acceleration sensors

Description

本発明は、複数の画像を合成する機能を有する撮像装置、撮像方法、およびプログラムに関するものである。
カメラ一体型VTRまたはデジタルスチルカメラなどを用いてパノラマ撮影に関する場合、カメラをその都度静止させて撮影するか、もしくは、カメラを動かしながら撮影する場合には、画像のブレをなくすためにカメラを低速で動かす必要がある。
後者の場合、撮影は高速シャッタを用いる必要もある。
これに対して、画像解像度を維持しつつカメラを素早く動かしながら撮影する方法が特許文献1に提案されている。
そこで用いられる技術は、カメラの動作方向と動作角速度を検出するとともに、その動作と逆向きに同角速度で光軸を動作させることにより、画像変化を打ち消し、あたかも1点を注視するかのごとく撮影する技術である。
また、上記の制御方式を実現するために加速度センサや角速度センサを用いる必要が生じる場合があるが、両センサとその制御用のフィードバック回路を設けなくても光軸を適切に制御する方法が特許文献2に提案されている。
この場合にはモニタリングシステムとして用いられ、撮影方向の制御に使用されるステッピングモータのパルス数をカウントし、その係数値に応じて光軸制御を行うものである。
特許第3928222号公報 特許第3925299号公報
また、広画角で高精細の写真を作るために、カメラを望遠にして一点から方向を変えて複数回撮影する方法においては、通常、三脚に固定したアクティブな雲台で撮影するのが普通であるが、手持ちのカメラでこれを行うことも可能である。
ところが、カメラを手に持って肩を中心にして回して撮影した場合、カメラの視点よりかなり後方を中心として回すことになり、パララックスの影響を強く受ける。
すべてが遠方の景色なら殆ど問題ないが、近距離の被写体が含まれていると隣接画像との位置関係が遠距離の被写体と異なり、正しく合成することができない。
しかし、現行のカメラでは、視差や移動被写体の影響を管理(監視)することができないことから、撮影直後に取り直しが必要か否かの判断を行うことができない。
本発明は、取り直しが必要か否かを撮影直後に判断することが可能で、使い勝手のよい撮像装置、撮像方法、およびプログラムを提供することにある。
本発明の第1の観点の撮像装置は、合成処理により1枚のパノラマ画像を生成するために、撮像装置を移動させながら光学系を通して複数の被写体像を撮像する撮像素子と、時間的に隣接する2枚の画像の重複する領域内で複数の動き検出を行って複数の動きベクトルを求め、異なる値のベクトルが存在する場合に視差を検出したものと認識し、隣接画像間の移動ベクトルの類似性で視差による影響または動被写体を検出する画像信号処理部と、上記画像信号処理部が、移動体または視差による影響を検出した場合に警告を出して撮影のやり直しを促す制御部と、を備える。
好適には、上記画像信号処理部は、時間的に隣接する2枚の画像の重複する領域内で複数の動き検出を行って複数の動きベクトルを求め、上記制御部は、移動物体と静止被写体の境目では、視差と動被写体を区別することなく警告を発する。
好適には、上記制御部は、被写体のどの部分も少なくとも2枚の画像にまたがって写るように重複率を保持して数枚の撮影画像を得るように制御する。
本発明の第2の観点の撮像方法は、撮像装置を移動させながら、光学系を通して撮像素子で被写体像を撮像するステップと、時間的に隣接する2枚の画像の重複する領域内で複数の動き検出を行って複数の動きベクトルを求め、異なる値のベクトルが存在する場合に視差を検出したものと認識し、隣接画像間の移動ベクトルの類似性で視差による影響または動被写体を検出するステップと、上記移動体または視差による影響を検出した場合に警告を出して撮影のやり直しを促すステップとを有する。
本発明の第3の観点は、撮像装置を移動させながら、光学系を通して撮像素子で被写体像を撮像する処理と、時間的に隣接する2枚の画像の重複する領域内で複数の動き検出を行って複数の動きベクトルを求め、異なる値のベクトルが存在する場合に視差を検出したものと認識し、隣接画像間の移動ベクトルの類似性で視差による影響または動被写体を検出する処理と、上記移動体または視差による影響を検出した場合に警告を出して撮影のやり直しを促す処理とを有する撮像処理をコンピュータに実行させるためのプログラムである。
本発明によれば、撮像装置を移動させながら撮影した複数枚の撮影画像が画像信号処理部に入力される。
画像信号処理部では、隣接画像間の移動ベクトルの類似性で視差による影響または動被写体が検出され、検出結果が制御部に出力される。
制御部においては、画像信号処理部が、移動体または視差による影響を検出した場合に警告を出して撮影のやり直しを促す。
本発明によれば、取り直しが必要か否かを撮影直後に判断することが可能で、使い勝手の向上を図ることができる。
以下、本発明の実施形態を図面に関連付けて説明する。
図1は、本発明の実施形態に係る撮像装置としてのカメラ装置の構成例を示すブロック図である。
本カメラ装置10は、たとえば図2に示すように、自動あるいは手動により、一点から方向を変えて複数回撮影した多数の画像(図2においては、16×8=128枚)を得ることが可能である。
カメラ装置10は、これらの多数、たとえば数千枚の画像をしわ寄せなく正確に合成し、いわゆるパノラマ画像を形成することができるように構成されている。
すなわち、カメラ装置10は、固定撮像素子、たとえばCMOSイメージセンサ(CIS)を搭載したデジタルカメラを縦または横方向に高速に振り回して撮影した画像を用いてパノラマ画を作成する機能を有している。
そして、本実施形態に係るカメラ装置10は、以下の第1〜第5の特徴的な構成および機能を有する。
第1の構成は以下の点である。
カメラ装置10を移動させながら複数枚の撮像画像を行い、取得した画像を合成することによってパノラマ画像を生成するにあたって、画像を集光するレンズ(シフトレンズ)の光軸をカメラの移動方向と角速度を打ち消すよう制御する。
これにより、カメラが動いていてもあたかも1点を注視するがごとく画像を撮影する。 この構成においては、固体撮像素子としてはCIS(CMOS Image Sensor)を用い、中心方向の一部のラインに対して上記の制御を行い撮像する。
すなわち、一部のラインの露光時間と読み出し時間を加えた期間に上記の光軸制御が行われ、それ以外の時間においては、光軸を中心付近に戻すような制御が行われる。その際のカメラの撮影方向はCISのラインに対して垂直方向とする。
そして、カメラ装置10は、CISの一部を短冊状に切り出し、その部分に対応した光軸制御を行うことにより、カメラが高速に動いても高いフレームレートで解像度を低下させずにパノラマを生成する。
第2の構成は以下の点である。
カメラ装置10は、連続した画像を、画像認識技術で得られたフレームの移動情報と、姿勢センサからの移動情報を用いて空間的に配置する技術を採用している。
この画像認識では、情報を得られない部分を姿勢センサ情報で補い、姿勢センサ情報は画像認識の成功確認や失敗時の補助座標として用いる。空間的に配置された画像は1つのパノラマ画像として完成する。
この場合、カメラ装置10は、主として手持ちで略一点から方向を変えながら複数枚撮影するカメラとして構成される。
カメラ装置10は、3軸(または2軸)加速度センサと3軸(または2軸)角速度センサまたはそのいずれかを含む姿勢センサを有する。
カメラ装置10は、撮影された各画像にはどの方向を向いて撮影したかという姿勢の情報を同時に記録し、撮影された複数の画像をその場で1枚に合成する機能を有する。
カメラ装置10は、画像の重複領域を利用してブロックマッチング等の画像認識機能を使って相互の画像の相対位置関係を算出し、各種の姿勢センサのデータによる画像の位置関係を算出する。
そして、カメラ装置10は、算出した相対位置関係と画像の位置関係の双方の選択的協調によってより精度の高い画像の相対位置関係を算出する。
その後、カメラ装置10は、各画像の中心が向く方向、パン角(経度)とチルト角(緯度)および、その光軸のまわりに回転するロール角(傾斜)といった各画像の絶対位置関係を特定し、これを初期値として精密自動合成を行う。
第3の構成は以下の点である。
カメラ装置10は、連続した画像の記録において、画像認識技術で得られたフレームの移動情報と、姿勢センサからの移動情報を対応する技術を採用している。
カメラ装置10は、片方だけでは不明な、画像のピクセル画角、姿勢センサの静止時の値、姿勢センサ値のピクセル画角対応といった情報を算出する。オフセット、ゲイン等のパラメータを有し、これを変更することによって実際の方向とほぼ一致させることができる。
カメラ装置10は、静止時の姿勢のデータを3軸(または2軸)加速度センサが重力の方向となす角としてスタティックに検出し、それを姿勢情報の初期値とする。
カメラ装置10は、カメラの縦方向、横方向の主に回転移動をたとえば3軸角速度センサを時間積分したもので計算し、各画像の撮影された時点の方向データとする。
カメラ装置10は、画像の重複領域を利用してブロックマッチング等の画像認識手段を使って相互の画像の位置関係を算出する。カメラ装置10は、相互の画像の位置関係を演算で求めると同時にその結果が正しいか正しくないかの判定も行う。
カメラ装置10は、ここで判定された結果が正しい場合、この情報でパラメータを校正する。
そして、カメラ装置10は、判定された結果が正しくない場合、既に校正されているパラメータによる姿勢センサの値を使って画像を配置していく。
第4の構成は以下の点である。
カメラ装置10は、移動体による影響を検出した場合に警告を出して撮影のやり直しを促す機能を有する。
カメラ装置10は、移動体の検出に関し、重複率を50%以上として被写体のどの部分も少なくとも2枚の画像にまたがって写るようにし、隣接画像間の移動ベクトルの類似性で視差による影響や動被写体を検出する機能を有する。
すなわち、カメラ装置10は、移動体または視差による影響を検出した場合に警告を出して撮影のやり直しを促す。
広い範囲の被写体をさっと一振りで複数の短冊状画像を撮影して一枚に合成するカメラ装置10において、近距離の被写体がパララックスの影響をどの程度受けているかを検出し、カメラの視点を中心として撮影し直すことを促す。
第5の構成は以下の点である。
カメラ装置10は、スイープ角速度(ユーザがカメラを振り回す速さ)の適正値を知らせる方法と、速すぎる場合に警告を出して撮影のやり直しを促す。
カメラ装置10は、表示装置18、たとえばLCDの画面に横軸に時間、縦軸に姿勢センサ(ジャイロセンサ)の出力(スイープ角速度)をグラフにして表示する。水平画角、水平画素数、シャッタ速度が設定されると最大スイープ角速度が決まるので、その 60%〜80% を適正範囲としてグラフに表示する。
以下に、上述した特徴を有するカメラ装置10のより具体的な構成および機能について説明する。
カメラ装置10は、光学系11、撮像素子12、アナログフロントエンド(AFE)回路13、姿勢センサ14、ドライバ15、システムコントローラ16、メモリ17、表示装置18、操作部19、発音部20等を含んで構成されている。
光学系11は、被写体像を撮像素子12の撮像面に結像させる。
光学系11は、通常のレンズ111、光軸可変素子としてのシフトレンズ112、およびメカニカルシャッタ113を含んで構成される。
シフトレンズ112は、画像を集光する機能に加えて、ドライバ15の駆動により光軸の方向を変更可能な機能を有している。
撮像素子12は、CMOS(Complymentary Metal Oxide Semiconductor)デバイスまたはCCD(Charge Coupled Device)で構成される。
本実施形態では、CMOSイメージセンサを例として説明する。また、上述した第1の構成では、固体撮像素子としてCMOSイメージセンサが適用される。
撮像素子12は、半導体基板上にマトリクス状に配列した光センサにより光学系11による被写体像を検出して信号電荷を生成し、同信号電荷を垂直信号線や水平信号線を介して読み出して被写体の画像信号を出力する。
撮像素子12がCMOSイメージセンサにより形成される場合、電子シャッタとしてグローバルシャッタとローリングシャッタで露光制御が行われる。この露光制御は、システムコントローラ16により行われる。
AFE回路13は、たとえば撮像素子12からの画像信号に含まれる固定パターンノイズを除去し、自動利得制御の動作により信号レベルを安定化してシステムコントローラ16に出力する。
姿勢センサ14は、カメラ装置10の姿勢を検出し、検出結果をシステムコントローラ16に供給する。
姿勢センサ14は、たとえば3軸加速度センサ141と3軸角速度センサ142により構成される。
加速度センサ141は重力の方向となす角をスタティックに知ることができ、チルト角とロール角を検出することが可能である。しかし、パン角を検出することはできない。
そこで、移動角を知るためには角速度センサ142を用いる。これはジャイロセンサとも言われ、回転中の角速度が電圧信号として検出が可能であり、この電圧信号を積分すると角度になる。そして、3軸であることからパン角、チルト角、ロール角が検出できる。
ドライバ15は、システムコントローラ16の制御の下、光学系11のシフトレンズ112の光軸を変更する。
システムコントローラ16は、AFE回路13の出力信号に対して色補正処理、複数画像の合成処理、自動露光制御、オートホワイトバランス制御等を行うための回路である。
システムコントローラ16は、画像信号処理部161、および制御部としてのマイクロコンピュータ(μ−COM)162を含んで構成される。
画像信号処理部161は、一点から方向を変えて複数回撮影した多数の画像をしわ寄せなく正確に合成を行うことができるように構成した精密合成処理部を有している。
そして、図3に示すように、精密合成処理部1611は、第1色補正機能部16111、合成機能部16112、および第2色補正機能部16113を含んで構成されている。
画像信号処理部161は、カメラ装置10を移動させながら複数枚の撮像画像を行った場合に、取得した画像を合成することによってパノラマ画像を生成する。
マイクロコンピュータ162は、姿勢センサ14の検出結果に応じて、画像を集光するレンズ(シフトレンズ)の光軸をカメラの移動方向と角速度を打ち消すよう制御する。
マイクロコンピュータ162は、固体撮像素子としてはCMOSイメージセンサを用いた場合に、中一部のラインの露光時間と読み出し時間を加えた期間に上記の光軸制御を行いそれ以外の時間においては、光軸を中心付近に戻すようにドライバ15を制御する。その際のカメラの撮影方向はCMOSイメージセンサのラインに対して垂直方向とする。
そして、マイクロコンピュータ162は、CMOSイメージセンサの一部を短冊状に切り出し、その部分に対応した光軸制御を行うことにより、カメラが高速に動いても高いフレームレートで解像度を低下させずにパノラマを生成するように制御する。
マイクロコンピュータ162は、角速度センサ142の検出信号を積分してカメラ装置10の回転角度を算出し、算出された回転角度に応じて、シフトレンズ112の光軸の変化量を制御する。
あるいは、画像信号処理部161は、撮像された隣り合う画像の動き成分を検出し、マイクロコンピュータ162はこの検出された動き成分に応じて光軸の変化量を制御することも可能である。
あるいは、マイクロコンピュータ162は、算出された回転角度および動き成分を用いて光軸の変化量を制御することも可能である。
マイクロコンピュータ162は、撮影された各画像にはどの方向を向いて撮影したかという姿勢の情報をメモリ17に記録する。
画像信号処理部161およびマイクロコンピュータ162は、画像の重複領域を利用してブロックマッチング等の画像認識機能を使って相互の画像の相対位置関係を算出し、各種の姿勢センサのデータによる画像の位置関係を算出する。
マイクロコンピュータ162は、算出した相対位置関係と画像の位置関係の双方の選択的協調によってより精度の高い画像の相対位置関係を算出する。
その後、マイクロコンピュータ162は、各画像の中心が向く方向、パン角(経度)とチルト角(緯度)および、その光軸のまわりに回転するロール角(傾斜)といった各画像の絶対位置関係を特定する。
画像信号処理部161は、これを初期値として精密自動合成を行う。
マイクロコンピュータ162は、片方だけでは不明な、画像のピクセル画角、姿勢センサの静止時の値、姿勢センサ値のピクセル画角対応といった情報を算出する。マイクロコンピュータ162は、オフセット、ゲイン等のパラメータを有し、これを変更することによって実際の方向とほぼ一致させることができる。
マイクロコンピュータ162は、静止時の姿勢のデータを3軸(または2軸)加速度センサが重力の方向となす角としてスタティックに検出し、それを姿勢情報の初期値とする。
マイクロコンピュータ162は、カメラの縦方向、横方向の主に回転移動をたとえば3軸角速度センサ142を時間積分したもので計算し、各画像の撮影された時点の方向データとする。
マイクロコンピュータ162は、画像の重複領域を利用してブロックマッチング等の画像認識機能を使って相互の画像の位置関係を算出するが、相互の画像の位置関係を演算で求めると同時にその結果が正しいか正しくないかの判定も行う。
マイクロコンピュータ162は、ここで判定された結果が正しい場合、この情報でパラメータを校正する。
そして、マイクロコンピュータ162は、判定された結果が正しくない場合、既に校正されているパラメータによる姿勢センサの値を使って画像を配置していく。
マイクロコンピュータ162は、移動体による影響を検出した場合に、表示装置18あるいは発音部20により表示あるいは警告音、または両者により警告を出して撮影のやり直しを促す。
マイクロコンピュータ162は、移動体の検出に関し、重複率を50%以上として被写体のどの部分も少なくとも2枚の画像にまたがって写るようにし、隣接画像間の移動ベクトルの類似性で視差による影響や動被写体を検出する。
すなわち、マイクロコンピュータ162は、移動体または視差による影響を検出した場合に警告を出して撮影のやり直しを促す。
マイクロコンピュータ162は、近距離の被写体がパララックスの影響をどの程度受けているかを検出し、カメラの視点を中心として撮影し直すことを促す。
マイクロコンピュータ162は、スイープ角速度(ユーザがカメラを振り回す速さ)の適正値を知らせ、速すぎる場合に表示装置18あるいは発音部20により表示あるいは警告音、または両者により警告を出して撮影のやり直しを促す。
マイクロコンピュータ162は、表示装置18、たとえばLCDの画面に横軸に時間、縦軸に姿勢センサ(ジャイロセンサ)の出力(スイープ角速度)をグラフにして表示する。水平画角、水平画素数、シャッタ速度が設定されると最大スイープ角速度が決まるので、その60%〜80%を適正範囲RNGとして、図4に示すようにグラフに表示する。
操作手順の概略は以下の通りである。
[1]操作部19のスタートボタンを押してカメラを回し、その後スタートボタンを離す。
[2]スタートボタンが押されている間のスィープ角速度が、図4に示すように、表示装置18の画面に表示される。
[3]適正範囲RNGより遅い場合には警告はないが、一瞬でも範囲を越えて速い場合には警告音が出る。
以下に、上述した第1〜第5の構成について具体的に説明する。
なお、第1〜第5の構成における主たる制御はシステムコントローラ16により行われる。
[第1の構成]
第1の構成では、固体撮像素子としてCMOSイメージセンサを適用することからフレーム/フィールドと言った考え方は存在せず、全てのラインを順次読み出すプログレッシブ方式となる。
図5(A)および(B)は、本実施形態の第1の構成における撮影形態を説明するための図である。
カメラ装置10の動かし方としては、基本的に図5(A)に示すような鉛直方向、もしくは図5(B)に示すような水平方向に回転動作することを前提としている。つまり、CMOSイメージセンサの読み出しラインに対してカメラを垂直に動作させる。
また、図5の濃い短冊部30で示されるように、本実施形態では、マイクロコンピュータ162は、CMOSイメージセンサの撮像範囲のうち中心部から切り出される短冊に対して光軸制御を行っている。
このように短冊撮影を行うことにより以下の利点が得られる。
(a)パララックスの影響は短冊の幅が狭いほど有利になる。
(b)CMOSイメージセンサの非同時読み出しの影響も短冊の幅が狭いほど有利になる。
(c)周辺減光の影響にも有利になる。
(d)レンズ歪の影響にも有利になる。
マイクロコンピュータ162は、たとえば姿勢センサ14の検出結果に応じて、画像を集光するレンズ(シフトレンズ)の光軸をカメラの移動方向と角速度を打ち消すよう制御する。
マイクロコンピュータ162は、固体撮像素子としてはCMOSイメージセンサを用いた場合に、中一部のラインの露光時間と読み出し時間を加えた期間に上記の光軸制御を行いそれ以外の時間においては、光軸を中心付近に戻すようにドライバ15を制御する。
すなわち、図5で示すような短冊部30が露光されている間、光軸制御が行われる必要がある。
図6は、CMOSイメージセンサの露光時間と蓄積電荷の読み出し時間、そして光軸制御時間の関係を示す図である。
CMOSイメージセンサの各ラインにおいて露光に引き続き電荷の読み出しが行われるが、あるラインについて読み出しが終了した後、次のラインの露光と電荷の読み出しが行われる。この動作を繰り返して短冊部の全ての電荷処理が行われる間、光軸制御が行われる。
たとえば、シャッタ速度が1/1000秒(つまり露光時間が1msec)、短冊幅が200ラインの場合、図6の図の読み出し時間は1.56msec、光軸制御時間は2.56msecとなる。ちなみに、撮影のフレームレートが60fps(1画像あたり約16.66msec)において、対応する特許文献1の図3における数値を当てはめてみると、Sonは2.56msecであり、Soff = 16.66-2.56 = 14.1(msec)となる。
また、光軸制御される限界角度については、特許文献1では±1.2(deg)であるが、本実施形態の場合、たとえば、±0.5°の範囲で可変であるところ、0度〜0.3度までの間を使用する。これは可変範囲の最大値の約60%である。
このように撮影して得られた短冊画像を用いて、図3の精密合成処理部1611で画像合成しパノラマ画を生成する。以下、この精密合成処理部1611の画像の合成処理について説明する。
このように、本実施形態に係るシステムコントローラ16は、一点から方向を変えて複数回撮影した画像を、色ムラを補正して1枚に精密合成する機能(たとえばソフトウェア)を有している。
以下、本実施形態の精密合成の特徴な機能部分を具体的に説明する。
第1色補正機能部16111は、レンズ歪補正係数などのパラメータを抽出するときは、ひとつの境界に少なくとも3個のブロックマッチング(BM)を行い、最低4枚の境界について合成を行い、これが正確になるようにレンズ歪補正係数を決めていく。
換言すれば、第1色補正機能部16111は、原画像からレンズ歪み補正係数などパラメータを抽出する。
そして、第1色補正機能部16111は、すべての部分画像に一様に周辺減光補正、コントラスト強調、彩度強調、ガンマ補正を行う。
合成機能部16112は、第1色補正機能部16111でレンズ歪補正係数などのパラメータが決まり、周辺減光補正、コントラスト強調、彩度強調、ガンマ補正を行った後、全ての境界に少なくとも1個(たとえば3個)のBM(ブロックマッチング)を行う。
合成機能部16112は、すべての境界について同時にBM結果の評価を行い、すべての境界の誤差が小さくなるように光軸の方向を更新して誤差を小さくしていき複数の画像の合成を精密に行う。
第2色補正機能部16113は、合成機能部16112で精密合成された複数の画像のうち、隣接する画像間の色の違いを減少させるため、すべての部分画像に対して独立に行う色(ムラ)補正を行う。
また、第2色補正機能部16113は、隣接する画像間の色の不連続を検知限界以下まで減少させるための色補正を行う。
ここで、精密合成処理部1611における精密合成処理の原理的な概念を説明する。
本実施形態においては、基本的に、フーリエ解析(Fourier analysis)に基づく位相相関技術(phase correlation technique)を採用している。
つまり、空間的関数のシフトがスペクトル領域における位相のみ変化するというフーリエシフト定理に基づい技術を採用している。
つまり、2つの関数fおよびfが次の関係を満足しているとする。
[数1]
(x、y)=f(x+x,y+y
また、次のようなスペクトル特性を有する。
[数2]
(u,v)=F(u,v)exp(−2πi(ux+vy))
この式は、等価的に、相互電力スペクトル(Cross-Power Spectrum : CPS)を用いて次のように書き換えることができる。
Figure 0005163409
ここで、F は複素関数Fの共役関数である。
実際、画像は、図7に示すように、2つの画像の相互電力スペクトルのようなビット雑音である。
したがって、相互電力スペクトル(CPS)のピークを探り出し、それからトランスレーション(平行移動)パラメータ(x,y)を引き出すことが望ましい。
図7は、相互電力スペクトル(CPS)を用いたトランスレーションにおけるステッチング画像を示す図である。
図7(A)は2つの画像のステッチングの結果を示している。2次元のトランスレーションは、図7(B)に示すように、相互電力スペクトル(CPS)のピーク検出によって得られる。ここで、相互電力スペクトル(CPS)が読み可能であれば画像は完全に整合する。
ノイズの多い画像は、最高のピークを検出することが困難であることから、いくつかのピークから選択するようにしても良い。
次に、BM(ブロックマッチング)を用いてパラメータを抽出する原理について、図8〜図14に関連付けて説明する。
ここで、BMは上述した相互電力スペクトル(CPS)のピークを引き出す機能を含む。
まず、図8に示すように、条件のよい4枚の画像IM0,IM1,IM2,IM3を選択する。
たとえば左下が第0の画像IM0、その右が第1の画像IM1、左上が第2の画像IM2、その右が第3の画像IM3とする。これらの画像IM0〜IM3は、隣接する画像間の境界で重なり部分を含むように配置される。
図8において、境界部分に配置した矩形で示すものがブロックBLKである。
このような配置条件で、BM(ブロックマッチング)を行う。
そして、上下左右の4つの境界BDR01,BDR02,BDR13,BDR23から、レンズ歪み、画角、チルト角などの情報を取り出す。
BM(ブロックマッチング)についてさらに説明する。
BMは、たとえば図9に示すように、一つの境界で3箇所について行う。
レンズ歪みがあると、BMの結果は図10に示すように弓なりになる。
チルト角が正しくないと、BMの結果は図11に示すような、図中の左右方向に傾いたような誤差が生じる。
レンズ歪みの中心が縦にずれていると、図12に示すように、上下の境界で左右の伸縮が起きる。左右の境界で上下の伸縮が起きているときは、レンズ歪みの中心が横にずれているときである。
上に向くにつれて画像が回転する場合、図13に示すように、上下方向に傾いたような誤差が生じる。メカニカルなチルト軸に対してカメラが正面を向いていないときに、図13のようになる。
これらの誤差が最小となるように各種パラメータを決める。
これにより、どこの4枚をつないでも、誤差を小さくすることができる。
たとえばファースト位相相関マッチング(fast phase correlation matching)を適用して画像における対応するBMを行う。ベクトル変位(xij,yij)を得、3個のブロックの変位の振舞いを解析することにより、各パラメータを定量化することができる。
以上の4枚のBM(ブロックマッチング)を行った後、図14(A),(B)に示すように、多くの枚数に拡張し、すべての境界について同時にBM結果の評価を行う。すべての境界の誤差が小さくなるように光軸の方向を更新して誤差を小さくしていき複数の画像の合成を精密に行う。
この場合、基準画像を1枚決め、それ以外の画像を平行移動して最も誤差が小さくなる位置に収束させる。
精密合成処理は、以下の基本的処理に従って行う。それを箇条書き的に示す。
平行移動で最適位置を求め、移動する。
この場合、ループを回す。
移動すべき量の総和を示すパラメータ fxy を 0.0 にする。
上下左右(縦横)のすべての画像について行う。
基準画像は動かさない。
BMの結果、隣接画像との位置関係が得られているのでこれに基づいて動かすべき量を計算する。
その方法は、真上と右隣のものを加え、真下と左隣のものを引いて平均を作り、f[y][x].x, f[y][x].y とする。
その80%を現在の画像の中心位置に加えて新しい画像の中心位置とする。
fxy に、すべての画像の移動すべき量の絶対値の総和を入れる。
この移動によって上下の位置関係、左右の位置関係がどう改善されるかを計算する。
fxy はこの移動を繰り返すことにより、だんだん小さくなる性質を持っている。
言い換えると、これ以上移動することができない状態に収束する。
fxy が十分小さくなったら終了する。
ここで、何千枚つないでもしわ寄せが起こらない画像合成の具体的な処理の一例を説明する。
ここでは、4枚の画像について考察する。
たとえば図8に示すように、左下が第0の画像IM0、その右が第1の画像IM1、左上が第2の画像IM2、その右が第3の画像IM3とする。
第0の画像IM0は動かさない。すなわち、第0の画像IM0を基準画像とする。
BM(ブロックマッチング)の結果の横の成分を bx1[0]、bx1[1]、bx2[0]、bx2[1]とする。
縦の成分も独立に行うが、ここでは横のみを扱うことにする。
bx1は左右、bx2は上下である。[]の中の数字は0が下または左である。
基準画像IM0に対して右または上の画像が右または上にあるとき、BM結果は正の値となる。
今、極端な例として、一か所だけ異常な値があったときを想定し、bx1[0]=10、bx1[1]=0、bx2[0]=0、bx2[1]=0とする。
ここで、1段目の左右が10画素ずれていて、その他3箇所の境界では全くずれていないときを考える。
もし、第0の画像IM0と第1の画像IM1のBM結果から第1の画像IM1の位置を決め、第1の画像IM1と第3の画像IM3のBM結果から第3の画像IM3の位置を決める。そして、第2の画像IM2と第3の画像IM3のBM結果から第2の画像IM2の位置を決めていくと、第0の画像IM0と第2の画像IM2の位置関係に10画素という大きな値がしわ寄せとして生じてしまう。
本実施形態の方式では、このようなとき、10という異常な値の影響が2.5ずつに分散されることを示す。なお、この処理は、一部を後述するプログラムに沿って処理される。
xypos2()で隣接画像との位置関係から平行に移動すべき量を求める。
最初、第1の画像IM1は−5画素移動するべきと計算される。
move() で平行に移動する。
実際に移動させる量はその80%の4画素である。
第0の画像IM0以外の各画像IM1,IM2,IM3の移動量は pox[1]=4、pox[2]=0、pox[3]=0 となる。
このことにより、BM結果bx1[0]は10から6に変化する。
それに伴い、bx2[1]は0から4に変化する。
2回目、第1の画像IM1は−1画素移動するべきと計算される。
第3の画像IM3は−2画素移動するべきと計算される。
その80%、0.8を加算するとpox[1]=4.8となる。
以下、3回目、...と計算し、32回目に、移動すべき量の総和が fxy が 0.001画素を下回るため、終了となる。
このとき、平行に移動すべき画素数は7.5,2.5,5.0となり、各画像の位置関係も、
bx1[0]=10、bx1[1]=0、bx2[0]=0、bx2[1]=0であったものが、
bx1[0]=2.5、bx1[1]=-2.5、bx2[0]=-2.5、bx2[1]=2.5となって、誤差が分散されていることがわかる。
以下に、ii= 32, fxy= 0.00083 fxy が 0.001 以下になったときの回数とその値を示す。
n ix fx[n] fy[n]
0 0 0.000000 0.000000
1 2 -0.000244 0.000000
2 2 -0.000244 0.000000
3 2 -0.000344 0.000000
n pox[n] poy[n] fz[n] 平行に移動すべき画素数
0 0.00 0.00
1 7.50 0.00
2 2.50 0.00
3 5.00 0.00
以下には、プログラム例の一部を示す。
−−プログラムの一部(ここから)−−−−−−−−−−−−−−−−
clrpos(); // 平行に移動すべき量[pixel] pox[],fzx[],rolla[] に 0 を入れる。
for (ii=0;ii<1000;ii++){
xypos2(); // 隣接画像との位置関係から平行に移動すべき量を求める。
if (fxy<0.001){break;}
move(); // 平行に移動する。
}
fprintf(inf,"ii=%3d, fxy=%8.5f fxy が 0.001 以下になったときの回数とその値\n",ii,fxy);
xypos(); // 隣接画像との位置関係から平行に移動すべき量を求める。
move(); // 平行に移動する。
dsppos(); // 補正量を表示する。
angle(); // 補正量を角度にし、 qq[n],pp[n] を更新する。
dsppos(); // 補正量を表示する。
dsperr(); // 各小画像対の誤差が 1 を超えるものを表示する。
step(); // qq[n],pp[n] からステップ角を作る。
−−プログラムの一部(ここまで)−−−−−−−−−−−−−−−−
また、主なサブルーチンを以下に示す。
−−主なサブルーチン−−−−−−−−−−−−−−−−
void xypos2(){ // 隣接画像との位置関係から平行に移動すべき量 fx[n],fy[n] を求め、
// 平行に移動できないフラグ fz[n] を求める。(fprintf 削除)
int m,n,m2,n2,h,v,ix;
double cx,cy;
//fprintf(inf," n ix fx[n] fy[n]\n");
fxy=0;
for (v=0;v<ny;v++){ // すべての画像について
for (h=0;h<nx;h++){
m=(nx-1)*v+h; // 左右の境界
n=nx*v+h; // 上下の境界
ix=0;
if ((0<skip[h][v])||((v==(ny-1)/2)&&(h==(nx-1)/2))){ // 中央の画像と確定済みフラグの画像は動かさない。
fx[n]=0;fy[n]=0;fz[n]=4; // fz[n] は平行に移動できないフラグ
if (skip[h][v]==2){fz[n]=2;} // 確定済みフラグの画像は2とする。
}else{
cx=0;cy=0;
if (v!=0){ // 最下段ではないとき
n2=n-nx; // 真下
if (0<fok2[n2]){
ix++;
cx-=bx2[n2]; // 真下のものを引く
cy-=by2[n2];
}
}
if (v!=ny-1){ // 最上段ではないとき
if (0<fok2[n]){
ix++;
cx+=bx2[n]; // 自分のものをたす
cy+=by2[n];
}
}
if (h!=0){ // 最左端でないとき
m2=m-1; // 左隣り
if (0<fok1[m2]){
ix++;
cx-=bx1[m2]; // 左隣りのものを引く
cy-=by1[m2];
}
}
if (h!=nx-1){ // 最右端でないとき
if (0<fok1[m]){
ix++;
cx+=bx1[m]; // 自分のものをたす
cy+=by1[m];
}
}
if(ix==0){
fx[n]=0;fy[n]=0;fz[n]=1;
}else{
fx[n]=cx/ix;
fy[n]=cy/ix;
fz[n]=0;
}
fxy+=fabs(fx[n])+fabs(fy[n]);
}
}
}
}
//******************************************
void move(){ // 平行に移動する。
int m,n,h,v;
for (v=0;v<ny;v++){ // 画像の中心位置(画素)
for (h=0;h<nx;h++){
n=nx*v+h;
if (fz[n]==0){ // 周囲から隔絶されていないとき
pox[n]+=-fx[n]*0.8;
poy[n]+=-fy[n]*0.8;
}
}
}
for (v=0;v<ny;v++){ // 左右の位置関係
for (h=0;h<nx-1;h++){
m=nx*v+h;
n=(nx-1)*v+h;
bx1[n]+=-(fx[m]-fx[m+1])*0.8;
by1[n]+=-(fy[m]-fy[m+1])*0.8;
}
}
for (v=0;v<ny-1;v++){ // 上下の位置関係
for (h=0;h<nx;h++){
n=nx*v+h;
bx2[n]+=-(fx[n]-fx[n+nx])*0.8;
by2[n]+=-(fy[n]-fy[n+nx])*0.8;
}
}
}
//******************************************
以上説明したように、本実施形態の第1の構成によれば、CMOSイメージセンサを搭載したデジタルカメラを用いても解像度を低下させずに高速フレームレートで撮影し、パララックスの影響、周辺減光の影響、レンズ歪の影響を軽減することができる。しかも、高品質のパノラマ画像を作成することができる。
合成する画像の数にかかわりなく、正確な合成を行うことが可能で、また、色ムラの発生を抑止することができる。
そして、レンズ歪補正係数を実写画像から抽出することができたため、厄介なキャリブレーションの作業が不要になり、精度も格段に向上する。
何千枚つないでもしわ寄せが出ない方法により、撮影枚数を気にすることなく、必要な範囲を必要な解像度で撮影することができるようになる。
次に、第2の構成について説明する。
[第2の構成]
連続撮影した画像の空間位置記録について説明する。
<概要>
連続写真によるパノラマ撮影は、空間を分割して1枚の写真に収める作業となる。その写真からパノラマを作成する際に、撮影時の空間情報を用いて逆の演算を行うことで高精度なパノラマ写真とすることができる。
本実施形態では、写真を撮影する際にセンサと画像から撮影した空間の情報を計算し、その情報を写真1枚1枚に付与しておく事でパノラマ写真生成に役立てる。
<撮影した空間の情報を付与する>
たとえば、パノラマ撮影をする場合、一点に固定してモータでレンズを駆動させ撮影方向を変化させる。
この条件で撮影した写真は、撮影方向が異なるだけでカメラ装置10の位置つまり焦点位置は固定となる。よって、ここではとある一点から固定画角でその周囲を撮影した画像に限定する。
このような撮影方法の場合、撮影した空間の情報は以下の二つとなる。
すなわち、どこを狙って撮影したか(視線ベクトル)の情報と、視線ベクトルを軸とした回転角(ロール)の情報である。
<投影球と空間の定義>
空間を撮影した写真は1枚の面に投影される。
空間をパノラマ撮影すると考えたとき、全方位を扱うには撮影者の周辺に球が存在しそこに投影されると考えると画像処理が行い易い。この球を用いて視線ベクトルを定義することで座標空間も決定される。
カメラ装置10が存在する焦点位置を原点(0,0,0)とし、投影球を半径1と定義する。
水平時の正面方向はZ軸の1、f(0,0,1)とすると視線ベクトルは(0,0,0)からf(0,0,1)へ向かうベクトルとなる。
視線ベクトルは長さ1の単位ベクトルとなり、どこを向いても長さは1である。
視線ベクトルv1だけではフレームのロールが記録できないため、もう1つのロールベクトルv2を記録する。これは画像の上方向を示す情報で(v2-v1)が画像の上方向を示すベクトルとなる。
これにより、画像の撮影方向を2つのベクトル(投影球上の2点)で示すことができ、全方位で密度の差無く指し示すことができる。
<相対移動と絶対座標>
撮影時の空間情報には相対情報と絶対情報の二種類が存在する。
パノラマ画像を作る目的においては、どこを向いて撮影した画像かという絶対的位置情報があれば良いのだが、確実な絶対情報が得られないため相対情報から積算したり、大雑把な絶対情報を使って補正したりすることになる。
レンズ駆動型パノラマカメラにおいては、レンズを移動するシナリオは絶対情報だが、撮影時の揺れ、レンズ駆動時の誤差混入、姿勢感知センサの精度の粗さ等が相対情報として加算されるため精密な絶対値は計算で求めることになる。
<相対移動の空間展開>
今、画像認識と姿勢センサにより正確な相対情報が入手できたとする。
現在の画像フレームf1が1つ前の画像フレームf2より、位置的に(dx, dy)移動しており、フレームロールがrzだけロールしていた場合、画角からx軸y軸の回転量がrx,ryと計算できる。このときf1の視線ベクトルv1はf2の視線ベクトルv2が(rx, ry, rz)回転したことになる。
この情報を元に投影球上の絶対位置を求めていくのであるが、v2の位置から回転(rx, ry, rz)と求めていくのは少々計算が複雑となる。
そこで、最新の画像f1を真正面v1(0,0,1)と固定してしまい、f2以降投影球上に配置された画像を球ごと(-rx,-ry,-rz)だけ回転させてしまう。つまり、最新の画像f1を基準に、他を相対的に移動させる。
これを繰り返していくと、最後の画像の位置が(0,0,1)となるがそれ以外の全ての画像の絶対座標が求まっている。
ロールの情報もベクトルとして、視線とロール二つのベクトルにしたのはこの相対的回転(球の方を回転させること)が容易になるからである。
<相対移動値の積算と絶対情報とのズレ>
画像の空間配置のために相対情報だけを用いたが、実際には姿勢センサ14等により絶対的なロールや上下方向の傾き情報も入手できている。ただ、姿勢センサ14により得られる絶対情報はパノラマ写真の生成に必要な精度と比べ荒く、その値をそのまま使うのは困難である。
一方、相対情報は画像認識から得るため高い精度を持つが、それでも誤差は含まれる。相対情報で繋いでいくと積算誤差で若干の誤差が大きなずれとなって現れる。
そこで、姿勢センサ14による絶対情報をこの積算誤差が生じていないかの確認として用いる。
相対移動の空間展開処理の途中で、ある程度の間を空けつつ姿勢センサの絶対値と比較をしていく。あまりにも相対移動が姿勢センサの絶対値と離れてきていたら姿勢センサの絶対値を用いて補正を行う。そしてまたそこの位置から相対的に移動の積算を行っていく。
図15は、連続撮影した画像とセンサ情報を基に空間配置する方法を示す機能ブロック図である。
図15において、角速度センサ142の検出信号に対して機能ブロック41でゼロ基準値を設定して、移動量積分部42で移動量を積分する。
また、撮像素子12を通して撮影したフレーム間の画像比較と移動量を検出部43で検出する。
移動量積分部42と検出部43の出力から協調補正ロジック44で協調補正し、相対位置積分部45で相対位置を積分し、絶対位置情報を得る。
そして、その絶対位置情報を加速度センサ141の検出結果に基づいて絶対位置補正部46で補正し、配置部47でフレームの空間位置を決定し、配置する。
<空間座標情報とパノラマ写真>
以上のような計算を撮影しながら行っていき、画像とともに撮影方向といった空間座標情報をメタデータとして同時に記録する。
このメタデータだけでもパノラマ写真を生成することができるが、後処理より精密な調整とオーサリングを行う際の基本データとしても用いることができる。
これまでは空間における撮影方向というメタデータが存在しなかったためパノラマ写真を精密化することができなかったが、本実施形態では、それを解決するために撮影時に座標情報を付与する。
このように、第2の構成では、連続した画像を、画像認識技術で得られたフレームの移動情報と、姿勢センサからの移動情報を用いて空間的に配置する。画像認識では情報を得られない部分を姿勢センサ情報で補い、姿勢センサ情報は画像認識の成功確認や失敗時の補助座標として用いる。空間的に配置された画像は1つのパノラマ画像として完成する。
この方法を使うと正面付近のみならず、真上も真後ろも正しく表現でき、全方位、あるいは全天球撮影に対応させることができるようになる。
正面付近のみの場合でもより広角画面でも誤差なく仕上げることが可能になる。
無論、手持ち撮影に十分に対応することができ、高精細な画像を得ることができる。
次に、第3の構成について説明する。
[第3の構成]
連続撮影した画像による位置認識の補正について説明する。
<概要>
連続撮影した写真に高精度な撮影位置情報を付与するために、本構成では、姿勢センサと画像認識を合わせた手法、いわゆる「ダイナミックキャリブレーション」を用いる。
<連続撮影と撮影位置の情報>
連続撮影した写真を用いてパノラマ写真を合成する際、画に高周波成分が含まれず画から連続性を特定できない場合がある。
そのような場面では連続するフレームがどれくらい移動しているのかといった情報を得ることができず、パノラマ写真全体が生成できないことになる。
そういった場面においても位置情報を得られるよう、姿勢センサ14を併用し撮影中に移動情報、位置情報を写真と同時に記録する。
<姿勢センサの利用>
姿勢センサ14は3軸の角速度センサ142と同じく3軸の加速度センサ141を同時並列に用いる。
角速度センサ142で今どれくらいの速度でカメラを回転させているかをとらえ、加速度センサ141で水平方向の傾きを感知する。
できるだけ撮影した写真で移動情報を得ていくが、画の都合で画像認識ができないような場面では前フレームからの移動量を姿勢センサ14から得る。
全体としての姿勢センサ14の検出結果の変化量と、画像認識による移動量を比較し相互に影響することでより厳密な位置情報を得ることができる。
<姿勢センサの問題点>
目的とするパノラマ写真撮影においては、姿勢センサ14の精度よりも画像の精度の方が高くなっている。姿勢センサ14の情報のみで位置情報としてしまうと、パノラマ写真として成り立たないほどの粗さとなってしまう。
精度としては期待せずに、本当に情報が取れないときの補佐とする様な使い方となる。
一般的な物理センサと同じように、姿勢センサも安定した値を出さず常に揺れている。 また、制止時のゼロ位置が状況によって変化するため、撮影前に静止状態を作り出しゼロ位置の値を計測する必要がある。その値の計測後はゼロ値からの変位でどれくらい移動したかを計測する。
<画像認識とその補正>
本構成では、連続したパノラマ写真を撮影しながら、姿勢センサの情報もメタデータとして記録していく。
この方法では姿勢センサ14の揺れが大きすぎるため、後々パノラマ合成時にメタデータの情報が使いにくいという難点がある。
そこで、撮影時に画像認識によるメタデータを補正計算しながら記録していく。
こうしたメタデータを記録するにはカメラが今どこを向いているのかといった空間情報を内部に保持し、それを更新していくのであるが、様々な要因でこの値の精度が落ちていく。
そこで、本実施形態では、画像認識と姿勢センサからこの内部保持している空間情報をリアルタイムに補正更新していこうというのが、ダイナミックキャリブレーションである。
連続したパノラマ写真を撮影する際、モータ駆動により予め移動シナリオが存在する場合と、手でスイープ移動させるため移動シナリオが存在しない場合の二通りが存在する。
モータ駆動で移動シナリオが存在する場合は、予めおおよその撮影位置が分かっているが撮影中の揺れや移動までは考慮できない。そうした、撮影時の変化を検知するために姿勢センサ14を用いる。
姿勢センサ14で撮影時の変化を感知したら画像認識で実際の移動シナリオとどれだけずれたかを精査する。この際の精査基準に姿勢センサ14の移動量を用いると画像認識も容易となる。
こうして、期待する移動シナリオとの誤差が算出できたら、移動シナリオの値に加算し実際に撮影した位置情報を撮影写真のメタデータとして記録していく。
手作業によるスイープ撮影の場合は移動シナリオが存在しないため、毎フレームの撮影毎に前フレームと今フレームを画像認識による比較で移動量を算出する。
このときどれだけ動いたかが分かりにくいので、姿勢センサ14の情報からおおよその移動量を得てその値を元に画像認識を行うことで精度の良い移動量算出が行える。
もし画像認識が困難だった場合は姿勢センサから得た移動量を記録しておき後ほど前後のフレームの位置関係などと照らし合わせて座標を決定することになる。
図16は、連続撮影した画像とセンサ情報を対応させて高精度化する方法であって、静止時のセンサ値のゼロ補正を示す機能ブロック図である。
図16において、撮像素子12を通して撮影したフレーム間の画像比較と移動量を検出部51で検出する。
角速度センサ142の検出信号、加速度センサ141の検出信号、および検出部51の検出信号を基に静止検出部52で静止検出を行い、静止時の角速度センサの基準値を得る。
そして、記録部53により基準値の決定を行い、その基準値をメモリ17に記録する。う。
図17は、連続撮影した画像とセンサ情報を対応させて高精度化する方法であって、移動情報の協調により高精度化を示す機能ブロック図である。
図17において、角速度センサ142の検出信号に対して機能ブロック54でゼロ基準値を設定して、移動量積分部55で移動量を積分する。
また、撮像素子12を通して撮影したフレーム間の画像比較と移動量を検出部51で検出する。
移動量積分部55と検出部51の出力から協調補正ロジック56で協調補正し、高精度の相対移動情報を得る。
このように、第3の構成では、連続した画像の記録において、画像認識技術で得られたフレームの移動情報と、姿勢センサからの移動情報を対応させる。片方だけでは不明な、画像のピクセル画角、姿勢センサの静止時の値、姿勢センサ値のピクセル画角対応といった情報を算出する。
したがって、画像から認識する方法も姿勢センサで検出する方法も単独では満足な精度のものが得られなかったが、その両者を協調させるというこの技術により、精度と安定度を格段に向上させることが可能となる。
ここで、上述した第2および第3の構成について、図18〜図21に関連付けてさらに詳述する。
<撮影写真と撮影者の回転移動>
パノラマ写真を撮影する際、撮影位置が変動すると視差による非連続性が発生する。
視差による非連続性は撮影後の画像処理で補正することができない。
このため、パノラマ写真を撮影する場合、撮影者とカメラは特定の位置で静止しカメラの焦点が一箇所になるようその場で回転しながら写真を撮影する。
このとき、撮影後の異なる2枚の写真内で見た目の移動距離は撮影時の回転量に比例する。
写真がデジタル画像であり、そのサイズがピクセル数で表現できる場合、2枚の画像間で何ピクセルの移動であったかは撮影時どれくらいの回転移動距離があったか逆算することが可能であるが、このとき必要なパラメータとして画角がある。
画角とは、写真一枚に写っている左右幅もしくは上下幅が撮影空間で何度の範囲かを示す数値である。
画角は撮影前に計測し与えられるパラメータであり、撮影中は揺るがないものとする。
水平画角が30度であり、撮影したデジタル写真の横方向のピクセル数が1000ピクセルであった場合、1ピクセルあたりの撮影空間角は0.03度となる。つまり、2枚の写真間で800ピクセル移動していることが認識できたとき、実際の撮影は24度回転して撮影されたもの計算される。
この1ピクセルあたりの画角が最も重要な初期値として適用される。
1ピクセルあたりの画角=フレーム画角/フレームピクセル数
写真2枚の撮影時回転量=写真2枚のピクセル上での移動量*1ピクセルあたりの画角
実際の1ピクセルあたりの画角は初期値としてあらかじめ計測して保持しておく。
<角速度センサと回転量>
角速度センサは現在の角速度を出力する。
時間経過によって出力値が変動するため、角速度の変化を知ることができるが、その値が直接回転量を表してはいない。角速度センサから回転角を得るためには、積分値の単位を規定することが必要となる。
角速度センサを一定時間ごとに計測を行い、この計測間隔を重要なパラメータとして固定する。
計測した角速度を時間で積分し、その間に実際に回転した量を外部からの計測で知る必要がある。積分された角速度を実際に回転した量で除算し、1度あたりの各速度積分値を求める。
以降は、角速度積分値を1度あたりの角速度積分値で除算することで、比例的に回転移動量を求めることができる。
実際の1度あたりの角速度積分値は初期値としてあらかじめ計測して保持しておく。
<ダイナミックキャリブレーション>
角速度センサの出力は相対的な角速度であるが、すぐれた角速度センサでない限りその出力は環境によって変化する。その変化が実際の計測に影響を及ぼすので、計測の度に補正を行う必要がある。
パノラマ撮影に特化して、その補正を撮影したパノラマ写真からのフィードバックで自動的に行う処理を、ここではダイナミックキャリブレーションという。
角速度センサで、環境によって変動するには静止時零点位置と1度あたりの角速度積分値の二つである。それと相対移動により積分誤差の積み上げがあり、以上3項目の補正を行う。
<角速度センサの零点補正>
図18は、角速度センサの零点補正処理のフローチャートである。
角速度センサ142の零点補正においては、図18のステップST1〜ST16の処理が行われる。
角速度センサ142が静止しているときの出力値が正確にわからないと角速度を検出することができない。ところが、この静止時の零点が温度等の環境によって変化してしまうことがある。
この零点ドリフトを画像マッチングの結果から補正していき、撮影時の正確な零点を求める。
スタート時の角速度センサ142の零点出力値は初期値としてあらかじめ設定されている値を用いる。
2フレーム間の画像マッチングを行い(ST1〜ST3)、マッチングが高周波成分を含んだたしかなものであり、かつ、X,Y,Z軸方向に移動がなかった場合、X,Y,Z軸方向の角度センサは零点を指しているものとして数値をサンプリングする。
このとき零点としてサンプリングされた値を用いて補正を行う(ST4〜ST15)。
なお、軸方向に移動が検出された場合は零点ではないためサンプリングを行わず、零点補正は行われない。
サンプルを行ったらサンプル数をインクリメントし、零点値を補正する。
補正は現在の零点値とサンプル値の差分をサンプル数で除算したものを加算し、平均値の算出とする。
補正零点値=零点値+(サンプル値・零点値)・サンプル数
<角速度センサの移動量補正>
図19は、角速度センサの移動量補正のフローチャートである。
角速度センサの移動量補正においては、図19のステップST21〜ST26の処理が行われる。
1度あたりの角速度積分値は、角速度センサの角速度積分値から回転角を求めるパラメータであるが温度等の環境によって変化してしまうことがある。
この1度あたりの角速度積分値を画像マッチングを行い(ST21〜ST23)、マッチングの結果から補正、更新していき、撮影中の正確な値を求める(ST24〜ST26)。
2フレーム間の画像マッチングを行い、マッチングが高周波成分を含んだ確かなものであった場合、画像マッチングによって得られたX軸、Y軸、Z軸それぞれの移動量とそのときの角速度積分値から1度あたりの角速度積分値を求める。
1度あたりの角速度積分値=角速度積分値/(1ピクセルあたりの画角*X軸ピクセル移動量)
補正1度あたりの角速度積分値=1度あたりの角速度積分値+(サンプル値・1度あたりの角速度積分値)/サンプル数
<加速度センサによる角速度センサの補助>
角速度センサは相対的な角移動量を出力する。
現在どの位置にいるかという絶対位置情報はそれまでの相対値を積分することで算出される。
その相対値にわずかなずれやノイズが含まれていた場合、積分する時間が長引くほど大きなずれを生じる可能性がある。
角速度センサは重力加速度の検出でY軸方向の回転(チルト)とZ軸方向の回転(ロール)の絶対値を得ることができるが、パノラマ撮影に対して大きな単位でしか検出できず有用度では角速度センサにおとる。
しかし、絶対値が出てくるというメリットから、定期的に相対移動距離の積分値と比較して積分値の補正、絶対値の補正を行うことができる。
加速度センサで十分検出できるくらいの絶対量を移動したら、そのタイミングで相対移動距離の積分値による絶対位置と比較して必要であれば補正を行う。
<画像から得る移動とセンサから移動>
図20は、移動量の取得方法のフローチャートである。
移動量の取得方法においては、図20のステップST31〜ST35の処理が行われる。
角速度センサ142の解像度と、画像マッチングによる移動量の解像度では画像マッチングの方が遥かに精度の高い数値となる。このため、相対移動距離はできるだけ画像マッチングから算出できるものを用いる(ST33,ST34)。
一面が同色の空ならの高周波成分が含まれない画像間ではマッチングが取れないが、そのときは角速度センサ142の数値を用いて相対移動量を算出していく(ST33,ST35)。
<撮影した写真から空間座標を割り当てる方法>
図21は、撮影した写真から空間座標を割り当てる方法のフローチャートである。
撮影した写真から空間座標を割り当てる方法においては、図21のステップST41〜ST47の処理が行われる。
上記のように撮影したパノラマ写真すべてに、画像マッチングと角度センサから得た前フレームからの相対的回転移動量を求めることができる(ST41〜ST43)。
パノラマ写真を構成するためには、これら相対的回転移動量から絶対空間座標への割り当てを行う必要がある。
撮影した写真はすべて同じ画角なので、撮影した中央の点、つまりカメラが向いていたベクトルのみに注視して割り当てを考慮することができる。
前フレームとの相対的回転移動量というのは、このカメラが向いていた方向、撮影視線ベクトルが前フレームのベクトルとどれだけの角をなしているかと表現することもできる。
配置にあたって視線ベクトルだけに簡略化するとフレームZ軸方向の回転、つまりロールが取れなくなる。
そこで、フレームの真上Y軸上にずらしたベクトルをもう一つ用意することでフレームのロールを表現することにする。
この2つのベクトルがカメラの撮影方向とZ軸のロールを表し、回転処理を行ってもフレームの情報を保持し続ける。
空間に配置する際、新しいフレームは必ず空間正面位置a(0,0,1.0)には位置する。
相対的回転移動量が出ている場合は、その分だけ逆方向に前のフレームすべてを回転させてから空間正面位置a(0,0,1.0)を配置する(ST44〜ST46)。
前のフレームから移動ではなく、現在のフレームから過去のフレーム画どれだけ移動したかということを基準にしてあつかう。
今回撮影したフレームをAとし、前回撮影したフレームをBとする。
フレームAを基準にして、フレームBがどれだけ相対的回転移動したかを算出する(ST43)。
現在のAのカメラ位置からみてBのカメラ位置がX軸方向にrx、Y軸方向にry、Z軸方向にrzだけ回転移動したものだと算出されたらA以外過去に撮影されたフレームの撮影方向ベクトルおよびロール指標ベクトルすべてに、rx,ry,rzの回転をかける。
回転マトリクスは一般的な三次元空間のものでよい。
X軸方向の回転
x2=x*cos(rx)-y*sin(rx)
y2=y*sin(rx)+z*cos(rx)
z2=z
Y軸方向の回転
x2=x*cos(ry)-z*sin(ry)
y2=y
z2=x*sin(ry)+z*cos(ry)
Y軸方向の回転
x2=x
y2=y*cos(rz)-z*sin(rz)
z2=y*sin(rz)+z*cos(rz)
そのようにして全体を回転させつつ、正面という定位置に新しいフレームを張っていくことで相対的回転移動量から絶対空間座標への転写が行える。
最終的にすべてを適用し終えたとき、すべてのフレームは適した絶対座標を持ちうる。
だだし、最後のフレームが基準になっているので、任意のフレームを基準に相対移動する必要がある場合もある。
次に、第4の構成について説明する。
[第4の構成]
第4の構成では、視差による影響や移動体による影響を検出した場合に、表示装置18や発音部20により警告を出して撮影のやり直しを促す。
また、第4の構成では、移動体の検出に関し、重複率を50%以上として被写体のどの部分も少なくとも2枚の画像にまたがって写るようにし、隣接画像間の移動ベクトルの類似性で視差による影響や動被写体を検出する。
広い範囲の被写体をさっと一振りで複数の短冊状画像を撮影して1枚に合成するカメラ装置10において、近距離の被写体がパララックスの影響をどの程度受けているかを検出し、カメラの視点を中心として撮影し直すことを促す。
一般に広角のカメラの視点はレンズの直後にあり、カメラを手に持って手首を中心に回すのが理想的である。
こうしてカメラの視点を中心として撮影したものは近距離の被写体が含まれていても正しく合成することができる。
本実施形態のカメラ装置10は、複数の画像をすべて短冊状に撮影するのでカメラの視点から少々ずれた位置を中心として撮影してもその影響が出にくいという長所も持っている。
しかし、それでもカメラを手に持って肩を中心にして回して撮影した場合、カメラの視点よりかなり後方を中心として回すことになり、パララックスの影響を強く受ける。
すべてが遠方の景色なら殆ど問題ないが、近距離の被写体が含まれていると隣接画像との位置関係が遠距離の被写体と異なり、正しく合成することができない。
そこで、第4の構成では、パララックスの影響で正しい画像合成ができないことが検出された場合に、視点を中心にして回すように指示を出して撮り直しを促すことにしている。
[視差検出の方法]
視差の検出方法について説明する。
時間的に隣接する2枚の画像の重複する領域内で複数のブロックマッチング(BM)を行い、その結果の移動ベクトルを求める。
通常、正しくスイープされているとBM結果がほぼ同一のベクトルになる。
肩中心に回したとき、遠距離の景色の一部に近距離の被写体があると、異なるベクトルの値になる。
近距離の被写体と遠距離の被写体の境目では画像の変化が激しいため、BM結果は正しく得られない。この方法で視差を検出する。
以下に、視差検出の具体的な処理例について示す。
以下の処理は、システムコントローラ16の画像信号処理部161とマイクロコンピュータ162により協働して行われる。
<視差検出の方法>
[ラフ合成]
カメラ装置10を左から右に向かって回転移動させ、120度程度の範囲を数10枚撮影する。
隣接する画像には同一の被写体が写っている領域(重複領域)が十分に存在する。
撮影時のカメラ装置10の動きが姿勢センサ14によって検出され、細かい時間間隔で記録されている。
このデータは撮影された画像と同期を取りながら記録されているので、精度はさほど高くないが、各画像がどの方向を向いて撮影されたのかを知ることができる。
この情報に基づいて各画像を経度緯度平面上に配置する。
この状態では隣接画像の重複領域は、100画素程度の画素はあるものの、ほぼ正しい位置に置かれている。
ここから精密自動合成のルーチンに入る。
[精密自動合成]
重複領域内で複数の場所で動き検出(ME;動き探索)を行う。
ME、すなわち動き検出では、FFTによる位相限定相関法を用いている。これは、特徴点抽出法やその他の方法であっても適用可能である。
平行移動のみの場合は、MEは一つで良い。
MEが2個あれば互いの傾斜がわかる。
3個あれば、レンズ歪みの係数がわかる。
重複領域内に動くものがなく、遠景で手持ちでもその影響が生じない場合はMEの数は少なくても良い。
しかし、動くものがあったり、近距離で視差の影響があったりすると、MEの数が少ないと何が起こっているかを把握することができない。
そこで、重複領域内で可能な限り、多くのMEを行う。
多くのMEの結果の移動ベクトルがほぼ同じ値の場合、一方の画像を平行移動によって合わせこむことができる。
ほぼ同じ値でない場合でも、上部から下部にかけて一様に変化する場合、一方の画像を傾斜させることで合わせこむことができる。
しかし、異なるME結果が重複領域内に存在する場合、合成ができない。
その理由は、動く被写体が存在するか、近距離と遠距離の被写体が混在するときに視点を移動させながら撮影したかである。
[MEの方法]
最初はMEを行う画像を縮小して大まかに行う。
だんだん縮小率を下げ、最後は等倍の画像で行う。
MEのブロックサイズを変えたり、ブロックの中心間距離を狭くして、より詳細な移動ベクトルを取得できるようにする。
[ME結果の評価]
多くのMEの結果から正しいスイッチングが可能か否かを判断し、不可能な場合、その旨を表示して撮影のやり直しを促す。
可能な場合はそのままスイッチング処理を行い、合成結果を表示すると共に、記録媒体(メモリ)に記録する。
[移動被写体の振る舞い]
次に、移動被写体の振る舞いについて説明する。
時間的に隣接する2枚の画像の重複する領域内で複数のブロックマッチング(BM)を行い、その結果の移動ベクトルを求める。
移動の方向に応じたベクトルになり、静止部分との分離が可能である。
移動物体と静止被写体の境目では画像の変化が激しいため、BM結果は正しく得られない。横にスイープしている場合、近距離の静止被写体による視差なのか、横に移動する被写体なのかを識別することができない。
そこで、視差と動被写体を区別しないで警告を発するようにする。
これを検出した場合、現在の技術ではこれを違和感なくステッチングすることができない。
そこで、本実施形態においては、「単に撮りなおし」、または「撮り方を変えて撮りなおし」を促すように警告を発する。
たとえば、「視差または移動体の影響が出ています。回転の半径を小さくして撮りなおしてください。」との警告を発する。
このように、第4の構成では、動被写体の存在が撮影直後にわかるため、撮りなおしができるようになる。
その結果、視差の影響が撮影直後にわかるため、撮りなおしができるようになる利点がある。
次に、第5の構成について説明する。
[第5の構成]
第5の構成では、スイープ角速度(ユーザがカメラを振り回す速さ)の適正値を知らせ、速すぎる場合に警告を出して撮影のやり直しを促す。
前述したように、マイクロコンピュータ162は、表示装置18、たとえばLCDの画面に横軸に時間、縦軸に姿勢センサ(ジャイロセンサ)の出力(スイープ角速度)をグラフにして表示する。
水平画角、水平画素数、シャッタ速度が設定されると最大スイープ角速度が決まるので、その60%〜80%を適正範囲RNGとして、図4に示すようにグラフに表示する。
操作手順の概略は以下の通りである。
[1]操作部19のスタートボタンを押してカメラを回し、その後スタートボタンを離す。
[2]スタートボタンが押されている間のスィープ角速度が、図4に示すように、表示装置18の画面に表示される。
[3]適正範囲RNGより遅い場合には警告はないが、一瞬でも範囲を越えて速い場合には警告音が出る。
このように、第5の構成では、適正な速さを教えてくれるので、速すぎて重なりがなくなったり、遅すぎて狭い範囲しか撮れなかったりという不都合がなくなった。
ここで、スイープ速度の計算処理例について、図22に関連付けて説明する。
<スイープ速度の計算>
露光時間、画素数、1ライン読み出し時間、画角、重複率、フレームレート等が決まったとき、ぶれの角度、ぶれの画素数、その他の問題が生じないためのスイープ速度を計算で求める方法について説明する。
3つの式で得られるスイープ速度の最も遅い値がその条件における最高角速度である。
図22に示す表は、画角やスイープ速度など、各種パラメータを与えたとき、ぶれの画素数やフレームレートがどんな値になるかを計算したものである。
[1]〜[6]は条件を変えた場合である。
以下に、図22の条件[1]を例にとって説明する。
ぶれの角度ab2とぶれの画素数nb2とフレームレートfは、スイープ速度vp、画角th、水平画素数H、重複率kを用いて、図22の表の右端の計算式から次のようになる。
ab2=vp・(ts+n・rs)1000
nb2=vp・(ts+n・rs)・H/th
f=100/(100−k)・H・vp/n/th
これらより、スイープ速度vpは次にようになる。
vp=1000・ab2/(ts+n・rs)[deg] ・・・(1)
vp=nb2・th/H/(ts+n・rs)[deg/sec]・・・(2)
vp=(100−k)/100・n・th・f/H ・・・(3)
ここで、ぶれの角度ab2=0,28度、露光時間1[msec]、短辺の画素数n=400画素、1ライン読み出し時間rs=7.8[μsec]とすれば、スイープ速度はvp=68[deg/sec]となる。
また、ぶれの画素数nb2=19.9画素、長辺の画角th=50度、水平画素数H=3560画素とすれば、スイープ速度はvp=68[deg/sec]となる。
また、重複率k=20%、フレームレートf=15.13のときスイープ速度はvp=68[deg/sec]となる。
したがって、上記(1)、(2)、(3)式の右辺のパラメータが変換したときスイープ速度はこの式によって制限を受ける。
式(1)で得られたvpの値より速くスイープすると光学手振れ補正素子の動作限界を超える。
式(2)で得られたvpの値より速くスイープするとぶれの量が許容値を超える。
式(3)で得られたvpの値より速くスイープすると重複量が減り、場合いよっては重複しなくなる。
以上詳細に説明した第1〜第5の構成は、それぞれ単独であるいは全てをカメラ装置10に採用することも可能であり、また、これらを適宜組み合わせ採用することも可能である。
なお、以上詳細に説明した方法は、上記手順に応じたプログラムとして形成し、CPU等のコンピュータで実行するように構成することも可能である。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
本発明の実施形態に係る画像処理装置を採用したカメラ装置の構成例を示すブロック図である。 本実施形態に係るカメラ装置において広角撮影を行った場合を概念的に示す図である。 精密合成処理部のブロック図である。 姿勢センサの出力(スイープ角速度)をグラフにして表示する場合を示す図である。 本実施形態の第1の構成における撮影形態を説明するための図である。 CMOSイメージセンサの露光時間と蓄積電荷の読み出し時間、そして光軸制御時間の関係を示す図である。 相互電力スペクトル(CPS)を用いたトランスレーションにおけるステッチング画像を示す図である。 ブロックマッチング(BM)でパラメータを抽出する処理を説明するための図であって、条件の4枚の画像を選択する処理を示す図である。 ブロックマッチング(BM)でパラメータを抽出する処理を説明するための図であって、一つの境界で3箇所のBMを行う例を示す図である。 ブロックマッチング(BM)でパラメータを抽出する処理を説明するための図であって、レンズ歪があるとBMの結果が弓なりになることを示す図である。 ブロックマッチング(BM)でパラメータを抽出する処理を説明するための図であって、チルト角が正しくないと左右方向の誤差が生じる例を示す図である。 ブロックマッチング(BM)でパラメータを抽出する処理を説明するための図であって、左右の境界で上下の伸縮が起きているときに横にずれができる例を示す図である。 ブロックマッチング(BM)でパラメータを抽出する処理を説明するための図であって、画像が回転する場合に生じる誤差の例を示す図である。 ブロックマッチング(BM)でパラメータを抽出する処理後に多くの枚数に拡張して平行移動を行って最も誤差が小さくなるようにする処理を説明するための図である。 連続撮影した画像とセンサ情報を基に空間配置する方法を示す機能ブロック図である。 連続撮影した画像とセンサ情報を対応させて高精度化する方法であって、静止時のセンサ値のゼロ補正を示す機能ブロック図である。 連続撮影した画像とセンサ情報を対応させて高精度化する方法であって、移動情報の協調により高精度化を示す機能ブロック図である。 角度センサの零点補正処理のフローチャートである。 角速度センサの移動量補正のフローチャートである。 移動量の取得方法のフローチャートである。 撮影した写真から空間座標を割り当てる方法のフローチャートである。 スイープ速度の計算処理例について説明するための図である。
符号の説明
10・・・カメラ装置、11・・・光学系、112・・・シフトレンズ、12・・・撮像素子、13・・・アナログフロントエンド回路(AFE)、14・・・姿勢センサ、141・・・加速度センサ、142・・・角速度センサ、16・・・システムコントローラ、161・・・画像信号処理部、162・・・マイクロコンピュータ、17・・・メモリ、18・・・表示装置、20・・・発音部。

Claims (7)

  1. 合成処理により1枚のパノラマ画像を生成するために、撮像装置を移動させながら光学系を通して複数の被写体像を撮像する撮像素子と、
    時間的に隣接する2枚の画像の重複する領域内で複数の動き検出を行って複数の動きベクトルを求め、異なる値のベクトルが存在する場合に視差を検出したものと認識し、隣接画像間の移動ベクトルの類似性で視差による影響または動被写体を検出する画像信号処理部と、
    上記画像信号処理部が、移動体または視差による影響を検出した場合に警告を出して撮影のやり直しを促す制御部と、
    を備える
    撮像装置。
  2. 上記画像信号処理部は、
    時間的に隣接する2枚の画像の重複する領域内で複数の動き検出を行って複数の動きベクトルを求め、
    上記制御部は、
    移動物体と静止被写体の境目では、視差と動被写体を区別することなく警告を発する
    請求項1記載の撮像装置。
  3. 上記制御部は、
    被写体のどの部分も少なくとも2枚の画像にまたがって写るように重複率を保持して数枚の撮影画像を得るように制御する
    請求項1または2記載の撮像装置。
  4. 撮像装置を移動させながら、光学系を通して撮像素子で被写体像を撮像するステップと、
    時間的に隣接する2枚の画像の重複する領域内で複数の動き検出を行って複数の動きベクトルを求め、異なる値のベクトルが存在する場合に視差を検出したものと認識し、隣接画像間の移動ベクトルの類似性で視差による影響または動被写体を検出するステップと、
    上記移動体または視差による影響を検出した場合に警告を出して撮影のやり直しを促すステップと
    を有する撮像方法。
  5. 時間的に隣接する2枚の画像の重複する領域内で複数の動き検出を行って複数の動きベクトルを求め、
    移動物体と静止被写体の境目では、視差と移動被写体を区別することなく警告を発する
    請求項4記載の撮像方法。
  6. 被写体のどの部分も少なくとも2枚の画像にまたがって写るように重複率を保持して数枚の撮影画像を得るように制御する
    請求項4または5記載の撮像方法。
  7. 撮像装置を移動させながら、光学系を通して撮像素子で被写体像を撮像する処理と、
    時間的に隣接する2枚の画像の重複する領域内で複数の動き検出を行って複数の動きベクトルを求め、異なる値のベクトルが存在する場合に視差を検出したものと認識し、隣接画像間の移動ベクトルの類似性で視差による影響または動被写体を検出する処理と、
    上記移動体または視差による影響を検出した場合に警告を出して撮影のやり直しを促す処理と
    を有する撮像処理をコンピュータに実行させるためのプログラム。
JP2008258114A 2008-10-03 2008-10-03 撮像装置、撮像方法、およびプログラム Expired - Fee Related JP5163409B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008258114A JP5163409B2 (ja) 2008-10-03 2008-10-03 撮像装置、撮像方法、およびプログラム
CN2009102044431A CN101715055B (zh) 2008-10-03 2009-09-29 成像设备和成像方法
US12/570,771 US8767036B2 (en) 2008-10-03 2009-09-30 Panoramic imaging apparatus, imaging method, and program with warning detection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008258114A JP5163409B2 (ja) 2008-10-03 2008-10-03 撮像装置、撮像方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2010088085A JP2010088085A (ja) 2010-04-15
JP5163409B2 true JP5163409B2 (ja) 2013-03-13

Family

ID=42075503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008258114A Expired - Fee Related JP5163409B2 (ja) 2008-10-03 2008-10-03 撮像装置、撮像方法、およびプログラム

Country Status (3)

Country Link
US (1) US8767036B2 (ja)
JP (1) JP5163409B2 (ja)
CN (1) CN101715055B (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5233606B2 (ja) * 2008-11-19 2013-07-10 富士通株式会社 絶対移動経路算出装置及び方法、並びにプログラム
JP4618370B2 (ja) * 2008-12-08 2011-01-26 ソニー株式会社 撮像装置、撮像方法、およびプログラム
JP2010136302A (ja) * 2008-12-08 2010-06-17 Sony Corp 撮像装置、撮像方法、およびプログラム
JP5319347B2 (ja) * 2009-03-17 2013-10-16 キヤノン株式会社 撮像装置及びその制御方法
US8488040B2 (en) 2010-06-18 2013-07-16 Microsoft Corporation Mobile and server-side computational photography
CN103081455B (zh) * 2010-11-29 2017-03-08 快图有限公司 从手持设备所捕获的多个图像进行肖像图像合成
JP5770486B2 (ja) * 2011-02-21 2015-08-26 株式会社トプコン 全周画像計測装置
JP2012191486A (ja) * 2011-03-11 2012-10-04 Sony Corp 画像合成装置と画像合成方法およびプログラム
CN102860836B (zh) * 2011-07-04 2015-01-07 株式会社东芝 图像处理装置、图像处理方法以及医用图像诊断装置
TWI526706B (zh) * 2011-10-05 2016-03-21 原相科技股份有限公司 影像系統
US9111484B2 (en) * 2012-05-03 2015-08-18 Semiconductor Components Industries, Llc Electronic device for scene evaluation and image projection onto non-planar screens
JP2015156523A (ja) * 2012-06-06 2015-08-27 ソニー株式会社 画像処理装置、画像処理方法、プログラム
JP6331279B2 (ja) * 2013-07-23 2018-05-30 株式会社ニコン 撮像装置、撮像方法およびプログラム
BR112016018024A2 (pt) * 2014-02-07 2017-08-08 Qualcomm Technologies Inc Reconhecimento de cena ao vivo que permite modificação de imagem dependente de cena antes de gravação ou exibição de imagem
US20150271400A1 (en) * 2014-03-19 2015-09-24 Htc Corporation Handheld electronic device, panoramic image forming method and non-transitory machine readable medium thereof
JP5843033B1 (ja) * 2014-05-15 2016-01-13 株式会社リコー 撮像システム、撮像装置、プログラムおよびシステム
EP3255870A4 (en) * 2015-02-02 2018-09-12 OCR Systems Inc. Optical terminal device and scan program
US10477064B2 (en) * 2017-08-21 2019-11-12 Gopro, Inc. Image stitching with electronic rolling shutter correction
JP6545229B2 (ja) * 2017-08-23 2019-07-17 キヤノン株式会社 画像処理装置、撮像装置、画像処理装置の制御方法およびプログラム
CN108038820B (zh) * 2017-11-14 2021-02-02 影石创新科技股份有限公司 一种实现子弹时间拍摄效果的方法、装置及全景相机
IL257256A (en) * 2018-01-30 2018-03-29 HYATT Yonatan System and method for establishing production line tests
CN109146949B (zh) * 2018-09-05 2019-10-22 天目爱视(北京)科技有限公司 一种基于视频数据的3d测量及信息获取装置
US20200104977A1 (en) * 2018-09-30 2020-04-02 Augentix Inc. Method of Adaptive Image Stitching and Image Processing Device
CN110505383B (zh) * 2019-08-29 2021-07-23 重庆金山医疗技术研究院有限公司 一种图像获取方法、图像获取装置及内窥镜系统
CN111553262B (zh) * 2020-04-26 2023-09-01 上海微阱电子科技有限公司 一种快速检测目标图形的检测装置及方法
CN111741223B (zh) * 2020-07-17 2022-04-26 北京搜房科技发展有限公司 一种全景图像拍摄方法、装置和系统

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452105A (en) * 1992-11-19 1995-09-19 Sharp Kabushiki Kaisha Joint-portion processing device for image data for use in an image processing apparatus
KR100215448B1 (ko) 1996-04-27 1999-08-16 윤종용 캠코더의 손떨림/이동속도 디스플레이장치
US5937212A (en) * 1996-11-15 1999-08-10 Canon Kabushiki Kaisha Image pickup apparatus
JP3802653B2 (ja) * 1997-05-21 2006-07-26 オリンパス株式会社 立体画像表示装置
JP3928222B2 (ja) 1997-09-09 2007-06-13 ソニー株式会社 画像信号撮像および記録装置および方法
US7015954B1 (en) * 1999-08-09 2006-03-21 Fuji Xerox Co., Ltd. Automatic video system using multiple cameras
US7149549B1 (en) * 2000-10-26 2006-12-12 Ortiz Luis M Providing multiple perspectives for a venue activity through an electronic hand held device
JP3925299B2 (ja) 2002-05-15 2007-06-06 ソニー株式会社 モニタリングシステムおよび方法
JP2004221757A (ja) * 2003-01-10 2004-08-05 Renesas Technology Corp 動き検出装置及び探索領域形状可変動き検出器
EP1617684A4 (en) * 2003-04-17 2009-06-03 Sharp Kk THREE-DIMENSIONAL IMAGE CREATION DEVICE, THREE-DIMENSIONAL IMAGE REPRODUCING DEVICE, THREE-DIMENSIONAL IMAGE PROCESSING DEVICE, THREE-DIMENSIONAL IMAGE PROCESSING PROGRAM, AND RECORDING MEDIUM CONTAINING THE SAME
US7746375B2 (en) * 2003-10-28 2010-06-29 Koninklijke Philips Electronics N.V. Digital camera with panorama or mosaic functionality
JP4591657B2 (ja) * 2003-12-22 2010-12-01 キヤノン株式会社 動画像符号化装置及びその制御方法、プログラム
JP4356621B2 (ja) * 2004-04-16 2009-11-04 ソニー株式会社 撮像装置及び撮像方法
JP4340968B2 (ja) * 2004-05-07 2009-10-07 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
US7586518B2 (en) * 2004-06-18 2009-09-08 Canon Kabushiki Kaisha Imaging technique performing focusing on plurality of images
JP4328692B2 (ja) * 2004-08-11 2009-09-09 国立大学法人東京工業大学 物体検出装置
JP4926400B2 (ja) * 2004-12-27 2012-05-09 京セラ株式会社 移動カメラシステム
EP1843598A4 (en) * 2005-01-07 2010-03-10 Fujitsu Ltd COMPRESSION / ENCODING DEVICE, DECOMPRESSION / DECODING DEVICE
US7457433B2 (en) * 2005-01-20 2008-11-25 International Business Machines Corporation System and method for analyzing video from non-static camera
JP2006217478A (ja) * 2005-02-07 2006-08-17 Sony Ericsson Mobilecommunications Japan Inc 画像撮影装置及び画像撮影方法
JP4899803B2 (ja) * 2006-11-06 2012-03-21 ソニー株式会社 画像処理装置、カメラ装置、画像処理方法、およびプログラム
KR100866230B1 (ko) * 2007-04-12 2008-10-30 삼성전자주식회사 파노라마 사진 촬영 방법
US8866920B2 (en) * 2008-05-20 2014-10-21 Pelican Imaging Corporation Capturing and processing of images using monolithic camera array with heterogeneous imagers
JP2010136302A (ja) * 2008-12-08 2010-06-17 Sony Corp 撮像装置、撮像方法、およびプログラム
JP4770924B2 (ja) * 2008-12-17 2011-09-14 ソニー株式会社 撮像装置、撮像方法、およびプログラム

Also Published As

Publication number Publication date
US8767036B2 (en) 2014-07-01
CN101715055A (zh) 2010-05-26
US20100085442A1 (en) 2010-04-08
CN101715055B (zh) 2012-03-21
JP2010088085A (ja) 2010-04-15

Similar Documents

Publication Publication Date Title
JP5163409B2 (ja) 撮像装置、撮像方法、およびプログラム
JP4770924B2 (ja) 撮像装置、撮像方法、およびプログラム
JP4962460B2 (ja) 撮像装置、撮像方法、およびプログラム
JP4618370B2 (ja) 撮像装置、撮像方法、およびプログラム
JP2010136302A (ja) 撮像装置、撮像方法、およびプログラム
KR102526794B1 (ko) 카메라 모듈, 고체 촬상 소자, 전자 기기 및 촬상 방법
JP5659305B2 (ja) 画像生成装置および画像生成方法
US8294773B2 (en) Image capturing apparatus and image processing method
US20110234750A1 (en) Capturing Two or More Images to Form a Panoramic Image
JP5865388B2 (ja) 画像生成装置および画像生成方法
WO2013069047A1 (ja) 画像生成装置および画像生成方法
WO2013069049A1 (ja) 画像生成装置および画像生成方法
JP2010136302A5 (ja) 撮像装置、撮像装置の制御方法、およびプログラム
JP3788714B2 (ja) 撮像装置及びデジタルカメラ
JP5248951B2 (ja) カメラ装置、画像撮影支援装置、画像撮影支援方法、及び画像撮影支援プログラム
JP4517813B2 (ja) パンニング撮影可能なカメラおよび動画像編集用プログラム
JP5393877B2 (ja) 撮像装置および集積回路
JP2011055084A (ja) 撮像装置及び電子機器
JP2011259341A (ja) 撮像装置
JP5424725B2 (ja) 撮像装置、撮像装置の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110922

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121029

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: 20121120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121203

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

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5163409

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees