본문 바로가기
딥러닝관련/Detection

PASCAL VOC detection 데이터 및 라벨 구조(간단히 정리)

by 머리올리자 2022. 5. 2.

Detection 코드를 분석하다가 dataset에 대한 기본 구조를 따로 정리 해놓아도 좋을 것 같아서 간단히 해본다.

 

PASCAL VOC 2007

trainval subset : 5011 images

test subset : 4952 images

PASCAL VOC 2012

train subset : 5717 images

validation subset : 5823 images

 

PASCAL VOC 2007 & PASCAL VOC 2012

trainval : 16551 (5011 + 5717 + 5823)

 

보통 validation 할 때는 pascal voc 2007 test data(4952 images)에 대해서 활용하는 것 같다.

PASCAL VOC 2007 이미지

VOC2007 000278.jpg

 

위 그림을 보면 남자와 개가 있다.

 

그러면 우리는 detection시 object가 두 개에 해당하는 label 정보를 얻을 수 있을 것이라 예측할 수 있다.

 

위 이미지에 대한 label을 보자

 

우선 tag들이 많다.

 

한번 간략히 정리해보자.

<annotation>
	<folder>VOC2007</folder>
	<filename>000278.jpg</filename>
	<source>
		<database>The VOC2007 Database</database>
		<annotation>PASCAL VOC2007</annotation>
		<image>flickr</image>
		<flickrid>338888008</flickrid>
	</source>
	<owner>
		<flickrid>ilovethatsound</flickrid>
		<name>anne behrndt</name>
	</owner>
	<size>
		<width>500</width>
		<height>375</height>
		<depth>3</depth>
	</size>
	<segmented>0</segmented>
	<object>
		<name>dog</name>
		<pose>Left</pose>
		<truncated>1</truncated>
		<difficult>0</difficult>
		<bndbox>
			<xmin>294</xmin>
			<ymin>156</ymin>
			<xmax>500</xmax>
			<ymax>375</ymax>
		</bndbox>
	</object>
	<object>
		<name>person</name>
		<pose>Frontal</pose>
		<truncated>0</truncated>
		<difficult>0</difficult>
		<bndbox>
			<xmin>111</xmin>
			<ymin>89</ymin>
			<xmax>417</xmax>
			<ymax>375</ymax>
		</bndbox>
		<part>
			<name>head</name>
			<bndbox>
				<xmin>241</xmin>
				<ymin>95</ymin>
				<xmax>331</xmax>
				<ymax>194</ymax>
			</bndbox>
		</part>
		<part>
			<name>hand</name>
			<bndbox>
				<xmin>113</xmin>
				<ymin>124</ymin>
				<xmax>176</xmax>
				<ymax>202</ymax>
			</bndbox>
		</part>
	</object>
</annotation>

<folder> : 데이터셋 디렉토리명

<filename> : 파일이름

<source> : 이미지의 출처가 어디냐를 말하는듯

<owner> : 이 이미지의 소유자를 말하는듯(from flickr)

<size> : 이미지의 width, height, channel에 대한 정보

<segmented> : 이미지가 segmentation에 사용될 수 있도록 label되었는지 유무(ex, 000032.jpg)

<object> : 사진 속 object에 대한 정보

     <name> : object의 클래스 이름

     <pose> : object가 바라보고 있는 방향

     <truncated> : 이미지 상에 object가 잘려 일부만 나오는지

     <difficult> : 인식하기 어려운지 -> 보통 object 크기가 작으면 difficult가 1로 설정되는 듯 하다.(ex, 000862.jpg)

     <bndbox> : 이 object에 대한 box 정보

          <xmin> : box의 왼쪽 상단 x축 좌표값

          <ymin> : box의 왼쪽 상단 y축 좌표값

          <xmax> : box의 오른쪽 하단 x축 좌표값

          <ymax> : box의 오른쪽 하단 y축 좌표값