どらちゃんのポッケ

R・統計・技術メモなど勉強ログ置き場

あのダイビングでみた見た魚の名前を僕はまだ知らない ~DeepLearningで魚の画像認識がしたい

モチベーション

趣味でダイビングをたまにするのですが、そこで出会った魚たちが誰なのかがまったくわからない・・・。イントラさんに魚の名前聞いてもよくわからないし、あとからGoproで撮った動画とかみても自分では魚の見分けが全くつかない。なんとかして、魚を見分けたい。なんとかならないか。

DeepLearningなら、なんとかならないか。けど、Caffeとかまだちゃんと動かしたことない。Caffeも触ってみたいが、手っ取り早く試すということで、LabellioというDeepLearningを使った、画像分類のWebサービスで試してみた。

Labellioとは

Labellioとは、訓練画像をUPすると、モデルを学習して、画像分類ができちゃうWebサービス。しかも、プログラミング不要。詳しくは、ここをよんでもらえれば。

やってみる

  1. 伊豆でであれる魚を調べ、その魚の画像を集めてきた。(画像集め)
  2. ログイン
    • f:id:sleeping_micchi:20150730223602p:plain
  3. 写真をアップロード
    • f:id:sleeping_micchi:20150730223556p:plain
  4. アップロードすると学習がすすむ
    • f:id:sleeping_micchi:20150730224107p:plain
    • f:id:sleeping_micchi:20150730223832p:plain
  5. 学習がおわると、分類ができるようになる

    • この前、伊豆でであった、このカエルアンコウを分類してみるとf:id:sleeping_micchi:20150730224421p:plain
    • 2値分類だけど、なかなかいい感じf:id:sleeping_micchi:20150730223550p:plain

    • この前、伊豆でであった、このエイを分類してみるとf:id:sleeping_micchi:20150730224428p:plain

    • ちょっとツライf:id:sleeping_micchi:20150730224307p:plain
  6. モデルはCaffeモデルの形式でダウンロード可能

    • f:id:sleeping_micchi:20150730223526p:plain

感想

  • カエルアンコウは姿が独特だから識別しやすいけど、エイとかはむずいよね
  • 魚は擬態とか、朝晩で色が変わるとか、幼魚・成魚で変わるとか、海中のせいで青かぶりとか、そういう分類を難しくする要因がたくさんあるのでシンドイなー
  • 人が魚を見分ける時に、どこでみつけたとか、季節とかそういうものも判断材料にしているから、そういった付加情報もDeeaLearningのNNの中に入れられたら精度あがりそう

このあと、やりたいこと

  • Caffeモデルもエクスポートができるので、LabellioでつくったモデルでCaffeで動かしてみたい
  • CLIもあって、APIで分類もできるようなので、CLIも試してアプリをつくってみたい
  • ちゃんとCaffeも触る!

このあと、調べないといけないこと

  • 画像を集める手段で、効率的なものはないか。今回は途中で挫折してしまった・・・。
  • いいデータセットはないか。
  • スクレイピングの法律・ライセンスのことについて。