(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6745939
(24)【登録日】2020年8月6日
(45)【発行日】2020年8月26日
(54)【発明の名称】勾配ヒストグラムに基づいて画像記述子を符号化する方法および関連する画像処理装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20200817BHJP
【FI】
G06T7/00 300G
【請求項の数】21
【全頁数】25
(21)【出願番号】特願2019-75614(P2019-75614)
(22)【出願日】2019年4月11日
(62)【分割の表示】特願2016-528631(P2016-528631)の分割
【原出願日】2014年7月16日
(65)【公開番号】特開2019-135667(P2019-135667A)
(43)【公開日】2019年8月15日
【審査請求日】2019年4月11日
(31)【優先権主張番号】TO2013A000629
(32)【優先日】2013年7月24日
(33)【優先権主張国】IT
(73)【特許権者】
【識別番号】518360117
【氏名又は名称】ニュー ラック グローバル リミテッド
(74)【代理人】
【識別番号】110000785
【氏名又は名称】誠真IP特許業務法人
(72)【発明者】
【氏名】パスカラキス、スタブロス
【審査官】
武田 広太郎
(56)【参考文献】
【文献】
国際公開第2013/073621(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
複数の勾配ヒストグラムに基づいて、画像記述子を、変換された複数の副記述子を含む変換された記述子へと符号化する方法であって、
それぞれの勾配ヒストグラムは複数のヒストグラムビンを含み、それぞれの副記述子は複数の値の組を含み、
それぞれの副記述子について、前記副記述子の前記複数の値の組は、各勾配ヒストグラムの前記複数のヒストグラムビンのそれぞれを変換し、次に、結果として得られた複数の変換された値に対してスカラー量子化を実行することによって取得され、
前記複数の副記述子は、前記複数の副記述子の組の副記述子インデックスおよび前記複数の値の組の要素インデックスを特定する要素利用順序リストに従って生成され、
前記複数の副記述子は、画像記述子中心からのそれらの距離に従って複数の副記述子グループにグループ化され、
それぞれの副記述子グループ内において、一の副記述子グループの対応する複数の値は、前記要素利用順序リストにおいて全て同じ符号化優先度が割り当てられる、方法。
【請求項2】
前記複数の副記述子は、前記画像記述子中心までの距離が最も短い全ての副記述子を含む第1のグループ、および、残った全ての副記述子を含む第2のグループにグループ化される、請求項1に記載の方法。
【請求項3】
前記複数の副記述子は、前記画像記述子中心からの距離が最も長い前記複数の副記述子を含む第1のグループ、前記画像記述子中心までの距離が2番目に長い複数の副記述子の第1の組を含む第2のグループ、前記画像記述子中心までの距離が2番目に長い複数の副記述子の第2の組を含む第3のグループ、および、前記画像記述子中心までの距離が最も短い前記複数の副記述子を含む第4のグループにグループ化される、請求項1に記載の方法。
【請求項4】
前記第1、第2、第3、および第4のグループは、同じ数の副記述子を含む、請求項3に記載の方法。
【請求項5】
複数の勾配ヒストグラムに基づいて、画像記述子を、変換された複数の副記述子を含む変換された記述子へと符号化する方法であって、
それぞれの勾配ヒストグラムは複数のヒストグラムビンを含み、それぞれの副記述子は複数の値の組を含み、
それぞれの副記述子について、前記副記述子の前記複数の値の組は、各勾配ヒストグラムの前記複数のヒストグラムビンのそれぞれを変換し、次に、結果として得られた複数の変換された値に対してスカラー量子化を実行することによって取得され、
前記複数の副記述子は、前記複数の副記述子の組の副記述子インデックスおよび前記複数の値の組の要素インデックスを特定する要素利用順序リストに従って生成され、
前記複数の副記述子は、画像記述子中心からのそれらの距離に従い、且つ、それらの複数の互いの距離に従って複数の副記述子グループにグループ化され、
それぞれの副記述子グループ内において、一の副記述子グループの対応する複数の値は、前記要素利用順序リストにおいて全て同じ符号化優先度が割り当てられる、方法。
【請求項6】
前記複数の副記述子は、前記画像記述子中心からの距離が最も長い前記複数の副記述子を含む第1のグループ、前記画像記述子中心までの距離が2番目に長い複数の副記述子の第1の組を含む第2のグループ、前記画像記述子中心までの距離が2番目に長い複数の副記述子の第2の組を含む第3のグループ、および、前記画像記述子中心までの距離が最も短い前記複数の副記述子を含む第4のグループにグループ化される、請求項5に記載の方法。
【請求項7】
一の副記述子グループは、互いに対する距離が予め定められた閾値より小さい複数の副記述子を含まない、請求項5に記載の方法。
【請求項8】
前記複数の互いの距離は、複数の副記述子の間の総距離を最大化させることを含む、請求項5に記載の方法。
【請求項9】
複数の勾配ヒストグラムに基づいて、画像記述子を、変換された複数の副記述子を含む変換された記述子へと符号化する方法であって、
それぞれの勾配ヒストグラムは複数のヒストグラムビンを含み、それぞれの副記述子は複数の値の組を含み、
それぞれの副記述子について、前記副記述子の前記複数の値の組は、各勾配ヒストグラムの前記複数のヒストグラムビンのそれぞれを変換し、次に、結果として得られた複数の変換された値に対してスカラー量子化を実行することによって取得され、
前記複数の副記述子は、前記複数の副記述子の組の副記述子インデックスおよび前記複数の値の組の要素インデックスを特定する要素利用順序リストに従って生成され、
前記複数の副記述子は、画像記述子中心からのそれらの距離に従って複数の副記述子グループにグループ化され、且つ、それらの複数の互いの距離に従って順序付けられ、
それぞれの副記述子グループ内において、一の副記述子グループの対応する複数の値は、前記要素利用順序リストにおいて全て同じ符号化優先度が割り当てられる、方法。
【請求項10】
一の副記述子グループは、互いに対する距離が予め定められた閾値より小さい連続する複数の副記述子を含まない、請求項9に記載の方法。
【請求項11】
前記複数の互いの距離は、連続する複数の副記述子の間の前記距離を最大化させることを含む、請求項9に記載の方法。
【請求項12】
複数の勾配ヒストグラムに基づいて、画像記述子を、変換された複数の副記述子を含む変換された記述子へと符号化する方法であって、
それぞれの勾配ヒストグラムは複数のヒストグラムビンを含み、それぞれの副記述子は複数の値の組を含み、
それぞれの副記述子について、前記副記述子の前記複数の値の組は、各勾配ヒストグラムの前記複数のヒストグラムビンのそれぞれを変換し、次に、結果として得られた複数の変換された値に対してスカラー量子化を実行することによって取得され、
前記複数の副記述子は、前記複数の副記述子の組の副記述子インデックスおよび前記複数の値の組の要素インデックスを特定する要素利用順序リストに従って生成され、
前記複数の副記述子は、画像記述子中心からのそれらの距離に従って複数の副記述子グループにグループ化され、それぞれのグループの前記複数の副記述子は、それらの対応する複数の符号化特性に従って定義される順序で符号化され、
それぞれの副記述子グループ内において、一の副記述子グループの対応する複数の値は、前記要素利用順序リストにおいて全て同じ符号化優先度が割り当てられる、方法。
【請求項13】
前記複数の符号化特性は、複数の変換に対応する、請求項12に記載の方法。
【請求項14】
それぞれの副記述子グループに対し、前記グループ中の第1の副記述子の前記変換は第1のタイプの変換であり、前記グループ中の第2の副記述子の前記変換は前記第1のタイプの変換であり、前記グループ中の第3の副記述子の前記変換は第2のタイプの変換であり、前記グループ中の第4の副記述子の前記変換は前記第2のタイプの変換である、請求項13に記載の方法。
【請求項15】
前記複数の符号化特性は、量子化のタイプおよびレベル、またはそれらの複数の組合せである、請求項12に記載の方法。
【請求項16】
特定クラスの複数の値に対して、より高い優先度が与えられる、請求項1に記載の方法。
【請求項17】
前記画像記述子中心まで最も近い前記複数の副記述子グループに対して、より高い優先度が与えられる、請求項1に記載の方法。
【請求項18】
前記要素利用順序リストは、前記画像記述子と一緒に格納される、または伝送される、請求項1から請求項17のいずれか1項に記載の方法。
【請求項19】
前記画像記述子は、前記記述子の1または複数の最後の要素を切捨てることにより、低減された長さを有する記述子へと変換される、請求項1から請求項18のいずれか1項に記載の画像記述子を符号化する方法。
【請求項20】
前記要素利用順序リストは、16または24または32または128個の要素が順序付られたリストの形を取る、請求項1に記載の画像記述子を符号化する方法。
【請求項21】
請求項1から請求項20のいずれか1項に記載の方法を実行するための手段を備える画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の画像特徴キーポイントの周りの複数の局所領域において計算された複数の画像記述子を、効率的に符号化する、コード変換する、復号化する、および処理する方法に関し、また、そのような複数の記述子を符号化する、コード変換する、復号化する、および処理するための手段を備える画像処理装置に関する。
【背景技術】
【0002】
そのような複数の画像記述子は、いくつか例を挙げると、物体認識、コンテンツベースの画像検索、および画像登録を含め、多くのコンピュータビジョン用途において広い適用可能性が見出されてきた。
【0003】
そのような複数の記述子を符号化する既存の複数の手法は、いくつかの欠点を示す。
【0004】
例えば、既存の複数の符号化手法は、与えられた記述子長の記述子が異なる記述子長の記述子に変換されるようなコード変換を実行するためには、あるいは、長さの異なる複数の記述子の復号化および比較を実行するためには、複数の記述子全体の構文解析を必要とする複数の記述子をもたらす。
【0005】
別の例としては、既存の複数の符号化手法は、可変長の複数の画像記述子を生成するために必要な複数の演算において複数の共通性および冗長性を無視するので、複雑なものを符号化する観点においては非効率的である。
【0006】
出願者自身によって出願された未だ公開されていないイタリア特許出願第TO2012A000602号は、複数の局所画像記述子の符号化を記載する。そこでは、ロバスト、識別的、拡張可能、且つコンパクトな複数の画像記述子が、複数の勾配の複数のヒストグラムを用いた複数の画像記述子から、該複数の勾配の複数のヒストグラムの変換に基づいて計算される。ここで、この変換は、それらの複数のビン値の間の複数の分布の形状および関係の形で、その中に含まれる特徴的でロバストな情報を捉える。
【0007】
上記の未だ公開されていないイタリア特許出願においては、容易に拡張可能な複数のビットストリームを生成するという観点において、従来技術の複数の方法より効率的な、上記した複数の記述子の複数の符号化方法が開示される。
【0008】
そのような複数の記述子は、上述の未だ公開されていないイタリア特許出願第TO2012A000602号に開示される。これは、複数の勾配の複数のヒストグラムを用いた複数の画像記述子から、該複数の勾配の複数のヒストグラムの変換に基づいて、ロバスト、識別的、拡張可能、且つコンパクトな複数の画像記述子の算出を開示する。ここで、この変換は、それらの複数のビン値の間の複数の分布の形状および関係の形で、その中に含まれる特徴的でロバストな情報を捉える。
【0009】
複数の勾配の複数のヒストグラムを用いて、複数の画像記述子からロバスト、識別的、拡張可能、且つコンパクトな複数の画像記述子を算出する重要な複数の態様、特に、未だ公開されていないイタリア特許出願第TO2012A000602号に従ったSIFT画像記述子が、以下に説明される。
【0010】
手短に言えば、SIFT法により、複数の局所画像記述子が以下のように形成される。まず、複数の画像スケールおよび複数の位置にわたる検索が、スケールおよび方向に不変な、安定した複数の画像キーポイントを識別し、場所を特定すべく実行される。次に、それぞれのキーポイントについて、複数の局所画像勾配に基づいて1または複数の支配的な方向が決定され、各キーポイントの割り当てられた方向、スケール、および位置に対して、続く局所記述子算出が実行されることを可能にする。従って、これら複数の変換に対する不変性を実現する。次に、複数のキーポイント周りの複数の局所画像記述子が以下のように形成される。まず、キーポイント周りの領域中の複数の画像サンプル点において、勾配の大きさおよび方向情報が計算され、次に、これら複数のサンプルが、n×nの部分領域にわたって複数の内容をまとめた複数の方向ヒストグラム中に蓄積される。
【0011】
説明のみを目的として、SIFTキーポイント記述子の例が
図1aおよび1bに示される。
図1aは、4×4の部分領域SRへと局所領域Rを細分化することを示す。
図1bは、各方向ヒストグラムに対する8つのビンへと360°の方向範囲を細分化することを示し、それぞれの矢印の長さは、そのヒストグラム入力の大きさに対応する。従って、
図1に示される局所画像記述子は、4×4×8=128個の要素を有する。SIFT技術のより詳細は、David G. Loweの"Distinctive image features from scale-invariant keypoints"International Journal of Computer Vision, 60, 2 (2004), pp. 91-110に見出すことができる。
【0012】
未だ公開されていないイタリア特許出願第TO2012A000602号に従うと、ロバスト、識別的、拡張可能、且つコンパクトな画像記述子は、以下のように、SIFT記述子から計算されてよい。
【0013】
以下の説明においてH(b)(以降、「(b)」という添字表記は、(b)が添えられている記号が太字で表されることを意味する)は、それぞれ8つのビンh(i)(以降、「(i)」という添字表記は、(i)が添えられている記号が斜体字で表されることを意味する)を持った複数の勾配の16個のヒストグラムh(b)を含む全SIFT記述子である。一方、V(b)は、それぞれ8つの要素v(i)を持った16個の副記述子(subdescriptor)v(b)を含む、本発明に従った全局所記述子である。
【0014】
図2aに示されるように、H(b)は、複数の勾配の16個のヒストグラムh(b)
0−h(b)
15を含むSIFT局所画像記述子を示すものとしよう。それぞれのヒストグラムは、
図2bに示されるように、8つのビン値h(i)
0−h(i)
7を含む。よりロバスト、識別的、拡張可能、且つコンパクトな画像記述子は、H(b)のh(b)
0−h(b)
15のそれぞれを変換し、次に、結果として得られた複数の変換された値に対してスカラー量子化を実行することによって計算されてよい。より具体的には、h(b)
0−h(b)
15のそれぞれは、以下に示されるように、
図3の変換利用情報に従った変換Aまたは変換Bに従って変換される。すなわち、h(b)
0、h(b)
2、h(b)
5、h(b)
7、h(b)
8、h(b)
10、h(b)
13、h(b)
15に対しては変換Aが適用され、h(b)
1、h(b)
3、h(b)
4、h(b)
6、h(b)
9、h(b)
11、h(b)
12、h(b)
14に対しては変換Bが適用される。これにより、h(b)
0−h(b)
15にそれぞれ対応する副記述子v(b)
0−v(b)
15を持った変換された記述子V(b)を与え、v(b)
0−v(b)
15はそれぞれ要素v(i)
0−v(i)
7を含むので、全部で128個の要素を与える。
【0015】
変換A (1)
v(i)
0=h(i)
2−h(i)
6
v(i)
1=h(i)
3−h(i)
7
v(i)
2=h(i)
0−h(i)
1
v(i)
3=h(i)
2−h(i)
3
v(i)
4=h(i)
4−h(i)
5
v(i)
5=h(i)
6−h(i)
7
v(i)
6=(h(i)
0+h(i)
4)−(h(i)
2+h(i)
6)
v(i)
7=(h(i)
0+h(i)
2+h(i)
4+h(i)
6)−(h(i)
1+h(i)
3+h(i)
5+h(i)
7)
【0016】
変換B (2)
v(i)
0=h(i)
0−h(i)
4
v(i)
1=h(i)
1−h(i)
5
v(i)
2=h(i)
7−h(i)
0
v(i)
3=h(i)
1−h(i)
2
v(i)
4=h(i)
3−h(i)
4
v(i)
5=h(i)
5−h(i)
6
v(i)
6=(h(i)
1+h(i)
5)−(h(i)
3+h(i)
7)
v(i)
7=(h(i)
0+h(i)
1+h(i)
2+h(i)
3)−(h(i)
4+h(i)
5+h(i)
6+h(i)
7)
【0017】
次に、各要素は、各要素に対する複数の量子化ビンの間に特定の発生確率分布を実現すべく、選択された複数の量子化閾値で、粗いスカラー量子化、例えば、3値(3−水準)量子化される。このスカラー量子化は、副記述子v(b)
〜0−v(b)
〜15を有する量子化された記述子V(b)
〜を生成する。v(b)
〜0−v(b)
〜15のそれぞれは要素v(i)
〜0−v(i)
〜7を含むので、やはり、全部で128個の要素を有する。
このコンパクトな記述子は、複数の勾配の元々の複数のヒストグラムに含まれる、最も識別的でロバストな情報を、それらの複数のビン値の間の複数の分布の形状および関係の形で捉える。
【0018】
記述子V(b)、並びにその量子化された変形版V(b)
〜の重要な利点は、とても拡張可能性があること、および、その用途の複数の格納要求または伝送チャネルの複数の特性により、必要な場合に、その複数の要素のうちの1または複数を単純に除くことによって、その次元が容易に低減され得ることである。簡潔にするために、以下の説明においては、副記述子v(b)
0−v(b)
15を有する、事前に量子化された記述子V(b)の符号化の観点から、本発明の重要な複数の態様が説明されるであろう。副記述子v(b)
0−v(b)
15のそれぞれは要素v(i)
0−v(i)
7を含み、そうでないことが述べられていない限り、量子化された記述子V(b)
〜の符号化は同様な方式で進むことが理解されるべきである。
【0019】
図4a−4eは、わずか20個の記述子要素を利用した最も短い記述子長である記述子長0(DL0)から、全128個の要素を利用した最も長い記述子長である記述子長4(DL4)まで、5つの目標とする記述子長に対して優れた識別能力およびロバスト性を生成することが見出された、例示的な複数の要素の複数の組を示す。より具体的には、
図4aは、20個の要素を含む記述子長DL0に対する、例示的な複数の要素の組を示す。
図4bは、40個の要素を含む記述子長DL1に対する、例示的な複数の要素の組を示す。
図4cは、64個の要素を含む記述子長DL2に対する、例示的な複数の要素の組を示す。
図4dは、80個の要素を含む記述子長DL3に対する、例示的な複数の要素の組を示す。そして
図4eは、全128個の要素を含む記述子長DL4に対する、例示的な複数の要素の組を示す。従って、各記述子長に対して、各副記述子の各要素は、
図4a−4eの要素利用の複数の組に従って符号化されるであろうし、あるいはされないであろう。
【0020】
この拡張可能性という特性に対するかぎは、各記述子長に対して利用される複数の要素の組が、
図4a−4eに示されるような、より高次の全ての記述子長に対して利用される複数の要素の組と同一であるかまたはそのサブセットでなければならないことである。これは、より高次の記述子長を有する記述子が、より低次の記述子長を有する記述子と同じ複数の要素の組まで低減されるように、その過剰な複数の要素を単純に除去することによって、長さの異なる複数の記述子のコード変換および比較を可能にする。
【0021】
この記述子の簡単な符号化法は、"副記述子ごとの"順序で、すなわち、一般的な場合には、v(i)
0,0、v(i)
0,1、...、v(i)
0,7、v(i)
1,0、v(i)
1,1、...、v(i)
1,7、...、v(i)
15,0、v(i)
15,1、...、v(i)
15,7という順序で、複数の要素を計算することおよび符号化することを含む。
ここで、v(i)
i,jは、副記述子v(b)
iの要素v(i)
jを示す。これは、どの要素が符号化されるべきかを決定すべく、例えば
図3に示されるような適切な複数の変換を使用して、また、例えば
図4に示されるような、所望の記述子長に対する適切な要素利用の複数の組を使用して、変換されたヒストグラムv(b)
0に対して複数の要素v(i)
0、v(i)
1、...、v(i)
7を符号化し、次に、変換されたヒストグラムv(b)
1に対して複数の要素v(i)
0、v(i)
1、...、v(i)
7を符号化し、等々を意味する。
【0022】
この符号化は、例えば記述子長DL0に対しては記述子v(i)
0,0、v(i)
1,0、v(i)
2,0、v(i)
3,0、v(i)
4,0、v(i)
5,0、v(i)
5,6、v(i)
6,0、v(i)
6,6、v(i)
7,0、v(i)
8,0、v(i)
9,0、v(i)
9,6、v(i)
10,0、v(i)
10,6、v(i)
11,0、v(i)
12,0、v(i)
13,0、v(i)
14,0、v(i)
15,0を生じ、記述子長DL1に対しては記述子v(i)
0,0、v(i)
0,1、v(i)
1,0、v(i)
1,1、v(i)
2,0、v(i)
2,1、v(i)
3,0、v(i)
3,1、v(i)
4,0、v(i)
4,1、v(i)
5,0、v(i)
5,1、v(i)
5,2、v(i)
5,6、v(i)
6,0、v(i)
6,1、v(i)
6,2、v(i)
6,6、v(i)
7,0、v(i)
7,1、v(i)
8,0、v(i)
8,1、v(i)
9,0、v(i)
9,1、v(i)
9,2、v(i)
9,6、v(i)
10,0、v(i)
10,1、v(i)
10,2、v(i)
10,6、v(i)
11,0、v(i)
11,1、v(i)
12,0、v(i)
12,1、v(i)
13,0、v(i)
13,1、v(i)
14,0、v(i)
14,1、v(i)
15,0、v(i)
15,1を生じる。
【0023】
図5は、一連のステップとしての、そのような簡単なエンコーダの動作を示す。以下の説明、並びに、エンコーダの動作についての続く説明において、そうでないことが特定されない限り、そのような一連のステップは、概念的な複数のステップに対応し、複数のソフトウェア実装、複数の構成要素、および複数の命令の特定のハードウェアには対応しないが、エンコーダの全体的な動作を代表するものである。より具体的には、
図5は、例えば、
図4に示される複数の記述子長のうちの1つに対応する記述子長DLkに対するエンコーダの動作を示す。
図5のステップS100において、第1の副記述子、すなわちv(b)
0にて、記述子の符号化が始まる。ステップS110において、例えば
図3の変換利用に従って、処理されている副記述子に対して適切な変換が選択される。本明細書に説明されるような、異なる2つの変換に従って記述子H(b)から記述子V(b)を算出することは、単なる例にすぎないことに留意されるべきである。記述子H(b)からの記述子V(b)の算出はまた、例えば変換Aのみ、あるいは変換Bのみの単一の変換に従って実行されてよい。これによりステップS110を不要にする。あるいは、2つよりも多くの変換に従って実行されてもよい。ステップS120において、第1の副記述子要素、すなわちv(i)
0にて、処理されている副記述子の符号化が始まる。次に、ステップS130において、例えば
図4の複数の利用の組のうちの1つを使用して、特定の副記述子の特定の要素、すなわちv(i)
0,0を使用するかしないかが、記述子長DLkに対する要素利用情報に対してチェックされる。もしも要素が使用されていない場合には、処理はステップS150へと移る。もしも記述子長DLkに対して要素が使用されている場合には、ステップS140において、その符号化が行われる。ここでは、エンコーダの動作についての続く説明と同様に、そうでないことが特定されない限り、"符号化"という用語は、要素v(i)
0,0を局所画像記述子の一部にするような1または複数の動作、またはそれらの組合せを意味する。この動作は、例としてであって限定するものではないが、以前に見られた(1)または(2)の適切な変換関数に従った計算、全ての要素が事前に計算されている場合に、どの要素が最終的に記述子中に使用されるかについての知識無しでの、局所画像記述子へと含む要素の選択、要素値の量子化、揮発性または不揮発性メモリへの要素の格納、および、伝送チャネルに沿った要素の伝送を含む。ステップS140の後に、またはステップS130において記述子長DLkに対してその要素が使用されていないことが決定された場合、処理はステップS150へと移る。ステップS150において、もしも現在の要素がその副記述子の最後の要素ではない場合、その副記述子の次の要素へと処理は移る。そうでない場合、処理はステップS160へと移る。ステップS160において、もしも現在の副記述子がその局所画像記述子の最後の副記述子ではない場合、その局所画像記述子の次の副記述子へと処理は移る。そうでない場合、処理は終了する。従って、ステップS100、S120、S150、およびS160は、処理が実行される順序に関係するのに対し、ステップS110、S130、およびS140は、局所画像記述子の実際の符号化に関係することが明らかである。
【0024】
この記述子の別の簡単な符号化法は、"要素ごとの"順序で、複数の要素を計算することおよび符号化することを含む。すなわち、どの要素が符号化されるべきかを決定すべく、例えば
図3に示されるような複数の適切な変換を再度使用して、また、例えば
図4に示されるような所望の記述子長に対する適切な要素利用の複数の組を使用して、一般的な場合には、v(i)
0,0、v(i)
1,0、...、v(i)
15,0、v(i)
0,1、v(i)
1,1、...、v(i)
15,1、...、v(i)
0,7、v(i)
1,7、...、v(i)
15,7、すなわち、副記述子v(b)
0、v(b)
1、...、v(b)
15に対して要素v(i)
0を符号化し、次に、副記述子v(b)
0、v(b)
1、...、v(b)
15に対して要素v(i)
1を符号化し、等々という順序である。そのようなエンコーダは、複数のステップの適切な並び替えにより、
図5のエンコーダと類似したやり方で動作してよい。一般に、前述の2つの方法のどちらも、その他の方法に対する利点を提供しない。コード変換、復号化、および処理を目的として、デコーダもまた、関連するコンピュータビジョン用途を目的として、恐らくは長さの異なる複数の記述子の処理および比較を可能とすべく、符号化処理および要素の順序および複数の利用の組を知っていなくてはならない。従って、要素利用の複数の組は、不変に固定されているか、または、複数の記述子と一緒に格納される/伝送されるかのいずれかでなくてはならない。この状況においては、簡単な符号化処理は不都合である。
【0025】
より具体的には、そのような符号化は、符号化順序における異なる複数の要素の間の相対的重要度を無視する。その結果として、与えられた記述子長の記述子が、異なる記述子長の記述子へと変換されるようなコード変換の観点では、あるいは、2つの記述子の間で対応する複数の要素を比較することによって長さの異なる複数の記述子を復号化および比較する観点では、そのような符号化は、所望の結果を実現するために、複数の記述子の構文解析を必要とする。
【0026】
さらに、そのような符号化は、異なる複数の要素間の相対的重要度における複数の冗長パターンを無視し、特定の要素が符号化されるべきか否かについて決定することに関して不必要に複雑である。
【0027】
従って、本発明の目的は、従来技術の複数の方法に対してより効率的な、勾配ヒストグラムに基づいて画像記述子を符号化する方法、および関連する画像処理装置を開示することである。
【0028】
本発明のさらなる目的は、より柔軟な、勾配ヒストグラムに基づいて画像記述子を符号化する方法、および関連する画像処理装置を開示することである。
【0029】
本発明のさらなる目的は、最適化されたエンコーダの実装を実現することを可能にする、勾配ヒストグラムに基づいて画像記述子を符号化する方法、および関連する画像処理装置を開示することである。
【0030】
本発明のさらなる目的は、任意の長さの複数の画像記述子を取得することを可能にする、勾配ヒストグラムに基づいて画像記述子を符号化する方法、および関連する画像処理装置を開示することである。
【0031】
本発明のこれらの、およびその他複数の目的は、本記載の不可欠な部分である添付の複数の特許請求項に請求されるように、勾配ヒストグラムに基づいて画像記述子を符号化する方法、および関連する画像処理装置によって実現される。
【発明の概要】
【0032】
手短に言えば、上記にて説明されたもののような複数の画像記述子を、要素利用順序に従ってそれらを符号化することにより、効率的に符号化する方法が開示される。これは、構文解析の代わりに記述子の単純な切捨てによって、より低次の記述子長へと変換されることのできる、拡張可能な複数の記述子をもたらす。
【0033】
符号化は、上記複数の副記述子グループの対応する複数の要素間の相対的重要度における冗長パターンに従って形成される、複数の副記述子グループに従って実行される。
【0034】
より具体的には、高い認識性能を実現するという観点において、複数の副記述子の対応する複数の要素がそれらの相対的重要度に従った記述子の全要素の順序付けにおいて同様な重要度を有するような複数の副記述子をグループ化することにより、このグループ化が実行される。より具体的には、記述子中心からのそれらの距離に従って複数の副記述子をグループ化することにより、および、さらに複数の副記述子をそれらの間の距離に従ってグループ化することにより、および/または、さらに、対応する複数の符号化特性に従って1つのグループの複数の副記述子を順序付けることにより、および/または、さらに、1つのグループの複数の副記述子をそれらの間の距離に従って順序付けることにより、実行される。
【0035】
本発明に従った符号化方法は、効率、計算の複雑さ、および/または拡張可能な複数のビットストリームを生成するのに必要な情報量の観点から、有利にも、従来技術の複数のものより効率的である。
【0036】
本発明のさらなる複数の特徴が、本記載の不可欠な部分として意図されている添付の複数の特許請求項において提示される。
【図面の簡単な説明】
【0037】
添付された複数の図面を具体的に参照した、勾配ヒストグラムに基づいて画像記述子を符号化する方法および関連する画像処理装置に関する以下の詳細な説明から、上記の複数の目的がより明らかとなるであろう。
【
図1a】従来技術のキーポイント記述子の例を示す。
【
図1b】従来技術のキーポイント記述子の例を示す。
【
図2a】
図1のキーポイント記述子の複数の勾配の複数のヒストグラムを示す。
【
図2b】この複数の勾配のヒストグラムのうちの1つに関する複数のビン値を示す。
【
図3】
図2の複数の勾配の複数のヒストグラムに対して適用されるべき例示的な複数の変換を示す。
【
図4a】5つのターゲット記述子長のそれぞれに対する、複数の要素の例示的な組を示す。
【
図4b】5つのターゲット記述子長のそれぞれに対する、複数の要素の例示的な組を示す。
【
図4c】5つのターゲット記述子長のそれぞれに対する、複数の要素の例示的な組を示す。
【
図4d】5つのターゲット記述子長のそれぞれに対する、複数の要素の例示的な組を示す。
【
図4e】5つのターゲット記述子長のそれぞれに対する、複数の要素の例示的な組を示す。
【
図5】
図4の複数の要素の複数の組を使用したエンコーダの動作を示すフローチャートを表す。
【
図6】本発明に従った方法によって使用される要素利用順序を示す。
【
図7】
図6の要素利用順序を使用したエンコーダの動作を示す。
【
図8】領域の中心および局所画像記述子の部分領域の中心を示す。
【
図9】本発明に従った方法の第1の実施形態または第4の実施形態に従った、局所画像記述子の複数の副記述子の第1のグループ化を示す。
【
図10】
図9のグループ化に関連する第1のグループ−要素利用順序を示す。
【
図11】本発明に従った方法の第1、第2、または第4の実施形態に従った、エンコーダの動作を示す。
【
図12】本発明に従った方法の第1の実施形態に従った、局所画像記述子の複数の副記述子の第2の例示的なグループ化を示す。
【
図13】
図12のグループ化に関連する第2のグループ−要素利用順序を示す。
【
図14】本発明に従った方法の第1の実施形態に従った、局所画像記述子の複数の副記述子の第3の例示的なグループ化を示す。
【
図15】
図14および17のグループ化に関連する第3のグループ−要素利用順序を示す。
【
図16】本発明に従った方法の第1の実施形態に従った、第4の例示的なグループ化を示す。
【
図17】本発明に従った方法の第2および第3の実施形態に従った、局所画像記述子の複数の副記述子の第5の例示的なグループ化を示す。
【
図18】本発明に従った方法の第3の実施形態に従った、
図17の要素利用順序を使用するエンコーダの動作を示す。
【
図19】本発明に従った方法の第4の実施形態に従った、エンコーダの動作を示す。
【
図20】本発明に従った方法の第5の実施形態に従った、局所画像記述子の複数の副記述子の例示的なグループ化を示す。
【
図21a】
図20のグループ化に従った複数の要素の例示的な複数の組を示す。
【
図21b】
図20のグループ化に従った複数の要素の例示的な複数の組を示す。
【
図21c】
図20のグループ化に従った複数の要素の例示的な複数の組を示す。
【
図21d】
図20のグループ化に従った複数の要素の例示的な複数の組を示す。
【
図21e】
図20のグループ化に従った複数の要素の例示的な複数の組を示す。
【
図22a】グループ−要素利用の複数の組に変換された場合の、
図21aの複数の要素の複数の組を示す。
【
図22b】グループ−要素利用の複数の組に変換された場合の、
図21bの複数の要素の複数の組を示す。
【
図22c】グループ−要素利用の複数の組に変換された場合の、
図21cの複数の要素の複数の組を示す。
【
図22d】グループ−要素利用の複数の組に変換された場合の、
図21dの複数の要素の複数の組を示す。
【
図22e】グループ−要素利用の複数の組に変換された場合の、
図21eの複数の要素の複数の組を示す。
【
図23】
図22a−22eの複数の要素の変換された複数の組を提供するための記述子の符号化用エンコーダの動作を示す。
【
図24】本発明に従った方法を実行するのに適切な画像処理装置を示す。
【発明を実施するための形態】
【0038】
本発明に従うと、複数の異なる記述子長に対する要素利用の複数の組に従って符号化するよりもむしろ、要素利用順序に従った、より効率的なエンコーダが動作してよく、その複数の要素が要素利用順序に従って順序付けられ、記述子の単純な切捨てによってより低次の記述子長へと変換されることのできる記述子を生成する。そのような要素利用順序は、112バイトに符号化され得る128個の要素が順序付られたリストの形を取ってよい。リストの各入力は、
図6に示されるように、副記述子インデックスおよび要素インデックスを特定する。よって、例えば、
図6は要素優先度リストを示し、ここでは要素v(i)
5,0に最も高い優先度が与えられ、要素v(i)
9,0に2番目に高い優先度が与えられる、等である。従って、そのような要素利用順序エンコーダは、リスト中の最上位のl個の要素を符号化することにより、長さlの記述子を生成してよい。
【0039】
図7は、
図6の要素利用順序を使用する、そのようなエンコーダの動作を示す。
図7のエンコーダにより、記述子の符号化は、要素利用順序における最上位の優先度(優先度1)を有する要素、すなわち、副記述子v(b)
5の要素v(i)
0で始まる。ステップS200において、この要素が属する副記述子に従って、例えば
図3の変換利用に従って、適切な変換が選択される。本明細書に説明されるような、異なる2つの変換に従って記述子H(b)から記述子V(b)を算出することは、単なる例にすぎないことに留意されるべきである。複数の異なる実施形態においては、記述子H(b)からの記述子V(b)の算出はまた、例えば変換Aのみ、あるいは変換Bのみの単一の変換に従って実行されてもよく、これによりステップS200を不要にする。あるいは、2つよりも多くの変換に従ってもよい。次に、要素、すなわちv(i)
5,0の符号化がステップS210において行われる。次に、ステップS220において、記述子のl個の要素のうちの所望の数がまだ符号化されていない場合には、要素利用順序中の次に最も高い優先度を有する要素へと処理は移る。そうでない場合には処理は終了する。従って、いくつの要素が符号化されるかの制御にステップS220が関係するのに対し、ステップS200およびS210は、局所画像記述子の実際の符号化に関係する。
【0040】
従って、
図7のエンコーダは、
図6中のような要素利用順序を使用して、その複数の要素が要素利用順序に従って順序付けられ、記述子の単純な切捨てによって、すなわち、記述子の最後の複数の要素を除くことによって、より低次の記述子長に変換されることのできる複数の記述子を生成し、
図4中のような要素利用の複数の組を使用する
図5のエンコーダよりも柔軟である。
【0041】
記述子中の要素の数lは、恐らく画像レベルで、記述子と一緒に格納される/伝送されるであろう。コード変換、復号化、および処理を目的として、デコーダもまた、関連するコンピュータビジョン用途の複数の目的のために、処理することの可能な要素順序を知っていなくてはならない。従って、要素利用順序は、不変に固定されているか、あるいは、複数の記述子と一緒に格納される/伝送されるかのいずれかでなくてはならない。
【0042】
しかしながら実際には、
図7のエンコーダの効率は改善されることができる。これは、
図6に示される要素利用順序が、かなりの量の冗長性を含んでおり、生成および使用することがある程度非実用的なためである。
【0043】
これに対する理由は、V(b)の128個の要素の完全な組は、その複数の要素が単一の優先度リストに従って順序付けられ得る単一の記述子に対しては対応しないが、特定の変換に従って複数の勾配の異なるヒストグラムから各副記述子が抽出されるような16個の異なる8要素副記述子には対応することによる。これにより、全ての副記述子の間の対応する複数の要素が、同一の角度分離を有する複数のビンの間の関係を捉える。
【0044】
従って、複数の要素の限られた組によって高い認識性能を実現するという観点において、記述子は、均一な要素分布、すなわち、できる限り多くの副記述子から要素を選択することと、記述子中心からの距離、すなわち、記述子中心により近い複数の副記述子に対してより高い優先度を与えることとをうまく両立させる必要があることが見出された。同時に、記述子中心までの複数の副記述子の距離が同一な場合には、複数の異なる副記述子からの対応する複数の要素の重要度がおよそ同一であり、その一方で、記述子中心までの複数の副記述子の距離が減少するに連れて、複数の異なる副記述子からの対応する複数の要素の重要度が増大することもまた見出された。
【0045】
この状況においては、記述子中心までの副記述子v(b)の距離とは、
図8に示されるように、副記述子v(b)を生じる複数の勾配のヒストグラムh(b)に対応する部分領域の中心と、複数の部分領域を含む領域の中心との間の距離を指す。これら複数の距離を計算すべく、画像領域および複数の部分領域の複数の大きさに戻って参照することが可能であるものの、必ずしも必要なわけではない。なぜならば、これら複数の距離を比較することにのみ関心があるからである。従って、これら複数の距離は、各部分領域のそれぞれの辺が、例えば単位長さを有するものと仮定することにより計算されてよい。さらに、この説明においてこれら複数の距離は複数のユークリッド距離であるが、他の適切な複数の距離基準もまた使用されてよい。
【0046】
その結果として、画像記述子の効率的な符号化の複数の目的のために、各グループの複数の副記述子に対して対応する複数の記述子要素が、利用順序における共通の重要度を割り当てられ、一緒に符号化されるように、画像記述子の複数の副記述子がグループ化されてよいことが認められる。
【0047】
第1の実施形態
本発明の第1の実施形態においては、複数の副記述子が、記述子中心からのそれらの距離に従ってグループ化される。
【0048】
例えば、そのようなグループ化の1つが
図9に示される。そこには3つのグループ、すなわち、記述子中心までの距離が最も長い複数の副記述子を含むg(b)
0={v(b)
0,v(b)
3,v(b)
12,v(b)
15}、記述子中心までの距離が2番目に長い複数の副記述子を含むg(b)
1={v(b)
1,v(b)
2,v(b)
4,v(b)
7,v(b)
8,v(b)
11,v(b)
13,v(b)
14}、および、記述子中心までの距離が最も短い複数の副記述子を含むg(b)
2={v(b)
5,v(b)
6,v(b)
9,v(b)
10}が存在する。各グループ内において、複数の副記述子は、昇順の副記述子インデックス順序で順序付けられる。しかしこれは限定的なものではなく、グループ中の最も上部で最も左側の副記述子から開始する時計回りのような、その他複数の順序が使用されてよい。各グループ内においては、グループの複数の副記述子の対応する複数の要素は、全て同じ符号化優先度が割り当てられる。
【0049】
このグループ化に基づいて、グループ−要素利用順序が生成されてよい。これは24要素の順序リストの形を取ってよく、15バイトに符号化されてよい。各リスト入力は、
図10に示されるように、副記述子のグループおよび要素インデックスを特定する。
図10のグループ−要素利用順序はただの例にすぎず、リスト中の複数の入力の優先度を変更することにより、異なる複数のグループ−要素利用順序が生成されてよいことに留意されるべきである。従って、
図10のグループ−要素利用順序は、長さおよび符号化サイズの観点において、
図6の要素利用順序よりもはるかに経済的である。よって、例えば
図10は、グループg(b)
2の要素v(i)
0に最も高い優先度が与えられ、符号化する最初の4つの要素がv(i)
5,0、v(i)
6,0、v(i)
9,0、およびv(i)
10,0であることをエンコーダに命令し、グループg(b)
1の要素v(i)
0に2番目に高い優先度が与えられ、符号化する次の8つの要素がv(i)
1,0、v(i)
2,0、v(i)
4,0、v(i)
7,0、v(i)
8,0、v(i)
11,0、v(i)
13,0、およびv(i)
14,0であることをエンコーダに命令する、等々であるような、グループ−要素優先度リストを示す。
【0050】
図11は、
図10のグループ−要素利用順序を使用し、上記グループ−要素利用順序における複数の要素の上位m個のグループを符号化するように構成されたそのようなエンコーダの動作を示す。
図11のエンコーダによると、記述子の符号化は、グループ−要素利用順序における最上位の優先度(優先度1)を有する複数の要素のグループ、すなわち、複数の副記述子v(b)
5、v(b)
6、v(b)
9、およびv(b)
10を含むグループg(b)
2の要素v(i)
0から始まる。ステップS300において、記述子の符号化は、グループの第1の副記述子、すなわちv(b)
5から始まる。ステップS310において、例えば
図3の変換利用に従って、副記述子に対して適切な変換が選択される。本明細書に説明されるような、異なる2つの変換に従って記述子H(b)から記述子V(b)を算出することは、単なる例にすぎないことに留意されるべきである。複数の異なる実施形態においては、記述子H(b)からの記述子V(b)の算出はまた、例えば変換Aのみ、あるいは変換Bのみの単一の変換に従って実行されてもよく、これによりステップS310を不要にする。あるいは、2つよりも多くの変換に従ってもよい。次に、要素、すなわちv(i)
5,0の符号化がステップS320において行われる。ステップS330において、もしも現在の副記述子が当該グループの最後の副記述子でない場合には、次の副記述子へと処理が移る。そうでない場合には、ステップS340へと処理は移る。次に、ステップS340において、もしも複数の要素のm個のグループのうちの所望の数がまだ符号化されていない場合には、グループ−要素利用順序において次に最も高い優先度を有する複数の要素のグループへと処理は移る。そうでない場合には、処理は終了する。従って、ステップS300、S330、およびS340は、処理が実行される順序、および複数の要素のいくつのグループを符号化するかの制御に関係する。これに対して、ステップS310およびS320は、局所画像記述子の実際の符号化に関係する。
【0051】
グループの数mまたは記述子中の対応する要素の数lは、恐らく画像レベルで、記述子と一緒に格納される/伝送されるであろう。
【0052】
図6の要素利用順序よりも
図10のグループ−要素利用順序がより経済的であるという事実は、より効率的且つ経済的なエンコーダをもたらす。さらに、以前に見られたように、コード変換、復号化、および処理を目的として、デコーダもまた、関連するコンピュータビジョン用途の複数の目的のために、複数の記述子を処理および比較することを可能とすべく符号化処理および要素利用順序を知っていなくてはならない。これは、要素利用順序が固定されているか、あるいは複数の記述子と一緒に伝送されるかのいずれかでなくてはならないことを意味する。異なる複数の用途は、複数の要素の限られた組によって高い認識性能を実現すべく、恐らく画像またはサブ画像レベルにおいて、例えば、記述子中心に最も近い複数の副記述子に対してより高い優先度を与えることにより、または、特定クラスの要素、例えばv(i)
2ではなくv(i)
7に対してより高い優先度を与えることにより、要素利用順序を変更する必要があるだろう。この場合、要素利用順序は、複数の記述子と一緒に格納されねばならない。あるいは伝送されねばならない。複数の低ビットレートの記述子のサイズが通常数100バイトであることを考慮すると、
図10のグループ−要素利用順序は、
図6の要素利用順序よりもはるかに低いオーバーヘッドを表す。さらに、副記述子のグループ化は固定されていてよく、エンコーダおよびデコーダの両者に対して知られていてよい。あるいは、複数の記述子と一緒に伝送されてよい。例えば、今までのところ考慮されてきたグループ化については、グループの数および各グループの構成のサイズは、10バイトより小さく符号化されてよい。
【0053】
本発明の第1の実施形態に従った別の例として、異なるグループ化が
図12に示されている。ここでは2つのグループ、すなわち、周辺の副記述子を全て含むg(b)
0={v(b)
0、v(b)
1、v(b)
2、v(b)
3、v(b)
4、v(b)
7、v(b)
8、v(b)
11、v(b)
12、v(b)
13、v(b)
14、v(b)
15}、および、記述子中心までの距離が最も短い複数の副記述子、すなわち中心の副記述子を全て含むg(b)
1={v(b)
5、v(b)
6、v(b)
9、v(b)
10}が存在する。従って、この例では、記述子中心までの距離は変動するが、グループg(b)
1の複数の副記述子よりも中心からは常にもっと離れている複数の副記述子を、グループg(b)
0は含む。各グループ内において、グループの複数の副記述子の対応する複数の要素は、全て同じ符号化優先度が割り当てられている。このグループ化に基づいて、グループ−要素利用順序が生成されてよい。これは、16要素の順序リストの形を取ってよく、8バイトに符号化されてよい。各リスト入力は、
図13に示されるように、副記述子のグループおよび要素インデックスを特定する。
図13のグループ−要素利用順序に従って記述子を符号化すべく、
図11のエンコーダが次に再度使用されてよい。
図13のグループ−要素利用順序はただの例にすぎず、リスト中の複数の入力の優先度を変更することにより、異なる複数のグループ−要素利用順序が生成されてよいことに留意されるべきである。
【0054】
本発明の第1の実施形態に従った別の例として、異なるグループ化が
図14に示されている。ここでは4つのグループ、すなわち、記述子中心までの距離が最も長い複数の副記述子を含むg(b)
0={v(b)
0、v(b)
3、v(b)
12、v(b)
15}、記述子中心までの距離が2番目に長い4つの副記述子の組を含むg(b)
1={v(b)
1、v(b)
2、v(b)
4、v(b)
7}、記述子中心までの距離がやはり2番目に長い異なる4つの副記述子の組を含むg(b)
2={v(b)
8、v(b)
11、v(b)
13、v(b)
14}、および、記述子中心までの距離が最も短い複数の副記述子を含むg(b)
3={v(b)
5、v(b)
6、v(b)
9、v(b)
10}が存在する。従って、この例では、グループg(b)
1とg(b)
2の複数の副記述子は、記述子の中心から同一の距離にある。このグループ化は、
図9のグループ化から、元々のグループg(b)
1を新たなグループg(b)
1とg(b)
2とに細分することによって得られる。こうする利点は、最適化されたエンコーダの実装において望ましい、同じ数の副記述子を有する複数のグループをもたらすことである。各グループ内において、グループの複数の副記述子の対応する複数の要素は、全て同じ符号化優先度が割り当てられている。このグループ化に基づいて、グループ−要素利用順序が生成されてよい。これは、32要素の順序リストの形を取ってよく、20バイトに符号化されてよい。各リスト入力は、
図15に示されるように、副記述子のグループおよび要素インデックスを特定する。
図15のグループ−要素利用順序に従って記述子を符号化すべく、
図11のエンコーダが次に再度使用されてよい。
図15のグループ−要素利用順序はただの例にすぎず、リスト中の複数の入力の優先度を変更することにより、異なる複数のグループ−要素利用順序が生成されてよいことに留意されるべきである。
【0055】
明らかに、4つのグループにする
図14のグループ化は、ただ1つだけというわけではない。例えば、複数のグループg(b)
0={v(b)
0、v(b)
3、v(b)
12、v(b)
15}、g(b)
1={v(b)
1、v(b)
2、v(b)
13、v(b)
14}、g(b)
2={v(b)
4、v(b)
7、v(b)
8、v(b)
11}、およびg(b)
3={v(b)
5、v(b)
6、v(b)
9、v(b)
10}を含む代替的なグループ化が、
図16に示される。従って、
図16におけるグループg(b)
0およびg(b)
3は、
図14におけるそれらと同一であるが、g(b)
1とg(b)
2の複数の副記述子は、これら2つのグループのそれぞれが、副記述子格子の左上方、右上方、左下方、および右下方部分から1つの副記述子を含むように、
図14と比べて入れ替えられている。
【0056】
図7のエンコーダと
図11のエンコーダとの間の1つの差異は、前者が任意の長さの複数の記述子を生成するのに対して、後者は、複数の副記述子グループによって決定された細かさをその長さが有するような、複数の記述子の符号化を可能とすることである。実際には、後で示されるように、後者は、任意の長さの複数の記述子を生成するように構成されてよい。
【0057】
第2の実施形態
本発明の第2の実施形態において複数の副記述子は、第1に、中心からのそれらの距離に従って(第1条件)グループ化され、第2に、それらの互いの距離に従って(第2条件)グループ化される。
【0058】
この状況においては、複数の副記述子間の距離は、ユークリッド距離の形をやはり取ってよいし、あるいは、マンハッタン距離のような、別の適切な複数の距離基準の形を取ってよい。
【0059】
第2条件は、例えば、お互いに対する距離が予め定められた閾値より小さいような複数の副記述子を、1つのグループが含むべきではない、ということであってよい。従って、予め定められた閾値は、例えば、隣接する複数の副記述子をグループ化することを防止するように設定されてよい。
【0060】
第2の条件の目的は、異なる複数のグループの複数の副記述子が、可能である場合はいつでも、副記述子格子の比較的離れた複数の位置から取り出されることを保証することである。それにより、特徴の数が非常に小さい複数の記述子の情報容量を増大させる。第2の条件は、常に満たされなくてもよいことに留意されるべきである。例えば、中心の副記述子v(b)
5、v(b)
6、v(b)
9、およびv(b)
10を全て含む1つのグループにとって、これを満たすことは不可能である。
【0061】
例えば、そのようなグループ化の1つが
図17に示される。ここでは4つのグループ、すなわち、記述子中心までの距離が最も長い複数の副記述子を含むg(b)
0={v(b)
0、v(b)
3、v(b)
12、v(b)
15}、記述子中心までの距離が2番目に長い4つの副記述子の組を含むg(b)
1={v(b)
1、v(b)
7、v(b)
8、v(b)
14}、記述子中心までの距離がやはり2番目に長い異なる4つの副記述子の組を含むg(b)
2={v(b)
2、v(b)
4、v(b)
11、v(b)
13}、および、記述子中心までの距離が最も短い複数の副記述子を含むg(b)
3={v(b)
5、v(b)
6、v(b)
9、v(b)
10}が存在する。従って、この例では、グループg(b)
0、g(b)
1、およびg(b)
2の複数の副記述子は、隣接する複数の副記述子を含まないという条件を満たす。各グループ内において、グループの複数の副記述子の対応する複数の要素は、全て同じ符号化優先度が割り当てられている。このグループ化に基づいて、
図15に示されるもののようなグループ−要素利用順序が生成されてよく、次に、
図11に示されるもののようなエンコーダが、
図15のグループ−要素利用順序に従って記述子を符号化すべく、再度使用されてよい。
【0062】
明らかに、複数の副記述子間の総距離を最大化させる等のように、1つのグループ内の複数の副記述子の距離に基づいた代替的な複数の条件もまた使用されてよい。
【0063】
第3の実施形態
本発明の第3の実施形態においては、複数の副記述子は、中心からのそれらの距離に従ってグループ化される。各グループの複数の副記述子は、それらの対応する複数の符号化特性、例えばそれらの対応する複数の変換に従って定義された順序で符号化される。
【0064】
例えば、本発明の第2の実施形態の
図17のグループ化を
図3の変換配置パターンと併せて考慮すると、各グループ内において、2つの副記述子が変換Aに従って変換され、2つの副記述子が変換Bに従って変換されることが理解される。従って、各グループに対して、変換利用順序が"AABB"でなくてはならないという、共通の符号化順序条件を設定することが可能である。すなわち、各副記述子グループに対して、グループ中の第1の副記述子の変換は変換Aであり、グループ中の第2の副記述子の変換もまた変換Aであり、グループ中の第3の副記述子の変換は変換Bであり、グループ中の第4の副記述子の変換もまた変換Bである、という符号化順序である。従って、記述子中心までの距離が最も長い複数の副記述子を含むg(b)
0={v(b)
0、v(b)
15、v(b)
3、v(b)
12}、記述子中心までの距離が2番目に長い4つの副記述子の組を含むg(b)
1={v(b)
7、v(b)
8、v(b)
1、v(b)
14}、記述子中心までの距離がやはり2番目に長い異なる4つの副記述子の組を含むg(b)
2={v(b)
2、v(b)
13、v(b)
4、v(b)
11}、および、記述子中心までの距離が最も短い複数の副記述子を含むg(b)
3={v(b)
5、v(b)
10、v(b)
6、v(b)
9}というグループが存在する。各グループ内において、グループの複数の副記述子の対応する複数の要素は、全て同じ符号化優先度が割り当てられている。さらに、各グループ内において、グループ中の4つの副記述子に対する変換利用情報は常に"AABB"である。これは、効率的なエンコーダの実施が、各副記述子の適用可能な変換を識別する必要の無いことを意味する。
【0065】
図18は、
図15のグループ−要素利用順序を使用し、上記のグループ−要素利用順序における複数の要素の上位m個のグループを符号化するように構成された、そのようなエンコーダの動作を示す。
図18のエンコーダによると、記述子の符号化は、グループ−要素利用順序における最上位の優先度(優先度1)を有する複数の要素のグループ、すなわち、複数の副記述子v(b)
5、v(b)
10、v(b)
6、およびv(b)
9を含むグループg(b)
3の要素v(i)
0から始まる。ステップS400において、記述子の符号化は、グループの第1の副記述子、すなわちv(b)
5から始まる。全てのグループが共通且つ固定された変換利用順序を有するものと仮定すると、処理はステップS410へと移り、そこでは要素、すなわちv(i)
5,0の符号化が行われる。ステップS420において、もしも現在の副記述子がそのグループの最後の副記述子でない場合には、処理は次の副記述子へと移る。そうでない場合には、ステップS430へと処理は移る。次に、ステップS430において、もしも複数の要素のm個のグループのうちの所望の数がまだ符号化されていない場合には、グループ−要素利用順序において次に最も高い優先度を有する複数の要素のグループへと処理は移る。そうでない場合には、処理は終了する。従って、ステップS400、S420、およびS430は、処理が実行される順序、および複数の要素のいくつのグループを符号化するかの制御に関係する。これに対してステップS410のみは、局所画像記述子の実際の符号化に関係する。
【0066】
上記の説明においては、各グループ内で利用される複数の変換に対して共通の符号化順序条件が定義されている。しかしこの条件はまた、量子化のタイプおよびレベル、あるいはそれらの複数の組合せのような、その他複数の符号化特性に対して定義されてもよい。
【0067】
明らかに、必要な場合には、異なる複数の符号化順序条件が、複数の副記述子の異なる複数のグループに対して適用されてよい。例えば、本発明の第1の実施形態においては、
図9に従ったグループ化は、3つのグループをもたらす。すなわち、記述子中心までの距離が最も長い4つの副記述子を含むg(b)
0、記述子中心までの距離が2番目に長い8つの副記述子を含むg(b)
1、および、記述子中心までの距離が最も短い4つの副記述子を含むg(b)
2である。この場合、異なるグループサイズのために、変換利用順序は"AABB"でなければならないという符号化順序条件がグループg(b)
0およびg(b)
2に対して適用されてよく、変換利用順序は"AAAABBBB"でなければならないという異なる符号化順序条件がグループg(b)
1に対して適用されてよい。
【0068】
第4の実施形態
本発明の第4の実施形態においては、複数の副記述子は、中心からのそれらの距離に従ってグループ化される。各グループの複数の副記述子は、それらの間の距離に従って順序付けられる。
【0069】
順序付けの条件は、例えば、1つのグループ内で連続する複数の副記述子の間の距離が、予め定められた閾値より小さくなるべきではない、ということであってよい。従って、予め定められた閾値は、例えば、連続して隣接する複数の副記述子が1つのグループ内になることを防止するように設定されてよい。
【0070】
異なる順序付けの条件は、例えば、1つのグループ内で連続する複数の副記述子の間の距離が最大化されることであってよい。
【0071】
この順序付けは、以下に説明されるように、グループ−要素利用順序のサイズを低減すべく大きな複数の副記述子グループを用いる場合、および部分グループ符号化を用いる場合に特に有用である。このタイプの順序付けは、常に可能でなくてもよいことに留意されるべきである。例えば、中心の副記述子v(b)
5、v(b)
6、v(b)
9、およびv(b)
10を全て含む1つのグループにとって、連続して隣接する複数の記述子を有さないようにすることは不可能である。
【0072】
例えば、
図9に示されるグループ化を考慮すると、各グループ内の複数の副記述子は、グループ内で最も低いインデックスを有する副記述子から開始して、連続する複数の副記述子の間の距離を最大化するように順序付けられてよく、その結果、グループg(b)
0={v(b)
0、v(b)
15、v(b)
3、v(b)
12}、g(b)
1={v(b)
1、v(b)
14、v(b)
2、v(b)
13、v(b)
7、v(b)
8、v(b)
11、v(b)
4}、およびg(b)
2={v(b)
5、v(b)
10、v(b)
6、v(b)
9}をもたらすということが理解される。各グループ内において、グループの複数の副記述子の対応する複数の要素は、全て同じ符号化優先度が割り当てられている。
【0073】
このグループ化および各グループ内の複数の副記述子の順序付けに基づいて、
図10に示されるもののようなグループ−要素利用順序が生成されてよく、次に、
図11に示されるもののようなエンコーダが、
図10のグループ−要素利用順序に従って記述子を符号化すべく、再度使用されてよい。代替的に、
図19に示されるもののようなエンコーダが使用されてよい。
【0074】
より具体的には、
図7のエンコーダと
図11および
図18の複数のエンコーダとの間の1つの差異は、前者が任意の長さの複数の記述子を生成するのに対して、後者は、その長さが複数の副記述子グループによって決定された細かさを有する複数の記述子の符号化を可能とすることである。しかしながら実際には、
図11および18の複数のエンコーダのそれぞれは、所望の記述子長に到達された際に、複数の要素の最後のグループの部分符号化によって、任意の長さの複数の記述子を符号化するように容易に構成され得る。この状況においては、
図19は、
図11のエンコーダのそのような変更を示す。基本的に、
図19のエンコーダは、
図11のエンコーダのステップS330とS340を単純に入れ替えることによって得られる。これにより、所望の数の要素が符号化されるやいなや、1つのグループの符号化を
図19のエンコーダが終了させることが可能となる。明らかに、
図18のエンコーダに対してもまた、類似した変更が適用可能である。
【0075】
この状況においては、1つのグループ内の複数の副記述子を、それらの間の距離に従って順序付けることは、とても有利である。何故ならば、連続する複数の要素が、副記述子格子の比較的遠い複数の位置から取り出される結果となり、これは、1つのグループの部分符号化の場合には、特徴の数が小さい複数の記述子の情報容量を増大させるからである。
【0076】
第5の実施形態
本発明のこれ以前の複数の実施形態は、複数の副記述子を、記述子中心からのそれらの距離および/またはお互いに対するそれらの距離に基づいて、複数の副記述子グループにグループ化することから生じる、グループ−要素利用順序に従った、複数の画像記述子の効率的な符号化を示すものである。
【0077】
本発明の代替的な実施形態においては、1つのグループ内の各副記述子が、1つのグループ内のその他全ての副記述子に対するものと同一の要素利用の組を有するように、複数の副記述子がグループ化されてよい。
【0078】
例えば、4つのグループ、すなわち、g(b)
0={v(b)
5、v(b)
6、v(b)
9、v(b)
10}、g(b)
1={v(b)
1、v(b)
7、v(b)
8、v(b)
14}、g(b)
2={v(b)
2、v(b)
4、v(b)
11、v(b)
13}、およびg(b)
3={v(b)
0、v(b)
3、v(b)
12、v(b)
15}が存在する、
図20のグループ化を考慮する。これは、
図17におけるグループ化と同一であるが、より低いインデックスを有する複数のグループが、記述子中心に対してより近い複数の副記述子を含むようにグループインデックスが割当て直されている(すなわち、g(b)
0とg(b)
3とが入れ替えられている)。このグループ化を
図4a−4eの要素利用の複数の組と組み合わせると、
図21a−21eのグループ−要素利用の複数の組を導く。
【0079】
各記述子長に対して利用される複数の要素の組は、より高次の記述子長の全てに対して利用される複数の要素の組と同一でなければならないので、またはそのサブセットでなければならないので、
図21a−21eのグループ−要素利用の複数の組は、
図22a−22eに示されるような、漸増的グループ−要素利用の複数の組へと変換されてよい。ここでは、各記述子長(例えば
図22cのDL2)に対し、対応する要素利用の組は、直前のより低次の記述子長(例えば、
図22bのDL1)と比べて、当該記述子長の記述子を構成する付加的な複数の要素のみを示す。
【0080】
図22a−22eの漸増的グループ−要素利用の複数の組に基づいて、エンコーダは、記述子の単純な切捨てによってより低次の記述子長へと変換されることのできる複数の記述子を生成してよい。
【0081】
図23は、長さDLkの記述子の符号化に対するそのようなエンコーダの動作を示す。より具体的には、ステップS600において、最も低次の記述子長の記述子、すなわちDL0の記述子を符号化することにより処理が始まる。ステップS610において、DL0記述子の符号化が、第1の副記述子グループ、すなわちg(b)
0の符号化によって始まる。そしてステップS620において、第1の副記述子グループの符号化が、第1の要素、すなわちv(i)
0の符号化によって始まる。ステップS630において、
図22の漸増的グループ−要素利用の複数の組に従って、記述子長DL0におけるg(b)
0に対し、もしも要素v(i)
0が使用されていない場合、処理はステップS680へと移る。そうでない場合、処理はステップS640へと移る。ステップS640において、グループg(b)
0の第1の副記述子が選択され、すなわちv(b)
5、ステップS650において、例えば
図3に従って適切な変換関数が選択される。本明細書に説明されるような、異なる2つの変換に従って記述子H(b)から記述子V(b)を算出することは、単なる例にすぎないことに留意されるべきである。複数の異なる実施形態においては、記述子H(b)からの記述子V(b)の算出はまた、例えば変換Aのみ、あるいは変換Bのみの単一の変換に従って実行されてもよく、これによりステップS650を不要にする。あるいは、2つよりも多くの変換に従ってもよい。次に、ステップ660において、要素v(i)
5,0の符号化が行われる。ステップS670において、もしも現在の副記述子がグループ中の最後の副記述子ではない場合、グループ中の次の副記述子へと処理は移る。そうでない場合、処理はステップS680へと移る。ステップS680において、もしも現在の要素が最後の要素、すなわちv(i)
7ではない場合、次の要素へと処理は移る。そうでない場合、処理はステップS690へと移る。ステップS690において、もしも現在の副記述子グループが最後の副記述子グループではない場合、次の副記述子グループへと処理は移る。そうでない場合、処理はステップS695へと移る。ステップS695において、もしも現在の副記述子長が目標の副記述子長ではない場合、次の副記述子長へと処理は移り、漸増的グループ−要素利用の複数の組によって特定された付加的な複数の要素を符号化する。そうでない場合、処理は終了する。
【0082】
本発明の複数の態様および複数の実施形態が、SIFT画像記述子からの、ロバスト、識別的、拡張可能、且つコンパクトな複数の画像記述子の算出に対して詳細に提示されているが、本発明は、未だ公開されていないイタリア特許出願第TO2012A000602号に概要を説明されているように、複数の勾配の複数のヒストグラムに基づいたその他複数の画像記述子に対して適用可能である。
【0083】
単なる例として、
図24は、本発明に従った方法を実行するための概念的な画像処理装置を示す。より具体的には、処理装置1100は、画像またはビデオデータのような視覚データ、複数の勾配の複数のヒストグラムに基づいて事前に計算された複数の記述子、本発明の方法に従って事前に計算された複数のコンパクトな記述子、複数のプログラミング命令、またはユーザ入力を含み得る入力を、ユーザ入力装置、メディアリーダ、または伝送された複数の信号の受信装置の形を取り得る入力装置1000から受け取る。処理装置1100は、その他複数の処理ブロックの複数の動作を制御する中央演算処理装置1110の複数のメイン処理ブロック、揮発性メモリ1120、不揮発性メモリ1130、任意で、複数の勾配の複数のヒストグラムに基づいて複数の記述子を生成するように構成された記述子エクストラクターブロック1140、本発明に従った方法を実行するように構成されたコンパクトな記述子エンコーダブロック1150、および、任意で、例えば視覚的対応を確立または検証するための、上記複数のコンパクトな記述子を処理するように構成されたコンパクトな記述子プロセッサブロック1160を含む。処理装置1100は、視覚的表示装置、メディアライタ、または複数の信号の送信装置の形を取り得る出力装置1900へと接続される。出力装置1900は、画像またはビデオデータのような注釈付きの視覚データ、確立されたまたは検証された複数の視覚的対応のような処理情報、あるいは、本発明の方法に従った複数のコンパクトな記述子を含み得る出力を提供する。
図24に示される複数の処理ブロックおよび構成は、単なる概念的なものにすぎず、本発明に従った方法を実施するあらゆる装置に対して正確に対応しなくてもよいことが理解されるべきである。
【0084】
例として本明細書に説明される、勾配ヒストグラムに基づいて画像記述子を符号化する方法および関連する画像処理装置は、本発明の概念の新規性の主旨から逸脱することなく、多くの可能な変形に対する主題であってよい。本発明の実際的な実施においては、示されている複数の詳細が、異なる複数の形状を有してよく、あるいは、技術的に等価な他の複数の要素によって置換されてよいこともまた明らかである。
【0085】
従って、本発明は、勾配ヒストグラムに基づいて画像記述子を符号化する方法および関連する画像処理装置に限定されるものではなく、以下の複数の請求項において明確に特定されるような本発明の概念から逸脱することなく、等価な複数の部分および要素の多くの変更、改良、または置換に対する主題であってよいことが、容易に理解される。