ヘモグロビンガーディアン:AIで貧血リスクを見える化するMVP
本記事は、AI Agent Hackathon with Google Cloud 応募用プロジェクト「ヘモグロビンガーディアン」についての提出記事です。スマホカメラとAIを活用した貧血リスクチェックのMVP(Minimum Viable Product)をどのように実装したのか、背景やシステム構成、デモ動画、開発フロー、今後の展望をまとめています。
※注意・免責
本アプリは医療機器ではなく、あくまで参考情報を提供するためのMVPです。貧血が疑われる場合は、必ず医師の診断を優先してください。
1. 背景
1.1 プロジェクトのきっかけ
近年、健康志向の高まりを受けて「自分の体調を日常的にセルフチェックしたい」というニーズが増えています。特に貧血は、初期症状があいまいで発見しづらく、生活の質に影響を及ぼすリスクが高いにもかかわらず、手軽にチェックできる手段が限られていました。
実体験の背景
本プロジェクトは、筆者自身が慢性的な貧血に悩まされているという経緯からスタートしました。
- 頻繁な出血によりヘモグロビン数値が下がりやすく、気づかないうちに貧血状態が進行することが多い
- 病院での定期検査は時間的・経済的負担が大きい
- 「日常的に少しでもこまめにチェックできる仕組みがあれば…」という切実な思いが原動力となっています
とはいえ、このアプリはあくまで一般的な貧血リスクの簡易チェックを狙ったもので、オスラー病を診断・治療するものではありません。
しかし、個人的な体験がプロジェクトのモチベーションとなり、「誰でも簡単にセルフチェックできる仕組み」を目指した点が大きな特徴です。
ペルソナ例
-
Aさん(20代女性)
忙しく働くキャリアウーマン。食生活が偏りがちで、めまいや疲労感があるけど、病院に行く時間がない。 -
Bさん(30代男性)
在宅ワーカーで外出頻度が少なく、健康意識は高いが、定期的な検査は面倒。 -
Cさん(40代女性)
子育てと家事で忙しく、貧血気味だが自覚症状がはっきりせず、ひとまず手軽にチェックしたい。
上記のような人々に向けて、「スマホで撮影→AIが色解析→貧血リスクを数値化」するサービスがあれば、毎日の生活の中で健康を意識しやすくなると考えました。
2. 課題とソリューション
2.1 課題
-
簡易チェックの不足
- 従来の健康チェックは病院や特定の専門施設を利用する必要があり、手間も時間もかかる。
-
貧血リスクの発見が遅れがち
- 貧血は初期症状が出にくく、「知らないうちに慢性的になっている」ケースが多い。
-
医療費・負担が大きい
- クリニックでの検査や精密検査など、時間的・経済的負担が大きい場合がある。
2.2 ソリューション:ヘモグロビンガーディアン
-
スマホカメラの活用
特別な機材なしで爪の写真を撮影し、その色合いを解析してリスクを推定。 -
AIによる画像解析
- ML Kitを用いた簡易解析 + Google Cloud Vision AIによる高度な爪領域検出やHSV色空間分析。
- ブレ検出や画質チェックも含めて、可能な限り精度を高めています。
-
Gemini APIでの栄養アドバイス生成
- リスク判定に合わせて、Vertex AIのGemini APIから個別の栄養・食事アドバイスを自然言語で自動生成。
- 「どう改善すればいいか」にフォーカスした実践的なガイドラインを提供。
-
Firebaseによる履歴管理と認証
- Firebase Authenticationでユーザーごとにデータを管理。
- Firestoreを利用して、解析結果やアドバイス履歴を簡単に振り返ることが可能(現在はMVP段階で実装中)。
メリット
- 病院に行けない・行きたくない人でも手軽にセルフチェックできる。
- リスク判定結果に基づいて、栄養アドバイスをすぐ確認可能。
- マネージドサービス中心の構成で運用コストを抑えつつ、スケーラブルに対応可能。
3. システム構成
このプロジェクトはフロントエンド(Flutter)とバックエンド(Python+FastAPIをCloud Run上にデプロイ)、そしてGCPの各種AIサービスが相互連携する構成になっています。
3.1 システムアーキテクチャ図
以下の図は、本アプリ全体の構成を示すものです。
ポイント
- FastAPI がHTTPエンドポイント /analyze を提供し、Vision AIやGemini APIを呼び出して結果を返す。
- Firebase Authでユーザー管理し、Firestoreに解析結果を保存。
- Flutterアプリはカメラかギャラリー経由で画像取得し、バックエンドにPOSTする。
3.2 主な構成要素
-
フロントエンド:
Flutterを使って開発。シンプルなUIでカメラやギャラリーからの画像選択、解析結果の表示を実現してる。 -
バックエンド:
Python(FastAPIなど)を用いて構築。Cloud Run上で動作し、画像解析やアドバイス生成の各種APIエンドポイントを提供。 -
クラウドサービス:
- Google Cloud (Vision AI & Vertex AI): 画像解析とAIによるアドバイス生成を担当。
- Firebase: ユーザー認証とデータの永続化を実現。
- Docker: コンテナ技術により、柔軟なデプロイ環境を構築。
4. デモ動画
3分以内のデモ動画を制作しました。動画では、以下のフローを確認できます:
- アプリ起動~ログイン
- Firebase Authenticationによる簡単なログイン処理。
- 写真撮影 or ギャラリー選択
- 実機カメラで爪を撮影する流れ、またはギャラリーから画像を選択する流れ。
- 解析中ローディング表示
- Vision AIを使って色解析や爪領域検出をしている最中のUI。
- 解析結果&AIアドバイス表示
- リスクレベル(Low/Medium/High)と、Gemini APIによる栄養アドバイスのサンプル。
- 履歴画面で結果を振り返り(オプション)
- 保存された過去の解析ログを一覧表示(MVP版のため簡易表示)。
動画リンクは以下の通り。
5. 開発フロー・工夫点
5.1 短期開発(ハッカソン)の流れ
-
要件定義 & モック作成
- 「撮影→解析→アドバイス」の最小限フローを優先。
-
バックエンド/APIの設計
- FastAPI + Docker + Cloud Run でサーバーレス運用。
- Vision AI & Gemini APIを呼び出すサンプル実装。
-
フロント実装(Flutter)
- 画像撮影/アップロードとレスポンス表示に集中。
-
Firebase連携
- Authでユーザープロファイル管理。解析結果をFirestoreへ保存(MVP版では最低限のデータのみ)。
-
テスト & デモ動画作成
- 主に正常系・エラーハンドリングのテストを中心に短期で実施。
- 動画撮影→記事執筆→最終提出。
5.2 技術的工夫
-
色解析の精度向上
- ML Kitの初期ラベリング+Vision AIの詳細分析に分割し、高速化と精度を両立。
-
エラーハンドリング & フォールバック
- タイムアウトやAPIエラー時に、過去のキャッシュ情報や基本アドバイスを返す仕組み。
-
Gemini APIのプロンプト設計
- リスクレベルに応じてプロンプトを変えることで、よりユーザーの状況に寄り添ったアドバイスを生成。
-
Docker + Cloud Runでのデプロイ
- 環境差異を抑え、ビルド後のコンテナイメージをそのまま本番に適用できる。
6. 今後の展望
-
履歴機能の拡充
- Firestoreに詳細データを蓄積し、グラフ表示や期間比較などのUIを追加予定。
-
多言語対応
- Translation APIとの連携で、英語・中国語など多言語のアドバイス提供を目指す。
-
医療機関との連携
- 公式医療認証を取得して精度を向上させたり、病院と連携して検査予約ができるようなサービス展開も考慮。
-
より高度な画像解析
- 照明補正やブレ補正のアルゴリズムを強化し、特定の体質・症状に特化した分析を実現したい。
次のステップ
- ユーザーのフィードバックをもとに、UI/UXの改善を進める
- 各種APIのエラーハンドリングの精度向上とリトライ機能の改善
- 定期的なパフォーマンスレビューを実施し、システムの最適化を継続
7. まとめ
「ヘモグロビンガーディアン」は、スマホカメラ × AIによって貧血リスクを手軽に見える化するMVPです。
- ほんの数秒で「貧血リスクの簡易チェック」と「栄養アドバイス」が得られる
- 病院に行く時間が無い方や、ちょっとした日常の不調を見逃したくない人に最適
まだMVP段階ですが、ハッカソンでの限られた開発時間内でここまで実装し、今後の拡張に大きな可能性を残す形となっています。興味のある方はぜひリポジトリをチェックしてみてください。
医療上の注意点: 本プロジェクトはあくまでセルフチェックの一助を目的としており、医療行為や診断を代替するものではありません。
参考リンク
非侵襲的血液量測定技術の現状と展望について調べた内容をまとめました。
(一般向け)
(少し技術向け)
Discussion