株式会社SUBARUでは2021年11月19日~2022年1月31日にかけて、アイサイトの画像データセットを用いて画像認識のアルゴリズムの性能を競い合う、「SUBARU画像認識チャレンジ」が行われました。その後、2022年3月21日『「SUBARU 画像認識チャレンジ」コンペ後の勉強会~「こんなところ苦労した!」ワイガヤ談義~』と題して、解法を発表いただける当コンペ参加者によるプレゼンテーション、及びディスカッションを実施。SUBARU Labからは本問題に対して、どのようなアルゴリズムを構築したのかを紹介しました。コンペ参加者の様々なアプローチや知見が共有された有意義な勉強会となりました。 まずはコンペ参加者によるプレゼンテーションに先立って、株式会社SUBARUを代表して株式会社SUBARU小川氏より、コンペティションの概要説明が行われました。

■SUBARUからの概要説明

competition-subaru-study-1

株式会社SUBARU ADAS開発部 AI R&D課 課長 小川 原也 氏 「コンペの内容は「先行車の速度認識」としました。先行車が急ブレーキを掛けた時などに、自動ブレーキ機能で追突防止をするためには先行車の速度が必要になります。また、クルーズコントロール機能で先行車になめらかに追従していくためには、先行車の位置だけでなく速度も必要になります。そのため先行車速度の認識は、ADAS、AD機能を実現する上で重要な認識要素であると言え、今回のコンペティションの題材とすることにしました。」

competition-subaru-study-2

「SUBARU側で想定した認識処理の流れとしては、5つの処理に分かれています。「車両検出」・「先行車判定」・「先行車追従」に関しては、車両領域を指定しているのでトラッキングが可能でした。「先行車距離算出」においては、公開している視差画像データを用いるほか、左右画像から距離情報を求めることも可能です。「先行車速度算出」は時系列の処理が必要となり、正解データはレーザーレーダーの出力を前後数フレームでなましたものとしたため予測の要素も含まれるものとなりました。」

competition-subaru-study-3

実際環境での各処理課題となる要素に関して、今回のデータセットには特殊な形状の車両や割り込みシーンなど、特段難しいシーンは含まなかった一方、雨天時や夜間等の悪環境と呼ばれるシーンを多く揃えたとのこと。 その他、各データのシーンバランス、評価値、コンペ参加者の苦手なシーン結果についての説明も行われました。

■ryuoujisinta様の解法発表

最初の登壇者は、コンペでは7位を獲得されたryuoujisintaさんです。

competition-subaru-study-4

ryuoujisinta 氏 「先行車の検出はYOLOv5を使用し、右画像1フレーム目とCOCO Datasetの車両画像を使用し訓練し直しました。右画像1フレーム目については、先行車のみならず画像に写っているすべての車両を全て手動でラベリングし訓練に使用しました。YOLOv5が検出したバウンディングボックスの中で、前フレームの先行車とオーバーラップが大きいバウンディングボックスを抽出しています。 相対距離については視差を相対距離に変換して200m以下に限定しました。200m以下に限定した理由としましては、自車速度が120km/hとしても200m以上になることはないと考えたためです。 その後、RANSACアルゴリズムを参考にした外れ値除去や、exponential smoothing処理をして距離補正を実施しました。 時系列処理としてLSTMを使って先行車の相対速度を訓練および推論し、相対速度の出力結果を±30km/hに制限した上で、自車速度+相対速度を先行車速度としました。 今回採用しなかったこととしては、機械学習やフレーム数にLSTMを使った学習です。Curriculum Learningは学習時の検証セットでは精度がよかったのですが提出時のスコアは高くなく、推論時間の関係もあって見送ることとしました。」

■yukima様の解法発表

2番目の登壇者は、コンペでは18位を獲得されたyukimaさんです。

competition-subaru-study-5

yukima 氏 「初めに先行車の検出を行いました。物体検出としてYOLOv5を使用しています。YOLOv5は右側画像の1フレーム目で訓練しました。前フレームの先行車バウンディングボックスを拡大した中に納まるバウンディングボックスを、先行車のものと判定しています。ワイパーの映り込みにより先行車が隠れて見つからないような時は、1フレーム前のバウンディングボックスを使用しました。 次に車間距離の算出ですが、距離画像を1次元にソートし距離が0以上150以下の箇所を先行車距離としました。先行車距離の分布については、分布を16分割し7/16~11/16の値を平均化したものを車間距離として利用しました。次に速度の算出としては、現フレームと過去フレーム間の車間距離の変化量で予測速度を算出しました。フレーム間隔をいくつか振ってみたところ、4フレーム間隔が検証セットでのスコアが最も高かったです。また、現フレームと過去フレームの予測速度の平均をとって予測速度を決定しましたが、1フレーム前との2フレーム平均が検証セットでのスコアが良好だったことから1フレーム前との平均を採用しました。 最後に速度・加速度の制限処理を行いました。ワイパーで隠れてしまったところは車間距離が出てないケースがあるため、相対速度に制限を掛けることで予測した相対速度の暴れを減らしました。また、相対加速度にも制限を掛けることで暴れを低減させました。」

■-34taka様の解法発表

3番目の登壇者は、コンペでは6位を獲得された-34takaさんです。

competition-subaru-study-6

-34taka 氏 「処理の流れとしては画像処理、車間距離算出、先行車速度算出の3つに分けています。今回の発表では各パートそれぞれで特徴のある処理をピックアップして説明します。 画像処理パートとして車両の矩形検出としてはYOLOv5を使用。矩形検出の後に矩形中の車両領域を特定することで正確な距離の検出に利用しました。領域特定には、物体追跡手法であるSiamMaskの領域特定機能だけを活用しています。 車間距離算出としては、異常値判定、異常値補正処理を行いました。ワイパーや悪天候時に雨滴などの影響で距離の分散が大きくなってしまうため、異常値をはじくための判定処理および補正処理を行いました。また、コンペのスコア上車間距離勾配が重要になるため、距離曲線も平滑化するために平滑化方法を複数調査したうえで、ベジェスプライン曲線を使っての近似を行いました。 最後に、先行車速度算出パートでは20フレーム前の画像から複数のラグ特徴量を作成しLightGBMを使用して時系列予測を行いました。最終的には15個のLightGBMの出力結果の平均とするアンサンブルとしています。」

■poco様の発表

4番目の登壇者は、コンペでは17位を獲得されたpocoさんです。

competition-subaru-study-7

poco 氏 「全体の流れとしては右画像、左画像、視差画像に対してそれぞれYOLOv5で物体を検知し、IoUトラッキングを行い、視差画像ベースと検知幅ベースの2つの距離を取得しました。YOLOv5は視差画像でも学習させています。視差画像ベースの距離をフィルタリングし、生速度を出した後にXGBoostを使用してノイズ除去を行いました。今回は結果の安定化につながったと思われる検知幅ベースの距離算出とフィルタリングについて発表します。 検知幅を使用した理由としては、悪環境時に距離のスパイク発生を冗長化することで防ぐためです。検出幅からの距離計算は左右カメラの画像類似度から確からしい予測値を出し、1次線形モデルで検出幅を元にして距離を予測しました。 フィルタリング処理については視差ベースの距離をIoUを元にフィルタリングしたり、指数移動平均を掛けることでノイズ除去を行いました。SUBARUが論文として公開している速度フィルターもデフォルト値で使用してみましたが、論文の手法は安定性と応答性のバランスを重視したものだったため、本コンペの評価式ではスコアが出なかったのでとりやめました。」

■チームdev1様の発表

5番目の登壇者は、コンペでは30位を獲得されたチームdev1です。

competition-subaru-study-8

チームdev1 「解法としては他の方たちと同様に物体検出、距離算出、先行車速度算出を行いました。物体検出にはYolorの学習済みモデルを使用しました。前フレームで検出した先行車のバウンディングボックスとIoUが最大となるバウンディングボックスを、先行車のバウンディングボックスとして抽出しました。抽出時にはIoUに閾値を設定し、IoUが閾値未満の場合は前フレームのバウンディングボックスを採用する補完処理を入れることで、追従誤りを防いでいます。ただし、夜間や雨滴など悪環境データではDetection失敗しているケースもありました。 距離算出については、バウンディングボックスに含まれる距離に対して、DBSCANを使用しクラスタリングを行い最大クラスタの平均を先行車との車間距離としました。DBSCANを採用した理由は、外れ値を検出しつつクラスタリングを行える手法のためです。DBSCANのクラスタリング対象は距離のみで、画素の位置関係は対象としていません。提供された距離画像の値は離散値のため、中央値をとるとガタつきがでるため平均値を採用することで性能改善に成功しました。 最後に先行車速度の算出は一般的な物理式を用い、距離差分と算出先行車速度を2回平滑化することでスコア向上しました。」

■SUBARUの解法

最後に、株式会社SUBARU齋藤氏より解法の解説がありました。

competition-subaru-study-9

株式会社SUBARU SUBARU Lab副所長 齋藤 徹 氏 「SUBARUはシンプルな解法を用いました。距離画像はそのままですとノイジーな状態なので、ここからSADやテクスチャ強度などを使って距離の信頼度を算出し、余計な距離情報は使わないように前処理を施しました。処理後のデータを使用して路面と障害物を3次元上で切り分けを行い、障害物や路面勾配を検出。それを2次元上にプロットして個々の距離をグルーピングすることで物体を検出しています。 車両は背面形状がフラットとは限らず、トラックやセダンなど凹凸があるので、どこの距離を使うかが精度に関わってきます。これは雨天時なども同様です。雨滴で画像がボヤけ、距離が暴れている中でも安定した形状を検出することで正しい距離を検出・特定しています。 物体を検出したあとは、フレーム間毎に同一物体をトラッキングすることで、車両を検出しています。 速度計算はシンプルな時定数フィルターが一般的ですが、SUBARUは加速度、加加速度を使っているのと、加減速変化の傾向を利用して計算値にバイアスを掛けるような処理を行い、安定性と応答性を両立させています。 2トンほどにもなる車両のような重量物の速度が、そんなに急に動くようなことはありませんので、車両の特徴に合わせて設計したフィルターにしています。」

■コンペティション考察

主催者の株式会社SUBARUより、本コンペティションに対する考察をいただきました。 「安定性については、雨天時などの画像に雨滴がついているようなシーンで暴れが大きくなる傾向が多かった。ただし、安定を取り過ぎてしまうと応答性が遅れてしまうのでバランスの重要性が大事である。 応答性については、平滑化処理をし過ぎてしまうと応答性が悪くなってしまう。今回のコンペでは応答性がスコアに効きやすい結果だったが、実際に製品化を考えた場合は安定性が高い方が安全な設計をしやすいところもあるので、評価式の難しさも実感した。 改めて今回のコンペでの上位者の解法を見ると、画像認識処理の地道なノイズ除去での工夫が大事である。参加者の様々な解法を組み合わせることでさらなる性能向上の余地もあると思われる。」 <株式会社SUBARU「SUBARU 画像認識チャレンジ」コンペティション勉強会の解法プレゼン資料はこちら>

この記事をシェアする