no image
[Object Tracking] SiamMask
이 논문에서는 실시간 객체 추적(Object Tracking) 및 Semi-supervised 기반의 객체 세그먼트를 모두 수행하는 방법을 설명한다. SiamMask 라고 불리는 이 방법은 바이너리 세그먼트 작업으로 Loss 를 Augmentation 시켜 객체 추적을 위해 Full-convolutional Siamese 접근법을 적용하여 학습 과정을 개선시킨다. 학습된 SiamMask는 단일 경계 상자(a single bounding box) 초기값에만 의존을 받으며, 초당 35 프레임의 회전이 가능한 경계 상자를 생성한다. 단순하며, 추적이 가능하고, 세그먼트 까지 가능함에도 불구하고 빠른속도를 보장한다. 네트워크 구성은 위와 같은데, 4-th stage 의 최종 컨볼루션 레이어 까지 백본으로 res..
2019.12.27
no image
[Paper Review] YOLACT : Real-time Instance Segmentation
You Only Look At CoefficienTs 이번 ICCV 2019 에 발표된 YOLACT 논문이다. 파이토치로 구현되어있다. https://github.com/dbolya/yolact Abstract YOLACT 는 Instance Segmentation 를 수행하기 위해 단순한 컨볼루션 모델을 제시한다. 이는 MS COCO 기준 29.8 mAP 및 33.5 fps 를 달성하여 실시간으로 객체를 탐지할 수 있다. 처음엔 프로토타입 마스크 세트를 생성하고, 인스턴스 별 마스크 계수(coefficient)를 예측한다. 그 다음 프로토타입을 마스크계수와 선형으로 결합하여 인스턴스 마스크를 생성하게 된다. 이 프로세스는 repooling에 의존하지 않기 때문에 고품질의 마스크를 생성할 수 있다고 한다..
2019.11.16
no image
[Object Detection] darknet custom 학습하기
darknet 학습을 위해 이전에 처리해야할 과정들은 다음 포스팅을 참고 [Object Detection] darknet custom 학습 준비하기 https://eehoeskrap.tistory.com/367 [Object Detection] Darknet 학습 준비하기 환경 Ubuntu 16.04 GeForce RTX 2080 1. 학습 준비하기 1.1 COCO 데이터 세트를 이용한 학습 COCO 데이터는 2014 , 2017 로 나뉘어져 있는데, 홈페이지에서 다운 받을 수도 있지만, 크기가 너무 커서 유틸리티 cur.. eehoeskrap.tistory.com 1. Darknet 코드 다운받기 Darknet 프레임워크를 이용하기 위한 github 는 크게 2가지가 있다. 1.1 yolo v3 저자가..
2019.10.16
[Object Detection] COCO Category 91 vs 80
COCO 데이터 세트 논문에 나와있는 클래스의 개수는 91이다. Darknet 프레임워크에 나와있는 클래스의 개수는 80개이다. COCO 데이터 세트의 2014 데이터와 2017 데이터 이름은 같으며, 단지, Paper 와의 약소한 차이인 누락된 클래스가 있다. 누락된 클래스 11개 stop sign hat shoe eye glasses plate mirror window desk door blender hair brush 또한 참고로 COCO 주석인 json 파일에서 stop sign 에 대한 주석이 빠지면서 생긴 문제인지 train 및 val 의 이미지 개수와 annotation 개수의 차이가 다소 있다. train2017 : 118,287 장 annotation (train2017) : 117,26..
2019.10.08
no image
[Object Detection] Darknet 학습 준비하기
환경 Ubuntu 16.04 GeForce RTX 2080 1. 학습 준비하기 1.1 COCO 데이터 세트를 이용한 학습 COCO 데이터는 2014 , 2017 로 나뉘어져 있는데, 홈페이지에서 다운 받을 수도 있지만, 크기가 너무 커서 유틸리티 curl 를 이용하여 다운받아야 한다. COCO 데이터 세트 https://cocodataset.org/#download COCO - Common Objects in Context cocodataset.org COCO 데이터 세트 종류는 다음과 같다. 이미지 2014 Train images [83K/13GB] 2014 Val images [41K/6GB] 2014 Test images [41K/6GB] 2015 Test images [81K/12GB] 2017 ..
2019.10.08
[Object Detection] YOLO style 로 Bounding Box 값 바꾸기
기존 Bounding Box 좌표 값인 (x1, x2, y1, y2) 형식을 Yolo Style인 이미지 크기에 대한 비율 값으로 바꾸고, (centerX, centerY, w, h) 형식으로 바꾸는 소스코드이다. def convert(size, box): dw = 1./size[0] dh = 1./size[1] x = (box[0] + box[1])/2.0 y = (box[2] + box[3])/2.0 w = box[1] - box[0] h = box[3] - box[2] x = x*dw w = w*dw y = y*dh h = h*dh return (x,y,w,h) im=Image.open(img_path) w= int(im.size[0]) h= int(im.size[1]) print(xmin, xma..
2019.09.17
[Object Detection] Darknet python
Darknet 프레임 워크를 이용하여 Python3 환경에서 Video 영상을 입력으로 Object Detection을 하는 방법이다. 이 때, Darknet 소스코드에 있는 darknet/python/darknet.py 파일을 이용하여 바로 video 영상을 입력 받을 수 없다. 소스코드를 보면 알겠지만, 단지 이미지 패스를 통해 detect 함수에서 이미지를 불러오고 있다. 이 때 nparray to image 과정이 필요하다. 바로 video 영상을 입력 받을 수 있도록 하는 방법을 소개한다. 1. 소스코드 다운 $ git clone https://github.com/pjreddie/darknet.git https://github.com/pjreddie/darknet.git pjreddie/dark..
2019.09.04
no image
[Object Detection] Darknet 학습 시 적절한 Weight 고르기
When should I stop training: Usually sufficient 2000 iterations for each class(object). But for a more precise definition when you should stop training, use the following manual: During training, you will see varying indicators of error, and you should stop when no longer decreases 0.XXXXXXX avg: Region Avg IOU: 0.798363, Class: 0.893232, Obj: 0.700808, No Obj: 0.004567, Avg Recall: 1.000000, co..
2019.09.04
no image
[Object Detection] Convert Darknet yolov3 model to keras model
Darknet Yolo v3 의 .weights 파일을 Keras의 .h5 로 변환하는 방법인데, 클래스는 제대로 찾을 수 있지만 (사람, 바이크 등) 아무래도 프레임워크간의 변환이니 정확도(box score)가 손실된다. 또한, Keras가 Tensorflow에 내장되면서 Yolo v3 모델을 Keras 모델로 바꾸는 코드들이 Cuda 9.0 을 지원하거나, 잘못된 코드들을 가지고 있는 경우가 있다. (Yolo v2 모델 변환하는 방법은 잘 나와있는 듯) 그래서 변환하지 않는 방법을 추천한다. 변환하지않고, 그냥 darknet 프레임워크를 이용하여 실행하는 방법을 추천한다. 1. python 에서 darknet 프레임워크를 사용하여 weights, cfg , ... 파일들을 불러와 실행하는 방법 htt..
2019.08.19
no image
[Object Detection] 객체 탐지를 위한 데이터 주석 Yolo 형식으로 변환하기
https://github.com/ssaru/convert2Yolo ssaru/convert2Yolo This project purpose is convert voc annotation xml file to yolo-darknet training file format - ssaru/convert2Yolo github.com 위 깃허브 저장소에서 아래와 같은 데이터 세트들의 주석 파일을 Yolo 프레임워크에 맞게 변환 할 수 있다. COCO VOC UDACITY Object Detection KITTI 2D Object Detection 필자는 person.names 를 생성하고, COCO 데이터 세트의 (train2017, val2017) 이미지 정보가 담긴 json 주석 파일들을 yolo 형식(txt)..
2019.08.19
no image
[Object Detection] Image Labeling Tool
유명한 이미지 라벨링 툴 labelImg 이다. object detection 학습을 위해 영상에서 Bounding Box 를 지정하여 라벨링을 수행하고 그 bounding box 정보들을 .xml 로 저장 할 수 있다. https://github.com/tzutalin/labelImg tzutalin/labelImg :metal: LabelImg is a graphical image annotation tool and label object bounding boxes in images - tzutalin/labelImg github.com 사용법은 간단하다. 1. 설치 $ pip install labelImg 2. 실행 $ labelImg 3. 폴더 지정 Open Dir Change Save Dir 4..
2019.07.08
no image
[Object Detection] Feature Pyramid Network (FPN)
석사 때는 Object Detection 이라는 분야를 컴퓨터비전 쪽으로 공부했었는데 최근들어 프로젝트를 수행하면서 당연히(?) 딥러닝 쪽으로 공부하고 있다. 원 논문 Lin, Tsung-Yi, et al. "Feature pyramid networks for object detection." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017. http://openaccess.thecvf.com/content_cvpr_2017/html/Lin_Feature_Pyramid_Networks_CVPR_2017_paper.html CVPR 2017 Open Access Repository Tsung-Yi Lin,..
2019.04.06