【ICRA 2021】誤差関数を自動最適化!!

ロボット工学

論文概要

Talk by N. Chebrolu: Adaptive Robust Kernels for Non-Linear Least Squares Problems (RAL+ICRA'21)
N. Chebrolu, T. Läbe, O. Vysotska, J. Behley, and C. Stachniss, “Adaptive Robust Kernels for Non-Linear Least Squares Problems,” IEEE Robotics and Automation...

※ 英語のなまりが強いので字幕をオンにすることをおすすめします。

著者は何を達成したの?

  • 誤差関数のカーネルを自動で調整する手法を提案
    • 既存手法を改良し、実用化した
    • ICPとBundle Adjustmentで性能を評価

この手法のキーポイントは何?

  • 既存の自動化手法を拡張し、より広範囲のデータに適用可能にした
  • ロボット工学でよく用いられる手法で、その有効性を証明した

どのような用途が考えられるか?

  • 誤差関数、損失関数を利用するあらゆる用途

次に読む論文は?

背景

この論文で扱っている問題は重要ですが、経験がないとわかりにくいので、問題の背景から解説していきます。

まず、下の図をご覧ください。
赤い点が観測データで、青い線がそれに最小二乗法で求められた近似直線です。

ご覧の通り、人間の目から見ると、どう見ても間違っています。

これは最小二乗法は、\((\hat x_i - x_i)^2\)という2乗誤差を最小化しようとしています(この関数はロバスト損失またはカーネルと呼ばれます)。
そしてこのカーネル関数を使うと、誤差は以下の図のように影響を及ぼします(緑色の線)。
横軸が誤差で、縦軸がそれに対応するペナルティの大きさです。

図のように、推定した位置と観測点の誤差が大きいと、誤差関数のペナルティが指数関数的に大きくなります。
そのため、数個の外れ値が推定結果に大きな影響を与えてしまいます。

この問題を解決するためには、大きな外れ値に対する誤差の影響を小さくする必要があり、これまでに多くのカーネル関数が提案されています。

では、どのカーネル関数を用いたらいいのか?
現状、多くの場合はこのカーネル関数は、人間によって調整する必要がありました。

「これを自動的に求めよう!」というのが、今回の論文の趣旨です。

手法

上で見てきた様々な形状のカーネル関数は、実は2つのパラメータ\(\alpha, c\)で以下の式で表現できることが既存研究でわかっています。

\(
\rho = \frac{|\alpha - 2|}{\alpha} \left( \left( \frac{(r/c)^2}{|\alpha -2|} + 1 \right)^{\alpha / 2} -1 \right)
\)

ここで\(r\)は、観測値と推定値との誤差です。
ざっくり説明すると、\(\alpha\)がカーネル関数の形状を、\(c\)がその大きさ(スケール)を決定します。

そして、この関数の最適化手法もすでに提案されています。
誤差の最小化を目指して最適化を行うのではなく、誤差の確率分布を最小化します。
これにより、効率的に最適なカーネル関数を特定することができます。
詳しくは論文を見てみてください(特にIII.Bが重要)。

さて、今回の論文の提案はここからです。

既存手法の問題としては、上の数式の\(\alpha\)の取れる範囲が、正の実数である必要がありました。
詳しい説明は省きますが、これは既存手法は数学的な正当性のために誤差確率分布の全区間\((-\infty , \infty)\)を考慮していたためです。

そして、この研究では、それを有限区間\([-\tau, \tau]\)に制限しました。
これにより、\(\alpha\)が負の実数も取ることができるようになり、考慮できるカーネル関数の幅を広げることができました。

結果

実験結果からその有効性を確認しましょう。

まずは、Bundle Adjustmentでの検証結果を見てみます。
Bundle Adujstmentは複数の観測点からいい感じの位置を推定する手法で、詳しくはこちらの記事をご覧ください。
ここでは、「3次元位置の推定によく使われる手法」という認識で大丈夫です。

図の見方としては、緑の点が推定位置と実際の観測点が一致したものを表しており、要するに緑の点が多い方が性能が良いです。
結果は明らかで、提案手法で最適化した誤差関数を利用することで、性能が大幅に引き上げられています。

次にICPの結果を見てみます。
ICPは3次元の点群マッチングアルゴリズムです。

矢印で示されているように、右側の提案手法で精度が大きく向上していることが確認できます。

まとめ

今回は、誤差関数という基礎的で地味ですが、非常に重要な問題に対する論文でした。
誤差関数は、ロボット分野だけでなく、様々な分野で利用されるので非常に影響力のある研究ではないかと思います。

一方で、ここまで読んでいただいた方はわかると思いますが、提案された手法や発想は非常にシンプルです。
正直、誰でも思いつくアイディアでもあると思いますが、そこに一番に気づいて実証したのがこの研究の素晴らしいところです。
実際、この論文が採択されたICRAは、ロボット分野では最高位のカンファレンスです。

かなりオススメの論文なので、皆さんも是非論文を読んでみてください!

コメント

タイトルとURLをコピーしました