민프
[AI] 나만의 데이터 셋 만들기 - 1 (feat. labelme, jupyter notebook) 본문
순서는
1. 데이터 셋을 만들기 위해서 다운로드를 하는 부분
2. Labelme에서 Polygon 작업하는 부분
3. jupyter notebook에서 라벨링 한 부분이 잘 적용되었는지 확인하는 부분
으로 나누겠습니다.
1 - 아나콘다 다운로드
https://www.anaconda.com/products/distribution
아나콘다를 사용하는 이유?
인공지능 프로젝트를 하다보면 여러 라이브러리들을 다운받게 되는데 이떄 라이브러리들 간의 의존성이 복잡하게 되어서 잘 동작하는 코드의 오류를 일으킬 수 있다.
따라서 아나콘다는 가상환경을 만들어서 각 가상환경 별로 독립적인 패키지 버전 관리가 가능하다는 장점이 있기에 사용한다.
1 - 아나콘다에서 git install 하기
1 - 라벨링 데이터를 저장해 줄 폴더로 이동 후
labelme 라벨링을 coco 포멧으로 변환해주는 코드 실행을 위해 깃헙을 클론
git clone http://github.com/Tony607/labelme2coco.git
파일 경로에 git clone한 폴더가 생성 되었는지 확인
1 - Labelme 툴 다운로드 (Install Anaconda, then in an Anaconda Prompt run:)
https://github.com/wkentaro/labelme#windows
conda create --name=labelme python=3
conda activate labelme
pip install labelme
2 - Labelme 툴 실행
아나콘다를 실행 후
labelme
명령어 실행하면 (왼쪽 사진) labelme 프로그램이 실행된다. (오른쪽 사진)
Labelme 툴 파일 경로 설정 및 Polygons 작업하기
-Open Dir 클릭 후 파일 경로 설정
경로 설정을 git clone한 기준으로 한다면
git clone에서 받아온 coco Image데이터셋이 나오게 되는데 (위 사진 참고)
이미 라벨링이 되어있는 것을 확인할 수 있다. (아래 사진 참고)
만약 나만의 라벨링 데이터를 만들고 싶다면 이 이미지와 JSON파일들을 전부 삭제시키고 라벨링 작업물 들을 여기에다 저장시키면 된다.
그럼 이제 모든 Image 데이터를 삭제하고 나만의 라벨링 데이터를 만들어보자
왼쪽 사진과 같이 폴리곤 작업을 하고 난 뒤 저장을 눌러주면 해당 라벨링에 대한 정보를 JSON 파일로 저장되게 된다.
이 사진 파일과 JSON 파일을 같이 labelme2coco\images 에 넣어주자.
그 다음 아나콘다의 경로를 labelme2coco로 이동한 다음
coco형식으로 변환해주는 파이썬을 실행해주면 trainval.json파일이 잘 생성된 것을 확인할 수 있다.
anaconda prompt -> labelme2coco폴더로 이동 jupyter notebook 실행 -> COCO_Image_viewer.ipynb 클릭
Jupyter Notebook에서 한줄한줄 실행하면 이렇게 라벨링 된 결과를 확인할 수 있다.