Nullstead

開発記録

Cloud Spotterを作った話 — AIで雲を識別するアプリができるまで

AIによる雲の自動識別アプリ「Cloud Spotter」の開発背景や技術的なポイントを振り返ります。

約1分

きっかけ

ふと空を見上げたとき、「あの雲、なんていう種類だろう?」と思ったことはないだろうか。調べてみると雲には国際的に定められた10種類の基本形があるらしい。それなら、カメラをかざすだけで識別できるアプリがあったら面白いのでは——そんな素朴な発想からCloud Spotterの開発は始まった。

技術スタック

アプリの構成はシンプルにまとめた。

  • Flutter / Dart — クロスプラットフォーム対応のUI
  • TensorFlow Lite — デバイス上で動く軽量な画像分類モデル
  • Riverpod — 状態管理

特にこだわったのは、推論をすべてオンデバイスで完結させる点だ。ネットワーク接続がない山の上や離島でも使えるようにしたかった。

雲の分類モデル

10種類の雲(巻雲、巻積雲、巻層雲、高積雲、高層雲、乱層雲、層積雲、層雲、積雲、積乱雲)を分類するモデルを学習させた。

学習データの収集が一番の課題だった。雲の写真は撮影条件や光の加減で見た目が大きく変わる。データ拡張を積極的に使いつつ、最終的には実用的な精度に仕上げることができた。

UIデザイン

空のアプリなので、UIも空っぽい雰囲気にしたかった。グラスモーフィズムを採用して、半透明のカードが空に浮かんでいるようなデザインにしている。時間帯によってテーマカラーが変わるのもちょっとしたこだわりだ。

コレクション機能

単に雲を識別するだけでなく、見つけた雲を記録して「自分だけの雲図鑑」を作れるようにした。位置情報とともに保存されるので、あとから振り返ると「あのとき旅先で見た雲だ」と思い出せる。

おわりに

個人開発は、自分の「あったらいいな」をそのまま形にできるのが楽しい。Cloud Spotterはまだまだ改善の余地があるけれど、空を見上げるきっかけになるアプリに育てていきたい。

Tags #開発記録 #Flutter #機械学習