반응형
안녕하세요
오늘은 Tensorflow를 활용한 Object Detection를 fine tuning해보겠습니다.
저는 조카가 좋아하는 뽀로로에 등장하는 캐릭터를 해보겠습니다.
🖐 기존 python이 설치되어 있고 tensorflow v2.3이 설치되어 있다는 가정 하에 진행하겠습니다.
목차
1. 텐서플로우 API 설치
2. Object detection 이미지 수집
3. 이미지 라벨링
4. 제너레이트 파일 다운
5. xml_to_csv
6. generate tf record
7. generate labelmap
8. pre-trained 모델 다운로드
9. pre-trained 모델 config 수정
10. Object detection 폴더 추가 생성
11. training 폴더 생성
12.이미지 학습
13. 학습된 모델, 체크포인트 저장
14. 테스트 해볼 이미지 다운
15. 노트북 실행
16. 테스트
17. 결과
18. 후기
1. 텐서플로우 API 설치
저는 test 폴더에서부터 시작해보겠습니다.
git clone https://github.com/tensorflow/models.git
다운로드가 끝나면 research 폴더를 제외하고 전부 삭제해주세요.
2. 이미지 수집
research/object_detection 폴더에 images라는 폴더를 생성해주세요.
이 폴더에 이미지를 저장하겠습니다.
이미지를 모으는데에 편리한 크롬 익스텐션의 Image Downloader를 사용했습니다.
구글에서 "뽀로로 해리"를 이미지탭에서 검색하고 익스텐션 버튼을 누르시고 저장하시면됩니다.
3. 이미지 라벨링
이미지 라벨링에 자주 사용되는 labelImg를 사용하겠습니다.
저는 간단하게 pip으로 설치하겠습니다.
pip install labelImg
# 실행
labelImg
단축키
- Ctrl + u => Load all of the images from a directory
- Ctrl + r => Change the default annotation target dir
- Ctrl + s => Save
- Ctrl + d => Copy the current label and rect box
- Ctrl + Shift + d => Delete the current image
- Space => Flag the current image as verified
- w => Create a rect box
- d => Next image
- a => Previous image
- del => Delete the selected rect box
- Ctrl++ => Zoom in
- Ctrl-- => Zoom out
- 방향키로 rect box 움직임
이런식으로 블럭잡고 라벨링을 해주시면 됩니다.
라벨링이 끝난 이후에는 이런식으로 images폴더에 xml파일이 같이 생성이 됩니다.
안에 들어있는 파일들을 클래스별로 골고루 잘 솎아내서 train 폴더에 8 test 폴더에 2비율로 넣어줍니다.
그리고 images폴더에 class-names라는 파일을 만들어서 저장해줍니다
그렇게되면 마지막은 이런 구조를 나타낼 것 입니다.
반응형
'개발 > Tensorflow' 카테고리의 다른 글
Tensorflow v2.3 Object Detection API fine tuning (3) (1) | 2021.03.14 |
---|---|
Tensorflow v2.3 Object Detection API fine tuning (2) (1) | 2021.03.14 |
Google Colab session 유지 (2) | 2021.02.06 |
Ubuntu 20.04 tensorflow-gpu 사용하기 nvidia, cuda, cudnn (0) | 2021.02.02 |
CNN UnknownError: Failed to get convolution algorithm. (3) | 2021.02.02 |