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
YOLOで遊ぶ / pyml-niigata-20181013
Search
kasacchiful
October 13, 2018
Programming
0
350
YOLOで遊ぶ / pyml-niigata-20181013
Python機械学習勉強会 in 新潟 Restart #2 で発表した資料
kasacchiful
October 13, 2018
Tweet
Share
More Decks by kasacchiful
See All by kasacchiful
WorkersでDiscord botを試してみた / 20250822workers-tech-talk-niigata
kasacchiful
0
20
地域コミュニティへの「感謝」と「恩返し」 / 20250726jawsug-tochigi
kasacchiful
0
130
Amazon Q Developer for CLI を使って PHP Conference 新潟 2025 参加者向けにグルメサイトを構築した話 / 20250620niigata-5min-tech
kasacchiful
1
89
ワイがおすすめする新潟の食 / 20250530phpconf-niigata-eve
kasacchiful
0
340
生成AIでメタデータを生成してみた / 20250525generate-metadata-using-generative-ai
kasacchiful
0
67
Strands Agents SDK で AIエージェント作成 を試してみた / 20250525strands-agents
kasacchiful
0
250
いろんな世界を見てみよう / 20250508ninno_tech_fest
kasacchiful
0
40
Amazon Q Developer for CLIのある生活 / 20250427ai_craft_hacks_niigata1
kasacchiful
1
92
AWSのコンテナサービス / jawsug-akita-aws-container-services
kasacchiful
0
87
Other Decks in Programming
See All in Programming
CEDEC 2025 『ゲームにおけるリアルタイム通信への QUIC導入事例の紹介』
segadevtech
3
890
STUNMESH-go: Wireguard NAT穿隧工具的源起與介紹
tjjh89017
0
380
Go製CLIツールをnpmで配布するには
syumai
2
1.2k
物語を動かす行動"量" #エンジニアニメ
konifar
14
5.2k
オホーツクでコミュニティを立ち上げた理由―地方出身プログラマの挑戦 / TechRAMEN 2025 Conference
lemonade_37
2
480
AIに安心して任せるためにTypeScriptで一意な型を作ろう
arfes0e2b3c
0
370
『リコリス・リコイル』に学ぶ!! 〜キャリア戦略における計画的偶発性理論と変わる勇気の重要性〜
wanko_it
1
540
State of CSS 2025
benjaminkott
1
110
Scale out your Claude Code ~自社専用Agentで10xする開発プロセス~
yukukotani
9
2.3k
Google I/O recap web編 大分Web祭り2025
kponda
0
2.9k
管你要 trace 什麼、bpftrace 用下去就對了 — COSCUP 2025
shunghsiyu
0
420
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
1
690
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Cost Of JavaScript in 2023
addyosmani
53
8.8k
The Invisible Side of Design
smashingmag
301
51k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Done Done
chrislema
185
16k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
The Pragmatic Product Professional
lauravandoore
36
6.8k
Transcript
YOLOͰ༡Ϳ Pythonػցֶशษڧձ in ৽ׁ 2018/10/13 @kasacchiful
ࣗݾհ • ּݪ (@kasacchiful) • ৽ׁࢢࡏॅ • Ruby͕͓ؾʹೖΓ •
JaSST৽ׁ࣮ߦҕһ • JAWS-UG৽ׁࢧ෦ • ୈ1ճษڧձΛ11݄24()ʹ։࠵ܾఆʂ
એ
ઌ݄NDSͰ͜Μͳ͠·ͨ͠ • ࢿྉ: https://speakerdeck.com/kasacchiful/nds57 • σϞιʔε: https://github.com/kasacchiful/nds57-sample/blob/master/ nds57_vgg16_sample.ipynb
OSC 2018 Niigata ͰΓ·͢ IUUQTXXXPTQOKQPTDOJJHBUBNPEVMFTFHVJEFFWFOUQIQ FJE
JAWS-UG ৽ׁࢧ෦ઃཱ • 11݄24()ʹୈ1ճษڧձΛ։࠵ʂ IUUQTKBXTVHOJJHBUBDPOOQBTTDPN
ຊ
࣍ • YOLOͬͯԿʁମݕग़ͬͯԿʁ • ·ͣಈ͔ͯ͠ΈΑ͏ • ΧελϜֶशͤͯ͞ΈΑ͏
࣍ • YOLOͬͯԿʁମݕग़ͬͯԿʁ • ·ͣಈ͔ͯ͠ΈΑ͏ • ΧελϜֶशͤͯ͞ΈΑ͏
YOLOͬͯԿʁ • ମݕग़(Object Detection)ͷ࣮ͷ1ͭ • ଞʹɺFaster R-CNNSSDͳͲ͕͋Δ • DarknetϑϨʔϜϫʔΫ্Ͱߏங (C࣮)
→ Keras࣮ͳͲ͋Δ • ࠓय़ʹv3ެ։ ( https://arxiv.org/abs/1804.02767 ) • v2͕19 → v3͕53 • ݕग़͕एׯ͘ͳ͕ͬͨɺݕग़ਫ਼͕େ෯Ξοϓ • “You Only Live Once" Λͬͯ͡ɺ”You Only Look Once”
ମݕͬͯԿʁ • ͋Δը૾ͷத͔ΒఆΊΒΕͨମͷΧςΰϦ(Ϋϥ ε)ͱͦͷҐஔΛݕग़ • ڭࢣ͋Γֶशͷྨʹ૬ • ಈըʹద༻Մೳ • ମͷҐஔɺମͷྖҬΛۣܗͰғͬͨΓɺྖ
ҬΛॴఆͷ৭ͰృΓͭͿͨ͠Γ
ྫ͑͜Μͳײ͡ ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
ެࣜͷσϞΛݟͯΈΑ͏ IUUQTQKSFEEJFDPNEBSLOFUZPMP
ମݕͷྺ࢙ ྖҬީิͷબఆ ಛྔͷநग़ ػցֶशͰྨ ैདྷ ྖҬީิͷબఆ σΟʔϓϥʔχϯά R-CNN Fast R-CNN
Faster R-CNN YOLO SSD σΟʔϓϥʔχϯά
ମݕͷࣄྫ • LIXIL (ABEJA SIX 2018Ͱͷߨԋ) • γεςϜΩονϯΛͬͨਓؒͷߦಈੳʹମݕΛ׆༻ • ମݕͷϩά͔Βɺ͍͍͢γεςϜΩονϯͷ։ൃʹͭͳ͍͛ͯΔ
• ମݕʹSSD͕ΘΕ͍ͯΔ • ࢀߟ: • https://six2018.abejainc.com/reports/ • https://logmi.jp/279849
࣍ • YOLOͬͯԿʁମݕग़ͬͯԿʁ • ·ͣಈ͔ͯ͠ΈΑ͏ • ΧελϜֶशͤͯ͞ΈΑ͏
darknetΠϯετʔϧ $ git clone https://github.com/pjreddie/darknet $ cd darknet $ make
ඞཁʹԠͯ͡Makefileฤू GPU=0 #=> NVIDIAͷGPU͕͑ͯɺCUDA͕ΠϯετʔϧࡁͳΒ1ʹ CUDNN=0 OPENCV=0 #=> OPENCV͕ΠϯετʔϧࡁͳΒ1ʹ OPENMP=0 DEBUG=0
Makefileमਖ਼ͨ͠Β࠶make $ make
ࢼ͠ʹ࣮ߦ $ ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
͜Μͳײ͡ʹग़ྗ͞ΕΔ ݁Ռpredictions.jpgʹग़ྗ
σϞ
࣍ • YOLOͬͯԿʁମݕग़ͬͯԿʁ • ·ͣಈ͔ͯ͠ΈΑ͏ • ΧελϜֶशͤͯ͞ΈΑ͏
GPU͕ແ͍ͱπϥΠͷͰ • ֶशڥ: • Amazon EC2 p2.xlarge Πϯελϯε • GPU:
NVIDIA K80 (Google Colabͱಉ͡) • Deep Learning Base AMI (Ubuntu) Ver.10.0 • CUDAΠϯετʔϧࡁ
darknetΠϯετʔϧ $ git clone https://github.com/pjreddie/darknet $ cd darknet
Makefileฤू GPU=1 CUDNN=0 OPENCV=0 OPENMP=0 DEBUG=0
make $ make
ֶशͷྲྀΕ 1. ը૾ΛूΊΔ 2. Ξϊςʔγϣϯ͢Δ 3. ը૾Λਫ૿͢͠Δʢࠓճলུʣ 4. ֶश͢Δ
ࠓճͷֶश༰ • ΠλϦΞϯͷը૾ͷத͔ΒɺΠλϦΞϯͷྖҬΛ ݕग़ • class: 1ͭ (ΠλϦΞϯ͚ͩ) • ը૾72ຕ
• ຊͬͱूΊΔඞཁ͕͋Δ͚Ͳɺࠓճগ ྔͷσʔλͰͬͯΈΔ
1. ը૾ΛूΊΔ • ΠλϦΞϯͷը૾ΛूΊΔ • Bing Search API v7Λͬͯɺը૾Λ700ຕ͘ Β͍ूΊͯɺͦͷத͔Β͑ͦ͏ͳը૾Λ72
ຕબͿ
2. Ξϊςʔγϣϯ͢Δ • ը૾ʹҐஔใΛՃ͑ͯɺڭࢣσʔλΛ࡞͢Δ • ࠓճɺVoTTΛ༻ • https://github.com/Microsoft/VoTT • VoTTYOLOͷܗࣜͰग़ྗͯ͘͠ΕΔͷͰศར
• Ξϊςʔγϣϯ࡞ۀɺσʔλ͕ଟ͚Εଟ͍΄Ͳɺख ؒͱ͕͔͔࣌ؒΔͷͰେม͕ͩɺػցֶशͷΩϞʹͳΔ
3. ը૾Λਫ૿͢͠Δ • ࠓճ໘ͩͬͨͷͰ͍ͬͯͳ͍ • ݩͷը૾͔ΒϥϯμϜʹͣΒͨ͠Γɺճస͞ ͤͨΓͱɺมܗͤͨ͞ը૾Λ࡞ͯ͠ɺը૾ Λ૿͢
4. ֶश͢Δ • Ξϊςʔγϣϯͨ͠ڭࢣσʔλΛdarknetͷ ϑΥϧμʹίϐʔ͠ɺֶशΛ࣮ߦ • ࠓճVoTT͕ग़ྗͨ͠YOLOͷcfgΛ༻
ڭࢣσʔλΛల։ $ unzip italian_output.zip $ cd darknet/cfg $ mv ~/italian_output
./italian $ cd italian $ ls data yolo-obj.cfg $ ls data obj obj.data obj.names test.txt train.txt $ ls data/obj 000001.jpg 000001.txt 000002.jpg 000002.txt ...
ֶश $ cd ~/darknet $ ./darknet detector train ./cfg/italian/data/obj.data \
./cfg/italian/yolo-obj.cfg
ਪ $ cd ~/darknet $ ./darknet detector test ./cfg/italian/data/obj.data \
./cfg/italian/yolo-obj.cfg \ ./backup/yolo-obj_500.weights \ ./italian1.jpg
͜Μͳײ͡ʹग़ྗ͞ΕΔ ݁Ռpredictions.jpgʹग़ྗ
σϞ
·ͱΊ • ମݕɺʑͷ࣮͕ొ͍ͯ͠ΔͷͰɺൺ ֱత؆୯ʹࢼͤ·͢ • ֶश༻σʔλͷऩूͱΞϊςʔγϣϯ͕͠ΜͲ͍ • YOLOSSDΛࢼ͢ྫൺֱతଟ͍ • KerasͰͷ࣮͋ΔͷͰɺࢼͯ͠Έ͍ͯͩ͘͞