PetFinder.my-Pawpularity-Contest
OverView
一枚の絵は千の言葉に値する。しかし、1 枚の写真が 1,000 の命を救うことができることをご存知でしたか?世界中で毎日、何百万匹もの野良動物が路上で苦しんだり、保護施設で安楽死させられています。魅力的な写真を持つペットは、より多くの関心を集め、より早く採用されると思うかもしれません。しかし、良い写真とは何でしょうか?データサイエンスの助けを借りれば、ペットの写真の魅力を正確に判断し、救助された動物たちがより多くの人に愛されるチャンスを得られるよう、改善策を提案することができるかもしれません。
PetFinder.my は、マレーシアを代表する動物福祉プラットフォームで、18 万頭以上の動物が登録され、5 万 4 千頭が幸せな養子縁組をしています。ペットファインダーは、動物愛好家、メディア、企業、グローバル組織と密接に協力し、動物福祉の向上に努めています。
現在、PetFinder.my では、ペットの写真をランク付けするために、基本的な Cuteness Meter を使用しています。これは、写真の構図やその他の要素を分析し、何千ものペットのプロフィールのパフォーマンスと比較するものです。この基本的なツールは有用ですが、まだ実験的な段階であり、アルゴリズムは改善できる可能性があります。
このコンペティションでは、生の画像とメタデータを分析して、ペットの写真の「Pawpularity」を予測します。このモデルは、PetFinder.my の何千ものペットのプロフィールを使ってトレーニングとテストを行います。採用されたモデルは、動物福祉を向上させるための正確な推奨事項を提供します。
成功すれば、世界中のシェルターやレスキュー隊がペットのプロフィールの魅力を向上させるための AI ツールに採用され、自動的に写真の品質を向上させたり、構図の改善を推奨したりすることになります。その結果、野良犬や野良猫がより早く「運命の人」を見つけることができるようになります。Kaggle コミュニティのちょっとした支援で、多くの尊い命が救われ、より多くの幸せな家族が生まれるかもしれません。
上位の参加者には、ソリューションの実装に向けた共同作業に招待される可能性もあり、AI のスキルで世界の動物福祉を創造的に改善することができます。
Rules
- deadline => 2022/01/14
- Evaluation => RMSE
- CPU Notebook <= 9 hours run-time
- GPU Notebook <= 9 hours run-time
- Internet access disabled
- Freely & publicly available external data is allowed, including pre-trained models
- Submission file must be named submission.csv
How Pawpularity Score Is Derived
- Pawpularity Score は、各ペットプロフィールの掲載ページにおけるページビュー統計から、異なるページ、プラットフォーム(ウェブおよびモバイル)、さまざまな指標でトラフィックデータを正規化するアルゴリズムを用いて算出されます。
重複クリック、クローラー・ボットによるアクセス、スポンサー付きプロフィールは分析から除外されています。
Purpose of Photo Metadata
- 写真のメタデータはオプションで、各写真に視覚的品質と構成の主要パラメータを手動でラベル付けしています。
これらのラベルは、Pawpularity スコアの導出には使用されませんが、コンテンツをよりよく理解し、写真の魅力に関連付けるためには有益であると考えられます。私たちの最終的な目標は、写真にインテリジェントな推奨事項(ペットの顔を正面からクローズアップする、アクセサリーを追加する、被写体のフォーカスを上げるなど)や自動補正(明るさ、コントラストなど)を生成できる AI ソリューションを展開することであり、より解釈しやすい予測ができることを期待しています。
これらのラベルを適切に使用し、オプションとして、写真からラベルを予測する中間/補足モデルを構築することができます。補足モデルが優れたものであれば、私たちの AI ツールにも組み込むことができます。
私たちのプロダクションシステムでは、動的にスコアリングされる新しい写真には、写真ラベルは含まれません。人気度予測モデルが写真ラベルのスコアを必要とする場合は、最終モデルに与える前に、中間モデルを使用してそのようなパラメータを導出します。
Meta info
- subject focus - ペットは、整然とした背景の中で、近すぎず遠すぎず、際立っている。
- eye - 両目が正面またはそれに近い方向を向いており、少なくとも 1 つの目/瞳がきちんとクリアになっている。
- face - 正面またはそれに近い方向を向いている、はっきりとした顔。
- Near - 1 匹のペットが写真のかなりの部分を占めている(おおよそ写真の幅または高さの 50%以上)。
- Action - ペットが何かアクションを起こしている最中(例:ジャンプ)。
- Accessory ー - 首輪やリードを除く、付随する物理的またはデジタル的なアクセサリー/小道具(例:おもちゃ、デジタルステッカー)。
- group - 1 匹以上のペットが写っていること。
- collage - デジタル的にレタッチされた写真(デジタルフォトフレームを使用したもの、複数の写真を組み合わせたものなど)。
- Human - 写真に写っている人間。
- Occlusion - 特定の望ましくないオブジェクトがペットの一部を遮っている状態(例:人間、ケージ、フェンス)。すべての遮蔽物がオクルージョンとは限らない。
- info - カスタムで追加されたテキストやラベル(例:ペットの名前、説明)。
- blur ー - 特にペットの目や顔など、目立ったピンボケやノイズがある状態。ブラーのエントリーでは、「目」列は常に 0 に設定されます。
20211109
- petfinder 参戦, 目標は現時点での画像系の知識の習得+銀メダル以上
- とりあえず nakama さんのノートブックを自分用に改良
- 右も左も分からないので公開ノートブックをベースに頑張る
20211110
- transformer > CNN
- classification > regression
- transformer -> SwinTransformer
- phalanx さんの github を参考にどのように取り組むかを把握(したつもり)
- とりあえず Stratified 5fold, epoch:20, lr:1e-4, batch_size:32, optimizer:AdamW, scheduler:CosineAnnealingLR, seed:42 で固定
- grad_cam?(CNN で可視化させるやつができない)
20211111
- petfinder_baseline(tf_efficientNet) cv:19.3128 LB:19.11319
- exp1 swin_transformer
- どうやら画像に重複があるらしい(またはかなり似ている) -> 除去後のモデルもありかも
- 脳死でモデルを変更した(large_model や Vit) -> 20 位で停滞した
- 単純に augmentation をやっていなかった
20211112
- efficientNet で augmentation を試すことに(transformer よりも速いため)
- AtmaCup を参考にいくつか材料を揃えた(実装できるかは分からん)
- Horizontal や Vertical, Brightness, ShiftScale, GaussianNoise Blur, toGray を検証
- image_size でスコアの差異があるか確認(最後の最後までできるだけ統一する)
base_model と exp1 の oof の分析
-
base の efficientNet には abs でのエラーで 114 が一件いた -> swin transformer では 81 位になっていた
-
exp1 では max が 81 で base では 73 位になってた -> CNN ベースと Attention ベースで得意不得意があるのか?
-
エラーが高い画像をみたら背景と結構色が似ているような??
-
fold1 と fold3 に特に noise が含まれている
-
割と全体的に Pawpularity が大きい方にシフトしている(Pawpularity が min=1 に対して, pred は大体 min=10+-2 位) -> Pawpularity100 がまあまああるから?
-
efficientNet だと過小評価がかなり苦手くさい
-
上位でさえ 17 ということを考えるとある程度の妥協は必要そう
-
Pawpularity=100 のときは efficientNet の方が error の min が小さい->ほぼぴったりで予測できている. ただエラーの平均は変わらない
-
後処理またはスタッキングが重要になってきそう(恐らくサイトのアクセス数からだと思うのでかなりブレがあるため、モデル only で予測するのは限界がありそう)