開発記録
Cloud Spotterを作った話 — AIで雲を識別するアプリができるまで
AIによる雲の自動識別アプリ「Cloud Spotter」の開発背景や技術的なポイントを振り返ります。
きっかけ
ふと空を見上げたとき、「あの雲、なんていう種類だろう?」と思ったことはないだろうか。調べてみると雲には国際的に定められた10種類の基本形があるらしい。それなら、カメラをかざすだけで識別できるアプリがあったら面白いのでは——そんな素朴な発想からCloud Spotterの開発は始まった。
技術スタック
アプリの構成はシンプルにまとめた。
- Flutter / Dart — クロスプラットフォーム対応のUI
- TensorFlow Lite — デバイス上で動く軽量な画像分類モデル
- Riverpod — 状態管理
特にこだわったのは、推論をすべてオンデバイスで完結させる点だ。ネットワーク接続がない山の上や離島でも使えるようにしたかった。
雲の分類モデル
10種類の雲(巻雲、巻積雲、巻層雲、高積雲、高層雲、乱層雲、層積雲、層雲、積雲、積乱雲)を分類するモデルを学習させた。
学習データの収集が一番の課題だった。雲の写真は撮影条件や光の加減で見た目が大きく変わる。データ拡張を積極的に使いつつ、最終的には実用的な精度に仕上げることができた。
UIデザイン
空のアプリなので、UIも空っぽい雰囲気にしたかった。グラスモーフィズムを採用して、半透明のカードが空に浮かんでいるようなデザインにしている。時間帯によってテーマカラーが変わるのもちょっとしたこだわりだ。
コレクション機能
単に雲を識別するだけでなく、見つけた雲を記録して「自分だけの雲図鑑」を作れるようにした。位置情報とともに保存されるので、あとから振り返ると「あのとき旅先で見た雲だ」と思い出せる。
おわりに
個人開発は、自分の「あったらいいな」をそのまま形にできるのが楽しい。Cloud Spotterはまだまだ改善の余地があるけれど、空を見上げるきっかけになるアプリに育てていきたい。