์ฃผ์ Dataset
๋ง์ Detection & Segmentation DL ํจํค์ง๊ฐ ์๋์ Dataset๋ค์ ๊ธฐ๋ฐ์ผ๋ก Pretrained ๋์ด ๋ฐฐํฌ๋์์ต๋๋ค.
- PASCAL VOC: XML Format, 20๊ฐ์ Object Category
- Bounding Box ์์์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค(XML), ๊ทธ๋ฆฌ๊ณ ํ๋์ Image์ ๋ฐํ์ฌ Annotation ํฉ๋๋ค.
- MS COCO: json Form, 80๊ฐ์ ์ค๋ธ์ ํธ ์นดํ ๊ณ ๋ฆฌ
- Google Open Images: csv Format, 600๊ฐ์ ์ค๋ธ์ ํธ ์นดํ ๊ณ ๋ฆฌ
PASCAL VOC 2012
PASCAL VOC(Pattern Analysis, Statistical Modelling and Computational Learning Visual Object Classes)์ ์ปดํจํฐ ๋น์ ๋ถ์ผ์์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ์ ๋ฐ ํ๊ฐ ์ฑ๋ฆฐ์ง์ ๋๋ค.
- ์ด ๋ฐ์ดํฐ์ ์ ๊ฐ์ฒด ๊ฒ์ถ(Object Detection), ์ด๋ฏธ์ง ๋ถํ (Image Segmentation), ์ด๋ฏธ์ง ๋ถ๋ฅ(Image Classification) ๋ฑ ์ฌ๋ฌ ์ปดํจํฐ ๋น์ ์์ ์์ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํ๊ฐํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- PASCAL VOC ๋ฐ์ดํฐ์ ์ ๋ค์ํ ์๊ฐ์ ๊ฐ์ฒด ํด๋์ค๋ฅผ ํฌํจํฉ๋๋ค. ์๋ฅผ ๋ค์ด, 2007๋ ๊ณผ 2012๋ ์ ๋ฐ์ดํฐ์ ์ ๊ฐ๊ฐ 20๊ฐ์ ๊ฐ์ฒด ํด๋์ค๋ฅผ ํฌํจํฉ๋๋ค.
- ์ฃผ์ ํด๋์ค์๋ ์ฌ๋(person), ์์ ๊ฑฐ(bicycle), ์๋์ฐจ(car), ๊ณ ์์ด(cat), ๊ฐ(dog), ์ํ(dining table) ๋ฑ์ด ์์ต๋๋ค.
The PASCAL Visual Object Classes Challenge 2012 (VOC2012)
2006 10 classes: bicycle, bus, car, cat, cow, dog, horse, motorbike, person, sheep. Train/validation/test: 2618 images containing 4754 annotated objects. Images from flickr and from Microsoft Research Cambridge (MSRC) dataset The MSRC images were easier th
host.robots.ox.ac.uk
Annotation
ํ๋ฒ Annotation์ ๋ฐํ์ฌ ์์๋ณด๊ฒ ์ต๋๋ค. ๋ฌด์์ผ๊น์?
- ์ด๋ฏธ์ง์ Detection ์ ๋ณด๋ฅผ ๋ณ๋์ ์ค๋ช ํ์ผ๋ก ์ ๊ณต๋๋ ๊ฒ์ ์ผ๋ฐ์ ์ผ๋ก Annotation ์ด๋ผ๊ณ ํฉ๋๋ค.
- Annotation์ Object์ Bounding Box ์์น๋ Object ์ด๋ฆ๋ฑ์ ํน์ ํฌ๋งท(์ค๋ช ํ์ผ)์ผ๋ก ์ ๊ณตํฉ๋๋ค.
- ์ด Annotation ํ์ผ์ ๋ ธ๋์ ๋ฐ์ค ์์ ์๋ ๋ถ๋ถ์ ์๋ณธ ์ด๋ฏธ์ง์ ๋นํ๊ธฐ๋ฅผ Bounding Boxํ ํ ๋ถ๋ถ์ ๋๋ค.
PASCAL VOC Dataset ๊ตฌ์กฐ
ํ๋ฒ PASCAL VOC Dataset์ ๊ตฌ์กฐ์ ๋ฐํ์ฌ ํ๋ฒ ์์๋ณด๊ฒ ์ต๋๋ค.
- Annotations: Xml ํฌ๋งท์ด๋ฉฐ, ๊ฐ๋ณ xmlํ์ผ์ ํ ๊ฐ image์ ๋ํ Annotation ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
- ํ์ฅ์ xml์ ์ ์ธํ ํ์ผ๋ช ์ image ํ์ผ๋ช (ํ์ฅ์ jpg๋ฅผ ์ ์ธํ)๊ณผ ๋์ผํ๊ฒ Mapping ํฉ๋๋ค.
- ImageSet: ์ด๋ค ์ด๋ฏธ์ง๋ฅผ train, test, trainval, val์ ์ฌ์ฉํ ๊ฒ์ธ์ง์ ๋ํ ๋งคํ ์ ๋ณด๋ฅผ ๊ฐ๋ณ ์ค๋ธ์ ํธ๋ณ๋ก ํ์ผ๋ก ๊ฐ์ง๊ณ ์์ต๋๋ค.
- JPEGImages: Detection๊ณผ Segmentation์ ์ฌ์ฉ๋ ์๋ณธ ์ด๋ฏธ์ง ์ ๋๋ค.
- Segmentation Class: Semantic Segmentation์ ์ฌ์ฉ๋ masking ์ด๋ฏธ์ง ์ ๋๋ค.
- Segmentation Object: Instance Segmentation์ ์ฌ์ฉ๋ masking ์ด๋ฏธ์ง ์ ๋๋ค.
Annotation ํ์ผ ์์
Annotation ํ์ผ 2007_000032.xml ํ์ผ ์ผ๋ถ ์ ๋๋ค.
- 2007_000032.jpg ํ์ผ์ ๋ํ Annotation ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
PASCAL VOC 2012 Dataset ํ์ํ๊ธฐ
ํ๋ฒ PASCAL VOC 2012 Dataset ํ์ํด๋ณด๊ฒ ์ต๋๋ค.
- PASCAL VOC 2012 ๋ฐ์ดํฐ ๋ค์ด๋ก๋ ๋ฐ๊ธฐ
!wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
!tar -xvf VOCtrainval_11-May-2012.tar -C ~/DLCV/data/voc
!ls ~/DLCV/data/voc/VOCdevkit/VOC2012
!ls ~/DLCV/data/voc/VOCdevkit/VOC2012/JPEGImages | head -n 5
- JPEGImasge Directory์ ์๋ ์์์ ์ด๋ฏธ์ง ๋ณด๊ธฐ
import cv2
import matplotlib.pyplot as plt
%matplotlib inline
img = cv2.imread('../../data/voc/VOCdevkit/VOC2012/JPEGImages/2007_000032.jpg')
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # BGR -> RGB ๋ณํ
print('img shape:', img.shape)
plt.figure(figsize=(8, 8))
plt.imshow(img_rgb)
plt.show()
- img shape: (281, 500, 3)
- Annotations ๋๋ ํ ๋ฆฌ์ ์๋ ์์์ annotation ํ์ผ ๋ณด๊ธฐ
!cat ~/DLCV/data/voc/VOCdevkit/VOC2012/Annotations/2007_000032.xml
<annotation>
<folder>VOC2012</folder>
<filename>2007_000032.jpg</filename>
<source>
<database>The VOC2007 Database</database>
<annotation>PASCAL VOC2007</annotation>
<image>flickr</image>
</source>
<size>
<width>500</width>
<height>281</height>
<depth>3</depth>
</size>
<segmented>1</segmented>
<object>
<name>aeroplane</name>
<pose>Frontal</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>104</xmin>
<ymin>78</ymin>
<xmax>375</xmax>
<ymax>183</ymax>
</bndbox>
</object>
<object>
<name>aeroplane</name>
<pose>Left</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>133</xmin>
<ymin>88</ymin>
<xmax>197</xmax>
<ymax>123</ymax>
</bndbox>
</object>
<object>
<name>person</name>
<pose>Rear</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>195</xmin>
<ymin>180</ymin>
<xmax>213</xmax>
<ymax>229</ymax>
</bndbox>
</object>
<object>
<name>person</name>
<pose>Rear</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>26</xmin>
<ymin>189</ymin>
<xmax>44</xmax>
<ymax>238</ymax>
</bndbox>
</object>
</annotation>
- ์ด XML ํ์ผ์ PASCAL VOC ๋ฐ์ดํฐ์ ์์ ์ฌ์ฉ๋๋ ์ด๋ ธํ ์ด์ ํ์ผ์ ์์์ ๋๋ค.
- ์ด๋ฏธ์ง ๋ด ๊ฐ์ฒด์ ์์น์ ์์ฑ์ ์ ์ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- ๊ฐ ๊ฐ์ฒด๋ ์ด๋ฏธ์ง ๋ด์ ๋ฐ์ด๋ฉ ๋ฐ์ค ์ขํ์ ํจ๊ป ํด๋์ค ๋ผ๋ฒจ, ํฌ์ฆ, ๊ทธ๋ฆฌ๊ณ ๊ธฐํ ์์ฑ์ ํฌํจํฉ๋๋ค.
- XML ํ์ผ ๊ตฌ์กฐ๋ฅผ ์์ฝํด๋ณด๋ฉด
- ์ด๋ฏธ์ง์ ํฌ๊ธฐ: 500x281, 3์ฑ๋(RGB)
- ๊ฐ์ฒด๋ 4๊ฐ๊ฐ ์๊ณ , ์๋์ ์ ๋ณด๊ฐ ์์ต๋๋ค.
- `aeroplane`: ํฌ์ฆ๋ `Frontal`, Bounding Box ์ขํ๋ (104, 78), (375, 183)
- `aeroplane`: ํฌ์ฆ๋ `Left`, Bounding Box ์ขํ๋ (133, 88), (197, 123)
- `person`: ํฌ์ฆ๋ `Rear`, Bounding Box ์ขํ๋ (195, 180), (213, 229)
- `person`: ํฌ์ฆ๋ `Rear`, Bounding Box ์ขํ๋ (26, 189), (44, 238)
SegmentationObject ๋๋ ํ ๋ฆฌ์ ์๋ ์๋ ์์์ maksing ์ด๋ฏธ์ง ๋ณด๊ธฐ
img = cv2.imread('../../data/voc/VOCdevkit/VOC2012/SegmentationObject/2007_000032.png')
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
print('img shape:', img.shape)
plt.figure(figsize=(8, 8))
plt.imshow(img_rgb)
plt.show()
- img shape: (281, 500, 3)
Annotation xml ํ์ผ์ ์๋ ์์๋ค์ ํ์ฑํ์ฌ ์ ๊ทผํ๊ธฐ
import os
import random
VOC_ROOT_DIR ="../../data/voc/VOCdevkit/VOC2012/"
ANNO_DIR = os.path.join(VOC_ROOT_DIR, "Annotations") # Annotations - Directory๋ฅผ ์๋ฏธํฉ๋๋ค.
IMAGE_DIR = os.path.join(VOC_ROOT_DIR, "JPEGImages")
xml_files = os.listdir(ANNO_DIR)
print(xml_files[:5]); print(len(xml_files))
['2008_007279.xml', '2010_005972.xml', '2012_003581.xml', '2008_004452.xml', '2009_003508.xml']
17125 - ์ด๊ฐ์
# !pip install lxml
import os
import xml.etree.ElementTree as ET
xml_file = os.path.join(ANNO_DIR, '2007_000032.xml')
# XML ํ์ผ์ Parsing ํ์ฌ Element ์์ฑ
tree = ET.parse(xml_file)
root = tree.getroot()
# image ๊ด๋ จ ์ ๋ณด๋ root์ ์์์ผ๋ก ์กด์ฌ
image_name = root.find('filename').text
full_image_name = os.path.join(IMAGE_DIR, image_name)
image_size = root.find('size') # element์ ๊ฐ์๋งํผ ๋ณํ๋ฐ์
image_width = int(image_size.find('width').text)
image_height = int(image_size.find('height').text)
# ํ์ผ๋ด์ ์๋ ๋ชจ๋ object Element(object Element ๊ฐ์๋งํผ)๋ฅผ ์ฐพ์.
objects_list = []
for obj in root.findall('object'): # Iterator๋ก ๋ณํ
# object element์ ์์ element์์ bndbox๋ฅผ ์ฐพ์.
xmlbox = obj.find('bndbox')
# bndbox element์ ์์ element์์ xmin,ymin,xmax,ymax๋ฅผ ์ฐพ๊ณ ์ด์ ๊ฐ(text)๋ฅผ ์ถ์ถ
x1 = int(xmlbox.find('xmin').text)
y1 = int(xmlbox.find('ymin').text)
x2 = int(xmlbox.find('xmax').text)
y2 = int(xmlbox.find('ymax').text)
bndbox_pos = (x1, y1, x2, y2)
class_name=obj.find('name').text
object_dict={'class_name': class_name, 'bndbox_pos':bndbox_pos}
objects_list.append(object_dict)
print('full_image_name:', full_image_name,'\n', 'image_size:', (image_width, image_height))
for object in objects_list:
print(object)
full_image_name: ../../data/voc/VOCdevkit/VOC2012/JPEGImages/2007_000032.jpg
image_size: (500, 281)
{'class_name': 'aeroplane', 'bndbox_pos': (104, 78, 375, 183)}
{'class_name': 'aeroplane', 'bndbox_pos': (133, 88, 197, 123)}
{'class_name': 'person', 'bndbox_pos': (195, 180, 213, 229)}
{'class_name': 'person', 'bndbox_pos': (26, 189, 44, 238)}
Annotation๋ด์ Object๋ค์ bounding box ์ ๋ณด๋ฅผ ์ด์ฉํ์ฌ Bounding box ์๊ฐํ
import cv2
import os
import xml.etree.ElementTree as ET
xml_file = os.path.join(ANNO_DIR, '2007_000032.xml')
tree = ET.parse(xml_file)
root = tree.getroot()
image_name = root.find('filename').text
full_image_name = os.path.join(IMAGE_DIR, image_name)
img = cv2.imread(full_image_name)
# opencv์ rectangle()๋ ์ธ์๋ก ๋ค์ด์จ ์ด๋ฏธ์ง ๋ฐฐ์ด์ ๊ทธ๋๋ก ์ฌ๊ฐํ์ ๊ทธ๋ ค์ฃผ๋ฏ๋ก ๋ณ๋์ ์ด๋ฏธ์ง ๋ฐฐ์ด์ ๊ทธ๋ฆผ ์์
์ํ.
draw_img = img.copy()
# OpenCV๋ RGB๊ฐ ์๋๋ผ BGR์ด๋ฏ๋ก ๋นจ๊ฐ์์ (0, 0, 255)
green_color=(0, 255, 0)
red_color=(0, 0, 255)
# ํ์ผ๋ด์ ์๋ ๋ชจ๋ object Element๋ฅผ ์ฐพ์.
objects_list = []
for obj in root.findall('object'):
xmlbox = obj.find('bndbox')
left = int(xmlbox.find('xmin').text)
top = int(xmlbox.find('ymin').text)
right = int(xmlbox.find('xmax').text)
bottom = int(xmlbox.find('ymax').text)
class_name=obj.find('name').text
# draw_img ๋ฐฐ์ด์ ์ข์๋จ ์ฐํ๋จ ์ขํ์ ๋
น์์ผ๋ก box ํ์
cv2.rectangle(draw_img, (left, top), (right, bottom), color=green_color, thickness=1)
# draw_img ๋ฐฐ์ด์ ์ข์๋จ ์ขํ์ ๋นจ๊ฐ์์ผ๋ก ํด๋์ค๋ช
ํ์
cv2.putText(draw_img, class_name, (left, top - 5), cv2.FONT_HERSHEY_SIMPLEX, 0.4, red_color, thickness=1)
img_rgb = cv2.cvtColor(draw_img, cv2.COLOR_BGR2RGB)
plt.figure(figsize=(10, 10))
plt.imshow(img_rgb)
- <matplotlib.image.AxesImage at 0x7fc2d004a780>
MS-COCO Dataset
MS-COCO (Microsoft Common Objects in Context) ๋ฐ์ดํฐ์ ์ ์ปดํจํฐ ๋น์ ์ฐ๊ตฌ๋ฅผ ์ํ ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ์ ๋๋ค.
- Object Detection(๊ฐ์ฒด ๊ฒ์ถ), Image Segmentation(์ด๋ฏธ์ง ๋ถํ ), Image Captioning(์ด๋ฏธ์ง ์บก์ ๋) ๋ฑ ๋ค์ํ Vision ์์ ์ ์ฌ์ฉ๋ฉ๋๋ค.
- COCO ๋ฐ์ดํฐ์ ์ ์ด๋ฏธ์ง์์ ๊ฐ์ฒด์ ์์น์ ํด๋์ค๋ฟ๋ง ์๋๋ผ, ๊ฐ์ฒด์ Segmentation ์ ๋ณด์ ์ด๋ฏธ์ง ์ค๋ช (์บก์ )๋ ์ ๊ณตํ์ฌ ํ๋ถํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
- 80๊ฐ Object Category, 300K์ Image๋ค๊ณผ 1.5 Million ๊ฐ์ object๋ค์ด ์์ต๋๋ค.
- (ํ๋์ image์ ํ๊ท 5๊ฐ์ Object๋ค๋ก ๊ตฌ์ฑ)
- ๊ทธ๋ฆฌ๊ณ Tensorflow Object Detection API ๋ฐ ๋ง์ ์คํ ์์ค ๊ณ์ด์ ์ฃผ์ ํจํค์ง๋ค์ COCO Dataset์ผ๋ก Pretrained๋ ๋ชจ๋ธ์ ์ ๊ณตํฉ๋๋ค.
MS-COCO Dataset ์ค๋ธ์ ํธ ์นดํ ๊ณ ๋ฆฌ
MS-COCO Dataset ๋ค์ด๋ก๋
- ์ฌ๊ธฐ์ MS-COCO Dataset์ ๋ค์ด๋ก๋ ํ ์ ์์ต๋๋ค.
COCO - Common Objects in Context
cocodataset.org
COCO Explorer
Dataset ์๋ Explorer๋ฅผ ๋๋ฅด๋ฉด, ์ด๋ ๊ฒ Category๋ณ๋ก ๊ฐ์ Object๋ฅผ ๋๋ฅด๋ฉด Dataset์ ๋ณผ ์ ์์ต๋๋ค.
MS-COCO Dataset ๊ตฌ์ฑ
COCO 2017 ๋ฐ์ดํฐ ์ธํธ ๊ธฐ์ค์ ๋๋ค.
- ์ด๋ฏธ์ง ํ์ผ๋ค์ Json ํฌ๋งท์ธ ํ๊ฐ์ ํ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. (ํ๊ฐ์ Line ์ผ๋ก ๊ตฌ์ฑ)
- ์๋์ ๊ฐ์ ๋ ๋ถ๋ฅ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
- Info: COCO Dataset ์์ฑ ์ผ์๋ฑ์ ๊ฐ์ง๋ ํค๋ ์ ๋ณด ์ ๋๋ค.
- license: ์ด๋ฏธ์ง ํ์ผ๋ค์ ๋ผ์ด์ ์ค์ ๋ํ ์ ๋ณด ์ ๋๋ค.
- images: ๋ชจ๋ ์ด๋ฏธ์ง๋ค์ id, ํ์ผ๋ช , ์ด๋ฏธ์ง ๋๋น, ๋์ด ์ ๋ณด ์ ๋๋ค.
- annotations: ๋์ image๋ฐ object id Segmentation, bounding box, ํฝ์ ์์ญ ๋ฑ์ ์์ธ ์ ๋ณด๋ฅผ ๊ฐ์ง๋๋ค.
- categories: 80๊ฐ ์ค๋ธ์ ํธ ์นดํ ๊ณ ๋ฆฌ์ ๋ํ id, ์ด๋ฆ, Group์ ๊ฐ์ง๋๋ค.
MS-COCO JSON ํ์ผ ์์
1๊ฐ์ ์ด๋ฏธ์ง์ ๋ฐํ ํน์ฑ์ ์์๋ก ๊ฐ์ง๊ณ ์์ต๋๋ค.
MS-COCO Dataset ํน์ง
COCO Dataset์ ์ด๋ฏธ์ง ํ ๊ฐ์ ์ฌ๋ฌ ์ค๋ธ์ ํธ๋ค์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ํ ๋ฐ์ดํฐ ์ธํธ์ ๋นํด ๋์ด๋๊ฐ ๋์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
Categories per image: ํ๋์ ์ด๋ฏธ์ง๋น ๋ช๊ฐ์ Category?
Instances per image: Object ๋ช๊ฐ?
Percentiage of images: ์ด๋ฏธ์ง์ ๋ํ ํ๋ฅ
Number of Cateories: ๊ฐ์ฒด(Category)์ ๊ฐ์
- ๋ค์ํ ๊ฐ์ฒด ํด๋์ค
- COCO ๋ฐ์ดํฐ์ ์ 80๊ฐ์ ๊ฐ์ฒด ํด๋์ค๋ฅผ ํฌํจํฉ๋๋ค.
- ์ฃผ์ ํด๋์ค์๋ ์ฌ๋(person), ์์ ๊ฑฐ(bicycle), ์๋์ฐจ(car), ๊ฐ(dog), ๊ณ ์์ด(cat), ์ฑ ์(desk), ์์(chair) ๋ฑ์ด ์์ต๋๋ค.
- ํ๋ถํ Annotation
- Object Detection: ์ด๋ฏธ์ง ๋ด ๊ฐ์ฒด์ Bounding Box ์ขํ์ Class ๋ผ๋ฒจ์ ์ ๊ณตํฉ๋๋ค.
- Image Segmentation: ๊ฐ์ฒด์ ํฝ์ ๋จ์ ๋ถํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค (Polygon ํ์).
- ํคํฌ์ธํธ ๊ฒ์ถ: ์ฌ๋์ ์ฃผ์ ์ ์ฒด ๋ถ์(์: ๋, ๊ท, ์ด๊นจ ๋ฑ)์ ์์น ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
- Image Captioning: ์ด๋ฏธ์ง์ ๋ํ ์์ฐ์ด ์ค๋ช ์ ์ฌ๋ฌ ๊ฐ ์ ๊ณตํฉ๋๋ค.
- ๋๊ท๋ชจ Dataset
- COCO ๋ฐ์ดํฐ์ ์ ์์ญ๋ง ์ฅ์ ์ด๋ฏธ์ง๋ฅผ ํฌํจํ๋ฉฐ, ๊ฐ ์ด๋ฏธ์ง์๋ ์ฌ๋ฌ ๊ฐ์ฒด๊ฐ ํฌํจ๋์ด ์์ด ํ๋ถํ ํ์ต ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ํ๋ จ(train), ๊ฒ์ฆ(val), ํ ์คํธ(test) ์ธํธ๋ก ๋๋์ด ์์ต๋๋ค.
- ๋ณต์กํ ์ฅ๋ฉด
- COCO ๋ฐ์ดํฐ์ ์ ์ค์ ์ํฉ์์์ ๋ณต์กํ ์ฅ๋ฉด์ ํฌํจํ์ฌ, ๊ฐ์ฒด๋ค์ด ๋ค์ํ ํฌ๊ธฐ์ ํํ๋ก ๋ํ๋๊ณ ์ํธ์์ฉํ๋ ๋ชจ์ต์ ๋ด๊ณ ์์ต๋๋ค.
์ฝ์ฝ ์ต์คํ๋ก๋ฌ
'๐ Computer Vision' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CV] OpenCV ์์์ฒ๋ฆฌ ๊ฐ์ (0) | 2024.05.19 |
---|---|
[CV] OpenCV ๊ฐ์ (0) | 2024.05.18 |
[CV] Precision(์ ๋ฐ๋) & Recall(์ฌํ์จ) (0) | 2024.05.15 |
[CV] Object Detection ๋ฐฉ์ & ์ฑ๋ฅ ํ๊ฐ (0) | 2024.05.13 |
[CV] Object Detection์ ์ดํด (0) | 2024.05.10 |