๐Ÿ‘€ Computer Vision

๐Ÿ‘€ Computer Vision

[CV] OpenCV์—์„œ YOLO๋ฅผ ์ด์šฉํ•œ Object Detection Part.1

OpenCV DNN์œผ๋กœ YOLO Inference ๊ตฌํ˜„์‹œ ์œ ์˜ ์‚ฌํ•ญYOLO ๋ชจ๋ธ ๊ตฌํ˜„์‹œ ์•Œ์•„๋‘์–ด์•ผ ํ•  ์ ์€, OpenCV YOLO Inference Code๋Š” ๊ธฐ์กด OpenCV inference ์ฝ”๋“œ์™€๋Š” ๋‹ค๋ฆ…๋‹ˆ๋‹ค.๋˜ํ•œ Darknet ๊ตฌ์„ฑ ํ™˜๊ฒฝ ๋ฐ YOLO Architecture์— ๋”ฐ๋ผ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ Object Detection ์ •๋ณด๋ฅผ ์ถ”์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.Pretrained๋œ inference ๋ชจ๋ธ ๋กœ๋”ฉ ๋ฐฉ๋ฒ•Weight ๋ชจ๋ธ ํŒŒ์ผ๊ณผ config ํŒŒ์ผ์€ Darknet ์‚ฌ์ดํŠธ์— Download๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.cv2.dnn.readNetFromDarknet(config ํŒŒ์ผ, weight ๋ชจ๋ธ ํŒŒ์ผ)์œผ๋กœ pretrained๋œ inference ๋ชจ๋ธ์„ ๋กœ๋”ฉํ•ฉ๋‹ˆ๋‹ค.readNetFromDarket(config ํŒŒ์ผ, w..

๐Ÿ‘€ Computer Vision

[CV] YOLO (You Only Look Once)

YOLO (You Only Look Once) YOLO(You Only Look Once)์€ ์‹ค์‹œ๊ฐ„ ๊ฐ์ฒด ํƒ์ง€ ์‹œ์Šคํ…œ์œผ๋กœ, ์ด๋ฏธ์ง€๋‚˜ ๋น„๋””์˜ค์—์„œ ์—ฌ๋Ÿฌ ๊ฐ์ฒด๋ฅผ ๋™์‹œ์— ํƒ์ง€ํ•˜๊ณ  ๋ถ„๋ฅ˜ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. YOLO: Real-Time Object DetectionYOLO: Real-Time Object Detection You only look once (YOLO) is a state-of-the-art, real-time object detection system. On a Pascal Titan X it processes images at 30 FPS and has a mAP of 57.9% on COCO test-dev. Comparison to Other Detectors YOLOv3 is ..

๐Ÿ‘€ Computer Vision

[CV] OpenCV DNN ํŒจํ‚ค์ง€ & SSD ๊ธฐ๋ฐ˜ Object Detection ์ˆ˜ํ–‰

Tensorflow์—์„œ Pretrained ๋œ ๋ชจ๋ธ ํŒŒ์ผ์„ OpenCV์—์„œ ๋กœ๋“œํ•˜์—ฌ ์ด๋ฏธ์ง€์™€ ์˜์ƒ์— ๋Œ€ํ•œ Object Detection์„ ์ˆ˜ํ–‰ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.์ž…๋ ฅ ์ด๋ฏธ์ง€๋กœ ์‚ฌ์šฉ๋  ์ด๋ฏธ์ง€ ๋ณด๊ธฐimport cv2import matplotlib.pyplot as plt%matplotlib inlineimg = cv2.imread('../../data/image/beatles01.jpg')img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)print('image shape:', img.shape)plt.figure(figsize=(12, 12))plt.imshow(img_rgb)image shape: (633, 806, 3)Inference ๋ชจ๋ธ ์ƒ์„ฑTensorflow์—์„œ Pretr..

๐Ÿ‘€ Computer Vision

[CV] SSD - Single Shot (Multibox) Detector

Object Detection Historyํฌ๊ฒŒ 3๊ฐœ์˜ ๋ถ„๋ฅ˜๋กœ ๋‚˜๋ˆ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.1. ์ „ํ†ต์ ์ธ ํƒ์ง€ ๋ฐฉ๋ฒ• (Traditional Detection Methods)VJ Detector (P. Viola et al., 2001):๋น„์˜ฌ๋ผ-์กด์Šค ๊ฐ์ฒด ํƒ์ง€๊ธฐ๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋Š” ์ด ๋ฐฉ๋ฒ•์€ ํŠน์ง• ๊ธฐ๋ฐ˜ ์–ผ๊ตด ํƒ์ง€๋ฅผ ์œ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋„๋ฆฌ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.HOG Detector (N. Dalal et al., 2005):Histogram of Oriented Gradients (HOG)๋Š” ์ด๋ฏธ์ง€์˜ ๊ตญ์†Œ์ ์ธ ๋ฐฉํ–ฅ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด๋ฅผ ํƒ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.DPM (P. Felzenszwalb et al., 2008):Deformable Part Model (DPM)์€ ๋ฌผ์ฒด๋ฅผ ์ž‘์€ ๋ถ€๋ถ„๋“ค๋กœ ๋ถ„ํ• ํ•˜์—ฌ ๊ฐ ๋ถ€๋ถ„์˜ ์œ„์น˜์™€ ํ˜•ํƒœ๋ฅผ ๋ชจ๋ธ๋งํ•˜..

๐Ÿ‘€ Computer Vision

[CV] OpenCV๋กœ Object Detection ๊ตฌํ˜„ํ•˜๊ธฐ (Part.2)

OpenCV DNN ํŒจํ‚ค์ง€๋ฅผ ์ด์šฉํ•˜์—ฌ SSD๊ธฐ๋ฐ˜ Object Detection ์ˆ˜ํ–‰ Tensorflow ์—์„œ Pretrained ๋œ ๋ชจ๋ธ ํŒŒ์ผ์„ OpenCV์—์„œ ๋กœ๋“œํ•˜์—ฌ ์ด๋ฏธ์ง€์™€ ์˜์ƒ์— ๋Œ€ํ•œ Object Detection์„ ์ˆ˜ํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.์ž…๋ ฅ ์ด๋ฏธ์ง€๋กœ ์‚ฌ์šฉ๋  ์ด๋ฏธ์ง€ ๋ณด๊ธฐimport cv2import matplotlib.pyplot as plt%matplotlib inlineimg = cv2.imread('../../data/image/beatles01.jpg')img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)print('image shape:', img.shape)plt.figure(figsize=(12, 12))plt.imshow(img_rgb)Tensorflow์—์„œ..

๐Ÿ‘€ Computer Vision

[CV] OpenCV๋กœ Object Detection ๊ตฌํ˜„ํ•˜๊ธฐ (Part.1)

OpenCV DNN ์žฅ๋‹จ์ OpenCV Deep Neural Network์˜ ์žฅ๋‹จ์ ์— ๋ฐํ•˜์—ฌ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.OpenCV ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” Intel์— ์˜ํ•˜์—ฌ ์ตœ์ดˆ ๊ฐœ๋ฐœ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์žฅ๋‹จ์ ์„ ์„ค๋ช…ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.OpenCV DNN ์žฅ์ ๋”ฅ๋Ÿฌ๋‹ ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„ ์›Œํฌ ์—†์ด ์‰ฝ๊ฒŒ Inference๋ฅผ ๊ตฌํ˜„ ๊ฐ€๋Šฅ ํ•ฉ๋‹ˆ๋‹ค.OpenCV์—์„œ ์ง€์›ํ•˜๋Š” ๋‹ค์–‘ํ•œ Computer Vision ์ฒ˜๋ฆฌ ๋ฐ API์™€ Deep learning์„ ์‰ฝ๊ฒŒ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค.OpenCV DNN ๋‹จ์ GPU ์ง€์› ๊ธฐ๋Šฅ์ด ์•ฝํ•ฉ๋‹ˆ๋‹ค.DNN ๋ชจ๋“ˆ์€ ๊ณผ๊ฑฐ์— NVIDIA GPU ์ง€์›์ด ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. 2019๋…„ 10์›”์— Google์—์„œ NVIDIA GPU ์ง€์› ๋ฐœํ‘œํ–ˆ์ง€๋งŒ. ์•„์ง ํ™˜๊ฒฝ ๊ตฌ์„ฑ/์„ค์น˜๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์ ์ฐจ ๊ฐœ์„  ์ž‘์—…์ด ์ง„ํ–‰์ค‘์ž…๋‹ˆ๋‹ค.OpenCV๋Š” ..

๐Ÿ‘€ Computer Vision

[CV] Faster R-CNN (Faster Region-based Convolutional Neural Network)

Faster R-CNNFaster R-CNN์€ R-CNN ๊ณ„์—ด์˜ Object Detection ๋ชจ๋ธ ์ค‘์—์„œ ๊ฐ€์žฅ ์ง„๋ณด๋œ ๋ชจ๋ธ ์ค‘ ํ•˜๋‚˜๋กœ, Object Detection ์—์„œ ๋งค์šฐ ๋†’์€ ์ •ํ™•๋„์™€ ํšจ์œจ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.๋˜ํ•œ Region Proposal Network (RPN)๋ฅผ ๋„์ž…ํ•˜์—ฌ ์ „์ฒด ์‹œ์Šคํ…œ์˜ ์†๋„์™€ ์ •ํ™•๋„๋ฅผ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.Faster R-CNN์€ RPN(Region Proposal Network) + Fast R-CNN์ด ํ•ฉ์ณ์ง„ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.๊ธฐ์กด Selective Search๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋˜ Object ์œ„์น˜์— Bounding Box๋ฅผ ๊ทธ๋ ค์„œ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค. (GPU ์‚ฌ์šฉ)๋˜ํ•œ Region Proposal Network๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. (Selective Search ์—ญํ• )๊ทธ๋ฆฌ๊ณ  Network๋กœ๋งŒ ๊ตฌ์„ฑ์ด ๋˜..

๐Ÿ‘€ Computer Vision

[CV] Fast R-CNN (Fast Region-based Convolutional Neural Network)

Fast R-CNN ๊ฐœ์š” FAST R-CNN์€ R-CNN (Region-based Convolutional Neural Network)๊ณผ SPP-Net (Spatial Pyramid Pooling Network)์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ณ , ๊ฐ์ฒด ํƒ์ง€์˜ ์†๋„์™€ ์ •ํ™•์„ฑ์„ ํฌ๊ฒŒ ๊ฐœ์„ ํ•œ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค Fast R-CNN์€ ์ด๋Ÿฌํ•œ ์š”์†Œ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.์ž…๋ ฅ ์ด๋ฏธ์ง€: ์›๋ณธ ์ด๋ฏธ์ง€์™€ Region Proposal์ด ์ž…๋ ฅ๋ฉ๋‹ˆ๋‹ค.๊ณตํ†ต CNN: ์ด๋ฏธ์ง€์—์„œ Feature Map(ํŠน์ง• ๋งต)์„ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.RoI Pooling Layer: ๊ฐ Region Proposal์„ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ *Feature Map(ํŠน์ง• ๋งต)์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.์™„์ „ ์—ฐ๊ฒฐ ์ธต: ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ *Feature Map(ํŠน์ง• ๋งต)์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ Classificatio..

๐Ÿ‘€ Computer Vision

[CV] SPPNet - Spatial Pyramid Pooling Net

SPPNet - Spatial Pyramid Pooling Net์ด๋ฒˆ์—๋Š” SPPNet - Spatial Pyramid Pooling Net์— ๋ฐํ•˜์—ฌ ์•Œ์•„๋ณด๊ณ  ์™œ SPPNet์ด ๋“ฑ์žฅํ–ˆ๋Š”์ง€ ํ•œ๋ฒˆ ์•Œ์•„ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. RCNN ์ฃผ์š” ๋ฌธ์ œ์ ๊ทธ์ „์— RCNN์˜ ์ฃผ์š” ๋ฌธ์ œ์ ์— ๋ฐํ•˜์—ฌ ํ•œ๋ฒˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.์ผ๋‹จ, CNN์€ 2,000๊ฐœ์˜ Region ์˜์—ญ ์ด๋ฏธ์ง€๊ฐ€ CNN์œผ๋กœ ์ž…๋ ฅ ๋˜๋ฉด์„œ Object Detection ์ˆ˜ํ–‰์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.์ด์œ ๋Š” ์œ„์˜ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด 2,000๊ฐœ์˜ Region ์˜์—ญ์ด Proposal ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.๊ทธ๋Ÿฌ๋ฉด Feature Map์ด 2,000๊ฐœ๊ฐ€ ๋งŒ๋“ค์–ด ์ €์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด์„œ ๋จพ์€ ์—ฐ์‚ฐ์ด ํ•„์š”ํ•˜๋ฉฐ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง‘๋‹ˆ๋‹ค.๋˜ํ•œ Region ์˜์—ญ ์ด๋ฏธ์ง€๊ฐ€ ๊ณ ์ •๋œ ํฌ๊ธฐ๋กœ Crop / W..

๐Ÿ‘€ Computer Vision

[CV] Object Detection Network ๊ตฌ์กฐ, R-CNN ๊ฐœ์š”

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Object Detection Network ๊ตฌ์กฐ ๊ฐœ์š”, FPS, Resolution๊ณผ ์„ฑ๋Šฅ ์ƒ๊ด€ ๊ด€๊ณ„, R-CNN ์— ๋ฐํ•˜์—ฌ ์•Œ์•„ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Object Detection Network ๊ฐœ์š”Object Detetction Network ๊ตฌ์กฐ๋Š” ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:ํŠน์ง• ์ถ”์ถœ ๋„คํŠธ์›Œํฌ(Feature Extractor Network)์™€ ๊ฐ์ฒด ํƒ์ง€ ๋„คํŠธ์›Œํฌ(Object Detection Network)์ž…๋‹ˆ๋‹ค.๋‘ ๋„คํŠธ์›Œํฌ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์ „ ํ•™์Šต๋œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์ž‘์—…์— ๋งž๊ฒŒ ๋ฏธ์„ธ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค. Feature Extractor Network (ํŠน์ง• ์ถ”์ถœ ๋„คํŠธ์›Œํฌ)์ž…๋ ฅ ์ด๋ฏธ์ง€์—์„œ ์œ ์šฉํ•œ ํŠน์ง•์„ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.VGG, ResNet, Inception ๋“ฑ๊ณผ ๊ฐ™์€ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ๋ณดํ†ต Ima..

Bigbread1129
'๐Ÿ‘€ Computer Vision' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก