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
キノコタケノコ除けたこの機 DXIインフルエンサ2024Stage2
Search
Jun Shimura
December 21, 2024
Programming
0
5
キノコタケノコ除けたこの機 DXIインフルエンサ2024Stage2
DXIインフルエンサ2024Stage2 Jetson課題
Jun Shimura
December 21, 2024
Tweet
Share
More Decks by Jun Shimura
See All by Jun Shimura
[超初心者向け]Unityを完璧に理解し自在に使いこなす
junshimura
0
130
Other Decks in Programming
See All in Programming
Zoneless Testing
rainerhahnekamp
0
120
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
140
Webエンジニア主体のモバイルチームの 生産性を高く保つためにやったこと
igreenwood
0
330
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
210
テストケースの名前はどうつけるべきか?
orgachem
PRO
0
130
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
270
tidymodelsによるtidyな生存時間解析 / Japan.R2024
dropout009
1
770
Beyond ORM
77web
3
430
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
320
採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること
oekazuma
2
1k
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
330
これが俺の”自分戦略” プロセスを楽しんでいこう! - Developers CAREER Boost 2024
niftycorp
PRO
0
190
Featured
See All Featured
A better future with KSS
kneath
238
17k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Into the Great Unknown - MozCon
thekraken
33
1.5k
The Invisible Side of Design
smashingmag
298
50k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Building Your Own Lightsaber
phodgson
103
6.1k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Transcript
キノコタケノコ除けたこの機 きのこたけのこのけたこのき
ここまでに学んだこと
きのこたけのこに替 えたモデル なんでも きのこorかたけのこ に認識する
発見:「機械学習モデルは実直でバカ」 • 対象物を区切る能力には長けている • とにかく何かに識別する • どう何を分析するかはブラックボックス どうなっているかを観察するのは面白い
何を作るか
何を作るか検討 • 順当にやるなら機械学習の精度の改善 ◦ 教師ありなので高精度化∝データ量 ◦ おそらくほかの参加者の方のデフォルト • 機械学習を活かしたものが適切 どうなっているかを観察するのは面白い
これをコンセプトに据える
面白いからゲームにしよう
コンセプト「AIをハックする」 • AIがどう考えるかを探る • イテレーション ◦ AIの動作を予想 ◦ 当てる ◦
その結果で予想する • うまく当てると嬉しい達成感 • 当たらないと悔しい、もう一度遊びたくなる ゲームは基本的にプレイヤーに行動してもらい 褒めて達成感を与えるのが基本です
開発の要件 • 2週間 ◦ 実作業の時間は限定的 ◦ わからないところに手を出すと詰む恐れ • Python on
Ubuntu in JetsonおよびAWS ◦ この2.5ヶ月の知見のみ ◦ 経験した言語と相容れない ◦ 大概がよくわかってない わからないところは手探りでやっつける
計画を立てる • 基本スケジュール ◦ プロトタイピング3日 ◦ 実装5日 ◦ 調整1週間 •
開発環境 ◦ 自前のMac・Windowsで仮想環境を作ったのちにJetsonで動作確認 ◦ めんどくさいところは汎用AIにコードを書かせる AIを学ぶんだから実験すべきと考えた • ゲーム内容 ◦ 作ったモデルで「きのこ・たけのこ」を判定し点数化する ◦ 判定が不安定なことを面白がる内容にする
メカニクスをブレイクダウン 1. 初期化 a. カメラ認識 b. モデルデータ読み込み c. 点数初期化 2.
ゲームループ(5秒×6回のイテレーション) a. キャプチャ画像表示 b. カウントダウン c. 撮影画像から判別 d. 点数化 3. 結果表示
点数の仕様 • 加点要素 ◦ きのこであること(出にくいから) ◦ 面積が大きい ◦ 認識した個数が多い ◦
信頼度 ▪ 100%に近似 ▪ 信頼度が50%に近似 →高いだけだとハッキング要素がない、下手でも高得点
初期バージョン とりあえず点数を出す
GUI追加 実験的に マルチウィンドウ
面白くはない • 基本の仕組みだけでエモーショナルな部分が出来ていない • 一応、動くだけでどういう感覚になるか試すがピンとこない • 1回しかない実習の土曜日にやってみたが隣人の反応が薄い プレイヤーの反応を考えて仕上げる
! 環境が合ってなかった • Macに仮想環境を構築したがUbuntuのバージョンが違っていた • GUIウィンドウがMacで出ない • WindowsではGUIが出てどちらがターゲットに合ってるか判らない • 実機で実行したGUIは(細かく調べてないが)もたつく
→スレッドのせいかも知れない →本来のIoTエッジでGUI不要なので期待無用 実機で試して仕上げることにする
エモーショナル成分の実装 点数が出るところのワクワクする時間を与える • 点数の色分け ◦ 点数を四分位数で色分けする ◦ CUIウィンドウとキャプチャで色を併せて表示する • 認識結果の表示に時間をかける
◦ Waitを入れて一つ一つを順番に出す • 達成感を出す ◦ 最終結果で実績評価 ▪ 最大点数、最小点数、最小面積、最大面積、認識数 を出す ◦ そこまでの認識結果を再度、ひとつずつ一挙に表示する • 最終結果を出すところにwaitを入れる ゲームは基本的にプレイヤ ーに行動してもらい 褒めて達成感を与えるのが 基本です
最終版 色付けとタイミング 実機でデモします
応用 • 遊び方の応用 ◦ それぞれ手ごまとしてキノコ・タケノコを持って対決する ◦ 手描きの絵をだけで高得点を狙う • モデルデータを入れ替え ◦
自前のデータに入れ替え ◦ 他のモデルでラベルの部分のコードを変え、他の識別するゲームにすることは容易 • コードの改造による展望 ◦ 画像を取得中にモザイク表示、識別された物体をクリックすると答え合わせ、早くクリック するほうが点数が高い(これをやる予定だったが時間足らず) ◦ ハイスコアのランキングをサーバで管理する ◦ 単体アプリとしてビルドしスマホゲームにする
ふりかえり • 進歩が指数関数的に速い これは理論的に納得 • 追いながら理解するのは無謀 • やりたいことをやるが好い ◦ トップランナーになる
◦ 産み落とされたものを拾って育てる • 自分の置かれたレイヤーを確認したら安心