AI/Deep Learning
[Yolov5 라벨링] xml 파일 txt 파일로 변경하기 (xml to txt)
all_sound
2022. 12. 20. 19:03
기존에 해놨던 이미지 라벨링을 그대로 사용해서 Yolov5로 돌리려고 하니 문제가 발생했다.
욜로에서는 라벨링 파일이 txt 형식이어야 한다는 것!
그래서 구글링 하던 중 xml to txt를 수월하게 해 주는 오픈 소스를 발견했다.
https://github.com/Isabek/XmlToTxt
GitHub - isabek/XmlToTxt: ImageNet file xml format to Darknet text format
ImageNet file xml format to Darknet text format. Contribute to isabek/XmlToTxt development by creating an account on GitHub.
github.com
▶ 먼저 저장소를 클론해 온 후 필요한 소스들을 설치한다.
git clone https://github.com/Isabek/XmlToTxt
pip install -r requirements.txt
▶ classes 파일을 열고 라벨링 한 class들을 적어 준다. (반드시 순서와 개수가 맞아야 에러가 나지 않는다.)
▶ xml to txt
python xmltotxt.py -xml [xml파일이 있는 폴더명] -out [변환된 txt파일을 저장할 폴더명]
▶ 변경 예시
Input xml file
<annotation>
<filename>image-0000016.jpg</filename>
<size>
<width>1920</width>
<height>1080</height>
</size>
<object>
<name>sedan</name>
<bndbox>
<xmin>75</xmin>
<ymin>190</ymin>
<xmax>125</xmax>
<ymax>210</ymax>
</bndbox>
</object>
</annotation>
Output text file
5 0.052083 0.185185 0.026042 0.018519
아주 간단하게 변경 완료 :)
