YOLO_Install - 8BitsCoding/RobotMentor GitHub Wiki


Visual Studio๋Š” 2015, 2017, 2019 ๋ฒ„์ „ ๋ชจ๋‘ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅ

๋‹จ, ์•„๋ฌด๋ž˜๋„ ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ๋งŽ์€ 2017์„ ์“ฐ๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค.


์„ค์น˜์ˆœ์„œ

  1. darknet(YOLO v3)
  2. CUDA
  3. cuDNN
  4. OpenCV

darknet(YOLO v3) ๋‹ค์šด๋กœ๋“œ


CUDA ๋‹ค์šด๋กœ๋“œ/์„ค์น˜

CUDA๋Š” ์ž์‹ ์˜ GPU์— ๋งž๋Š” ๋ฒ„์ „์„ ๋ฐ›์•„์•ผํ•œ๋‹ค.

์šฐ์„  ์ž์‹ ์˜ GPU๋ฅผ ํ™•์ธํ•œ๋‹ค.

๋ณดํ†ต์€ NVidia ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๋ฉด์„œ NVida ์ œ์–ดํŒ์—์„œ ํ™•์ธ๊ฐ€๋Šฅ

๋‚˜์˜ ๊ฒฝ์šฐ Quadro K420

์ด๋ฏธ์ง€

YOLO v3 ๊ถŒ์žฅ GPU ๋ฉ”๋ชจ๋ผ๊ฐ€ 4GB์ธ๋ฐ 1GB;;;

์šฐ์„  ํ…Œ์ŠคํŠธ์šฉ์ด๊ธฐ์— ๋„˜์–ด๊ฐ„๋‹ค.

์ž์‹ ์˜ GPU์— ๋งž๋Š” CUDA๋ฅผ ํ™•์ธํ•œ๋‹ค. ํ™ˆํŽ˜์ด์ง€

์ด๋ฏธ์ง€

์ด๋ฏธ์ง€

K420์˜ ๊ฒฝ์šฐ Compute capability(version)์ด 3 ์ด๊ธฐ์— CUDA SDK 9.0 ~ 10.0 ๊นŒ์ง€ ์„ค์น˜๊ฐ€๋Šฅํ•˜๋‹ค.

CUDA Toolkit Download

์ด๋ฏธ์ง€

์ž์‹ ์˜ OS์— ๋งž๋Š” CUDA Toolkit์„ ์„ค์น˜ํ•œ๋‹ค.

์„ค์น˜์œ„์น˜๋Š” C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v#.# ์ด ๋œ๋‹ค. ๊ธฐ์–ตํ•ด๋‘์ž


cuDNN ๋‹ค์šด๋กœ๋“œ/์„ค์น˜

์—ฌ๊ธฐ์„œ ์ฃผ์˜ํ•  ์ ์€ ์ž์‹ ์˜ CUDA ๋ฒ„์ „๊ณผ ๋งž๋Š” cuDNN์„ ๋‹ค์šด ๋ฐ›์•„์•ผ ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.

์ด๋ฏธ์ง€

๋‹ค์šด๋กœ๋“œ ์™„๋ฃŒ ํ›„ ์••์ถ•์„ ํ•ด์ œํ•˜๊ณ  ๋‚ด๋ถ€์˜ ํŒŒ์ผ์„ C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v#.#์— ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•œ๋‹ค.

ํ™˜๊ฒฝ๋ณ€์ˆ˜์˜ cudnn์„ C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v#.#๋กœ ์ง€์ •ํ•œ๋‹ค.


OpenCV ๋‹ค์šด๋กœ๋“œ/์„ค์น˜

๋ฒ„์ „์ด ์–ด๋ ค๊ฐœ์ง€๋งŒ 3.4.0์„ ์“ด๋‹ค(ํ™ˆํŽ˜์ด์ง€์— ๊ทธ ์ดํ›„ ๋ฒ„์ „์€ ์ง€์›์ด ์•ˆ๋œ๋‹ค๊ณ  ๋‚˜์™€์žˆ์Œ... ๋‚˜์ค‘์— ๋ฐ”๋€”์ง€ ๋ชจ๋ฆ„)

์„ค์น˜๋Š” ์••์ถ•ํ•ด์ œ ์ •๋„์ด๊ณ  ๋‚˜์˜ ๊ฒฝ์šฐ C:\\OpenCV๋‚ด์— ๋„ฃ์–ด๋‘ , ๋’ค์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ์— ๊ธฐ์–ตํ•ด๋‘์ž


darknet ๋นŒ๋“œํ•˜๊ธฐ

์šฐ์„  ๋‚˜์˜ ๊ฒฝ์šฐ VS 2017์„ ์‚ฌ์šฉํ•จ

๋นŒ๋“œ ํŒŒ์ผ์€ darknet-master\build\darknet\darknet.sln์— ์žˆ์Œ.

์ฒ˜์Œ ์‹คํ–‰ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒ

์ด๋ฏธ์ง€

๊ทธ๋ƒฅ ํ™•์ธ

์ด๋ฏธ์ง€

์—ญ์‹œ ๊ทธ๋ƒฅ ํ™•์ธ

์ด๋ฏธ์ง€

Release x64๋กœ ๋‘๊ณ  ๋นŒ๋“œํ•œ๋‹ค.

์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด

์ด๋ฏธ์ง€

์ด๋ฏธ์ง€

ํ”„๋กœ์ ํŠธ ์šฐํด๋ฆญ -> ๋นŒ๋“œ ์ข…์†์„ฑ -> ์‚ฌ์šฉ์ž ์ง€์ • ๋นŒ๋“œ

์ž์‹ ์˜ CUDA ๋ฒ„์ „์ด ๋งž๋Š”์ง€ ํ™•์ธ

์ด๋ฏธ์ง€

(์ฐธ๊ณ ) ๋””๋ฒ„๊ทธ๋Š” ์•ˆ๋จ... ๋˜๋ฉด ๋‹ค์‹œ ์—…๋กœ๋“œ ์˜ˆ์ •


๊ฐ„๋‹จํ•œ ํ…Œ์ŠคํŠธ ํ•ด๋ณด๊ธฐ

OpenCV์‚ฌ์šฉ์„ ์œ„ํ•ด์„œ dllํŒŒ์ผ์„ darknet-master\build\darknet\x64๋กœ ์˜ฎ๊ธด๋‹ค.

opencv_ffmpeg340_64.dll, opencv_world340.dll๋ฅผ ์˜ฎ๊ธฐ๋ฉด ๋˜๊ณ 

์•„๋งˆ C:\\opencv\\build\\x64\\vc##\\์— ์žˆ์„ ๊ฒƒ

weights ํŒŒ์ผ์„ ๋‹ค์šด ๋ฐ›๋Š”๋‹ค. ๋‹ค์šด๋กœ๋“œ ์‚ฌ์ดํŠธ

๋‹ค์šด ๋ฐ›์€ weights ํŒŒ์ผ์„ darknet-master\build\darknet\x64๋‚ด๋ถ€์— ๋„ฃ๋Š”๋‹ค.

๋‚˜์˜ ๊ฒฝ์šฐ yolov3.weights๋ฅผ ๋‹ค์šด ๋ฐ›์Œ

darknet_yolo_v3.cmd๋ฅผ ์‹คํ–‰ํ•ด๋ณธ๋‹ค.

์ด๋ฏธ์ง€

test.mp4ํŒŒ์ผ์„ ๋„ฃ์€ ํ›„ darknet_yolo_v3_video.cmd๋ฅผ ์‹คํ–‰ํ•ด๋ณธ๋‹ค.


CMake๋กœ ํ”„๋กœ์ ํŠธ ๋นŒ๋“œํ•˜๊ธฐ

CMake GUI ์‹คํ–‰ -> Configure -> Optional platform for generator(Set : x64) -> Finish -> Generate -> Open Project -> Build!

์ด๋ฏธ์ง€