私は、食用および有毒な野生植物、そしてきのこを現地で同定するための、完全に端末上で動作するオープンソースのハンドヘルド機器を作ってきました。最初の段階では、iNaturalistの研究グレードデータを使って専門のYOLOモデルを学習させ、目標とする種に対して94〜96%の精度を達成しました。とても良い感じだったのですが、このサブで十分に議論されていない問題を見つけるまでは。
YOLOのクローズドセット構造には「わからない」という概念がありません。分布外(OOD)の画像を与えると、それを自信をもって、そのクラスの1つだと(ほぼ100%の確信度で)分類してしまいます。多くのCVのケースではこれは単なる面倒で済むことがありますが、採集(foraging)では致命的になり得ます。
最初は確信度(confidence)のしきい値を微調整してみましたが、うまくいきません。ソフトマックス出力がクローズドセットで正規化されるため、分布外入力の確信度スコアは、分布内の予測と区別できないのです。「上記のいずれでもない」に割り当てられた確率質量が存在しません。
そこで私はYOLOから完全に離れました(用途は動画ストリームではなく、単発の画像分類です)そして、階層化したOOD検出パイプラインを構築しました。
- EfficientNet B2の専門モデル:1つの巨大な検出器ではなく、菌類(Mycologist)、ベリー、そして高価値の採集対象に特化。
- MobileNetV3の小型ドメインルータ:入力を適切な専門モデルへ振り分ける、または分類の前に拒否する。
- ソフトマックス前の生ログitに対するエネルギー・スコアリング:OOD入力を検出するために、ソフトマックスの前段のログitに基づいてエネルギースコアを計算します。エネルギースコアは、ソフトマックスの確信度よりもはるかにきれいに分布内とOODを分離します。
- 3つの専門家(スペシャリスト)間でのアンサンブル不一致を、二次的なOODシグナルとして使う。
- 各専門モデルにK+1の「上記のいずれでもない」クラスを再学習する。
この全パイプラインは、バッテリー駆動のハンドヘルドで、Hailo 8Lの13 TOPSという計算予算の範囲内で動作させる必要があります。アーキテクチャ上の選択は、デスクトップでの精度だけでなく、実際の推論レイテンシによって制約されます。
安全に直結するアプリケーションで、同様のクローズドセットの確信度問題に遭遇した方がいるか、またどのようなアプローチを取られたか気になっています。
エネルギー・スコアリング手法(Liu et al.による「Energy-based Out-of-Distribution Detection」論文のもの)は、ネイティブな確信度しきい値処理に対して、最も大きな改善でした。
[link] [comments]

