Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
Github Copilotのチャット履歴ビューワーを作りました~WPF、dotnet10もあるよ~ #clrh111
katsuyuzu
0
120
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
8
1.5k
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
400
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
850
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
120
Microservices rules: What good looks like
cer
PRO
0
1.5k
認証・認可の基本を学ぼう後編
kouyuume
0
240
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
330
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
130
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
160
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
530
Integrating WordPress and Symfony
alexandresalome
0
160
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
12k
Bash Introduction
62gerente
615
210k
It's Worth the Effort
3n
187
29k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
93
BBQ
matthewcrist
89
9.9k
How to build a perfect <img>
jonoalderson
0
4.6k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
2
2.7k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
66
Practical Orchestrator
shlominoach
190
11k
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を入れる ゲームは基本的にプレイヤ ーに行動してもらい 褒めて達成感を与えるのが 基本です
最終版 色付けとタイミング 実機でデモします
応用 • 遊び方の応用 ◦ それぞれ手ごまとしてキノコ・タケノコを持って対決する ◦ 手描きの絵をだけで高得点を狙う • モデルデータを入れ替え ◦
自前のデータに入れ替え ◦ 他のモデルでラベルの部分のコードを変え、他の識別するゲームにすることは容易 • コードの改造による展望 ◦ 画像を取得中にモザイク表示、識別された物体をクリックすると答え合わせ、早くクリック するほうが点数が高い(これをやる予定だったが時間足らず) ◦ ハイスコアのランキングをサーバで管理する ◦ 単体アプリとしてビルドしスマホゲームにする
ふりかえり • 進歩が指数関数的に速い これは理論的に納得 • 追いながら理解するのは無謀 • やりたいことをやるが好い ◦ トップランナーになる
◦ 産み落とされたものを拾って育てる • 自分の置かれたレイヤーを確認したら安心