みらいテックラボ

音声・画像認識や機械学習など, 週末プログラマである管理人が興味のある技術の紹介や実際にトライしてみた様子などメモしていく.

「Kingyo AI Navi」のアプリ化を考える (6)

昨年のUrban Data Challenge 2018で, 「Kingyo AI Navi」がアイデア部門の金賞を受賞して, はや1年が経った.
そして昨日(2020.3.14)Urban Data Challenge 2019ファイルが行なわれた.



アーバンデータチャレンジ2019 with土木学会インフデータチャレンジ2019ファイナル!

今年は, アプリケーションで応募した「Kingyo AI Navi(LINE版)」(CODE for YAMATOKORIYAMA応募作品)は, 残念ながら一次審査を通過できなかったが, 産業・観光分野で実行委員会特別賞をいただくことができた.

f:id:moonlight-aska:20200314192558j:plain


関連記事:
「Kingyo AI Navi」のアプリ化を考える (1)
「Kingyo AI Navi」のアプリ化を考える (2)
「Kingyo AI Navi」のアプリ化を考える (3)
「Kingyo AI Navi」のアプリ化を考える (4)
「Kingyo AI Navi」のアプリ化を考える (5)
・「Kingyo AI Navi」のアプリ化を考える (6)


「Kingyo AI Navi」のアプリ化は, 実は受賞後2-3カ月で大部分の枠組みを作成, その後イベント等での展示を通じて少しづつ改良を進めてきた.
今回応募した「Kingyo AI Navi(LINE版)」の機能を少し紹介しようと思う.


1. アプリの概要
アプリ作成にあたり, ネイティブアプリだとAndroidiOSの両方に対応する必要があり大変なので, 「Kingyo AI Navi」ではアプリにはLINEのMessaging APIの仕組みを利用し, 実際の処理はGCPのCompute Engine/DialogFlow/Cloud AutoML Visionなどを活用している.
これだと, LINEアプリのユーザは友達申請するだけで「Kingyo AI Navi」(現状は未公開)を利用することができる.

友達申請するとこんな画面が表示される.

f:id:moonlight-aska:20200315090206p:plain:w300

主な機能:
・金魚の写真を投稿するとその品種を判別
・金魚(飼い方, 病気など)/大和郡山(観光スポット, イベントなど)に関する情報提供
大和郡山市内の金魚スポットのマップ表示
・メニューによる簡単操作(文字入力でも可)

システム構成:
f:id:moonlight-aska:20200126173852p:plain


2. 各機能紹介
2.1 金魚の品種判別
金魚の品種判別は, ネット上で収集した金魚画像に加え, これまで数回実施した金魚データ収集イベントを通じて集まった金魚画像を用い, GoogleのCloud AutoML Visionで学習したモデルを使ってCompute Engineで判別を行っている.
金魚の種類は公式登録されているものは30数種あるが, その内比較的データが集まった22種を対象としている.

f:id:moonlight-aska:20200315092508p:plain

「Kingyo AI Navi」から写真を投稿すると, 金魚の種別を判別し, その結果を返してくれる.
また, 判別した金魚に関する情報サイトも教えてくれる.

f:id:moonlight-aska:20200315093027p:plain:w300


2.2 金魚スポットの案内
2018年にCODE for YAMATOKORIYAMAが開催した「金魚スポット再発見ワークショップ」[1]の成果を活用!!
市内の金魚アイテムが見られる場所をOpenStreetMap/uMapを使って地図化.

f:id:moonlight-aska:20200315094805p:plain:w300


2.3 金魚/大和郡山情報の提供
金魚や大和郡山市に関することを文字ベースで質問し, 関連する情報サイトを案内
GoogleのDialogFlowで質問文の解析を行い, 質問文のタイプに応じて, 関連する情報サイトのリンクを表示するようにしている.
よく利用されそうな質問は, メニューを選択することで簡単に利用できる!!

f:id:moonlight-aska:20200315095808p:plain:w300


2.4 メニュー機能
知りたいことを文字で質問すれば答えてくれるの嬉しいですが, 文字入力ってやっぱり面倒!!
金魚と大和郡山市のことに限定したアプリなので, よく使いそうなものについてはメニュー化.
他のメンバがステキなメニューにしてくれました. ありがとう!!

f:id:moonlight-aska:20200315100306p:plain:w300


今回, アプリ公開まではできなかったが, ある程度のレベルには到達!!
あとは, イベント情報などを簡単に更新する仕組みや金魚/大和郡山に関する質問にどこまで対応するか, また, 容易に対話シナリオなどを追加/更新する仕組みなどが必要かなー!?

----
[1] 「金魚スポット再発見ワークショップ」開催レポート - CODE for YAMATOKORIYAMA




React.js&Next.js超入門

React.js&Next.js超入門


速習 React 速習シリーズ

速習 React 速習シリーズ