실습 : https://github.com/YunYang1994/tensorflow-yolov3
Please install tensorflow-gpu 1.11.0
참고 : https://gorakgarak.tistory.com/1314
가상머신 : tf-gpu
1. Introduction
tensorflow YOLOv3를 이용하여 object detection
2. Quick start
2.1) $ pip install -r ./docs/requirements.txt
2.2) Exporting loaded COCO weights as TF checkpoint(yolov3_coco.ckpt)
= 적재된 coco 가중치를 TF 체크포인트로 내보내기
윈도우에서 wget 사용 https://www.poftut.com/download-install-wget-windows/
참고 : https://www.poftut.com/download-install-wget-windows/
$ cd checkpoint
$ wget https://github.com/YunYang1994/tensorflow-yolov3/releases/download/v1.0/yolov3_coco.tar.gz
$ tar -xvf yolov3_coco.tar.gz
$ cd ..
$ python convert_weight.py
발생하는 error
해결 : pip install opencv-python
$ python freeze_graph.py
발생하는 error
해결 : pip install easydict
$ python image_demo.py
$ python video_demo.py
3. Train on your own dataset
두 개의 파일이 필요 _ class.names, dataset.txt
3.1) Train VOC dataset
훈련하는 방법?
$ wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
$ wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
$ wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
이 tar를 모두 하나의 디렉토리에 추출하고 이름을 바꾼다. 기본 구조는 다음과 같다.
$ python scripts/voc_annotation.py --data_path /내경로/VOC
./core/config.py필요한 구성을 구성하기 위해 편집
__C.YOLO.CLASSES = "./data/classes/voc.names"
__C.TRAIN.ANNOT_PATH = "./data/dataset/voc_train.txt"
__C.TEST.ANNOT_PATH = "./data/dataset/voc_test.txt"
(1) train from scratch:
$ python train.py
$ tensorboard --logdir ./data
해결 : pip install --upgrade setuptools
(2) train from COCO weights(recommend):
$ cd checkpoint
$ wget https://github.com/YunYang1994/tensorflow-yolov3/releases/download/v1.0/yolov3_coco.tar.gz
$ tar -xvf yolov3_coco.tar.gz
$ cd ..
$ python convert_weight.py --train_from_coco
$ python train.py
여기까지 했음
how to test and evaluate it ?
$ python evaluate.py
$ cd mAP
$ python main.py –na
3.2) Train other dataset
COCO trainval 및 테스트 데이터 다운로드
$ wget http://images.cocodataset.org/zips/train2017.zip
$ wget http://images.cocodataset.org/annotations/annotations_trainval2017.zip
$ wget http://images.cocodataset.org/zips/test2017.zip
$ wget http://images.cocodataset.org/annotations/image_info_test2017.zip
4. Why it is so magical?
YOLO는 You Only Look Once의 약자이다.
깊은 회선 신경망에서 학습 한 기능을 사용하여 물체를 감지하는 물체 탐지기이다.
이 코드를 성공적으로 실행했지만 YOLO 작동 방식을 이해하고 진행해야 한다.
4.1) Anchors clustering
4.2) Architercutre details
4.3) Neural network io:
4.4) Filtering with score threshold
4.5) Do non-maximum suppression
참고
'AI > deep learning' 카테고리의 다른 글
[DeepLearning] Tensorflow Object Detection을 통한 실시간 객체 탐지 (1513) | 2020.04.02 |
---|---|
[Tensorflow] 아나콘다(Anaconda) 설치하기 (2) | 2020.04.02 |
Violence detecting in videos using Tensorflow Object Detection (7650) | 2019.11.06 |
DataSet labeling(라벨링_labelIMG이용) (0) | 2019.09.22 |
DataSet labeling(라벨링_yolo-mark이용) (0) | 2019.09.01 |