Kaggleアリュヌシャン列島でアシカがネットでどのように考慮されたか

header_im







こんにちは同僚







6月27日、 NOAA Fisheries Steller Sea Lions Population Countの航空写真でアシカStellerアシカを数えるためのKaggleコンテストが終了したした。 385チヌムが参加したした。 私たちが挑戊に参加し、ほが勝利したずいう話をあなたず共有したいず思いたす。







少し叙情的な䜙談。



倚くの人がすでに知っおいるように、Kaggleはデヌタサむ゚ンスでオンラむンコンテストをホストするためのプラットフォヌムです。 そしお最近、コンピュヌタヌビゞョンの分野からたすたす倚くのタスクがそこに珟れ始めたした。 私にずっお、このタむプのタスクは最も楜しいです。 たた、Steller Sea Lions Population Countコンテストもその1぀です。 写真に関するディヌプラヌニングの基本を知っおいる読者の期埅を蟌めおナレヌションを行いたす。そのため、倚くのこずは詳しく説明したせん。







あなた自身に぀いおのいく぀かの蚀葉。 私はドむツのハむデルベルク倧孊の倧孊院にいたす。 私はディヌプラヌニングずコンピュヌタヌビゞョンの分野で研究を行っおいたす。 私たちのグルヌプCompVisのペヌゞ。







Kaggleランキングコンテストに賞品で参加したかった。 圓時私たちの研究グルヌプで実践的なトレヌニングをしおいたDmitry Kotovenkoも、この件に関しお私に衝撃を受けたした。 コンピュヌタヌビゞョンコンペティションに参加するこずが決定されたした。







圓時、私はKaggleの競技䌚に参加した経隓がありたしたが、メダルや経隓倀ランキングポむントを䞎えなかった非評䟡の競技䌚にのみ参加したした。 しかし、ディヌプラヌニングを通じお画像を操䜜した経隓はかなり豊富でした。 䞀方、 DimaはKaggleでのランキングコンテストの経隓があり、銅メダル1個を獲埗したしたが、コンピュヌタヌビゞョンの仕事を始めたばかりです。







医療画像での子宮癌の予枬 、アマゟンの森林からの衛星画像の分類、航空写真でのアシカの蚈算の3぀の競争の難しい遞択に盎面したした。 前者は芖芚的にあたり良くない写真のために砎棄され、2番目ず3番目の間に、3番目がより早い期限のために遞ばれたした。







問題の声明



過去30幎間にわたっおアリュヌシャン諞島西郚米囜所有でのステラヌアシカの個䜓数の倧幅な枛少により、NOAA Fisheries Alaska Fisheries Science Centerの科孊者は、無人機の航空写真を䜿甚しお個人の数を絶えず蚘録しおいたす。 その時たで、個人は写真で手動で数えられおいたした。 毎幎NOAA Fisheriesが撮圱した䜕千枚もの写真のアシカの数を数えるのに、生物孊者は最倧4か月かかりたした。 この競技の目的は、航空写真でアシカを自動蚈算するアルゎリズムを開発するこずです。







すべおのアシカは5぀のクラスに分けられたす。







  1. adult_males-成人男性 、
  2. subadult_males-若い男性 、
  3. adult_females-成人女性 、
  4. 少幎 -十代の若者たち 、
  5. 子犬 -カブス 


948個のトレヌニング写真が提䟛されたす。各写真には、各クラスの個人のグラりンドトゥルヌス数がわかっおいたす。 18,641個のテスト画像のそれぞれに぀いお、クラスごずに個人の数を予枬する必芁がありたす。 これは、デヌタセットの䞀郚の䟋です。













さたざたな解像床の写真4608x3456から5760x3840。 䞊蚘の䟋からわかるように、品質ず芏暡は非垞に倚様です。







リヌダヌボヌド䞊の䜍眮は、すべおのテスト画像ずクラスで平均化されたRMSE゚ラヌによっお決たりたす。







ボヌナスずしお、䞻催者は、異なる色のドットでマヌクされたステラヌアシカのトレヌニング画像のコピヌを提䟛したした。 各色は特定のクラスに察応しおいたした。 これらのすべおのポむントは、誰かが手動でマヌクしたした生物孊者が願っおいたす。それらは垞に動物の䞭心にはっきりずはありたせんでした。 ぀たり、実際には、単䞀のポむントが䞎えられた堎合、各個人の倧たかな䜍眮がありたす。 こんな感じです。







画像

ベストフィッティングの画像クレゞット







Stellerアシカの最も䞀般的なクラスは女性 、10代 ずカブス 









問題



ここでは、デヌタおよびタスク党䜓で発生した問題を簡単にリストしたす。









どうやっお決めたの



ドむツでは、ロシアず同様に、今幎は5月1日の玠晎らしい週末でした。 土曜日から月曜日たでの自由な日々は、タスクに突入し始めるのにこれたで以䞊に必芁でした。 競争は1か月以䞊続きたした。 すべおは、 ディマ・コトノェンコず私が土曜日に条件を読んだこずから始たりたした。







第䞀印象は矛盟しおいた。 倚くのデヌタ、そのような問題を解決する方法は確立されおいたせん。 しかし、これは関心を高めたした。 すべおが「stack xgboost 」ではありたせん。トップ100に入り、銅メダルを獲埗するずいう、ささやかな目暙を蚭定したした。







最初の3日間は、デヌタ凊理ずパむプラむンの最初のバヌゞョンの䜜成に費やされたした。 ある良い男、 Radu Stoicescuは 、トレヌニング画像䞊のポむントを座暙ずStellerアシカクラスに倉換するカヌネルをレむアりトしたした。 これに時間を費やす必芁がなかったのは玠晎らしいこずです。 私が最初に提出したのは、開始埌わずか1週間でした。







グラりンドトゥルヌスマスクがないため、セマンティックセグメンテヌションではこのタスクを真正面から解決するこずはできたせん。 ラフマスクを自分で䜜成するか、匱い監督の粟神で蚓緎する必芁がありたす。 もっずシンプルなものから始めたかった。







オブゞェクト/人の数を数える䜜業は新しいものではなく、同様の蚘事を探し始めたした。 いく぀かの関連する䜜品が芋぀かりたしたが、すべおCrowdNetを数える人々 、 完党畳み蟌みの矀衆カりント 、 深局畳み蟌みニュヌラルネットワヌクを介したクロスシヌンの矀衆カりントに぀いおです 。 それらはすべお、 完党な畳み蟌みネットワヌクず回垰に基づいた1぀の共通のアむデアを持ちたした。 私は䌌たようなものから始めたした。







指で数える矀衆のアむデア



各クラスのヒットマップ2Dマトリックスを予枬する方法ず、各クラスの倀を加算しおクラスオブゞェクトの数を取埗できるようにする方法を孊習したす。







これを行うために、Grount Truthヒットマップを次のように生成したす。各オブゞェクトの䞭倮にガりスを描画したす。 これは、ガりス積分が1であるため䟿利です。トレヌニングセットから各画像に察しお5぀のヒットマップ5぀のクラスごずに1぀を取埗したす。 こんな感じです。



クリックしお拡倧







異なるクラスのガりス分垃の暙準偏差を目で芋おください。 男性の堎合-より倚く、カブの堎合-より少ない。 ニュヌラルネットワヌク以䞋、畳み蟌みニュヌラルネットワヌクず呌びたすは、256x256ピクセルの断片タむルにカットされた画像を受け取り、タむルごずに5぀のヒットマップを吐き出したす。 損倱関数は、予枬されたヒットマップずグラりンドトゥルヌスヒットマップの差のフロベニりスノルムです。これは、ヒットマップの差をベクトル化しお埗られたベクトルのL2ノルムに盞圓したす。 このアプロヌチは、 密床マップ回垰ず呌ばれるこずもありたす。 各クラスの個人の総数を取埗するために、出力で各ヒットマップの倀を芁玄したす。







方法 パブリックリヌダヌボヌドRMSE
ベヌスラむン1どこでも0を予枬 08/29/704
ベヌスラむン2電車のどこでも平均を予枬する 26.83658
私の密床マップ回垰 25.51889


密床マップ回垰に基づく私の゜リュヌションは、ベヌスラむンよりも少し良く、25.5をもたらしたした。 どういうわけか非垞にそうではありたせんでした。















ビゞョンタスクでは、ネットワヌクが生成したものを目で芋るず非垞に圹立ちたす。 私はそれをやった。 ネットワヌクの予枬を調べたした。1぀を陀くすべおのクラスでれロに瞮退しおいたす。 動物の総数はどこでも予枬されたしたが、すべおのアシカはネットワヌクによっお同じクラスに属しおいたした。







蚘事で解決された元の問題は、矀衆の䞭の人々の数を数えるこずでした。぀たり、オブゞェクトのクラスは1぀だけでした。 密床マップ回垰は、おそらくマルチクラスタスクには適しおいたせん。 そしお、オブゞェクトの密床ずスケヌルの倧きな倉化によっお、すべおが悪化したす。 L2を損倱関数に倉曎しおL1に倉曎し、クラスを蚈量したしたが、これは結果に倧きく圱響したせんでした。







L2ずL1の損倱関数は盞互に排他的なクラスで䜕か間違ったこずをし、ピクセルごずのクロス゚ントロピヌ損倱関数がより良く機胜するずいう感じがありたした。 これにより、ピクセルごずのクロス゚ントロピヌ損倱関数を䜿甚しお個人をセグメント化するようにネットワヌクをトレヌニングするアむデアが埗られたした。 グラりンドトゥルヌスマスクずしお、以前に取埗したオブゞェクトの座暙の䞭心に正方圢を描きたした。







しかし、新しい問題がありたした。 セグメンテヌションから個人の数を取埗する方法は ODSチャットで、 コンスタンチンロプキンは、マスクでカりントされた䞀連のフィヌチャのアシカの数をxgboostを䜿甚しお回垰するこずを認めたした。 しかし、ニュヌラルネットワヌクを䜿甚しおすべおを゚ンドツヌ゚ンドで実行する方法を考え出したかったのです。







それたでの間、私はクラりドカりントずセグメンテヌションを行っおいたしたが、 Dimaはオレンゞ色のシンプルなアプロヌチを採甚したした。 圌はImagenetの分類に぀いお蚓緎されたVGG-19を受け取り、ステラヌアシカの数を予枬するために圌女に眰金を科したした。 圌は通垞のL2損倱関数を䜿甚したした。 それはい぀ものように刀明したした- メ゜ッドが単玔であればあるほど、結果は良くなりたす。







それで、通垞の回垰がその仕事をし、うたくいくこずが明らかになりたした。 セグメンテヌションのアむデアは、より良い時代たで喜んで遅れたした。 回垰のためにVGG-16をトレヌニングするこずにしたした。 最埌に、5぀のクラスのアシカに回垰甚の出力レむダヌを远加したした。 各出力ニュヌロンは、察応するクラスの個䜓数を予枬したした。







パブリックリヌダヌボヌドのRMSE 20.5で突然トップ20に入りたした。













この時点で、目暙蚭定は小さな倉曎を受けおいたす。 照準はトップ100では意味がなく、少なくずもトップ10では意味があるこずが明らかになりたした。 これはもはや達成䞍可胜ずは思えたせんでした。







テストサンプルでは、​​倚くの写真が異なる瞮尺であり、アシカが電車より倧きく芋えたこずが刀明したした。 Kostya Lopukhin これに感謝したすは、ODSのスラックで、各次元のテストむメヌゞが2倍枛少するず、パブリックリヌダヌボヌドが倧幅に増加したず曞いおいたす。







しかし、 ディマも頑固ではなく、圌はVGG-19で䜕かをひねり 、写真を瞮小し、16の速床で2䜍になりたした。







ネットワヌクアヌキテクチャずハむパヌパラメヌタヌの遞択





コンスタンチン・ロプヒンの画像提䟛







損倱関数を䜿甚するず、すべおが明確になりたす。 より深いネットワヌクで実隓を開始する時間です。 圌らはVGG-19、ResnetV2-101、ResnetV2-121、ResnetV2-152および重砲-Inception-Resnet-V2を䜿甚したした 。







Inception-Resnet-V2は、Googleによっお発明されたアヌキテクチャで、 InceptionアヌキテクチャinceptionブロックずResNetアヌキテクチャ残留接続のトリックを組み合わせたものです。 このネットワヌクは以前のものよりかなり深く、この怪物はこのように芋えたす。









research.googleblog.comからの画像







蚘事「Inception-v4、Inception-ResNet、および孊習ぞの残留接続の圱響」で、 Googleの連䞭は、このアヌキテクチャがアンサンブルを䜿甚せずに圓時のImagenetの最先端を提䟛したこずを瀺しおいたす。







アヌキテクチャ自䜓に加えお、私は敎理する必芁がありたした









最良の組み合わせは、 Inception-Resnet-V2-BASE + 平均プヌリング + 256ニュヌロンのFCレむダヌ+ ドロップアりト + 5ニュヌロンの最終FCレむダヌでした。 Inception-Resnet-V2-BASEは、元のネットワヌクの最初の畳み蟌み局から最埌の畳み蟌み局たでの郚分を瀺したす。







最適な入力タむルサむズは299x299ピクセルでした。







画像増匷



写真をトレヌニングするために、CVからのタスクに察しお兞型的な䞀連の増匷を行いたした。

適甚される各タむルに぀いお









テスト時間の増匷は行いたせんでした。 すべおのテスト画像での予枬にはすでに半日かかっおいたからです。







物語の続き



ある時点で、 ハむパヌパラメヌタヌずネットワヌクアヌキテクチャを敎理しおいる間に、 Dima Kotovenkoずチヌムを組みたした。 その瞬間、 私は 2䜍、 ディマは3䜍でした。 䞭囜人を誀った方向にそらすために、チヌムは「DL Sucks」ず呌ばれたした。







誰かがメダルを取るのは䞍誠実だからチヌムを組んだ。 ディマず私たちは積極的に決定を議論し、アむデアを亀換したからだ。 Kostyaはこのむベントに非垞に満足しおおり、私たちは圌に賞を莈りたした。 4日から圌は3日目になりたした。







競争の最埌の3-4週間、私たちは公開リヌダヌボヌドの2䜍でそれぞれ開催され、それぞれ1/10、ハむパヌパラメヌタヌずスタッキングモデルの培底的な怜玢により速床を改善したした。







すべおのテスト画像を2倍に削枛するように思われたした-行き圓たりばったりでした。 ネットワヌクが各画像をどのように拡倧瞮小するかを予枬できるように、すべおを矎しく行いたいず思いたした。 ディマはこのアむデアに倚くの時間を費やしたした。 芁するに、圌は写真からアシカのスケヌルを予枬しようずしたした。これは、撮圱䞭のドロヌンの高床を予枬するこずず同等です。 残念ながら、時間が足りず、私たちが遭遇した倚くの問題のため、これは完了したせんでした。 たずえば、倚くの写真にはアシカが1匹だけ含たれおおり、スペヌスのほずんどは海ず石です。 したがっお、垞に岩や海だけを芋るずは限らず、どの高さから写真が撮圱されたかを理解するこずは可胜です。







締め切りの数日前に、すべおの最良のモデルを収集し、24のニュヌラルネットワヌクのアンサンブルを䜜成したした。 すべおのモデルは、前に説明した最高のInception-Resnet-V2アヌキテクチャを備えおいたした。 モデルは、どの皋床積極的に画像を増匷したか、どの皋床のテスト画像で予枬が行われたかが異なるだけでした。 異なるネットワヌクからの出力を平均したした。







DL Sucksチヌムは、パブリックリヌダヌボヌドの2䜍でコンペを終えたした。私たちが「むンザマネヌ」だったので、喜ぶこずしかできたせんでした。 私たちは、すべおがプラむベヌトリヌダヌボヌド䞊で倉化し、䞀般的にトップ10から倖れるこずがあるこずを理解したした。 4䜍ず5䜍にはかなりのギャップがあり、これが自信を぀けたした。 リヌダヌボヌドの状況は次のずおりです。







1䜍10.98445 アりトランナヌ 䞭囜語1

2䜍13.29065 WeDLサックス

3䜍13.36938 コスティア・ロプキン

4䜍14.03458ベストフィッティング䞭囜語2

5䜍14.47301 LeiLei-WeiWei2人の䞭囜人のチヌム

最終結果を埅぀ために残った...







そしお、あなたはどう思いたすか 䞭囜人が私たちの呚りを回りたした 2䜍から4䜍になりたした。 たあ、䜕もありたせんが、金メダルを獲埗したした;







結局のずころ、最初の堎所は別の䞭囜人、アルファグヌスのアりトランナヌによっお撮圱されたした。 そしお、圌は私たちのような決定をしたした。 クラスごずに個人の数を予枬するために、1024個のニュヌロンの完党に接続された局を远加しおVGG-16をトレヌニングしたした 。 圌を最初の堎所に導いたのは、思春期の数がその堎で50増加し、女性の数が同じ数だけ枛少し、カブの数が1.2倍になったこずです。 そのようなトリックは私たちにいく぀かのポゞションを䞊げるでしょう。







堎所の最終的な䜍眮







1䜍10.85644 アりトランナヌ 䞭囜語1

2䜍12.50888 コスティアロプキン

3䜍13.03257䞭囜語2

4䜍13.18968 WeDLサックス

5䜍14.47301他の2人ずチヌムを組んだDmitro Poplavsky ODSスラックでも


他の゜リュヌションに぀いおの䞀蚀



合理的な質問-怜出噚を蚓緎しおから、各クラスの境界ボックスを蚈算するこずは可胜ですか 答えはむ゚スです。 䞀郚の人はそれをやった。 Alexander Buslaev 13䜍がSSDをトレヌニングし、 Vladimir Iglovikov 49䜍 -Faster RCNNをトレヌニングしたした 。







りラゞミヌルの予枬の䟋









りラゞミヌル・むグロノィコフの画像提䟛







このアプロヌチの欠点は、写真のミノカサゎが互いに非垞に密に暪たわっおいる堎合、非垞に間違っおいるこずです。 たた、いく぀かの異なるクラスの存圚も状況を悪化させたす。







UNetを䜿甚したセグメンテヌションに基づいた゜リュヌションには、 コンスタンチンが2䜍になる堎所もありたす。 圌は、各アシカの䞭に描いた小さな正方圢を予枬したした。 次に-タンバリンず螊る。 予枬されたヒットマップに基づいお、 Kostyaはさたざたな特城指定されたしきい倀を超える領域、ブロブの数ず確率を蚈算し、それらをxgboostに䟛絊しお個人の数を予枬したした。









コンスタンチン・ロプヒンの画像提䟛







圌の゜リュヌションの詳现に぀いおは、 youtubeを参照しおください 。







3䜍ベストフィッティングでは、゜リュヌションはUNetにも基づいおいたす。 圌に぀いお簡単に説明したす。 男は3぀の画像のセグメンテヌションマスクに手動でマヌクを付け、別の100の画像でUNetをトレヌニングし、マスクを予枬したした。 これらの100個の画像のマスクを手で調敎し、それらのネットワヌクを再トレヌニングしたした。 圌によるず、これは非垞に良い結果をもたらしたした。 ここに圌の予枬の䟋がありたす。









ベストフィッティングの画像クレゞット







マスクされた個䜓の数を取埗するために、圌は圢態孊的操䜜ずブロブ怜出噚を䜿甚したした。







おわりに



したがっお、最初の目暙は少なくずもトップ100に入るこずでした。 目暙を達成し、さらにそれを超えたした。 倚くの異なるアプロヌチ、アヌキテクチャ、および拡匵が詊行されたした。 単玔な方法の方が良いこずが刀明したした。 そしお、奇劙なこずに、ネットワヌクの堎合は、深いほど優れおいたす。 ドヌピング埌のInception-Resnet-V2は、クラスごずの個人数を予枬するようにトレヌニングされおおり、最良の結果が埗られたした。







いずれにせよ、短時間で新しい問題に察する優れた゜リュヌションを䜜成するのに圹立぀経隓でした。







倧孊院では、䞻に教垫なし孊習ず類䌌孊習を研究しおいたす。 そしお、私にずっおは、毎日コンピュヌタヌビゞョンをやっおいたすが、私の䞻な焊点ずは関係のない新しいタスクを扱うのは面癜かったです。 Kaggleを䜿甚するず、さたざたなディヌプラヌニングフレヌムワヌクをよりよく孊習しお実際に詊すこずができ、よく知られおいるアルゎリズムを実装しお、他のタスクでどのように機胜するかを確認できたす。 Kaggleはレビュヌに干枉したすか それが心を劚害するのではなく、むしろ助けるずは考えにくい。 圌は十分な時間がかかりたすが。 私はこのコンペティションの背埌に週に40時間を費やし2番目の仕事のように、毎日倕方ず週末にそれを行ったず蚀えたす。 しかし、それは䟡倀がありたした。







読んでくれた人、あなたの泚意ず今埌の倧䌚での成功に感謝したす










私のKaggleプロフィヌル Artem.Sanakoev

Kaggleの゜リュヌションの簡単な技術説明 リンク

Github゜リュヌションコヌド リンク








All Articles