2020 AIコンペティション賞を受賞したスキームレビューシリーズ(2)リモートセンシングセマンティックセグメンテーションコンペティショントリック-2020 HuaweiCloud人工知能コンペティション

序文

これは、ブロガーが昨年参加し、最終的に上位3%(13/377)を達成したセマンティックセグメンテーションコンテストです。ブロガーがリモートセンシング画像セグメンテーションコンペティションに参加するのはこれが初めてです。この機会に、ブロガーはセマンティックセグメンテーションの学習の旅を始めました。最終ランキングと比較して、ブロガーは彼らが何を学ぶことができるかについてより心配しています。処理する。前回、違法な広告ターゲット検出競争を再開した後、ブロガーは再開の重要性を十分に認識しているため、リモートセンシングセグメンテーション競争を再開するのが待ちきれません。

2020年の競争の多くのモデルとトリックは最新であり、多くのcvpr2020の論文が含まれているため、違法広告のターゲット検出競争の再開を見たことがない友人も検出競争に注意を払うことができます。ポータルは次のとおりです。

違法な広告ターゲット検出コンテストポータル

この記事に戻ると、このリモートセンシングセグメンテーションコンペティションは、主に高解像度のリモートセンシング衛星インパクトマップに基づいてさまざまな道路をセグメント化します。これらの道路の一部は「TongtianAvenue」であり、一部は「IntestinalPath」であり、詳細が満載です。結局、ブロガーチームのモデルは0.833で、チャンピオンは0.841なので、違いはそれほど大きくありません。ブロガーは、モデルのバランスを取り、全体的な大きな目標と非常に小さなパスを確認することが主な難しさであると考えています。ブロガーがゲームを再開したとき、彼はスプリントの段階で彼の思考に問題があると感じました。私は当時3つのアイデアを持っていました。それらはすべて、大きなモデル(大きな道路のセグメンテーションに優れている)のトレーニングに基づいており、モデルを強制しました。微調整を通じて詳細を学ぶ。1つ目は、フォーカルロス/ OHEMを使用して微調整を行うことにより、モデルに詳細を学習させることです。2つ目は、小さな学習率とバッチサイズで各画像の詳細に注意を向けさせることです。3つ目は、で入力することです。複数のスケールで微調整を実行します。

事実は、これらの3種類の微調整のアイデアがあまり機能しないことを証明しており、ブロガーはわずかな不利益を伴ってトップ10に入ることができなかったことを後悔しています。

今、私が再び戻ってきた場合、私はもっと考えるかもしれません:

  1. FPN / BiFPN
  2. 変形可能なコンボリューションなど、残りの高解像度でもう少し試してみてください。
  3. 複数の大型モデルを使用して小型モデルを抽出することで、これらの大型モデルは細部に注意を払い、全体にさらに注意を払うように設定されます。
  4. OCRNetに基づくチップ手法と、紙のブロガーが見つけた大規模なカーネルの問題については、最後に説明します。

もう1つの問題は、このゲームがモデルの推論時間とメモリ使用量に非常に制約されていることです。私はフロップを特にテストしませんでしたが、大きなパラメーターを持つアンサンブルモデルはほとんど不可能です。その後、TTAが減点されるとの報告があったため、TTAは使用しませんでした(正直すぎる)。しかし、モデルの軽量性にもっと注意を払い、実用的な価値を得るには推論時間/フロップに焦点を当てる必要があることも認識しました。

さて、上記のブロガーのつぶやきのいくつかは、最前列のボスからどれだけのヨーロッパスタイルを吸収できるかに焦点を当てましょう!

勉強を始める前に、このコンテストに参加していない人のための次のコンテストの質問を参照してください。

2020Huawei人工知能コンテストポータル

ここに画像の説明を挿入

8位(欧州ガスの1地点)

1.LinkNet(loss:dice + bce 1:1)

プレイヤーはLinkNet34(バックボーンはResnet34)を使用していました。以前はリンクネットにあまり注意を払っていませんでしたが、今回はいくつかの最前列が使用されており、ネットワーク効果はまだ良好であると聞きました。セネトなどのバックボーンがさらに改善された場合またはres2netこのプレーヤーは改善できるはずです。

競技を行うとき、バックボーンはさらに安全を確保するためにさらに努力する必要があります。今回は、deeplabv3 + / unetの2つのブランチがあり、エネルギーのほとんどは魔法の改革とEDAに費やされています。たとえば、後者のkaggleコンテストでは、ビジョントランスフォーマーベースのモデルが分類を支配し、yolov5もkaggle小麦の検出で優位に立っています(後で無効にされましたが)。したがって、データセットが異なれば、最適なベースラインは完全に異なります。この点を反映して、最初のスタートラインでの損失を効果的に回避するために、少なくとも4〜5個のより信頼性の高いベースラインの準備に精通している必要があると思います。分割競争の場合、unet / deeplabv3 + / hrnet + ocr / linknet / senet + fpnがリストに表示されることは明らかです。

そういえば、数日前にいきなりカグラーとおしゃべりをしようと思ったのですが、彼らのチームはモデルデザイン、複雑な増強、電車などを担当しているそうです。明らかにもっと合理的です。私たちのチームはエンドツーエンドで従事しており、それぞれがルートを担当しています。初期の段階では、より多くの知識を学ぶというアイデアが推奨されますが、後で人員を割り当てる方が良いはずです。これらはテクノロジーとは何の関係もありませんが、私たちの反省です。

LinkNetのアーキテクチャは非常にシンプルで、Unetよりもシンプルです。主な焦点はフロップと推論速度であり、リアルタイムのセマンティックセグメンテーションに専念しています。D-linknetの変種があり、学ぶ価値があります。特に、このペーパーはリモートセンシング道路のセグメンテーションに基づいています。論文のポータルを添付します。

D-LinkNet:高解像度状態のための事前トレーニング済みエンコーダーと拡張畳み込みを備えたLinkNet

D-linknetはおすすめの記事を知っています

D-linknetは、道路セグメンテーションのリモートセンシング用に特別に設計されたネットワークです。この論文では、このタイプの問題の3つの主要な問題について主に言及しています。

  1. リモートセンシング画像は高解像度であり、一部の道路はスパンが大きく、画像全体をカバーするために大きな受容野が必要になります。
  2. 一部の道路は長くて狭いため、このような小さな道路を復元するには、正確な位置情報を保持する必要があります。
  3. 道路は自然につながっています。
    このコンペティションでは、これらの問題にも焦点を当てたことを思い出してください。受容野を適応させるために空洞畳み込み/変形可能な畳み込みを使用し、接続性を確保するために膨張、腐食、穴の除去の後処理を試みました。ただし、問題2.ポジショニング小さな道路のはよくできていません。

D-linknetで使用される中空畳み込みはモデルの中央にあり、連結法を使用して、解像度を維持しながら受容野を重ね合わせます。中空畳み込みは、直列でも並列でも良好なパフォーマンスを示すことができます。

D-linknetのアーキテクチャを次の図に示します
ここに画像の説明を挿入
。D-linknetの中空畳み込みオーバーレイは、ツーソングループの論文で言及されているHDC設計を使用していませんが、1、2、4、8、および16はこのように積み重ねられています。チェッカーボード効果を引き起こし、セグメンテーションの精度に影響を与える可能性があります。

HDCは、次の分析を参照できます。

中空畳み込みのHDCについて

同時に、この写真をよく見てください。真ん中の部分は、unetの橋の構造に非常によく似ており、unetの橋の構造を設計する方法をある程度ガイドすることができます。いくつかの大会で、unetの橋の構造も最終結果に大きな影響を与えることがわかりました。これは、スタック+拡張のスキップ接続です。元の画像は1024入力であり、解像度はまだかなり高いため、32倍のダウンサンプリングを使用していることは注目に値します。入力画像が512以下の場合、32回のダウンサンプリングで失われた位置情報を復元するのはより困難です。

このグループのプレーヤーの最終出力では、TTAの8倍が使用されました。これは、リンクネットシリーズの軽量性も示しています。

7位(欧州ガスを1ポイント吸い込んだ)

ここに画像の説明を挿入
まず、4モードの融合であるアーキテクチャ設計図を示します。これは、deeplabv3 +が比較的軽量であることを示すのに十分です。学ぶ価値のある部分は、OCRnetの使用が新しいテクノロジーであるということです。

1.OCRNet

OCRnetのコアアイデアは、コンテキスト情報を構築するときに同じタイプのオブジェクトからのピクセルの寄与を明示的に強化することです。これは、セマンティックセグメンテーションの本質から派生したアイデアです。

Microsoft Asian Research Instituteは、現在のセマンティックセグメンテーションモデルの3つの最大の問題を分析しました。

  1. 多層ダウンサンプリングによって引き起こされる測位情報の損失。
  2. ピクセルレベルの特徴の受容野は十分ではなく、オブジェクトには複数のスケールがあります。
  3. 境界が間違っており、境界の特徴の表現力が比較的低い。多くのセマンティックセグメンテーションエラーは境界から発生します。

したがって、指摘された:

  1. HRnet:高解像度を維持するために使用されます
  2. OCRnet:ピクセルのコンテキストセマンティック情報を強化するために使用されます
  3. SegFix:境界エラーの問題を解決するために使用されます。

次の図は、
ここに画像の説明を挿入
OCRnetのアーキテクチャを示しています。HRnet/ OCRNetのこの部分では、ソースコード分析シリーズを作成する予定なので、ここでは詳しく説明しません。

6位(欧州ガスを1ポイント吸い込んだ)

1.モデルの選択

私はHRnet + OCRを使用しましたが、なぜこのモデルが優れているのかという考えは、プレーヤーの考えです:

低解像度機能には豊富なセマンティック情報が含まれていますが、ダウンサンプリング操作により、位置情報の一部が失われます。それどころか、高解像度の特徴は、意味情報が比較的少ないが、より多くの位置情報を保持し、測位は比較的正確であり、これは小さなターゲットを検出するのに役立つ。ほとんどの道路は長くて狭いため、モデルを正確に配置する必要があります。つまり、道路の検出は高解像度の機能に依存します。既存のネットワークのほとんどは、高解像度の機能を低解像度の機能にダウンサンプリングしてから、低解像度の機能から高解像度の機能を復元しますが、失われた位置情報を完全に復元することはできません。HRNetは、ステージ全体を通じて高解像度の機能を維持し、道路の検出に役立ちます。さらに、HRNetのさまざまなブランチがさまざまな解像度の機能を生成し、これらの機能が相互作用して情報を取得し、最終的にマルチスケール情報を含む高解像度の機能を取得します。したがって、バックボーンとしてHRNetを選択してください。さらに、道路セグメンテーションは非常に高レベルのセマンティック情報に依存しないため、非常に深いネットワークは必要なく、トレーニングデータが限られている場合、大規模なネットワークには膨大な量のパラメータがあり、オーバーフィットのリスクがあります。そのため、HRNetシリーズの小型モデルであるHRNet18を選択しました。セグメンテーションヘッドは、OCRアテンションモジュールを選択し、ターゲットコンテキストを使用して特徴表現を強化します。ネットワーク構造全体が小さく、トレーニング速度と推論速度が速い。実験では、HRNet18はhrnet32、hrnet48、deeplabv3 +(resnest50)よりも速度と精度が優れていることがわかりました。

ここで学ぶことができるのは、問題からモデルを選択するというアイデアです(信じられないかもしれませんが、ハハハ...)。
HRnet / OCRNetのこの部分では、一連のソースコード分析を作成する予定なので、ここでは詳しく説明しません。

2.損失設計

ここで私が学んだのは、損失設計のアイデアでもあります:

ここに画像の説明を挿入
クロスエントロピー損失の問題は、フォアグラウンドとバックグラウンドの間のデータの不均衡の問題を解決できないことです。ゲームの終わりに、ほとんどのモデルは主要道路部分をより正確に予測できますが、小さな道路があり、サンプルの認識が困難になります。上記の問題を解決するために、プレーヤーはエッジ付近のピクセルの損失を重み付けし、OHEMを使用して単純なサンプルをフィルタリングし、最終的な損失はlovasz + bceでした。lovaszはIOUの指示可能な代替形式であり、IOUを最適化でき、一部のゲームで良好な結果が得られます。

ここに画像の説明を挿入
上の図を参照すると、プレーヤーはエッジを抽出し、エッジのce損失を増やしてから、損失のしきい値を設定します。しきい値未満の部分は単純なサンプルと見なされ、バックプロパゲーションには関与しません。最後に、bce + lovaszsoftmaxが使用されました。

3.指数移動平均(EMA)

今まで使ったことがないので、一時保管して、戻ってきたら補ってください。

5位(Huaziを一口吸いました)

1.いくつかの小さなポイント

  1. RandomGridShuffle:画像を4つのブロックにカットしてから、順序をシャッフルします。これは、あまり一般的な拡張ではありません。
  2. トレーニングにはBCELoss +コサインシミュレーテッドアニーリングを使用し、最適なモデルを見つけた後、微調整にはLovaszヒンジ損失+ StepLRを使用し(Lovaszの作成者も推奨)、微調整には線形開始を使用します。
  3. FPN / Unet + EfficientNetB5

4位(2つのヨーロッパのガスに吸い込まれました)

まず、作者がソースコードを共有しました、拍手~~

ソースポータル

1.前景と背景のバランスが崩れている

競合他社は、前景と背景のピクセルの比率が約12.2%と87.8%であると計算しました。ピクセルのカテゴリは非常に不均衡であったため、カテゴリの不均衡の影響を減らすために損失に重み(3:1)を追加しました。
重み付けの方法は単純ですが、必ずしも弱いわけではないことを示しています。不均衡の問題を解決するには、このダムの方法をテストする必要があります。

2.エッジ予測を無視する

ショー操作のようで、詳しい説明はありませんので、戻ってソースコードを見て作り上げてください。

3位(大きなスモークガンを吸った)

1.いくつかの小さなポイント

  1. unet + efficientnetB5
  2. lovasz +焦点損失
  3. Radam + LookAheadオプティマイザー+コサインシミュレーテッドアニーリング
  4. マルチスケールトレーニング、異なるバッチ間の画像サイズ調整。
  5. インフレ予測

上記はより一般的な手法です。つまり、うまく使用すれば上位3つを取得できます。

1位(欧州ガスを1ポイント吸い込んだ)

まず第一に、コードをオープンソース化し、拍手喝采、ポータルは次のとおりです。

ゲームソースポータル

1.スキーム設計

コーディングモジュールは、ImageNetによって事前トレーニングされたResNeXt200ネットワークを使用します。EDアーキテクチャに基づいて、チャネル注意強化のための機能適応融合法が提案され、勾配ベースのエッジ制約モ​​ジュールが設計されます。空間の詳細とセマンティック機能を強化すると同時に、道路エッジの機能応答を改善し、マルチスケール道路の正確な抽出を実現します。アーキテクチャは次のとおりです。
ここに画像の説明を挿入
このアーキテクチャの機能:

  1. 入力は4チャネルであり、チャネルの追加は、より正確なエッジ抽出を保証するために、Sobel演算子によって計算された勾配情報です。
  2. バックボーンは、より深いセマンティック情報を抽出できる非常に深いResnext200を選択しました。これは、勾配情報の入力により、より深いネットワークを使用でき、良好な測位情報の回復が得られることを示しています。
  3. 中央の構造は、連結された中空畳み込みがASPP構造になることを除いて、D-linknetに少し似ています。
  4. CAFは、アップサンプリングとフュージョンの後に追加されます。これは、チャネルディメンションのアテンションメカニズムに似ています。また、複数のコンテストで、アップサンプリングとフュージョンが注目を集めるのに適した場所であることがわかりました。これは、チャンネルの連結後に各チャンネルの重みのバランスを取るためのチャンネルの注目の重要性として理解できます。
  5. ECMルートはFPNに似た構造であり、測位情報を補正できます。

競技後、プレイヤーの同意を得て、ネットワークを再現し、別のkaggle競技で検証しました。残念ながら、病理学的セグメンテーションではうまく機能しませんでした。この設計アイデアの方が適している可能性があります。エッジに依存するリモートセンシング道路セグメンテーション正確さ。

総括する

トップ10の計画を書いて検討したところ、想像していたようなものがなかったり、これまでのターゲット検出コンテストへの参加のコツは無限大だった。八仙は海を渡ったが、それぞれが魔法の力を発揮した。しかし、全体として特別なハイライトはありません。

このリストでは、HRnet + OCRnetが国の半分を占めていると見なすことができ、一般化が確かに優れていることを示しています。後でソースコード分析を行って、これら2つのフレームワークを整理し、おそらくSegfixを一緒に追加する予定です。

このレビューでは、最大の利益はこれらのトリックではなく、ゲームの考え方を調整する方法です。すべてをデータに戻し、EDAの調査を行い、問題を見つけてから、混乱させて最後まで変更するのではなく、適切な薬を処方する必要があります。

たとえば、小さなターゲット認識が適切でないことがわかった場合:マルチスケールトレーニング、FPNを検討し、解像度を上げます...たとえば
、エッジ認識が適切でない場合は、エッジ損失を増やし、勾配情報を増やすことを検討します。たとえば
、 、特定の種類の認識が適切でない場合:「はい」と考えてください。データバランスの問題ではありませんか?このクラスのオフラインデータ拡張を個別に実行しますか?または、このクラスは、解像度の維持を検討するために深いセマンティック機能を必要としませんか?
たとえば、データのバランスが取れていない場合:前のターゲット検出の記事で述べたように、データの強化、損失の重み付け、オンラインリサンプリング、焦点損失、または半分を検討する必要がありますか?
たとえば、全体的な効果が良くないことがわかります。カテゴリの意味情報が不十分かどうかを検討し、OCRnetの使用を検討する必要がありますか?機能間の統合を増やしますか?などなど。

...
...

想像してみてください、私は最初に休むつもりです...

[この記事の終わり]

おすすめ

転載: blog.csdn.net/weixin_36714575/article/details/114011609