【文献】
上瀧剛, 外1名,“サーベイ論文:サブピクセル物体検出”,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2013年12月 5日,第113巻, 第346号,p.33-42
【文献】
Stefan K. Gehring, 外1名,"Improving Stereo Sub-Pixel Accuracy for Long Range Stereo",2007 IEEE 11th International Conference on Computer Vision,米国,2007年10月14日
(58)【調査した分野】(Int.Cl.,DB名)
デバイス(100)において実行される、パラメトリック関数(404)を用いてノイズが存在する画像(400)内の極値点のサブピクセル位置を推定する方法であって、前記画像(400)内の前記極値点が、極大点または極小点のいずれかのタイプであり、前記方法が、
a)前記画像(400)内の近傍ピクセルのグループ(402)を選択すること(S02)であって、前記近傍ピクセルのグループ(402)内のピクセル数が、前記パラメトリック関数(404)を定義するパラメータ数よりも大きい、近傍ピクセルのグループ(402)を選択すること(S02)と、
b)前記近傍ピクセルのグループ(402)のピクセル値(403)に前記パラメトリック関数(404)を適合すること(S04)であって、前記パラメトリック関数(404)が、前記近傍ピクセルのグループ(402)の前記ピクセル値(403)を空間位置の関数として近似する、前記パラメトリック関数(404)を適合すること(S04)と、
c)前記パラメトリック関数(404)の極値点(406)の空間位置(405b、405d)を識別すること(S06)であって、前記パラメトリック関数(404)の前記極値点(406)が、極大点、極小点、または鞍点であるタイプである、極値点(406)の空間位置(405b、405d)を識別すること(S06)と、
d)前記パラメトリック関数(404)の前記極値点(406)が、前記画像(400)内の前記極値点と同一タイプであるか、あるいは異なるタイプであるか、および前記パラメトリック関数(404)の前記極値点の前記位置(405b、405d)が、前記画像(400)内の前記近傍ピクセルのグループ(402)のピクセル位置によって定義される領域(407)内に位置するか、あるいは領域(407)外に位置するかをチェックすること(S08a、S08b)、ならびに、
前記パラメトリック関数(404)の前記極値点(406)が前記画像(400)内の前記極値点とは異なるタイプであるか、または前記パラメトリック関数(404)の前記極値点(406)の前記位置(405b、405d)が前記領域(407)外に位置する場合に、
前記近傍ピクセルのグループ(402)から、外れ値を有するピクセルを除去すること(S08c)、ならびに、
前記近傍ピクセルのグループ(402)内の前記ピクセル数が、前記パラメトリック関数(404)を定義する前記パラメータ数よりも依然として大きいか、または等しい場合、ステップb)、c)、およびd)を繰り返すことと、
e)前記画像(400)内の前記極値点の前記サブピクセル位置を、前記パラメトリック関数(404)の前記極値点(406)の前記空間位置(405d)として推定すること(S10)と、
f)前記推定されたサブピクセル位置を、ステップb)、c)、およびd)の反復数に対応する不確実性レベルに関連付けること(S12)と、
を含む、方法。
前記画像(400)内の前記極値点が極大点である場合に、前記近傍ピクセルのグループ(402)が、前記画像(400)内の各近傍ピクセルのピクセル値よりも大きいピクセル値(403a)を有する前記画像(400)内のピクセル(402a)を含むように選択され、
前記画像(400)内の前記極値点が極小点である場合に、前記近傍ピクセルのグループ(402)が、前記画像内の各近傍ピクセルのピクセル値よりも小さいピクセル値を有する前記画像(400)内のピクセルを含むように選択される、請求項1に記載の方法。
ステップb)が、前記パラメトリック関数(404)を定義するパラメータを見つけるために方程式系を解くことを伴い、前記方程式系を解くことが、前記パラメトリック関数(404)を定義する前記パラメータを見つけるために、前記近傍ピクセルのグループ(402)のピクセル値(403)の線形結合を形成することを含み、前記線形結合の係数が前記デバイス(100)に予め記憶される、請求項1または2に記載の方法。
前記推定されたサブピクセル位置を処理することをさらに含み、前記推定されたサブピクセル位置に関連付けられた前記不確実性レベルが、前記処理の間、前記推定されたサブピクセル位置に加重するために使用され、より高い不確実性レベルは、より低い不確実性レベルよりも低い重みに対応する、請求項1から3のいずれか一項に記載の方法。
前記画像内の前記極値点の前記推定されたサブピクセル位置が、第1の画像(203)内の前記ピクセル(502a、502b、502c、502d)に最も合致する、第2の画像(205)内のサブピクセル位置(504a、504b、504c、504d)に対応するように、前記画像(400)が、画像のステレオペアの前記第1の画像(203)内のピクセルの近傍のピクセル値を、前記画像のステレオペアの前記第2の画像(205)内のピクセル値とマッチングすることによって生成される相関マップ(207)に対応する、請求項1から4のいずれか一項に記載の方法。
前記画像のステレオペアの前記第1の画像(203)内の前記複数のピクセル(502a、502b、502c、502d)に対応する前記推定されたサブピクセル位置(504a、504b、504c、504d)を処理することをさらに含み、前記推定されたサブピクセル位置(504a、504b、504c、504d)に関連付けられた前記不確実性レベルが、前記処理の間に重みとして使用され、より高い不確実性レベルに関連付けられたサブピクセル位置から計算される数量は、より低い不確実性レベルに関連付けられたサブピクセル位置から計算される数量よりも低い重みを与えられる、請求項6に記載の方法。
サブピクセル位置(504a、504b、504c、504d)から計算される前記数量が、前記サブピクセル位置(504a、504b、504c、504d)と前記第1の画像内の対応するピクセル(502a、502b、502c、502d)の位置との間の差として計算される、不均衡値を含む、請求項7に記載の方法。
サブピクセル位置(504a、504b、504c、504d)から計算される前記数量が、前記サブピクセル位置(504a、504b、504c、504d)および前記第1の画像内の対応するピクセル(502a、502b、502c、502d)の位置に基づいて計算される、深度値を含み、前記深度値が、前記第1の画像内の前記ピクセルによって描かれる場面内の物体までの距離に対応する、請求項7または8に記載の方法。
前記処理することが、前記画像のステレオペアの前記第1の画像内の前記複数のピクセル(502a、502b、502c、502d)に対応する深度値の加重平均を計算することをさらに含み、より高い不確実性レベルを有するサブピクセル位置(504a、504b、504c、504d)から計算される深度値に、より低い不確実性レベルを有するサブピクセル位置(504a、504b、504c、504d)から計算される深度値よりも低い重みが与えられる、請求項9に記載の方法。
サブピクセル位置(504a、504b、504c、504d)から計算される前記数量が、3次元空間内の点(506a、506b、506c、506d)を含み、3次元空間内の前記点(506a、506b、506c、506d)が、前記サブピクセル位置(504a、504b、504c、504d)および前記第1の画像内の対応するピクセル(502a、502b、502c、502d)の位置に基づいて計算される、請求項8から10のいずれか一項に記載の方法。
パラメトリック関数(404)を用いてノイズが存在する画像(400)内の極値点のサブピクセル位置を推定するデバイス(100)であって、前記画像(400)内の前記極値点が、極大点または極小点のいずれかのタイプであり、前記デバイス(100)が、
a)前記画像(400)内の近傍ピクセルのグループ(402)を選択し、前記近傍ピクセルのグループ(402)内のピクセル数が、前記パラメトリック関数(404)を定義するパラメータ数よりも大きく、
b)前記近傍ピクセルのグループ(402)のピクセル値(403)に前記パラメトリック関数(404)を適合し、
c)前記パラメトリック関数(404)の極値点(406)の位置(405b、405d)を識別し、前記パラメトリック関数(404)の前記極値点が、極大点、極小点、または鞍点であるタイプであり、
d)前記パラメトリック関数(404)の前記極値点(406)が、前記画像(400)内の前記極値点と同一タイプであるか、あるいは異なるタイプであるか、および前記パラメトリック関数(404)の前記極値点の前記位置(405b、405d)が、前記画像(400)内の前記近傍ピクセルのグループ(402)のピクセル位置によって定義される領域(407)内に位置するか、あるいは領域(407)外に位置するかをチェックし、ならびに、
前記パラメトリック関数の前記極値点(406)が、前記画像(400)内の前記極値点とは異なるタイプであるか、または前記パラメトリック関数(404)の前記極値点(406)の前記位置(405b、405d)が、前記領域(407)外に位置する場合に、
前記近傍ピクセルのグループ(402)から、外れ値を有するピクセルを除去し、
前記近傍ピクセルのグループ(402)内の前記ピクセル数が、前記パラメトリック関数(404)を定義する前記パラメータ数よりも依然として大きいか、または等しい場合、ステップb)、c)、およびd)を繰り返し、
e)前記画像(400)内の前記極値点の前記サブピクセル位置を、前記パラメトリック関数(404)の前記極値点(406)の前記位置(405d)として推定し、
f)前記推定されたサブピクセル位置を、ステップb)、c)、およびd)の反復数に対応する不確実性レベルに関連付けるように構成される、プロセッサ(102)を備える、デバイス(100)。
【発明の概要】
【0004】
上記の点から、本発明の目的は、画像内の極大点または極小点のサブピクセル位置の改善された推定を提供することである。
【0005】
第1の態様によれば、上記目的は、デバイスにおいて実行される、パラメトリック関数を用いてノイズが存在する画像内の極値点のサブピクセル位置を推定する方法であって、画像内の極値点が、極大点または極小点のいずれかのタイプであり、方法が、
a)画像内の近傍ピクセルのグループを選択することであって、近傍ピクセルのグループ内のピクセル数が、パラメトリック関数を定義するパラメータ数よりも大きい、近傍ピクセルのグループを選択することと、
b)近傍ピクセルのグループのピクセル値にパラメトリック関数を適合することであって、パラメトリック関数が、近傍ピクセルのグループのピクセル値を空間位置の関数として近似する、パラメトリック関数を適合することと、
c)パラメトリック関数の極値点の空間位置を識別することであって、パラメトリック関数の極値点が、極大点、極小点、または鞍点であるタイプである、極値点の空間位置を識別することと、
d)パラメトリック関数の極値点が、画像内の極値点と同一タイプであるか、あるいは異なるタイプであるか、およびパラメトリック関数の極値点の位置が、画像内の近傍ピクセルのグループのピクセル位置によって定義される領域内に位置するか、あるいは領域外に位置するかをチェックすること、ならびに、
パラメトリック関数の極値点が画像内の極値点とは異なるタイプであるか、またはパラメトリック関数の極値点の位置が前記領域外に位置する場合に、
近傍ピクセルのグループからピクセルを除去すること、ならびに、
近傍ピクセルのグループ内のピクセル数が、パラメトリック関数を定義するパラメータ数よりも依然として大きいか、または等しい場合、ステップb)、c)、およびd)を繰り返すことと、
e)画像内の極値点のサブピクセル位置を、パラメトリック関数の極値点の空間位置として推定することと、
f)推定されたサブピクセル位置を、ステップb)、c)、およびd)の反復数に対応する不確実性レベルに関連付けることと、を含む、方法によって達成される。
【0006】
この方法によれば、パラメトリック関数は、したがって、画像の近傍ピクセルのグループのピクセル値に局所的に適合され、パラメトリック関数の極値点が識別される。しかしながら、識別されたパラメトリック関数の極値点の空間位置を、画像内の極値点のサブピクセル位置の推定として受け入れる前に、2つのチェックが行われる。
【0007】
第1のチェックにおいて、識別されたパラメトリック関数の極値点が、我々が求めている画像内の極値点と同一タイプであるか、あるいは異なるタイプであるかがチェックされる。例えば、我々が画像内の極大点のサブピクセル位置を求めている場合、識別されたパラメトリック関数の極値点が極大点であるか否かがチェックされる。同様に、我々が画像内の極小点のサブピクセル位置を求めている場合、識別されたパラメトリック関数の極値点が極小点であるか否かがチェックされる。この第1のチェックを行う理由は、画像内のノイズが外れピクセル値を引き起こし得るということである。外れピクセル値は結果として、パラメトリック関数の不十分な適合をもたらし得る。その結果、方法が極大点を探しているにも関わらず、結果はパラメトリック関数が極小点を有するということである場合があり、その逆もまた同様である。
【0008】
第2のチェックにおいて、識別されたパラメトリック関数の極値点が、画像内の近傍ピクセルのグループのピクセル位置によって定義される領域内に位置するか、あるいは領域外に位置するかがチェックされる。この場合も、外れピクセル値がパラメトリック関数の不十分な適合をもたらすことがあり、識別される極値点は、方法が極大点または極小点を探す局所的近傍の外側となる。
【0009】
識別されるパラメトリック関数の極値点が、画像内の極値点とは異なるタイプである場合、または識別されるパラメトリック関数の極値点が、近傍ピクセルのグループによって定義される領域外に位置する場合、第1の、および第2のチェックのうちのいずれかが失敗となる。そうなる場合、方法は、続けて近傍ピクセルのグループからピクセルを除去し、パラメトリック関数を近傍ピクセルのグループのピクセル値に適合することで再開する。これは、両方のチェックを通過するまで、または近傍ピクセルのグループ内に残されたピクセル値が、パラメトリック関数が適合されるのを可能にするには十分でなくなるまで、繰り返される。したがって、方法は、許容できる適合が得られるまで、潜在的な外れピクセル値を反復して除去することを可能にする。このようにして、方法は、画像内のノイズに対してより堅牢となる。
【0010】
必要な反復数は、典型的には、画像内のノイズレベルに関連し、画像にノイズが多ければ多いほど、典型的には、許容できる適合を達成するためにより多くの反復が必要とされる。さらに、パラメトリック関数の適合は、反復毎により少ないピクセル値に基づくこととなる。その結果、推定されるサブピクセル位置の不確実性レベルが、反復数とともに増加する傾向にある。したがって、方法は、推定されたサブピクセル位置の不確実性レベルの尺度として、すなわち、推定がどのくらい信頼できるかの尺度として、反復数を使用するように提案している。
【0011】
画像とは、概して、任意の種類の空間的に編成された信号値を意味する。画像は、可視光画像、赤外線画像、または熱画像などの、センサによってキャプチャされた画像であってもよい。しかしながら、画像は、より一般的には、2次元グリッド上に提供される任意の測定された、または計算された信号値であってもよい。これらの信号値は、空間的に相関するなど、空間的に関連してもよい。
【0012】
画像は、ピクセルを含む。各ピクセルは、2次元グリッド上のピクセル位置に対応して、ある位置に関連付けられる。各ピクセルは、ピクセルの信号値に対応して、あるピクセル値にさらに関連付けられる。
【0013】
したがって、ピクセル位置は、2次元グリッドに配置される個別の位置を定義する。これらの個別の位置に制限されない2次元空間内の空間位置は、本明細書ではサブピクセル位置と呼ばれる。
【0014】
画像内の極値点とは、典型的には、画像内の極大点または極小点を意味する。極大点は、極大値であり得る。極小点は、極小値であり得る。
【0015】
パラメトリック関数の極値点とは、典型的には、パラメトリック関数の停留点、すなわち、パラメトリック関数の全ての偏導関数(または、等価的には勾配)がゼロである点を意味する。パラメトリック関数の極値点は、極大点、極小点、または鞍点であってもよい。
【0016】
推定の不確実性レベルとは、概して、推定がどのくらい信頼できるかの尺度を意味する。低い不確実性レベルは、高い不確実性レベルよりも信頼できる推定を示す。不確実性レベルは、推定の分散も示している。高い不確実性レベルは、低い不確実性レベルよりも高い分散を示している。
【0017】
近傍ピクセルのグループは、画像のピクセル値に基づいて選択されてもよい。例えば、ピクセル値が極大値(極値点のタイプが極大点の場合)または極小値(極値点のタイプが極小点の場合)の存在を示す、画像内の領域が識別され得る。近傍ピクセルのグループは、そのような領域を含むように選択されてもよい。このやり方では、極値点の位置の大まかな推定が、まず画像のピクセル値を用いて行われる。上述の方法は、次いで、推定された極値点の位置をサブピクセル精度まで微調整するために使用され得る。その近傍ピクセルのそれぞれのピクセル値よりも大きいピクセル値を有する画像内のピクセルは、極大値の存在を示している。同様に、その近傍ピクセルのそれぞれのピクセル値よりも小さいピクセル値を有する画像内のピクセルは、極小値の存在を示している。したがって、画像内の極値点が極大点である場合、近傍ピクセルのグループは、画像内の各近傍ピクセルのピクセル値よりも大きいピクセル値を有する画像内のピクセルを含むように選択され得る。また、画像内の極値点が、極小点である場合、近傍ピクセルのグループは、画像内の各近傍ピクセルのピクセル値よりも小さいピクセル値を有する画像内のピクセルを含むように選択される。近傍ピクセルのグループは、最大ピクセル値(極大点が求められる場合)を有するピクセル、または最小ピクセル値(極小点が求められる場合)を有するピクセルが中心となるように選択されてもよい。例えば、近傍ピクセルのグループは、最大ピクセル値(極大点が求められる場合)を有するピクセル、または最小ピクセル値(極小点が求められる場合)を有するピクセルを中心とする近傍の3×3のピクセルを含み得る。
【0018】
パラメトリック関数は、2次元2次関数であってもよい。そのような関数は、以下のパラメトリック形式で書かれ得る。
f(x,y)=Ax
2+By
2+Cxy+Dx+Ey+F
2次元2次関数は、6個のパラメータによって記述される。したがって、パラメトリック関数は、近傍ピクセルのグループ内に少なくとも6個のピクセルが存在する限り、近傍ピクセルのグループのピクセル値に適合され得る。このパラメトリック関数は、閉形式の式を用いて近傍ピクセルのグループのピクセル値に適合され得るということにおいて有利である。したがって、それは計算上効率的な選択である。しかしながら、他のパラメトリック関数が、その利点をなおも達成しつつ使用されてもよいと理解されるべきである。
【0019】
パラメトリック関数は、最小二乗法を用いて近傍ピクセルのグループのピクセル値に適合されてもよい。これは、近傍ピクセルのグループのピクセル値と近傍ピクセルのグループのピクセルの位置において評価されたパラメトリック関数との間の二乗された差の合計を最小化することを含む。近傍ピクセルのグループ内のピクセル数が、パラメトリック関数内のパラメータ数を超えるときであっても、これは、近傍ピクセルのグループのピクセル値にパラメトリック関数を適合するのに計算上効率的な手法である。
【0020】
近傍ピクセルのグループのピクセル値に対するパラメトリック関数の適合は、方程式系を解いてパラメトリック関数を定義するパラメータを見つけることを伴い得る。方程式系は、グループ内のピクセル毎に、ピクセルの値をピクセルの位置において評価されたパラメトリック関数の値と等しくすることによって定義され得る。系の解は、例えば、前述した最小二乗法を用いることによって見つけられ得る。方程式系を解くことは、近傍ピクセルのグループのピクセル値の線形結合を形成して、パラメトリック関数を定義するパラメータを見つけることを含み得る。方法を計算上効率的にするために、線形結合の係数が、デバイスに予め記憶されていてもよい。このやり方では、係数は、事前に評価され、方法が実行される度に評価される必要はない。
【0021】
上記で説明したように、方法は、許容できるパラメトリック関数の適合が達成されるまで、近傍ピクセルのグループからピクセルを反復的に除去する。特に、外れ値と考えられ得るピクセルが除去され得る。このやり方では、適合に対するノイズの影響が、低減され得る。これは、異なる方法で行われてもよい。例えば、ステップd)において、近傍ピクセルのグループのピクセル値から形成される平均から最も逸脱するピクセル値を有するピクセルが、除去されてもよい。平均は、いくつかの場合において、近傍ピクセルのグループの中心ピクセルのピクセル値を省くことによって計算されてもよい。これは、中心ピクセルが、典型的には、最大(極大点の場合)、または最小(極小点の場合)ピクセル値を有するピクセルとして選ばれているという事実に基づいている。このやり方では、平均は、中心ピクセルを囲むピクセルの平均を反映する。
【0022】
提案される方法は、サブピクセル位置の推定だけでなく、推定の不確実性レベルも提供する。不確実性レベルは、ステップd)において定義される2つのチェックを通過するために必要な反復数に関して与えられる。不確実性レベルは、推定がどのくらい信頼できるかを反映し、信頼性は、不確実性レベルが低下するとともに上昇する。したがって、不確実性レベルは、サブピクセル位置の推定がどのくらい信頼できるかの尺度である。不確実性レベルの知識は、推定されたサブピクセル位置のさらなる処理において用いられ得る。より具体的には、方法は、推定されたサブピクセル位置を処理することをさらに含み、推定されたサブピクセル位置に関連付けられた不確実性レベルが、処理の間、推定されたサブピクセル位置、または推定されたサブピクセル位置から計算される数量に加重するために使用され、高い不確実性レベルが、低い不確実性レベルよりも低い重みに対応する。このやり方では、推定されたサブピクセル位置、または推定されたサブピクセル位置から計算される数量が、その信頼性に従って加重され得る。このようにして、ノイズの影響が、処理の間低減され得る。
【0023】
提案される方法は、例えば、衛星または顕微鏡画像からの物体定位を含む様々な適用例に使用され得る。そのような適用例では、方法に入力される画像が、センサによってキャプチャされてもよい。例えば、画像は、可視光画像、赤外線画像、または熱画像であってもよい。しかしながら、別のグループの適用例では、画像は、その代わりに2次元グリッド上に提供される計算された信号値に対応する。
【0024】
そのような適用例は、物体検出に関する。そのような適用例では、画像信号値が、物体検出器からの出力であるスコアに対応してもよい。スコアは、画像内のピクセル位置において物体が存在する可能性を反映し得る。提案される方法を物体検出器からのスコアを有する画像に適用することによって、画像内の物体の位置が、サブピクセル精度で判定され得る。判定されたサブピクセル位置の処理は、不確実性レベルを重みとして用いる、位置の平滑化に対応してもよい。
【0025】
そのような別の適用例は、ステレオカメラに関する。ステレオカメラでは、第1のセンサおよび第2のセンサがそれぞれ、わずかに異なるビュー角度から、場面の画像をキャプチャする。2つの画像内の合致する特徴を見つけることによって、例えば、場面における深度、すなわち、場面内の物体までの距離を計算してもよい。提案される方法は、画像のステレオペアのうちの第1の画像と第2の画像との間の特徴をマッチングするプロセスにおいて使用されてもよい。特に、提案される方法は、サブピクセル精度および関連する不確実性レベルで、合致する特徴の位置を見つけるために使用され得る。
【0026】
ステレオにおいて、提案される方法に入力される画像は、相関マップに対応してもよい。相関マップは、画像のステレオペアの第1の画像内のピクセル近傍のピクセル値を、画像のステレオペアの第2の画像内のピクセル値とマッチングする(例えば、相関させる)ことによって生成され得る。したがって、相関マップは、第2の画像内のピクセル位置に対応する2次元グリッド上に定義される。さらに、相関マップの信号値は、第1の画像内の特定のピクセルの値が、第2の画像のピクセル値とどのくらいうまく合致しているかを示す。提案される方法が、入力として相関マップとともに使用されるとき、画像内の極値点のサブピクセル位置が、したがって、第1の画像内のピクセルに最も合致する第2の画像内のサブピクセル位置に対応する。
【0027】
この手法は、よって、ステレオペアの第1の画像内の特定のピクセルに最も合致する、第2の画像内のサブピクセル位置、および関連する不確実性レベルを推定する。この手続は、ステレオペアの第1の画像内の複数のピクセルについて繰り返され得る。より具体的には、方法は、画像のステレオペアの第1の画像内の複数のピクセルのそれぞれについて、ピクセルの近傍のピクセル値を第2の画像内のピクセル値とマッチングすることによって、ピクセルに対応する相関マップを生成することと、ピクセルに最も合致する第2の画像内のサブピクセル位置を推定するように、ピクセルに対応する相関マップについて、ステップa)〜f)を実行することとをさらに含んでもよく、第2の画像内のサブピクセル位置は、不確実性レベルに関連付けられている。このようにして、第2の画像内のサブピクセル位置、および関連する不確実性レベルが、第1の画像内の複数のピクセルのそれぞれについて推定される。
【0028】
複数のピクセルは、第1の画像内の全てのピクセルに対応してもよい。複数のピクセルは、第1の画像内の特定領域に対応してもよい。代替的に、または追加的に、画像のステレオペアの第1の画像内の複数のピクセルが、場面内の同一物体を描いてもよい。
【0029】
方法は、画像のステレオペアの第1の画像内の複数のピクセルに対応する、推定されたサブピクセル位置を処理することをさらに含み得る。推定されたサブピクセル位置に関連付けられた不確実性レベルは、処理中に重みとして使用されてもよく、高い不確実性レベルに関連付けられたサブピクセル位置から計算される数量は、低い不確実性レベルに関連付けられたサブピクセル位置から計算される数量よりも低い重みを与えられる。このやり方では、第1の画像と第2の画像との間の信頼性の低い合致は、信頼性のより高い合致よりも低い重みを与えられ得る。このようにして、ノイズの影響が、低減され得る。
【0030】
サブピクセル位置から計算される数量は、サブピクセル位置と第1の画像内の対応するピクセルの位置との間の差として計算される、不均衡値を含み得る。その結果、異なる不均衡値が、これらの値の信頼性に従って異なる重みを与えられ得る。これは、結果的にノイズの影響を低減させることとなる。例えば、処理することは、推定されたサブピクセル位置から計算される不均衡値の加重平均を計算することを含んでもよく、高い不確実性レベルに関連付けられたサブピクセル位置から計算された不均衡値は、低い不確実性レベルに関連付けられたサブピクセル位置から計算された不均衡値よりも低い重みを与えられる。これは、例えば、不均衡マップを平滑化することに関連して有用であり得る。
【0031】
サブピクセル位置から計算される数量は、サブピクセル位置と、第1の画像内の対応するピクセルの位置とに基づいて計算される深度値を含んでもよく、深度値は、第1の画像内のピクセルによって描かれる、場面内の物体への距離に対応する。したがって、異なる深度値は、これらの値の信頼性に従って異なる重みを与えられてもよい。これは、結果的にノイズの影響を低減させることとなる。
【0032】
例えば、画像のステレオペアの第1の画像内の複数のピクセルに対応する、推定されたサブピクセル位置を処理することは、画像のステレオペアの第1の画像内の複数のピクセル毎に、第1の画像内のピクセルの位置、およびピクセルに最も合致する第2の画像内のサブピクセル位置に基づいてピクセルの深度値を計算することと、第2の画像内のサブピクセル位置に関連付けられた不確実性レベルに深度値を関連付けることと、を含んでもよい。このやり方では、計算された深度値は、不確実性レベルに関連付けられてもよく、それによって深度値がどのくらい信頼性があるかの尺度を提供する。深度値に関連付けられた不確実性レベルは、深度値を処理するときに使用されてもよい。例えば、より高い重みは、より高い不確実性レベルを有する深度値と比較してより低い不確実性レベルを有する深度値に与えられてもよい。
【0033】
処理することは、画像のステレオペアの第1の画像内の複数のピクセルに対応する深度値の加重平均を計算することをさらに含んでもよく、高い不確実性レベルを有するサブピクセル位置から計算される深度値が、低い不確実性レベルを有するサブピクセル位置から計算される深度値よりも低い重みが与えられる。このやり方では、深度値は、それらの信頼性に従って加重される。このやり方では、深度値におけるノイズの影響が、低減され得る。これは、例えば、画像の特定領域に対する深度を計算するときに使用されてもよい。これは、深度マップを平滑化する目的にも有用であり得る。そのとき、より信頼性の高い深度値は、より信頼性の低い深度値よりも、最終結果に対して高い影響を有することとなる。
【0034】
深度値の加重平均は、画像のステレオペアの第1の画像内の複数のピクセルに対応する深度値に空間フィルタを適用することによって計算されてもよい。空間フィルタは、深度値を平滑化する平滑化フィルタであってもよい。空間フィルタのパラメータは、不確実性レベルに依存して設定されてもよい。
【0035】
サブピクセル位置から計算される数量は、3次元空間内の点を含んでもよく、3次元空間内の点は、サブピクセル位置および第1の画像内の対応するピクセルの位置に基づいて計算される。その結果、3次元空間内の異なる点が、これらの点の信頼性に従って異なる重みを与えられ得る。これは、結果的にノイズの影響を低減させることとなる。
【0036】
いくつかの適用例では、場面を描くステレオ画像のペアに基づいて、場面内の3次元物体の形状を推定することに関心がある。これは、ステレオ画像の第1における物体を描く複数のピクセルを識別すること、ステレオ画像の第2とのステレオマッチングの結果に基づいて、複数のピクセルに対応する3次元空間内の点を計算すること、および3次元空間内の計算された点に物体テンプレートを適合することによって、達成され得る。提案される方法を使用することによって、推定の不確実性レベルが、物体テンプレートを適合するプロセスにおいて重みとして使用されてもよく、それによって、適合がノイズにあまり影響を受けないようにする。より詳細には、画像のステレオペアの第1の画像内の複数のピクセルが、場面内の同一物体を描いてもよく、処理することが、
画像のステレオペアの第1の画像内の複数のピクセルに対応する3次元空間内の複数の点を計算することであって、3次元空間内の各点が、第1の画像内の対応するピクセルの位置、および第1の画像内のピクセルに最も合致する第2の画像内のサブピクセル位置を用いて計算される、3次元空間内の複数の点を計算することと、
3次元空間内の複数の点に3次元物体テンプレートを適合することであって、3次元物体テンプレートが、場面内の物体と同一タイプである物体の外形を定義する、3次元物体テンプレートを適合することと、をさらに含んでもよく、
3次元物体テンプレートを適合するステップにおいて、高い不確実性レベルを有するサブピクセル位置から計算される3次元空間内の点が、低い不確実性レベルを有するサブピクセル位置から計算される3次元空間内の点よりも低い重みを与えられる。
【0037】
第2の態様によれば、上記目的は、パラメトリック関数を用いてノイズが存在する画像内の極値点のサブピクセル位置を推定するデバイスであって、画像内の極値点が、極大点または極小点のいずれかのタイプであり、デバイスは、
a)画像内の近傍ピクセルのグループを選択し、近傍ピクセルのグループ内のピクセル数が、パラメトリック関数を定義するパラメータ数よりも大きく、
b)近傍ピクセルのグループのピクセル値にパラメトリック関数を適合し、
c)パラメトリック関数の極値点の位置を識別し、パラメトリック関数の極値点が、極大点、極小点、または鞍点であるタイプであり、
d)パラメトリック関数の極値点が、画像内の極値点と同一タイプであるか、あるいは異なるタイプであるか、およびパラメトリック関数の極値点の位置が、画像内の近傍ピクセルのグループのピクセル位置によって定義される領域内に位置するか、あるいは領域外に位置するかをチェックし、ならびに、
パラメトリック関数の極値点が、画像内の極値点とは異なるタイプであるか、またはパラメトリック関数の極値点の位置が、前記領域外に位置する場合に、
近傍ピクセルのグループからピクセルを除去し、ならびに、
近傍ピクセルのグループ内のピクセル数が、パラメトリック関数を定義するパラメータ数よりも依然として大きいか、または等しい場合、ステップb)、c)、およびd)を繰り返し、
e)画像内の極値点のサブピクセル位置を、パラメトリック関数の極値点の位置として推定し、
f)推定されたサブピクセル位置を、ステップb)、c)、およびd)の反復数に対応する不確実性レベルに関連付けるように構成される、プロセッサを備えるデバイスによって達成される。
【0038】
第3の態様によれば、
画像のステレオペアの第1の画像をキャプチャするように構成される、第1の画像センサと、
画像のステレオペアの第2の画像をキャプチャするように構成される、第2の画像センサと、
第2の態様によるデバイスと、
第1の画像内のピクセルの近傍のピクセル値を、画像のステレオペアの第2の画像内のピクセル値とマッチングすることによって、画像のステレオペアから相関マップを生成し、
パラメトリック関数を用いてノイズが存在する相関マップ内の極値点のサブピクセル位置を、デバイスに推定させるように、デバイスへの入力として、相関マップを提供するように構成されるプロセッサと、
を含むステレオカメラシステムが提供される。
【0039】
第4の態様によれば、処理能力を有するデバイスによって実行されるときに、第1の態様の方法を実行するように適合されるコンピュータコード命令を含む、非一時的コンピュータ可読媒体が提供される。
【0040】
第2、第3、および第4の態様は、概して、第1の態様と同一の特徴および利点を有し得る。本発明は、別段の記述が明確にない限り、特徴の全ての可能な組み合わせに関連することに、さらに留意されたい。本明細書で開示される任意の方法のステップは、明示されない限り、開示された正確な順序で実行されなくともよい。
【0041】
上記、ならびに本発明の追加的な目的、特徴、および利点は、添付図面を参照して、以下の例示的かつ非限定的な発明の実施形態の詳細な説明を通してさらに理解される。添付図面において、同一の参照番号が、類似要素に対して使用される。
【発明を実施するための形態】
【0043】
本発明は、ここで、添付図面を参照して以下でより完全に説明される。添付図面において、本発明の実施形態が示されている。本発明は、しかしながら、多くの異なる形態で具現化されてもよく、本明細書で述べる実施形態に限定されると解釈されるべきではない。むしろ、これらの実施形態は、当業者に対して発明の範囲を完全に伝達するために、徹底的かつ完全に提供される。本明細書で開示されるシステムおよびデバイスは、動作中に説明される。
【0044】
図1は、画像内の極値点のサブピクセル位置を推定するデバイス100を示す。デバイス100は、プロセッサ102を含む。プロセッサは、中央処理装置、マイクロプロセッサ、デジタル信号プロセッサなどの、任意の既知のタイプのものであってもよい。デバイス100は、メモリ104をさらに含む。メモリ104は、不揮発性メモリなどの非一時的コンピュータ可読媒体であってもよい。コンピュータコード命令は、メモリ104に記憶されてもよい。コンピュータコード命令は、プロセッサ102によって実行されるときに、本明細書に開示される任意の方法をプロセッサ102に実行させる。特に、デバイス100に入力される、画像内の極値点のサブピクセル位置を推定する方法をプロセッサ102に実行させる。
【0045】
図2は、デバイス100が使用され得るシステム200を示す。システム200は、ステレオカメラシステム200である。システム200は、第1の画像センサ202、第2の画像センサ204、マッチングコンポーネント206、および画像内の極値点のサブピクセル位置を推定する
図1のデバイス100を含む。
【0046】
第1の画像センサ202および第2の画像センサ204は、異なるビュー角度から場面の画像を同時にキャプチャするように配置される。第1の画像センサ202によってキャプチャされる第1の画像203、および第2のセンサ204によってキャプチャされる第2の画像205は、画像のステレオペアを形成する。第1の画像センサ202および第2の画像センサ204は、任意の既知のステレオカメラの画像センサであってもよい。例えば、画像センサは、AXIS P8804ステレオセンサキットの一部であってもよい。
【0047】
第1の画像センサ202および第2の画像センサ204は、マッチングコンポーネント206に動作可能に接続される。特に、第1のセンサ202および第2のセンサ204によってキャプチャされる第1の画像203および第2の画像205は、マッチングコンポーネント206に入力として提供される。マッチングコンポーネント206は、プロセッサを含む。プロセッサは、中央処理装置、マイクロプロセッサ、デジタル信号プロセッサなどの、任意の既知のタイプのものであってもよい。マッチングコンポーネント206は、不揮発性メモリなどの非一時的コンピュータ可読媒体であり得るメモリをさらに含んでもよい。マッチングコンポーネント206のメモリは、コンピュータコード命令を記憶し得る。これらのコンピュータコード命令が、マッチングコンポーネント206のプロセッサによって実行されるとき、相関マップ207を生成および出力するように、プロセッサに、第1の画像203内のピクセル値を第2の画像205内のピクセル値とマッチングさせる。
【0048】
マッチングコンポーネント206は、デバイス100に動作可能に接続されている。特に、マッチングコンポーネント206によって生成される相関マップ207は、デバイス100に入力される。その結果、デバイス100は、相関マップ内の極値点のサブピクセル位置を推定するように構成される。
【0049】
マッチングコンポーネント206は、デバイス100内に統合されてもよい。特に、プロセッサ102およびメモリ104は、第1の画像203および第2の画像205内のピクセル値を両方マッチングして相関マップを生成し、その後、相関マップ内の極値点のサブピクセル位置を推定するように構成され得る。
【0050】
デバイス100の動作は、
図1、
図4、および
図3のフローチャートを参照して、以下でより詳細に説明される。
【0051】
画像は、デバイス100に入力される。説明されるように、デバイス100は、画像を処理して、画像内の極値点のサブピクセル位置の推定、および推定の不確実性レベルを提供する。以下では、画像内の極値点が極大点であると仮定する。しかしながら、画像内の極値点は、同様に極小点であってもよいと理解される。
【0052】
ステップS02において、プロセッサ102は、画像内の近傍ピクセルのグループを選択する。これは、
図4aにおいてさらに示され、
図4aは、画像400および選択された近傍ピクセルのグループ402を示す。示される近傍ピクセルのグループ402は、3×3ピクセルを含むが、5×5ピクセルまたは7×7ピクセルなどの、より大きな近傍ピクセルのグループが選択されてもよいと理解される。近傍ピクセルのグループ402を選択するために、プロセッサ102は、画像400内の1つまたは複数の極大値を識別してもよい。極大値は、各近傍ピクセルのピクセル値よりも大きいピクセル値を有する画像400内のピクセルとして識別され得る。そのような極大値は、
図4aの右部分において示され、その8つの近傍のピクセル値を超えるピクセル値403aを有するピクセル402aを示している。近傍ピクセルのグループ402は、極大値として識別されるピクセルを含むように選択されてもよい。例えば、近傍ピクセルのグループ402は、グループの中心ピクセルが極大値として識別されるピクセル402aに対応するように、選択されてもよい。図示される例では、3×3ピクセル近傍402の中心ピクセルは、極大値として識別されるピクセル402aに対応し、他の8個のピクセルは、極大値として識別されるピクセル402aの8個の近傍に対応する。この例では、近傍ピクセルのグループ402の中心の値は、最も大きい。近傍ピクセルのグループ402内のピクセル値403は、画像内のピークから測定されるということ、および本当のピーク座標は、例えば、近傍ピクセルのグループ402内のサブピクセル位置において、これらの測定値の間に空間的に位置するということが仮定される。以下の説明について、一般性を失うことなく、グループ402の中心ピクセルは、(0,0)に位置するということ、および他の位置は、1の範囲内にあるということが仮定される。しかしながら、他の仮定も同様に可能であると理解される。したがって、近傍ピクセルのグループ402内のピクセル位置は、以下のように仮定される。
近傍ピクセルのグループ402内のピクセル位置は、領域407を定義する。領域407は、グループ内のピクセルのピクセル位置にかかっている。言い換えると、領域407は、近傍ピクセルのグループ402のピクセル位置の間にある全ての空間的位置を含む。この場合、領域407は、したがって、全ての空間的位置(x,y)を含み、その場合に、|x|<1、かつ|y|<1である。
【0053】
さらに、以下の説明において、グループ402内のピクセル位置に対応するピクセル値403が、以下によって記述される。
【0054】
1つよりも多くの極大値が識別される場合、近傍ピクセルのグループ402は、最大値として識別される(すなわち、画像内の最大ピクセル値を有する)ピクセルを含むように選択されてもよい。代替的に、または追加的に、近傍ピクセルの複数のグループが選択されてもよく、各グループは、1つの識別された極大値に対応する。以下で説明されるステップは、その際、近傍ピクセルの選択されたグループ毎に個々に繰り返されてもよい。
【0055】
画像内の極値点が、その代わりに極小点であった場合、プロセッサ102は、その代わりに画像400内の1つまたは複数の極小値を識別し、極小値として識別されるピクセルを含むように近傍ピクセルのグループを選択してもよい。極小値は、各近傍ピクセルのピクセル値よりも小さいピクセル値を有する画像内のピクセルとして識別されてもよい。
【0056】
ステップS04において、プロセッサ102は、近傍ピクセルのグループ402のピクセル値403にパラメトリック関数を適合する。適合は、結果となるパラメトリック関数が、近傍ピクセルのグループ402のピクセル値403を(例えば、最小二乗の意味で)空間位置の関数として可能な限り良く近似するように、パラメトリック関数のパラメータを推定することを含む。
図4bは、近傍ピクセルのグループ402のピクセル値403に適合されているパラメトリック関数404を示す。パラメトリック関数は、2次元2次関数であってもよいが、他のパラメトリック関数が同様に使用されてもよい。そのような関数は、6個のパラメータ、A、B、C、D、E、Fを用いて、下記のパラメトリック形式で書かれ得る。
f(x,y)=Ax
2+By
2+Cxy+Dx+Ey+F
2次元2次関数は、6個のパラメータによって記述されるため、近傍ピクセルのグループ402内に少なくとも6個のピクセルが存在する限り、パラメトリック関数は、近傍ピクセルのグループ402のピクセル値403に適合され得る。
【0057】
プロセッサ102は、未知のパラメータおよび近傍ピクセルのグループ402のピクセル値403に関して表される方程式系を解くことによって、パラメトリック関数のパラメータを推定してもよい。例えば、3×3の近傍ピクセルのグループ402の9個の利用可能なサンプル(z
1,z
2,z
3,z
4,z
5,z
6,z
7,z
8,z
9)全てを用いて、かつ2次元2次関数の上式に代入して、以下の9個の方程式系が公式化され得る。
A+B+C−D−E+F=z
1
B−E+F=z
2
A+B−C+D−E+F=z
3
A−D+F=z
4
F=z
5
A+D+F=z
6
A+B−C−D+E+F=z
7
B+E+F=z
8
A+B+C+D+E+F=z
9
未知数よりも多くの方程式が存在するため、この方程式系は優決定系である。解を見つけるために、最小二乗法が使用されてもよい。これは、近傍ピクセルのグループ402のピクセル値403と、近傍ピクセルのグループ402のピクセルの位置において評価されたパラメトリック関数404との間の二乗された差の合計を最小化することを含む。言い換えると、解は、最小二乗の意味において、以下の最小二乗対象を最小化することによって見つけられ得る。
Θ(A,B,C,D,E,F)=(A+B+C−D−E+F−z
1)
2
+(B−E+F−z
2)
2
+(A+B−C+D−E+F−z
3)
2
+(A−D+F−z
4)
2
+(F−z
5)
2
+(A+D+F−z
6)
2
+(A+B−C−D+E+F−z
7)
2
+(B+E+F−z
8)
2
+(A+B+C+D+E+F−z
9)
2
偏導関数
、
、
、
、
を見つけること、およびそれぞれをゼロに設定することによって、明示的に解かれ得る方程式系につながる。この場合、解は、
である。その結果、方程式系を解いてパラメータを見つけることは、近傍ピクセルのグループ402のピクセル値(z
1,z
2,z
3,z
4,z
5,z
6,z
7,z
8,z
9)の線形結合を形成することを含む。線形結合の係数は、予め計算され、デバイス100内、例えば、メモリ104内に記憶されることが好ましい。
【0058】
パラメトリック関数404を適合させると、プロセッサ102は、続けてパラメトリック関数404の極値点406の空間位置405b(
図4bにおいて「X」によって示される)を識別する。パラメトリック関数404の極値点とは、偏導関数
および
がゼロに等しい点を意味する。言い換えると、極値点とは、パラメトリック関数404の停留点を意味する。パラメトリック関数404が上述の2次元2次方程式である場合、その極値点の空間位置(x
*,y
*)は、以下に等しい。
【0059】
周知のように、2つの変数の関数の停留点は、極大点、極小点、または鞍点であり得る。方法が、極大点のサブピクセル位置を推定することを目的とする場合、適合されるパラメトリック関数の極値点もまた、極大点であることが望ましい。同様に、方法が、代わりに極小点のサブピクセル位置を推定することを目的とする場合、適合されるパラメトリック関数の極値点は、極小点であることが望ましい。したがって、ステップS08aにおいて、プロセッサ102は、パラメトリック関数404の極値点406が画像400内の極値点と同一タイプであるかどうかをチェックする。言い換えると、プロセッサ102が、画像400内の極大点のサブピクセル位置を推定することを目的としている場合、プロセッサ102は、ステップS08aにおいて、パラメトリック関数404の極値点406の空間位置405が、極大点か否かをチェックする。このチェックは、本明細書において極大チェックと呼ばれる。
【0060】
関数の極大点を見つけることは、導関数がゼロである場所、ならびに、
、f
xx<0、およびf
yy<0であるときである。ここで、
、
、
である。2次元2次関数については、f
xx=2A、f
yy=2B、およびf
xy=Cである。よって、2次元2次関数について、プロセッサ102は、極値点406が、極大点であるかどうかを以下の条件をチェックすることによってチェックし得る。
4AB−C
2>0
2A<0
2B<0
極小についての対応する条件は、
、f
xx>0、およびf
yy>0であり、2次元2次関数については、以下のようになる。
4AB−C
2<0
2A>0
2B>0
図4bの例において、プロセッサ102は、極値点406が極大点であり、したがって画像400内の極値点と同一タイプであると分かる。パラメトリック関数404が、複数のローカル極値点を有し得る場合、プロセッサは、極値点406が、画像内の極値点と同一タイプである、パラメトリック関数の単一グローバル極値点であるかどうかもチェックしてもよい。
【0061】
プロセッサ102は、また、ステップS08bにおいて、パラメトリック関数404の極値点406の空間位置405bが、画像400内の近傍ピクセルのグループ402のピクセル位置によって定義される領域407内に位置するか、あるいは領域407外に位置するかをチェックする。このチェックは、本明細書において定位チェックと呼ばれる。ステップS08aおよびS08bは、任意の順序で行われ得ると理解される。上記で導入された近傍ピクセルのグループ402についての範囲[−1,1]における座標系を使用すると、プロセッサ102は、したがって、条件|x
*|<1、|y
*|<1が満たされるかどうかをチェックし得る。
【0062】
ステップS08aの極大チェックと、ステップS08bの定位チェックの両方を通過する場合(すなわち、パラメトリック関数404の極値点406が画像400内の極値点と同一タイプであり、パラメトリック関数404の極値点406の空間位置405bが領域407内に位置する場合)、プロセッサ102は、ステップS10に進む。
【0063】
一方、ステップS08aの極大チェック、およびステップS08bの定位チェックのいずれかが失敗である場合(すなわち、パラメトリック関数404の極値点406が画像400内の極値点とは異なるタイプであり、および/またはパラメトリック関数404の極値点406の空間位置405bが領域407外に位置する場合)、プロセッサ102は、代わりにステップS08cに進む。極値点406の空間位置405bが、領域407外に位置し、したがって定位チェックに落ちるため、
図4bの例はこのケースである。パラメトリック関数404の極値点406が、単一の最大値(または最小値)ではないと分かる場合、プロセッサ102は、また、ステップS08cに進み得る。
【0064】
ステップS08cにおいて、プロセッサ102は、近傍ピクセルのグループからピクセルを除去する。除去の背後にある意図は、外れ値を除去すること、および新たな試行を行ってパラメトリック関数を適合することである。外れ値を有するピクセルを識別する多くの方法が存在する。例えば、プロセッサ102は、近傍ピクセルのグループのピクセル値から形成される平均から最も逸脱するピクセル値を有するピクセルを除去してもよい。平均を形成するとき、近傍ピクセルのグループ402の中心にあるピクセル値z
5が省かれてもよい。より具体的には、長さK=8の配列k=[1,2,3,4,6,7,8,9]を、外れ値を除去するためのピクセル値zの可能なインデックスであると考える。このとき、
から分かるk
*(i)は、近傍ピクセルのグループ402から除去されるべきピクセルである。これが、
図4bの例に適用される場合、プロセッサは、k
*(i)=4に到達し、よって、続けて
図4bにおける数403bを有するピクセル値に対応するピクセル値z
4を除去する。プロセッサ102は、配列からインデックスk
*(i)を除去することによって、次の反復のために配列をさらに更新してもよい。したがって、k
*(i)=4の場合、新たな配列は、長さK=7のk=[1,2,3,6,7,8,9]となる。
【0065】
ステップS08cにおいて、プロセッサ102は、次いで、近傍ピクセルのグループ402内の残りのピクセル数が、パラメトリック関数404を定義するパラメータ数よりも依然として大きいか、または等しいかをチェックする。
【0066】
この条件が満たされない場合、パラメトリック関数を適合することは不可能であるため、方法は終了する。その場合、方法は、近傍ピクセルのグループ402の中心ピクセルの座標を極値点のサブピクセル位置の推定として、すなわち、例における座標(0,0)を出力してもよい。推定されたサブピクセル位置の関連する不確実性レベルは、そのとき、ステップS04、S06、S08a〜dの反復数+1に対応して設定されてもよい。
【0067】
一方、条件が満たされる場合、プロセッサ102は、続けて上述のようにステップS04、S06、およびS08a〜dを繰り返す。
【0068】
図4bの例では、ピクセル403cの除去後の残りのピクセル数は、8に等しい。したがって、6個のパラメータを有する2次元2次関数を適合することが可能である。したがって、プロセッサ102は、続いてステップS08a〜dを2回目に繰り返すが、今回は、ピクセル値403bが除去される。これは、方程式系の1つの方程式が除去されることを意味し、方程式は、
を含む。例えば、k
*(i)=4の場合、最小化するための最小二乗対象は、ここで、
Θ(A,B,C,D,E,F)=(A+B+C−D−E+F−z
1)
2
+(B−E+F−z
2)
2
+(A+B−C+D−E+F−z
3)
2
+(F−z
5)
2
+(A+D+F−z
6)
2
+(A+B−C−D+E+F−z
7)
2
+(B+E+F−z
8)
2
+(A+B+C+D+E+F−z
9)
2
となる。ここでも、方程式系は、前述したのと同一の方法論で明示的に解かれ得る。この段階において、1つのピクセルが除去されると、近傍ピクセルのグループ402には8個のピクセルが残っている。よって、どのピクセルが除去されたかによって、解くための
個の可能な方程式系が存在する。これらの8個の可能な方程式系のそれぞれの解が、デバイス100内に予め記憶されていることが好ましい。
【0069】
パラメトリック関数404の第2の適合の結果が、
図4cに示されている。図面から明白であるように、パラメトリック関数404は、極小点である極値点を有する。したがって、ステップS08aの極大チェックは失敗し、プロセッサ102は、もう一度ステップS08cに進んで、上述のように近傍ピクセルのグループ402からピクセルを除去することとなる。今回は、
図4cにおける参照番号403cに対応するピクセル値z
6を有するピクセルが、グループから除去される。除去後、近傍ピクセルのグループ内には7個のピクセルが残っている。グループ内に残されたピクセル数が、依然としてパラメトリック関数のパラメータ数よりも大きいため、ステップS08dの条件に従う。プロセッサ102は、したがって、再びステップS04に進み、方程式系を解くことによって、3回目につき、近傍ピクセルのグループ402のピクセル値にパラメトリック関数を適合する。この段階において、2つのピクセルが除去され、どのピクセルが除去されたかによって、解くための
個の可能な方程式系が存在する。ここでも、これらの28個の方程式系に対する解が、デバイス100内に予め記憶されていることが好ましい。方法がさらなるピクセルを除去する場合、適合の次の段階において、
個の可能な方程式系が存在し、この方程式系に対する解が、デバイス100内に予め記憶されていることが好ましい。したがって、この例において、デバイス100は、1+8+28+56=93個の方程式系に対する解を予め記憶することが好ましい。
【0070】
パラメトリック関数404の第3の適合の結果が、
図4dに示されている。今回は、極値点406は、極大点であり、すなわち、画像400内の極値点と同一タイプである。さらに、パラメトリック関数404の極値点406の空間位置405dは、領域407内に位置する。したがって、ステップS08aの極大チェック、およびステップS08bの定位チェックの両方を通過する。その結果、プロセッサ102は、ステップS10に進む。
【0071】
ステップS10において、プロセッサ102は、最後の反復から、画像400内の極値点のサブピクセル位置をパラメトリック関数404の空間位置405dとして推定する。さらに、ステップS12において、プロセッサ102は、推定されたサブピクセル位置を、ステップS04、S06、およびS08a〜bの反復数に対応する不確実性レベルに関連付ける。
図4a〜dの例において、推定されたサブピクセル位置が見つかる前に3回の反復が必要とされたため、推定されたサブピクセル位置に関連付けられる不確実性レベルは、したがって3に等しくなる。
【0072】
推定されたサブピクセル位置および関連する不確実性レベル、または推定されたサブピクセル位置は、デバイス100の出力であってもよい。典型的には、しかしながら、推定されたサブピクセル位置および関連する不確実性レベルは、さらなる処理のためにデバイスのメモリ内に記憶されてもよい。推定されたサブピクセル位置の処理は、目下の適用例に依存して変化してもよい。しかしながら、適用例についての共通点は、プロセッサ102が、処理の間、推定に関連付けられる不確実性レベルを重みとして使用し得るということである。特に、高い不確実性レベルは、低い不確実性レベルよりも低い重みに対応し得る。
【0073】
上記方法の特定の適用例は、ステレオ画像に対するものである。特に、
図2と併せて上述したように、デバイス100は、ステレオカメラシステム200において、相関マップ内の極値点のサブピクセル位置を推定するために使用されてもよい。システム200の動作は、ここで、
図2および
図5を参照してより詳細に説明される。
【0074】
第1の画像センサ202は、第1の画像203をキャプチャし、第2の画像センサ204は、第2の画像205をキャプチャする。第1の画像203および第2の画像205は、画像のステレオペアを形成する。画像203、205のステレオペアは、マッチングコンポーネント206に入力される。マッチングコンポーネント206は、第1の画像203内のピクセル値を第2の画像205内のピクセル値とマッチングする。差の二乗和、絶対差の和、または正規化相互相関を用いるアルゴリズムなどの、任意の既知のローカルステレオマッチングアルゴリズムが、マッチングに使用されてもよい。これらのアルゴリズムの共通点は、第1の画像203の一部を第2の画像205の異なる部分と比較し、第1の画像203の一部が第2の画像205の異なる部分にどのくらい類似しているかを判定するということである。第1の画像203の一部は、第1の画像203内のピクセルの近傍であってもよい。第2の画像205の一部は、第2の画像205内の異なるピクセルの近傍であってもよい。第2の画像205内の異なるピクセルは、第2の画像205内の全てのピクセル、または第2の画像205内のピクセルのサブセットを含んでもよい。ピクセルの近傍とは、ここでは、ピクセルそれ自体、および画像内のピクセルを囲む1つまたは複数のピクセルを意味する。マッチングコンポーネント206は、マッチングの結果を相関マップ207に記憶し得る。相関マップ207は、したがって、第2の画像205の各部分が、第1の画像203の特定部分にどのくらい合致しているかを指定する相関値を含む。特に、相関マップ207は、第2の画像205内の各ピクセルまたはピクセルのサブセットについての相関値を含んでもよい。各相関値は、第2の画像205内のピクセルの近傍が、第1の画像203内の特定ピクセルの近傍にどのくらい合致しているかを示す。
【0075】
マッチングコンポーネント206は、第1の画像203内の1つまたは複数のピクセル502a、502b、502c、502dについて、そのような相関マップ207を生成し得る。第1の画像203内の1つまたは複数のピクセル502a、502b、502c、502dは、第1の画像203内の特定領域に対応し得る。例えば、第1の画像203内の1つまたは複数のピクセル502a、502b、502c、502dは、第1の画像203内の近傍ピクセルのグループであってもよい。いくつかの適用例では、第1の画像203内の1つまたは複数のピクセル502a、502b、502c、502dは、場面内の同一物体を描いていてもよい。これは、
図5の例における場合である。
図5において、第1の画像203および第2の画像205は、ここでは車の形状で、場面内の物体500を描いている。ここで、第1の画像203内の1つまたは複数のピクセル502a、502b、502c、502dは、それぞれが車を描いている。マッチングコンポーネント206は、上述のように物体500を描く1つまたは複数のピクセル502a、502b、502c、502dのそれぞれについて相関マップ207を生成し得る。その結果、1つまたは複数のピクセル502a、502b、502c、502dのそれぞれが、それぞれの相関マップ207に関連付けられる。
【0076】
第1の画像203内の1つまたは複数のピクセル502a、502b、502c、502dのそれぞれに対応する相関マップ207は、デバイス100に対する入力として提供され得る。その結果、
図4aと併せて説明される画像400は、この場合、相関マップ207となる。デバイス100は、
図3に関して説明される方法に従って、各相関マップ207を処理する。その結果、デバイス100は、各相関マップ207内の極大点のサブピクセル位置を推定するだけでなく、推定されたサブピクセル位置の不確実性レベルを推定する。言い換えると、デバイス100は、第1の画像203内の1つまたは複数のピクセルのそれぞれについて、ピクセルに最も合致する第2の画像205内のサブピクセル位置を推定する。
図5の例を参照すると、サブピクセル位置504a、504b、504c、504dが、1つまたは複数のピクセル502a、502b、502c、502dのそれぞれについて推定される。サブピクセル位置504a、504b、504c、504dの関連する不確実性レベルは、この例では、それぞれ1、3、2、1であると仮定される。
【0077】
次いで、デバイス100のプロセッサ102は、続けて1つまたは複数のピクセル502a、502b、502c、502dに対応する推定されたサブピクセル位置504a、504b、504c、504dを処理し得る。処理の間、プロセッサ102は、サブピクセル位置504a、504b、504c、504dに関連付けられた不確実性レベルを使用して、サブピクセル位置またはサブピクセル位置から計算される任意の数量に加重してもよい。プロセッサ102は、あまり確実でない推定よりも、より確実な推定により高い重みを与える。
図5の例では、サブピクセル位置504aおよび504d(不確実性レベル=1を有する)、またはサブピクセル位置504aおよび504dから導出される任意の数量は、サブピクセル位置504c(不確実性レベル=2を有する)、またはサブピクセル位置504cから導出される任意の数量よりも高い重みを与えられる。サブピクセル位置504c、またはサブピクセル位置504cから導出される任意の数量は、同様に、サブピクセル位置504b(不確実性レベル=3を有する)、またはサブピクセル位置504bから導出される任意の数量よりも高い重みを与えられる。
【0078】
例によれば、推定されたサブピクセル位置504a、504b、504c、504dから導出される数量は、不均衡値である。より具体的には、プロセッサ102は、1つまたは複数のピクセル502a、502b、502c、502dのうちのそれぞれについて不均衡値を計算してもよい。不均衡値は、第1の画像203内のピクセル502a、502b、502c、502dのうちの1つの位置と、第2の画像205内の対応するサブピクセル位置504a、504b、504c、504dとの間の差として計算される。各不均衡値は、不均衡値を計算するときに使用されるサブピクセル位置の不確実性レベルに関連付けられてもよい。プロセッサ102は、次いで、計算された不均衡値を平滑化してもよい。これは、不均衡値の加重平均を計算することを含み得る。加重平均を計算するときに、高い不確実性レベルに関連付けられている不均衡値は、低い不確実性レベルに関連付けられている不均衡値よりも低い重みが与えられる。
【0079】
例によれば、推定されたサブピクセル位置504a、504b、504c、504dから導出される数量は、深度値である。より詳細には、プロセッサ102は、1つまたは複数のピクセル502a、502b、502c、502dのうちのそれぞれについて深度値を計算してもよい。当技術分野において既知のように、画像センサと焦点距離との間の距離が既知であるときに、深度値は、2つのステレオ画像の間の点対応から計算され得る。より詳細には、深度は、焦点距離と、不均衡値によって割られるセンサ間の距離との積として計算され得る。プロセッサ102は、深度値を計算するときに使用されるサブピクセル位置の不確実性レベルに各深度値に関連付けてもよい。プロセッサ102は、計算された深度値を平滑化してもよい。これは、深度値の加重平均を計算することを含み得る。加重平均を計算するとき、高い不確実性レベルに関連付けられている深度値は、低い不確実性レベルに関連付けられている深度値よりも低い重みが与えられる。
【0080】
1つまたは複数のピクセル502a、502b、502c、502dが、第1の画像203の全てのピクセルに対応するとき、計算された深度値は、深度マップを形成すると言ってもよい。この深度マップは、空間フィルタを用いて平滑化されてもよい。空間フィルタの係数は、上記重みに対応してもよく、深度値に関連付けられた不確実性レベルを用いて設定されてもよい。
【0081】
1つまたは複数のピクセル502a、502b、502c、502dが第1の画像203の特定領域に対応するとき、その特定領域についての深度の加重された領域が計算されてもよい。
【0082】
例によれば、推定されたサブピクセル位置504a、504b、504c、504dから導出される数量は、3次元空間内の点である。より具体的には、プロセッサ102は、第1の画像203内の1つまたは複数のピクセル502a、502b、502c、502d、および第2の画像205内の対応するサブピクセル位置504a、504b、504c、504dを使用して、1つまたは複数のピクセル502a、502b、502c、502dに対応する3次元空間内の点506a、506b、506c、506dを計算してもよい。当技術分野において既知のように、第1の画像203内のピクセルに対応する3次元空間内の点の座標は、ピクセルの位置および深度値から計算され得る。プロセッサ102は、計算された点506a、506b、506c、506dのそれぞれを、点の座標を計算するときに使用されたサブピクセル位置の不確実性レベルに、さらに関連付けてもよい。1つまたは複数のピクセル502a、502b、502c、502dが、同一の物体500を描く場合、計算された点506a、506b、506c、506dが、場面内の物体500上の点の推定となる。
【0083】
プロセッサ102は、点506a、506b、506c、506dを処理してもよい。処理の間、プロセッサ102は、点506a、506b、506c、506dの関連する不確実性レベルを使用して、点に加重してもよい。高い不確実性レベルを有する点は、低い不確実性レベルを有する点よりも低い重みが与えられる。
図5に示されるように、点506a、506b、506c、506dを処理することは、点506a、506b、506c、506dに物体テンプレート508を適合することを含んでもよい。物体テンプレート508は、場面内の本物の物体500と同一タイプの物体の外形を定義する。この場合、物体テンプレート508は、車の外形を定義する。しかしながら、他の適用例では、物体テンプレート508は、幾何学平面、人、または任意の他の種類の物体であってもよい。物体テンプレート508を適合するとき、プロセッサ102は、点506a、506b、506c、506dに異なる重みを与えてもよい。不確実性レベルが高いほど重みが低くなり、その逆もまた同様となるように、重みは、点506a、506b、506c、506dに関連付けられた不確実性レベルに依存して設定されてもよい。例えば、物体テンプレート508は、加重した最小二乗手法を用いて点506a、506b、506c、506dに適合されてもよく、その場合に、点506a、506b、506c、506dと物体テンプレート508との間の平方距離の加重した合計が最小化される。合計における項は、高い不確実性レベルを有する点に対応する項が、低い不確実性レベルを有する点に対応する項よりも低い重みを与えられるように加重されてもよい。
【0084】
当業者は、上述の実施形態を多くのやり方で修正し、上記実施形態に示されるような本発明の利点をなおも使用し得ると理解されるものとする。よって、本発明は、示される実施形態に限定されるべきではなく、添付の特許請求の範囲によってのみ定義されるべきである。追加的に、当業者が理解するように、示される実施形態は、結合されてもよい。