AKAZE

**AKAZE(Accelerated-KAZE)**は、非線形スケール空間の上に構築された特徴検出器とバイナリ記述子である。SIFTやORBがガウシアンブラーによって画像を等しく平滑化するマルチスケール表現を構築する(ノイズと物体境界を同じように滑らかにしてしまう)のに対し、KAZEとAKAZEは適応的に平滑化する: 平坦な領域では強く、エッジをまたぐ部分では弱く。その結果、構造の境界上でより良く局在化されたキーポイントが得られる。

非線形拡散スケール空間

ガウシアンスケール空間は線形熱伝導方程式の解である。KAZEはこれを非線形拡散に置き換える:

Lt=div(c(x,y,t)L)\frac{\partial L}{\partial t} = \mathrm{div}\big(c(x, y, t)\, \nabla L\big)

ここで LL は発展する画像、tt はスケールパラメータ、cc は局所的な画像内容によって平滑化をゲートする**伝導関数(conductivity function)**である。Perona-Malikに従い、伝導性はわずかに事前平滑化された画像 LσL_\sigma の勾配によって駆動される。例えば

g2=11+Lσ2λ2g_2 = \frac{1}{1 + \dfrac{\lvert \nabla L_\sigma \rvert^2}{\lambda^2}}

コントラストパラメータ λ\lambda は、どの勾配が「エッジ」として数えられるかを設定する: Lσλ\lvert \nabla L_\sigma \rvert \gg \lambda となる場所では伝導性がゼロに向かって下がり拡散が停止し、エッジが保存される。勾配の低い領域では拡散が進み、ノイズが平滑化される。

FED: 高速化する

非線形拡散には閉形式の解が存在せず、数値的に積分する必要がある。KAZE(Alcantarilla et al., 2012)はAOS(加法演算子分割)スキームを用いたが、これは安定だが計算コストが高かった。AKAZE(2013)はこれを**Fast Explicit Diffusion(FED)**に置き換えた: 特別に選ばれた可変ステップサイズを持つ単純な陽的拡散ステップのサイクルであり、その組み合わせた効果は安定かつ正確でありながら、はるかに安価で並列化が容易である。これが名前の「Accelerated」の意味である ―― KAZEと同等の品質をごく一部の計算コストで実現する。AKAZEはまた、更なる計算量削減のためにピラミッド(オクターブ間でダウンサンプリング)上にスケール空間を構築する。

検出と記述

実践上の注意

検出器の中での位置づけ

実際には、AKAZEは中間的な位置を占める: ぼやけた、コントラストの低い、あるいは変形するシーンにおいて、ORBより著しく再現性と精度が高い一方で、SIFTよりはるかに安価である。OpenCVに搭載されており、パテントライセンスも不要で、バイナリ記述子はハミング距離ベースのマッチングパイプラインにそのまま組み込める。主なコストは、スケール空間の構築がORBの単純な画像ピラミッドよりもまだ遅いことであり、これが高フレームレートのSLAMフロントエンドがORB/FASTを維持し、マッチング品質が生の速度よりも重要な場合にAKAZEを使う理由である。

SLAMにおける意義

特徴の品質は下流のすべて ―― トラッキングの安定性、マップの精度、ループクロージングの再現率 ―― の上限を決める。AKAZEは、スケール空間そのものが設計上の選択であることを示している: 平滑化中にエッジを保存することで、SLAMの特徴がしばしば存在する物体境界付近でより良く局在化されたキーポイントが得られる。動きブレや弱いテクスチャに悩まされ、ORBが劣化するパイプラインにおいて、AKAZEは学習ベースの特徴に手を出す前に試すべき標準的な「より強力な古典的特徴」へのアップグレードの一つである。

ハンズオン

関連ノート