
スマートフォンで実現するオフライン稼働型リアルタイム画像解析
機械学習モデルをTensorFlow/Androidに最適化・実装する開発事例
担当領域:開発
ある研究プロジェクトの一環として、スマートフォン端末上でオフラインでも動作可能なリアルタイム画像解析機能を搭載するAndroidアプリの開発を行いました。
モデルの検証と最適化
事前に学習済みのMobileNetモデルを用いて、画像の特徴量抽出性能をKerasで検証。 その後、学習済みのh5形式のモデルをTensorFlow向けのtflite形式に変換し、スマートフォンでの軽量かつ高速な推論に対応しました。
リアルタイム推論の仕組み
TensorFlow Liteを使用し、カメラから取得する映像をリアルタイムにMLモデルへ入力。 推論された特徴量を、あらかじめ用意したデータとの間で交差エントロピー誤差を算出し、結果に応じて別のマルチメディアファイルを再生する仕組みを実装しました。
Kotlinでの実装上のチャレンジ
Pythonであれば容易に行えるモデルの読み込みや誤差計算を、Kotlinで実装するにあたっては手間がかかりました。特に誤差計算が遅くなりやすく、パフォーマンスを確保するための最適化が必要でした。 一方、メモリ管理やスレッド処理については得意分野だったため、オフライン動作でも大きな問題なく実装できました。
この取り組みによって、スマートフォン単体での機械学習処理をより実践的な形で実証できただけでなく、端末本体の性能を最大限に活かしたリアルタイム解析の技術知見も蓄積できました。新規事業開発やプロダクトの差別化を目指す企業に向け、モバイル端末上でのML実装は今後ますます注目される分野となると考えています。
Project Information
Genre:
AI, 機械学習, TensorFlow, Android
Year:
2018
Links