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
160
「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
CHATGPT。はじめの一歩 / ChatGPT. Get Started
aska
0
27
Kingo AI Navi LINEをもっと使い倒せ!!
aska
0
50
Depth画像で物体検知やってみたー。/ Objects Detection with Depth Images
aska
0
450
Kingyo AI Naviアプリ開発 / Kingyo AI Navi App
aska
0
330
AutoML Vision Edgeで金魚分類モデルを学習してみた / Kingyo Classification Model with AutoML Vision Edge
aska
0
400
AutoML Vision Edge + ML Kit for Firebase ⇒ Kingyo Classification
aska
1
510
Kingyo AI Navi
aska
0
470
ピープルカウンタ、その後。/ People Counter
aska
0
480
物体検出をPythonで動かしてみる! / Try using YOLOv3 in Python
aska
0
890
Other Decks in Technology
See All in Technology
期待しすぎずに取り組む両面 TypeScript
shozawa
4
390
既存プロセスからの脱却と変化に適応するために必要なこと
cybozuinsideout
PRO
2
170
今さら聞けない!? AWSの生成AIサービス Amazon Bedrock入門!
minorun365
PRO
11
2.6k
XRミーティング 2024-03-20
1ftseabass
PRO
0
100
戦略的DDDを実践するための跳躍力 / OOC 2024
pictiny
6
4.1k
Oracle Database で機械学習を始めよう! Oracle Machine Learning
oracle4engineer
PRO
1
140
MongoDB Atlas Vectorsearchではじめる生成AIアプリ開発
chie8842
3
510
家族アルバム みてねで直面してきた技術的負債 / MIXI KAG 2024
isaoshimizu
17
7.7k
ビジネスロジックを「型」で表現するOOPのための関数型DDD / Functional And Type-Safe DDD for OOP
yuitosato
29
12k
Getting started with controlling LEGO using Swift
hcrane
0
130
大規模データとの戦い方
knih
1
470
ビジネスとコード品質の接合点 そしてコード品質がそこに及ぼす影響 / The Intersections of Business and Engineering, and The Impact of Code Quality There
mtx2s
10
1k
Featured
See All Featured
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
Statistics for Hackers
jakevdp
789
220k
Atom: Resistance is Futile
akmur
258
25k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
657
120k
Done Done
chrislema
178
15k
What's in a price? How to price your products and services
michaelherold
236
11k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
178
11k
Fashionably flexible responsive web design (full day workshop)
malarkey
397
65k
Building Better People: How to give real-time feedback that sticks.
wjessup
350
18k
The Power of CSS Pseudo Elements
geoffreycrofte
58
4.9k
GraphQLの誤解/rethinking-graphql
sonatard
48
9.1k
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より]