あのダイビングでみた見た魚の名前を僕はまだ知らない ~DeepLearningで魚の画像認識がしたい
モチベーション
趣味でダイビングをたまにするのですが、そこで出会った魚たちが誰なのかがまったくわからない・・・。イントラさんに魚の名前聞いてもよくわからないし、あとからGoproで撮った動画とかみても自分では魚の見分けが全くつかない。なんとかして、魚を見分けたい。なんとかならないか。
DeepLearningなら、なんとかならないか。けど、Caffeとかまだちゃんと動かしたことない。Caffeも触ってみたいが、手っ取り早く試すということで、LabellioというDeepLearningを使った、画像分類のWebサービスで試してみた。
Labellioとは
Labellioとは、訓練画像をUPすると、モデルを学習して、画像分類ができちゃうWebサービス。しかも、プログラミング不要。詳しくは、ここをよんでもらえれば。
やってみる
- 伊豆でであれる魚を調べ、その魚の画像を集めてきた。(画像集め)
- ログイン
- 写真をアップロード
- アップロードすると学習がすすむ
学習がおわると、分類ができるようになる
- この前、伊豆でであった、このカエルアンコウを分類してみると
2値分類だけど、なかなかいい感じ
この前、伊豆でであった、このエイを分類してみると
- ちょっとツライ
モデルはCaffeモデルの形式でダウンロード可能
感想
- カエルアンコウは姿が独特だから識別しやすいけど、エイとかはむずいよね
- 魚は擬態とか、朝晩で色が変わるとか、幼魚・成魚で変わるとか、海中のせいで青かぶりとか、そういう分類を難しくする要因がたくさんあるのでシンドイなー
- 人が魚を見分ける時に、どこでみつけたとか、季節とかそういうものも判断材料にしているから、そういった付加情報もDeeaLearningのNNの中に入れられたら精度あがりそう
このあと、やりたいこと
- Caffeモデルもエクスポートができるので、LabellioでつくったモデルでCaffeで動かしてみたい
- CLIもあって、APIで分類もできるようなので、CLIも試してアプリをつくってみたい
- ちゃんとCaffeも触る!