Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
データファイルをAWSのDWHサービスに格納する / 20251115jawsug-tochigi
kasacchiful
2
110
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
0
560
ワイがおすすめする新潟の食 / 20250912jasst-niigata-lt
kasacchiful
0
31
WorkersでDiscord botを試してみた / 20250822workers-tech-talk-niigata
kasacchiful
1
58
地域コミュニティへの「感謝」と「恩返し」 / 20250726jawsug-tochigi
kasacchiful
0
180
Amazon Q Developer for CLI を使って PHP Conference 新潟 2025 参加者向けにグルメサイトを構築した話 / 20250620niigata-5min-tech
kasacchiful
1
120
ワイがおすすめする新潟の食 / 20250530phpconf-niigata-eve
kasacchiful
0
450
生成AIでメタデータを生成してみた / 20250525generate-metadata-using-generative-ai
kasacchiful
0
130
Strands Agents SDK で AIエージェント作成 を試してみた / 20250525strands-agents
kasacchiful
0
440
Other Decks in Programming
See All in Programming
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
380
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
480
tparseでgo testの出力を見やすくする
utgwkk
2
220
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
220
マスタデータ問題、マイクロサービスでどう解くか
kts
0
100
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
110
Cap'n Webについて
yusukebe
0
130
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
330
connect-python: convenient protobuf RPC for Python
anuraaga
0
410
関数実行の裏側では何が起きているのか?
minop1205
1
700
ZOZOにおけるAI活用の現在 ~モバイルアプリ開発でのAI活用状況と事例~
zozotech
PRO
8
5.7k
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
130
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
GitHub's CSS Performance
jonrohan
1032
470k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Side Projects
sachag
455
43k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
The Invisible Side of Design
smashingmag
302
51k
Writing Fast Ruby
sferik
630
62k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
How to Ace a Technical Interview
jacobian
280
24k
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Ͱͷ࣮͋ΔͷͰɺࢼͯ͠Έ͍ͯͩ͘͞