車線検出 (1) - PINet 紙の読み取り

目次

まとめ

序章

方法

ネットワーク構造

ネットワークのサイズ変更

ネットワークの予測

損失関数

実装の詳細

実験

結論は


《車線検出のためのキーポイント推定とポイントインスタンスセグメンテーションアプローチ》

論文: https://arxiv.org/abs/2002.06604

コード: https://github.com/koyeongmin/PINet_new

まとめ

        2020 年の論文では、車線ラインを検出するためのキー ポイント検出とインスタンス セグメンテーション テクノロジに基づく Point Instance Network (PINet) が提案されました。このネットワークには、同時にトレーニングされた複数の積み重ねられた砂時計ネットワークが含まれており、モデルの計算量を削減するために再トレーニングせずにカットして直接使用できます。ネットワークはさまざまな数のレーン ラインに適応でき、TuSimple および Culane データセットで優れた精度と低い偽陽性率を達成できます。ネットワークのフレームワーク図は次のとおりです。

序章

        車線検出は自動運転システムの基本的かつ重要な機能である.筆者は,RGB入力画像から車線のキーポイントを検出し,ネットワークが出力する埋め込み特徴量を使用してキーを分類するネットワークを提案する.ポイント。同時に、ネットワークには切断の特性があります。つまり、切断後はトレーニングなしで使用でき、コンピューティング プラットフォームの計算能力が逼迫している状況に対応できます。

        多くの手法は CNN やセマンティック セグメンテーションに基づいていますが、データのアノテーションが複雑であり、ネットワークの出力サイズが入力と同じであるため、出力に無駄な情報が多く含まれ、計算量が多くなると同時に、後処理のポイント数が大量の計算につながり、全体的に膨大な計算量がプロジェクトを制限します。

        砂時計ネットは、ポーズ推定やオブジェクト検出などのキーポイント検出の分野でよく使用されます. ネットワークは、一連のダウンサンプリングおよびアップサンプリング操作を使用して、さまざまなスケールレベルで情報を取得します. 積み重ねられた砂時計ネットワークには、同じ損失関数でトレーニングされた複数の砂時計モジュールが含まれているため、ネットワーク パラメーターの量を簡単に制御できます。

        アワーグラスネットの紹介はHourglass Network のアワーグラスネットワーク(ポーズ推定・ポーズ推定)_hxxjxwさんのブログ - CSDN blog_Hourglass network を参考にしてください、マルチスケール+レスネットの形だと思います、単一のモジュールでマルチスケール/レベルの機能を導入しています; 並列の複数のモジュールは、ネットワークを深めることでパフォーマンスを向上させることができます

        著者は、誤検出は下流に大きな影響を与えると考えており、当時の多くの sota メソッドの誤検出率は比較的高かったため、著者は比較テスト指標として誤検出も使用しました。

        次の図は、ネットワーク構造を示しています. 著者は、4つの主な革新があると考えています: 1) ネットワークは領域の代わりに重要なポイントを出力し、出力サイズは大幅に縮小されます. 2) 積み重ねられた砂時計モジュールを使用すると、ネットワークを削減するために直接カットできます.パラメータ 再トレーニングなしで直接使用可能; 3) 車線の数と向きに制限がない; 4) 公開データセットでの誤検出率が低く、精度が高い

方法

        ネットワークには、信頼度、オフセット情報、および組み込み機能の 3 つの出力があります。信頼度とオフセット情報は、車線のキー ポイントの位置決めに使用され、YOLO の損失関数が適用されます。埋め込まれたフィーチャは、後処理でキー ポイントの分類に使用され、その損失関数は SPGN のインスタンス セグメンテーション方法から借用されます。 .

ネットワーク構造

ネットワークのサイズ変更

        入力 RGB サイズは 512X256 で、サイズ変更ネットワークに送信されて 64x32 になります; ネットワーク モデルのこの部分は次のとおりです。

ネットワークの予測

        その後、4 つの砂時計モジュールを含む予測ネットワークが続きます。各モジュールには、下の図に示すように、エンコード、デコード、および 3 つの出力ブランチが含まれます。

        上の図の各色ブロックはボトルネックを表し、具体的な構成は下の図に示されています。ここでは、転置畳み込みを使用してアップサンプリングを実現しています。

        The following table details the input and output size information of a hourglass module. 出力の 3 方向ブランチでは、信頼チャネルの数は 1、オフセット チャネルの数は 2、埋め込みは 4 です。砂時計モジュールスタックの数を増やすと検出効果が向上するため、教師ネットワークとして使用できます。また、知識蒸留法を使用して、少数の砂時計モジュールを含むネットワーク効果を向上させることができます。

損失関数

        ネットワークは 64x32 セルを出力し、各セルには信頼度、オフセット、埋め込み機能を含む 7 つのチャネルがあり、それぞれに損失関数があります。同時に、蒸留法がトレーニングで使用され、対応する蒸留損失があります。 . 具体的な定義は論文を参照しており、次のように簡単に紹介されています。

信頼度の損失関数は次のとおりです。

オフセットの損失関数は次のとおりです。

        埋め込みフィーチャーの損失関数は、同一インスタンスに属するフィーチャーはできるだけ近くに、同一インスタンスに属さないフィーチャーはできるだけ遠くに配置することを目標に設定します。 .

        蒸留された損失関数を導入し、各砂時計モジュールの出力を最後の砂時計モジュールの出力にできるだけ近づけるようにして、砂時計ネットワークを切断し、トレーニングなしで直接使用する効果を達成します。

実装の詳細

        入力画像サイズは 512x256、bgr 形式 (コードを読んだ後に確認)、(0,1) に正規化されています。

        データ セットには、レベルに近い車線マークのデータ ポイントが少なすぎます。作成者は補間を行って、処理数を増やしました。

        著者は、データ セット内のシーン データの数が不均一に分布していると考えており、ハード ネガティブ マイニング技術と同様に、トレーニング中にパフォーマンスの低いデータをマークし、その後のトレーニングでこれらのデータを選択する確率を高めます。

実験

        TuSimple および CULane データ セットを使用すると、各データ セットは異なる評価指標に対応します。結果は、偽陽性が低く、PINet の精度が非常に優れていることを示しています。

        蒸留モジュールに、最初の 3 つの砂時計モジュールと最後の砂時計モジュールの出力差を減らす機能があることを確認します。

結論は

        キーポイントの抽出とインスタンスセグメンテーションによって実現され、数を制限することなく任意の方向の車線を処理できる、新しい車線検出ネットワークが提案されています。積み重ねられた砂時計モジュールを使用し、トレーニングに蒸留学習戦略を適用すると、デプロイ中にプラットフォームの計算能力に応じてモデルをカットでき、重みを再トレーニングせずに直接使用できます。精度が高く、誤検出率が低いことが実験で確認されています。

おすすめ

転載: blog.csdn.net/lwx309025167/article/details/126694916