Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
「Kingyo AI Navi」アプリ / Kingyo AI Navi App
Search
moonlight-aska
May 15, 2023
Technology
0
250
「Kingyo AI Navi」アプリ / Kingyo AI Navi App
2023年 5月14日開催の「【滋賀】GCPUG in Shiga #3 ~はじめてのAutoML・BigQuery」のLT資料です.
moonlight-aska
May 15, 2023
Tweet
Share
More Decks by moonlight-aska
See All by moonlight-aska
【入門】プロンプトの書き方のコツ / Tips for writing prompts
aska
0
170
CHATGPT。はじめの一歩 / ChatGPT. Get Started
aska
0
110
Kingo AI Navi LINEをもっと使い倒せ!!
aska
0
120
Depth画像で物体検知やってみたー。/ Objects Detection with Depth Images
aska
0
740
Kingyo AI Naviアプリ開発 / Kingyo AI Navi App
aska
0
410
AutoML Vision Edgeで金魚分類モデルを学習してみた / Kingyo Classification Model with AutoML Vision Edge
aska
0
550
AutoML Vision Edge + ML Kit for Firebase ⇒ Kingyo Classification
aska
1
680
Kingyo AI Navi
aska
0
660
ピープルカウンタ、その後。/ People Counter
aska
0
580
Other Decks in Technology
See All in Technology
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
120
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
330
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
210
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
260
LLM時代のパフォーマンスチューニング:MongoDB運用で試したコンテキスト活用の工夫
ishikawa_pro
0
170
Bedrock で検索エージェントを再現しようとした話
ny7760
2
110
20250905_MeetUp_Ito-san_s_presentation.pdf
magicpod
1
100
「その開発、認知負荷高すぎませんか?」Platform Engineeringで始める開発者体験カイゼン術
sansantech
PRO
2
870
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
1.1k
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
22
12k
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
160
DroidKaigi 2025 Androidエンジニアとしてのキャリア
mhidaka
2
390
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
431
66k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
We Have a Design System, Now What?
morganepeng
53
7.8k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Building Adaptive Systems
keathley
43
2.7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
The World Runs on Bad Software
bkeepers
PRO
70
11k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
3k
Transcript
GCPUG SHIGA #3 LT 「Kingyo AI Navi」アプリ 2023.5.14 CODE for
YAMATOKORIYAMA Moonlight 明日香
今日お話しすること 「Kingyo AI Navi」アプリの紹介と 金魚認識モデルをVertex AIに移行したお話
自己紹介 Facebook moonlight.aska Twitter @moonlight_aska Blog みらいテックラボ http://mirai-tec.hatenablog.com NARA ➢
名前:鶴田 彰 ➢ 所属:エア・ウォーター株式会社 ➢ 資格:金魚マイスター(大和郡山市認定) ➢ 主なコミュニティ活動: GCPUG NARA Organizer CODE for YAMATOKORIYAMA
奈良県大和郡山市はどこ? 大和郡山市 京都市内 大阪市内 神戸市内 JR・近鉄(阪神)で 100分 JR・近鉄で 40分 近鉄で50分
草津市 近鉄・JRで80分
金魚の街「大和郡山市」 金魚の水槽やオブジェなどが街中にあふれている. まだまだ金魚をアピールできる余地がある. 2018年 金魚愛[AI]育成プロジェクト発足
Kingyo AI Naviとは? 機能1 機能2 金魚の写った画像を投稿すると品種を推定 金魚や大和郡山市の情報にアクセス可能
Kingyo AI Naviとは? KCN情報発信スタジオ Kスタ! (2023/2/7) デジタルメッセ奈良
UDC 2018 アイデア部門 金賞受賞 トータル金魚ナビゲーション 「Kingyo AI Navi」 UDC 2019
審査員特別賞受賞 Kingyo AI Navi (LINE版) https://urbandata-challenge.jp/
システム構成 ⇒ Vertex AI Vision
金魚データセットの準備 22種類 データセット作成 1) データ収集 2) ラベリング 3) Cloud Storageにupload
4) csvファイルでインポート
モデル学習
モデルのエクスポート □ AutoML Visionでモデルをエクスポート □ Vertex AI Visionではメタデータ形式のモデルに unzip 引用
: https://www.tensorflow.org/lite/models/convert/metadata?hl=ja
モデルの読み込み # load dict and model def setup_tflite_recog(): # 辞書(金魚の種類)データの読み込み
names = pd.read_csv('./model/dict.txt', header=None) # TFLiteモデルの読み込み interpreter = tf.lite.Interpreter(model_path='./model/model.tflite’) # メモリ確保. モデル読み込み直後に必須 interpreter.allocate_tensors() # 学習モデルの入力層/出力層のプロパティ取得 input_details = interpreter.get_input_details() output_details = interpreter.get_output_details() print('Model loading completed.’) return names, interpreter, input_details, output_details # input_details [{'name': 'image', 'index': 0, 'shape': array([ 1, 224, 224, 3], dtype=int32), 'dtype': <class 'numpy.uint8'>, 'quantization': (0.007874015718698502, 128)}]
推論 def recog_image(img): img = cv2.resize(img, (IMAGE_SIZE, IMAGE_SIZE)) img =
img.reshape(1, IMAGE_SIZE, IMAGE_SIZE, 3) input_data = np.array(img, dtype=np.uint8) # input_detals[0][‘index‘]にデータのポインタをセット interpreter.set_tensor(input_details[0]['index'], input_data) # 推論実行 interpreter.invoke() # output_detals[0][‘index’]に推論結果が保存されている output_data = interpreter.get_tensor(output_details[0]['index']) return output_data[0] # 結果 [[ 5 7 8 9 5 8 9 5 10 6 3 5 4 7 3 5 90 4 7 7 6 43]]
動作例: 入力例:
Vertex AIについて メリット ・機械学習プログラムや認識アルゴリズムに詳しくなくても, データを準備すれば 簡単にカスタムモデルを作成できる. ・ダッシュボードでラベリングから学習, 評価, テストなどが簡単にできるように 工夫されている.
デメリット ・趣味で使うには料金が少し高い. https://cloud.google.com/blog/ja/products/ai-machine-learning/practical-machine-learning-with-automl-series-1
今後やっていきたいこと 現状の課題: ・複数の金魚が泳いでいる水槽で, 金魚が1匹だけ写っている写真 を撮影するのが難しい. ・大和郡山や金魚に関する質問でも, 回答できる質問内容が限られ ている. そこで, ・クラス分類でなくオブジェクト検出を使い,
複数の金魚の種類を 推定できるようにしたい. ・“Bard”または”ChatGPT”を組み込み, 質問に対してより柔軟に 回答できるようにしたい.
最後に、AutoML関連情報 @IT(ITメディア)にて、 「AutoML OSS入門」連載記事共同執筆(全11回) ~ AutoML機能を備えた OSSについて紹介!! • auto-sklearn •
TPOT • AutoGluon(Amazon) • H2O(H2O.ai) • PyCaret • AutoKeras • Ludwig(Uber) • Neural Network Intelligence(Microsoft) • Model Search(Google)
Thank You!
付録: 大和郡山市の金魚系統図 [大和郡山市HPより]