もやっとした回答で申し訳ないですが、これは普通のCNNベースのクラス分けのネットワークで解くのはあまり筋が良くないと思います。すでにご指摘の通り、
それ以外の画像データが膨大過ぎて用意できません。
が最大の難点と思います。犬、猫、いろいろいますが、犬や猫を表す画像はそれなりにまとまった雰囲気はありますが、「それ以外」の雰囲気てなんだろう(その他もろもろの特徴なんてあるわけない?!)のようなところに行きつきます。
問題の定義を少し変えると対応できると思います。
やりたいことを、元の定義と似ているけれども少し違う、犬らしい画像、猫らしい画像、犬らしくも猫らしくもない画像の”らしさ”を知りたい、としましょう。
こう定義できると、異常検知の手法を取ることができます。具体的には、「正常画像だけで異常画像なしに異常かどうかを"らしさ"から仕分ける」ことができます。すると、クラス分け問題から、(回帰と言っていいか微妙な気がしますが)回帰問題に化けさせられます。
この異常検知するMetric learningという手法では、ネットワークでは直接回帰はしていませんがLOFを経由してどれだけ密集しているかに回帰できます。Metric learningでは、似ているものを近くに、似ていないものを遠くに集める特性があります。異常画像は似ていないので離れたところに飛ばされます。どれだけ飛ばされているか、をLOFという手法で数値に起こすイメージです。
- Metric learningの手法で似ているものと似ていないものをプロットする
- LOFを使ってどのクラスターに近いか(異常度が低いか)を調べる
Qiitaのjw-automationさんの記事が参考になると思います。ここでは「数字(0-9)か、それ以外か」で行っています。数字の代わりに犬、猫で同じことをすれば行けそうですね。
不明な点がありましたらコメントお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/27 01:21