JP2018055173A - 画像処理装置、画像処理方法、及びプログラム - Google Patents
画像処理装置、画像処理方法、及びプログラム Download PDFInfo
- Publication number
- JP2018055173A JP2018055173A JP2016187146A JP2016187146A JP2018055173A JP 2018055173 A JP2018055173 A JP 2018055173A JP 2016187146 A JP2016187146 A JP 2016187146A JP 2016187146 A JP2016187146 A JP 2016187146A JP 2018055173 A JP2018055173 A JP 2018055173A
- Authority
- JP
- Japan
- Prior art keywords
- calibration
- image
- pixel
- search range
- unit
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 55
- 238000003672 processing method Methods 0.000 title claims description 3
- 238000003384 imaging method Methods 0.000 claims abstract description 84
- 238000001514 detection method Methods 0.000 claims abstract 4
- 238000009795 derivation Methods 0.000 claims description 2
- 230000001174 ascending effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 32
- 238000004364 calculation method Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 12
- 239000011159 matrix material Substances 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
Images
Landscapes
- Measurement Of Optical Distance (AREA)
- Image Processing (AREA)
Abstract
【課題】較正パラメータを補正することなく、高精度な対応探索を実現することができる。【解決手段】撮像手段によって得られる複数の画像のうち第1の画像の各画素に対応する対応画素を、第1の画像と視点が異なる第2の画像から探索する画像処理装置であって、撮像手段の較正パラメータを含む較正情報と、較正パラメータの推定精度を示す較正精度情報とを格納する格納手段と、較正情報と較正精度情報とに基づいて、第1の画像の各画素に対応する、第2の画像上における探索範囲を決定する決定手段と、第1の画像の各画素について、決定手段が決定した探索範囲を探索して対応画素を検出する検出手段と、を備える。【選択図】図2
Description
本発明は、異なる視点から撮影された複数の画像を用いた、画像処理技術に関する。
被写体を複数の視点から撮影した画像間で、類似する領域を探索する対応探索技術が知られている。対応探索技術は、カメラから被写体までの距離推定や、画像中に含まれる対象物検出などに用いられる。対応探索技術の一つとして、複数視点で撮影したカメラの視点位置、光軸方向、焦点距離などの較正パラメータに基づいてエピポーラ線を算出し、算出したエピポーラ線上で類似する領域を探索する手法がある。この手法では、探索範囲をエピポーラ線上に限定することにより、高速かつ高精度な対応探索を実現している。しかし、較正パラメータを正確に求めることは困難である。そのため、所望のエピポーラ線が得られず、対応探索に失敗することがある。そのような課題に対し、例えば特許文献1では、較正パラメータに基づいて算出したエピポーラ線上のみでなく、エピポーラ線の近傍でも類似する領域を探索する手法が提案されている。特許文献1に記載された手法では、エピポーラ線上以外の位置で類似領域が検出された場合に、その領域をエピポーラ線が通るように較正パラメータを補正する。それにより、対応探索の精度を向上させている。
しかし、被写体までの距離など、撮影シーンの特性によって、エピポーラ線の算出に最適な較正パラメータは異なる。そのため、特許文献1に記載された手法では、毎回の撮影において較正パラメータを補正する必要がある。さらに、較正パラメータの補正ではバンドル調整等の最適化処理が行われることが一般的である。そのため、特許文献1に記載された手法では、処理時間が多くかかってしまう可能性がある。そこで、本発明は、較正パラメータを補正することなく、高精度な対応探索を実現することが可能な画像処理装置、画像処理方法、及びプログラムを提供することを目的とする。
本発明による画像処理装置は、撮像手段によって得られる複数の画像のうち第1の画像の各画素に対応する対応画素を、第1の画像と視点が異なる第2の画像から探索する画像処理装置であって、撮像手段の較正パラメータを含む較正情報と、較正パラメータの推定精度を示す較正精度情報とを格納する格納手段と、較正情報と較正精度情報とに基づいて、第1の画像の各画素に対応する、第2の画像上における探索範囲を決定する決定手段と、第1の画像の各画素について、決定手段が決定した探索範囲を探索して対応画素を検出する検出手段と、を備えることを特徴とする。
本発明によれば、較正パラメータを補正することなく、高精度な対応探索を実現することができる。また、較正パラメータの補正を必要としないので、高速な対応探索を実現することができる。
以下、図面を参照して本発明を実施する形態について説明する。
[実施例1]
図1は、第1の実施例に係る画像処理装置100(以下、処理装置100とする)の構成の一例を示す図である。図1(a)には、処理装置100の内部構成が示されている。処理装置100は、CPU103、RAM104、ROM105、操作部106、表示制御部107、表示部108、撮像部制御部109、デジタル信号処理部110、外部メモリ制御部111、画像処理部113、及びバス114を備える。さらに、処理装置100は、撮像部101,102を備える。
図1は、第1の実施例に係る画像処理装置100(以下、処理装置100とする)の構成の一例を示す図である。図1(a)には、処理装置100の内部構成が示されている。処理装置100は、CPU103、RAM104、ROM105、操作部106、表示制御部107、表示部108、撮像部制御部109、デジタル信号処理部110、外部メモリ制御部111、画像処理部113、及びバス114を備える。さらに、処理装置100は、撮像部101,102を備える。
撮像部101,102は、それぞれが独立した結像光学系と撮像センサとを有するカメラである。図1(b)に示すように、撮像部101,撮像部102は、処理装置100の筐体に配置されている。撮像部101,102は互いに焦点距離の等しいレンズを有していて、それぞれが有する撮像素子の画素数は互いに等しい。なお、本実施例では図1(b)に示すようなステレオカメラを例としているが、撮像部の構成は上記に限定されるものではない。例えば、撮像部の数、撮像部の位置、撮像部の姿勢は変更されてもよいし、全てのレンズの焦点距離が同じであっても、異なっていてもよい。また、本実施例における処理装置は、1つの筐体に複数のカメラを備えた多眼カメラに限定されるものではなく、複数のカメラと接続されたコンピュータの形態をとることもできる。また、本実施例には、処理装置が撮像部を1つだけ備え、視点を変えながら複数回撮像して得られる画像データに対して画像処理を行う例も含まれる。
CPU103は、以下に述べる各部を統括的に制御する。RAM104は、CPU103の主メモリとして機能する。また、RAM104は、撮像データ等を一時的に格納する。ROM105は、CPU103で実行される制御プログラム等を格納する。操作部106は、ユーザが入力操作を受け付けるための、ボタンなどである。表示制御部107は、表示部108に表示される画像や文字の表示制御を行う。表示部108は、例えば液晶ディスプレイである。撮像部制御部109は、CPU103や操作部106などからの指示に基づいて、撮像部101,102の制御を行う。デジタル信号処理部110は、バス114を介して受け取った撮像データ(デジタルデータ)に対し、ホワイトバランス処理、ガンマ処理、ノイズ低減処理などの各種処理を行う。外部メモリ制御部111は、メディア112とバス114とを繋ぐためのインターフェースである。メディア112は、例えば、ハードディスク、メモリーカード、CFカード、SDカード、USBメモリである。また、外部メモリ制御部111には、メディア112の他にPCなどが接続されてもよい。画像処理部113は、撮像部101,102で取得された撮像データや、デジタル信号処理部110から出力されるデジタル画像データを利用して画像処理を行う。
〔画像処理部113における処理〕
図2は、画像処理部113の内部構成の一例を示すブロック図である。較正情報取得部201は、RAM104から撮像部101,102の較正パラメータを含む較正情報を取得する。ここで較正パラメータとは、撮像部の位置(x,y,z)と姿勢(α,β,γ)、撮像部が有するレンズの焦点距離(fx,fy)、主点位置(cx,cy)を示す。各撮像部の較正パラメータは、カメラ、レンズの設計値や実測値から取得可能である。また、事前にzhangの手法(参考文献1参照)などのカメラキャリブレーションを行うことにより取得可能である。較正情報取得部201は、取得した較正情報を探索範囲決定部204に出力する。
図2は、画像処理部113の内部構成の一例を示すブロック図である。較正情報取得部201は、RAM104から撮像部101,102の較正パラメータを含む較正情報を取得する。ここで較正パラメータとは、撮像部の位置(x,y,z)と姿勢(α,β,γ)、撮像部が有するレンズの焦点距離(fx,fy)、主点位置(cx,cy)を示す。各撮像部の較正パラメータは、カメラ、レンズの設計値や実測値から取得可能である。また、事前にzhangの手法(参考文献1参照)などのカメラキャリブレーションを行うことにより取得可能である。較正情報取得部201は、取得した較正情報を探索範囲決定部204に出力する。
[参考文献1]
Z. Zhang, “A flexible new technique for camera calibration”,IEEE Transactions on Pattern Analysis and Machine Intelligence,22(11):1330-1334, 2000.
Z. Zhang, “A flexible new technique for camera calibration”,IEEE Transactions on Pattern Analysis and Machine Intelligence,22(11):1330-1334, 2000.
較正精度情報取得部202は、RAM104から較正パラメータ算出時の較正パラメータの推定精度を示す較正精度情報を取得する。較正パラメータ推定精度は事前の精度評価により、上記の各構成パラメータについて算出されているとする。較正精度情報取得部202は、取得した較正精度情報を探索範囲決定部204に出力する。
ここで、較正パラメータと較正パラメータ推定精度について詳細に説明する。図3は、較正情報取得部201が取得する較正パラメータを説明するためのイメージ図である。矢印301は撮像部101の姿勢(光軸方向)を示し、矢印の原点302は撮像部101の位置を示している。本実施例では、撮像部101の位置を原点、光軸方向をz軸、画像の横軸をx軸、画像の縦軸をy軸とした座標系で較正パラメータを表す。したがって、撮像部101の位置と姿勢は式(1)によって表される。ここでベクトルX1が撮像部101の位置を表し、ベクトルP1が撮像部101の姿勢を表している。
矢印303は撮像部102の姿勢を示し、矢印原点304は撮像部102の位置を示している。撮像部102の位置X2と姿勢P2は式(2)によって表される。
本実施例では、説明を簡単にするため、焦点距離(fx,fy)及び主点位置(cx,cy)については、撮像部101と撮像部102とにおいて同じ値が設定されているものとする。
前述したカメラキャリブレーションにより上記較正パラメータ(x,y,z,α,β,γ,fx,fy,cx,cy)を推定することが可能である。しかし、カメラキャリブレーションによって推定される較正パラメータには誤差が含まれる。この較正パラメータに含まれる誤差がどの程度であるかを示した値が、較正精度情報取得部202で取得される較正パラメータ推定精度である。本実施例における較正パラメータ推定精度は各較正パラメータの最大推定誤差であり、(xe,ye,ze,αe,βe,γe,fxe,fye,cxe,cye)で表される。各較正パラメータの最大推定誤差は、較正パラメータの真値データに基づいて描画した複数のCG画像を入力画像としてカメラキャリブレーションを複数回行い、真値とキャリブレーションにより求めた推定値との差を評価することにより、取得可能である。本実施例では較正パラメータ推定精度を各較正パラメータの最大推定誤差としているが、較正パラメータ推定精度は、各較正パラメータの誤差平均、分散、標準偏差などであってもよい。
撮像データ取得部203は、撮像部101,102が撮像した撮像データを取得し、対応探索部205に出力する。
探索範囲決定部204は、較正情報取得部201から較正パラメータを取得し、較正精度情報取得部202から較正パラメータ推定精度を取得する。そして、探索範囲決定部204は、撮像部101と撮像部102の撮像画像間で対応探索する画素を決定する。なお、撮像部の較正パラメータと較正パラメータ推定精度とが既知であれば、撮像前に探索範囲を決定することが可能である。そのため、本実施例では、探索範囲決定部204は、撮像データ取得部203から撮像データを入力しない。また、撮像部の状態に変化がなければ、過去の撮影時に決定した探索範囲を用いることも可能である。
〔較正パラメータに含まれる誤差がエピポーラ線に与えるずれ〕
ここで、較正パラメータに含まれる誤差がエピポーラ線に与えるずれについて、図4を用いて説明する。図4には、誤差を含まない正確な較正パラメータに基づいて算出されたエピポーラ線と、誤差を含む較正パラメータに基づいて算出されたエピポーラ線とが示されている。較正パラメータに基づくエピポーラ線の算出方法については後述する。破線で囲われた領域401,404は、撮像部101の撮像画像(第1の画像)に含まれる画素(以下、注目画素と称する)を中心とした領域(以下、注目領域と称する)である。破線402,405は、較正パラメータに基づいて算出された、注目領域401,404(具体的には、注目領域401,404における注目画素)に対応するエピポーラ線である。破線で囲われた領域403,406は、対応探索においてエピポーラ線402,405上を走査する際に用いられる探索ブロックである。エピポーラ線上を探索ブロックで走査し、注目領域との画素値の差分が小さい領域を探索することにより、注目領域に対応する撮像部102の撮像画像上の領域(以下、対応領域と称する)を検出する。較正パラメータが正確であれば、図4の上段に示すように、注目領域401に対応する領域を通る、エピポーラ線402を算出することができる。そして、エピポーラ線402上を探索ブロック403で走査して探索することにより、正解となる対応領域を検出することが可能である。一方で、較正パラメータに誤差が含まれている場合に算出されるエピポーラ線405は、注目領域404に対応する領域から離れた位置に存在するため、正解となる対応領域を検出することができない。図4の下段には、本実施例における較正パラメータの1つであるα(x軸周りの回転角度)にのみ誤差が含まれている場合に算出される、エピポーラ線が例として示されている。較正パラメータのどのパラメータに、どの程度の大きさの誤差が含まれているかによって、エピポーラ線のずれ方は異なる。前述したように、較正パラメータに誤差が含まれていると、エピポーラ線がずれてしまい、正確な対応探索が困難になる。本実施例では、較正パラメータと較正パラメータ推定精度とに基づいて、探索元の画像に含まれる画素に対応するエピポーラ線を複数算出することにより、上記課題を解決する。
ここで、較正パラメータに含まれる誤差がエピポーラ線に与えるずれについて、図4を用いて説明する。図4には、誤差を含まない正確な較正パラメータに基づいて算出されたエピポーラ線と、誤差を含む較正パラメータに基づいて算出されたエピポーラ線とが示されている。較正パラメータに基づくエピポーラ線の算出方法については後述する。破線で囲われた領域401,404は、撮像部101の撮像画像(第1の画像)に含まれる画素(以下、注目画素と称する)を中心とした領域(以下、注目領域と称する)である。破線402,405は、較正パラメータに基づいて算出された、注目領域401,404(具体的には、注目領域401,404における注目画素)に対応するエピポーラ線である。破線で囲われた領域403,406は、対応探索においてエピポーラ線402,405上を走査する際に用いられる探索ブロックである。エピポーラ線上を探索ブロックで走査し、注目領域との画素値の差分が小さい領域を探索することにより、注目領域に対応する撮像部102の撮像画像上の領域(以下、対応領域と称する)を検出する。較正パラメータが正確であれば、図4の上段に示すように、注目領域401に対応する領域を通る、エピポーラ線402を算出することができる。そして、エピポーラ線402上を探索ブロック403で走査して探索することにより、正解となる対応領域を検出することが可能である。一方で、較正パラメータに誤差が含まれている場合に算出されるエピポーラ線405は、注目領域404に対応する領域から離れた位置に存在するため、正解となる対応領域を検出することができない。図4の下段には、本実施例における較正パラメータの1つであるα(x軸周りの回転角度)にのみ誤差が含まれている場合に算出される、エピポーラ線が例として示されている。較正パラメータのどのパラメータに、どの程度の大きさの誤差が含まれているかによって、エピポーラ線のずれ方は異なる。前述したように、較正パラメータに誤差が含まれていると、エピポーラ線がずれてしまい、正確な対応探索が困難になる。本実施例では、較正パラメータと較正パラメータ推定精度とに基づいて、探索元の画像に含まれる画素に対応するエピポーラ線を複数算出することにより、上記課題を解決する。
探索範囲決定部204の処理の詳細について、図5を用いて説明する。図5は、探索範囲決定部204の内部構成の一例を示すブロック図である。探索範囲決定部204は、較正パラメータテーブル生成部501と、エピポーラ線算出部502と、探索範囲情報生成部503とを有する。較正パラメータテーブル生成部501は、較正パラメータ(x,y,z,α,β,γ,fx,fy,cx,cy)と、各パラメータ推定精度(xe,ye,ze,αe,βe,γe,fxe,fye,cxe,cye)とを取得する。本実施例における較正パラメータ推定精度は各較正パラメータの最大推定誤差である。そのため、例えば、カメラ位置のx座標の正解値は必ず(x−xe)≦(x+xe)の範囲内に含まれることがわかる。同様に他の較正パラメータについても、正解値が含まれる範囲を求めることができる。較正パラメータテーブル生成部501は、各較正パラメータが誤差の範囲内でとりうる全ての値を組み合わせて得られる、較正パラメータの組み合わせを格納したテーブル(以下、較正パラメータテーブルと称する)を生成する。図6は、較正パラメータテーブルを説明するための図である。図6(a)には、各較正パラメータがとりうる全ての値が組み合わされる様子が示されている。図6(b)には、較正パラメータがとりうる全ての値を組み合わせて得られる、較正パラメータテーブルの例が示されている。図6(a)に示す例では、各較正パラメータがそれぞれn個の値をとりうるので、n×n×・・・×n=n10個の組み合わせについてエピポーラ線がそれぞれ算出される。なお、図6(a)に示す例では、各較正パラメータがとりうる値の数がいずれもn個となっている。しかし、各較正パラメータがとりうる値の数は各較正パラメータの推定精度によるものであるため、各較正パラメータ間で異なっていても構わない。較正パラメータテーブル生成部501は生成した較正パラメータテーブルをエピポーラ線算出部502に出力する。
エピポーラ線算出部502は較正パラメータテーブルを取得し、較正パラメータテーブルに含まれる較正パラメータの組み合わせの全てについてエピポーラ線を導出する。例えば、撮像部101の撮像画像における、ある画素m(u,v)に対応するエピポーラ線は、以下に示す式(3)〜式(5)により算出可能である。式(3)は撮像部102の撮像画像におけるエピポーラ線を表している。式(3)の変数(a,b,c)を算出することにより、エピポーラ線が求まる。ここで変数(u´,v´)は撮像部102の撮像画像の画像座標である。変数(a,b,c)は式(4)を用いて算出することができ、式(4)のF行列(基礎行列)は式(5)により求めることができる。
エピポーラ線算出部502は、較正パラメータテーブルに含まれる較正パラメータの組み合わせの全てについてエピポーラ線を表す変数(a,b,c)を算出し、算出した当該変数を探索範囲情報生成部503に出力する。
探索範囲情報生成部503は、エピポーラ線算出部502が算出した全てのエピポーラ線に基づいて、撮像部101の撮像画像上のある画素m(u,v)に対応する、撮像部102の撮像画像上での探索範囲を決定する。図7は、探索範囲情報生成部503の処理を模式的に示すイメージ図である。破線で囲われた領域711は、撮像部101の撮像画像内における注目領域である。破線で囲われた領域712は、撮像部102の撮像画像内における、注目領域711に対応する領域である。探索範囲情報生成部503は、エピポーラ線算出部502が算出したエピポーラ線が通る座標(u´,v´)と、当該エピポーラ線の傾きθとを、探索範囲を示す情報(以下、探索範囲情報と称する)として記録する。例えば、エピポーラ線E1,E2,E3,・・・が算出された場合には、各エピポーラ線に対応する探索範囲情報として、(u´1,v´1,θ1),(u´2,v´2,θ2),(u´3,v´3,θ3),・・・が記録される。ここで、(u´1,v´1,θ1)におけるu´1,v´1は、エピポーラ線E1が通る任意の座標を表し、θ1は、エピポーラ線E1の傾きを表す。(u´2,v´2,θ2),(u´3,v´3,θ3),・・・についても同様である。なお、本実施例では、エピポーラ線が通る座標としてエピポーラ線上の座標を1つ記録するようにしているが、エピポーラ線上の全ての座標を記録するようにしてもよい。
探索範囲情報生成部503は、エピポーラ線算出部502によって算出された全てのエピポーラ線について、エピポーラ線が通る座標(u´,v´)とエピポーラ線の傾きθとを記録する。その結果、図7に示すような探索範囲テーブル703が生成される。このようにして、撮像部101の撮像画像のある画素m(u,v)に対応する、撮像部102の撮像画像上での探索範囲が決定される。探索範囲情報生成部503は、探索範囲テーブル703を対応探索部205に出力する。このようにして、各エピポーラ線に対応する探索範囲情報が対応探索部205に出力される。なお本実施例では、エピポーラ線算出部502が、エピポーラ線を表す変数(a,b,c)を算出し、探索範囲情報生成部503が、エピポーラ線が通る位置座標を、探索範囲情報として記録した。しかし、探索範囲の決定方法はその他の方法であってもよい。例えば、エピポーラ線算出部502がF行列(基礎行列)を算出し、探索範囲情報生成部503が当該F行列に基づいてエピポーラ線を算出し、算出したエピポーラ線が通る位置座標を、探索範囲情報として記録するようにしてもよい。
図2の説明に戻る。対応探索部205は、探索範囲決定部204から取得した探索範囲テーブル703に基づいて、撮像部101の撮像画像と撮像部102の撮像画像のブロックマッチングを行うことにより、対応画素を探索し、探索結果を出力する。具体的には、対応探索部205は、探索範囲テーブル703によって示される全ての探索範囲を探索ブロックで走査し、探索ブロックと注目領域との差分を算出し、その差分が最小となる探索ブロックを検出する。そして、検出された探索ブロックの中心画素が探索結果(対応画素)として出力される。本実施例ではブロックマッチングによって対応探索を行ったが、これに限らず、エピポーラ線を基準として探索する手法であれば、位相限定相関法など他の手法でも実施可能である。
〔画像処理部113の処理の流れ〕
画像処理部113の処理の流れについて説明する。図8は、画像処理部113の第1の実施例における処理の流れを示すフローチャートである。
画像処理部113の処理の流れについて説明する。図8は、画像処理部113の第1の実施例における処理の流れを示すフローチャートである。
図8(a)には、探索範囲を決定する際の処理の流れが示されている。上述したように、撮像部の較正パラメータと較正パラメータ推定精度とが既知であれば、撮像前に探索範囲を決定することが可能である。したがって、図8(a)に示す処理は、例えば、CPU103の空き時間等に画像処理部113によって予め実行することが可能である。
まず、ステップS801において、較正情報取得部201はRAM104から較正情報を取得する。また、較正精度情報取得部202は、RAM104から較正精度情報を取得する。
次いで、ステップS802において、探索範囲決定部204は、較正情報取得部201が取得した較正情報と、較正精度情報取得部202が取得した較正精度情報とに基づいて、注目画素に対応する探索範囲を決定する。ステップS802の処理の詳細については後述する。
次いで、ステップS803において、探索範囲決定部204は、撮像範囲内の全ての画素について、探索範囲を決定したか確認する。全ての画素について探索範囲が決定されていれば、処理は終了し、決定されていなければステップS802に処理は戻る。
図8(b)には、対応探索が行われる際の処理の流れが示されている。まず、ステップS811において、撮像データ取得部203は、撮像部101と撮像部102とが撮像した撮像データを取得する。
次いで、ステップS812において、対応探索部205は、ステップS801〜S803の処理により決定された探索範囲と、ステップS811の処理により取得された撮像データとに基づいて、対応探索を行う。そして、対応探索部205は、対応探索の結果を出力する。
〔ステップS802における探索範囲決定部204の処理の流れ〕
ステップS802における探索範囲決定部204における処理の流れについて説明する。図9は、ステップS802における探索範囲決定部204の処理の流れを示すフローチャートである。
ステップS802における探索範囲決定部204における処理の流れについて説明する。図9は、ステップS802における探索範囲決定部204の処理の流れを示すフローチャートである。
ステップS901において、較正パラメータテーブル生成部501は、較正情報取得部201が取得した較正情報と、較正精度情報取得部202が取得した較正精度情報とに基づいて、較正パラメータテーブルを生成する。そして、較正パラメータテーブル生成部501は、生成した較正パラメータテーブルをエピポーラ線算出部502に出力する。
ステップS902において、エピポーラ線算出部502は、入力した較正パラメータテーブルに含まれる較正パラメータの全ての組み合わせについて、エピポーラ線を算出する。
ステップS903において、探索範囲情報生成部503は、エピポーラ線算出部502が算出したエピポーラ線が通る位置座標と、当該エピポーラ線の傾きとを探索範囲情報として記録する。
ステップS904において、探索範囲情報生成部503は、較正パラメータテーブルに含まれる全ての較正パラメータについて、エピポーラ線を算出し、探索範囲を決定したか確認する。較正パラメータの全ての組み合わせについて探索範囲を決定できていなければ、処理はステップS902に移行する。全ての組み合わせについて探索範囲を決定できていれば、探索範囲決定部204は処理を終了し、探索範囲情報(探索範囲テーブル)を出力する。
〔第1の実施例の効果〕
図10は、第1の実施例の効果を説明するための図である。ここでは、撮像部102の較正パラメータの1つであるα(x軸周りの回転角度)にのみ誤差が含まれているときに、本実施例を適用した例を示す。図10(a)には撮像部101の撮像画像が示されている。点1001は注目画素を示し、破線で示される領域1002はブロックマッチング時の注目領域を示す。図10(b)には、本実施例を適用しない場合に、ブロックマッチングにより検出される、撮像部102の撮像画像上の画素の一例が示されている。点1003は点1001に対応する画素(以下、正解対応画素と称する)を示し、破線で示される領域1004は点1003を中心とした探索ブロックを示す。破線1005は、αに誤差を含んだ較正パラメータを用いて算出されたエピポーラ線を示す。エピポーラ線1005上で注目領域1002に類似したブロックを探索すると、領域1007が検出され、注目画素1001に対応する、撮像部102の撮像画像上の画素として点1006の画素が出力される。領域1007は、注目領域1002との類似度は高いが、正解対応画素1003からは離れた位置に検出されている。すなわち、対応探索が失敗している。図10(c)には、本実施例を適用した場合に、ブロックマッチングにより検出される撮像部102の撮像画像上の画素の一例が示されている。図10(c)には、図10(b)と同様に較正パラメータから算出されたエピポーラ線1005が描かれているが、その他にエピポーラ線1005を基準に較正パラメータ推定精度から算出したエピポーラ線も複数描かれている。本実施例では図10(c)に描かれている全てのエピポーラ線において注目画素1001に対応する画素を探索する。そのため、正解対応画素1003と等しい位置にある点1008を対応画素として検出することが可能である。本実施例を適用することにより、本実施例を適用しない場合において失敗する可能性があった対応探索を、失敗することなく確実に、且つ高精度に行うことができる。また、本実施例では、エピポーラ線の算出において、処理時間がかかる較正パラメータの補正を行う必要がない。したがって、対応探索に要する処理時間をより短くすることが可能となる。
図10は、第1の実施例の効果を説明するための図である。ここでは、撮像部102の較正パラメータの1つであるα(x軸周りの回転角度)にのみ誤差が含まれているときに、本実施例を適用した例を示す。図10(a)には撮像部101の撮像画像が示されている。点1001は注目画素を示し、破線で示される領域1002はブロックマッチング時の注目領域を示す。図10(b)には、本実施例を適用しない場合に、ブロックマッチングにより検出される、撮像部102の撮像画像上の画素の一例が示されている。点1003は点1001に対応する画素(以下、正解対応画素と称する)を示し、破線で示される領域1004は点1003を中心とした探索ブロックを示す。破線1005は、αに誤差を含んだ較正パラメータを用いて算出されたエピポーラ線を示す。エピポーラ線1005上で注目領域1002に類似したブロックを探索すると、領域1007が検出され、注目画素1001に対応する、撮像部102の撮像画像上の画素として点1006の画素が出力される。領域1007は、注目領域1002との類似度は高いが、正解対応画素1003からは離れた位置に検出されている。すなわち、対応探索が失敗している。図10(c)には、本実施例を適用した場合に、ブロックマッチングにより検出される撮像部102の撮像画像上の画素の一例が示されている。図10(c)には、図10(b)と同様に較正パラメータから算出されたエピポーラ線1005が描かれているが、その他にエピポーラ線1005を基準に較正パラメータ推定精度から算出したエピポーラ線も複数描かれている。本実施例では図10(c)に描かれている全てのエピポーラ線において注目画素1001に対応する画素を探索する。そのため、正解対応画素1003と等しい位置にある点1008を対応画素として検出することが可能である。本実施例を適用することにより、本実施例を適用しない場合において失敗する可能性があった対応探索を、失敗することなく確実に、且つ高精度に行うことができる。また、本実施例では、エピポーラ線の算出において、処理時間がかかる較正パラメータの補正を行う必要がない。したがって、対応探索に要する処理時間をより短くすることが可能となる。
[実施例2]
第1の実施例では、較正パラメータと較正パラメータ推定精度とに基づいて、較正パラメータテーブルを生成し、生成した較正パラメータテーブルの較正パラメータの各組み合わせから算出したエピポーラ線上の全ての画素を対象として対応探索を行った。またこれにより、較正パラメータに含まれる誤差が原因で失敗していた対応探索の精度を向上させた。第2の実施例では、エピポーラ線の算出に用いた較正パラメータに基づいて、対応探索時の探索順序を決定し、その探索順序に基づいて対応探索を行うことにより、処理の高速化を実現する。以下では、本実施例について、第1の実施例との差異のみ説明する。
第1の実施例では、較正パラメータと較正パラメータ推定精度とに基づいて、較正パラメータテーブルを生成し、生成した較正パラメータテーブルの較正パラメータの各組み合わせから算出したエピポーラ線上の全ての画素を対象として対応探索を行った。またこれにより、較正パラメータに含まれる誤差が原因で失敗していた対応探索の精度を向上させた。第2の実施例では、エピポーラ線の算出に用いた較正パラメータに基づいて、対応探索時の探索順序を決定し、その探索順序に基づいて対応探索を行うことにより、処理の高速化を実現する。以下では、本実施例について、第1の実施例との差異のみ説明する。
第2の実施例の処理装置の構成は、第1の実施例と同様である。ただし、第2の実施例における探索範囲決定部204の動作が、第1の実施例と異なる。第2の実施例では、エピポーラ線算出に用いた較正パラメータが、較正情報取得部201で取得された較正パラメータと、どの程度差があるかに基づいて探索順序を決定する。図11は、第2の実施例における探索範囲決定部204の内部構成の一例を示すブロック図である。図12は、第2の実施例における探索範囲決定部204の各部において受け渡しされるデータを説明するための図である。第2の実施例における探索範囲決定部204は、較正パラメータテーブル生成部1101と、エピポーラ線算出部1102と、探索範囲情報生成部1103とを有する。
較正パラメータテーブル生成部1101は、第1の実施例と同様に、較正パラメータ(x,y,z,α,β,γ,fx,fy,cx,cy)と各パラメータ推定精度(xe,ye,ze,αe,βe,γe,fxe,fye,cxe,cye)とを取得する。そして、較正パラメータテーブル生成部1101は、較正パラメータテーブルを生成する。このとき、較正パラメータテーブル生成部1101は、所定の順序に従って、較正パラメータの各組み合わせを較正パラメータテーブルに格納する。具体的には、較正パラメータテーブル生成部1101は、較正パラメータの各組み合わせを、取得した較正パラメータ(x,y,z,α,β,γ,fx,fy,cx,cy)との差が小さい順に、較正パラメータテーブルに格納する。具体的には、まず、較正パラメータテーブル生成部1101は、取得した較正パラメータ(x,y,z,α,β,γ,fx,fy,cx,cy)を較正パラメータテーブル1201に格納する。次いで、較正パラメータテーブル生成部1101は、較正パラメータ(x,y,z,α,β,γ,fx,fy,cx,cy)との差分が最も小さい、較正パラメータの組み合わせ(x_1,y_1,z_1,α_1,β_1,γ_1,fx_1,fy_1,cx_1,cy_1)を格納する。ここで、差分とは、各較正パラメータの差分の合計(x_1−x+y_1−y+z_1−z+・・・+cx_1−cx+cy_1−cy)を示す。次いで、較正パラメータテーブル生成部1101は、較正パラメータ(x,y,z,α,β,γ,fx,fy,cx,cy)との差分が2番目に小さい、較正パラメータの組み合わせ(x_2,y_2,z_2,α_2,β_2,γ_2,fx_2,fy_2,cx_2,cy_2)を格納する。このようにして、図12に示されるような、較正パラメータテーブル1201が生成される。較正パラメータテーブル生成部1101は、生成した較正パラメータテーブル1201をエピポーラ線算出部1102に出力する。
エピポーラ線算出部1102は、較正パラメータテーブル生成部1101から較正パラメータテーブル1201を入力する。そして、エピポーラ線算出部1102は、較正パラメータテーブル1201に格納されている較正パラメータの各組み合わせについて、格納されている順に従ってエピポーラ線を導出する。そして、エピポーラ線算出部1102は、導出したエピポーラ線を表す変数を格納したエピポーラ線テーブル1202を、探索範囲情報生成部1103に出力する。このとき、エピポーラ線算出部1102は、各エピポーラ線の導出順に従って、各エピポーラ線を表すパラメータをエピポーラ線テーブル1202に格納する。したがって、最初に、(x,y,z,α,β,γ,fx,fy,cx,cy)から算出されたエピポーラ線を表す、パラメータ(a_1,b_1,c_1)がエピポーラ線テーブル1202に格納される。次いで、(x_1,y_1,z_1,α_1,β_1,γ_1,fx_1,fy_1,cx_1,cy_1)から算出されたエピポーラ線を表す、パラメータ(a_2,b_2,c_2)が格納される。次いで、(x_2,y_2,z_2,α_2,β_2,γ_2,fx_2,fy_2,cx_2,cy_2)から算出されたエピポーラ線を表す、パラメータ(a_3,b_3,c_3)が格納される。同様にして、較正パラメータの各組み合わせに対応するエピポーラ線を表すパラメータがそれぞれ、エピポーラ線テーブル1202に格納される。
探索範囲情報生成部1103は、入力したエピポーラ線テーブル1202に格納された各エピポーラ線を表す変数から、各エピポーラ線が通る座標(u´,v´)と各エピポーラ線の傾きθとを算出する。このとき、各エピポーラ線を表す変数が格納されている順に従って、各エピポーラ線に対応する座標と傾きとが算出される。そして、探索範囲情報生成部1103は、算出した座標と傾きとを探索範囲情報として、算出した順に探索範囲テーブル1203に格納する。このとき、最初に、(a_1,b_1,c_1)から算出された位置座標と傾き(u´_11,v´_11,θ_1),(u´_12,v´_12,θ_1)・・・・(u´1m,v´1m,θ_1)が、探索範囲テーブル1203に格納される。ここで、θ_1は、エピポーラ線の傾きを表し、u´_11,v´_11、u´_12,v´_12、・・・・u´_1m,v´_1mは、当該エピポーラ線上の全座標を表す。次いで、(a_2,b_2,c_2)から算出された位置座標と傾き(u´_21,v´_21,θ_2),(u´_22,v´2_2,θ_2)・・・・(u´_2m,v´_2m,θ_2)が探索範囲テーブル1203に格納される。次いで、(a_3,b_3,c_3)から算出された位置座標と傾き(u´_31,v´_31,θ_3),(u´_32,v´_32,θ_3)・・・・(u´_3m,v´_3m,θ_3)が探索範囲テーブル1203に格納される。同様にして、各エピポーラ線に対応する探索範囲情報がそれぞれ、探索範囲テーブル1203に格納される。なお、本実施例では、エピポーラ線が通る座標としてエピポーラ線上の全ての座標を記録するようにしているが、第1の実施例と同様に、エピポーラ線上の座標を1つ記録するようにしてもよい。探索範囲情報生成部1103は、探索範囲テーブル1203を対応探索部205に出力する。このようにして、各エピポーラ線に対応する探索範囲情報と各エピポーラ線の探索順とが対応探索部205に出力される。
対応探索部205は、探索範囲テーブル1203に格納された各探索範囲情報について、撮像部101の撮像画像と撮像部102の撮像画像のブロックマッチングを行うことにより、対応画素を探索し、探索結果を出力する。このとき、対応探索部205は、探索範囲テーブル1203の格納された各探索範囲情報について、格納順に従って対応探索を行う。なお、対応探索が行われる順序は、探索範囲テーブル1203における各探索範囲情報の格納順に限らない。例えば、二分探索等により探索範囲テーブル1203から探索範囲情報を抽出し、抽出順に従って対応探索を行うようにしてもよい。
第1の実施例では、探索範囲テーブル703によって示される全ての探索範囲を探索ブロックで走査して、注目領域との画素値の差分が最小となるブロックを検出し、当該ブロック内の中心画素を対応画素としていた。しかし、第2の実施例では、探索範囲テーブル1203に格納された各探索範囲情報によって示される探索範囲を、当該テーブルにおける各探索範囲情報の格納順に応じて走査する。そして、対応探索部205は、注目領域との差分が閾値以下であるブロックを検出した場合に、そのブロック内の中心画素を対応画素と決定し、探索を終了する。
〔第2の実施例の効果〕
上述したように、第1の実施例では、全ての探索範囲を探索ブロックで走査して、探索ブロックと注目領域との差分を算出し、その差分が最小となる探索ブロックの中心画素を対応画素として決定する。一方、第2の実施例では、各探索範囲について探索順を決定し、探索順に従って探索範囲を探索ブロックで走査し、対応画素が検出された時点で、探索を終了する。そのため、第1の実施例より処理量を軽減することができる。また、より高速に処理することが可能となる。
上述したように、第1の実施例では、全ての探索範囲を探索ブロックで走査して、探索ブロックと注目領域との差分を算出し、その差分が最小となる探索ブロックの中心画素を対応画素として決定する。一方、第2の実施例では、各探索範囲について探索順を決定し、探索順に従って探索範囲を探索ブロックで走査し、対応画素が検出された時点で、探索を終了する。そのため、第1の実施例より処理量を軽減することができる。また、より高速に処理することが可能となる。
(その他の実施例)
本発明は、上述した実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述した実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
104 RAM
204 探索範囲決定部
205 対応探索部
204 探索範囲決定部
205 対応探索部
Claims (9)
- 撮像手段によって得られる複数の画像のうち第1の画像の各画素に対応する対応画素を、前記第1の画像と視点が異なる第2の画像から探索する画像処理装置であって、
前記撮像手段の較正パラメータを含む較正情報と、前記較正パラメータの推定精度を示す較正精度情報とを格納する格納手段と、
前記較正情報と前記較正精度情報とに基づいて、前記第1の画像の各画素に対応する、前記第2の画像上における探索範囲を決定する決定手段と、
前記第1の画像の各画素について、前記決定手段が決定した前記探索範囲を探索して対応画素を検出する検出手段と、を備える
ことを特徴とする画像処理装置。 - 前記決定手段は、
前記較正情報と前記較正精度情報とに基づいて、前記第1の画像の各画素に対応する、前記第2の画像上における1または複数のエピポーラ線を導出し、
前記導出した1または複数のエピポーラ線上を前記探索範囲とする
請求項1に記載の画像処理装置。 - 前記較正情報には、複数の較正パラメータが含まれ、
前記決定手段は、
前記較正精度情報から各較正パラメータの誤差の範囲を求めて、前記各較正パラメータが前記誤差の範囲内においてとりうる値をそれぞれ組み合わせて得られる、1または複数の新たな較正情報を生成する生成手段と、
前記生成手段によって生成された各較正情報に基づいて、前記第1の画像の各画素に対応する、前記第2の画像上における1または複数のエピポーラ線を導出する導出手段と、を有する
請求項2に記載の画像処理装置。 - 前記生成手段は、
前記1または複数の新たな較正情報を、前記格納手段に格納された較正情報との差分が小さい順にテーブルに格納し、
前記導出手段は、
前記第1の画像の一の画素に対応するエピポーラ線を導出する際に、前記テーブルにおける各較正情報の格納順に従って、前記各較正情報に基づくエピポーラ線をそれぞれ導出し、
前記検出手段は、
前記第1の画像の一の画素について導出された各エピポーラ線の線上を、最初に導出されたエピポーラ線から順に探索して、当該一の画素に対応する対応画素を検出する
請求項3に記載の画像処理装置。 - 前記検出手段は、
前記第1の画像の一の画素について導出された各エピポーラ線の線上を、最初に導出されたエピポーラ線から順に探索ブロックで走査し、当該一の画素を中心とする注目領域との差分が閾値以下であるブロックを検出した場合には、当該ブロックの中心画素を当該一の画素に対応する対応画素として検出する
請求項4に記載の画像処理装置。 - 前記較正精度情報が、前記複数の較正パラメータそれぞれの最大推定誤差である
請求項1から請求項5のいずれか1項に記載の画像処理装置。 - 前記較正情報には、較正パラメータとして少なくとも、前記撮像手段の位置、姿勢、焦点距離、及び主点位置が含まれる
請求項1から請求項6のいずれか1項に記載の画像処理装置。 - 撮像手段によって得られる複数の画像のうち第1の画像の各画素に対応する対応画素を、前記第1の画像と視点が異なる第2の画像から探索する画像処理方法であって、
前記撮像手段の較正パラメータを含む較正情報と、前記較正パラメータの推定精度を示す較正精度情報とに基づいて、前記第1の画像の各画素に対応する、前記第2の画像上における探索範囲を決定する決定ステップと、
前記第1の画像の各画素について、前記決定ステップにおいて決定された前記探索範囲を探索して対応画素を検出する検出ステップと、を含む
ことを特徴とする画像処理方法。 - コンピュータを請求項1から請求項7のうちのいずれか1項に記載の画像処理装置として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016187146A JP2018055173A (ja) | 2016-09-26 | 2016-09-26 | 画像処理装置、画像処理方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016187146A JP2018055173A (ja) | 2016-09-26 | 2016-09-26 | 画像処理装置、画像処理方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018055173A true JP2018055173A (ja) | 2018-04-05 |
Family
ID=61834147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016187146A Pending JP2018055173A (ja) | 2016-09-26 | 2016-09-26 | 画像処理装置、画像処理方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018055173A (ja) |
-
2016
- 2016-09-26 JP JP2016187146A patent/JP2018055173A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11830216B2 (en) | Information processing apparatus, information processing method, and storage medium | |
US10643347B2 (en) | Device for measuring position and orientation of imaging apparatus and method therefor | |
US8754963B2 (en) | Processing images having different focus | |
US9025862B2 (en) | Range image pixel matching method | |
JP6566768B2 (ja) | 情報処理装置、情報処理方法、プログラム | |
TWI393980B (zh) | The method of calculating the depth of field and its method and the method of calculating the blurred state of the image | |
JP5951043B2 (ja) | 画像計測装置 | |
WO2011125937A1 (ja) | キャリブレーションデータ選択装置、選択方法、及び選択プログラム、並びに三次元位置測定装置 | |
WO2021108626A1 (en) | System and method for correspondence map determination | |
JP2012050013A (ja) | 撮像装置、画像処理装置、画像処理方法及び画像処理プログラム | |
JP6411188B2 (ja) | ステレオマッチング装置とステレオマッチングプログラムとステレオマッチング方法 | |
JP2000121319A (ja) | 画像処理装置および画像処理方法、並びに提供媒体 | |
US10529085B2 (en) | Hardware disparity evaluation for stereo matching | |
JP6395429B2 (ja) | 画像処理装置、その制御方法及び記憶媒体 | |
JP6579816B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2006113832A (ja) | ステレオ画像処理装置およびプログラム | |
JP6843552B2 (ja) | 画像処理装置、画像処理方法およびプログラム。 | |
JP2016156702A (ja) | 撮像装置および撮像方法 | |
JP6655869B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2018055173A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2021131377A (ja) | 生成装置、生成方法およびプログラム | |
JPH1096607A (ja) | 物体検出装置および平面推定方法 | |
JP4351090B2 (ja) | 画像処理装置および画像処理方法 | |
JP2016072924A (ja) | 画像処理装置及び画像処理方法 | |
US20240029288A1 (en) | Image processing apparatus, image processing method, and storage medium |