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
27
キノコタケノコ除けたこの機 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
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
460
Is Xcode slowly dying out in 2025?
uetyo
1
210
Bytecode Manipulation 으로 생산성 높이기
bigstark
2
380
GraphRAGの仕組みまるわかり
tosuri13
8
500
CursorはMCPを使った方が良いぞ
taigakono
1
190
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
380
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
660
datadog dash 2025 LLM observability for reliability and stability
ivry_presentationmaterials
0
190
Go1.25からのGOMAXPROCS
kuro_kurorrr
1
820
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
580
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
590
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
980
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Invisible Side of Design
smashingmag
300
51k
4 Signs Your Business is Dying
shpigford
184
22k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
The Cult of Friendly URLs
andyhume
79
6.5k
Navigating Team Friction
lara
187
15k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
Docker and Python
trallard
44
3.4k
Balancing Empowerment & Direction
lara
1
380
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を入れる ゲームは基本的にプレイヤ ーに行動してもらい 褒めて達成感を与えるのが 基本です
最終版 色付けとタイミング 実機でデモします
応用 • 遊び方の応用 ◦ それぞれ手ごまとしてキノコ・タケノコを持って対決する ◦ 手描きの絵をだけで高得点を狙う • モデルデータを入れ替え ◦
自前のデータに入れ替え ◦ 他のモデルでラベルの部分のコードを変え、他の識別するゲームにすることは容易 • コードの改造による展望 ◦ 画像を取得中にモザイク表示、識別された物体をクリックすると答え合わせ、早くクリック するほうが点数が高い(これをやる予定だったが時間足らず) ◦ ハイスコアのランキングをサーバで管理する ◦ 単体アプリとしてビルドしスマホゲームにする
ふりかえり • 進歩が指数関数的に速い これは理論的に納得 • 追いながら理解するのは無謀 • やりたいことをやるが好い ◦ トップランナーになる
◦ 産み落とされたものを拾って育てる • 自分の置かれたレイヤーを確認したら安心