JP6859442B2 - キャリブレーション装置、キャリブレーションシステム、およびキャリブレーション方法 - Google Patents
キャリブレーション装置、キャリブレーションシステム、およびキャリブレーション方法 Download PDFInfo
- Publication number
- JP6859442B2 JP6859442B2 JP2019540760A JP2019540760A JP6859442B2 JP 6859442 B2 JP6859442 B2 JP 6859442B2 JP 2019540760 A JP2019540760 A JP 2019540760A JP 2019540760 A JP2019540760 A JP 2019540760A JP 6859442 B2 JP6859442 B2 JP 6859442B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- chart
- calibration
- captured image
- correction
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 116
- 238000012937 correction Methods 0.000 claims description 212
- 238000012545 processing Methods 0.000 claims description 87
- 238000003384 imaging method Methods 0.000 claims description 38
- 230000002441 reversible effect Effects 0.000 claims description 29
- 238000006243 chemical reaction Methods 0.000 claims description 20
- 230000003287 optical effect Effects 0.000 claims description 20
- 239000003550 marker Substances 0.000 claims description 19
- 230000009466 transformation Effects 0.000 claims description 11
- 238000005070 sampling Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims description 3
- 230000036544 posture Effects 0.000 description 56
- 230000008569 process Effects 0.000 description 52
- 240000004050 Pentaglottis sempervirens Species 0.000 description 11
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000010365 information processing Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 238000010191 image analysis Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 241000226585 Antennaria plantaginifolia Species 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 125000001495 ethyl group Chemical group [H]C([H])([H])C([H])([H])* 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
- H04N17/002—Diagnosis, testing or measuring for television systems or their details for television cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
- G06T2207/30208—Marker matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- Computer Graphics (AREA)
- Studio Devices (AREA)
- Image Processing (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Image Analysis (AREA)
Description
本発明は、撮像装置のキャリブレーションを実現する装置、キャリブレーションシステム、およびキャリブレーション方法に関する。
ユーザの体やマーカーをカメラで撮影し、その像の領域を別の画像で置換してディスプレイに表示するゲームが知られている(例えば、特許文献1参照)。撮影画像における像を検出し解析することにより、被写体やカメラ自体の位置や動きを取得したり被写体の属性を認識したりする技術は、ゲーム装置や情報端末に搭載されたカメラのみならず、防犯カメラ、車載カメラ、ロボット搭載カメラなどを含むシステムにおいても広く導入されている。
それらのシステムにおける処理精度を保障するため、撮像装置の内部パラメータ、歪み補正係数、外部パラメータ等、装置固有の情報を事前に取得するキャリブレーション処理が行なわれる。内部パラメータは、撮影画像における画素の位置座標と、光学中心を原点とし長さを単位とするカメラ座標系における位置座標との関係を規定する。歪み補正係数は、レンズによる樽型歪みや円周方向の歪みを補正するための係数である。
外部パラメータは、カメラ座標系とワールド座標系の関係を規定し、特にステレオカメラなど多眼カメラについて同時にキャリブレーションを行うことにより、それぞれが撮影した画像の傾きを合わせるなどの目的で用いられる。キャリブレーション技術としては、チェッカーパターンの平面チャートを複数の視点から撮影し、撮影画像上での特徴点の位置と、実空間でのチャートの平面における特徴点の位置とが正しい対応関係となるようにパラメータを最適化するZhangの手法が広く知られている(非特許文献1参照)。
Zhengyou Zhang, "A Flexible New Technique for Camera Calibration", Microsoft Research Technical Report, MSR-TR-98-71, December 2, 1998.
Zhangの手法では、いくつかの位置や姿勢で撮像装置やチャートをセッティングしたうえ、撮影を繰り返す必要があり、作業負担が大きい。また近年、魚眼レンズを用いて広角画像を撮影する技術が一般的になりつつあるが、魚眼レンズ特有の歪みを画像全体で精度よく補正するのは困難であった。
本発明はこうした課題に鑑みてなされたものであり、その目的は、魚眼カメラのキャリブレーションを、容易かつ高精度に行うことのできる技術を提供することにある。
上記課題を解決するために、本発明のある態様はキャリブレーション装置に関する。このキャリブレーション装置は、魚眼レンズを有する撮像装置から、キャリブレーション用のチャートの撮影画像のデータを取得する撮影画像取得部と、魚眼レンズに対応するスクリーン上の位置と、当該位置に結像する前記チャートの面上の位置との関係に基づきレンズによる歪みを補正するとともに、補正された画像を評価することにより撮像装置に係るパラメータの値を導出し出力する補正部と、を備えたことを特徴とする。
本発明の別の態様もキャリブレーション装置に関する。このキャリブレーション装置は、魚眼レンズを有する撮像装置から、キャリブレーション用のチャートの撮影画像のデータを取得する撮影画像取得部と、撮像装置に係るパラメータの値を取得するパラメータ取得部と、仮想カメラとチャートのオブジェクトモデルを仮想3次元空間に配置し、仮想カメラが撮影する画像として、取得したパラメータの値を用いて撮影画像を疑似的に生成する疑似画像描画部と、疑似的に生成された画像と撮影画像とを比較することにより、チャートに対する撮像装置の位置を導出する視点調整部と、を備えたことを特徴とする。
本発明のさらに別の態様はキャリブレーションシステムに関する。このキャリブレーションシステムは、魚眼レンズを有する撮像装置と、上記キャリブレーション装置と、を備えたことを特徴とする。
本発明のさらに別の態様はキャリブレーション方法に関する。このキャリブレーション方法は、魚眼レンズを有する撮像装置から、キャリブレーション用のチャートの撮影画像のデータを取得するステップと、魚眼レンズに対応するスクリーン上の位置と、当該位置に結像する前記チャートの面上の位置との関係に基づきレンズによる歪みを補正するステップと、補正された画像を評価することにより撮像装置に係るパラメータの値を導出し出力するステップと、を含むことを特徴とする。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、撮像装置のキャリブレーションを、容易かつ高精度に行うことができる。
実施の形態1
図1は、本実施の形態を適用できるシステムの構成を例示している。このシステムは撮像装置12、キャリブレーション用のチャート200、および撮像装置12が撮影したチャート200の画像を用いてキャリブレーションを実施するキャリブレーション装置10を含む。キャリブレーション装置10は、チャート200の撮影画像を用いて撮像装置12に係る所定のパラメータを取得する。ここで所定のパラメータとは、レンズ歪み補正係数、レンズ中心の位置、接線歪み補正係数など一般的なカメラパラメータのほか、チャート200を撮影したときの撮像装置12の位置、姿勢、水平/垂直画角(以後、単に「画角」と呼ぶ)を含む。
図1は、本実施の形態を適用できるシステムの構成を例示している。このシステムは撮像装置12、キャリブレーション用のチャート200、および撮像装置12が撮影したチャート200の画像を用いてキャリブレーションを実施するキャリブレーション装置10を含む。キャリブレーション装置10は、チャート200の撮影画像を用いて撮像装置12に係る所定のパラメータを取得する。ここで所定のパラメータとは、レンズ歪み補正係数、レンズ中心の位置、接線歪み補正係数など一般的なカメラパラメータのほか、チャート200を撮影したときの撮像装置12の位置、姿勢、水平/垂直画角(以後、単に「画角」と呼ぶ)を含む。
撮像装置12は撮像光学系として魚眼レンズ、CCD(Charge Coupled Device)センサやCMOS(Complementary Metal Oxide Semiconductor)センサなどのイメージセンサ、およびデモザイク処理など一般的な画像処理を実施する機構を備え、被写空間を広角で撮影する。撮像装置12はレンズとイメージセンサのセットを1つのみ備えた単眼カメラでもよいし、当該セットを複数有する多眼カメラとしてもよい。撮像装置12に備えるカメラをどのような構成とするかは、撮影画像を用いて行う情報処理の内容によって決定してよい。
例えばユーザやコントローラなどの対象物の3次元空間における位置を撮影画像から取得して電子ゲームを実現する場合、左右に既知の間隔を設けた2つのカメラからなるステレオカメラで構成することが考えられる。また撮像装置12の形態は図示するものに限らない。例えばキャリブレーション装置10と一体的に実現してもよい。あるいは撮像装置12を、ロボットやヘッドマウントディスプレイに装備させてもよい。この場合、ロボットや、ヘッドマウントディスプレイを装着したユーザの視野に対応するような画像を所定のフレームレートで撮影し、ロボットの動作に反映させたり、対応する画像をヘッドマウントディスプレイに表示させたりするのに利用することが考えられる。
チャート200は所定のパターン(図柄)を表した平面状のボードや紙などの実物体である。あるいは当該図柄を表示した表示装置や、表示装置を備えた電子機器などでもよい。図示する例でチャート200のパターンは、図の下方の正面図に示すように、白い背景に所定幅の黒い水平線、垂直線を等間隔に配置してなる格子線と、当該格子線が形成する白い矩形の2次元配列のうち所定位置、例えば中心の矩形に配したマーカー202で構成されている。
ただしチャート200のパターンはこれに限らず、チャートの水平方向、垂直方向が所定の間隔で表される図柄と、チャート上の特定の位置を表す図柄の組み合わせであればよい。例えば、格子状に区切られてなる矩形領域のうち隣り合う矩形で白黒が逆転するようなチェッカーのパターンにマーカーを付加したものでもよいし、後に例示するバーコードなどでもよい。マーカー202は図示する例では黒い正方形であるが、それに限定する趣旨ではなく、格子線との区別が明らかな既知の形状や色であればよい。
キャリブレーション装置10は、チャート200を撮影した画像を入力データとして、撮像装置12に係る上述のパラメータを取得する。ここで入力データとする撮影画像は、魚眼レンズ特有の樽型歪みを補正する前の画像とする。キャリブレーション装置10は、そのレンズ歪みを利用することで、撮像装置12の姿勢や補正係数などのパラメータを1枚の撮影画像から取得する。さらに、別途準備したチャートのモデルデータを利用して疑似的に撮影画像を作り出し、マーカー202の像の位置やサイズに基づき撮像装置12の3次元空間での位置を導出する。
キャリブレーション装置10は、得られたパラメータを内部のメモリに格納したり、図示しない外部の装置に出力したりする。あるいは得られたパラメータを用いて上述の電子ゲームなどの情報処理を実施し、図示しない出力装置に表示させる機能を備えてもよい。また撮像装置12とともにロボットに実装し、撮影された画像を、当該パラメータを用いて解析することにより、周囲の環境地図を作成することも考えられる。これらの場合、キャリブレーション装置10の機能を備えた情報処理装置を実現できる。
図2は、魚眼でない一般的な撮像装置においてなされる中心射影を説明するための図である。同図は焦点距離faの撮像装置が、主点14から距離Zaにある平面を撮影する様子を俯瞰した様子を示している。この撮像装置が写す画像は、主点14から距離faだけ離れたスクリーン15へ被写体を射影した像に対応する。またセンササイズが既知のとき、焦点距離faは画角θを決定づける。この場合、被写体表面の同一サイズaを有する範囲13a、13bは、撮影画像上での位置によらず同じサイズ(fa・a/Za)の像16a、16bを形成する。
すなわち像のサイズは焦点距離faと距離Zaの比率の関数となるため、当該比率が同じであれば、距離Zaが異なっていても像のサイズは同じになり得る。換言すれば1つの撮影画像上の像のサイズから、視点の位置と画角を同時に求めることはできない。そのため一般的な撮像装置のキャリブレーションでは、チャートを様々な方向から撮影することにより連立方程式とするか、チャートまでの距離を固定して撮影することにより、各種カメラパラメータを求める。
図3は、本実施の形態における撮像装置においてなされる等距離射影を説明するための図である。同図でも焦点距離fbの撮像装置が、主点18から距離Zbにある平面を撮影する様子を示している。一方、本実施の形態の撮像装置12は、魚眼レンズにより、像が射影されるスクリーン19が球面状となる。この場合、被写体表面の同一サイズbを有する範囲17a、17bの像20a、20bは、撮影画像上で中心から離れるほど小さくなる。
そして撮影画像上での中心からの距離に対する縮小率の変化は、主点の位置によらずスクリーン19球面の曲率、すなわち焦点距離fbに依存する。本実施の形態ではこれを利用し、魚眼レンズによって生じる歪みを評価することで焦点距離、ひいては画角を特定し、像の位置やサイズを評価することで撮像装置の位置を特定する。これにより、厳密な位置合わせなしにチャート200を撮影した1枚のみの撮影画像によってキャリブレーションが可能になる。
図4は、キャリブレーション装置10の内部回路構成を示している。キャリブレーション装置10は、CPU(Central Processing Unit)122、GPU(Graphics Processing Unit)124、メインメモリ126を含む。CPU122は、オペレーティングシステムやアプリケーションなどのプログラムに基づいて、装置内部の構成要素における処理や信号伝送を制御する。GPU124は画像処理を行う。メインメモリ126はRAM(Random Access Memory)により構成され、処理に必要なプログラムやデータを記憶する。
これらの各部は、バス130を介して相互に接続されている。バス130にはさらに入出力インターフェース128が接続されている。入出力インターフェース128には、USBやIEEE1394などの周辺機器インターフェースや、有線又は無線LANのネットワークインターフェースからなる通信部132、ハードディスクドライブや不揮発性メモリなどの記憶部134、図示しない表示装置、プリンタなどの出力装置へデータを出力する出力部136、撮像装置12や図示しない入力装置からデータを入力する入力部138、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部140が接続される。
CPU122は、記憶部134に記憶されているオペレーティングシステムを実行することにより装置の全体を制御する。CPU122はまた、リムーバブル記録媒体から読み出されてメインメモリ126にロードされた、あるいは通信部132を介してダウンロードされた各種プログラムを実行する。GPU124は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、CPU122からの描画命令に従って画像描画を行う。
図5はキャリブレーション装置10の機能ブロックの構成を示している。図5に示す各機能ブロックは、ハードウェア的には、図4で示したCPU122、GPU124、メインメモリ126などで実現でき、ソフトウェア的にはハードディスクや記録媒体からメインメモリにロードされたコンピュータプログラムなどで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
キャリブレーション装置10は、撮影画像のデータを取得する撮影画像取得部30、実際の撮影画像およびモデルから生成した画像を射影変換したりレンズ歪みを補正したりする歪み補正部34、補正した画像を格納する画像記憶部36、補正の際に取得したパラメータを格納するパラメータ記憶部38、チャート200のパターンのモデルデータを格納するチャート画像記憶部40、チャート200のモデルデータを用いて歪みのある画像を疑似的に生成する疑似画像描画部42、マーカーの像の位置とサイズに基づき撮像装置12の視点位置を取得する視点調整部44、および、撮像装置に関し求められたパラメータ、あるいはそれを用いて情報処理を行った結果を示すデータを生成し出力する出力データ生成部46を含む。
撮影画像取得部30は、チャート200を撮影した画像のデータを撮像装置12から取得する。撮像装置12が多眼カメラで構成される場合、各カメラが撮影した画像のデータを全て取得する。この撮影画像におけるチャートの像は、撮像装置の姿勢に応じた傾きや、魚眼レンズによる歪みを有する。以後、撮影画像におけるこのような本来のチャートからの変形を総じて「歪み」と呼ぶことがある。
歪み補正部34は撮影画像から歪みを除く補正を行う。具体的には、等距離射影方式で撮影された画像を中心射影のデータに変換し、さらに歪み補正式により詳細な補正を行う。これによりチャート200の格子線がおよそ直線になる。さらに撮像装置12の姿勢によるチャート200の像の傾きを解消するように射影変換を施す。これらの処理において、撮像装置12の画角、姿勢、レンズ歪み補正係数、レンズ中心に対応する画像上の位置(以後、「レンズ中心の位置」と呼ぶ)、接線歪み補正係数を用いている。
歪み補正部34はまず、これらのパラメータを仮定して補正を行い、その結果が本来のチャートのパターンの画像となるようにパラメータ調整を行う。これにより、各パラメータを取得できる。歪み補正部34はさらに、疑似画像描画部42が生成した、チャートのモデルデータを用いた疑似的な撮影画像についても同じ処理を実施する。これらの補正処理により得られた補正後の画像のデータは画像記憶部36に、パラメータはパラメータ記憶部38に格納する。
疑似画像描画部42は、チャート画像記憶部40に格納しておいたチャート200のモデルデータを読み出し、仮想カメラとともに仮想3次元空間に配置する。ここで仮想カメラには、実際の撮影画像から得られた撮像装置12の姿勢を与える。撮像装置12の位置は未知のため仮の値を設定する。そしてオブジェクトモデルとしてのチャート200を等距離射影することにより、実際の撮像装置12による撮影環境と同じ状態を作り出す。このとき、パラメータ記憶部38に格納された、撮像装置12に対し得られた画角、レンズ歪み補正係数、レンズ中心の位置、接線歪み補正係数を用いて、上述のレンズ歪みを解消する補正とは逆の補正を実施することにより、撮影画像と類似する歪みのある画像を生成する。以後、この画像を「疑似画像」と呼ぶ。
視点調整部44は、撮影画像の補正後の画像におけるマーカー202の位置およびサイズと、疑似画像の補正後の画像におけるマーカー202の位置およびサイズとを比較する。疑似画像描画部42が疑似画像を生成する際に設定した仮想カメラの位置が正しくなければそれらのパラメータに差が生じる。したがって、その差に基づき視点の位置を調整することで、撮像装置12の実際の位置を特定する。
出力データ生成部46は、パラメータ記憶部38に格納された各種パラメータや、視点調整部44が特定した撮影画像の位置を取得し、それを出力データとして記憶装置に格納したり外部の装置に出力したりする。あるいはそれらの情報を用いて、運用時に撮影された画像の補正に用いたり、画像解析に用いたりして所定の情報処理を実施し、表示画像などの出力データを生成、出力してもよい。例えば撮像装置12をステレオカメラとした場合、各カメラの位置と姿勢に基づき両者の主点の間隔や姿勢の差が判明する。したがってそれらのパラメータを、運用時に得られたステレオ画像の補正に用いたり、三角測量に基づく演算に利用したりすることで、対象物の位置を正確に特定できる。
次に、上記構成によって実現できるキャリブレーション装置10の動作を説明する。図6は、キャリブレーション装置10が撮像装置のパラメータを特定する処理手順を示すフローチャートである。まず撮影画像取得部30は、撮像装置12からチャート200を撮影した画像のデータを取得する(S10)。撮像装置12が多眼カメラの場合は、各カメラが撮影した画像のデータを取得する。このデータは、チャート200をおよそ正面から撮影した画像でよく、撮影時に厳密な位置合わせをする必要はない。
姿勢・歪み補正部34は、撮影画像を補正し元のチャートのパターンに近づけることで、撮像装置に係る上述したパラメータを取得する(S12)。上述のとおり撮影画像の歪みには、撮像装置12の姿勢によるものと、魚眼レンズなど撮像装置12の構造によるものとが含まれる。したがって、補正に必要なパラメータを仮定して両者を解消する補正を順に施し、得られた補正後のデータがチャートのパターンと略同一になるまでパラメータを調整していくことで、最終的な補正後の画像とパラメータの値を取得する。ただし撮像装置12の位置は歪みの補正には用いないため、この段階では判明しない。なお撮像装置12の位置を求める必要がない場合、次に述べるS14〜S18の処理は省略できる。
次に疑似画像描画部42は、チャート画像記憶部40からチャート200のモデルデータを読み出し仮想空間に配置したうえ、仮想カメラがそれを撮影した画像を疑似画像として描画する(S14)。このとき仮想カメラの姿勢は、S12で取得した値とし、位置については仮の値を与えておく。また当該仮想カメラも魚眼レンズとし、撮像装置12と同じ画角、レンズ歪み補正係数、レンズ中心の位置、接線歪み補正係数を有するとする。これに従いモデル上のチャートを射影して歪みをつけることにより、S10で取得した撮影画像に類似の画像を生成できる。
次に姿勢・歪み補正部34は、S14で描画された疑似画像を、S12と同様に補正する(S16)。すなわちS12で得られたパラメータを用いて歪みを解消する補正を施す。これによりチャートのパターンに近い画像が得られるが、画像上でのチャートの位置や倍率は、疑似画像の描画時に設定した仮想カメラの位置に依存している。視点調整部44は、S12で取得した撮影画像の補正後の画像におけるマーカーの位置および格子の間隔と、S16で取得した疑似画像の補正後の画像におけるマーカーの位置および格子の間隔が略同一になるように仮想カメラの位置を調整する(S18)。
両者の差が所定のしきい値以下となったときの仮想カメラの位置を、実際の撮像装置12の位置として取得する。出力データ生成部46は、それまでの処理で得られたパラメータ自体や、それを用いて行った画像解析や情報処理の結果を表すデータを生成し出力する(S20)。上述のとおり出力先は、ゲームや表示などその他の処理を実行する装置でもよいし、記憶装置でもよい。あるいは撮像装置12自体でもよい。
次に、歪み補正部34が図6のS12において行う撮影画像の補正手法について説明する。図7は実際の撮影画像が補正される様子を例示している。撮影画像50に写るチャートは、図1で説明したように、白い背景上に所定幅を有する黒い直線を格子状に表し、さらに当該格子線で囲まれた矩形のうちの1つに黒い矩形のマーカーを表したパターンを有する。撮像装置12を魚眼レンズとすることにより、レンズの中心に対応する画像平面の略中心から離れるほど像が縮小されている。
歪み補正部34は撮影画像50を補正し、本来のチャートパターンに近い状態、すなわち黒い直線が等間隔で直交している補正後の画像52を生成する。上述のとおり画像端に向かう像の縮小度合い、ひいては直線の曲がり具合は撮像装置12の画角やレンズ中心の位置のずれなど、主に撮像装置12の内部構造に依存し、画像平面の水平方向、垂直方向に対する格子の傾斜の度合いは撮像装置12の姿勢に依存する。したがって撮影画像50から画像52に補正する過程でそれらのパラメータを導出できる。
図8は、歪み補正部34の補正による概念的な画像の変遷を示している。当該補正は上述のとおり、撮影画像60におけるレンズ歪みを解消して格子が直線状の画像62を生成し(S30)、それを射影変換することにより格子が直交する補正後の画像64を得る処理である(S32)。画像処理としては、撮影画像60上の位置座標を入力して、補正後の画像64上の位置座標を出力する処理となる。また本実施の形態では、S30の処理により格子が直線状の画像となるように撮像装置12の画角や補正係数等を模索し、S32の処理により格子が直交するように撮像装置12の元の姿勢を模索する。
すなわち、画像62、64のように目標となる画像での直線性や直交性を評価したうえ、各種パラメータを調整した場合に当該直線性や直交性がどのように改善されるかを確認する処理が含まれる。このとき評価対象の画像62、64上の位置座標を入力して、撮影画像60上の元の位置座標を出力する処理経路を準備しておくと、調整処理を効率化できる。すなわち補正後の画像64に逆の射影変換を施し(S34)、レンズ歪みをつける(S36)処理経路を準備する。
歪み補正部34は、これらの処理を適宜使い分けることにより、補正後の画像64を効率的に生成する。以後、S30、S32のように歪みのある画像からチャートパターンの画像を生成する処理経路を「順方向補正」、S34、S36のようにチャートパターンの画像から歪みのある画像を生成する処理経路を「逆方向補正」と呼ぶ。
図9は、歪み補正部34が撮影画像を補正する処理手順を示すフローチャートである。この処理は図6のS12に対応する。まず補正後の画像の平面を準備するとともに(S40)、補正に用いるパラメータを仮に設定する(S42)。具体的には撮像装置12の画角、姿勢(パン角、チルト角、ロール角)、レンズ歪み補正係数、レンズ中心の位置、接線歪み補正係数を設定する。多くの場合、レンズ歪みはレンズ歪み補正係数k2、k4、k6を用いて次式により補正される。
i' = i (1 + k2 * r2 + k4 * r4 + k6 * r6)/(1 + k2 + k4 + k6)
j' = j (1 + k2 * r2 + k4 * r4 + k6 * r6)/(1 + k2 + k4 + k6)
i' = i (1 + k2 * r2 + k4 * r4 + k6 * r6)/(1 + k2 + k4 + k6)
j' = j (1 + k2 * r2 + k4 * r4 + k6 * r6)/(1 + k2 + k4 + k6)
ここで(i,j)は歪みのある画像における位置座標、(i’,j’)はその補正後の位置座標、rは補正前の画像における位置座標(i,j)の、レンズ中心からの距離であり、レンズ中心の位置座標を(ic,jc)とすると次の式で定義される。
r = ((i - ic)2 + (j - jc)2)1/2
なお上記は6次までの補正を示しているが、補正の次数は限定されない。一方、接線歪みは接線歪み補正係数p1、p2を用いて次式により補正される。
i' = i + (2p1 * ij + p2 (r2 + 2i2))
j' = j + (p1 (r2 + 2j2) + 2p2 * ij)
すなわちこれらの式を用いると、レンズ中心からの距離のみに依存した補正がなされる。
r = ((i - ic)2 + (j - jc)2)1/2
なお上記は6次までの補正を示しているが、補正の次数は限定されない。一方、接線歪みは接線歪み補正係数p1、p2を用いて次式により補正される。
i' = i + (2p1 * ij + p2 (r2 + 2i2))
j' = j + (p1 (r2 + 2j2) + 2p2 * ij)
すなわちこれらの式を用いると、レンズ中心からの距離のみに依存した補正がなされる。
なお後述するように、本実施の形態では魚眼レンズによる歪みを、まず射影方式の違いを考慮して補正し、さらに上式により補正することで補正精度を向上させる。次に、S42で設定した仮のパラメータを用いたときの補正画像を、S40で準備した画像平面に描画する(S44)。この処理には、当該画像平面における各画素の位置座標を入力値として、撮影画像上の対応する位置座標を求める逆方向補正の処理経路を利用する。これにより、仮設定されたパラメータを用いて補正された、チャートパターンに近い画像が生成される。
次に、当該画像において、チャートパターンの格子を構成する直線を探索する(S46)。S42で設定した撮像装置12の姿勢が実際と異なっている場合、それらの直線は直交しないため、直交するまで姿勢の設定を調整していく(S48)。ただしここでは、最も外側に検出された上下左右の4直線の交点のみを監視しながら姿勢の設定を調整することにより処理効率を上げる。これにより撮像装置12の姿勢が判明する。S42で設定した姿勢以外のパラメータが実際と異なっている場合、S48で生成した画像における格子線はなお、微小量歪曲していたり傾斜していたりする。したがってそれらの歪みが解消されるまで、当該パラメータの設定を調整していく(S50)。
この場合も、格子線の幅を2分する点を所定間隔でサンプリングし、それらの近似直線に対する誤差のみを監視しながらパラメータの設定を調整することにより処理効率を上げる。これにより撮像装置12の画角、補正係数、レンズ中心の位置が判明する。S48、S50の処理により、S42で設定したパラメータが更新されるため、当該更新値を用いて再度、S44と同様の描画処理を実施することにより、最終的な補正後の画像を生成する(S52)。このとき、当該画像に対し格子線とマーカーの検出を行うことにより、格子線の間隔とマーカーのサイズも特定しておく。補正後の画像のデータは画像記憶部36に、更新されたパラメータはパラメータ記憶部38に、それぞれ格納する。
図10は、図8のS32における射影変換の処理を説明するための図である。(a)はチャート200と、撮像装置12の視点205および視線ベクトル207を含む3次元空間を示している。なおここでの視線ベクトル207は撮像装置の光軸が向く方向を規定する。図示する例では、視点205の位置座標(x,y,z)は、チャート200に平行なXZ平面とチャートの中心で垂直に交わるY軸がなす3次元空間で定義される。3次元空間の原点Oは、Y軸方向を視線ベクトルとしたときにチャートパターンが視野全体に表示されるときの視点とする。換言すれば、視点が原点Oにあり視線ベクトルがY軸と重なる(撮像装置12がチャート200に正対する)基準状態において、図8の補正後の画像64が得られる。
同図(b)には、視線ベクトル207を拡大したうえ、撮像装置12の姿勢を定義するパラメータを示している。視点205からチャート200への垂線L(Y軸方向)を基準としてパン角p、チルト角qが定義され、視線ベクトル207の回転方向にロール角rが定義される。視点205と視線ベクトル207が標準状態へ変位するときの画像上の位置座標の変化は、これらのパラメータを用いて一般的な射影変換行列により求めることができる。
始点となる視点205および視線ベクトル207が既知であれば、当該射影変換により図8の補正後の画像64が得られる。本実施の形態では視点205と視線ベクトル207が未知のため、それらを定義するパラメータを仮に設定して変換後の画像を確認し、目的とするチャートパターンの画像が得られるように設定パラメータを調整する。これにより、視点205と視線ベクトル207、ひいては撮像装置12の位置と姿勢を特定できる。
図11は、図8のS30における歪み補正の処理を説明するための図である。魚眼レンズの場合は特に、上述した補正式による一般的な歪み補正では、光軸からの距離が大きい画像端部において補正量が不足し、歪みの解消が十分でない場合がある。そこで本実施の形態では、魚眼レンズ特有の歪みを、射影方式を考慮して補正したうえで、一般的な補正式を適用する。同図は、視点74と、直線ABで表される中心射影のスクリーン面70、弧A2B2で表される魚眼レンズの等距離射影のスクリーン面72を俯瞰した状態を示している。
画角をθとしたときの中心射影の水平画素数Nhの画像における左右の端がAおよびBであり、それに対応する魚眼レンズの画像における左右の端がA2およびB2である。視点74から画像までの距離fは、画素を単位として次の式で表される。
f = Nh / ( 2 * (tan (q / 2))
等距離射影のスクリーン面72上の点P(i1,j1)と、それに対応する中心射影のスクリーン面70上の点Q(i2,j2)は、それぞれの画像中心(厳密にはレンズ中心の位置)Cからの距離r1、r2と次の関係にある。
r1 = f * atan (r2 / f)
r2 = (i2 + j2)1/2
ここでatan(r2/f)は、補正前後の点P(i1,j1)および点Q(i2,j2)への視線ベクトルと光軸がなす角度を表す。距離r2に対する距離r1の割合sは点Q(i2,j2)の位置座標を用いて次のように求められる。
s = r1 / r2 = (f * atan (r2 / f)) / r2
f = Nh / ( 2 * (tan (q / 2))
等距離射影のスクリーン面72上の点P(i1,j1)と、それに対応する中心射影のスクリーン面70上の点Q(i2,j2)は、それぞれの画像中心(厳密にはレンズ中心の位置)Cからの距離r1、r2と次の関係にある。
r1 = f * atan (r2 / f)
r2 = (i2 + j2)1/2
ここでatan(r2/f)は、補正前後の点P(i1,j1)および点Q(i2,j2)への視線ベクトルと光軸がなす角度を表す。距離r2に対する距離r1の割合sは点Q(i2,j2)の位置座標を用いて次のように求められる。
s = r1 / r2 = (f * atan (r2 / f)) / r2
中心から画像端までの長さの割合Rは
R = (2f * atan( Nh/2f )) / Nh
であるから、正規化された割合s’は次にようになる。
s' = s / R = ( Nh / 2r2) * ( atan (r2 / f) / atan ( Nh / 2f))
この演算は、画像中心からの距離に基づく一般的な補正式に対し、光軸に対する視線ベクトルの角度に基づいている。すなわち画像の平面上での情報のみならず、それと視点との関係を考慮した3次元での情報を用いて画像を補正できる。
R = (2f * atan( Nh/2f )) / Nh
であるから、正規化された割合s’は次にようになる。
s' = s / R = ( Nh / 2r2) * ( atan (r2 / f) / atan ( Nh / 2f))
この演算は、画像中心からの距離に基づく一般的な補正式に対し、光軸に対する視線ベクトルの角度に基づいている。すなわち画像の平面上での情報のみならず、それと視点との関係を考慮した3次元での情報を用いて画像を補正できる。
これにより、画像上での位置によらず正確な補正を実現できる。なお割合s’は補正後の点Q(i2,j2)を既知として求められる。これは実際の処理では、中心射影のスクリーン面70を先に準備し、当該面上の画素の位置座標に割合s’を乗算することにより、補正前の魚眼レンズの画像における参照先を特定するためである。このようにして参照先の画素値を引いてくることにより、補正後の画像を生成できる。
このように魚眼レンズによる歪みを解消してもなお、レンズの固体差や組み付け具合による歪みが残るため、上述したレンズ中心からの距離に基づく一般的な補正式を用いて補正する。ただし魚眼レンズの歪みを上述のとおり補正した場合、レンズ歪み補正式のうち2次の項を省略する。本実施の形態ではこれらの処理をセットとして歪み補正を行うことにより、画像の端まで高い精度で歪みが解消された画像を得ることができる。この補正には、撮像装置の画角、レンズ歪み補正係数、レンズ中心の位置、接線歪み補正係数が用いられるため、一旦それらのパラメータを仮定して補正を実施し、その結果として格子線が十分な精度で直線に近づくまで調整することで、最終的なパラメータの値を決定する。
図示する例では、魚眼レンズの画角θを100°程度に限定しているため、中心射影のスクリーン面70への変換が容易である。一方、魚眼レンズを用いたカメラは、視点に対し360°の画角での画像が一度に得られるという利点がある。この特性を活かすため、中心射影のスクリーン面を拡張することが考えられる。図12は、拡張された中心射影のスクリーン面と魚眼レンズのスクリーン面の関係を例示している。同図は図11と同様、視点74と各スクリーン面の俯瞰図であるが、画角を360°とすることで、魚眼レンズのスクリーン面76が、焦点距離fを半径とする球面全体となる。
この場合、画像全体を補正するため、球面のスクリーン面76に外接する立方体の6面の内壁を中心射影のスクリーン面とする(例えばスクリーン面78a、78b、78c、78d)。そして視点74を頂点とし内壁の各面を底面とする四角錐状に空間を領域分割し、球面のスクリーン面76上の対象画素がどの領域に属するかによって、変換先のスクリーン面を選択する。図ではスクリーンを俯瞰しているため、視点74周りで90°ごとの4象限に分割されている。球面のスクリーン面76のうち第I象限に属する画像はスクリーン面78a上での画像に補正する。第II、III、IV象限に属する画像はそれぞれ、スクリーン面78b、78c、78d上での画像に補正する。
各象限における補正の計算は上述したのと同様でよい。チャート200も立方体の内壁にチャートパターンを表した形態とし、その中央に撮像装置12を配置して撮影すれば、本実施の形態のその他の処理についても象限ごとに同様に行える。これにより画角の制限なしに、魚眼レンズの画像をほぼ歪みのない画像に補正できる。画角が360°の場合に限らず、それより小さい任意の画角に対し適切な枚数の平面を準備すれば、同じように補正できる。また準備する平面は立方体の面に限らず、球面のスクリーン面76に外接する多面体や、球面のスクリーン面76に外接する円筒形などでもよい。
この手法は、これまで述べたような補正係数を特定する目的以外に、運用時に撮影された画像から歪みのない画像を生成し表示させる態様にも適用できる。例えばヘッドマウントディスプレイに魚眼レンズの撮像装置を設け、撮影された画像をそのまま表示したり仮想オブジェクトを描画して表示したりする場合、一旦、中心射影のスクリーン上での画像に補正する。そして各スクリーン上で必要な加工を行ったうえ、ユーザの視線に対応するビュースクリーンに射影し直すことで、歪みのない画像を効率的に表示できる。
これまでの説明は主に、図8におけるS30、S32の順方向補正を想定した。一方、図9のS44における処理は、補正後の画像平面における画素値を決定するため、その位置座標から撮影画像の位置座標を求める逆方向補正となる。S48において格子線が直交するように姿勢の設定を調整する処理や、S50において歪みが解消されるように補正パラメータを調整する処理も、逆方向補正を用いることにより、仮に補正された画像上でサンプリングされた特定の画素のみを対象として調整具合を評価でき処理効率を上げられる。
逆方向補正のうち図8のS34における射影変換は、S32について説明した射影変換行列の逆行列を用いるなどの手段で容易に実現できる。一方、図8のS36の、レンズに起因した歪み補正の逆補正については、特に補正係数による歪み補正式を用いた補正の逆処理が含まれるため工夫を要する。本実施の形態では上述のとおり、「魚眼レンズ特有の歪み補正と補正係数を用いた補正」をセットで実施している。逆補正においても当該セットをそのまま用いて、実質的に逆の補正となるようにする。
図13は、レンズの歪み補正の逆補正の手法を説明するための図である。同図上段に示すように、この処理は、レンズ歪みのない画像82上の点Q(i2,j2)から、レンズ歪みのある画像80における対応する点P(i1,j1)を求める処理である(矢印B)。レンズ歪みを解消する順方向の補正(矢印A)は上述したとおりであり、逆補正においてもこれをそのまま利用する。
具体的には同図下段に示すように、順方向の補正を施したときの終点が点Q(i2,j2)になるような始点を次のように探索する。まず始点の初期値P0を、目標とする点Q(i2,j2)の位置に仮に定め、上述した順方向の補正を行う。これにより得た終点Q0は当然、目標とする点Q(i2,j2)からずれている。そこで例えば、当該ずれ量の所定割合を点P0の位置座標に乗算することで始点をずらす。当該始点P1に対し再び順方向の補正を施し、終点Q1を得る。
そして終点Q1と目標とする点Q(i2,j2)のずれ量の所定割合を、点P1の位置座標に乗算することで、さらに始点をずらし順方向の補正を施す。この処理を、終点の位置Qnが目標とする点Q(i2,j2)から所定範囲内に収まるまで繰り返す。収束したときの始点Pnを、歪みのある画像80における逆補正の終点P(i1,j1)とする。
図14は、歪み補正部34が図9のS46において、補正後の画像の格子線を探索する手法の例を説明するための図である。図は当該補正後の画像における中央近傍の領域を拡大して示している。当該画像領域において、例えば画像の中央84を中心とする所定長の線分を定義したうえ、当該線分の角度と位置を変化させながらそれが通る画素値の合計を取得していく。線分全体が格子線の黒い領域に入っていれば画素値は最小になるため、そのような状態の線分86を決定する。
次に、線分86を中心84で等分してなる2つの線分をそれぞれ、画像平面の下方向に移動させながらそれが通る画素値の合計を取得していく。線分がチャートパターンの白い矩形に入ると、画素値の合計が大きくなる。実際にはしきい値判定によりそのような状態を検出する。同図において当該状態の線分88a、88bを示している。ここで右の線分88bは、左の線分88aより早く白い矩形に到達している。これにより当初の線分86は、チャートパターンの格子線より右下がりになっていることが判明する。そこで線分86を所定角度右上がりにしたうえ、再度それを分割してなる線分を下方向に移動させることにより白い矩形を探索し、到達するタイミングによって元の線分の角度を調整する。
この処理を所定回数繰り返すことにより、チャートパターンの格子線のうち横線の下端のおよその角度と位置が判明する。同様に、当該角度および位置で線分を定義し、それを分割してなる2つの線分を、画像平面の下方向にさらに移動させながら、それが通る画素値の合計を取得していく。線分がチャートパターンの黒い格子線に入ると、画素値の合計が小さくなる。実際にはしきい値判定によりそのような状態を検出する。同図において当該状態の線分90a、90bを示している。この場合も、どちらが早く到達したかによって角度を調整し、再度黒い格子線を探索する処理を繰り返す。これによりチャートパターンの格子線のうち横線の上端のおよその角度と位置が判明する。
以後は、それらの直線を基点として上方向および下方向に、角度を調整しながら探索していくことで、格子線のうち横線の上端および下端の傾きおよび位置を全て特定できる。格子線のうち縦線についても同様の処理により、左端および右端の傾きおよび位置を特定できる。図9のS52において最終的な補正後の画像が生成された際も、同様の処理を実施する。この場合、さらにチャートパターンの格子線で囲まれた白い矩形領域のうち、中心が黒い領域を探索することによりマーカーの像を検出する。そしてマーカーのサイズを求めておき、格子線の間隔とともに、撮像装置12の視点位置の取得に用いる。
上記のように特定した、格子線の境界線の傾きおよび位置を、広い領域で確認することにより微調整し、精度を高めてもよい。図15は、格子線の境界線を表す線を微調整する手法を説明するための図である。同図は探索対象の画像92において検出された、最も外側の4直線を辺とする矩形96と、調整対象の線94を示している。まず線94と矩形96の交点98a、98bを取得する。
次に交点98a、98bを始点として画像の中心方向に、線94と同じ傾きで所定長さの線分100a、100bを定義する。そして図14の手法と同様の原理で、線分100a、100bを上方向または下方向に移動させながら、それが通る画素値の合計を取得していく。これにより線分100a、100bが白い矩形に入るタイミングを検出し、その位置に基づき得られる直線の傾き反映させて再度線分を定義し探索を繰り返す。この処理により画像の両端に近い離れた位置で、境界線の傾きおよび位置が検出できるため、これらを結ぶことにより線94の調整後の線とする。
図16は、歪み補正部34が図9のS48において、補正後の格子線の像が画像平面の水平および垂直方向と一致するように、撮像装置12の姿勢の設定を調整する処理手順を示すフローチャートである。まず上述のように検出された格子線の境界線のうち、図15の矩形96の各辺を構成する、最も外側の4直線について、画像平面の水平方向あるいは垂直方向からの傾き誤差を求める(S60)。続いてそれらの直線の交点の位置座標を取得し、当該4点の補正前の位置座標を撮影画像上で特定する(S62)。この処理には上述の逆方向補正を適用できる。
そしてS60で求めた誤差を解消する方向に、撮像装置12の姿勢の設定を調整し(S64)、当該姿勢を仮定して4点の位置座標を補正する(S66)。そして補正後の位置座標を頂点とする矩形の各辺について、画像平面の水平方向あるいは垂直方向からの傾き誤差を再度求める(S68)。誤差が所定のしきい値以上の場合(S70のN)、S64からS68の処理を繰り返す。誤差がしきい値より小さくなったら、設定された姿勢が正しいとして処理を終了する(S70のY)。これにより、僅か4点の補正状況を追跡することにより、撮像装置12の姿勢を正確に求めることができる。
図17は、歪み補正部34が図9のS50において、画角および歪み補正の係数を調整する処理手順を示すフローチャートである。上述したように、本実施の形態では撮影画像からレンズに起因した歪みを解消するため、魚眼レンズ特有の歪み補正と補正係数を用いた補正を実施する。これらの補正には、撮像装置の画角と補正係数を用いる。一方、図9のS44における処理では、仮に設定された値を用いているため、格子線が歪曲していたり傾いていたりすることがあり得る。そこで格子線の直線性を確認しながらそれらのパラメータを調整することで、正しいパラメータを導出する。
まず図14、15で説明したように検出された、チャートパターンの格子線の境界線の情報を利用して、当該格子線の幅を2等分する中点群を所定の間隔で抽出していく(S80)。次に抽出した中点群を最小二乗法等で直線に近似したうえ、各中点から直線までの距離の合計を誤差として取得する(S82)。さらに中点群の補正前の位置座標を、撮影画像上で特定する(S84)。この処理には上述の逆方向補正を適用できる。そしてS82で求めた誤差を解消する方向に各パラメータを調整し(S86)、それを用いて補正したときの補正後の中点群の位置座標を求める(S88)。
そしてS82と同様に近似直線からの誤差を求め(S90)、それがしきい値以上の場合(S92のN)、S86からS90の処理を繰り返す。誤差がしきい値より小さくなったら、正しいパラメータが得られたと判定して処理を終了する(S92のY)。この場合も、限定された数の点の補正状況のみを追跡することにより、撮像装置12の画角を含むパラメータを効率的に求めることができる。
図18は、疑似画像描画部42が疑似画像を描画する処理手順を示すフローチャートである。この処理は図6のS14に対応する。疑似画像描画部42はまず、図10で示したのと同様の仮想的な3次元空間にチャート200のオブジェクトモデルを配置し、さらに図16、17で示したように取得した撮像装置12の姿勢および画角で仮想カメラを配置する(S100)。位置については仮の値を設定しておく。そして仮想カメラの画像平面を準備し(S102)、当該画像平面における各画素を始点として、チャート200上の対応する位置を求める。この処理は、上述の順方向補正に対応する。
すなわち図8で説明したのと同様に、本来歪みのある画像が表されるべき仮想カメラの画像平面の各画素について(S104)、魚眼レンズ特有の歪みを補正したうえ補正係数を用いた補正を行う(S106)。補正には図17で示した撮像装置12の各パラメータの値を用いる。この時点で、レンズ歪みのない中心射影の画素配列となっているため、仮想カメラの位置と姿勢に応じた一般的な射影変換により、チャート200のパターン上の参照先の位置座標を決定する(S108)。
そして当該参照先の位置から画素値を引いてくることにより、仮想カメラの画像平面における対象画素の画素値を決定する(S110)。S104からS110の処理を、画像平面の全ての画素について実施し(S112のN)、完了したら処理を終了させる(S112のY)。このようにして生成された、撮影画像の疑似画像は歪み補正部34に供給される。歪み補正部34は当該画像に対し、図9で説明したのと同じ処理を実施する。すなわち撮影画像に対する補正処理により得られた、撮像装置に係る各種パラメータを用いて補正処理を実施し、歪みのない画像を生成する。
この際、当該画像に対しても図14、15で説明したような格子線の探索を行い、さらにマーカーを検出することで、格子線の間隔とマーカーの位置を取得する。そして図9のS52で取得した、撮影画像の補正画像における格子線の間隔とマーカーの位置とそれぞれ比較する。仮想カメラの位置が実際と異なっている場合、それらのパラメータは撮影画像に対し得られた値と異なっている。したがって視点調整部44は、その差を解消するように仮想カメラの視点位置を調整する。例えば疑似画像描画部42に、調整後の視点位置での疑似画像を再度描画させ、それを補正することで格子線の間隔とマーカーの位置が実際と合致するように調整していく。
一方、疑似画像の補正後の画像のみを用いて調整処理を効率化してもよい。すなわち格子線の間隔およびマーカーの位置の実際との差と、それを解消するのに必要な視点位置の移動量との関係をあらかじめ求めておく。当該関係を用いて、実際の差に基づき移動させた視点位置が、求めるべき撮像装置の位置となる。なお撮像装置12を多眼カメラとする場合、図6で示した処理をそれぞれの撮影画像に対し行う。これにより各カメラの位置および姿勢が得られるため、一般的なカメラの外部パラメータと同等に利用できる。すなわち運用時に、各カメラで撮影された画像から対応点を抽出する際、撮影画像の補正に用いることができる。
図19は、疑似画像描画部42が生成した実際の疑似画像を例示している。すなわち仮想空間に配置したチャートを、魚眼レンズを有する仮想カメラで撮影することを想定したときの撮影画像を示している。ただし仮想カメラの位置は、視点調整部44による調整後のものとしている。その結果、図7の撮影画像50とほぼ同一の画像が得られることがわかる。図20は、図19で示した疑似画像の補正後の画像を示している。当該画像も、図7の補正後の画像52とほぼ同一となっている。
厳密には、実際の撮影画像の補正後の画像52では、画像上の位置によって歪み特性に僅かな差があるため、格子線が微妙に歪曲している場合があるが、図20の画像ではそのような差が生じない。したがって補正処理により、格子線が直交するチャートパターンを再現できる。また実際には、疑似画像を補正して最初に得られる画像は、仮想カメラの設定位置に依存して、格子線の間隔やマーカーの位置が実際と異なっている。これが同一になるように視点の位置を調整することにより、図示するように撮影画像の補正後の画像52とほぼ同一の画像が得られる。
図21は、本実施の形態に適用できるチャート200のパターンの別の例を示している。図示するパターンは、フラクタルバーコードと呼ばれ、米国特許第7857232号明細書に開示されている。フラクタルバーコードは最小単位の2次元バーコードを2行2列に配置し、さらにそれを2行2列に配置する、というように入れ子状の階層構造の繰り返しパターンとすることにより、埋め込む情報も階層構造にできる。また各バーコードには、全体に対する位置に係る情報が含まれる。したがって撮像装置を近づけてその一部領域のみが撮影されても必要な情報を得ることができる。
そこでフラクタルバーコードを本実施の形態のチャートパターンのマーカーとして用いたり、チャート全体に複数、配置したりすることにより、チャートに対する撮像装置の位置をその撮影画像からおよそ特定できる。したがって疑似画像描画部42における仮想カメラの設定を、当初より比較的正確に行え、処理効率を向上させることができる。またチャートの一部のみを撮影しても同様の効果が得られるため、撮影時の位置合わせの必要性をさらに低くできる。例えば魚眼レンズの広い視野のうち一部にフラクタルバーコードが映り込んでいれば、キャリブレーションが可能となる。
図22は、チャート200の撮影画像を例示しており、(a)は格子とマーカーからなるチャートパターンを携帯端末の表示画面に表示させた場合、(b)はフラクタルバーコードからなるチャートパターンをテレビ受像器に表示させた場合の撮影画像を示している。このように電子機器の画面に表示させても、チャートのパターンを鮮明に撮影することができる。また(b)のフラクタルバーコードの場合、図示するように一部領域のみが写っていてもキャリブレーションが可能である。したがって一般ユーザが運用時の任意のタイミングで、自らが保有する電子機器にチャートを表示させることによりキャリブレーションを実施することも容易にできる。
例えば据え置き型のモニターやテレビ受像器にチャートを表示させ、ユーザ自らが装着したヘッドマウントディスプレイが備える撮像装置のキャリブレーションを行えば、モニターなどに対するヘッドマウントディスプレイの位置や姿勢が判明する。その状態を始点として、撮像装置が撮影し続ける画像を追跡していくことにより、ヘッドマウントディスプレイの動きを追跡できる。また視野に入った物とモニターとの関係が判明し、室内の環境地図を作成することが容易になる。画像を解析して周囲の環境地図を作成する技術としてSLAM(Simultaneous Localization and Mapping)が知られている。本実施の形態はそのような画像解析技術にも適用できる。
図23は、運用時における広角レンズを有する撮像装置を用いた一般的な処理の体系と、本実施の形態を利用した処理の体系との差を説明するための図である。(a)に示す一般的な処理では、主に画像平面上の2次元的な補正情報を利用する。図示するように撮影処理がなされたあと、平面上での補正情報が与えられ、それに応じて歪み補正等を実施することにより、画像処理を行いやすく、また表示上で違和感のない画像が得られる。そのようなことを目的とするため、キャリブレーション時にも魚眼レンズが撮影した画像を早々に、平面的な情報に変換しても構わない。
一方、本実施の形態では、キャリブレーション時に魚眼レンズの歪みを利用することで、撮像装置とチャートの位置や姿勢の関係といった3次元の情報が求められる。画角も、視点に対する視野を規定するという意味では3次元の情報である。したがって運用時には(b)に示すように、撮影画像に対し3次元の情報が与えられるため、3次元空間における幾何学的な情報を取得できる。例えば上述のような環境地図の作成に用いることができる。その結果を用いれば、情報処理のバリエーションを格段に増やすことができる。その結果を表示する場合も、仮想現実や拡張現実などより魅力的な画像世界を精度よく表現できる。
以上、述べた本実施の形態によれば、魚眼レンズを用いて所定パターンのチャートを撮影することによりキャリブレーションを行う。この際、魚眼レンズによる歪みを利用して撮像装置の画角を求める。これにより、1回の撮影では切り分けが困難であった、画角と視点位置のうち一方を既知とできる。さらに得られた姿勢を用いて、仮想カメラから見たチャートのモデル上の画像を描画し、実際の画像と比較することで、視点位置も特定できる。
結果として、チャートと撮像装置の間隔を固定としたうえで撮影したり、撮像装置の向きを変化させて複数回の撮影を繰り返したりする手間なく、補正係数など一般的なパラメータも取得できる。またレンズ歪みを補正する際は、まず魚眼レンズの等距離射影の画像を、中心射影の画像に補正したうえで、一般的な補正式を適用する。これにより従来見られた、画像の中心から離れるほど補正精度が悪化する状況を改善できる。結果として、画像全体から情報を取得することができ、キャリブレーションやそれを用いた情報処理の精度を向上させられる。
撮像装置から各種パラメータを得る際は、目標とする画像が得られるまでパラメータを調整しながら補正を繰り返す。この際、目標とする画像のうち評価対象のサンプリング点のみに着目し、調整による変化を追跡することにより、効率的にパラメータの最適値へ到達することができる。本実施の形態は、魚眼レンズを用いて1枚の撮影画像から3次元情報を取得していることに他ならない。したがって、運用時にも環境地図の作成など3次元空間での幾何的な処理に利用でき、撮影画像を用いた処理のバリエーションを増やすことができる。
多眼カメラに適用すれば、全てのカメラの相対位置や姿勢の差を取得できるため、各カメラによる撮影画像の位置合わせに利用でき、ひいてはそれを用いた被写体の位置取得も容易になる。多眼カメラによる撮影画像を接続して表示画像とするスティッチング処理においても、各カメラの相対位置や姿勢の差を考慮して3次元空間での射影変換により微調整できるため、より精密なつなぎ合わせを実現できる。
また、チャートに対する撮影画像の位置や姿勢が判明するため、キャリブレーションにおいてチャートと撮像装置を厳密に位置合わせする必要がない。チャートパターンとしてフラクタルバーコードを用いると、部分領域のみの撮影でも撮像装置の位置を特定できるため、撮影に対する自由度がさらに増える。チャートは電子機器に表示させることも可能なため、時期や場所に関わらずユーザが容易にキャリブレーションを実施でき、その後の継続的な情報取得の基点とできるほか、装置の経年変化に対し最新の補正環境を提供できる。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
例えば本実施の形態の歪み補正部は、パラメータを仮定してチャートの撮影画像を補正し、その像が本来のチャートパターンと同等になるまで調整することでパラメータを導出し、その過程において、射影変換の差に基づく魚眼レンズ特有の歪み補正を行った。一方、当該補正手法はキャリブレーション時に限らず、魚眼カメラで撮影されたあらゆる画像の補正にも用いることができる。
すなわち魚眼カメラで撮影された屋外や屋内の画像を、図11で示したように中心射影の画像に変換する。さらに必要に応じて補正係数を用いた一般的な補正式を適用して補正し、それを表示させたり情報処理に用いたりする。この場合も、画像全体を高精度に補正できるため、視野の広い画像では生じがちな歪みを最小限に抑えることができる。
また本実施の形態では、歪み補正部が上述のとおり画角や補正係数などのパラメータを調整し、それを用いて疑似画像描画部が仮想カメラの設定を行った。一方、それらのパラメータを別の手段で取得し、疑似画像描画部はそのデータを用いて仮想カメラを設定してもよい。例えば一般的なキャリブレーション手法により補正係数を取得し、撮像装置に内蔵させたモーションセンサにより撮像装置の姿勢を取得する。その結果を用いて疑似画像を生成し、本実施の形態と同様に仮想カメラの視点を調整することで撮像装置の位置を特定してもよい。
あるいは撮像装置の位置に加え姿勢も未知としてよい。この場合、仮想カメラの視点位置と視線ベクトルの双方を調整しながら結果として得られる疑似画像を確認し、撮影画像と一致するときの視点位置と視線ベクトルを、撮像装置の位置および姿勢として決定できる。撮影画像との比較には本実施の形態と同様、補正後の画像における格子線やマーカーを利用することにより、一致度を正確に評価できる。
また本実施の形態における歪み補正部34は、射影方式を変換する補正、補正係数を用いた一般的な補正、基準状態からの姿勢の差に基づく射影変換をセットとして行ったが、それらのうち1つまたは2つを省略してもよい。例えば射影方式を変換する補正のみで要求される精度が得られれば、補正係数を用いた補正を行わなくてよい。また撮像装置がチャートに正対していることが明らかな状況においては、射影変換を行わなくてよい。そのようにしても、本実施の形態と同様の効果が得られる。
実施の形態2
実施の形態1では、図11に示すように撮像装置の光軸がチャート面の垂線と一致するような位置関係において、魚眼レンズ特有の歪みを中心射影の画像に変換することを基本とした。この手法によれば、チャートパターンの歪み補正を容易な演算で実現できる一方、レンズが広角になるほど、光軸から離れた領域に写るパターンの補正精度が低下することが考えられる。そこで本実施の形態では、撮像装置12の画角によらず、撮影画像全体で高精度な補正を行えるようにする。キャリブレーション装置10の機能ブロックの構成やキャリブレーションの主な処理手順は、図5、6で示したものと同様である。以下、実施の形態1と異なる点に着目して説明する。
実施の形態1では、図11に示すように撮像装置の光軸がチャート面の垂線と一致するような位置関係において、魚眼レンズ特有の歪みを中心射影の画像に変換することを基本とした。この手法によれば、チャートパターンの歪み補正を容易な演算で実現できる一方、レンズが広角になるほど、光軸から離れた領域に写るパターンの補正精度が低下することが考えられる。そこで本実施の形態では、撮像装置12の画角によらず、撮影画像全体で高精度な補正を行えるようにする。キャリブレーション装置10の機能ブロックの構成やキャリブレーションの主な処理手順は、図5、6で示したものと同様である。以下、実施の形態1と異なる点に着目して説明する。
図24は、魚眼レンズに対する位置および姿勢が異なるチャートパターンの撮影画像を例示している。同図上段には、各画像を撮影した際の、スクリーン面とチャートの面の位置関係を俯瞰図で示している。(a)は実施形態1で想定したように、チャート面302aがスクリーン面300に正対している場合、(b)はチャート面302bの垂線が光軸oaに対し左に45°傾いている場合、(c)はチャート面302cの垂線が光軸oaに対し左に90°傾いている場合の撮影画像である。
このように広角の魚眼レンズによれば、広い範囲にあるチャートを写すことができる。したがってパターンが写っている限り、チャートの位置や向きによらず同じ精度で像の補正を行えるようにすると、魚眼レンズの特性が最大限に活かせるようなキャリブレーションを一度の撮影で実現できる。このため本実施の形態の歪み補正部34および疑似画像描画部42は、実施の形態1とは異なる演算により、図示するような撮影画像から格子が直交するチャートパターンを復元したり、当該撮影画像の疑似画像を生成したりする。
まず疑似画像描画部42が疑似画像を生成する手法について説明する。図25、26、27は、本実施の形態において疑似画像を生成する手順を説明するための図である。図18で説明したように、疑似画像描画部42は図10と同様の仮想3次元空間にチャートのオブジェクトモデルと仮想カメラを配置し、仮想カメラのスクリーン面に対応する画像平面の各画素を始点として、そこに表れるチャート上の位置を求める。
本実施の形態では図18のS106におけるレンズの歪み補正において、スクリーン面が本来は球面状であることを踏まえ、3次元空間で当該スクリーン面を変形・回転させる。図25、26、27に示す座標系は図10と同様であり、チャートに平行なXZ平面とチャートの中心で垂直に交わるY軸で定義される。まず図25における領域310は初期状態として、仮想カメラのスクリーン面のうちチャートパターンに正対している正方形の領域を、XZ空間で表している。
スクリーン面は実際にはY軸方向に湾曲しているが、XZ空間においては、領域310は元のチャートパターンを正面から見た状態に対応する。以後の処理は、スクリーン面の湾曲を加味したときに、領域310の各画素に射影されるチャートパターン上の位置の変化を求めることに対応する。なおこの段階では視点を原点に一致させている。
領域312は、領域310に対し、補正係数を用いた一般的な歪み補正の逆補正を施したものである。この処理には図13で示した再帰的手法を利用できる。ただしここではレンズ歪み補正係数と接線歪み補正係数を用いた一般的な歪み補正計算のみを考慮する。また実施の形態1では6次までの補正式を示したが、それより大きい次数の項を含めてもよい。樽型歪みを補正する係数が与えられている場合、図示するように領域312は糸巻き型の形状となる。
上述のとおりスクリーン面は実際には、視点を中心とする球面に貼り付いた状態となっている。したがって仮想カメラの姿勢を変化させる際、球面の状態でロール角r、チルト角q、パン角pに応じて回転させると、本来の状況を正確に反映できる。ロール方向の回転は3次元空間のY軸周り、すなわちXZ平面内の回転である。図示する例ではロール角r=10°回転させ、領域314としている。撮影環境を俯瞰したときの、領域314のXY空間での状態を下段に示している。図示するように領域314は、レンズの球面に貼り付いた状態として考える。
図26に移り、チルト方向の回転は3次元空間のX軸周りの回転である。図示する例では、図25の領域314を、チルト角q=10°で回転させた領域316を、俯瞰した状態で示している。パン方向の回転は3次元空間のZ軸周りの回転である。図示する例では領域316を、パン角p=10°で回転させた領域318を、俯瞰した状態で示している。視点が原点にない場合、球面をさらに3次元空間で平行移動させる。図示する例では200mm、チャートの平面側に近づけた領域320としている。なおパン、チルト、ロールの回転や平行移動の順序は図示するものに限らない。
図27は、変換後のスクリーン面上にチャートの画像を射影する様子を示している。(a)は図26で示したのと同様の、変換後のスクリーン面の領域320と、チャート322を俯瞰した状態を示している。図示した変換により、XZ空間における領域310の各画素の、3次元空間での変位先が判明している。そこで仮想カメラの視点324から当該変位先へのベクトル326を、各画素について求める。ベクトル326を延長した先に、当該画素に像として表れるチャート322上のポイント328が存在する。
すなわちベクトル326を画素ごとに求めることにより、そこに表されるチャートパターン上の位置を取得できる。(b)は領域320に射影される、チャート322上の領域を示している。樽型歪みの逆補正により領域は全体として糸巻き型の形状を有する。また仮想カメラの姿勢として、正方向にパン、チルト、ロールの回転を与えた結果、図示するような非対称な歪みを有する領域が結像する。この領域の像を元の画像平面の画素として配列させれば、魚眼レンズによる撮影画像を擬似的に生成できる。
以上述べた手順により、基本的には画角の制限なく疑似画像の生成が可能になる。図28、29は、本実施の形態において生成できる疑似画像の例を示している。これらの図は、立方体の6面の内側にそれぞれチャートパターンを表し、その中心に仮想カメラの視点を置いた状況を想定している。なお面によってチャートの色を変化させている。図28は、水平画角140°の仮想カメラの姿勢を変化させたときの疑似画像を示している。
このうち(a)は、左の俯瞰図に示すように、仮想カメラが立方体の一面330に正対した状態、すなわち当該面に平行な面をXZ平面と定義したとき、パン角、チルト角、ロール角が全て0°の状態に対し生成される疑似画像を示す。(b)は、右の俯瞰図に示すように、パン角が30°、チルト角とロール角が0°の状態、(c)は、左の斜視図に示すように、チルト角が45°パン角とロール角が0°の状態の疑似画像を示す。(d)は右の斜視図に示すように、パン角60°、チルト角20°、ロール角45°の状態の疑似画像を示す。
図29は、仮想カメラが立方体の一面に正対した状態で、仮想カメラの水平画角を変化させたときの疑似画像を示している。(a)は水平画角90°のときであり、視点が立方体の中心にあることにより、チャートの像の横幅が撮影画像の横幅に一致している。(b)は水平画角140°のとき、(c)は水平画角180°のときである。(c)の場合、立方体の左右の面の前方半分までが画角に入っている。(d)は水平画角270°のとき、(e)は水平画角360°のときである。
(e)の場合、立方体の6面のうち光軸と逆方向の面が視野の周縁領域に写っており、当該面上のチャートの中央にあるマーカーが視野端の円周上に表れる。このように本実施の形態の手法によれば、仮想カメラの姿勢や画角に依存した撮影画像の変化を忠実に再現できる。また樽型歪みなど一般的なレンズ歪みも反映できる。
次に、スクリーン面が球面に貼り付いているときに、XZ空間において定義される画素の2次元座標から、3次元空間での位置座標を取得する手法について説明する。図30は、演算に用いるパラメータの定義を示している。同図(a)は3次元空間を俯瞰した状態、(b)はXZ空間を表している。画像平面340は図25の領域310と同様にチャートパターンが写る領域を示しており、左下を原点として各画素の位置座標を(i,j)で表す。
画像平面340に写るチャート322の横方向および縦方向のサイズは、画像平面340の水平画素数imaxと垂直画素数jmaxに対応する。また視点324からチャート322が写る水平方向の角度範囲をθとすると、水平方向の画角の1°に対応する、画像平面340の画素数(画素密度)Densは次のようになる。
dens = imax / (2 *θ)
dens = imax / (2 *θ)
図31、32は、画像平面における位置座標(i,j)に対応する、3次元空間での位置座標を求める手順を模式的に示している。まず図31の上段に示す(a)は、画像平面340上の位置座標(i,j)を示している。これを、画像平面340の中心を原点とするXZ空間における位置座標に換算したうえ、レンズ歪み補正の逆補正を施す。この補正は一般的なレンズ歪みおよび接線歪みの式を用いて図13で説明したように実施する。このようにして求めた座標を(x1,z1)とする。
XZ空間の原点から(x1,z1)への線342は、XZ空間では直線状となるが、3次元空間では(a)の右側に示すように、単位球面に沿って巻き付いている。そこで下段の(b)に示すように、位置座標(x1,z1)を、経度と緯度の2次元空間での位置座標に変換する。Y軸上のY=1の点を経度緯度空間での原点とすると、変換後の経度PPと緯度QQは次のようになる。
PP = x1 / dens
QQ = z1 / dens
PP = x1 / dens
QQ = z1 / dens
(b)の中央の図は単位球面における経度PPと緯度QQを斜視図で示している。また右端の図は、経度緯度平面における原点から座標(PP,QQ)へ至る線342を含む平面344を取り出して示している。図示するように線342が単位球面に巻き付いている角度Rは、経度PPと緯度QQを合成した角度であり、次のように求められる。
R = ( PP2 + QQ2)1/2
R = ( PP2 + QQ2)1/2
また経度緯度平面における、線342の経度軸からの角度ttは、線342を含む平面344の、XY平面からの角度に対応し、次のように求められる。
tt = atan(QQ / PP)
座標(PP,QQ)の、3次元空間での位置座標(x3,y3,z3)を求めるため、図32の上段(a)に示すように、まず平面344を角度ttだけ回転させ、XY平面と一致させる。
tt = atan(QQ / PP)
座標(PP,QQ)の、3次元空間での位置座標(x3,y3,z3)を求めるため、図32の上段(a)に示すように、まず平面344を角度ttだけ回転させ、XY平面と一致させる。
この変換により線342は線346へ変位し、経度緯度平面における位置座標(PP,QQ)は、次の式によりXY平面の位置座標(x2,y2)に変換される。
x2 = sin (R)
y2 = cos (R)
この回転によっても位置座標(PP,QQ)のXYZ空間におけるY座標は保存されているため、y2は、求めるべき3次元空間での位置座標(x3,y3,z3)のうちのY座標y3に他ならない。
x2 = sin (R)
y2 = cos (R)
この回転によっても位置座標(PP,QQ)のXYZ空間におけるY座標は保存されているため、y2は、求めるべき3次元空間での位置座標(x3,y3,z3)のうちのY座標y3に他ならない。
さらに下段(b)に示すように、そのように回転させた平面を、今度は角度ttだけ逆方向に回転させ元の平面344(ただしXYZ空間で定義される)に戻すと、位置座標(PP,QQ)の、XYZ空間における位置座標(x3,y3,z3)は結局、次のように求められる。
x3 = x2 * cos (tt)
y3 = y2
z3 = x2 * sin (tt)
x3 = x2 * cos (tt)
y3 = y2
z3 = x2 * sin (tt)
以上の処理を、図30で示した画像平面340の全ての画素について実施することにより、画像平面を3次元空間のスクリーン面に変換できる。当該スクリーン面を、仮想カメラの姿勢(パン角p、チルト角q、ロール角r)に応じてさらに変換する。このとき、Y軸周りのロール方向の回転は、図32の(b)で示した角度ttの回転と同時に実施できる。この場合の変換式は次のようになる。
x3 = x2 * cos(tt + r)
y3 = y2
z3 = x2 * sin (tt + r)
x3 = x2 * cos(tt + r)
y3 = y2
z3 = x2 * sin (tt + r)
さらにチルト方向に回転させたときの位置座標(x4,y4,z4)は次の変換式により求められる。
x4 = x3
y4 = y3 * cos(q) + z3 * sin(q)
z4 = y3 * sin(q) + z3 * cos(q)
x4 = x3
y4 = y3 * cos(q) + z3 * sin(q)
z4 = y3 * sin(q) + z3 * cos(q)
さらにパン方向に回転させたときの位置座標(x5,y5,z5)は次の変換式により求められる。
x5 = y4 * cos(p) + z4 * sin(p)
y5 = y4 * sin(p) + z4 * cos(p)
z5 = z4
x5 = y4 * cos(p) + z4 * sin(p)
y5 = y4 * sin(p) + z4 * cos(p)
z5 = z4
また視点の位置座標が原点から(Δx,Δy,Δz)ずれている場合はさらに、つぎのように平行移動させた位置座標(x6,y6,z6)を求める。
x6 = x5 + Dx
y6 = y5 + Dy
z6 = z5 + Dz
以上の処理により、図27で示した領域320への変換を実現できるため、視点から変換先の位置座標へのベクトル326により、チャート322上の対応するポイント328を特定できる。当該ポイント328をサンプリング点として適宜バイリニア補間などを施したうえ画素値を決定すれば、図28、29で示したような疑似画像を生成できる。
x6 = x5 + Dx
y6 = y5 + Dy
z6 = z5 + Dz
以上の処理により、図27で示した領域320への変換を実現できるため、視点から変換先の位置座標へのベクトル326により、チャート322上の対応するポイント328を特定できる。当該ポイント328をサンプリング点として適宜バイリニア補間などを施したうえ画素値を決定すれば、図28、29で示したような疑似画像を生成できる。
図31、32で示した2次元空間から3次元空間への変換処理は可逆性を有する。すなわち、元のチャートパターンに対応する2次元空間における(i,j)の画素配列から3次元空間の位置座標(x3,y3,z3)を求める手順を逆に辿れば、位置座標(x3,y3,z3)から元のチャートパターンの画像の位置座標(i,j)が求められる。つまり魚眼レンズ特有の歪みを規定する3次元の情報から、歪みを取り除いた2次元の情報を生成できる。
本実施の形態における歪み補正部34はこれを利用し、疑似画像描画部42が疑似画像を生成するのと逆の処理により撮影画像におけるチャートパターンの像を補正する。歪み補正部34の基本的な動作は、図9で示したとおりであるが、S44、S50、S52において実施する歪み補正において、図31、32で示した疑似画像の生成と逆の処理を実施する。上述の可逆性により、図13で示した再帰的な変換処理は、補正係数を用いた一般的な歪み補正の逆処理のみに適用すればよくなる。
図33は、歪み補正部34が撮影画像のチャートパターンの像に歪み補正を施す処理手順を示すフローチャートである。まず撮影画像のうち対象画素を設定し、その位置座標から3次元空間での位置座標(x7,y7,z7)を取得する(S200)。図24で例示した等距離射影の撮影画像においては、画素の位置を、画像中心を原点とする極座標(r,θ)で表せる。ここで画像中心からの距離rは、3次元空間において光軸を垂直上向きとしたときの天頂角に比例し、基準軸からの角度θは、当該3次元空間における方位角を表す。
したがって撮影画像における画素の位置から、3次元空間での位置座標(x7,y7,z7)を容易に取得できる。そして視点から対象画素へ向く単位ベクトル(x8,y8,z8)を次のように求める(S202)。
x8 = x7 / (x72 + y72 + z72)1/2
y8 = y7 / (x72 + y72 + z72)1/2
z8 = z7 / (x72 + y72 + z72)1/2
x8 = x7 / (x72 + y72 + z72)1/2
y8 = y7 / (x72 + y72 + z72)1/2
z8 = z7 / (x72 + y72 + z72)1/2
次に、視点を原点として図32の(b)の逆の処理を実施する。すなわち原点と位置座標(x8,y8,z8)を結ぶ線を、XY平面上に位置するように回転させる(S204)。このときの回転角ttaは次のように求められる。
tta = atan (z8 / x8)
また回転によって位置座標(x8,y8,z8)は、次の位置座標(x9,y9,z9)に変位する。
x9 = x8 / cos (tta)
y9 = y8
z9 = 0
tta = atan (z8 / x8)
また回転によって位置座標(x8,y8,z8)は、次の位置座標(x9,y9,z9)に変位する。
x9 = x8 / cos (tta)
y9 = y8
z9 = 0
続いて図32の(a)の逆の処理を実施する。すなわちZ平面における位置座標(x9,y9)が単位球に巻き付いている角度Raを求め(S206)、角度ttaだけ逆方向に回転させ元に戻すことにより、経度Pa1、緯度Qa1を次のように求める(S208)。
Ra = atan (x9 / y9)
Pa1 = Ra * cos (tta)
Qa1 = Ra * sin (tta)
Ra = atan (x9 / y9)
Pa1 = Ra * cos (tta)
Qa1 = Ra * sin (tta)
そして図31の(b)の逆として、画角1°あたりの画素数である画素密度densを用いて、XZ空間での位置座標(x10,z10)を次のように求める(S210)。
x10 = Pa1 * dens
z10 = Qa1 * dens
x10 = Pa1 * dens
z10 = Qa1 * dens
さらに図31の(a)の逆として、一般的なレンズ歪みおよび接線歪みの式による補正を施したうえ原点を左下に移動させることにより、元の画像平面での位置座標を得る(S212)。S200からS212までの処理を、チャートパターンの像の画素ごとに実施し(S214のN)、全画素について変換先の位置座標が求められたら処理を終了する(S214のY)。以上の処理により、チャートパターンの格子がおよそ直線状の画像が得られる。図示した歪み補正を行いつつ、格子の直交性が得られる撮像装置の姿勢を探索したり、より精度の高い直線が得られる画角や補正係数を探索したりする処理は、実施の形態1と同様である。
ところで本実施の形態では、チャートパターンの位置や姿勢を幅広い範囲で許容するため、図24に示すように、撮影画像におけるチャートパターンの像の位置は様々となる。そこで好適には、歪み補正部34はあらかじめ、撮影画像においてチャートパターンが写っているおよその領域、ひいては3次元空間におけるチャートパターンのおよその方向を探索する。
図34は、歪み補正部34がチャートパターンの領域を検出する処理手順を示すフローチャートである。歪み補正部34はまず、撮影画像を領域分割する(S220)。例えば画角を水平方向および垂直方向に所定数に分割し、各角度範囲に対応する画像上の領域に分割する。一例として、210°の画角の撮像装置の場合、70°ごとに3×3の領域に分割する。次に領域の1つを対象とし、当該領域の画像を、所定の倍率で別途準備した画像平面に展開する(S222)。
続いて、展開した部分画像に対し、チャートパターンの格子線の横線探索を実施する(S224)。この探索には、図14で示した手法を利用できる。探索の結果、有効な角度や位置が得られなかった場合(S226のN)、同じ領域で画像の倍率を変化させたり次の領域を対象に設定し直したりして、横線の探索を繰り返す(S222、S224)。
横線の探索で有効な結果が得られたら(S226のY)、続いて縦線を同様に探索する(S208)。縦線探索の結果、有効な結果が得られなかった場合(S230のN)、同じ領域で倍率を変化させたり次の領域を対象に設定し直したりして、横線の探索からやり直す(S222〜S228)。そのようにして縦線の探索でも有効な結果が得られたら(S230のY)、当該領域をチャートパターンが写っている領域と判定して(S232)、探索処理を終了する。
以上の処理により検出されたチャートパターンの像の領域に対し、上述の歪み補正処理を実施し、およそ直線状に補正されたチャートパターンを用いて、撮像装置12の姿勢を求める。およその処理手順は図16で示したのと同様である。すなわち、検出された格子線のうち最も外側の4直線が画像平面の水平、垂直方向と一致するように、姿勢の調整と線の傾き取得を交互に繰り返す。
図35は、チャートパターンの直交性に基づく撮像装置の姿勢検出処理において、評価対象とするパラメータを説明するための図である。図示する矩形は画像平面を表し、内部に示した直線は、検出された格子線のうち最も外側の4直線、あるいは対向する2直線を示している。
まず(a)は、撮像装置12の姿勢を表すパン角、チルト角、ロール角の全てに誤差がない状態を表している。この場合、図示するように格子の像の4直線が画像平面の水平方向、垂直方向と平行になる。これに対し(b)はパン角に誤差がある場合、(c)はチルト角に誤差がある場合、(d)はロール角に誤差がある場合の、格子線の像である。
例えば(b)の状態において、上下の線の傾きの差epanを、パン角の誤差として評価する。epanは例えば、図示するように右側が狭まっている状態を正とする。(c)の状態において、左右の線の傾きの差etilを、チルト角の誤差として評価する。etilは例えば、図示するように下側が狭まっている場合を正とする。(d)の状態において、上下左右の直線の傾きの平均値erolを、ロール角の誤差として評価する。erolは例えば、図示するように半時計回りを正とする。
実施の形態1では、チャートパターンをおよそ正面から撮影することを想定していた。そのため図示するような直線の関係に基づき誤差epan、etil、erolを取得し、設定したパン角、チルト角、ロール角からepan、etil、erolをそれぞれ減算していく調整により、正確なパン角、チルト角、ロール角に収束させることができる。一方、本実施の形態のように、チャートパターンが光軸と平行になるような状態を許容した場合、直線の位置関係と、誤差が生じている回転方向との対応が変化することが考えられる。
例えば同図右側の俯瞰図に示すように、視点324から見て光軸方向に正対するようにチャート360aがある場合は、矢印で示すチルト方向の回転に対し、(c)に示すように、左右の直線の開き具合が変化する。一方、光軸と平行に近い状態でチャート360bが真横にある場合、同じチルト方向の回転に対し、(d)に示すような、本来のロール方向の回転と同様の変化が生じる。逆に、チャート360bの状態でロール方向に回転させれば、(c)に示す、本来のチルト方向の回転と同様の変化が生じる、というように、ロールとチルトで評価パラメータが入れ替わってしまう。
同様に、チャートが真上や真下にある場合、ロールとパンで評価パラメータが入れ替わる。したがって場合によってはそれらの入れ替わりを考慮し、誤差epan、etil、erolを適宜組み合わせ、パン角p、チルト角q、ロール角rの各誤差を算出する。そしてこれらの誤差がしきい値より小さくなるまで、パン角p、チルト角q、ロール角rの設定値から誤差分を減算していくことにより、チャートの位置によらず撮像装置の姿勢を精度よく取得できる。
このようにして撮像装置12の姿勢が得られたら、図17で示したのと同様の手順で、チャートパターンの格子の像が直線になるまで補正係数と画角を調整することにより、それらの最終値を決定する。図36は、歪み補正部34が撮影画像におけるチャートパターンの像を補正した結果を示している。(a)、(b)、(c)の画像は、図24の(a)、(b)、(c)に示した撮影画像から、それぞれ生成された補正後の画像である。
すなわち(a)はチャート面302aがスクリーン面300に正対している場合、(b)はチャート面302bの垂線が光軸oaに対し左に45°傾いている場合、(c)はチャート面302cの垂線が光軸oaに対し左に90°傾いている場合の撮影画像の補正結果である。レンズに対するチャートの位置や姿勢によらず、チャートパターンが好適に復元されていることがわかる。
換言すれば、チャートを視野の中心に据えて撮影せずとも、撮像装置12の姿勢、補正係数、画角が正確に求められる。視点調整部44は、このようにして復元したチャートパターンと、疑似画像に対し同様の処理で復元したチャートパターンとを比較し、撮像装置12の位置を取得する。ここで視点調整時に生成する疑似画像も、本実施の形態で上述したのと同様の手法により生成する。
これまで述べた態様では、一面のチャートパターンの位置や姿勢の許容範囲を広げることを想定した。これにより、チャートパターンの一部が視野の隅に入っているような状態でキャリブレーションが可能になる。結果として、対象物を撮影してその動きに対応するようにゲームを進捗させたり、撮影画像の視野に合わせて表示画像を生成したりといった、撮影画像を用いた情報処理を、キャリブレーションと並行して行える。一方、図28、29で示したように、チャートパターンを複数面とすることで、全天空を撮影するような撮像装置であっても、一度の撮影で視野全体のキャリブレーションを精度よく行える。
図37は、チャートパターンを立方体の内部に表し、その中心を視点として画角220°で撮影したことを想定した疑似画像から、各面のチャートを復元した画像を示している。この場合、3次元空間の定義がチャートの面ごとに異なるため、各面が写る画角に対応する画像上の領域を設定し、その単位で補正処理を施す。220°の画角によれば(a)の撮影画像に示すように、正面全体と上下左右の面の一部が撮影される。これらの面に対し5つの3次元空間を設定し、それぞれに補正処理を施すと、(b)に示すように5つの補正後画像を生成できる。図示するように、画像が撮影されている範囲において、全ての面のチャートパターンを復元できる。
図37に示した状況を撮影画像に置き換えると、(a)で示したように複数のチャートパターンを一度に撮影した画像のうち、画角に応じて切り出した領域ごとに、(b)に示すように補正処理を独立に実施する。これにより、撮影画像の全領域について補正係数を正確に求めることができる。また撮影された面ごとに視点や姿勢の情報が得られるため、それらを統合することにより、撮像装置の視点、姿勢、画角をより高精度に求めることができる。
図38は、立方体の内部を任意の姿勢で撮影したことを想定した疑似画像から、ある面のチャートを復元した結果を示している。同図(a)は、図28の(d)で示したパン角60°、チルト角20°、ロール角45°の疑似画像であり、(b)はパン角0°、チルト角0°、ロール角0°のとき正面に位置するチャート面370の補正後の画像である。この場合も、チャートパターンのうち、視野に入っている部分のみから、元のチャートパターンの対応する部分が精度よく再現されている。
図38に示した状況を撮影画像に置き換えると、(a)で示した撮影画像がどのような姿勢で撮影されたものかが未知であっても、また補正係数や画角が未知であっても、(b)に示したような元のチャートパターンが得られるまで調整することにより、それらのパラメータを取得できることになる。
以上述べた本実施の形態によれば、魚眼レンズの特性を利用したキャリブレーションにおいて、画像平面を球面状のスクリーン面として3次元空間にマッピングすることにより、魚眼レンズ特有の歪みを正確に再現する。そして当該球面を各軸周りに回転させることにより、撮像装置の姿勢の変化を正確に、画像に反映させる。チャートパターンの像が写る領域の、球面へのマッピングには、光軸に係る拘束条件が含まれないため、チャートパターンが撮影画像のどこに写っていようと同様の処理を行える。
結果として、実際の状況を再現することによる精度の向上に加え、撮影視野に対するチャートパターンの位置や姿勢の許容範囲を大幅に広げることができる。これにより、チャートパターンの一部のみ視野に入っている状態でのキャリブレーションも可能になり、本来の運用処理との並行処理によって、キャリブレーションの処理効率を向上させられるとともに、運用処理の精度も維持できる。
また、画像平面から球面への変換は可逆処理であるため、到達点を設定してそれに至る初期状態を模索するような処理を最小限にすることができ、キャリブレーションの処理効率や精度を向上させられる。さらにチャートパターンの位置や姿勢の制限が少ないことを利用して、撮影画像の画角を網羅するように複数面のチャートパターンを用いれば、画角によらず一度の撮影で、高精度なキャリブレーションを実現できる。これらのことにより、実施形態1で述べたのと同様の効果を、より広い撮影環境で適用でき、汎用性、利便性を高めることができる。
なお本実施の形態においても、チャートパターンは直線の格子に限らず、実施の形態1で説明したフラクタルバーコードなどその他のパターンでよい。またキャリブレーション装置の利用形態や処理の変形例については、実施の形態1で述べたのと同様である。
10 キャリブレーション装置、 12 撮像装置、 30 撮影画像取得部、 34 歪み補正部、 36 画像記憶部、 38 パラメータ記憶部、 40 チャート画像記憶部、 44 視点調整部、 46 出力データ生成部、 122 CPU、 124 GPU、 126 メインメモリ、 200 チャート。
以上のように本発明は、キャリブレーション装置、撮像装置、画像処理装置、表示装置、ロボット、パーソナルコンピュータなど各種情報処理装置や、それらのいずれかを含むシステムなどに利用可能である。
Claims (19)
- 魚眼レンズを有する撮像装置から、キャリブレーション用のチャートの撮影画像のデータを取得する撮影画像取得部と、
前記魚眼レンズに対応するスクリーン上の位置と、当該位置に結像する前記チャートの面上の位置との関係に基づきレンズによる歪みを補正するとともに、補正された画像を評価することにより撮像装置に係るパラメータの値を導出し出力する補正部と、
を備えたことを特徴とするキャリブレーション装置。 - 前記補正部は、前記撮像装置の画角を仮定して前記レンズによる歪みを補正することにより得られた画像を、前記チャートのパターンと比較することにより当該画像を評価し、その結果に基づき前記画角を導出することを特徴とする請求項1に記載のキャリブレーション装置。
- 前記補正部はさらに、前記撮像装置の姿勢を仮定して、補正された画像を射影変換し、当該画像を前記チャートのパターンと比較することにより評価し、その結果に基づき前記姿勢を導出することを特徴とする請求項1または2に記載のキャリブレーション装置。
- 仮想カメラと前記チャートのオブジェクトモデルを仮想3次元空間に配置し、前記仮想カメラが撮影する画像として、前記パラメータの値を用いて前記補正部と逆の処理を実施することにより、前記撮影画像を疑似的に生成する疑似画像描画部と、
前記疑似的に生成された画像と前記撮影画像とを比較することにより、前記チャートに対する前記撮像装置の位置を導出する視点調整部と、
をさらに備えたことを特徴とする請求項1から3のいずれかに記載のキャリブレーション装置。 - 前記補正部は、前記疑似的に生成された画像に対し前記撮影画像と同じ補正を施し、
前記視点調整部は、補正された画像同士を比較することにより前記撮像装置の位置を導出することを特徴とする請求項4に記載のキャリブレーション装置。 - 前記補正部は、撮影画像における各画素位置への視線ベクトルと光軸のなす角度に基づく補正の後、レンズ中心に対応する位置から各画素位置までの距離に基づく補正を行うことを特徴とする請求項1から5のいずれかに記載のキャリブレーション装置。
- 前記補正部は、前記撮影画像の各画素について、前記チャートの面に平行な画像平面と前記チャートの面の垂線で定義される3次元空間における、前記撮像装置の視点を中心とする球面上の位置座標を求め、当該位置座標に対応する、前記球面の経度緯度座標に基づき、前記画像平面の空間における位置座標に変換することにより、前記レンズによる歪みを補正することを特徴とする請求項1から5のいずれかに記載のキャリブレーション装置。
- 前記撮影画像取得部は、角度の異なる複数の面のそれぞれに表された前記チャートを一度に撮影した画像のデータを取得し、
前記補正部は、前記チャートの面ごとに、対応する3次元空間を定義することにより前記レンズによる歪みを補正して、前記パラメータの値を導出することを特徴とする請求項7に記載のキャリブレーション装置。 - 前記補正部は、前記パラメータを調整しながら補正を行い、前記補正された画像のうち所定のサンプリング点について評価を繰り返すことにより、前記パラメータの値を決定することを特徴とする請求項1から8のいずれかに記載のキャリブレーション装置。
- 前記補正部は、前記撮像装置の画角の範囲によって、前記レンズによる歪みの補正を個別に行うことを特徴とする請求項1に記載のキャリブレーション装置。
- 前記撮影画像取得部は、画像平面の水平方向および垂直方向に伸張する複数の直線からなる格子線と、当該直線で囲まれた矩形領域のうち所定の位置の矩形領域に配された所定形状のマーカーと、を含むチャートの撮影画像のデータを取得することを特徴とする請求項1から10のいずれかに記載のキャリブレーション装置。
- 前記撮影画像取得部は、上層の2次元バーコードの配列内に、下層の複数の2次元バーコードの配列が包含されてなる入れ子構造のバーコード配列を含むチャートの撮影画像のデータを取得することを特徴とする請求項1から9のいずれかに記載のキャリブレーション装置。
- 魚眼レンズを有する撮像装置から、キャリブレーション用のチャートの撮影画像のデータを取得する撮影画像取得部と、
前記撮像装置に係るパラメータの値を取得するパラメータ取得部と、
仮想カメラと前記チャートのオブジェクトモデルを仮想3次元空間に配置し、前記仮想カメラが撮影する画像として、前記パラメータの値を用いて前記撮影画像を疑似的に生成する疑似画像描画部と、
前記疑似的に生成された画像と前記撮影画像とを比較することにより、前記チャートに対する前記撮像装置の位置を導出する視点調整部と、
を備えたことを特徴とするキャリブレーション装置。 - 前記疑似画像描画部は、前記チャートの面に平行な画像平面の画素の位置座標を、当該画像平面と前記チャートの面の垂線で定義される3次元空間における、前記仮想カメラの視点を中心とする球面上のスクリーン面での位置座標に変換し、前記視点と変換後の位置座標に基づき、前記チャートの面におけるサンプリング点を前記画素ごとに取得することにより、前記撮影画像を擬似的に生成することを特徴とする請求項13に記載のキャリブレーション装置。
- 前記疑似画像描画部は、前記画像平面の画素の位置座標を、前記球面の経度緯度座標に変換することにより球面上での対応する位置を求め、その結果に基づき前記3次元空間における変換後の位置座標を求めることを特徴とする請求項14に記載のキャリブレーション装置。
- 前記パラメータ取得部は、前記撮像装置の姿勢に係る情報を取得し、
前記疑似画像描画部は、前記球面を前記姿勢に基づき3次元空間で回転させることにより、当該姿勢に応じた位置座標に変換することを特徴とする請求項14または15に記載のキャリブレーション装置。 - 魚眼レンズを有する撮像装置と、
請求項1から16のいずれかに記載のキャリブレーション装置と、
を備えたことを特徴とするキャリブレーションシステム。 - 魚眼レンズを有する撮像装置から、キャリブレーション用のチャートの撮影画像のデータを取得するステップと、
前記魚眼レンズに対応するスクリーン上の位置と、当該位置に結像する前記チャートの面上の位置との関係に基づきレンズによる歪みを補正するステップと、
補正された画像を評価することにより撮像装置に係るパラメータの値を導出し出力するステップと、
を含むことを特徴とする、キャリブレーション装置によるキャリブレーション方法。 - 魚眼レンズを有する撮像装置から、キャリブレーション用のチャートの撮影画像のデータを取得する機能と、
前記魚眼レンズに対応するスクリーン上の位置と、当該位置に結像する前記チャートの面上の位置との関係に基づきレンズによる歪みを補正する機能と、
補正された画像を評価することにより撮像装置に係るパラメータの値を導出し出力する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/032563 WO2019049331A1 (ja) | 2017-09-08 | 2017-09-08 | キャリブレーション装置、キャリブレーションシステム、およびキャリブレーション方法 |
JPPCT/JP2017/032563 | 2017-09-08 | ||
PCT/JP2018/018015 WO2019049421A1 (ja) | 2017-09-08 | 2018-05-09 | キャリブレーション装置、キャリブレーションシステム、およびキャリブレーション方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019049421A1 JPWO2019049421A1 (ja) | 2020-07-27 |
JP6859442B2 true JP6859442B2 (ja) | 2021-04-14 |
Family
ID=65634755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019540760A Active JP6859442B2 (ja) | 2017-09-08 | 2018-05-09 | キャリブレーション装置、キャリブレーションシステム、およびキャリブレーション方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11232593B2 (ja) |
JP (1) | JP6859442B2 (ja) |
CN (1) | CN111095923B (ja) |
WO (2) | WO2019049331A1 (ja) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3523777A4 (en) * | 2016-12-06 | 2019-11-13 | SZ DJI Technology Co., Ltd. | SYSTEM AND METHOD FOR CONFIGURING A WIDE ANGLE IMAGE |
CN108596854B (zh) * | 2018-04-28 | 2021-02-12 | 京东方科技集团股份有限公司 | 图像畸变校正方法及装置、计算机可读介质、电子设备 |
US11210859B1 (en) * | 2018-12-03 | 2021-12-28 | Occam Video Solutions, LLC | Computer system for forensic analysis using motion video |
CN111435969B (zh) * | 2019-01-11 | 2021-11-09 | 佳能株式会社 | 图像处理装置及其控制方法、记录介质和信息处理系统 |
CN111667398B (zh) * | 2019-03-07 | 2023-08-01 | 株式会社理光 | 图像处理方法、装置和计算机可读存储介质 |
JP7192582B2 (ja) * | 2019-03-11 | 2022-12-20 | オムロン株式会社 | 物体追跡装置および物体追跡方法 |
JP2020182127A (ja) * | 2019-04-25 | 2020-11-05 | 株式会社ソニー・インタラクティブエンタテインメント | キャリブレーション装置、キャリブレーションシステム、および表示装置のキャリブレーション方法 |
JP7269864B2 (ja) * | 2019-10-21 | 2023-05-09 | 株式会社アマダ | ワーク撮影画像処理装置及びワーク撮影画像処理方法 |
CN110930336B (zh) * | 2019-11-29 | 2023-11-28 | 深圳市商汤科技有限公司 | 图像处理方法及装置、电子设备和存储介质 |
DE102020131808A1 (de) * | 2019-12-05 | 2021-06-10 | Denso Wave Incorporated | Vorrichtung zur Unterstützung von Kalibrierungsvorgängen bei Industriekameras |
CN111210478B (zh) * | 2019-12-31 | 2023-07-21 | 重庆邮电大学 | 一种无共同视野多相机系统外参标定方法、介质及系统 |
JP2021164095A (ja) * | 2020-04-01 | 2021-10-11 | キヤノン株式会社 | 投影装置 |
TWI720869B (zh) * | 2020-04-15 | 2021-03-01 | 致伸科技股份有限公司 | 相機模組之對位方法 |
CN111612720B (zh) * | 2020-05-21 | 2023-11-07 | 烟台艾睿光电科技有限公司 | 一种广角红外图像优化方法、系统及相关组件 |
CN111795805B (zh) * | 2020-06-29 | 2022-06-21 | 歌尔光学科技有限公司 | 测试图的绘制方法、终端设备及存储介质 |
JP7474137B2 (ja) | 2020-06-30 | 2024-04-24 | キヤノン株式会社 | 情報処理装置およびその制御方法 |
WO2022044294A1 (ja) * | 2020-08-28 | 2022-03-03 | 株式会社デンソーテン | 車載装置および車載カメラのキャリブレーション方法 |
CN112288649B (zh) * | 2020-10-27 | 2024-07-19 | 江苏安狮智能技术有限公司 | 一种圆柱状物体透视成像失真的图像校正方法及设备 |
CN112468716B (zh) * | 2020-11-02 | 2022-07-19 | 航天信息股份有限公司 | 摄像头视角矫正方法、装置、存储介质及电子设备 |
KR102661114B1 (ko) * | 2020-11-10 | 2024-04-25 | 삼성전자주식회사 | 카메라 모듈 검사 장치, 카메라 모듈 검사 방법 및 이미지 생성 장치 |
US11172193B1 (en) * | 2020-12-04 | 2021-11-09 | Argo AI, LLC | Method and system to calibrate camera devices of a vehicle vision system using a programmable calibration target device |
CN112584136B (zh) * | 2020-12-23 | 2023-02-28 | 上海艾为电子技术股份有限公司 | 位置校准模块、校准方法、电子设备、校准装置及存储介质 |
CN112668505A (zh) * | 2020-12-30 | 2021-04-16 | 北京百度网讯科技有限公司 | 基于路侧相机的外参的三维感知信息获取方法和路侧设备 |
JP7517170B2 (ja) | 2021-01-22 | 2024-07-17 | 株式会社明電舎 | ラインセンサカメラのキャリブレーション装置及びキャリブレーション方法 |
CN113538283B (zh) * | 2021-07-22 | 2024-04-30 | 浙江赫千电子科技有限公司 | 一种冗余鱼眼摄像头拍摄图像的畸变矫正方法 |
CN113687627B (zh) * | 2021-08-18 | 2022-08-19 | 太仓中科信息技术研究院 | 一种基于摄像机器人的目标跟踪方法 |
CN113822941B (zh) * | 2021-09-03 | 2023-12-19 | 大连中科创达软件有限公司 | 相机倾斜校准方法、装置、设备及存储介质 |
FR3127063B1 (fr) * | 2021-09-10 | 2023-09-22 | Renault Sas | procédé de génération d’une image finale de l’environnement d’un véhicule automobile |
CN115100026B (zh) * | 2022-06-15 | 2023-07-14 | 佳都科技集团股份有限公司 | 基于目标对象的标签坐标转换方法、装置、设备及存储介质 |
CN115314690B (zh) * | 2022-08-09 | 2023-09-26 | 北京淳中科技股份有限公司 | 一种图像融合带处理方法、装置、电子设备及存储介质 |
US12094171B2 (en) * | 2022-11-16 | 2024-09-17 | Google Llc | Calibrating camera in electronic device |
CN117392241B (zh) * | 2023-12-11 | 2024-03-05 | 新石器中研(上海)科技有限公司 | 自动驾驶中的传感器标定方法、装置及电子设备 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2295606A1 (en) | 1998-05-19 | 1999-11-25 | Sony Computer Entertainment Inc. | Image processing apparatus and method, and providing medium |
JP2003141521A (ja) * | 2001-08-21 | 2003-05-16 | Computer Image Laboratory Co Ltd | 画像表示システム |
JP4307934B2 (ja) * | 2003-08-13 | 2009-08-05 | 株式会社トプコン | 画像補正機能付撮影装置及び方法、並びに撮影装置及び方法 |
CN101305596B (zh) | 2005-11-11 | 2010-06-16 | 索尼株式会社 | 图像处理设备、图像处理方法以及图像拾取设备 |
KR101329470B1 (ko) * | 2005-11-11 | 2013-11-13 | 소니 주식회사 | 화상 처리 장치, 화상 처리 방법 및 그 프로그램을 기록한 기록 매체 |
JP4757142B2 (ja) * | 2006-08-10 | 2011-08-24 | キヤノン株式会社 | 撮影環境校正方法及び情報処理装置 |
JP5715793B2 (ja) * | 2010-10-08 | 2015-05-13 | 東芝アルパイン・オートモティブテクノロジー株式会社 | 画像処理装置及び画像処理方法 |
JP5442164B2 (ja) * | 2011-03-08 | 2014-03-12 | 三菱電機株式会社 | 移動体周辺映像補正装置 |
US9361562B1 (en) * | 2011-10-06 | 2016-06-07 | AI Cure Technologies, Inc. | Method and apparatus for fractal multilayered medication identification, authentication and adherence monitoring |
JP5898475B2 (ja) * | 2011-11-28 | 2016-04-06 | クラリオン株式会社 | 車載カメラシステム及びその較正方法、及びその較正プログラム |
KR102068992B1 (ko) * | 2013-06-20 | 2020-01-22 | 삼성전자 주식회사 | 렌즈 캘리브레이션 방법 및 영상 복원 방법 |
EP3220099B1 (en) * | 2014-11-13 | 2019-11-06 | Olympus Corporation | Calibration device, calibration method, optical device, imaging device, projection device, measurement system, and measurement method |
US9894350B2 (en) * | 2015-02-24 | 2018-02-13 | Nextvr Inc. | Methods and apparatus related to capturing and/or rendering images |
CN104809739B (zh) | 2015-05-15 | 2019-03-22 | 南京大学 | 一种超广角镜头相机视频实时校正的方法 |
CN106815805A (zh) | 2017-01-17 | 2017-06-09 | 湖南优象科技有限公司 | 基于Bayer图像的快速畸变校正方法 |
-
2017
- 2017-09-08 WO PCT/JP2017/032563 patent/WO2019049331A1/ja active Application Filing
-
2018
- 2018-05-09 WO PCT/JP2018/018015 patent/WO2019049421A1/ja active Application Filing
- 2018-05-09 US US16/643,678 patent/US11232593B2/en active Active
- 2018-05-09 CN CN201880058435.8A patent/CN111095923B/zh active Active
- 2018-05-09 JP JP2019540760A patent/JP6859442B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
WO2019049421A1 (ja) | 2019-03-14 |
CN111095923A (zh) | 2020-05-01 |
US20200273205A1 (en) | 2020-08-27 |
WO2019049331A1 (ja) | 2019-03-14 |
JPWO2019049421A1 (ja) | 2020-07-27 |
CN111095923B (zh) | 2022-01-04 |
US11232593B2 (en) | 2022-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6859442B2 (ja) | キャリブレーション装置、キャリブレーションシステム、およびキャリブレーション方法 | |
US11039121B2 (en) | Calibration apparatus, chart for calibration, chart pattern generation apparatus, and calibration method | |
US10586352B2 (en) | Camera calibration | |
CN113841384B (zh) | 校准装置,用于校准的图表和校准方法 | |
KR101666959B1 (ko) | 카메라로부터 획득한 영상에 대한 자동보정기능을 구비한 영상처리장치 및 그 방법 | |
US8855441B2 (en) | Method and apparatus for transforming a non-linear lens-distorted image | |
CN109064404A (zh) | 一种基于多相机标定的全景拼接方法、全景拼接系统 | |
CN100437639C (zh) | 图像处理装置和图像处理方法 | |
CN113808220A (zh) | 双目摄像机的标定方法、系统、电子设备和存储介质 | |
CN114549666A (zh) | 一种基于agv的环视图像拼接标定方法 | |
JP2010186265A (ja) | カメラ校正装置、カメラ校正方法、カメラ校正プログラムおよびそのプログラムを記録した記録媒体 | |
TWI820246B (zh) | 具有像差估計之設備、估計來自廣角影像的像差之方法及電腦程式產品 | |
CN111383264A (zh) | 一种定位方法、装置、终端及计算机存储介质 | |
JP2019525509A (ja) | 水平視差ステレオパノラマ取込方法 | |
CN111353945B (zh) | 鱼眼图像校正方法、装置及存储介质 | |
CN113538588A (zh) | 标定方法、标定装置及应用其的电子设备 | |
CN117422650B (zh) | 全景影像畸变校正方法、装置、电子设备及介质 | |
Corke | Image Formation | |
CN116996659A (zh) | 投影入幕方法及投影设备 | |
JP2013109643A (ja) | 球面勾配検出方法、エッジ点検出方法、球面勾配検出装置、エッジ点検出装置、球面勾配検出プログラム及びエッジ点検出プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200122 |
|
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: 20210309 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210325 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6859442 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |