苔の種類を判別するWEBアプリを作ってみました

苔(コケ植物/蘚苔類)の種類を判別するWEBアプリを作ってみました。

ナニゴケ – 苔の種類を判別します
https://www.nanigoke.net/

かなり以前からずっと作ってたやつで、できることなら、もう少しまともなものができてからリリースしたかったのですが、それを言っていると、どこまでいっても、もう本当にきりがないので、ここらで一旦、区切りをつけて、一回、表に出したいと思います。

中身はTensorFlow.jsを使ったよくある画像分類で、学習データはすべて私がデジカメで撮った写真です。労力の8割以上(将来的にはおそらく9割以上になると思う)は、この学習データを用意するところに掛かっています。写真は全部で、約13,700枚撮りましたが、結局、実際に学習に回せたのは8,700枚ほど。ある程度正確にいこうとすると、まあこんなもんですね。特に、最初の頃撮っていた分が、かなりの量ゴミになりました。ただ、今はもう、学習データ作成のコツを掴んだというか、やり方が定まってきて、だいぶいい感じにいろんな作業ができるようになりました。

先ほど、一番最初に撮った写真のタイムスタンプを確認しましたが、2017年4月でした。てっきり、さらにもう1年前だったような気がしていたので、うまく言えませんが、なんかちょっとほっとしました。もちろん、それでも時間が掛かりすぎなのは間違いないのですが… 実は去年の今頃、白駒の池に泊りがけで行ってきたんですよ。このナニゴケの為だけに(笑)。あれから一年ですか… 本当になにをしていたんでしょうね? ちなみに、もう一度今年中に白駒の池に行く予定にしてたりします。

スマホでもPCでもちゃんと動いてほしいと思っているこのWEBアプリですが、iOSはちょっと大き目なNNのモデル使うと、特に2回目以降のpredictでよく固まります。これはSafariだけではなく、Chromeでも同じなのでiOSの問題に思えるんですが、意外と情報少ないです(なんでなんだろう?)。ちゃんと動けばかなり速いので、逆に余計いらつくんですよね(笑)。以前、white shadeでも同じような感じだったのですが、あっちは今は大丈夫そうだし、よくわかりません。リリース直前になって、急遽かなりサイズの小さいモデルを作って、それを使うことにしたのですが、iOSの端末に全体の足を引っ張られるのはちょっとなんなので、もうiOSだけフォールバックさせるかもしれません。ちなみに、[ 設定 > Safari > 詳細 > Experimental Features > WebGL 2.0 ]がONになっていると、固まらなくなるような気がしますが、代わりにそこそこ遅くなります。Androidは、よくわかりません。安価で今どきな端末を、ひとつ買ったほうがいいかな? とりあえず、アクセスログ見て適当に判断してみます。

肝心の判別精度は、正直、現時点ではちょっとあれなんですが、とりあえず1か月以内にある程度はなんとかします。そして、1年後までには、十分な実用性が出せるように、ちょっと真剣に頑張ってみたいと思います。今すぐに冬の写真を、というわけにもいかないので、1年ください。そしてそして、このナニゴケ、できれば自分の人生かけたライフワークにしたいと考えていて、せめて10年後には、本当に良いものにしたいと思っています。COSUMIはいつまで続けるのか、私自身もよく分かりませんが、こっちは最期の日まで止めるつもりはありません。今現在、「判別できる種の数78・Trainに使用したデータ8,400枚」なのですが、1年後の目標は、「判別できる種の数120・Trainに使用したデータ20,000枚」、最終的な目標は、「判別できる種の数200・Trainに使用したデータ100,000枚」、これでいきたいと思います。そこまでいったら、日本で撮影した苔の写真を世界で一番たくさん持っていることになりそうですね(笑)。今は何番目ぐらいなのでしょうか?

それにしても、ここ最近このWEBアプリに掛かりっきりで頑張っていたので、さすがにちょっと疲れました。机の上に散乱している大量の苔たちも、一度片付けたいと思います(笑)。何種類あるのかも、もうよくわからんけど、20はあるな… 顕微鏡の覗き過ぎで、目を悪くした気がして、とってもやな感じのこの頃です。

この文章を読んでくださっている方の大半は、おそらく苔なんて興味ないと思うのですが、苔はいいよ! ぜひ、ナニゴケ使えるスマホを持って、家の周りの苔を探してみてください。私も実際に外で使ってみましたが、予想以上に面白かったです。

[追記 2019/7/3]
ナニゴケ作っている時に気づいたのですが、ブラウザによってNNの出力が結構変わってきますね。white shadeのレベル設定があれになるので、もう見なかったことに…(笑)

No Comments »

No comments yet.

Leave a comment


ご気軽にコメントしてください。ただし、すべてのコメントに返信をお約束するものではありませんのでご了承ください