JP5942203B2 - ステレオ画像処理装置およびステレオ画像処理方法 - Google Patents

ステレオ画像処理装置およびステレオ画像処理方法 Download PDF

Info

Publication number
JP5942203B2
JP5942203B2 JP2013520425A JP2013520425A JP5942203B2 JP 5942203 B2 JP5942203 B2 JP 5942203B2 JP 2013520425 A JP2013520425 A JP 2013520425A JP 2013520425 A JP2013520425 A JP 2013520425A JP 5942203 B2 JP5942203 B2 JP 5942203B2
Authority
JP
Japan
Prior art keywords
pixel
image
unit
correction
reference image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013520425A
Other languages
English (en)
Other versions
JPWO2012172761A1 (ja
Inventor
卓也 南里
卓也 南里
西村 洋文
洋文 西村
純子 上田
純子 上田
新 浩治
浩治 新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of JPWO2012172761A1 publication Critical patent/JPWO2012172761A1/ja
Application granted granted Critical
Publication of JP5942203B2 publication Critical patent/JP5942203B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C3/00Measuring distances in line of sight; Optical rangefinders
    • G01C3/02Details
    • G01C3/06Use of electric means to obtain final indication
    • G01C3/08Use of electric radiation detectors
    • G01C3/085Use of electric radiation detectors with electronic parallax measurement
    • G06T5/70
    • G06T5/80
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20024Filtering details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20182Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20228Disparity calculation for image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30261Obstacle

Description

本発明は、ステレオ画像の基準画像の基準点に対するステレオ画像の参照画像の対応点の視差を算出するステレオ画像処理装置およびステレオ画像処理方法に関する。
従来、ステレオ画像に基づいて対象物までの距離を測定するステレオ画像処理装置(以下、単に「ステレオ画像処理装置」という)が知られている。ステレオ画像処理装置は、参照画像から、基準画像の基準点と同一の対象物が撮影されている点(以下、「対応点」という)を抽出し、カメラパラメータと、基準点に対する対応点のずれ量である視差とに基づいて、対象物までの距離を算出する。
ステレオ画像処理装置は、車載カメラで撮影した前方車両または歩行者までの距離を測定する安全装置などへの適用が検討されている。近年、この様な安全装置が小型車へも普及してきているため、ステレオカメラの小型化が要求されている。ステレオカメラの小型化に伴い、基準画像を撮影するカメラと参照画像を撮影するカメラとの間隔が狭くなる。その間隔が狭くなることで視差が小さくなるため、高精度な視差算出が要求されている。
高精度な視差算出の技術として、例えば、特許文献1に記載の従来技術がある。この従来技術は、1次元POC(Phase Only Correlation)方式を用いて視差を算出する。具体的には、基準画像および参照画像のそれぞれから、1次元の画素データ列がハニング窓を用いて切り出され、1次元フーリエ変換が施されて合成される。合成されたデータ列の振幅成分は正規化され、1次元逆フーリエ変換されることにより位相限定相関係数が求まる。そして、位相限定相関係数の相関ピークに基づいて視差が算出される。
特開2008−123141号公報
しかしながら、従来技術は、カメラから遠くに位置する歩行者など、ステレオ画像上で占める基線長方向における画像領域のサイズ(以下、「基線長方向の画像領域サイズ」という)が小さい対象物については、高精度に視差を算出することが困難であった。
本発明の目的は、基線長方向の画像領域サイズが小さい対象物についても高精度に視差を算出することができる、ステレオ画像処理装置およびステレオ画像処理方法を提供することである。
本発明のステレオ画像処理装置は、基準画像及び参照画像に対して歪み補正及び平行化補正を行い、前記歪み補正及び前記平行化補正された補正基準画像及び補正参照画像を出力する平行化補正処理部と、前記補正基準画像と前記補正参照画像とに対して画像マッチング処理することで前補正基準画像の基準点に対する前記補正参照画像の対応点を取得する画像マッチング部と、前記基準点及び前記対応点のそれぞれの座標を前記基準画像及び前記参照画像における座標に変換し、前記変換の際に画素行方向に切り上げもしくは切り捨てられた値を出力する座標変換部と、複数の画素行及び複数の画素列を有し前座標変換後の基準点を含む第1の二次元画素データを前記基準画像から抽出し、複数の画素行及び複数の画素列を有し前座標変換後の対応点を含む第2の二次元画素データを前記参照画像から抽出する画像切り出し部と、所定の再構成ルールに基づいて前記第1の二次元画素データ及び前記第2の二次元画素データのそれぞれを、第1の一次元画素データ及び第2の一次元画素データに再構成する画像再構成部と、前記再構成によって生じる折り返しノイズを前記第1の一次元画素データ及び前記第2の一次元画素データから除去するアンチエイリアシング部と、前記ノイズが除去された第1の一次元画素データの各画素値の位置を配列方向において反転して得られる逆位相フィルタ係数を算出し、前記ノイズが除去された第2の一次元画素データに対して前記逆位相フィルタ係数を用いてフィルタリング処理するフィルタ生成部と、前記フィルタリング処理の結果における相関位置関係に基づいて算出した前記座標変換後の基準点と前記座標変換後の対応点とのずれ量に、前記変換の際に画素行方向において切り上げもしくは切り捨てられた値を加算することにより視差を算出するピーク位置検出部と、を備える。
本発明のステレオ画像処理方法は、基準画像及び参照画像に対して歪み補正及び平行化補正を行い、前記歪み補正及び前記平行化補正された補正基準画像及び補正参照画像を出力する平行化補正処理ステップと、前記補正基準画像と前記補正参照画像とに対して画像マッチング処理することで前記補正基準画像の基準点に対する前記補正参照画像の対応点を取得する画像マッチングステップと、前記基準点及び前記対応点のそれぞれの座標を前記基準画像及び前記参照画像における座標に変換し、前記変換の際に画素行方向に切り上げもしくは切り捨てられた値を出力する座標変換ステップと、複数の画素行及び複数の画素列を有し前座標変換後の基準点を含む第1の二次元画素データを前記基準画像から抽出し、複数の画素行及び複数の画素列を有し前座標変換後の対応点を含む第2の二次元画素データを前記参照画像から抽出する画像切り出しステップと、所定の再構成ルールに基づいて前記第1の二次元画素データ及び前記第2の二次元画素データのそれぞれを、第1の一次元画素データ及び第2の一次元画素データに再構成する画像再構成ステップと、前記再構成によって生じる折り返しノイズを前記第1の一次元画素データ及び前記第2の一次元画素データから除去するアンチエイリアシングステップと、前記ノイズが除去された第1の一次元画素データの各画素値の位置を配列方向において反転して得られる逆位相フィルタ係数を算出し、前記ノイズが除去された第2の一次元画素データに対して前記逆位相フィルタ係数を用いてフィルタリング処理するフィルタ生成ステップと、前記フィルタリング処理の結果における相関位置関係に基づいて算出した前記座標変換後の基準点と前記座標変換後の対応点とのずれ量に、前記変換の際に画素行方向において切り上げもしくは切り捨てられた値を加算することにより視差を算出するピーク位置検出ステップと、を有する。
本発明によれば、基線長方向の画像領域サイズが小さい対象物についても高精度に視差を算出することができる。
本発明の実施の形態1に係るステレオ画像処理装置の構成の一例を示すブロック図 本発明の実施の形態2に係るステレオ画像処理装置の構成の一例を示すブロック図 本発明の実施の形態2におけるフィルタ部の構成の一例を示すブロック図 本発明の実施の形態2における再構成ルールの概念を示す模式図 本発明の実施の形態2に係るステレオ画像処理装置の動作の一例を示すフローチャート 本発明の実施の形態2における画像範囲の切り出しから対応点の特定までの処理の概要を示す模式図 本発明の実施の形態2におけるサブピクセルレベル演算処理の一例を示すフローチャート 本発明の実施の形態2における再構成ルールの一例の概要を示す模式図 本発明の実施の形態2におけるアンチエイリアシングを説明するための模式図 本発明の実施の形態2における画像範囲の再構成からフィルタリングまでの処理の概要を示す模式図 本発明の実施の形態2における逆位相フィルタ係数によるフィルタリングの概念を説明するための模式図 本発明の実施の形態2におけるsinc関数を用いたピーク位置検出の処理の一例の概要を示す模式図 本発明の実施の形態2における二次曲線近似を用いたピーク位置検出の処理の一例の概要を示す模式図 本発明の実施の形態2におけるベイヤ配列画像の構成を示す模式図 本発明の実施の形態2におけるベイヤ配列画像に対するアップサンプリングの例を示す模式図 本発明の実施の形態3に係るステレオ画像処理装置の構成の一例を示すブロック図 本発明の実施の形態3におけるフィルタ部の構成の一例を示すブロック図 本発明の実施の形態3に係るステレオ画像処理装置の構成の一例を示すブロック図 本発明の実施の形態3における縦画素補正画像生成部の構成の一例を示すブロック図 本発明の実施の形態3における縦画素補正処理の概要の一例を示す模式図 本発明の実施の形態3における縦画素補正処理の概要の一例を示す模式図 本発明の実施の形態3におけるフィルタ部の構成の一例を示すブロック図 本発明の実施の形態3におけるフィルタ部の構成の一例を示すブロック図 本発明の実施の形態4に係るステレオ画像処理装置の構成の一例を示すブロック図 本発明の実施の形態4におけるサブピクセルレベルの視差の概算値を算出する概念を示す模式図 本発明の実施の形態4におけるフィルタ部の構成の一例を示すブロック図 本発明の実施の形態4にて等間隔のデータ抽出が可能な理由を説明する模式図 本発明の実施の形態4におけるデータ抽出の例を示す模式図 本発明の実施の形態4におけるデータ抽出の開始位置の変更が相関ピークに合わせた窓掛け処理に必要な理由を説明する模式図 本発明の実施の形態4におけるデータ抽出開始位置の差Dを算出する概念を示す模式図 本発明の実施の形態4におけるデータ抽出処理の概念を示す模式図 本発明の実施の形態4におけるデータ抽出処理の一例を示すフローチャート 本発明の実施の形態3における縦画素補正処理の一例を示すフローチャート 本発明の実施の形態3における異色の場合の補正画素値算出処理の一例を示すフローチャート 本発明の実施の形態3における同色の場合の補正画素値算出処理の一例を示すフローチャート
以下、本発明の各実施の形態について、図面を参照して詳細に説明する。なお、従来技術は、画像領域サイズが小さい場合、背景など周囲の画像の影響を低減するために1次元の画素データ列を小さくする必要があった。1次元の画素データ列を小さくするほど相関ピークの精度は低くなるからである。本発明は、この課題意識に基づいて創作された。
(実施の形態1)
本発明の実施の形態1は、本発明の基本的態様の一例である。
図1は、本実施の形態に係るステレオ画像処理装置の構成の一例を示すブロック図である。
図1において、ステレオ画像処理装置100は、ステレオ画像取得部101、画像切り出し部201、画像再構成部202、およびピーク位置検出部104を有する。
ステレオ画像取得部101は、基準画像および参照画像を含むステレオ画像を取得する。
画像切り出し部201は、基準画像および参照画像のそれぞれから、ステレオ画像の基線長方向に平行な複数の画素行と、複数の画素列とから成る画像範囲を切り出す。
画像再構成部202は、切り出した画像範囲の各画素の画素値(二次元画素データ)を、所定の再構成ルール(以下、単に「再構成ルール」という)に従って1次元に再構成することにより、一次元画素データを生成する。一次元画素データは、基準画像および参照画像のそれぞれについて生成される。再構成ルールは、画像範囲の同一画素行に含まれる任意の画素同士の、再構成前の間隔と再構成後の間隔との比が、画像範囲に含まれる全ての画素同士について同一になる内容である。
ピーク位置検出部104は、基準画像から生成された一次元画素データである基準画素データと、参照画像から生成された一次元画素データである参照画素データとの相関関係に基づいて、基準画像の基準点に対する参照画像の対応点の視差を算出する。
ステレオ画像処理装置100は、例えば、CPU(central processing unit)、RAM(random access memory)などの記憶媒体を有する。この場合、上述の各機能部は、CPUが制御プログラムを実行することにより実現される。
このようなステレオ画像処理装置100は、複数画素行×複数画素列の画像範囲の各画素の画素値を、行の成分をアップサンプリングする形で、一次元画素データに再構成することができる。そして、ステレオ画像処理装置100は、基準画像から得られた基準画素データと、参照画像から得られた参照画素データとの相関関係に基づいて、基準画像の基準点に対する参照画像の対応点の視差を算出することができる。また、画素行の方向は、基線長方向に一致させることができる。これにより、ステレオ画像処理装置100は、従来技術に比べて1次元の画素データ列を長く取ることができるので、基線長方向の画像領域サイズが小さい対象物についても、高精度に視差を算出することができる。
なお、図示しないが、ステレオ画像処理装置100は、画像マッチング部102、画像切り出し部201、画像再構成部202、およびピーク位置検出部104を有する構成でもよい。すなわち、ステレオ画像は、外部機器から取得し、画像マッチング部102は、ステレオ画像に基づいて、画像マッチング処理をする。すなわち、画像マッチング部102は、基準画像と参照画像とに対して画像マッチング処理することで、前記基準画像の基準点に対する前記参照画像の対応点を取得する。
(実施の形態2)
本発明の実施の形態2は、本発明を、基線長方向が水平方向にほぼ一致するステレオ画像を処理対象とする装置に適用した例である。
まず、ステレオ画像処理装置100の構成について説明する。
図2は、本実施の形態に係るステレオ画像処理装置の構成の一例を示すブロック図である。
図2において、ステレオ画像処理装置100は、ステレオ画像取得部101と、画像マッチング部102と、フィルタ部103と、ピーク位置検出部104とを有する。
<ステレオ画像取得部101>
ステレオ画像取得部101は、ステレオ画像の基準画像および参照画像を取得する。
具体的には、ステレオ画像取得部101は、2つ以上の撮像系(つまり、カメラ)で撮影されたステレオ画像を取得する。ステレオ画像には、2つの異なるカメラによって同一対象物が撮影された基準画像および参照画像が含まれる。そして、ステレオ画像取得部101は、取得したステレオ画像を、画像マッチング部102およびフィルタ部103へ出力する。なお、本実施の形態において、ステレオ画像取得部101は、基線長方向が水平方向にほぼ一致する2つのカメラにより撮影されたステレオ画像を、入力するものとする。
<画像マッチング部102>
画像マッチング部102は、基準画像の基準点に対する参照画像の対応点を取得する。すなわち、画像マッチング部102は、基準画像と参照画像とに対して画像マッチング処理することで、前記基準画像の基準点に対する前記参照画像の対応点を取得する。
具体的には、画像マッチング部102は、ステレオ画像取得部101により取得された基準画像および参照画像に対して画像マッチング処理を行うことにより、基準画像の基準点に対する参照画像の対応点を取得する。そして、画像マッチング部102は、基準点の画像上の位置に対する参照画像の対応点の画像上の位置の「ピクセルレベルのずれ量n」を算出する。画像マッチング部102は、基準点の位置と参照画像の対応点の位置とを、例えば、基準点の位置、ピクセルレベルのずれ量n、およびそのずれの方向を示す情報を出力することにより、フィルタ部103へ出力する。
例えば、画像マッチング部102は、基準画像に含まれる所定の1ピクセルを「基準点」とし、基準点を中心とした周辺の部分画像(以下、「単位基準画像」という)を、基準画像から切り出す。また、画像マッチング部102は、参照画像に含まれ、かつ、単位基準画像と同一サイズである部分画像(以下、「単位参照画像」という)を、参照画像から複数切り出す。複数の単位参照画像は、参照画像において、異なる位置から切り出される。
ステレオ画像の場合、基準画像と参照画像との視差はカメラの基線長方向にしか発生しない。したがって、画像マッチング部102は、基線長方向に切り出し位置を変更して、複数の単位参照画像を切り出せばよい。そして、基準画像における基準点の位置と、参照画像の対応点の位置とのずれ量が、上記したずれ量nとして算出される。
そして、画像マッチング部102は、切り出された複数の単位参照画像から、単位基準画像とのマッチング度が最も大きい単位参照画像を特定する。特定された単位参照画像において、基準点に対応する1ピクセルが、参照画像上の対応点になる。マッチング度を表す指標としては、例えば、輝度相違度を示すSAD(画素輝度の相違度:Sum of Absolute Differences)値が用いられる。
<フィルタ部103>
フィルタ部103は、基準画像に基づいて、参照画像に対するフィルタリング処理を行う。
具体的には、フィルタ部103は、基準画像および基準点の位置に基づいてフィルタ係数を算出し、算出されたフィルタ係数を用いて、参照画像の対応点周辺の部分画像に対するフィルタリング処理を行う。
<フィルタ部103の構成>
図3は、フィルタ部103の構成の一例を示すブロック図である。
図3において、フィルタ部103は、画像切り出し部201、画像再構成部202、アンチエイリアシング部203、窓掛け部204、およびフィルタ生成部205を有する。
<画像切り出し部201>
画像切り出し部201は、基準画像から、ステレオ画像の基線長方向に平行な複数の画素行と複数の画素列とから成る部分画像(二次元画素データ)を、サブピクセル推定用単位基準画像として切り出す(抽出ステップ)。また、画像切り出し部201は、同様に、参照画像から、サブピクセル推定用単位基準画像と同一の画素行数、画素列数(同一サイズ)からなる部分画像(二次元画素データ)を、サブピクセル推定用単位参照画像として切り出す(抽出ステップ)。すなわち、画像切り出し部201は、複数の画素行及び複数の画素列を有し、前記基準点を含む第1の二次元画素データを前記基準画像から抽出し、複数の画素行及び複数の画素列を有し、前記対応点を含む第2の二次元画素データを前記参照画像から抽出する。
そして、画像切り出し部201は、サブピクセル推定用単位基準画像およびサブピクセル推定用単位参照画像を、画像再構成部202へ出力する。
なお、本実施の形態において、画像切り出し部201は、サブピクセル推定用単位基準画像に基準点が含まれるように、基準画像における画像の切り出し位置を決定するものとする。また、画像切り出し部201は、サブピクセル推定用単位参照画像に対応点が含まれるように、画像の切り出し位置を決定するものとする。
なお、画像切り出し部201は、サブピクセル推定用単位基準画像を、前述の単位基準画像と異なるサイズとなるように決定してもよい。また、画像切り出し部201は、サブピクセル推定用単位基準画像およびサブピクセル推定用単位参照画像のそれぞれの「画像範囲」を指定し、指定した画像範囲を、画像再構成部202へ出力してもよい。「画像範囲」は、例えば、重心座標と幅と高さで表すことができるが、これに限定されるものではない。
<画像再構成部202>
画像再構成部202は、画像切り出し部201から取得した、サブピクセル推定用単位基準画像およびサブピクセル推定用単位参照画像の各画素の画素値を、再構成ルールに従って1次元に再構成することにより、一次元画素データを生成する。なお、画像範囲は、サブピクセル推定用単位基準画像およびサブピクセル推定用単位参照画像の上位概念である。
再構成ルールは、画像範囲の同一画素行に含まれる任意の画素同士の、再構成前の間隔と再構成後の間隔との比が、画像範囲に含まれる全ての画素同士について同一となるように、1次元上に再構成するルールである。すなわち、画像再構成部202は、画像範囲に含まれる各画素行において、等間隔に並んだ画素同士を所定の間隔だけ離隔し、離隔した画素の間に、他の画素行に含まれる画素を入れ込むようにして、各画素行を線形結合する。また、再構成ルールは、画像範囲の同一画素行に含まれる画素同士の再構成後の間隔が、再構成前の間隔より大きくなるように、一次元画素データを再構成するルールである。
所定の間隔とは、原則として、画像範囲の画素行の数より1少ない数である。具体的に、たとえば、白黒画像であって、かつ、画像範囲の画素行の数が3で画素列の数が3である場合について説明する。画像再構成部202は、画像範囲に含まれる任意の画素行において、再構成前に隣接して並ぶ3つの画素をそれぞれ2画素ずつ離隔する。そして、画像再構成部202は、離隔された画素の間に、他の画素行の画素を配置することにより、3つの画素行を線形結合する。線形結合の具体的な方法の一例については、後述する。
ここで、再構成ルールの概念について、図面を用いて説明する。
図4は、再構成ルールの概念を示す模式図である。
再構成ルールでは、画像範囲の各画素行のデータは、それぞれ独立したデータとして扱われる。画像再構成部202は、各画素行のデータの画素を離隔し、画素間をゼロで補間することにより、サンプリング周波数を上げることが出来る(これは、一般的に「アップサンプリング」といわれる)。但し、アップサンプリングにより得られたデータは、そのままでは、折り返しノイズを拾ってしまう。そのため、アンチエイリアシング部203(anti-aliasing section)が、アップサンプリングにより得られたデータをローパスフィルタに通して、アンチエイリアシングする必要がある。
ここで、各画素行のデータは、独立であるため、画像再構成部202は、各画素行をアップサンプリングし、アンチエイリアシングした上で、各画素行を結合することが可能である。その際、画像に写っている物体が垂直方向に伸びた物体(例えば、歩行者など)である場合、基準画像と参照画像間とのずれ量は、画像範囲のいずれの画素行においても同じである。そのため、基準画像および参照画像における画素の位置に同じオフセットを加えても、ずれ量は変わらない。すなわち、基準画像および参照画像の画素の位置を同じだけ、かつ、基線長方向の同じ方向にずらしても、基準画像と参照画像とのずれ量の算出に影響はない。したがって、画素行毎に画素の位置に一定のオフセットを加えた上で結合したデータを用いて、基準画像と参照画像のずれ量を算出することができる。
また、アンチエイリアシングフィルタは、線形フィルタであるため、各画素行のデータから、アンチエイリアシングしたデータへの変換に対し線形性が成り立つ。そのため、ステレオ画像処理装置100は、各画素行をアップサンプリングし、線形結合してから、例えばローパスフィルタに通してアンチエイリアシングしたデータから、ずれ量を算出することができる。
次に、複数の画素行を線形結合する具体的な方法の一例について、説明する。図4Aに示すように、画像再構成部に入力された、サブピクセル推定用単位基準画像が、基準点を中心とする3つの画素行×3つの画素列=画素数9のサイズであったとする。ここで、説明の便宜のため、左上から下方向へ行を移動しながら右方向に走査していったときの順序(1)〜(9)を、各画素の番号とする。
最初に、画像再構成部202は、画像を各画素行に分解する。次に、図4Bに示すように、画像再構成部202は、それぞれの画素行を画素列の数だけアップサンプリングする。この場合、1行目の画素行である第1の画素行401は、左から順に「(1)(0)(0)(2)(0)(0)(3)(0)(0)」となる。2行目の画素行である第2の画素行402は、左から順に「(4)(0)(0)(5)(0)(0)(6)(0)(0)」となる。3行目の画素行である第3の画素行403は、左から順に「(7)(0)(0)(8)(0)(0)(9)(0)(0))」となる。なお、(0)は、ゼロを補間した画素を示す。
そして、図4Cに示すように、画像再構成部202は、アップサンプリングされた3行に対し、1行目の画素行である第1の画素行401の画素の位置にはオフセットを加えず(つまり、オフセット0を加える)、第2の画素行402の画素の位置にはオフセット1を加え、第3の画素行403の画素の位置にはオフセット2を加えて、3つの画素行を加算することによって結合する。
この結果、図4Dに示すように、「(1)(4)(7)(2)(5)(8)(3)(6)(9)」という構成のデータが得られる。また、画像再構成部202は、サブピクセル推定用単位参照画像についても同様の処理を施し、一次元画素データを得る。
なお、各画素行を線形結合する際に各画素行の画素の位置に加えられるオフセット量は、上述の例に限定されず、0以上、画素行の数より1だけ少ない数以下の整数であり、各画素行の再構成前の画素の位置が同じにならないよう、互いに異なっていればよい。例えば、画像再構成部202は、別のオフセット量を各画素行の画素の位置に加えることにより、「(1)(7)(4)(2)(8)(5)(3)(9)(6)」などの一次元画素データを得るようにしてもよい。
以上で、再構成ルールの概念についての説明を終える。
そして、画像再構成部202は、サブピクセル推定用単位基準画像から生成された一次元画素データ(以下、「基準画素データ」という)、および、サブピクセル推定用単位参照画像から生成された一次元画素データ(以下、「参照画素データ」という)を、アンチエイリアシング部203へ出力する。
なお、本実施の形態において、上述の画素行は、ステレオ画像の基線長方向(エピポーラ線の方向)に平行であるものとする。そして、上述の再構成ルールは、画像範囲の任意の画素と、当該画素が画素行の方向に隣接する画素との間隔が、再構成前の間隔よりも広くなるように、一次元画素データを生成する内容であるものとする。また、再構成ルールは、画像範囲の任意の画素と、当該画素が基線長方向(水平方向)に(すなわち、同じ画素行の)隣接する画素との間隔が、基線長方向に直交する方向(垂直方向)に並んだ(すなわち、同じ画素列の)他のいずれの画素との間隔よりも広くなるように、一次元画素データを生成する内容である。また、画素値とは、例えば、画素ごとの輝度値である。
<アンチエイリアシング部203>
アンチエイリアシング部203は、一次元画素データ(基準画素データおよび参照画素データ)から、上述の再構成により生じる折り返しノイズ(エイリアシング)を除去する(これは、一般的に「アンチエイリアシング」といわれる)。具体的には、アンチエイリアシング部203は、例えばローパスフィルタを用いて、一次元画素データから折り返しノイズを除去する。そして、アンチエイリアシング部203は、折り返しノイズの除去が行われた一次元画素データ(基準画素データおよび参照画素データ)を、窓掛け部204へ出力する。
<窓掛け部204>
窓掛け部204は、一次元画素データに対して、窓掛けを行う。そして、窓掛け部204は、窓掛けが行われた一次元画素データを、フィルタ生成部205へ出力する。
<フィルタ生成部205>
フィルタ生成部205は、基準画素データの各画素の位置を、配列方向において反転させて得られる、逆位相フィルタ係数を算出する。そして、フィルタ生成部205は、参照画素データに対して、逆位相フィルタ係数を用いてフィルタリング処理を行う。フィルタリング処理の詳細については後述する。そして、フィルタ生成部205は、フィルタリング処理の結果(以下、「フィルタリング結果」という)を、図2のピーク位置検出部104へ出力する。
<ピーク位置検出部104>
ピーク位置検出部104は、フィルタリング結果において、基準画素データと参照画素データとの相関度が最も高くなる相対位置関係を取得する。そして、ピーク位置検出部104は、取得した相対位置関係に基づいて、サブピクセル推定用単位基準画像の基準点に対する、サブピクセル推定用単位参照画像の対応点のサブピクセルレベルのずれ量を算出する。
具体的には、ピーク位置検出部104は、フィルタリング結果におけるピークの位置を検出することにより、かかるずれ量を算出する。ここで、フィルタリング結果におけるピークとは、フィルタリング結果が最大値となる位置である。このサブピクセルレベルのずれ量と、画像マッチング部102において算出されるピクセルレベルのずれ量(上記したずれ量n)を加算することにより、基準画像と参照画像との間の正確なずれ量が算出される。
ステレオ画像処理装置100は、例えば、CPU、RAMなどの記憶媒体を有する。この場合、上述の各機能部は、CPUが制御プログラムを実行することにより実現される。
このようなステレオ画像処理装置100は、複数画素行×複数画素列の画像範囲の各画素の画素値を、基線長方向の成分をアップサンプリングすることにより、一次元画素データ(基準画素データおよび参照画素データ)に再構成することができる。そして、ステレオ画像処理装置100は、基準画像から得られた一次元画素データである基準画素データと、参照画像から得られた一次元画素データである参照画素データとの相関関係に基づいて、基準画像の基準点に対する参照画像の対応点のサブピクセルレベルの視差を算出する。これにより、ステレオ画像処理装置100は、従来技術に比べて長い1次元の画素データ列を視差算出に用いることができるので、基線長方向の画像領域サイズが小さい対象物についても、高精度に視差を算出することができる。
以上で、ステレオ画像処理装置100の構成についての説明を終える。
次に、以上の構成を有するステレオ画像処理装置100の動作について説明する。
なお、以下では、画像横方向をX軸、画像縦方向をY軸として、1画素が1座標点であるものとして説明する。また、説明の便宜のため、エピポーラ線の方向(基線長方向)は、画像全体において、X軸に平行であるものとする。
図5は、ステレオ画像処理装置100の動作の一例を示すフローチャートである。
画像マッチング部102は、ステレオ画像取得部101からステレオ画像が入力されるごとに、その基準画像の全体で基準点を移動させながら、基準画像および参照画像に対して画像マッチング処理を行う。ステレオ画像処理装置100は、以下のステップS1〜S8の動作を、全ての基準点について行う。
<基準点の位置決定処理>
ステップS1において、画像マッチング部102は、視差算出の対象となる基準点の位置を決定する。
<単位基準画像の切り出し処理>
ステップS2において、画像マッチング部102は、基準画像から、単位基準画像を切り出す。単位基準画像は、ステップS1において決定された基準点を含む部分領域の画像である。単位基準画像の大きさの単位は、上述の通り、ピクセル(画素)である。つまり、単位基準画像は、複数の画素行×複数の画素列の画像である。
<サーチ範囲およびサーチ開始位置の決定処理>
ステップS3において、画像マッチング部102は、ステップS2で決定された基準点の位置に基づいて、参照画像におけるサーチ範囲およびサーチ開始位置を決定する。ステレオ画像の視差は、三角測量の原理により、カメラ間の距離である基線長とレンズの焦点距離と、ステレオカメラから測距の対象物までの距離に基づいて決定される。すなわち、視差は、基線張と焦点距離に比例し、対象物までの距離に反比例する。基線長と焦点距離はカメラパラメータで固定のため、サーチ範囲は、ステレオカメラから測距の対象物までの距離に基づいて決定すればよい。ステレオカメラから無限遠にある対象物は基準画像と参照画像において同じ位置に撮像されるため、参照画像におけるサーチ開始位置は基準画像における基準点と同じ座標を設定してもよい。
<単位参照画像の切り出し処理>
ステップS4において、画像マッチング部102は、参照画像における切り出し位置を決定し、画素行の数と画素列の数が単位基準画像と同一の単位参照画像を切り出す。画像マッチング部102は、ステップS3で決定されたサーチ開始位置を例えば最初の切り出し位置に決定し、以降、切り出し位置を移動させていく。
<マッチング度の算出処理>
ステップS5において、画像マッチング部102は、単位基準画像と単位参照画像とのマッチング度を算出する。このマッチング度には、例えば、輝度相違度を示すSAD値や輝度類似度が用いられる。
<サーチ範囲の終了判定処理>
ステップS6において、画像マッチング部102は、サーチ範囲に対する処理の終了判定処理を行う。すなわち、画像マッチング部102は、切り出し位置が移動によりサーチ範囲を網羅したか否かを判定する。画像マッチング部102は、サーチ範囲に対する処理が終了していない場合(S6:No)、ステップS4へ戻る。この結果、画像マッチング部102は、ステップS4での単位参照画像の切り出し領域がずれるように、切り出し位置をサーチ範囲内において移動させる。このようにして、ステップS4〜S6までの処理は、サーチ範囲に対する処理が終了するまで(S6:Yes)、繰り返される。
<対応点の特定処理>
ステップS7において、画像マッチング部102は、ステップS4〜S6の処理によって得られた、複数のマッチング度に基づいて、マッチング度が最大となる単位参照画像の切り出し位置を特定する。マッチング度として輝度相違度が用いられている場合には、画像マッチング部102は、輝度相違度が極小ないし最小となる単位参照画像の切り出し位置を特定する。そして、画像マッチング部102は、マッチング度が最大となる切り出し位置を、基準点に対する参照画像の対応点として特定する。
ここで、ステップS2〜S7の処理について、具体的に説明する。
図6は、画像範囲の切り出しから対応点の特定までの処理の概要を示す模式図である。
図6Aに示すように、画像マッチング部102は、上述のステップS2において、基準点(xa,ya)311を中心とした周辺の部分画像を、単位基準画像312として切り出す。この単位基準画像312の切り出しには、所定サイズ(縦サイズ:wvピクセル、横サイズ:whピクセル)の矩形窓313が用いられる。なお、ここでは、第1の窓関数によって規定される矩形窓313の中心と基準点311の位置とを一致させるものとして説明を行うが、厳密に中心でなくてもよく、矩形窓313の中心付近に基準点311が存在していればよい。
次に、画像マッチング部102は、上述のステップS3において、ステップS1において決定された基準点の位置に基づいて、参照画像におけるサーチ範囲およびサーチ開始位置を決定する。サーチ開始位置(参照画像において単位参照画像を切り出す初期座標)は、例えば、基準画像における基準点と同じ座標(xa,ya)が用いられる。次に、画像マッチング部102は図6Bに示すように、切り出し位置321を、ステップS4で参照画像からサーチ開始位置を中心とした周辺の部分画像を単位参照画像322として切り出す。この単位参照画像322の切り出しには、単位基準画像の切り出しに用いられる矩形窓313と同じ矩形窓が用いられる。
そして、画像マッチング部102は、上述のステップS5において、単位基準画像312と各単位参照画像322とのマッチング度を算出する。このマッチング度には、例えば、輝度相違度を示すSAD値が用いられる。このSAD値は、次の式(1)によって算出される。
そして、画像マッチング部102は、上述のステップS6において、サーチ範囲が終了していないと判定される場合には、図6Bに示すように、切り出す位置をずらして新たな単位参照画像323を参照画像から切り出す。切り出す位置は、ここでは1ピクセルずつずらされる。また、ずらす方向は、図6Bにおける参照画像の座標(xa,ya)から伸びる右矢印の方向である。
このようにして、画像マッチング部102は、1つの単位基準画像312に対する複数の単位参照画像について、それぞれのマッチング度を算出する。そして、画像マッチング部102は、ステップS7でステップS4〜S6の処理によって得られた複数のマッチング度に基づいて、マッチング度が最大となる単位参照画像を特定する。具体的には、画像マッチング部102は、複数のマッチング度の内で、最もマッチング度が最大(例えば、SAD値が最小)である単位参照画像323を特定する。この特定された単位参照画像の切り出し位置323の座標を(xa+n、ya)とすると、nは、ピクセルレベルのずれ量となる。そして、画像マッチング部102は、マッチング度が最大となる切り出し位置323を、基準点321に対する参照画像の対応点として特定する。
なお、マッチング度の指標としてはSAD値に限定されるものではなく、マッチング度の指標として用いることができるものであれば他の指標を用いることができる。例えば、画像マッチング部102は、マッチング度の指標として、SSD(Sum of Squared Differences)を用いてもよい。
以上で、ステップS2〜S7の処理についての具体的な説明を終える。
<サブピクセルレベル演算処理>
図5のステップS8において、フィルタ部103およびピーク位置検出部104は、ステップS7で得られた参照画像の対応点と、ステレオ画像取得部101から受け取る基準画像および参照画像とに基づいて、サブピクセルレベル演算処理を行う。
図7は、サブピクセルレベル演算処理の詳細を示すフローチャートである。
<サブピクセル推定用単位基準画像の切り出し処理>
ステップS10において、フィルタ部103は、基準画像から基準点を中心とした周辺の部分画像を、サブピクセル推定用単位基準画像として切り出す。このサブピクセル推定用単位基準画像の切り出しには、上述の単位基準画像の切り出しに用いたものと同様の矩形窓313が用いられる。
<サブピクセル推定用単位参照画像の切り出し処理>
ステップS11において、フィルタ部103は、参照画像から、ステップS7で検出された対応点を中心とした周辺の部分画像を、サブピクセル推定用単位参照画像として切り出す。サブピクセル推定用単位参照画像の切り出し処理にも、サブピクセル推定用単位基準画像の場合と同じ矩形窓が用いられる。但し、矩形窓は、対応点(xa+n、ya)を中心に設定される。
なお、矩形窓のサイズは単位基準画像の切り出しに用いたものと異なってもよい。また、本実施の形態においては、サブピクセル推定用単位基準画像を、新たに基準画像から切り出すものとして説明したが、画像マッチング部102で用いた単位基準画像をそのままサブピクセル推定用単位基準画像として用いてもよい。
<サブピクセル推定用単位基準画像の画像再構成処理>
ステップS12において、画像再構成部202は、サブピクセル推定用単位基準画像を1次元画像データに再構成する。すなわち、画像再構成部202は、サブピクセル推定用単位基準画像の各画素の画素値を、再構成ルールに従って1次元に再構成することによって、「基準画素データ」を生成する。
<サブピクセル推定用単位参照画像の画像再構成処理>
ステップS13において、画像再構成部202は、サブピクセル推定用単位参照画像を1次元画像データに再構成する。すなわち、画像再構成部202は、サブピクセル推定用単位参照画像の各画素の画素値を、再構成ルールに従って1次元に再構成することによって、「参照画素データ」を生成する。
図8は、再構成ルールの一例の概要を示す模式図である。
図8Aに示すように、基準画像(参照画像)331のサブピクセル推定用単位基準画像(サブピクセル推定用単位参照画像)332は、基準点(対応点)333を含む4つの画素行×4つの画素列=画素数16のサイズであったとする。なお、サブピクセル推定用単位基準画像(サブピクセル推定用単位参照画像)332をこのサイズとしたのは、ステレオカメラから遠くに位置する歩行者のように、その画像領域サイズが小さく、基線長方向の情報量が少ない場合を想定しているためであるが、これに限定されない。
ここで、説明の便宜のため、サブピクセル推定用単位基準画像(サブピクセル推定用単位参照画像)332を左上から下方向へ行を移動しながら右方向に走査していったときの順序(1)〜(16)を、各画素の番号とする。
すなわち、第1の画素行は、左から順に「(1)(2)(3)(4)」であり、第2の画素行は、左から順に「(5)(6)(7)(8)」である。また、第3の画素行は、左から順に「(9)(10)(11)(12)」であり、第4の画素行は、左から順に「(13)(14)(15)(16)」である。
また、第1の画素列は、上から順に「(1)(5)(9)(13)」であり、第2の画素列は、上から順に「(2)(6)(10)(14)」である。また、第3の画素列は、上から順に「(3)(7)(11)(15)」であり、第4の画素列は、上から順に「(4)(8)(12)(16)」である。
ここでは、画像再構成部202は、図8Bに示すように、左上から右方向へ列を移動しながら下方向に走査していったときの順序で、図8Cに示すように、各画素の画素値の配置を再構成する。すなわち、画像再構成部202は、「(1)(5)(9)(13)(2)(6)(10)(14)(3)(7)(11)(15)(4)(8)(12)(16)」という画素の順序で、各画素の画素値を1次元に並べる。そして、画像再構成部202は、1次元に並べて得られるデータを、基準画素データ(参照画素データ)334とする。
このようにして再構成された基準画素データ(参照画素データ)334では、例えば、第1の画素行「(1)(2)(3)(4)」において隣接する画素の間の間隔335の比は、「1:1:1」のまま変化していない。
また、第1の画素行「(1)(2)(3)(4)」を含めた全ての画素行において、隣接する画素の間の間隔は3画素に広がっている。したがって、基準画素データ(参照画素データ)334は、横方向(画素行方向)の成分がアップサンプリングされた状態となっている。
なお、上記の例では、再構成後の画素の配列は、「(1)(5)(9)(13)(2)(6)(10)(14)(3)(7)(11)(15)(4)(8)(12)(16)」という画素の順序としたが、これに限定されない。再構成前の各画素行において隣接する画素の間隔が、再構成後の画素の配列においてすべて同じであればよい。具体的には、再構成後の画素の配列は、「(1)(9)(5)(13)(2)(10)(6)(14)(3)(11)(7)(15)(4)(12)(8)(16)」や、「(5)(1)(9)(13)(6)(2)(10)(14)(7)(3)(11)(15)(8)(4)(12)(16)」等でもよい。
このようなアップサンプリングにより、基準点および対応点の上下範囲の情報を利用し、かつ、視差算出に用いる画素データの数も多く取ることができるようになる。また、視差算出に用いる画素データの数を多くすることにより、後段で適用される第2の窓関数の視差算出への影響を少なくすることができる。すなわち、ステレオ画像処理装置100は、ノイズにロバストな視差算出を行うことが可能となる。
ところが、アップサンプリングにより、縦方向(画素列方向)の成分が等間隔で配置されることになるため、同時に、本来は画像上に存在しない高周波成分の信号(エイリアシング)が発生することになる。そこで、ステレオ画像処理装置100は、以降に説明するアンチエイリアシング処理を行う。
<基準画素データのアンチエイリアシング処理>
図7のステップS14において、アンチエイリアシング部203は、基準画素データに対し、アンチエイリアシング処理を行う。アンチエイリアシング処理は、アップサンプリングにより発生する上述のエイリアシングを除去する処理である。
<参照画素データのアンチエイリアシング処理>
ステップS15において、アンチエイリアシング部203は、参照画素データに対し、アンチエイリアシング処理を行う。
図9は、アンチエイリアシングを説明するための模式図である。
ここで、基準画素データおよび参照画素データが画像信号となる前の元の信号波形および振幅特性は、図9Aに示すような状態であったとする。これを標本化すると、図9Bのように、信号は離散化し、標本化周波数の半分であるナイキスト周波数341よりも低い周波数において、元信号と同じ振幅特性342が現れる。したがって、標本化した信号を2倍アップサンプリングした場合、ナイキスト周波数は2倍となり、図9Cに示すように、標本化による折り返しノイズ(エイリアシング)343が現れる。
後段のピーク位置検出部104では、基準画素データと参照画素データとの相関関係に基づいて視差算出を行う。このため、折り返しノイズを除去しなければ、高精度な視差算出を行うことができない。
そこで、アンチエイリアシング部203は、ナイキスト周波数の1/2を遮断周波数としたローパスフィルタ344を基準画素データと参照画素データに適用する。これにより、アンチエイリアシング部203は、元信号と同じ振幅特性342となる、アップサンプリングされた信号を得ることができる。
なお、ローパスフィルタの遮断周波数は、サブピクセル推定用単位基準画像、およびサブピクセル推定用単位参照画像の、画素行の数(高さ)に依存する。例えば、アンチエイリアシング部203は、画素行の数が2つの場合、ローパスフィルタの遮断周波数をナイキスト周波数の1/2、画素行の数が3つの場合、ローパスフィルタの遮断周波数をナイキスト周波数の1/3とする。したがって、アンチエイリアシング部203は、画像再構成部202でのアップサンプリングのサンプリング周波数に応じて、ローパスフィルタの遮断周波数を動的に変更するようにしてもよい。
<基準画素データの窓掛け処理>
図7のステップS16において、窓掛け部204は、アンチエイリアシング処理が行われた基準画素データに対して、第2の窓関数を用いて窓掛けを行う。第2の窓関数は、例えば、式(2)で表されるハニング窓の窓関数w(m)である。Nは、タップ数(基準画素データの画素数)を表す。mは、ハニング窓における位置を表す。
<参照画素データの窓掛け処理>
ステップS17において、窓掛け部204は、アンチエイリアシング処理が行われた参照画素データに対して、アンチエイリアシング処理が行われた基準画素データに対して用いられたものと同様の窓関数を用いて、窓掛けを行う。
なお、ここでは、ハニング窓の窓関数が用いられる場合について説明するが、本発明はこれに限定されるものではなく、窓関数として、ハミング窓、ブラックマン窓、カイザー窓などが用いられてもよい。これらの窓関数は、サブピクセル推定用単位基準画像の特性(例えば、周波数パワー特性、位相特性、切り出し端連続性)のうち、どの特性を重要視するかに応じて選択される。例えば、位相特性を重要視する場合には、カイザー窓が適している。但し、カイザー窓を用いると、演算がかなり複雑となる。一方、演算量削減の観点からは、ハニング窓が適している。
ここで、サブピクセルレベルの演算処理では、切り出された画像にノイズが含まれないことが重要である。これは、サブピクセルレベルのずれ量を精度よく算出するためである。一方、画像マッチング部102における画像切り出し処理は、例えば、ピクセル単位で行われるため、画像切り出しの精度よりも演算回数を削減することに重きが置かれる。
したがって、画像マッチング部102で用いられる第1の窓関数には、単に画像データを切り出すだけの窓関数が用いられる。これに対して、サブピクセルレベルの演算処理で用いられる第2の窓関数は、ノイズが少ないことが重要視される。このため、第2の窓関数は、窓の両端における変化が連続的である関数(例えば、窓の両端の値がゼロである関数)であることが好ましい。
このような第2の窓関数を用いることにより、基準画素データ、および参照画素データの連続性が保たれ、後述する逆位相フィルタの特性に含まれる、切り出しによるノイズ成分を低減することができる。なお、第1の窓関数と第2の窓関数とを周波数特性について比較すると、第1の窓関数の方が、第2の窓関数よりも、メインローブ(main-lobe)の幅が狭く、サイドローブ(side-lobe)の振幅が大きい。
<逆位相フィルタ係数算出処理>
ステップS18において、フィルタ部103は、折り返しノイズの除去および窓掛けが行われた基準画素データから、逆位相フィルタ係数を算出する。具体的には、フィルタ部103は、折り返しノイズの除去および窓掛けが行われた基準画素データの各画素値の位置を、配列方向において反転させる形で、信号列を逆の順番に並べ換える。
<フィルタリング処理>
ステップS19において、フィルタ部103は、折り返しノイズの除去および窓掛けが行われた参照画素データを、ステップS16で算出された逆位相フィルタ係数を用いてフィルタリングする。
<ピーク位置の検出処理>
ステップS20において、ピーク位置検出部104は、フィルタリング結果によって検出されたピーク位置に基づいて、基準画像と参照画像とのサブピクセルレベルのずれ量(視差)を算出することができる。そして、ステレオ画像処理装置100は、図5の処理へ戻る。
ここで、ステップS10〜S20の処理について、説明する。
まず、画像範囲の再構成からフィルタリングまでの処理の概要について説明する。
図10は、画像範囲の再構成からフィルタリングまでの処理の概要を示す模式図である。
図10Aに示すように、画像再構成部202は、基準画像351から切り出されたサブピクセル推定用単位基準画像352を、N個の画素値から成る基準画素データ353に再構成する。また、図10Bに示すように、画像再構成部202は、参照画像354から切り出されたサブピクセル推定用単位参照画像355を、N個の画素値から成る参照画素データ356に再構成する。アンチエイリアシング部203は、これら基準画素データ353および参照画素データ356のそれぞれに対して、アンチエイリアシング処理を行う。
そして、窓掛け部204は、基準点(xa,ya)および対応点(xa+n,ya)を中心とするNピクセルのサイズのハニング窓を、第2の窓関数w(m)357として用いる。なお、第2の窓関数w(m)のサイズは、Nに限定されない。
フィルタ生成部205は、必ずしも逆位相フィルタ係数を別途算出する必要はなく、逆位相フィルタ係数を適用した場合のフィルタリング結果が得られるような演算を行えばよい。すなわち、フィルタ生成部205は、例えば、以下に示す式(3)を用いて、フィルタリング処理を行う。ここで、f'’(m)は、基準画像の画素値を表し、g’'(m)は、参照画像の画素値を表す。
以上で、画像範囲の再構成からフィルタリングまでの処理の概要についての説明を終える。
次に、フィルタリングの概念について説明する。
図11は、逆位相フィルタ係数によるフィルタリングの概念を説明するための模式図である。
本実施の形態において、窓関数w(m)の長さ(N)は、5画素であるものとする。そして、折り返しノイズの除去および窓掛けが行われた基準画素データは、図11Aに示すように、「1,2,3,4,5」であるものとする。また、折り返しノイズの除去および窓掛けが行われた参照画素データx(m)も、「1,2,3,4,5」であるものとする。また、フィルタリングに用いる画素値は、輝度値であるものとする。
基準画素データが「1,2,3,4,5」の場合、フィルタ部103は、逆位相フィルタ係数h(k)として、「5,4,3,2,1」を算出する。
そして、フィルタ部103は、図11Bに示すように、逆位相フィルタ係数h(k)を用いて、参照画素データに対してフィルタリング処理を施す。
このフィルタリング処理は、具体的には次のように行われる。参照画素データにおける、任意の構成信号の座標をkとした場合、フィルタ部103は、構成信号の座標が「k−2、k−1、k、k+1、k+2」となる信号列に対して、逆位相フィルタ係数h(k)を乗算することによりフィルタリング処理を施し、各乗算結果の総和を、フィルタリング結果z(m)として算出する。ここで、mは、0〜4の整数値を取る。
ここで、参照画素データの両端の外側に存在する、画素値が0である仮想的な座標点を考慮すると、図11Aに示すように、参照画素データx(m)は、「0,0,1,2,3,4,5,0,0」となる。図11Aにおけるm(m:0〜4)を参照画素データの座標点とした場合、フィルタリング処理は、次のように行われる。
フィルタ部103は、m=0の場合、m=0を中心とする画素値信号列「0、0、1、2、3」を、逆位相フィルタ「5、4、3、2、1」によってフィルタリング処理する。この結果、z(0)は、26(=0×1+0×2+1×3+2×4+3×5)となる。
また、フィルタ部103は、m=1の場合、m=1を中心とする画素値信号列「0、1、2、3、4」を、逆位相フィルタ「5、4、3、2、1」によってフィルタリング処理する。この結果、z(1)は、40(=0×1+1×2+2×3+3×4+4×5)となる。
同様にして、z(2)は、55となり、z(3)は、40となり、z(4)は、26となる。
したがって、フィルタ部103は、フィルタリング結果z(m)として、「26、40、55、40、26」を得る。
このようなフィルタリング処理は、上述の式(3)によって表される。式(3)において、基準画素データが反転されたf’(−k)は、逆位相フィルタのフィルタ係数h(k)として用いられている。また、g’(m)は、参照画素データの画素値である。
逆位相フィルタを用いたフィルタリング処理によるフィルタリング結果z(m)は、図11Cに示すように、対称(図11では、m=2を中心として左右対称)になると共に、中央付近にピークが存在するという特徴を有する。
また、逆位相フィルタは、いわゆるFIRフィルタの一種に相当するものであり、線形推移不変システムであるという特徴を有する。ここで、線形推移不変システムとは、入力信号にずれがある場合には、出力信号にも入力信号と同じだけのずれが生じるシステムである。
上述した具体例では、基準画素データと参照画素データとの間にずれがない場合を例にとって説明した。ところが、参照画素データが基準画素データに対してサンプリング間隔より小さなずれが存在する場合、フィルタリング結果であるz(m)にも同じだけのずれが生じることになる。
なお、実空間において同一サイズの対象物の視差を求める場合、対象物がステレオカメラから遠くに存在する場合は近くに存在する場合よりも視差は小さく、ピクセルレベルのずれ量nも小さくなる。それと同時に、ステレオ画像上の対象物の基線長方向の画像領域サイズも小さくなる。
したがって、ステレオ画像処理装置100は、逆位相フィルタのタップ数を、画像マッチング部102で検出されたピクセルレベルのずれ量nの大きさに応じて設定することが望ましい。
例えば、ピクセルレベルのずれ量nが小さい場合には、それに応じて逆位相フィルタのタップ長も短く設定される。すなわち、実空間において同一サイズの物体の視差を求める場合、物体がステレオカメラから遠くに存在する場合は近くに存在する場合よりも視差は小さく、ピクセルレベルのずれ量nも小さくなる。それと同時に、ステレオ画像中に撮影される画像領域サイズも小さくなるため、ずれ量nの大きさに応じてサブピクセル推定用単位基準画像およびサブピクセル推定用単位参照画像のサイズを変更することにより、逆位相フィルタのタップ長も適応的に変更することができる。これにより測距対象の物体のサイズに合わせた視差を算出することができる。
また、フィルタリング結果は、線形推移不変システムの出力である。したがって、フィルタリング結果は、レンズの歪補正の誤差、CCDなどのイメージセンサに起因するゲインノイズ等の誤差、窓掛けによる画像切り出しの演算精度の誤差を除けば、理論的には真のずれ量を表現していることになる。よって、ピクセル単位で離散化されている逆位相フィルタの出力をサンプリング定理に従ってピクセル間の数値を補間することにより、サブピクセルレベルでの真のピーク位置を求めることができる。
以上で、フィルタリングの概念についての説明を終える。
次に、フィルタリング結果におけるピーク位置検出の処理の概要を説明する。
図12は、sinc関数を用いたピーク位置検出の処理の一例の概要を示す模式図である。
sinc関数は、sin(πx)/πxで定義される関数であり、離散化されたサンプリングデータを元の連続データに戻す場合に用いられる関数である。サンプリングされた離散データとsinc関数との畳み込み演算を行うことにより、元の連続データを完全に復元可能であることは、サンプリング定理によって証明されている。
したがって、ピーク位置検出部104は、離散化されているフィルタリング結果をsinc関数によって畳み込み演算する。これにより、ピーク位置検出部104は、ピクセル単位の間隔の信号データを補間することができ、サブピクセルレベルでも理論的に信号データが補間されたフィルタリング結果z(m)の真のピーク位置を導出することができる。
図12に示すように、ピーク位置検出部104は、例えば、2分探索によって、フィルタリング結果のピーク位置を検出する。
例えば、ピーク位置検出部104は、フィルタリング結果z(m)が最大となる位置m=0(位置A)を2分探索基準点とする。ピーク位置検出部104は、その2分探索基準点(位置A)から左右に1ピクセルずつずれた位置のフィルタリング結果であるz(+1)とz(−1)とを比較する。そして、ピーク位置検出部104は、フィルタリング結果が大きい方の位置(ここでは、m=1である位置Bを2分探索使用点とする。
そして、ピーク位置検出部104は、2分探索基準点(位置A)と2分探索使用点(位置B)との中点である位置Cの値を、サンプリング定理に基づき、例えば以下の式(4)を用いて算出する。なお、Tは、サンプリング間隔(画素ピッチ)である。
そして、ピーク位置検出部104は、位置Cを新たな2分探索基準点として、上記と同様の処理を繰り返す。
この処理の繰り返し回数は、必要な精度に応じた数とすることができる。すなわち、ピーク位置検出部104は、必要なサブピクセル精度が1/2ピクセルであれば、上記した処理を1回行えばよい。また、ピーク位置検出部104は、必要なサブピクセル精度が1/4ピクセル精度であれば2回、1/8ピクセルであれば3回と、必要なサブピクセル精度に応じて繰り返し回数を決定すればよい。
そして、ピーク位置検出部104は、最後に得られた中点を、検出したピーク位置δとして扱う。
なお、以上の説明では、sinc関数および2分探索法を用いてピーク位置を検出する方法について説明を行った。しかしながら、本発明はこれに限定されるものではなく、例えば、ピーク位置検出部104は、sinc関数と勾配法との組み合わせによって、ピーク位置を探索してもよい。すなわち、ピーク位置検出部104は、離散化されているフィルタリング結果をsinc関数によって畳み込み演算してピクセル単位の間隔の信号データを補間した後であれば、各種の最大値検出方法を用いることができる。
または、ピーク位置検出部104は、二次曲線近似を用いてフィルタリング結果のピーク位置を検出してもよい。これにより、ピーク位置検出部104は、ピーク位置検出のための演算量を削減することができる。この場合、ピーク位置検出部104は、離散化されているフィルタリング結果を二次曲線でフィッティングし、その二次曲線の極大値の位置を、ピーク位置として検出する。これにより、ピーク位置検出部104は、離散化の間隔以下の精度で、フィルタリング結果のピーク位置を求めることができる。
図13は、二次曲線近似を用いたフィルタリング結果のピーク位置検出の処理の一例の概要を示す模式図である。
図13に示すように、ピーク位置検出部104は、まず、ピクセル単位の間隔のフィルタリング結果z(m)が最大となる、位置m=0における値z(0)を求める。また、ピーク位置検出部104は、その最大位置m=0から左右に1ピクセルずつずれた、位置m=+1、−1のフィルタリング結果である、z(+1)、z(−1)を取得する。そして、ピーク位置検出部104は、これら3点を通る二次曲線を求め、さらにその二次曲線が極大値をとる位置を、フィルタリング結果のピーク位置δとして検出する。このピーク位置δは、例えば、次の式(5)を用いて算出することができる。
なお、基準画素データおよび参照画素データは、画像再構成で使用された画素行数分、画素行方向の画素値がアップサンプリングされている。このため、算出されたフィルタリング結果のピーク位置δは、画像再構成で使用された画素行数倍されて算出される。つまり、サブピクセルレベルのずれ量δ’は、フィルタリング結果のピーク位置δを画像再構成で使用された画素行数で除算することで算出される。
基準画像における基準点の視差は、ピクセルレベルのずれ量nと、サブピクセルレベルのずれ量δ’を加算することによって求められる。
以上で、フィルタリング結果におけるピーク位置検出の処理の概要についての説明を終える。また、ステップS10〜S20の処理についての具体的な説明を終える。
なお、ステップS10〜S17の処理の順序については、図7のフローチャートで示した順序に限らない。基準画像に関する処理であるS10、S12、S14、S16と参照画像に関する処理であるS11、S13、S15、S17がそれぞれこれらの順序で実行され、S10〜S17の処理がS18の前までに完了していればよい。
<測距対象領域の終了判定処理>
ステップS9において、画像マッチング部102は、測距対象領域の終了判定処理を行う。すなわち、画像マッチング部102は、基準画像の全体において、未だステップS1〜ステップS8までの処理が行われていない未処理領域が存在するか否かを判定する。画像マッチング部102は、未処理領域が存在する場合には(S9:No)、ステップS1へ戻り、基準点の位置をずらしてステップS1〜ステップS8の処理を行う。また、画像マッチング部102は、未処理領域が存在しない場合には(S9:Yes)、一連の動作を終了する。
以上のような動作により、ステレオ画像処理装置100は、基準画像および参照画像の複数行×複数列の画像範囲を、基線長方向の成分をアップサンプリングする形で、一次元の基準画素データおよび参照画素データに再構成することができる。そして、ステレオ画像処理装置100は、基準画素データに含まれる基準点との相関関係が最も高くなる参照画素データのピーク位置を、アンチエイリアシングおよび窓関数の適用により、高い精度で検出することができる。これにより、ステレオ画像処理装置100は、高い精度で視差を算出することができる。
以上で、ステレオ画像処理装置100の動作についての説明を終える。
以上説明したように、本実施の形態に係るステレオ画像処理装置100は、複数行×複数列の画像範囲を、画素行方向および画素列方向の少なくとも一方の成分をアップサンプリングする形で、一次元画素データに再構成することができる。そして、ステレオ画像処理装置100は、基準画像から得られた基準画素データと、参照画像から得られた参照画素データとの相関関係に基づいて、視差を算出することができる。これにより、ステレオ画像処理装置100は、従来技術に比べて視差算出に用いる画素データ列を長く取ることができるので、基線長方向の画像領域サイズが小さい対象物についても、高精度に視差を算出することができる。
また、ステレオ画像処理装置100は、少なくとも、ステレオ画像の基線長方向(水平方向)に平行な方向の成分をアップサンプリングする形で、基準画素データおよび参照画素データを生成する。これにより、ステレオ画像処理装置100は、路上の歩行者など、垂直方向に伸びた形状の対象物や、基線長方向の画像領域サイズが小さい対象物に対して、より高精度に視差を算出することができる。
また、ステレオ画像処理装置100は、画像マッチングにより、参照画像における、基準画像の基準点に対する対応点を取得し、その周辺の部分領域を、一次元画素データの生成の対象とする。これにより、ステレオ画像処理装置100は、効率よく、かつ、より高い精度で、視差を算出することができる。
また、ステレオ画像処理装置100は、逆位相フィルタ係数によるフィルタリング処理を行い、フィルタリング結果がピークとなる位置を、基準画素データと参照画素データとのずれ量(基準点と対応点との視差)として算出する。これにより、ステレオ画像処理装置100は、より高い精度で、視差を算出することができる。
また、ステレオ画像処理装置100は、アンチエイリアシング処理および窓掛けを行ってから、基準画素データと参照画素データとの相関関係を算出する。これにより、ステレオ画像処理装置100は、入力されたステレオ画像の周波数特性を変化させずに情報量を増加させることが可能となるため、視差算出精度を更に向上させることができる。すなわち、ステレオ画像処理装置100は、上述の通り、画像における上下方向の情報を利用し、かつ視差算出に用いる画素データ列を長く取れるため、一次元画素データ列が持つ情報に対する第2の窓関数の影響を少なくすることが出来る。そして、ステレオ画像処理装置100は、上述の通り、折り返しノイズをアンチエイリアシング処理により除去する。したがって、ステレオ画像処理装置100は、元の各画素行の周波数特性(振幅特性と位相特性)をそのまま維持した状態で、複数の画素行の画素データを組み合わせることができる。
なお、上述の再構成ルールは、図8で説明した例に限定されない。例えば、ステレオ画像がカラー画像で、画素のデータとしてはベイヤ配列の画像データである場合にも適用可能である。ベイヤ配列の画像データへ適用する再構成ルールは、R画素値(赤の画素値)、G画素値(緑の画素値)、およびB画素値(青の画素値)の少なくとも1つを画像範囲から抽出することにより、一次元画素データを生成する内容とすることができる。ベイヤ配列画像では、R画素値、G画素値、およびB画素値は、それぞれ等間隔に配置されており、この配置を利用することにより、上述のアップサンプリング処理を簡単に行うことができる。
図14は、ベイヤ配列画像の構成を示す模式図である。
図14に示すように、ベイヤ配列画像361は、R画素362、G画素363、G画素364、B画素365を、1つの構成単位(以下、「カラー画素ユニット」という)366として構成されている。ベイヤ配列画像361は、Rデータ367、Gデータ368、およびBデータ369から成る。Rデータ367は、R画素362の画素値のみの画像データである。Gデータ368は、G画素363もしくは364の画素値のみの画像データである。Bデータ369は、B画素365の画素値のみの画像データである。
例えば、R画素362は、画素行方向において、1画素おきに配置されている。他のG画素363、364、B画素365についても同様である。
そこで、画像再構成部202は、基準画像と参照画像のそれぞれにおいて、例えば、Gデータ368から画像範囲を切り出し、上述の基準画素データおよび参照画素データを生成する。
図15は、ベイヤ配列画像361に対するアップサンプリングの例を示す模式図である。
図15Aに示すように、1ユニット行のカラー画素ユニット366が、一次元画素データを生成するための画像範囲である場合を想定する。この場合、画像再構成部202は、画素行毎にG画素値を抽出し、抽出した複数のG画素値を線形結合することにより、G画素値のアップサンプリングを行うことができる。
また、図15Bに示すように、複数ユニット行のカラー画素ユニット366が、一次元画素データを生成するための画像範囲である場合を想定する。この場合、画像再構成部202は、画素行毎にG画素値を抽出し、抽出した複数のG画素値を、ゼロ補完を行った上で線形結合することにより、G画素値のアップサンプリングを行うことができる。この例では、画像再構成部202は、1画素行目および4画素行目のG画素値に対して、カラー画素ユニット366の各境目の直前にゼロを2個補完し、2画素行目および3画素行目のG画素値に対して、カラー画素ユニット366の各境目の直後にゼロを2個補完する。
なお、図15Cに示すように、画像再構成部202は、画素行毎に特定の色の画素値を抽出する。そして、画像再構成部202は、抽出したG画素値、B画素値、およびR画素値を、ゼロ補完を行った上で線形結合することで、全ての色の画素値のアップサンプリングを行うことができる。ゼロ補完する位置によって、図15Cに示すように、異なる一次元画素データが得られる。
このように、ステレオ画像処理装置100は、ベイヤ配列画像の性質を利用することにより、アップサンプリング処理を、簡単に行うことができる。
また、特にG画素363、364は、カラー画素ユニット366を構成する4画素のうちの2画素を占めているため、全体の輝度への影響が大きい。したがって、ステレオ画像処理装置100は、Gデータ368を用いることにより、Rデータ367およびBデータ369を用いる場合に比べて、より高い精度での視差算出を行うことができる。
また、上述のベイヤ配列のように、複数の画素値から1画素の画素値を推定するような場合には、実効の画像解像度が劣化するが、ステレオ画像処理装置100は、このような場合にも、高精度な視差算出を行うことが可能となる。
また、一般的には、波長の異なるRデータ367、Gデータ368、およびBデータ369をそのまま用いるとピクセルロッキングが発生するため、RAWデータとして利用することはできないが、ステレオ画像処理装置100は、Rデータ367、Gデータ368、およびBデータ369をそのまま利用することができる。
(実施の形態3)
一般的なステレオカメラから得られる画像は、カメラのレンズの歪み等の影響を受ける。画像の各所の歪み量は、画像中心から離れるほど大きい。また、左右のレンズで設置環境(角度、明るさなど)が異なるため、撮影した画像をそのまま用いた場合、精度よく視差を算出できない場合が多い。そのため、撮影された画像に前処理を施し、画像からレンズの歪み等の影響を取り除く必要がある。
本発明の実施の形態3は、画像マッチング部への入力前に、画像に対して平行化補正処理を行い、平行化補正処理後の画像上でのずれ量を高精度にかつ、高速に算出するようにした例である。
図16は、本実施の形態に係るステレオ画像処理装置の構成の一例を示すブロック図であり、実施の形態2の図2に対応するものである。図2と同一部分には同一符号を付し、これについての説明を省略する。
図16において、ステレオ画像処理装置100aは、図2の構成に加えて、平行化補正処理部106aおよび平行化補正情報格納部105aを有する。
<平行化補正情報格納部105a>
平行化補正情報格納部105aは、平行化補正情報を予め格納する。平行化補正情報は、ステレオ画像取得部101が取得した基準画像および参照画像のそれぞれに対して、歪み補正処理および平行化補正処理を行う際の変換ルールである。基準画像に対する変換ルールを「基準画像用平行化補正情報」、参照画像に対する変換ルールを「参照画像用平行化補正情報」という。
ここで、歪み補正処理は、撮像に用いられたレンズの歪みの影響を低減する処理であり、実空間で直線である物体が画像においても直線に映るように補正する処理である。平行化補正処理は、基準画像および参照画像との間で光軸を平行にする処理であり、座標変換処理および画像シフト処理を含む。座標変換処理は、任意の対象物が、カメラ光軸方向におけるカメラからの距離が同一である位置に存在する限り、画像中のどの位置に撮像されても同一の画像領域サイズとなるように、座標を変換する処理である。画像シフト処理は、カメラの光軸を擬似的に平行にし、無限遠点にある対象物が、基準画像と参照画像の同一の位置に映るようにする処理である。なお、以下、歪み補正および平行化補正を総称して、「歪み平行化補正」、歪み補正処理および平行化補正処理を総称して、「歪み平行化補正処理」という。
具体的には、平行化補正情報は、平行化補正画像の各画素が参照する(対応する)、平行化補正前のステレオ画像における位置を、実数値で示している。平行化補正画像は、歪み平行化補正処理を行うことによって得られる画像である。
<平行化補正処理部106a>
平行化補正処理部106aは、平行化補正情報格納部105aに格納されている平行化補正情報に基づいて、ステレオ画像(基準画像および参照画像)に対して、歪み平行化補正処理を行う。そして平行化補正処理部106aは、基準画像および参照画像それぞれの平行化補正画像を生成する。
なお、平行化補正処理部106aは、座標変換処理後に画像シフト処理を行うことによって歪み平行化補正を行ってもよいし、画像シフト処理後に座標変換処理を行ってもよい。すなわち、レンズの歪み補正と、2つのカメラの位置関係の補正との両方を行うことができれば、その方法は特に限定されるものではない。
画像マッチング部102は、平行化補正処理部106aにより、基準画像および参照画像それぞれの平行化補正画像を、基準画像および参照画像として扱い、対応点を取得する。詳細な取得方法は、前述の実施の形態と同様である。画像マッチング部102は、基準点の位置と対応点の位置とを、フィルタ部103aへ出力する。
なお、基準画像および参照画像がカラー画像の場合、ステレオ画像処理装置100aは、画像マッチング部102への入力前処理として、カラー画像をグレースケール画像に変換し、画像マッチング部102はグレースケール画像を用いて、基準画像の基準点に対する参照画像の対応点を特定するとしてもよい。
このように、本実施の形態のステレオ画像処理装置100aは、基準画像および参照画像に対して歪み平行化補正処理を行ってから画像マッチングを行うので、対応点を精度良く取得することができる。
<フィルタ部103a>
フィルタ部103aは、実施の形態2と同様のフィルタリング処理を行う。但し、画像マッチング部102で取得される基準点の位置と対応点の位置は、平行化補正画像上での位置であるが、フィルタ部103aは、ステレオ画像取得部101が取得したステレオ画像上でのサブピクセルレベルの視差を算出する。
<フィルタ部103aの構成>
図17は、ステレオ画像処理装置100に、平行化補正処理部106aを追加した場合の、フィルタ部103aの構成の一例を示すブロック図であり、実施の形態2の図3に対応するものである。図3と同一部分には同一符号を付し、これについての説明を省略する。
フィルタ部103aは、図3に示す構成に加えて、座標変換部207aを有する。
座標変換部207aは、画像マッチング部102から取得した基準点の位置を、平行化補正情報格納部105aが格納する平行化補正情報に基づいて、ステレオ画像取得部101で取得された基準画像(以下、本実施の形態において「原基準画像」という)上の位置に変換する。
同様に、座標変換部207aは、画像マッチング部102から取得した対応点の位置を、平行化補正情報格納部105aの平行化補正情報に基づいて、ステレオ画像取得部101で取得された参照画像(以下、本実施の形態において「原参照画像」という)上の位置に変換する。(以下、本実施の形態において、原基準画像と原参照画像を総称して「原画像」という)。
そして、座標変換部207aは、得られた原基準画像上の基準点の位置と、原参照画像上の対応点の位置とを、画像切り出し部201へ出力する。
具体的には、座標変換部207aは、平行化補正画像上の基準点の位置と、平行化補正情報とに基づいて、原基準画像上の基準点の位置座標を算出する。平行化補正画像上の基準点の位置座標は整数値であり、原基準画像上の基準点の位置座標は実数値となる。そして、座標変換部207aは、例えば、原基準画像上の基準点の位置座標の小数点以下第一位を四捨五入することにより、原基準画像上での基準点の位置座標を整数値に変換する。
同様に、座標変換部207aは、平行化補正画像上の対応点の位置についても、原参照画像上の対応点の位置座標を算出する。平行化補正画像上の対応点の位置座標は整数値であり、原基準画像上の対応点の位置座標は実数値となる。そして、基準点に対する処理と同様に、座標変換部207aは、例えば、原参照画像上の対応点の位置座標の小数点以下第一位を四捨五入することにより、原参照画像上の対応点の位置座標を整数値に変換する。
座標変換部207aは、画素行方向において、基準点の位置座標を整数値に変換する場合に切り上げもしくは切り捨てられた値と、対応点の位置座標を整数値に変換する場合に切り上げもしくは切り捨てられた値との差を、ずれ量Zとして算出する。なお、座標変換部207aは、切り捨てられた値をプラス、切り上げられた値をマイナスとして扱う。
以下に、具体的な値を用いて説明する。原基準画像上の基準点の位置座標が(2.3,1.5)、原参照画像上の対応点の位置座標が(3.5,1.5)であったとする。この場合、座標変換部207aが位置座標の小数点以下第一位を四捨五入して、整数値に変換することにより、原基準画像上の基準点の位置座標は、(2,2)となり、原参照画像上の対応点の位置座標は、(4,2)となる。
このとき、基準点の位置座標は画素行方向に0.3切り捨てられ、対応点の位置座標は画素行方向に0.5切り上げられている。よって、この場合のずれ量Zは、0.3−(−0.5)=0.8となる。このずれ量Zは、平行化補正画像上のずれ量を算出する際に使用される値である。座標変換部207aは、整数値に変換された基準点の位置座標、整数値に変換された対応点の位置座標、ずれ量Zをピーク位置検出部104へ出力する。
画像切り出し部201以降のフィルタ部103の処理は、前述の実施の形態と同様である。
<ずれ量算出方法>
本実施の形態のピーク位置検出部104は、平行化補正画像を用いて、平行化補正画像上でのずれ量の算出を行う。ピーク位置検出部104は、まず、ピクセルレベルのずれ量nに、サブピクセルレベルのずれ量δ’を加算する。このずれ量δ’は、ピーク値算出で求めたサブピクセルレベルのずれ量δを、画像再構成の際に使用した単位基準画像の画素行数で除算して得られる値である。
そして、ピーク位置検出部104は、ピクセルレベルのずれ量nに、サブピクセルレベルのずれ量δ’を加算して得られた値に、更に、座標変換部207aで実数値の位置座標を整数値の位置座標に変換した際に発生したずれ量Zを加算する。これにより、ピーク位置検出部104は、高精度に視差を算出することが可能となる。
以上説明したように、本実施の形態に係るステレオ画像処理装置100aは、平行化補正画像を用いて画像マッチングを行うことで対応点を特定し、原画像を用いてサブピクセルレベルの視差を算出する。これにより、ステレオ画像処理装置100aは、効率良く、かつ、より高精度に、視差を算出することができる。
なお、本実施の形態においては、画像マッチング部102への入力前処理として、歪み平行化補正処理を例に説明したが、本発明はこれに限定されるものではなく、画像縮小処理を行ってもよい。この場合、ステレオ画像処理装置100aは、画像マッチング部102において、縮小画像を用いることにより、ピクセルレベルのずれ量nを高速に算出することができる。そして、ステレオ画像処理装置100aは、フィルタ部103aにおいて、原画像を用いることにより、サブピクセルレベルのずれ量δ’を高精度に算出することができる。
また、ステレオ画像処理装置100aは、歪み平行化補正処理を行った後に、画像縮小処理を行ってもよい。この場合、ステレオ画像処理装置100aは、画像マッチング部102において、縮小された平行化補正画像を用いることにより、ピクセルレベルのずれ量nを高速に算出することができる。そして、ステレオ画像処理装置100aは、フィルタ部103aにおいて、原基準画像と原参照画像を用いることにより、サブピクセルレベルのずれ量δ’を高精度に算出することができる。
なお、上記ではフィルタ部103aの座標変換部207aにおいて、平行化補正画像上の基準点の位置および対応点の位置を、原基準画像または原参照画像上の位置に変換するものとして説明した。しかし、これに限らず、原基準画像を縦方向にのみ補正した「縦画素補正基準画像」、および、原参照画像を縦方向にのみ補正した「縦画素補正参照画像」を用いてサブピクセルレベルの視差を算出してもよい。その場合、ステレオ画像処理装置100aは、演算量を大幅に削減することができる。
以下、縦方向にのみ歪み平行化補正することを「縦画素補正」、縦画素補正によって求められた画素値を「縦画素補正値」という。また、縦画素補正基準画像と縦画素補正参照画像を総称して「縦画素補正画像」という。すなわち、縦画素補正画像の画素値は、原画像を縦画素補正することによって得られた縦画素補正値である。
縦画素補正画像を用いたサブピクセルレベルの視差算出についての具体的な方法を、以下に説明する。
図18は、ベイヤ配列画像のステレオ画像に対して、縦画素補正画像を用いて対応点を特定し、サブピクセルレベルの視差を算出するステレオ画像処理装置の構成の一例を示すブロック図である。
図18において、ステレオ画像処理装置100bは、図16の構成に加えて、縦画素補正画像生成部107bを新たに有する。なお、図18は、実施の形態3の図16に対応するものであり、図16と同一部分には同一符号を付し、これについての説明を省略する。
<縦画素補正画像生成部107b>
縦画素補正画像生成部107bは、平行化補正情報格納部105aに格納された平行化補正情報に基づいて、ステレオ画像取得部101で取得されたステレオ画像、すなわち原画像に対して、縦方向についてのみ、歪み平行化補正処理を行う。そして、縦画素補正画像生成部107bは、原画像に対して縦画素補正した、縦画素補正画像を生成する。
<縦画素補正画像生成部107bの構成>
図19は、縦画素補正画像生成部107bの構成の一例を示すブロック図である。
図19において、縦画素補正画像生成部107bは、ベイヤ配列定義部108b、平行化補正情報取得部109b、縦画素補正処理部110bを有する。
<ベイヤ配列定義部108b>
ベイヤ配列定義部108bは、縦画素補正画像におけるベイヤ配列の並び方を定義する。具体的には、ベイヤ配列定義部108bは、画像の左上がR(赤)で始まる、または画像の左上がB(青)で始まるなどを定義する。また、定義方法は、プログラムに埋め込むとしてもよいし、設定ファイル等を用いて定義するとしてもよい。なお、縦画素補正基準画像と縦画素補正参照画像におけるベイヤ配列の並び方は、同一である。
<平行化補正情報取得部109b>
平行化補正情報取得部109bは、平行化補正情報格納部105aに格納されている、平行化補正情報を取得する。
<縦画素補正処理部110b>
縦画素補正処理部110bは、平行化補正情報取得部109bが取得した平行化補正情報をもとに、原画像を縦画素補正し、縦画素補正画像を生成する。平行化補正情報は、本来、縦横両方の方向について歪み平行化補正をするために用いる変換ルールであるが、縦画素補正処理部110bは、平行化補正情報を用いて、縦方向にのみ、歪み平行化補正(すなわち、縦画素補正)を行う。
図20を用いて、原基準画像を縦画素補正して、縦画素補正基準画像を生成する処理の一例を説明する。なお、図20A、C、Dにおいては、1つの区画が1つの画素を表している。
図20Aに、縦画素補正画像生成部107bが生成する縦画素補正基準画像を示す。ここでは、縦画素補正基準画像が4つの画素行×3つの画素列=画素数12のサイズであるとして説明する。実際は、VGA画像の場合、480×640、1.3MEGA画像の場合は960×1280の画素数の画像を生成する。ここで、説明の便宜のため、左上から下方向へ行を移動しながら右方向に走査していったときの順序(1)〜(12)を、各画素の番号とする。以下、各画素の番号で特定される画素を、「画素(”画素番号”)」と表記する。
図20Bに平行化補正情報取得部109bが取得した基準画像用平行化補正情報の一例を示す。なお、図20Bに示したフォーマットは一例であり、これに限るものではない。図20Bの基準画像用平行化補正情報は、縦横両方の方向についての歪み平行化補正処理後の画像上での位置座標と、原基準画像上での位置座標との対応を示すものである。
例えば、縦画素補正画像上での位置座標が(1,1)である画素(5)の画素値(すなわち、縦画素補正値)を算出するために、位置座標(1.6,1.2)が用いられることを示している。以下、縦横両方の方向についての歪み平行化補正処理後の画像上での画素値を算出するために用いられる位置座標を「元座標」という。
図20Cに、原基準画像のベイヤ配列の並びを、図20Dに、ベイヤ配列定義部108bで定義された、縦画素補正基準画像のベイヤ配列の並びを示す。図20Cにおいては、例えば、1画素行目における、左からG(緑)、B(青)、G(緑)の順に並んでいるベイヤ配列の並びが示されている。また、2画素行目から4画素行目についても同様に、R、G、Bによるベイヤ配列の並びが示されている。図20Dについても同様に、R、G、Bによるベイヤ配列の並びが示されている。
また、図20Cに示すように、原基準画像は、X座標、Y座標がともに整数値である位置座標ごとに画素値のデータを保持する。例えば、位置座標が(0,0)(図20Cでは、0を0.0と表記)である画素2007は色がGの画素値、位置座標が(1,0)(図20Cでは、0を0.0と表記し、1を1.0と表記する)である画素2004は色がBの画素値を保持する。すなわち、原基準画像として保持された画素値の位置座標は、離散的である。
しかし、基準画像用平行化補正情報によって示されている元座標は、(1.5,1.2)のような実数値である。したがって、元座標が指し示す画素は原基準画像上に存在しない。縦画素補正処理においては、元座標の小数点以下の値を用いて、原基準画素上の複数の画素を選択し、選択した画素の画素値を用いて縦画素補正値が算出される。
図33は、縦画素補正処理の流れを示すフローチャートである。縦画素補正処理によって、図20Aに示す縦画素補正基準画像を生成する方法を、図33を用いて説明する。
縦画素補正画像生成部107bは、縦画素補正基準画像において、縦画素補正値算出の対象である画素(以下、「縦画素補正対象画素」という)を選択する(S3301)。縦画素補正画像生成部107bは、最初の縦画素補正対象画素として、例えば、図20の画素(1)2006を選択する。そして、縦画素補正画像生成部107bは、例えば、左上から下方向へ行を移動しながら右方向に縦画素補正基準画像を走査し、縦画素補正対象画素として画素(1)〜(12)の順に選択する。
次に、縦画素補正画像生成部107bは、縦画素補正基準画像のベイヤ配列の並び(図20D)を参照して、縦画素補正対象画素の色を判定する(S3302)。例えば、ステップS3301において、縦画素補正対象画素として、位置座標が(1,1)である画素(5)2001が選択された場合、縦画素補正画像生成部107bは、縦画素補正基準画像のベイヤ配列の並び(図20D)の位置座標(1,1)の色2003を参照する。この例においては、縦画素補正画像生成部107bは、縦画素補正対象画素(画素(5))の色は、「B」であると判定する。
次に、縦画素補正画像生成部107bは、平行化補正情報を参照して、縦画素補正対象画素の元座標を取得する(S3303)。例えば、縦画素補正対象画素として、画素(5)2001が選択された場合、縦画素補正画像生成部107bは、平行化補正情報(図20B)を参照して、画素(5)の元座標(1.6,1.2)を取得する。
更に、縦画素補正画像生成部107bは、縦画素補正対象画素の原基準画像上での位置座標を取得する(S3303)。縦画素補正処理部110bは、原基準画像を縦方向にのみ歪み平行化補正するため、縦画素補正対象画素の原基準画像上での位置座標として、元座標のX座標は使用せず、Y座標のみ使用する。すなわち、縦画素補正画像生成部107bは、縦画素補正対象画素の原基準画像上での位置座標として、元座標(1.6,1.2)のX座標を、縦画素補正対象画素のX座標で置き換えた(1,1.2)を縦画素補正対象画素の原基準画像上での位置座標とする。
以下、縦画素補正値算出のために参照する原基準画像の画素の位置座標を「縦画素補正用元座標」という。縦画素補正用元座標は、元座標のX座標を、縦画素補正対象画素のX座標で置き換えた位置座標であり、画素(5)2001の縦画素補正用元座標は(1,1.2)である。
次に、縦画素補正画像生成部107bは、原基準画像のベイヤ配列の並び(図20C)を参照して、ステップS3303で取得した縦画素補正用元座標の画素の色を判定する(S3304)。図20Cに示すように、原基準画像において位置座標が(1,1.2)である画素2002の色は「G」である。したがって、この例においては、縦画素補正画像生成部107bは、縦画素補正対象画素(画素(5))の縦画素補正用元座標の画素の色は、「G」であると判定する。
次に、縦画素補正画像生成部107bは、S3302で判定した、縦画素補正対象画素と、ステップS3304で判定した、縦画素補正対象画素の縦画素補正用元座標の画素とが、同色か否かを判断する(S3305)。縦画素補正対象画素が画素(5)であった場合には、縦画素補正画像生成部107bがS3302で判定した色は「B」であり、S3304で判定した色は「G」である。
したがって、この場合、縦画素補正画像生成部107bは、同色でないと判断してステップS3307に進み、同色でない場合の縦画素補正値算出を行う。ステップS3307の異色の場合の縦画素補正値算出の詳細については、後述する。
ここまでは、縦画素補正対象画素として画素(5)を選択した場合を例にして、ステップS3305において、縦画素補正画像生成部107bが、同色でないと判断する場合について説明した。次に、ステップS3305において縦画素補正画像生成部107bが、同色であると判断する場合のステップS3301〜ステップS3305の処理を、図21を用いて説明する。
図20と同様、図21Aは縦画素補正基準画像、図21Bは基準画像用平行化補正情報、図21Cは原基準画像のベイヤ配列の並び、図20Dは縦画素補正基準画像のベイヤ配列の並びの一例である。なお、図21A、C、Dにおいては、図20と同様、1つの区画が1つの画素を表している。
まず、ステップS3301において、縦画素補正画像生成部107bは、縦画素補正対象画素として、例えば、図21の画素(8)2101を選択する。
次に、ステップS3302において、縦画素補正画像生成部107bは、縦画素補正基準画像のベイヤ配列の並び(図21D)を参照して、縦画素補正対象画素の色を判定する。判定方法は、ステップS3301において、縦画素補正対象画素として画素(5)2001が選択された場合と同様である。結果として、縦画素補正画像生成部107bは、縦画素補正対象画素(画素(8)2101)の色は、「G」であると判定する。
次に、ステップS3303において、縦画素補正画像生成部107bは、平行化補正情報を参照して、縦画素補正対象画素の縦画素補正元座標を取得する。取得方法は、ステップS3301において、縦画素補正対象画素として画素(5)2001が選択された場合と同様である。結果として、縦画素補正画像生成部107bは、縦画素補正対象画素である画素(8)2101の縦画素補正用元座標(1.0,2.8)を取得する。
次に、ステップS3304において、縦画素補正画像生成部107bは、原基準画像のベイヤ配列の並び(図21C)を参照して、縦画素補正用元座標の画素の色を判定する。判定方法は、ステップS3301において、縦画素補正対象画素として画素(5)2001が選択された場合と同様である。結果として、縦画素補正画像生成部107bは、縦画素補正対象画素(画素(8)2101)の縦画素補正用元座標の画素の色は、「G」であると判定する。
次に、ステップS3305において、縦画素補正画像生成部107bは、S3302で判定した縦画素補正対象画素と、ステップS3304で判定した縦画素補正対象画素の縦画素補正用元座標の画素が同色であるかどうかを判断する。縦画素補正対象画素が画素(8)2101であった場合には、縦画素補正画像生成部107bがS3302で判定した色は「G」であり、ステップS3304で判定した色も「G」である。
よって、この場合、縦画素補正画像生成部107bは、同色であると判断してステップS3306に進み、同色の場合の縦画素補正値算出を行う。ステップS3306の同色の場合の縦画素補正値算出の詳細については、後述する。
ステップS3306または、ステップS3307の処理が終了した後、ステップS3308において、縦画素補正画像生成部107bは、最終の縦画素補正対象画素であるかどうかを判断する。例えば、縦画素補正画像生成部107bが、縦画素補正対象画素として画素(1)〜(12)の順に選択する場合には、画素(12)までの縦画素補正値算出が終了していれば(Yes)、図33のフローチャートの処理は終了する。
また、画素(12)までの縦画素補正値算出が終了していない場合(No)、縦画素補正画像生成部107bは、ステップS3301に進み、次の縦画素補正対象画素を選択する。
以上で、図33のフローチャートの説明を終える。
次に、図33のフローチャートのステップS3307(異色の場合の縦画素補正値算出)について説明する。
縦画素補正対象画素と、縦画素補正対象画素の縦画素補正用元座標の画素とが異色の場合、縦画素補正処理部110bは、原基準画像において縦画素補正用元座標の画素の上下に位置する画素のうち、縦画素補正対象画素の色と同じ色の画素の画素値に基づいて、縦画素補正値を算出する。
図34は、図33のフローチャートのステップS3307である、異色の場合の縦画素補正値算出のフローチャートである。
ここでは、図33のフローチャートのステップS3301において、縦画素補正対象画素として、図20Aの画素(5)2001が選択され、ステップS3305において、同色ではないと判断された場合を例にして説明する。
まず、ステップS3401において、縦画素補正画像生成部107bは、縦画素補正対象画素のY座標の小数点以下第一位が4以下であるかどうかを判断する。
縦画素補正対象画素のY座標の小数点以下第一位が4以下の場合(Yes)、縦画素補正画像生成部107bは、ステップS3402に進み、4以下でない場合(No)、ステップS3403に進む。
ステップS3402において、縦画素補正画像生成部107bは、縦画素補正対象画素のY座標を小数点以下第一位で四捨五入した場合に切り捨てられる値(以下、「切り捨て値」という)を用いて、数値1と切り捨て値との和算により、重み係数kを算出する。重み係数kは、後述する縦画素補正値算出において画素値に加えられる重みの算出に用いられる係数である。
ここでは、縦画素補正対象画素として、画素(5)2001が選択されているので、縦画素補正用元座標の画素2002のY座標は1.2であり、小数点以下第一位は2となる。よって、切り捨て値は0.2となり、重み係数kは1.2(1.0+0.2)となる。そして、縦画素補正画像生成部107bは、ステップS3404に進む。
また、ステップS3403においては、縦画素補正画像生成部107bは、縦画素補正対象画素のY座標を小数点以下第一位で四捨五入した場合に切り上げられる値(以下、「切り上げ値」という)を用いて、1から切り上げ値を除算した値である重み係数kを算出し、ステップS3404に進む。
次に、ステップS3404において、縦画素補正画像生成部107bは、ステップS3402またはステップS3403において算出された重み係数kを用いて、縦画素補正対象画素の縦画素補正値を算出する。縦画素補正値の算出に、線形補間が用いられる場合の式を、一例として式(6)として示す。
ここで、A−1は、縦画素補正用元座標2002の1つ上に位置する画素2004の画素値であり、Aは、縦画素補正用元座標2002の1つ下に位置する画素2005の画素値である。したがって、画素(5)2001を縦画素補正対象画素とした場合、k=1.2を式(6)に代入することにより、算出される縦画素補正値は、0.4×A−1+0.6×Aとなる。すなわち、縦画素補正値は、縦画素補正用元座標に位置する画素の近傍の複数の画素の画素値に基づいて算出される値である。また、縦画素補正値算出の際に近傍の画素の画素値のそれぞれに加えられる重みは、縦画素補正用元座標に対し、元座標が複数の画素のうちどちらにどれだけずれているかに依存する。
以上で、縦画素補正画像生成部107bは、図34のフローチャート(異色の場合の縦画素補正値算出)の処理を終了する。
さらに、図33のフローチャートのステップS3307(同色場合の縦画素補正値の算出)の詳細について説明する。
縦画素補正対象画素と、縦画素補正用元座標の画素が同色の場合、縦画素補正処理部110bは、縦画素補正用元座標の画素と、原基準画像において縦画素補正用元座標の画素の2画素上または2画素下に位置する同色の画素の画素値に基づいて、縦画素補正値を算出する。
図35は、図33のフローチャートのステップS3306である、同色の場合の縦画素補正値算出のフローチャートである。
ここでは、図33のフローチャートのステップS3301において、縦画素補正対象画素として、図21Aの画素(8)2101が選択され、ステップS3305において同色であると判断された場合を例にして説明する。
まず、ステップS3501において、縦画素補正画像生成部107bは、縦画素補正対象画素のY座標の小数点以下第一位が4以下であるかどうかを判断する。
縦画素補正対象画素のY座標の小数点以下第一位が4以下の場合(Yes)、縦画素補正画像生成部107bは、ステップS3502に進み、4以下でない場合(No)には、ステップS3503に進む。ここでは、縦画素補正対象画素として、画素(8)2101が選択されているので、縦画素補正用元座標の画素2102のY座標は2.8であり、小数点以下第一位の値は8となるので、縦画素補正画像生成部107bは、ステップS3503に進む。
ステップS3502において、縦画素補正画像生成部107bは、切り捨て値を用いて、重み係数kを算出する。具体的には、重み係数kを、切り捨て値とする。
次に、ステップS3504において、縦画素補正画像生成部107bは、ステップS3502において算出された重み係数kを用いて、縦画素補正対象画素の縦画素補正値を算出する。縦画素補正値の算出に、線形補間が用いられる場合の式は、式(6)と同様である。
ただし、式(6)における、A−1は、縦画素補正用元座標の画素の画素値であり、Aは、原基準画像において、その2画素上に位置する画素の画素値を示す。例えば、図21の例においては、A−1は縦画素補正用画素2102の画素値、Aは、縦画素補正用画素の2画素上に位置する画素2104の画素値である。
また、ステップS3503においては、縦画素補正画像生成部107bは、小数点以下第一位の値(以下、切り上げ値)を用いて、数字2から切り上げ値を減算した値として、重み係数kを算出し、ステップS3505に進む。
画素(8)2101の縦画素補正用元座標の画素2102のY座標は2.8であり、小数点以下第一位は8であるため、切り上げ値は0.2となる。よって、重み係数kは2.0−0.2で1.8となる。
次に、ステップS3505において、縦画素補正画像生成部107bは、ステップS3503において算出された重み係数kを用いて、縦画素補正対象画素の縦画素補正値を算出する。縦画素補正値の算出に、線形補間が用いられる場合の式は、式(6)と同様である。したがって、縦画素補正後の画素値は、0.1×A−1+0.9×Aで求められる。
ただし、式(6)における、Aは、縦画素補正用元座標の画素の画素値であり、A−1は、原基準画像において、その2画素上に位置する画素の画素値を示す。例えば、図21の例においては、A−1は縦画素補正用画素2104(図21においては、縦画素補正対象画素と同じ色(G)であることを示すために、G−1と表記)の画素値、A−1は、縦画素補正用元座標の画素2102(同G)の画素値である。
縦画素補正画像生成部107bは、ステップS3504またはステップS3505における縦画素補正対象画素の縦画素補正値算出により、図35のフローチャート(同色の場合の縦画素補正値算出)の処理を終了する。
なお、縦画素補正用元座標のY座標が整数値となった場合には、縦画素補正値を算出するために原基準画像上の複数の画素の画素値を用いる必要がないため、縦画素補正値として、縦画素補正用元座標の画素の画素値がそのまま採用される。例えば、縦画素補正用元座標のY座標が3.0であった場合は、縦画素補正値として、縦画素補正用元座標の画素2102の画素値がそのまま採用される。また、例えば、縦画素補正用元座標のY座標が1.0であった場合は、縦画素補正値として、縦画素補正用元座標の画素2104の画素値がそのまま採用される。
以上のように、縦画素補正処理部110bは、歪み平行化補正をするために参照すべき原基準画像の画素のY座標に基づいて、参照すべき原基準画像の画素の上下に位置する画素の画素値を用いて、ベイヤ配列定義部108bで設定した色の画素値を算出する。なお、ここでは基準画像の縦画素補正値算出方法について具体的に説明したが、縦画素補正処理部110bは、参照画像についても、参照画像用平行化補正情報および原参照画像を用いて同様に縦画素補正値を算出し、縦画素補正参照画像を生成する。
なお、本実施例においては、高速化のため、縦画素補正処理部110bは、フィルタ部103bによるフィルタリング処理の前に画像全体の縦画素補正を行う構成とした。しかし、この構成に限らず、縦画素補正処理部110bは、フィルタ部103bの画像切り出し部201において画像を切り出す前に、毎回対象領域のみを縦画素補正するとしても構わない。
<フィルタ部103b>
フィルタ部103bは、フィルタ部103aと同様のフィルタリング処理を行う。ただし、フィルタ部103aではステレオ画像上(原基準画像および原参照画像)でのサブピクセルレベルの視差を算出したのに対し、フィルタ部103bでは縦画素補正画像上(縦画素補正基準画像および縦画素補正参照画像)でのサブピクセルレベルの視差を算出する。
<フィルタ部103bの構成>
図22は、ステレオ画像処理装置100aに、縦画素補正画像生成部107bを追加した場合の、フィルタ部103bの構成の一例を示すブロック図であり、実施の形態3の図17に対応するものである。図17と同一部分には同一符号を付し、これについての説明を省略する。
フィルタ部103bは、図17に示す構成のうち座標変換部207aに替え、ベイヤ配列調整部208bを有する。
ベイヤ配列調整部208bは、画像マッチング部102から取得した、平行化補正画像上で求められた基準点と対応点のそれぞれのX座標から、縦画素補正基準画像と縦画素補正参照画像のベイヤ配列の並びが一致しているかどうかを判断する。
具体的には、ベイヤ配列調整部208bは、基準点と対応点のX座標が偶数同士、もしくは奇数同士であれば、縦画素補正基準画像と縦画素補正参照画像のベイヤ配列の並びが一致していると判断し、取得した基準点と対応点をそのまま画像切り出し部201へ送る。
基準点と対応点のX座標の一方が偶数でもう一方が奇数の場合は、縦画素補正基準画像と縦画素補正参照画像のベイヤ配列の並びが一致していないため、ベイヤ配列調整部208bは、例えば対応点のX座標を+1する。そして、ベイヤ配列調整部208bは、取得した対応点のX座標を+1した画素を新たな対応点として、取得した基準点とともに画像切り出し部201へ送る。
この際、ベイヤ配列調整部208bは、+1したという情報をピーク位置検出部104に通知し、ピーク位置検出部104において視差を求める際に、ピクセルレベルのずれ量nとサブピクセルレベルのずれ量δ’に加え、ベイヤ配列調整部208bで調整した+1も合わせて加算する。
なお、ここでは対応点のX座標を+1、すなわち、1画素右にずらした場合について説明したが、対応点のX座標を−1、すなわち、1画素左にずらすとしてもよい。その場合、ピーク位置検出部104において視差を求める際には、ピクセルレベルのずれ量nとサブピクセルレベルのずれ量δ’に加え、ベイヤ配列調整部で調整した−1も合わせて加算する。(つまり、ピクセルレベルのずれ量nとサブピクセルレベルのずれ量δ’を加算した値から1減算する。)
以上説明したように、本実施の形態に係るステレオ画像処理装置100bは、縦画素補正画像を用いてサブピクセルレベルの視差を算出する。これにより、ステレオ画像処理装置100bは、より高精度に、視差を算出することができる。
なお、ステレオ画像処理装置100bは、画像マッチング部102への入力前処理として、ベイヤ配列画像をグレースケール画像に変換し、グレースケール画像で対応点を取得し、ベイヤ配列画像を縦補正した縦補正画像を用いてサブピクセルレベルの視差を算出するとしてもよい。
さらに、処理を高速化するために、フィルタ部103bを別の構成としてもよい。処理を高速化するフィルタ部103bの別の構成を、図23に示す。
図23のフィルタ部103cは、図22のフィルタ部103bの別の構成であり、画像再構成部202およびアンチエイリアシング部203による処理結果を、ベイヤ配列調整部208bに出力する構成となっている。
フィルタ部103cは、ある基準点に対し、画像マッチング部102で求めた対応点に基づいて、サブピクセルレベルの視差を算出する。この際、ある基準点のサブピクセルレベルの視差を算出する画素行が、直前のサブピクセルレベルの視差算出処理において、基準点とサブピクセルレベルの視差を算出した画素行と一致している場合、フィルタ部103cは、画像再構成処理およびアンチエイリアシング処理を共通化することができる。
フィルタ部103cに入力される画像は、縦画素補正画像生成部107bにて縦方向に対して補正された画像であるため、画像マッチング部102で使用した平行化補正画像と縦方向の座標が一致している。そのため、基準点が含まれる画素行が一致している間、サブピクセルレベルの視差を算出する画素行も一致しているため、画素行方向(横方向)にサブピクセルレベルの視差を算出していく場合、フィルタ部103cは、1画素行まとめて画像再構成およびアンチエイリアシング処理を行うことができる。画像切り出し部201は、アンチエイリアシング処理後のデータから必要となるデータを切り出して使用することで処理の無駄を省くことができる。これにより、ステレオ画像処理装置100bは、演算量を大幅に削減することができ、より高速かつ高精度に、視差を算出することができる。
(実施の形態4)
本実施例は、ステレオ画像処理装置100において、基準画素データと参照画素データとの相関が高くなる位置(以下、「相関ピーク」という)に合わせた窓掛け処理をより適切に行う方法について記載するものである。
実施の形態2において、窓掛け部204における第2の窓関数を用いた窓掛け処理について説明した。第2の窓関数を用いた窓掛け処理は、基準画素データおよび参照画素データの切り出しにより発生するノイズ成分の低減を目的とするものである。
しかし、第2の窓関数を用いた窓掛け処理において、相関ピークに最大値を有する窓関数を用いた場合、フィルタ部103におけるフィルタリング結果が、より高精度に求まる余地がある。なお、相関ピークに最大値を持つ窓関数を用いた窓掛け処理は、すなわち、相関ピークに合わせた窓掛け処理である。
相関ピークに合わせた窓掛け処理は、相関ピークと窓関数の最大値とが一致するように、係数を計算して窓関数を生成する方法が知られているが、三角関数に基づいて再計算する必要があるため窓掛け処理を行うための演算量が膨大になる。また、想定される複数の相関ピークに合わせた複数の窓関数の係数を、それぞれ静的データとして予め用意しておく方法が知られているが、係数を保持するために必要なメモリサイズが膨大になってしまう。
本発明の実施の形態4は、画像範囲を一次元画素データに再構成する特徴を利用することで、従来の方法よりも、演算量が少なく、使用するメモリが小さい、相関ピークに合わせた窓掛け処理を開示する。
<実施の形態4におけるステレオ画像処理装置100cの構成>
図24は、本実施の形態に係るステレオ画像処理装置100cの構成の一例を示すブロック図である。図24は、実施の形態2の図2に対応するものである。
図24に示すステレオ画像処理装置100cが図2と異なるのは、フィルタ部103の代わりにフィルタ部103dを有し、ピーク位置検出部104の代わりにピーク位置検出部104bを有し、サブピクセル視差概算部107を更に有する点である。なお、図2と同一部分には同一符号を付し、これについての説明を省略する。
<サブピクセル視差概算部107>
サブピクセル視差概算部107は、視差の概算値をサブピクセルレベルで算出する。サブピクセル視差概算部107で算出されるサブピクセルレベルの視差は、少なくとも、データ抽出間隔の逆数以上の精度の概算値で良い。例えば、データ抽出間隔が8の場合、サブピクセルレベルの視差は1/8ピクセルの精度でよい。なお、データ抽出間隔については後述する。
サブピクセル視差概算部107において、サブピクセルレベルの視差の概算値は、例えば「等角直線フィッティング法」や「二次曲線フィッティング法」などを用いることで算出できる。等角直線フィッティング法および二次曲線フィッティング法が出力する視差は、ピーク位置検出部104が出力する視差よりも精度は劣るが、少ない演算量でサブピクセルレベルの視差を計算することができる。以下の説明においては、等角直線フィッティング法を用いた場合のサブピクセル視差概算部107の処理概要を説明する。
サブピクセル視差概算部107は、画像マッチング部102から、基準画像と、参照画像と、基準画像の基準点の座標と、参照画像の対応点の座標とを取得する。所定の基準点に対する対応点の視差がnであるとき、基準点の座標(xa、ya)に対する対応点の座標は(xa+n、ya)である。このとき、基準点に対する対応点のSAD値は、式(1)に示すようにSAD(n)で表される。
また、対応点からx軸方向に1画素だけ左の点、および1画素だけ右の点の座標は、それぞれ(xa+n−1、ya)、および(xa+n+1、ya)であり、基準点に対するこれらの点のSAD値はそれぞれSAD(n−1)、SAD(n+1)である。このとき、サブピクセル視差概算部107は、サブピクセルレベルの視差nsを式(7)のように計算することが出来る。
図25は、視差とSAD値との関係の説明に供する図である。図25において、対応点からx軸方向に1画素だけ左の画素と、対応点と、対応点からx軸方向に1画素だけ右の画素とについて、視差に対するSAD値をプロットした点をa、b、およびcで示している。点a、bを通る直線をL1、L1の傾きをk、点cを通って傾き−kである直線をL2としたとき、L1とL2との交点dにおける視差の値が、基準点におけるサブピクセルレベルの視差nsとなる。
なお、サブピクセルレベルの視差の概算値を求める方法は、等角直線フィッティング法、および二次曲線フィッティング法に限るものではなく、他の手法を用いても良い。
<フィルタ部103dの構成>
図26は、ステレオ画像処理装置100cにおける、フィルタ部103dの構成の一例を示すブロック図である。図26は、実施の形態2の図3に対応する。
図26に示すフィルタ部103dが図3と異なるのは、フィルタ部103dがデータ抽出部208を更に有する点である。図26において、図3と同一部分には同一符号を付し、これについての説明を省略する。
<データ抽出部208>
データ抽出部208は、アンチエイリアシング部203によって折り返しノイズが除去された一次元画素データについて、等間隔のデータ抽出を行う。これにより、以降の窓掛け部204およびフィルタ生成部205で扱うデータ量が削減され、演算量を削減できる。また、その際、データ抽出部208がサブピクセルレベルの視差の概算値に基づいてデータ抽出の開始位置をずらすことにより、相関ピークに合わせた窓掛け処理が可能となる。データ抽出部208によるデータ抽出の結果得られた一次元画素データを、抽出一次元画素データと呼ぶ。
図32は、データ抽出部208の動作の説明に供する図である。以下、図32により、データ抽出部208の動作について説明する。
データ抽出部208は、データ抽出開始位置算出(S1001)と、データ抽出(S1002)と、視差の補正値算出(S1003)とを含む。以下、具体的に説明する。
(動作1:データ抽出開始位置算出)
データ抽出部208は、一次元画素データに対する等間隔のデータ抽出を開始する位置を算出する(S1001)。データ抽出部208は、サブピクセル視差概算部107で求めた、サブピクセルレベルの視差の概算値に基づいて、データ抽出開始位置を算出する。具体的な算出手順を以下に示す。
まず、データ抽出開始位置を算出するために必要な係数であるN、W、およびKを求める。係数Nは、画素行数を2で割った整数値である。例えば、画素行数4の場合、係数Nは2であり、画素行数3の場合、係数Nは1である。また、係数Wは、0.5を画素行数で割った値である。例えば、画素行数2の場合、係数Wは0.25である。また、係数Kは、サブピクセルレベルの視差の概算値の小数点以下の値から0.5を引いた値である。すなわち、−0.5≦K<0.5で表される。そして、これらの係数を、画像範囲の画素行数が奇数の場合は式(8)に代入し、画像範囲の画素行数が偶数の場合は式(9)に代入することで、データ抽出開始位置の差Dが算出される。
図30において、基準画像および参照画像から視差を算出するために切り出した画像範囲の画素行数が2、3、および4の場合における、データ抽出開始位置の差Dを算出する式を示す。
データ抽出開始位置の差Dを使用して、基準画像および参照画像の画像範囲から再構成した一次元画素データにおけるデータ抽出開始位置を変更する。
差Dが正の場合、参照画素データにおけるデータ抽出開始位置を、一次元画素データの左端の画素からDの絶対値だけ右の画素に変更する。差Dが負の場合、基準画素データにおけるデータ抽出開始位置を、一次元画素データの左端の画素からDの絶対値だけ右の画素に変更する。差Dが0の場合、データ抽出開始位置を変更しない。
(動作2:データ抽出)
データ抽出部208における、基準画像および参照画像の画像範囲の一次元画素データに対するデータ抽出について説明する。
データ抽出部208は、データ抽出を行う際のデータ抽出間隔の情報を予め保持する。データ抽出間隔として、ステレオ画像がグレースケール画像の場合は元の画像範囲の画素行数の値、ステレオ画像がカラー画像であり、ベイヤ配列の画像データである場合は、画素行数の倍数の値が設定されるようにしてもよいし、一次元画素データの冗長性を確保してエラー耐性を高める目的で、より小さな値が設定されるようにしてもよい。
データ抽出部208は、データ抽出開始位置およびデータ抽出間隔の値をもとに、基準画像および参照画像の画像範囲の一次元画素データから、等間隔のデータ抽出を行うことで、抽出一次元画素データを得る。
図28は、ステレオ画像がカラー画像であり、ベイヤ配列の画像データである場合の、等間隔のデータ抽出の例を示す。図28Aは、図28Dで示される画素行数2、すなわちユニット行数1、の画像範囲を一次元画素データに再構成した後のデータを示す。図28Bはローパスフィルタによるアンチエイリアシングを行った後のデータを示す。図28Cは先頭から数えて3画素目をデータ抽出の開始位置として4画素毎のデータ抽出を行った後のデータを示す。
また図31において、データ抽出開始位置の差Dをもとにデータ抽出開始位置を変更しながら、一次元画素データに対するデータ抽出処理を行う例を示す。図31はそれぞれ、ステレオ画像がカラー画像であり、ベイヤ配列の画像データである場合において、画像範囲の画素行数が4である際に、データ抽出間隔を取り得る値の最大値である8画素とした場合の、データ抽出結果の例を示している。このとき、例えばサブピクセルレベルの視差の概算値が0.1(K=−0.4)であった場合には、D=−2となり、データ抽出結果は図31における3101となる。
(動作3:視差の補正値算出)
データ抽出部208における、視差の補正値算出について説明する。データ抽出部208において基準画像と参照画像のデータ抽出開始位置の差Dが0でない場合、その差の量に応じて得られる視差の値も変化するため、視差の補正を行うことが必要となる。データ抽出部208ではこの視差の補正値は、基準画素データと参照画素データのデータ抽出開始位置の差を、画素行数によって除算することによって算出する。
例えば、画素行数が4で、基準画素データと参照画素データのデータ抽出開始位置の差が−1の場合、視差の補正値は−0.25となる。
視差の補正は、後段のピーク位置検出部104bにおいてピーク位置検出を行って視差を算出した後に行う。そのためデータ抽出部208で算出したこの補正値は、ピーク位置検出部104bに入力として与えられる。
<窓掛け部204>
本実施の形態における窓掛け部204では、一次元画素データのサイズをデータ抽出間隔で除算することで算出されるサイズの窓関数を予め記憶しておく。そして本実施の形態における窓掛け部204は、データ抽出部208において抽出される抽出一次元画素データを入力として窓掛け処理を行う。その他の処理は、実施の形態1乃至3における窓掛け部204の処理と同様である。
<ピーク位置検出部104b>
ピーク位置検出部104bの処理を説明する。ピーク位置検出部104bでは、ピーク検出部104と同様の処理を行った後に、視差の値を補正する。具体的には、ピーク検出部104と同様の処理によってサブピクセルレベルの視差を求めた後に、基準画素データと参照画素データのデータ抽出開始位置の差に応じた視差の補正値(フィルタ部103dのデータ抽出部208において算出済み)をサブピクセルレベルの視差に足し合わせることにより、視差の値を補正する。
例えば、ピーク検出処理の結果として算出したサブピクセルレベルの視差が15.25であり、視差の補正値が−0.375である場合、補正後の視差の値は14.875となる。ピーク位置検出部104bは、このような視差の補正を実施した後の視差の値を出力する。
(原理の説明1:データ抽出で原理的に精度劣化が無いことの説明)
本実施例において、視差の算出精度を維持したままデータ抽出を行うことが出来る原理について説明する。
アンチエイリアシング部203によって折り返しノイズが除去された一次元画素データは、元の画像範囲における画素行数の間隔でデータ抽出を行っても、サブピクセルレベルの視差算出に必要な、撮像対象の濃淡を表す輝度情報を失わない。
また、ステレオ画像がカラー画像であり、ベイヤ配列の画像データである場合は、アンチエイリアシング部203によって折り返しノイズが除去された一次元画素データに対して元の画像範囲の画素行数の2倍の間隔でデータ抽出を行っても、サブピクセルレベルの視差算出に必要な、撮像対象の濃淡を表す輝度情報を失わない。
例えば、ステレオ画像がカラー画像であって、ベイヤ配列の画像データであり、画像範囲の画素行数が2である場合、画素行数の2倍である4画素毎のデータ抽出を行っても、サブピクセルレベルの視差算出に必要な、撮像対象の濃淡を表す輝度情報を失わない。
一次元画素データは、基準画像または参照画像における画像範囲を再構成して生成されており、画像範囲における縦方向に視差は生じないため、画像範囲の縦方向に生じている濃淡変化は、視差の算出精度に影響が無い。
また、ステレオ画像がカラー画像であり、ベイヤ配列の画像データである場合には、画像範囲における基線長方向に2画素周期で生じている濃淡の変化は、R、G、Bのベイヤ配列によって生じているものであり、撮像対象の濃淡によって生じているものでは無い。画像範囲の基線長方向には例えば、RGRG・・・や、GBGB・・・というように異なる波長の可視光を撮像する素子が交互に配置されており、2画素周期で濃淡の変化が生じている。ベイヤ配列のカラー素子の場合には、モノクロ素子の場合と比較して、基線長方向の解像度が1/2になる。
以上より、一次元画素データにおいては、少なくとも元の画像範囲の画素行数の値を周期とする濃淡の変化は、算出される視差の精度に影響が無く、またベイヤ配列のカラー素子における一次元画素データにおいては、元の画像範囲の画素行数の2倍の画素数を周期とする濃淡の変化は、算出される視差の精度に影響が無い。
このような一次元画素データの性質について、図27を用いて補足する。図27は、画像切り出し部201が、ベイヤ配列の画像データである基準画像または参照画像から、2×8画素の画像範囲300を切り出した例を示している。画像切り出し部201が切り出した2×8画素の画像範囲300は、画像再構成部202によって1×16画素の一次元画素データ301に変換される。図27の2701が画像範囲の縦方向に生じている濃淡変化に相当し、図27の2702がベイヤ配列によって生じている濃淡変化に相当する。この場合、一次元画素データにおける4画素周期の濃淡変化は、算出される視差の算出精度に影響が無い。
算出される視差の精度に影響が無い情報は削除することが出来るため、データ抽出部208において、一次元画素データからサブピクセルレベルの視差算出を行うために必要な、撮像対象の濃淡を表す輝度情報を失わないようにデータ抽出を行うことにより、サブピクセルレベルの視差算出を行うために必要なデータのみを残すことができる。
よって、ステレオ画像処理装置100cは、一次元画素データから抽出された抽出一次元画素データを使用することで、サブピクセルレベルの視差算出の精度を維持したまま、後段の処理における演算量を削減出来る。
(原理の説明2:開始位置を変更することで相関ピークに合う理由の説明)
一次元画素データに対するデータ抽出を行う際に開始位置を変更することで、相関ピークに合わせた窓掛け処理が実現出来る原理について、図29を用いて説明する。
図29では、一次元画素データに対して4画素毎のデータ抽出を行った例を示す。図29の2901は一次元画素データ、図29の2902は1画素目から4画素毎にデータ抽出を行った後の抽出一次元画素データ、図29の2903は4画素目から4画素毎にデータ抽出を行った後の抽出一次元画素データを示す。
図29の2902に示すように、32画素からなる一次元画素データの1画素目から4画素毎にデータ抽出をした場合、抽出一次元画素データのデータサイズは8画素となる。そして図29の2904に示すように、抽出一次元画素データは、一次元画素データにおける13画素目と17画素目を中央に持つ。このとき中央に最大値を持つ8画素の窓関数を適用した場合、一次元画素データに対して中央から左寄りの位置に最大値を持つ窓関数を使用して窓掛けを行うことと同等となる。
また同様に図29の2903に示すように、32画素からなる一次元画素データの4画素目から4画素毎にデータ抽出をした場合、抽出一次元画素データのデータサイズは8画素となる。そして図29の2905に示すように、抽出一次元画素データは、一次元画素データにおける16画素目と20画素目を中央に持つ。このとき中央に最大値を持つ8画素の窓関数を適用した場合、一次元画素データに対して中央から右寄りの位置に最大値を持つ窓関数を使用して窓掛けを行うことと同等となる。
このように、等間隔のデータ抽出を行う際にデータ抽出の開始位置をずらすことで、同じ中央に最大値を持つ窓関数を使用した場合でも、一次元画素データの異なる位置に最大値を持つ窓掛け処理が可能となる。よって、目的とする相関ピークに合わせた窓掛け処理を行える。
以上の通り説明した動作、および原理により、相関ピークに合わせた窓関数を得るための複雑な計算を行うこと無く、また、想定される複数の相関ピークに合わせた複数の窓関数の係数を静的データとして予め用意しておくこと無く、相関ピークに合わせた窓掛け処理を行うことが可能となる。
また、以上説明した各実施の形態におけるステレオ画像処理装置の各機能部は、例えば、集積回路により構成されてもよい。ステレオ画像処理装置の各機能部は、個別に1チップ化されていてもよいし、複数で1チップ化されてもよい。集積回路は、集積度の違いにより、LSI(large scale integration)、IC(integrated circuit)、システムLSI、スーパーLSI、またはウルトラLSI等とすることができる。また、集積回路は、専用回路または汎用プロセッサにより実現されるものであってもよい。また、集積回路は、その製造後にプログラムすることが可能なFPGA(field programmable gate array)や、内部の回路セルの接続や設定を再構成可能なコンフィギュラブル・プロセッサとしてもよい。更には、ステレオ画像処理装置の各機能部は、半導体技術の進歩または派生する別技術に応じて、LSIに置き換わる他の集積回路化の技術(たとえばバイオ技術)により集積化されたものにより実現されてもよい。
2011年6月17日出願の特願2011−135191の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
本発明に係るステレオ画像処理装置およびステレオ画像処理方法は、基線長方向の画像領域サイズが小さい対象物についても高精度に視差を算出することができる、ステレオ画像処理装置およびステレオ画像処理方法として有用である。
100 ステレオ画像処理装置
100a ステレオ画像処理装置
100b ステレオ画像処理装置
100c ステレオ画像処理装置
101 ステレオ画像取得部
102 画像マッチング部
103 フィルタ部
103a フィルタ部
103b フィルタ部
103c フィルタ部
103d フィルタ部
104 ピーク位置検出部
104d ピーク位置検出部
105a 平行化補正情報格納部
106a 平行化補正処理部
107b 縦画素補正画像生成部
108b ベイヤ配列定義部
109b 平行化補正情報取得部
110b 縦画素補正処理部
201 画像切り出し部
202 画像再構成部
203 アンチエイリアシング部
204 窓掛け部
205 フィルタ生成部
207a 座標変換部
208 データ抽出部
208b ベイヤ配列調整部
300 画像範囲
301 一次元画素データ
311 基準点
312 単位基準画像
313 矩形窓
321 切り出し位置
322 単位参照画像
331 基準画像(参照画像)
332 サブピクセル推定用単位基準画像(サブピクセル推定用単位参照画像)
333 基準点(対応点)
334 基準画素データ(参照画素データ)
335 第1の画素行において隣接する画素の間の間隔
341 ナイキスト周波数
342 振幅特性
343 エイリアシング
344 ローパスフィルタ
351 基準画像
352 サブピクセル推定用単位基準画像
353 基準画素データ
354 参照画像
355 参照画素データ
356 参照画素データ
357 第2の窓関数
361 ベイヤ配列画像
362 R画素
363 G画素
364 G画素
365 B画素
366 カラー画素ユニット
367 Rデータ
368 Gデータ
369 Bデータ
401 第1の画素行
402 第2の画素行
403 第3の画素行
2001 縦画素補正対象画素(画素(5))
2002 縦画素補正対象画素(画素(5))の縦画素補正用元座標の画素
2003 縦画素補正対象画素(画素(5))の色
2004 縦画素補正値算出に用いる画素
2005 縦画素補正値算出に用いる画素
2006 縦画素補正対象画素(画素(1))
2007 原基準画像の画素(画素(1))
2101 縦画素補正対象画素(画素(8))
2102 縦画素補正値算出に用いる画素
2103 縦画素補正対象画素(画素(8))の縦画素補正用元座標の画素
2104 縦画素補正値算出に用いる画素

Claims (10)

  1. 基準画像及び参照画像に対して歪み補正及び平行化補正を行い、前記歪み補正及び前記平行化補正された補正基準画像及び補正参照画像を出力する平行化補正処理部と、
    前記補正基準画像と前記補正参照画像とに対して画像マッチング処理することで前補正基準画像の基準点に対する前記補正参照画像の対応点を取得する画像マッチング部と、
    前記基準点及び前記対応点のそれぞれの座標を前記基準画像及び前記参照画像における座標に変換し、前記変換の際に画素行方向に切り上げもしくは切り捨てられた値を出力する座標変換部と、
    複数の画素行及び複数の画素列を有し前座標変換後の基準点を含む第1の二次元画素データを前記基準画像から抽出し、複数の画素行及び複数の画素列を有し前座標変換後の対応点を含む第2の二次元画素データを前記参照画像から抽出する画像切り出し部と、
    所定の再構成ルールに基づいて前記第1の二次元画素データ及び前記第2の二次元画素データのそれぞれを、第1の一次元画素データ及び第2の一次元画素データに再構成する画像再構成部と、
    前記再構成によって生じる折り返しノイズを前記第1の一次元画素データ及び前記第2の一次元画素データから除去するアンチエイリアシング部と、
    前記ノイズが除去された第1の一次元画素データの各画素値の位置を配列方向において反転して得られる逆位相フィルタ係数を算出し、前記ノイズが除去された第2の一次元画素データに対して前記逆位相フィルタ係数を用いてフィルタリング処理するフィルタ生成部と、
    前記フィルタリング処理の結果における相関位置関係に基づいて算出した前記座標変換後の基準点と前記座標変換後の対応点とのずれ量に、前記変換の際に画素行方向において切り上げもしくは切り捨てられた値を加算することにより視差を算出するピーク位置検出部と、
    を備えるステレオ画像処理装置。
  2. 前記所定の再構成ルールは、二次元画素データのうち同一画素行に含まれる任意の画素同士の、再構成前の間隔と再構成後の間隔との比が、二次元画素データに含まれる全ての画素同士について同一になるように、二次元画素データを一次元画素データに再構成するルールである、
    請求項1に記載のステレオ画像処理装置。
  3. 前記所定の再構成ルールは、前記画素行の方向における画素の間隔が元の間隔以上になるように、前記1次元画素データを生成する内容である、
    請求項1に記載のステレオ画像処理装置。
  4. 前記第1の二次元画素データと、前記第2の二次元画素データとは、同一の画素データ数を含む、
    請求項1に記載のステレオ画像処理装置。
  5. 前記ノイズが除去された第1の一次元画素データ及び第2の一次元画素データに対して、窓の両端における変化が連続的である窓関数を用いて窓掛けを行う窓掛け部を、更に有し、
    前記窓関数の窓長は、前記座標変換後の基準点の基準画像上の位置と前記座標変換後の対応点の前記参照画像上の位置のずれ量に応じて設定され、
    前記フィルタ生成部は、前記窓掛けされた第1の一次元画素データの各画素値の位置を配列方向において反転させて得られる逆位相フィルタ係数を算出し、前記窓掛けされた第2の一次元画素データに対して、前記逆位相フィルタ係数を用いてフィルタリング処理を行う、
    請求項に記載のステレオ画像処理装置。
  6. 前記基準画像及び前記参照画像に対して、縦方向にのみ歪み補正および平行化補正を行い、前記基準画像に対して縦方向にのみ歪み補正および平行化補正した画像である縦画素補正基準画像と、前記参照画像に対して縦方向にのみ歪み補正および平行化補正した画像である縦画素補正参照画像とを、前記画像切り出し部へ出力する縦画素補正画像生成部を、更に有し、
    前記座標変換部は、前記基準点及び前記画像マッチング部から取得した前記対応点のそれぞれの座標を前記縦画素補正基準画像および前記縦画素補正参照画像上での座標に変換し、
    前記画像切り出し部は、前記縦画素補正基準画像および前記縦画素補正参照画像から画像範囲を切り出し、
    前記フィルタ生成部は、前記縦画素補正基準画像から生成され、折り返しノイズが除去された1次元画素データである基準画素データの各画素値の位置を配列方向において反転させて得られる逆位相フィルタ係数を算出し、前記縦画素補正参照画像から生成され、折り返しノイズが除去された1次元画素データである参照画素データ対して、前記逆位相フィルタ係数を用いてフィルタリング処理を行い、
    前記ピーク位置検出部は、前記フィルタリング処理の結果における相位置関係に基づいて算出した、前記座標変換部の変換によって得られた前記縦画素補正基準画像上の基準点と前記縦画素補正参照画像上の対応点との視差を算出する、
    請求項に記載のステレオ画像処理装置。
  7. サブピクセルレベルの視差概算値を算出するサブピクセル視差概算部と、
    前記サブピクセルレベルの視差概算値に基づいてデータ抽出開始位置を求め、前記次元画素データに対して前記データ抽出開始位置に基づいたデータ抽出を行うことで抽出次元画素データを得るデータ抽出部を更に有し、
    前記窓掛け部は、前記抽出次元画素データに対して窓掛けを行い、
    前記ピーク位置検出部は、前記データ抽出開始位置に基づいて、算出する視差を補正する、
    請求項に記載のステレオ画像処理装置。
  8. 前記ステレオ画像はベイヤ配列画像であり、
    前記画像切り出し部は、単数もしくは複数の画素行と複数の画素列から成る二次元画素データを抽出し、
    前記再構成ルールは、R画素値、G画素値、およびB画素値の少なくとも1つを画像範囲から抽出することにより一次元画素データを生成する内容である、
    請求項1に記載のステレオ画像処理装置。
  9. 前記ステレオ画像はベイヤ配列画像であり、
    縦画素補正基準画像と縦画素補正参照画像のベイヤ配列の並びが一致していない場合、並びが一致するよう前記マッチング部が算出した前記対応点の位置をずらすベイヤ配列調整部を更に有し、
    前記再構成ルールは、R画素値、G画素値、およびB画素値の少なくとも1つを前記画像範囲から抽出することにより一次元画素データを生成する内容である、
    請求項に記載のステレオ画像処理装置。
  10. 基準画像及び参照画像に対して歪み補正及び平行化補正を行い、前記歪み補正及び前記平行化補正された補正基準画像及び補正参照画像を出力する平行化補正処理ステップと、
    前記補正基準画像と前記補正参照画像とに対して画像マッチング処理することで前記補正基準画像の基準点に対する前記補正参照画像の対応点を取得する画像マッチングステップと、
    前記基準点及び前記対応点のそれぞれの座標を前記基準画像及び前記参照画像における座標に変換し、前記変換の際に画素行方向に切り上げもしくは切り捨てられた値を出力する座標変換ステップと、
    複数の画素行及び複数の画素列を有し前座標変換後の基準点を含む第1の二次元画素データを前記基準画像から抽出し、複数の画素行及び複数の画素列を有し前座標変換後の対応点を含む第2の二次元画素データを前記参照画像から抽出する画像切り出しステップと、
    所定の再構成ルールに基づいて前記第1の二次元画素データ及び前記第2の二次元画素データのそれぞれを、第1の一次元画素データ及び第2の一次元画素データに再構成する画像再構成ステップと、
    前記再構成によって生じる折り返しノイズを前記第1の一次元画素データ及び前記第2の一次元画素データから除去するアンチエイリアシングステップと、
    前記ノイズが除去された第1の一次元画素データの各画素値の位置を配列方向において反転して得られる逆位相フィルタ係数を算出し、前記ノイズが除去された第2の一次元画素データに対して前記逆位相フィルタ係数を用いてフィルタリング処理するフィルタ生成ステップと、
    前記フィルタリング処理の結果における相関位置関係に基づいて算出した前記座標変換後の基準点と前記座標変換後の対応点とのずれ量に、前記変換の際に画素行方向において切り上げもしくは切り捨てられた値を加算することにより視差を算出するピーク位置検出ステップと、
    を有するステレオ画像処理方法。
JP2013520425A 2011-06-17 2012-06-08 ステレオ画像処理装置およびステレオ画像処理方法 Expired - Fee Related JP5942203B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011135191 2011-06-17
JP2011135191 2011-06-17
PCT/JP2012/003746 WO2012172761A1 (ja) 2011-06-17 2012-06-08 ステレオ画像処理装置およびステレオ画像処理方法

Publications (2)

Publication Number Publication Date
JPWO2012172761A1 JPWO2012172761A1 (ja) 2015-02-23
JP5942203B2 true JP5942203B2 (ja) 2016-06-29

Family

ID=47356769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013520425A Expired - Fee Related JP5942203B2 (ja) 2011-06-17 2012-06-08 ステレオ画像処理装置およびステレオ画像処理方法

Country Status (4)

Country Link
US (1) US9275463B2 (ja)
EP (1) EP2711891B1 (ja)
JP (1) JP5942203B2 (ja)
WO (1) WO2012172761A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6241083B2 (ja) * 2013-06-10 2017-12-06 株式会社リコー 撮像装置及び視差検出方法
CN103700099B (zh) * 2013-12-18 2017-05-17 同济大学 一种旋转和尺度不变的宽基线立体匹配方法
DE102014112648A1 (de) * 2014-08-29 2016-03-03 Carl Zeiss Ag Bildaufnahmevorrichtung und Verfahren zur Bildaufnahme
CN104331872B (zh) * 2014-11-26 2017-06-30 中测新图(北京)遥感技术有限责任公司 图像拼接方法
CN104574277A (zh) * 2015-01-30 2015-04-29 京东方科技集团股份有限公司 图像插值方法和图像插值装置
CN104820987B (zh) * 2015-04-30 2017-11-17 中国电子科技集团公司第四十一研究所 一种基于光学图像及微波图像检测目标散射性能缺陷的方法
JP6321202B2 (ja) * 2015-07-14 2018-05-09 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd モバイルプラットフォームの運動を決定する方法、装置、及びシステム
US9779328B2 (en) * 2015-08-28 2017-10-03 Intel Corporation Range image generation
EP3433577B1 (de) 2016-03-22 2020-08-12 Fraunhofer Gesellschaft zur Förderung der Angewand Vorrichtung und verfahren zum verknüpfen von messsignalen aus beleuchtungssignalen
JP6585006B2 (ja) * 2016-06-07 2019-10-02 株式会社東芝 撮影装置および車両
DE102016119857B4 (de) 2016-10-18 2019-01-31 Julius Mayerhofer Werkzeugcontainer und Verfahren zur Herstellung eines Werkzeugcontainers
JP6636963B2 (ja) * 2017-01-13 2020-01-29 株式会社東芝 画像処理装置及び画像処理方法
US11272163B2 (en) * 2017-02-07 2022-03-08 Sony Corporation Image processing apparatus and image processing method
CN106991645B (zh) * 2017-03-22 2018-09-28 腾讯科技(深圳)有限公司 图像拼接方法及装置
US10267281B2 (en) * 2017-04-10 2019-04-23 Caterpillar Inc. Filter for fuel injection systems
JP7253323B2 (ja) * 2018-02-14 2023-04-06 オムロン株式会社 3次元計測システム及び3次元計測方法
JP7005458B2 (ja) 2018-09-12 2022-01-21 株式会社東芝 画像処理装置、及び、画像処理プログラム、並びに、運転支援システム
US11350063B2 (en) 2020-04-14 2022-05-31 Apple Inc. Circuit for correcting lateral chromatic abberation
US11763421B2 (en) 2021-01-07 2023-09-19 Apple Inc. Circuit for combined down sampling and correction of image data

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000171214A (ja) * 1998-12-08 2000-06-23 Meidensha Corp 対応点検索方法及びこれを利用した三次元位置計測方法
JP3713156B2 (ja) * 1999-01-06 2005-11-02 株式会社三協精機製作所 テンプレートの作成方法
JP3261115B2 (ja) * 1999-09-22 2002-02-25 富士重工業株式会社 ステレオ画像処理装置
US7224357B2 (en) 2000-05-03 2007-05-29 University Of Southern California Three-dimensional modeling based on photographic images
US7317819B2 (en) * 2002-08-28 2008-01-08 Imaging3, Inc. Apparatus and method for three-dimensional imaging
US7576332B2 (en) * 2003-08-01 2009-08-18 St. George's Healthcare Nhs Trust Imaging system
US7697749B2 (en) * 2004-08-09 2010-04-13 Fuji Jukogyo Kabushiki Kaisha Stereo image processing device
US8085388B2 (en) * 2005-02-01 2011-12-27 Laser Projection Technologies, Inc. Laser radar projection with object feature detection and ranging
US7835785B2 (en) * 2005-10-04 2010-11-16 Ascension Technology Corporation DC magnetic-based position and orientation monitoring system for tracking medical instruments
JP4382797B2 (ja) * 2006-11-09 2009-12-16 株式会社山武 対応点探索方法および3次元位置計測方法
JP4872836B2 (ja) * 2007-07-06 2012-02-08 コニカミノルタホールディングス株式会社 情報処理システム
JP4937933B2 (ja) * 2008-01-18 2012-05-23 富士重工業株式会社 車外監視装置
WO2009101798A1 (ja) * 2008-02-12 2009-08-20 Panasonic Corporation 複眼撮像装置、測距装置、視差算出方法及び測距方法
EP2416293A4 (en) * 2009-03-31 2017-02-01 Panasonic Intellectual Property Management Co., Ltd. Stereo image processor and stereo image processing method
JP5409107B2 (ja) 2009-05-13 2014-02-05 任天堂株式会社 表示制御プログラム、情報処理装置、表示制御方法、および情報処理システム
JP2011135191A (ja) 2009-12-22 2011-07-07 Canon Inc 撮像装置及び画像処理装置
CA2714235C (en) * 2010-04-27 2014-01-07 Centre De Recherche Industrielle Du Quebec Method and system for stabilizing dry-based density of wood chips to be fed to a chip refining process

Also Published As

Publication number Publication date
JPWO2012172761A1 (ja) 2015-02-23
US20150036917A1 (en) 2015-02-05
EP2711891A1 (en) 2014-03-26
EP2711891A4 (en) 2014-11-26
US9275463B2 (en) 2016-03-01
EP2711891B1 (en) 2016-03-23
WO2012172761A1 (ja) 2012-12-20

Similar Documents

Publication Publication Date Title
JP5942203B2 (ja) ステレオ画像処理装置およびステレオ画像処理方法
JP6258209B2 (ja) ステレオ画像処理装置およびステレオ画像処理方法
CN108352074B (zh) 光学流估计的图像处理系统和方法
JP5810314B2 (ja) ステレオ画像処理装置およびステレオ画像処理方法
US10007972B2 (en) Image processing apparatus and method for performing preprocessing to obtain image with improved sharpness
JP5874039B2 (ja) ステレオ画像処理装置及びステレオ画像処理方法
JP6843212B2 (ja) ホモグラフィの修正
US11688039B2 (en) Method for generating a super-resolution image and related device
JP5891415B2 (ja) ステレオ画像処理装置
KR20130112311A (ko) 고밀도 삼차원 영상 재구성 장치 및 방법
JP6462372B2 (ja) 超解像装置及びプログラム
WO2020139493A1 (en) Systems and methods for converting non-bayer pattern color filter array image data
JP2016213578A (ja) 画像処理装置、撮像装置、画像処理方法、プログラム
Yoo et al. 3D image reconstruction from multi-focus microscope: axial super-resolution and multiple-frame processing
JP2020140497A (ja) 演算装置、視差算出方法
CN111951159B (zh) 一种强噪声条件下光场epi图像超分辨率的处理方法
JP6378531B2 (ja) 超解像装置及びプログラム
US9432576B2 (en) Method and apparatus for fusing images from an array of cameras
WO2022059335A1 (ja) 三次元モデル生成方法及び三次元モデル生成装置
JP4423536B2 (ja) 信号処理装置および信号処理方法、並びにプログラムおよび記録媒体
KR101532686B1 (ko) 경계 적응적 필터를 이용한 영상 처리 장치 및 그 방법
JP6363878B2 (ja) 超解像画像最適化装置及びプログラム
JP2015082242A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2009088893A (ja) 表示装置及び表示プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160304

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160426

R151 Written notification of patent or utility model registration

Ref document number: 5942203

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

SZ03 Written request for cancellation of trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z03

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees