๐Ÿ‘€ Computer Vision

๐Ÿ‘€ Computer Vision

[CV] Object Detection & Segmentation์„ ์œ„ํ•œ ํŒจํ‚ค์ง€ & CUDA ์†Œ๊ฐœ

Object Detection & Segmentation์„ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ํŒจํ‚ค์ง€๋“คObject Detection & Segmentation์„ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ํŒจํ‚ค์ง€๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.Keras์™€ Tensorflow ๊ธฐ๋ฐ˜์˜ ๋‹ค์–‘ํ•œ ์˜คํ”ˆ์†Œ์Šค ํŒจํ‚ค์ง€๋“ค์‰ฌ์šด ํ™œ์šฉ๊ณผ Customization ๊ฐ€๋Šฅํ•œ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.๋‹ค๋งŒ Object Detection ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ณ„๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€๋“ค์„ ์ ์šฉํ•ด์•ผ ํ•˜๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.OpenCV ์˜ DNN(Deep Neural Network) ๋ชจ๋“ˆ๊ฐ„ํŽธํ•˜๊ฒŒ Object Detection Inference๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.๋‹ค๋งŒ ํ•™์Šต์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ฃผ๋กœ CPU ์œ„์ฃผ๋กœ GPU ํ™œ์šฉ์ด ์–ด๋ ต๋‹ค๋Š” ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.Tensorflow Object Detection API๊ฐ€์žฅ ๋งŽ์€ Detection ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์ ์šฉ์ด ..

๐Ÿ‘€ Computer Vision

[CV] OpenCV ์˜์ƒ์ฒ˜๋ฆฌ ๊ฐœ์š”

OpenCV ์˜์ƒ ์ฒ˜๋ฆฌ ๊ฐœ์š”ํ•œ๋ฒˆ OpenCV์˜ ์˜์ƒ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์— ๋ฐํ•˜์—ฌ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.OpenCV์˜ VideoCaptureํด๋ž˜์Šค๋Š” ๋™์˜์ƒ์„ ๊ฐœ๋ณ„ Frame์œผ๋กœ ํ•˜๋‚˜์”ฉ ์ฝ์–ด(Read)๋“ค์ด๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.VideoWriter๋Š” VideoCapture๋กœ ์ฝ์–ด๋“ค์ธ ๊ฐœ๋ณ„ Frame์„ ๋™์˜์ƒ ํŒŒ์ผ๋กœ Write๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.VideoCapture.read() - ์˜์ƒ์˜ ๋‹ค์Œ Frame์„ ์ฝ์Šต๋‹ˆ๋‹ค.VideoWriter.write() - ์˜์ƒ์˜ Frame์„ write ํ•ฉ๋‹ˆ๋‹ค.cap = cv2.VideoCapture(video_input_path)…………vid_writer = cv2.VideoWriter(video_output_path, …..)while True:hasFrame, img_frame = cap.read..

๐Ÿ‘€ Computer Vision

[CV] OpenCV ๊ฐœ์š”

Python ๊ธฐ๋ฐ˜ ์ฃผ์š” ์ด๋ฏธ์ง€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌํฌ๊ฒŒ 3๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.PIL (Python Image Library)์ฃผ๋กœ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ๋งŒ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.์ฒ˜๋ฆฌ ์„ฑ๋Šฅ์ด ์ƒ๋Œ€์ ์œผ๋กœ ๋Š๋ฆฌ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.Scikit-ImageํŒŒ์ด์ฌ ๊ธฐ๋ฐ˜์˜ ์ „๋ฐ˜์ ์ธ ์ปดํ“จํ„ฐ ๋น„์ „ ๊ธฐ๋Šฅ ์ž…๋‹ˆ๋‹ค.์‚ฌ์ดํŒŒ์ด(Scipy)์— ๊ธฐ๋ฐ˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.OpenCV์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜์˜ ์ตœ๊ณ  ์ธ๊ธฐ ์ปดํ“จํ„ฐ ๋น„์ „ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž…๋‹ˆ๋‹ค.์ปดํ“จํ„ฐ ๋น„์ „ ๊ธฐ๋Šฅ ์ผ๋ฐ˜ํ™”์— ํฌ๊ฒŒ ๊ธฐ์—ฌ ํ–ˆ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค.(์–ด๋ ค์šด ๊ธฐ๋Šฅ๋„ API ๋ช‡์ค„๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.)C++ ๊ธฐ๋ฐ˜์ด๋‚˜ Python๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. (Java, C# ๋“ฑ ๋‹ค์–‘ํ•œ ์–ธ์–ด ์ง€์›) OpenCV ํŠน์ง•OpenCV (Open Source Computer Vision Library)๋Š” ์ปดํ“จํ„ฐ ๋น„์ „๊ณผ ๋จธ์‹  ๋Ÿฌ๋‹์„ ์œ„ํ•œ ์˜คํ”ˆ..

๐Ÿ‘€ Computer Vision

[CV] Object Detection & Segmentation์„ ์œ„ํ•œ ์ฃผ์š” Dataset

์ฃผ์š” Dataset๋งŽ์€ Detection & Segmentation DL ํŒจํ‚ค์ง€๊ฐ€ ์•„๋ž˜์˜ Dataset๋“ค์„ ๊ธฐ๋ฐ˜์œผ๋กœ Pretrained ๋˜์–ด ๋ฐฐํฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.PASCAL VOC: XML Format, 20๊ฐœ์˜ Object CategoryBounding Box ์–‘์‹์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค(XML), ๊ทธ๋ฆฌ๊ณ  ํ•˜๋‚˜์˜ Image์— ๋ฐํ•˜์—ฌ Annotation ํ•ฉ๋‹ˆ๋‹ค. MS COCO: json Form, 80๊ฐœ์˜ ์˜ค๋ธŒ์ ํŠธ ์นดํ…Œ๊ณ ๋ฆฌGoogle Open Images: csv Format, 600๊ฐœ์˜ ์˜ค๋ธŒ์ ํŠธ ์นดํ…Œ๊ณ ๋ฆฌ  PASCAL VOC 2012PASCAL VOC(Pattern Analysis, Statistical Modelling and Computational Learning Visual Object Classes)..

๐Ÿ‘€ Computer Vision

[CV] Precision(์ •๋ฐ€๋„) & Recall(์žฌํ˜„์œจ)

Precision(์ •๋ฐ€๋„) & Recall(์žฌํ˜„์œจ)์ •๋ฐ€๋„(Precision)๊ณผ ์žฌํ˜„์œจ(Recall)์€ ์ฃผ๋กœ Binary Classification(์ด์ง„ ๋ถ„๋ฅ˜)์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์„ฑ๋Šฅ์ง€ํ‘œ ์ž…๋‹ˆ๋‹ค.์ •๋ฐ€๋„(Precision)๋Š” ์˜ˆ์ธก์„ Positive๋กœ ํ•œ ๋Œ€์ƒ ์ค‘์— ์˜ˆ์ธก๊ณผ ์‹ค์ œ ๊ฐ’์ด Positive๋กœ ์ผ์น˜ํ•œ ๋ฐ์ดํ„ฐ์˜ ๋น„์œจ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค.Object Detection์—์„œ๋Š” ๊ฒ€์ถœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๊ฒ€์ถœ ์˜ˆ์ธกํ•œ ๊ฒฐ๊ณผ๊ฐ€ ์‹ค์ œ Object๋“ค๊ณผ ์–ผ๋งˆ๋‚˜ ์ผ์น˜ํ•˜๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ง€ํ‘œ์ž…๋‹ˆ๋‹ค.์žฌํ˜„์œจ(Recall)์€ ์‹ค์ œ ๊ฐ’์ด Positive์ธ ๋Œ€์ƒ ์ค‘์— ์˜ˆ์ธก๊ณผ ์‹ค์ œ ๊ฐ’์ด Positive๋กœ ์ผ์น˜ํ•œ ๋ฐ์ดํ„ฐ์˜ ๋น„์œจ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค. ObjectDetection์—์„œ๋Š” ๊ฒ€์ถœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์‹ค์ œ Object๋“ค์„ ๋น ๋œจ๋ฆฌ์ง€ ์•Š๊ณ  ์–ผ๋งˆ๋‚˜ ์ •ํ™•ํžˆ ๊ฒ€์ถœ ์˜ˆ์ธกํ•˜๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด..

๐Ÿ‘€ Computer Vision

[CV] Object Detection ๋ฐฉ์‹ & ์„ฑ๋Šฅ ํ‰๊ฐ€

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ํ•œ๋ฒˆ Object Detection์˜ ๋ฐฉ์‹๋“ค์ด ์–ด๋–ค๊ฒƒ์ด ์žˆ๋Š”์ง€ ํ•œ๋ฒˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.Sliding Window ๋ฐฉ์‹Sliding Window ๋ฐฉ์‹์€ Window๋ฅผ ์™ผ์ชฝ ์ƒ๋‹จ๋ถ€ํ„ฐ ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์œผ๋กœ ์ด๋™์‹œํ‚ค๋ฉด์„œ Object๋ฅผ Detection ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.์•ฝ๊ฐ„ ์ด˜์ด˜ํžˆ, ์„ธ๋ฐ€ํ•˜๊ฒŒ window๋ฅผ ์ด๋™์‹œํ‚ค๋ฉด์„œ ๊ฐ์ฒด ํƒ์ง€๋ฅผ ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€๋ฅผ ์ž‘์€ ์˜์—ญ์œผ๋กœ ๋‚˜๋ˆ„๊ณ , ๊ฐ๊ฐ์˜ ์ž‘์€ ์˜์—ญ(์œˆ๋„์šฐ)์—์„œ ๊ฐ์ฒด๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€๋ฅผ ํƒ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.์žฅ์ ์€ ๋งŽ์€ ์˜์—ญ์„ Scan ํ• ์ˆ˜ ์žˆ๋Š”๊ฒƒ, Window์˜ ํ˜•ํƒœ๋ž‘ Image Scale์„ ๋‹ค์–‘ํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.๋‹จ์ ์€ Object ์—†๋Š” ์˜์—ญ๋„ ๋ฌด์กฐ๊ฑด ์Šฌ๋ผ์ด๋”ฉ ํ•˜์—ฌ์•ผ ํ•˜๋ฉฐ ์—ฌ๋Ÿฌ ํ˜•ํƒœ์˜ Window์™€ ์—ฌ๋Ÿฌ Scale์„ ๊ฐ€์ง„ ์ด๋ฏธ์ง€๋ฅผ ์Šค์บ”ํ•ด์„œ ๊ฒ€์ถœํ•ด์•ผ ํ•˜..

๐Ÿ‘€ Computer Vision

[CV] Object Detection์˜ ์ดํ•ด

Intro Object DetectionObject Detection์€ Deep Learning(๋”ฅ๋Ÿฌ๋‹) ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐœ์ „ํ•˜์˜€์Šต๋‹ˆ๋‹ค.Object detection์€ ์ปดํ“จํ„ฐ ๋น„์ „ ๋ถ„์•ผ์—์„œ ์ค‘์š”ํ•œ ์—ฐ๊ตฌ ์ฃผ์ œ ์ค‘ ํ•˜๋‚˜๋กœ, ์ด๋ฏธ์ง€๋‚˜ ๋น„๋””์˜ค ๋‚ด์—์„œ ๊ฐ์ฒด์˜ ์œ„์น˜๋ฅผ ์ฐพ๊ณ , ํ•ด๋‹น ๊ฐ์ฒด๊ฐ€ ๋ฌด์—‡์ธ์ง€๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.์ด ๊ธฐ์ˆ ์€ ๋ณด์•ˆ ์‹œ์Šคํ…œ, ์ž์œจ ์ฃผํ–‰ ์ฐจ๋Ÿ‰, ์–ผ๊ตด ์ธ์‹, ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰ ์—”์ง„ ๋“ฑ ๋‹ค์–‘ํ•œ ์‘์šฉ ๋ถ„์•ผ์—์„œ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.PASCAL VOC ๋Œ€ํšŒ์—์„œ convnet์„ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์ด๋ž‘ ํ›„๋ž‘ ์„ฑ๋Šฅ ์ง€ํ‘œ๊ฐ€ ํ™• ์ƒ์Šนํ•œ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.Localization, Detection, SegmentationLocalization, Detection, Segmentation ์ด 3๊ฐœ์˜ ๊ณตํ†ต์ ์€ Object์˜ ์œ„์น˜๋ฅผ ์ฐพ์•„์ฃผ๋Š”๊ฒƒ์ž…๋‹ˆ๋‹ค.L..

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