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
340
YOLOで遊ぶ / pyml-niigata-20181013
Python機械学習勉強会 in 新潟 Restart #2 で発表した資料
kasacchiful
October 13, 2018
Tweet
Share
More Decks by kasacchiful
See All by kasacchiful
Amazon Q Developer for CLI を使って PHP Conference 新潟 2025 参加者向けにグルメサイトを構築した話 / 20250620niigata-5min-tech
kasacchiful
0
50
ワイがおすすめする新潟の食 / 20250530phpconf-niigata-eve
kasacchiful
0
300
生成AIでメタデータを生成してみた / 20250525generate-metadata-using-generative-ai
kasacchiful
0
53
Strands Agents SDK で AIエージェント作成 を試してみた / 20250525strands-agents
kasacchiful
0
130
いろんな世界を見てみよう / 20250508ninno_tech_fest
kasacchiful
0
30
Amazon Q Developer for CLIのある生活 / 20250427ai_craft_hacks_niigata1
kasacchiful
1
79
AWSのコンテナサービス / jawsug-akita-aws-container-services
kasacchiful
0
68
データ基盤でのコンテナ活用事例 / jawsug-akita-data-platform-with-container
kasacchiful
0
74
データ基盤でのコンテナ活用事例 / jawsug-niigata21-data-platform-with-container
kasacchiful
0
110
Other Decks in Programming
See All in Programming
KotlinConf 2025 現地で感じたServer-Side Kotlin
n_takehata
1
230
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
260
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
980
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
46
30k
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
100
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
1.2k
FormFlow - Build Stunning Multistep Forms
yceruto
1
190
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
210
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
2
240
DroidKnights 2025 - 다양한 스크롤 뷰에서의 영상 재생
gaeun5744
3
310
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
1
300
VS Code Update for GitHub Copilot
74th
1
310
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
670
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Statistics for Hackers
jakevdp
799
220k
Embracing the Ebb and Flow
colly
86
4.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
Designing for Performance
lara
609
69k
The World Runs on Bad Software
bkeepers
PRO
69
11k
RailsConf 2023
tenderlove
30
1.1k
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Ͱͷ࣮͋ΔͷͰɺࢼͯ͠Έ͍ͯͩ͘͞