(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-16
(45)【発行日】2022-12-26
(54)【発明の名称】画像処理装置およびその制御方法、距離検出装置、撮像装置、プログラム
(51)【国際特許分類】
G06T 7/55 20170101AFI20221219BHJP
H04N 5/232 20060101ALI20221219BHJP
H04N 5/225 20060101ALI20221219BHJP
G03B 13/36 20210101ALI20221219BHJP
G02B 7/34 20210101ALI20221219BHJP
G03B 35/08 20210101ALI20221219BHJP
G01C 3/06 20060101ALI20221219BHJP
【FI】
G06T7/55
H04N5/232 290
H04N5/225 300
H04N5/232 120
G03B13/36
G02B7/34
G03B35/08
G01C3/06 110V
(21)【出願番号】P 2018142350
(22)【出願日】2018-07-30
【審査請求日】2021-07-27
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100114775
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【氏名又は名称】小田 直
(72)【発明者】
【氏名】田中 伸
【審査官】青木 重徳
(56)【参考文献】
【文献】特開2011-165117(JP,A)
【文献】特開2010-165248(JP,A)
【文献】特開2011-103040(JP,A)
【文献】国際公開第2013/038863(WO,A1)
【文献】浜村 倫行 ほか,ステレオ画像の視差検出と符合化への応用,情報処理学会研究報告 99-CVIM-115,日本,社団法人情報処理学会,1999年03月18日,Vol.99 No.29,p.65-72
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/55
H04N 5/232
H04N 5/225
G03B 13/36
G02B 7/34
G03B 35/08
G01C 3/06
(57)【特許請求の範囲】
【請求項1】
視点の異なる複数の画像データの画像処理を行う画像処理装置であって、
前記複数の画像データを取得する取得手段と、
前記取得手段によって取得された前記複数の画像データのうち、基準画像である第1の画像データの画像に基準画像領域を設定し、参照画像である第2の画像データの画像に参照画像領域を設定
する際、前記基準画像領域の視差方向の境界部における隣接画素の輝度変化値が閾値未満となる形状を有する前記基準画像領域を決定し、決定された前記基準画像領域と、当該基準画像領域の形状に対応する形状を有する前記参照画像領域との間で相関演算を行うことによって前記複数の画像データの視差量を算出する演算処理手段と、を備え、
前記演算処理手段は、
前記基準画像領域の初期形状を設定する設定手段と、
前記初期形状である基準画像領域の視差方向の境界部における隣接画素の輝度変化値を算出する算出手段と、
前記隣接画素の輝度変化値が前記閾値以上である場合、前記初期形状である基準画像領域の境界の位置を変更することにより当該基準画像領域の形状を変形する変形手段と、を備えており、
前記算出手段は、前記変形手段によって変形された前記基準画像領域の視差方向の境界部における前記隣接画素の輝度変化値を算出し、
前記演算処理手段は、前記隣接画素の輝度変化値が前記閾値未満である場合、前記変形手段により変形された前記基準画像領域の境界の位置を決定し、
前記変形手段は、前記基準画像領域の形状を変形する際の変形量を制限し、前記算出手段によって算出される前記隣接画素の輝度変化値が前記閾値未満とならない場合には前記基準画像領域の形状の変形処理を止める
ことを特徴とする画像処理装置。
【請求項2】
前記変形手段は、前記算出手段によって算出される前記
隣接画素の輝度変化値が前記閾値未満とならない場合、前記算出手段によって算出された前記輝度変化値のうちで、最小の輝度変化値となる形状を前記基準画像領域の形状として決定する
ことを特徴とする請求項
1に記載の画像処理装置。
【請求項3】
前記演算処理手段は、前記変形手段によって前記基準画像領域の形状の変形処理を行う毎に前記閾値を大きく設定する
ことを特徴とする請求項
1または2に記載の画像処理装置。
【請求項4】
前記初期形状である基準画像領域のサイズと、前記変形手段による変形処理後の基準画像領域のサイズとが等しいか、または前記初期形状である基準画像領域のサイズと、前記変形手段による変形処理後の基準画像領域のサイズとのサイズ差が閾値未満である
ことを特徴とする請求項
1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
前記変形手段は、前記基準画像領域の形状を変形する方向を行ごとに変更する
ことを特徴とする請求項
1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
前記変形手段は、前記基準画像領域の形状を変形する方向を、視差方向の第1の境界と第2の境界とで異なる方向に設定する
ことを特徴とする請求項
1乃至4のいずれか1項に記載の画像処理装置。
【請求項7】
前記変形手段は、前記基準画像領域の形状を変形する方向を、既に行った変形処理による変形量の総計値にしたがって変更する
ことを特徴とする請求項
1乃至4のいずれか1項に記載の画像処理装置。
【請求項8】
前記変形手段は、前記初期形状である基準画像領域のサイズに比べて、変形処理ごとに変更される前記基準画像領域のサイズを常に大きくするかまたは小さくする
ことを特徴とする請求項
1乃至3のいずれか1項に記載の画像処理装置。
【請求項9】
前記変形手段は、前記算出手段によって事前に算出された前記隣接画素の輝度変化値を用いて前記基準画像領域の形状を変形する処理を行う
ことを特徴とする請求項
1に記載の画像処理装置。
【請求項10】
前記変形手段は、前記算出手段によって事前に算出された前記隣接画素の輝度変化値についての最小値を探索し、探索された前記輝度変化値の最小値である画素位置に対応した前記基準画像領域の位置を境界として設定する
ことを特徴とする請求項
9に記載の画像処理装置。
【請求項11】
前記変形手段は、前記算出手段によって事前に算出された前記隣接画素の輝度変化値が閾値未満となる画素位置により前記基準画像領域の形状を決定する
ことを特徴とする請求項
9に記載の画像処理装置。
【請求項12】
前記変形手段は、前記隣接画素の輝度変化値が前記閾値未満である画素位置のうち、前記初期形状である基準画像領域の形状により近い画素位置を選択して前記基準画像領域の形状を決定する
ことを特徴とする請求項
11に記載の画像処理装置。
【請求項13】
前記変形手段は、前記隣接画素の輝度変化値が前記閾値未満である画素位置のうち、前記基準画像領域の境界位置で変形済みの変形量にしたがって前記画素位置を選択して前記基準画像領域のサイズを調整し、前記基準画像領域の形状を決定する
ことを特徴とする請求項
11に記載の画像処理装置。
【請求項14】
前記算出手段によって事前に算出された前記隣接画素の輝度変化値により、前記基準画像領域の形状の変形処理を行うかどうかを判断する判断手段を備え、
前記変形手段は、前記判断手段により前記基準画像領域の形状の変形処理を行うと判断された場合、前記輝度変化値が閾値以上である画素位置を選択して前記基準画像領域の形状を決定する
ことを特徴とする請求項
9に記載の画像処理装置。
【請求項15】
前記判断手段は、前記初期形状である基準画像領域の境界部にて前記隣接画素の輝度変化値が閾値未満である場合に前記基準画像領域の形状の変形処理を行わないと判断する
ことを特徴とする請求項
14に記載の画像処理装置。
【請求項16】
請求項1乃至
15のいずれか1項に記載の画像処理装置と、
撮像手段と、を備え、
前記演算処理手段は、前記参照画像領域を変更して前記基準画像領域と前記参照画像領域との相関演算により算出された複数の相関値から前記視差量に対応する距離情報を算出する
ことを特徴とする距離検出装置。
【請求項17】
前記撮像手段は、複数のマイクロレンズと、各マイクロレンズに対応する複数の光電変換部を備え、
前記取得手段は、前記撮像手段から視点の異なる複数の画像データを取得する
ことを特徴とする請求項
16に記載の距離検出装置。
【請求項18】
請求項1乃至
15のいずれか1項に記載の画像処理装置と、
撮像手段と、
前記視差量に対応するデフォーカス量を算出して撮像光学系の焦点調節の制御を行う制御手段と、を備える
ことを特徴とする撮像装置。
【請求項19】
前記撮像手段は、複数のマイクロレンズと、各マイクロレンズに対応する複数の光電変換部を備え、
前記取得手段は、前記撮像手段から視点の異なる複数の画像データを取得する
ことを特徴とする請求項
18に記載の撮像装置。
【請求項20】
視点の異なる複数の画像データの画像処理を行う画像処理装置にて実行される制御方法であって、
前記複数の画像データを取得する取得工程と、
取得された前記複数の画像データのうち、基準画像である第1の画像データの画像に基準画像領域を設定し、参照画像である第2の画像データの画像に参照画像領域を設定する
際、演算処理手段が前記基準画像領域の視差方向の境界部における隣接画素の輝度変化値が閾値未満となる形状を有する前記基準画像領域を決定し、決定された前記基準画像領域と、当該基準画像領域の形状に対応する形状を有する前記参照画像領域との間で相関演算を行うことによって前記複数の画像データの視差量を算出す
る工程と、を有し、
前記演算処理手段が前記視差量を算出する工程は、
前記基準画像領域の初期形状を設定する設定工程と、
前記初期形状である基準画像領域の視差方向の境界部における隣接画素の輝度変化値を算出する算出工程と、
前記隣接画素の輝度変化値が前記閾値以上である場合、前記初期形状である基準画像領域の境界の位置を変更することにより当該基準画像領域の形状を変形する変形工程と、を有しており、
前記演算処理手段は、前記変形工程で変形された前記基準画像領域の視差方向の境界部における前記隣接画素の輝度変化値を算出し、当該輝度変化値が前記閾値未満である場合、前記変形工程で変形された前記基準画像領域の境界の位置を決定し、
前記変形工程にて前記演算処理手段は、前記基準画像領域の形状を変形する際の変形量を制限し、前記算出工程で算出される前記隣接画素の輝度変化値が前記閾値未満とならない場合には前記基準画像領域の形状の変形処理を止める
ことを特徴とする画像処理装置の制御方法。
【請求項21】
請求項
20に記載の制御方法の各工程をコンピュータに実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像された画像を用いて視差量を算出する画像処理技術に関する。
【背景技術】
【0002】
撮影画像から距離情報を算出する方法には、異なる視点で取得した複数の画像間の相関値から視差量を求めて距離情報を取得する方法がある。具体的には、組をなす画像のうち、片方の画像において着目画素を含む部分領域の画像信号を基準画像領域の信号として抜き出し、他方の画像における部分領域の画像信号を参照画像信号として抜き出す処理が行われる。参照画像信号の抜き出し位置を変え、各位置における相関値が計算される。各位置における相関値のうちで最も相関が高くなる位置を求めることで、着目画素における視差量を算出することができる。また最も相関が高くなる位置と、その位置に隣接する参照画像の位置との間で画素値の相関値を用いて、より高分解能な視差量を推定するサブピクセル推定法が行われる。この場合、撮影画像の画素値が大きく変化する領域は被写体の形状等に依存し、当該領域と基準画像領域の端部とが重なる条件で視差量を算出すると誤差が発生する。特許文献1にはブロックマッチング処理において、対象物の形状と基準画像領域の形状とが重ならないように基準画像領域の形状を選択することで誤差を低減する方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
対象物の形状と基準画像領域の形状が一致しないように基準画像領域の形状を選択する場合、例えば縦線のような被写体に対し、円形状となるように基準画像領域の形状を選択しても誤差は残存する。対象物の形状と基準画像領域の形状とが一致しないとしても、基準画像領域の視差探索方向の境界部に輝度変化が残存する場合、サブピクセル推定法にて高相関値の位置と隣接する参照画像位置における相関値に誤差が発生する可能性がある。
本発明は、相関値の誤差を低減して、より高精度な視差量を取得することができる画像処理装置の提供を目的とする。
【課題を解決するための手段】
【0005】
本発明の実施形態の画像処理装置は、視点の異なる複数の画像データの画像処理を行う画像処理装置であって、前記複数の画像データを取得する取得手段と、前記取得手段によって取得された前記複数の画像データのうち、基準画像である第1の画像データの画像に基準画像領域を設定し、参照画像である第2の画像データの画像に参照画像領域を設定する際、前記基準画像領域の視差方向の境界部における隣接画素の輝度変化値が閾値未満となる形状を有する前記基準画像領域を決定し、決定された前記基準画像領域と、当該基準画像領域の形状に対応する形状を有する前記参照画像領域との間で相関演算を行うことによって前記複数の画像データの視差量を算出する演算処理手段と、を備える。前記演算処理手段は、前記基準画像領域の初期形状を設定する設定手段と、前記初期形状である基準画像領域の視差方向の境界部における隣接画素の輝度変化値を算出する算出手段と、前記隣接画素の輝度変化値が前記閾値以上である場合、前記初期形状である基準画像領域の境界の位置を変更することにより当該基準画像領域の形状を変形する変形手段と、を備えている。前記算出手段は、前記変形手段によって変形された前記基準画像領域の視差方向の境界部における前記隣接画素の輝度変化値を算出し、前記演算処理手段は、前記隣接画素の輝度変化値が前記閾値未満である場合、前記変形手段により変形された前記基準画像領域の境界の位置を決定し、前記変形手段は、前記基準画像領域の形状を変形する際の変形量を制限し、前記算出手段によって算出される前記隣接画素の輝度変化値が前記閾値未満とならない場合には前記基準画像領域の形状の変形処理を止める。
【発明の効果】
【0006】
本発明の画像処理装置によれば、相関値の誤差を低減して、より高精度な視差量を取得することができる。
【図面の簡単な説明】
【0007】
【
図1】第1実施形態に係る距離検出装置の一例を示す模式図である。
【
図2】第1実施形態に係る撮像装置の構成例を説明する模式図である。
【
図3】第1実施形態に係る距離検出方法を説明する図である。
【
図4】第1実施形態に係る基準画像領域の形状の決定方法の説明図である。
【
図5】第1実施形態に係る距離検出結果の一例を示す図である。
【
図6】第2実施形態に係る基準画像領域の形状の決定方法の説明図である。
【発明を実施するための形態】
【0008】
本発明の各実施形態について、添付図面を用いて詳細に説明する。以下の実施形態では、本発明の画像処理装置を適用した装置例として、撮像部によって視点の異なる複数の画像データを取得して、視差量または視差量に対応する距離情報等を算出する装置を説明する。
【0009】
[第1実施形態]
図1は本実施形態の距離検出装置101の概要を示す。撮像部を含む距離検出装置101は、被写体102の撮影を行う。距離検出装置101は、結像光学系103、撮像素子104、演算処理部105、メモリ部106を備える。
【0010】
結像光学系103は、被写体からの光を結像し、被写体の像を撮像素子104の撮像面に形成する撮像光学系である。結像光学系103は図示しない複数のレンズ群および絞りを備え、撮像素子104から所定距離の位置に射出瞳を有する。なお、
図1に結像光学系103の光軸110を示し、互いに直交する3軸であるX軸、Y軸、Z軸を定義する。本明細書中では光軸110がZ軸と平行であって、Z軸に対して直交するX軸とY軸は互いに垂直であり、且つ光軸と垂直な軸であるものとする。
【0011】
撮像素子104には複数の画素部が配置される。
図2を参照して具体的に説明する。
図2(A)は、各画素部の構成を模式的に示す断面図である。画素部はマイクロレンズ201、カラーフィルタ202、光電変換部203Aおよび203Bを有する。撮像素子104は画素部ごとのカラーフィルタ202によって検出する波長帯域に応じたR(赤),G(緑),B(青)の分光特性が与えられており、図示しない配色パターンでカラーフィルタ群が配置されている。本明細書中では便宜上、各画素部がXY平面に配置されているとして説明する。基板204には、検出する波長帯域に感度を有する光電変換部203Aおよび203Bが形成されている。光電変換部203Aおよび203Bはフォトダイオードを用いて形成されている。また、各画素部は図示しない配線を備えている。
【0012】
図2(B)は、光軸110と撮像素子104との交点(中心像高)から、結像光学系103の射出瞳を見た図である。光電変換部203Aには、第1の瞳部分領域210を主に通過した第1の光束が入射する。光電変換部203Bには、第2の瞳部分領域220を主に通過した第2の光束が入射する。第1の瞳部分領域210と第2の瞳部分領域220は、射出瞳における異なる領域である。光電変換部203Aおよび203Bは、入射された光束をそれぞれ光電変換することで、A画像とB画像を生成する。光電変換部203Aおよび203Bによって取得されたA画像とB画像の各信号は演算処理部105に伝送される。演算処理部105は測距演算処理を実行し、距離検出装置101から被写体102までの距離値を算出する。算出された距離値のデータはメモリ部106に記憶される。また、A画像の信号とB画像の信号を加算した画像信号は、被写体102の撮像画像信号として利用することができる。
【0013】
図2(B)にて、第1の瞳部分領域210の重心位置(第1の重心位置)を点211で示し、第2の瞳部分領域220の重心位置(第2の重心位置)を点221で示す。軸200は、点211と点221を通ってX軸方向に延在する軸である。
【0014】
本実施形態においては、点211で示す第1の重心位置は、射出瞳の中心から軸200に沿って偏心(移動)している。一方、点221で示す第2の重心位置は、軸200に沿って、第1の重心位置とは逆の方向に偏心(移動)している。第1の重心位置を示す点211と第2の重心位置を示す点221とを結ぶ方向を、瞳分割方向と呼ぶ。また、点211と点221との距離、つまり重心間距離が基線長222となる。A画像とB画像は、デフォーカスによって瞳分割方向と同じ方向(本実施形態ではX軸方向)に位置が変化する。A画像とB画像との間の相対的な位置変化量、すなわちA画像とB画像との視差量は、デフォーカス量に応じた量となる。よって、A画像とB画像との視差量を後述の方法により取得し、既知の変換方法によって視差量をデフォーカス量または距離に変換することができる。
【0015】
図3を参照して、本実施形態の測距演算について説明する。
図3(A)は処理の流れを説明するフローチャートであり、以下の処理は距離検出装置101の制御部が備えるCPU(中央演算処理装置)が所定のプログラムを実行することで実現される。
【0016】
図3(A)のS301に示す「画像取得」では、被写体を撮影して画像信号を保存する処理が行われる。撮影された画像は、視差を有するA画像とB画像からなる画像の組として取得されて、各画像データはメモリ部106に記憶される。
【0017】
次のS302からS305に示す測距演算処理は演算処理部105によって行われる。
図3(B)を参照して、各ステップにて設定される基準画像領域および参照画像領域の位置関係を説明する。
図3(B)は、A画像310AとB画像310Bを模式的に表した図である。Z軸を
図3の紙面に垂直な軸とする。X軸は左右方向の軸であって、Y軸は上下方向の軸である。
【0018】
図3(A)のS302に示す「基準画像領域形状算出」では、基準画像領域の形状を決定する処理が実行される。
図3(B)のA画像310Aにおいて画素320は、距離算出を行う対象であり、以下では着目画素と呼ぶ。着目画素320とその近傍画素を含む部分領域を抜き出す処理が行われ、初期形状の画像領域311が得られる。以下では画像領域311を初期基準画像領域と呼ぶ。本明細書ではA画像310A上に着目画素を設定する例を説明する。つまりA画像310Aを基準画像とし、B画像310Bを参照画像としているが、B画像310B上に着目画素を設定してA画像310Aを参照画像としても構わない。S302の処理の詳細については
図4を用いて後述する。
【0019】
S303に示す「相関演算」では、A画像310AとB画像310Bとの間で相関値を算出する処理が実行される。A画像の着目画素におけるS302で決定された形状の基準画像領域が取得される。次にB画像上で基準画像領域と同形状の領域を抜き出す処理が行われて、参照画像領域313が取得される。
図3(B)では説明の便宜上、参照画像領域313が四角形として表示されているが、実際にはS302で決定された形状と同形状の画像領域である。B画像上で参照画像領域を抜き出す位置を、瞳分割方向と同じX軸方向に沿って移動させ、各移動量における参照画像領域と基準画像領域との相関値を算出する処理が行われる。これにより、各移動量に対する相関値のデータ列からなる相関値が得られる。参照画像領域を移動させて相関演算を行う方向を視差算出方向と呼ぶ。視差算出方向を瞳分割方向と同じ方向に設定することにより、A画像とB画像に係る被写体距離に応じて生じる視差量を正しく算出できる。相関値の算出には、SAD(Sum of Absolute Difference)やSSD(Sum of Squared Difference)等の一般的な算出方法を用いることができる。
【0020】
S304に示す「視差量算出」では、S303で求めた相関値より視差量を算出する処理が実行される。視差量については、既存の方法を用いて算出することができる。例えば、相関値の中で最も高い相関が得られる移動量とその近傍の移動量に対応する相関値のデータ列を抽出する処理が行われる。既知の内挿方法により、最も相関が高くなる移動量をサブピクセル精度で推定することにより、視差量を算出できる。既知の内挿方法とは、例えば相関値の算出にSADを用いた場合の等角直線フィッティング法であり、またSSDを用いた場合のパラボラフィッティング法である。相関値の算出方法に応じて様々な内挿方法が使用されるが、いかなる内挿方法を用いてサブピクセル精度で視差量を算出してもよい。
【0021】
S305に示す「距離値算出」では、S304で算出された視差量をデフォーカス量または被写体距離に変換する処理が実行される。視差量からデフォーカス量への換算は、基線長を用いた幾何学的関係を利用して行うことができる。また、デフォーカス量から被写体距離への変換については、結像光学系103の結像関係を用いて行えばよい。あるいは視差量に所定の変換係数を乗算することでデフォーカス量または被写体距離に変換してもよい。このような方法により、着目画素における距離値を算出することができる。
【0022】
距離値に対応する分布データ群としては、距離マップの他に像ずれ量マップやデフォーカスマップ等がある。視点の異なる複数の画像データは互いに視差を有し、視差量に対応する像ずれ量またはデフォーカス量を取得することができる。例えば、撮像装置への適用において、制御部はデフォーカス量を用いて撮像光学系の焦点調節の制御を行う。つまり、視点の異なる複数の画像間の相対的な位置ずれ量に基づき、撮像面位相差方式のオートフォーカス制御が行われる。あるいは撮像装置内の画像処理部は、取得された複数の画像データを用いて距離マップ、像ずれ量マップ、デフォーカスマップ等のデータを生成する。これらのデータは撮像画像における奥行き方向の深度情報であり、例えば被写体領域の認識処理、視点変更処理、ボケ補正処理等で使用可能である。また撮像装置内の画像処理部は、取得された視点の異なる複数の画像データを用いて3次元表示(立体視表示)用の画像を生成し、表示部や記録部に出力する。
【0023】
次に
図4を参照して、
図3のS302に示す「基準画像領域形状算出」の処理例について説明する。
図4(A)はS302の処理の一例を示すフローチャートである。
図4(B)は「基準画像領域形状算出」処理を説明するための画像例を示す。図中では画素値が閾値以上の画素を白色で表示し、画素値が閾値未満の画素を黒色で表示しており、白色の画素が高輝度画素を表し、黒色の画素が低輝度画素を表す。
図4(B)の紙面に垂直な軸をZ軸とし、Z軸と直交する左右方向の軸をX軸(左側を正方向と定義)とし、Z軸と直交する上下方向の軸をY軸(上側を正方向と定義)とする。
【0024】
図4(B)において上側に示す図は、着目画素付近の部分画像を表している。灰色で示す太線枠内の領域は、初期基準画像領域(5×5画素領域)を示す。本実施形態では初期基準画像領域に関し、
図3(B)の初期形状(画像領域311の形状)を四角形として説明するが、任意の形状を初期形状として選択可能である。
【0025】
図4(A)のS400では、基準画像領域における視差探索方向の初期形状の境界部が取得されて、境界部の近傍画素に対して順番に処理が実行される。視差探索方向とは、本実施形態では瞳分割方向と同じで、X軸方向のことである。初期形状とは初期基準画像領域の形状である。
図4(B)の上側の図では、灰色で示す太線枠Lの左側の境界部に、それぞれに矢印が記載されている。太線枠Lの右側にも同様に境界部が存在する場合もある。
【0026】
S401の「輝度変化計算」処理では、初期形状の境界部において隣接画素の輝度変化を計算する処理が実行される。
図4(B)の上側の図で矢印の端点となっている画素が対象画素である。S402の「輝度変化閾値処理」では、S401で算出した輝度変化値が閾値と比較される。対象画素での輝度変化値が閾値以上である場合、S403の処理に進み、輝度変化値が閾値未満である場合にはS404の処理に進む。具体的には、
図4(B)の上側の図において上から2行目では、初期形状の境界部の隣接画素はいずれも低輝度画素であり、輝度変化値が閾値未満であるので、S404の処理に移行する。一方、
図4(B)の上側の図において上から3行目では、初期形状の境界部の隣接画素が低輝度画素と高輝度画素である。この場合、輝度変化値が閾値以上であるので、S403の処理に進む。
【0027】
S403の「形状変形処理」において、基準画像領域の形状を初期形状から変形する処理が実行される。つまり境界部を視差探索方向に移動させる処理が行われる。そしてS401に移行して、移動後の境界部での輝度変化計算が行われる。次にS402にて輝度変化閾値処理が行われる。閾値未満となる境界部が見つかるまで、境界部を視差探索方向に移動させる処理が繰り返し実行される。
図4(B)に示す例で具体的に説明する。
【0028】
図4(B)の上側の図では、上から3行目(初期形状内では2行目)において輝度変化値が閾値以上である。つまり、境界に隣接する2つの画素のうち、左側の画素が黒色の低輝度画素であり、右側の画素は白色の高輝度画素である。この場合、
図4(B)の下側の図にて太線枠LLで示すように、3行目(初期形状内では2行目)において、境界を1画素分だけ-X方向(右方向)に移動させる処理が行われる。これにより、境界の左右の画素がいずれも、高輝度画素となり、輝度変化値が閾値未満となる。その他の境界部についても同様の処理が行われ、いずれの境界部でも輝度変化値が閾値未満となったことがS402で判定された場合にS404の処理に進む。
【0029】
S404の「形状決定処理」において境界が決定される。すべての視差探索方向の境界において形状を決定する処理が行われることで、基準画像領域の形状が決定される。例えば、
図4(B)の上側の図において、上から2行目と4~6行目(初期形状内では1行目と3~5行目)や、右側の境界部では輝度変化値が閾値未満であるので、初期形状に対する変形処理が行われず、変更なしで境界が決定される。この場合、
図4(B)の下側の図において、太線枠LLでは上から2行目と4~6行目に該当する部分の形状が変化していない。
【0030】
S405では初期形状のすべての境界部に係る処理が終了したかどうかが判断される。処理が終了した場合、それまでのS401からS404の処理によって、
図3(B)の初期形状の画像領域311に対して、基準画像領域312の形状が決定される。また、未終了の場合にはS400に戻って次の境界部の処理を続行する。
【0031】
S402で使用する輝度変化値に対する閾値は、どのように決定しても構わない。閾値を小さくする程、精度が良くなるが、S403の形状変形処理が行われても輝度変化値が閾値未満とならないことが多くなる。その結果、計算量が増加する可能性がある。その場合には、形状変形処理を行う毎に閾値を大きくする設定処理が実行される。これまでに計算した輝度変化値と、変更された閾値とを比較する処理が行われて、輝度変化値が閾値未満である場合にはその時点で形状が決定される。それにより形状の変形量を抑えることができ、誤差の低減と計算量の増加とのバランスをとることができる。変更後の閾値と比較される輝度変化値はそれまでに計算された値の最小値でよい。または形状の変形量そのものに制限を加える方法を採用してもよい。S403の形状変形処理を行って、輝度変化値を計算する処理が所定の閾値回数で実行されても、輝度変化値が閾値未満とならない場合には形状変形処理が打ち切られ、計算量の増加が抑えられる。その場合には計算された輝度変化値のうちで、最小の輝度変化値となる形状変形量を選択する処理が行われる。つまり、最小の輝度変化値となる形状が基準画像領域の形状として決定される。計算量が上限を超えないように制限された上で、複数の形状変形量から最適な形状変形量を決定することができる。
【0032】
図4(B)では形状変形処理の例として、X軸方向のマイナス側に境界を変更する場合を説明したが、X軸方向のプラス側に境界を変形させてもよく、プラス側およびマイナス側の両方の側に変形させてもよい。変形順に関しても特定の順序に限定されない。
【0033】
また基準画像領域のサイズ(つまり画素数)に関しては、サイズが小さくなると画素信号のノイズ耐性が低くなり、誤差が大きくなって計算量が増加する可能性がある。初期基準画像領域はノイズと計算量のバランスをとって設定することが望ましい。形状変形処理が行われたとしても、形状変形処理後の基準画像領域のサイズが変形前後で同等となるように変形を行うことが望ましい。同等とは、初期基準画像領域のサイズと形状変形処理後の基準画像領域のサイズとが等しいか、または両者のサイズ差が閾値未満であることをいう。そのためには、X軸方向のプラス側に変形する場合の境界部とマイナス側に変形する場合の境界部とを同数とするか、または同数に近くなるように設定する処理が行われる。例えば、行ごとに交互にプラス側への形状変形とマイナス側への形状変形を行う方法がある。あるいは、初期基準画像領域の左側の境界と右側の境界とで形状変形の方向を異なる側の方向に設定する方法がある。これは初期基準画像領域の左側の境界でその外側(または内側)への形状変形を行い、右側の境界でその内側(または外側)への形状変形を行う方法である。その他、初期基準画像領域のサイズを形状変形後の基準画像領域のサイズと同等とする、どのような方法を用いて構わない。
【0034】
また
図3(A)に示すS302の「基準画像領域形状算出」内のループ処理中で前回の処理までの形状変形量に合わせて、形状の変形方向を変更してもよい。ループ処理中とは、S400からS405までの処理にてS405で未処理の判断が行われて処理が継続していることである。初期形状の新たな境界部を処理する場合、前回の処理までに行われた形状変形処理(S403)による形状変形量の総計値が算出される。例えば、ループ処理ごとに形状変形量の加算値を計算する処理が行われる。算出された加算値が正値である場合にはマイナス側への形状変形処理が行われ、また算出された加算値が負値である場合には、プラス側への形状変形処理が行われる。この処理によって、初期基準画像領域のサイズ(画素数)と変形後の基準画像領域のサイズとの差がゼロに近づくように、形状変形処理を行うことができる。また初期基準画像領域のサイズを、ノイズの観点から最小となるサイズに設定し、常にサイズが大きくなる方向へと形状変形処理を行う方法でもよい。これとは逆に初期基準画像領域のサイズを、計算量が許容できる最大のサイズに設定し、常にサイズが小さくなる方向へと形状変形処理を行う方法でもよい。
【0035】
本実施形態では、視差探索方向の基準画像領域の境界部における輝度変化値に応じて基準画像領域の形状変形処理を行うことによって、被写体の輝度分布と基準画像領域の位置とに関係して発生する相関値の誤差を低減し、より高精度な測距を実現できる。
【0036】
ここで誤差の発生原理と、本実施形態により誤差が改善されることを説明する。まず
図5(A)、(B)、(C)を参照して、基準画像領域の形状を変更しない場合(初期基準形状のまま使用する場合)に誤差が発生する理由を説明する。以降の説明では前提として、A画像とB画像とが同じ濃淡を有する画像であって、視差が無いものとする。
【0037】
図5(A)は、A画像501において基準画像領域502と基準画像領域503との位置関係を示す図である。A画像501は左右方向にて明暗が変化する縦ストライプ形状のパターン画像である。以下ではA画像501にて明暗が切り替わる境界部504および505を、画像エッジと呼ぶ。基準画像領域502内には、画像エッジである境界部504および505が存在する。一方、基準画像領域503内には、画像エッジである境界部505が存在し、基準画像領域503の右端が境界部504と重なっている。
【0038】
図5(B)は、参照画像領域を移動させて基準画像領域502との相関演算を行うことで算出される各相関値を例示する。横軸は参照画像領域の移動量を表し、縦軸は相関値を表す。ここでは相関値が低いほど、画像間の相関が高いことを意味する。相関値C0,Cp,Cmはそれぞれ参照画像領域の位置を0,+1画素,-1画素に相当する量だけ移動させたときの相関値である。移動量がゼロである場合に参照画像と基準画像は一致し、相関値C0は低い値となる。参照画像領域を+1画素または-1画素に相当する量だけ移動させた場合、画像エッジである境界部504と505では基準画像領域と参照画像領域との間に差が発生し、相関値Cp,Cmはいずれも増加する。このときの相関値CpとCmは同じ値となる。この相関値を内挿して相関曲線510を求め、最も高い相関となる移動量(視差量)を算出することにより、符号511に示す視差量、すなわち正しい値(視差量0)が求まる。
【0039】
図5(C)は、参照画像領域を移動させて基準画像領域503との相関演算を行うことで算出される各相関値を例示する。横軸および縦軸の設定は
図5(B)と同じである。
図5(C)の場合、画像エッジである境界部504と基準画像領域503の右端が重なっている。移動量がゼロであるときに参照画像と基準画像は一致し、相関値C0は低い値となる。移動量が+1画素に相当する量であるときには、基準画像領域502の場合と同様に相関値Cpが増加する。他方、移動量が-1画素に相当する量であるときには、画像エッジである境界部505のみで基準画像と参照画像との差が発生する。そのため、-1画素に対応する相関値Cmの増加については微増となる。相関値は移動量のプラス側とマイナス側で非対称となるので、各相関値を内挿して求まる視差量(符号512参照)は正しい値(視差量0)とは異なる値となり、その結果、誤差が発生する。
【0040】
次に本実施形態により、前記誤差が低減される理由を説明する。本実施形態では基準画像領域503のように画像エッジと基準画像領域の右端とが重なる場合、基準画像領域の形状変形処理が行われる。画像エッジと基準画像領域の右端とが重ならないように、基準画像領域の形状が変化する。
図5(D)を参照して具体的に説明する。
【0041】
図5(D)に示す基準画像領域506は、基準画像領域503に対応する形状変形処理後の領域である。基準画像領域503の右端部が変形されて、基準画像領域506は画像エッジと重ならない形状になる。そのため、
図5(B)と同様に移動量が+1画素と-1画素に対応する量である場合の相関値CpとCmが同じ値となる。よって、正しい値(視差量0)を求めることができる。より詳細には、基準画像領域の形状が変化することで、基準画像領域の視差方向の境界で大きな輝度変化が発生しないように形状が設定される。例えば基準画像領域の形状を菱形や円形にした場合でも画像エッジと重ならなくなるが、境界の一部分では視差方向の境界で大きな輝度変化が発生する部分が残存し、それが誤差を発生させる要因となる。そこで、本実施形態では、視差方向の各境界で大きな輝度変化が発生しないように基準画像領域の形状変形処理を実行することにより、前記誤差をより低減することができる。例えば、撮像画像の画素値が大きく変化する領域と基準画像領域の左右方向の端部(境界部)とが重なる場合に発生する視差量の算出誤差を低減できる。
【0042】
本実施形態によれば、撮影画像を用いた距離計測において、相関値の誤差を低減して、より高精度な距離情報を取得することができる。
【0043】
[第2実施形態]
次に本発明の第2実施形態を説明する。本実施形態では第1実施形態との相違点を主に説明し、第1実施形態と同様の事項については説明を省略する。このような説明の省略の仕方は後述の実施形態でも同じである。
【0044】
図3(A)のS302に示す「基準画像領域形状算出」では、隣接画素の差分値(輝度変化値)により、基準画像領域の形状を決定する処理が実行される。着目画素として多くの画素を計算する必要がある場合、隣接画素の輝度変化値の計算として何度も同じ計算が行われる可能性がある。そこで本実施形態では、事前に隣接画素の輝度変化値の計算を行うことで計算量を削減し、効率良く基準画像領域の形状算出を行う例を説明する。
【0045】
図6は、本実施形態におけるS302の「基準画像領域形状算出」を説明するフローチャートである。S610の処理は、A画像上での隣接画素の輝度変化値を計算する処理である。この計算処理は、S302の処理が行われる前に事前に実行される。S610での計算結果のデータは、例えばメモリ部106に記憶される。S610ではA画像上の隣接画素の輝度変化値、つまり着目画素とその周辺画素とで複数回の輝度変化値を計算する可能性がある画素領域の全域に亘って計算処理が実行される。隣接画素の輝度変化値は、例えば隣接画素値同士の差分の絶対値として算出される。
【0046】
S302においては、
図4(A)と同様に、視差探索方向における初期基準画像の形状の境界に沿って繰り返し計算が行われる。S400に続くS601の「最小値探索処理」では、S610で事前に計算されている隣接画素の輝度変化値についての最小値を探索する処理が行われる。初期基準画像の形状の境界から許容できる形状変更範囲に対応した隣接画素の輝度変化値を抽出する処理が実行される。抽出された隣接画素の輝度変化値の最小値が探索される。
【0047】
S602の「基準画像領域形状決定処理」では、S601で探索された輝度変化値の最小値である画素位置に対応したA画像上の位置を境界として設定することにより、基準画像領域の形状が決定される。
【0048】
複数の着目画素間で基準画像領域のサイズをおよそ一定にするために、前述した初期基準画像の形状の境界から許容できる形状変更範囲をループ処理ごとに変更してもよい。例えば行ごとに形状変更範囲を変更する方法や、右側の境界と左側の境界とで形状変更範囲を変更する方法がある。
【0049】
またS601を最小値の探索ではなく閾値処理とし、輝度変化値が閾値未満となる画素位置を探索してもよい。これにより隣接画素の輝度変化値が閾値未満となる画素位置候補からS602において基準画像領域の形状を決定することができる。例えば、初期基準画像領域の形状に最も近い位置を選択することで初期基準画像領域の形状により近い基準画像領域の形状を決定することができる。また複数の着目画素間で基準画像領域のサイズがおよそ一定となるように、基準画像領域の各境界位置で既に変形済みの形状変形量に従って画素位置を選択することでサイズを調整することができる。
【0050】
またS610で事前に計算されている隣接画素の輝度変化値に基づいて、S302の「基準画像領域形状算出」を行う位置をあらかじめ決定してもよい。隣接画素の輝度変化値の情報により、各着目画素で輝度変化値が閾値以上である画素位置をあらかじめ判別することができる。輝度変化値が閾値以上である画素位置を抽出し、その画素位置で初期基準画像領域の形状の視差方向の境界が重なる着目画素を抽出する処理が実行され、その着目画素のみでS302の処理が実行される。当該着目画像以外ではS302の処理を行わず、S303へ移行する。これにより、計算量を削減することができる。
【0051】
本実施形態によれば、初期基準画像領域に対する形状変形処理において、より効率的に基準画像領域の形状を算出することができる。
【0052】
[第3実施形態]
次に本発明の第3実施形態を説明する。本実施形態では、各マイクロレンズに対する複数の光電変換部を有する瞳分割型撮像素子ではなく、ステレオカメラを使用する。視点の異なる複数の画像データを取得可能な撮像装置は、2つ以上の複数の撮像光学系とそれらに対応する撮像素子によって実現できる。この場合、基線長の設計自由度が向上し、測距分解能が向上する。
【0053】
本実施形態では、例えば撮像装置と投影装置とを別の装置として距離検出装置が構成される。被写体に所定のパターンの光を照射する投影装置と組み合わせることで、より高精度な測距を行うことができる。例えば、
図5(A),(D)に示すような縦線チャートを被写体に投影することで、被写体にテクスチャがない領域でも測距が可能となる。ただし、前述したように誤差が生じやすいシーンとなるので、前述した基準画像領域の形状変形処理を実行することにより、誤差を低減できる。制御装置としては撮像装置内に備えられたCPUを用いて構成することが装置の小型化の観点から好適である。
【0054】
本実施形態は、撮像装置から被写体までの距離を算出する以外に、視差量を検出する視差量検出装置に適用することができる。この場合、
図3において、S305の「距離値算出」を省略可能である。視差量検出装置では、検出された視差量に基づいて、合焦位置近傍の被写体の画像領域を撮像された画像から切り出す処理等が行われる。視差量検出装置は、前記実施形態の距離検出装置101において視差量を距離に変換せずにそのまま出力する構成であり、その他の構成は距離検出装置101と同じである。
【0055】
デジタルカメラにおいては、検出された視差量に基づいて結像光学系103や撮像素子104に対するフィードバック制御が行われ、例えば、より高精度な自動焦点調節を実現できる。この場合、撮像光学系の制御部および撮像素子の制御部、またはそのいずれか一方の制御部は、任意の画角における補正距離に応じた移動量を計算する。例えば制御部は、視差量に対応する像ずれ量またはデフォーカス量を算出し、撮像光学系内のフォーカスユニットを駆動する駆動部を制御して焦点調節を行う。あるいは制御部は視差量に対応する像ずれ量またはデフォーカス量を算出し、撮像素子の駆動部を制御することで撮像素子を移動させて焦点調節を行う。より高精度な視差量を得ることができるので、被写体に対して1回のフィードバック制御で、より正確な焦点合わせが可能となる。また視差量に対応する距離情報(深度情報)を用いて、より高精度な被写界情報を取得できるので、不図示のストロボを用いて、最適なストロボ撮影を行うこともできる。
【0056】
この他、本実施形態の装置は、自律的に行動計画を作成可能なロボットや自動車、ドローン等に搭載され、外部環境を認識するための情報取得手段として活用することができる。取得された距離情報を用いて、外部環境認識部で外部環境認識データに変換する処理が実行される。この場合のシステムは撮像装置と、撮像画像データを処理する外部環境認識部と、行動計画作成部と、アクチュエータ制御部を備える。行動計画作成部は、外部環境認識部が出力する外部環境認識データを取得し、当該データと事前に与えてある目的に応じて行動計画を作成する。アクチュエータ制御部は、行動計画作成部により作成された行動計画にしたがってアクチュエータを制御する。アクチュエータは原動機や電気モータや車輪の駆動部、脚機構部等である。ロボットや移動装置の自律移動を実現する上で、本実施形態に係る撮像装置は、誤差が低減された距離情報を取得できるので、外部環境をより安定して認識できるという効果を奏する。
【0057】
本実施形態によれば、距離検出装置または視差量検出装置を利用する各種システムへの適用において、より高速で高精度な距離検出または視差量検出が可能である。
【0058】
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0059】
101 距離検出装置
103 結像光学系
104 撮像素子
105 演算処理部