$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
キノコタケノコ除けたこの機 DXIインフルエンサ2024Stage2
Search
Jun Shimura
December 21, 2024
Programming
0
35
キノコタケノコ除けたこの機 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
AtCoder Conference 2025
shindannin
0
250
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
420
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
120
tparseでgo testの出力を見やすくする
utgwkk
2
280
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
210
クラウドに依存しないS3を使った開発術
simesaba80
0
160
AIエージェントの設計で注意するべきポイント6選
har1101
5
2.3k
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
290
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
3.8k
愛される翻訳の秘訣
kishikawakatsumi
3
340
Go コードベースの構成と AI コンテキスト定義
andpad
0
140
re:Invent 2025 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
150
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Building Flexible Design Systems
yeseniaperezcruz
330
39k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
So, you think you're a good person
axbom
PRO
0
1.8k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.7k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
250
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Believing is Seeing
oripsolob
0
15
Why Our Code Smells
bkeepers
PRO
340
57k
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を入れる ゲームは基本的にプレイヤ ーに行動してもらい 褒めて達成感を与えるのが 基本です
最終版 色付けとタイミング 実機でデモします
応用 • 遊び方の応用 ◦ それぞれ手ごまとしてキノコ・タケノコを持って対決する ◦ 手描きの絵をだけで高得点を狙う • モデルデータを入れ替え ◦
自前のデータに入れ替え ◦ 他のモデルでラベルの部分のコードを変え、他の識別するゲームにすることは容易 • コードの改造による展望 ◦ 画像を取得中にモザイク表示、識別された物体をクリックすると答え合わせ、早くクリック するほうが点数が高い(これをやる予定だったが時間足らず) ◦ ハイスコアのランキングをサーバで管理する ◦ 単体アプリとしてビルドしスマホゲームにする
ふりかえり • 進歩が指数関数的に速い これは理論的に納得 • 追いながら理解するのは無謀 • やりたいことをやるが好い ◦ トップランナーになる
◦ 産み落とされたものを拾って育てる • 自分の置かれたレイヤーを確認したら安心