0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

baiduまとめ

Posted at

コンペの概要

  • 道路に車が走っている画像が与えられ、写っている車の位置(x,y,z)と角度(roll,pitch,yaw)を予測する。
  • 車の位置は,いわゆる”カメラ座標系”で与えられた

上位解法の軽いまとめ(日本語で)

1st place solution

  • 概要

    • ピクセルごとに車(の中心)の確信度を表すheatmapを予測 + ピクセルごとに6d-pose+α(p,y,r,x,y,z+distance)を予測
  • ソース

  • モデルについて

    • outrunnerさんの上のdiscussionから拝借したネットワークの図
    • uFNfCFB.jpg
    • coodinate-referenceはそのまま和訳すると「参照座標系」となります。恐らく画像上でのx,y座標をそのまま入れている。これで画像上で右下か右上かというような情報を入る。人気だったRuslan Baynazarovさんのkernelにmeshとして実装されていたものとほぼ同じだと思われます。(ちなみに、彼は効かなかったと言っていた)
    • centernetの中身がhourglassnetwork(砂時計型ネットワーク)
  • データについて

    • TTAについて(testデータについて)

      • 上図の通り、メインの画像のInputであるtransformed-Imageというところに、元の画像やPerspective transformした画像入れて、weithed-averageで値(答え)を求めていた。
      • Perspective transform
        • inference-kernelのTTA-genで実装されていた
          • 回転の3つのパラメーターと、flipで4つの変数を入れるとその画像がgenerateされる仕組みでした。すごく使いやすそう・・・
        • 左手系でy軸周りのパラメータ弄って後述のPerspective transformされた画像を作成していた。
      • outrunnerさんの上のdiscussionから拝借したPerspective-transformされた画像
      • Xe396jz.jpg
      • Perspective-transformを使った理由について、本人はdiscussionで2点あげていた
        • 画像を大きくせずに、外れ値(左右に見切れていている車など)に強いモデルを作れる(左右に見切れている車を中央に持ってこれる)
        • 手前と奥での車の大きさの違いを解消できる
    • Data-augmentationについて(trainデータについて)

  • Metric probing and Post processing

    • metricがクソほど分からないコンペだったので、いくつか実験をしてlocalCVとpublicscoreを比べ、metricを探したそうです。結論はdiscussionにのっていましたが、手法については基本的には書かれていない。
    • x,y,z座標のスコアの出し方については詳しく書かれていて、「The most weird thing is that when I shift X by some pixels, the LB score change significantly. So I guess the Metric is:(abs(x-xp)/abs(x) + abs(y-yp)/abs(y) + abs(z-zp)/abs(z))/3」とある。x,y,z座標を少し変えると、スコアが大きく変わったため、上のような計算方法で算出していたのではないかということです。
  • 分からなかった事

    • disucssionのinferenceのあたりに「# Weighted average neighborhood
      When decoding, not only use the local maximum point but also take into account
      the prediction around it.」とあります。砂時計型ネットワークがdecodeするときにUnetのようにencodeの時の層をそのままとってきていて、この時一般的にはmax-poolingした後の層を取っています。「outrunnerさん場合はmaximum pointだけではなく、周りの情報も使っている」と解釈しましたが、もしそうだとしたら文脈的におかしいので違いそうです。

2nd place solution

  • 概要
    • 車検出→車のmask,boundingboxを予測
    • 検出された部分について、x,y,z(translation)とpyrの6パラメーターをdeepで求める(bboxで囲まれた部分のみに対して行っているのか、画像全体からやっているかは不明)
    • the generated mesh from rotation and translationとあったので、おそらくcenternetのようにピクセルごとにx,y,z座標とpyrを求めていたのだと思われます。
  • ソース
  • model
    • 上のdiscussionより
    • inbox_16463_be74039a5b29b17e735b6f209c0b7e10_system_pipeline_kaggle.png
    • 画像上側の3-stage Hybrid Task Cascade (HTC)というものでobjectdetectoinを行っていた。
  • データについて
    • Appolospaceの画像も一部使ってtrainしていたそうです。
    • augmentationしたらむしろスコアが下がったとの事でした。
  • postprocessing
    • translationのところで出てきたx,y,z座標はあまり精度がよくなく、x,yについてはbboxから画像上のx,y座標を計算し、カメラの内部パラメータを用いてx,y,z座標に変換したそうです。

5th

uiiurz1さんの解法

  • 概要
    • centernetで「中心点(heatmap),xy offset,z (depth)
      ,pose: cos(yaw), sin(yaw) cos(pitch), sin(pitch), cos(roll), sin(roll)」を予測
  • モデル
    • uiiurz1さんdisucussionより、下二つのアンサンブルでした。
    • ResNet18 (pretrained ImageNet) + FPN (channels: 256->128->64)
    • DLA34 (pretrained KITTI 3DOP) + FPN (channels: 256->256->256)
  • data
    • とにかくAugmentationを色々試していました。
  • post-processing
    • 「Remove mask regions from predictions by multiplying heatmap by masks.」ということで、二乗することでノイズを除去していたようです。

Shin Siangさんの解法

* 制作中

61st我々の解法

  • 上位の方たちには遠く及びませんでしたが、yosshiを中心にベクトルを用いた中心点の予測、Johannesを中心にpnp問題を解くことによるxyz,pyrの予測が行われました。他のチームはあまり試さなかった手法のようなので、一応載せておきます。(二人のお陰でコンペ中すっごく楽しかったです。ありがとう!)
  • ベクトルを用いた中心点の予測
    • 車についてセグメンテーションを行い、各ピクセルが画像上の車の中心点方向のベクトル,depth,yawを予測する。予測したベクトルををクラスタリングして、車一台分の領域、画像上の車の中心点を求め、内部パラメータを用いて三次元座標に変換した。private 0.076/public 0.078
    • b2aae1569df0c4c44b539af4c8967ea3.jpg
  • pnp問題を解く
    • 上の手法を用いて、車の特徴点(keypoint)の位置を予測し、pnp問題を解いて、車の位置姿勢を予測しました。
    • 制作中
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?