no image
[Object Detection] The Car Connection Picture Dataset
64,467 장으로 이루어진 자동자 데이터 세트 https://github.com/nicolas-gervais/predicting-car-price-from-scraped-data/tree/master/picture-scraper nicolas-gervais/predicting-car-price-from-scraped-data Picture and specifications scraper. Contribute to nicolas-gervais/predicting-car-price-from-scraped-data development by creating an account on GitHub. github.com 이미지 파일들로만 구성되어있으며, 이는 Object Classification 에서 활용 될 ..
2020.02.03
no image
[Paper Review] Imbalance Problems in Object Detection : A Review
Paper : https://arxiv.org/pdf/1909.00169v1.pdf Project page : https://github.com/kemaloksuz/ObjectDetectionImbalance kemaloksuz/ObjectDetectionImbalance Lists the papers related to imbalance problems in object detection - kemaloksuz/ObjectDetectionImbalance github.com 본 게시물은 위 논문을 번역하여 나름 .. 다시 정리한 글 입니다. 1. Introduction 객체 탐지(Object Detection, OD) 분야에 있어서 불균형(Imbalance) 문제는 피할 수 없는 주제이다. 객체 탐지란..
2020.01.30
no image
[Object Detection] darknet 으로 Gaussian YOLOv3 학습하기 (linux)
darknet 학습하기는 아래 포스팅 참고하시길 바란다. darknet 학습 준비하기 : 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 darknet custom 학습하기 : https://eehoeskrap.tistory.com/370 [Object Detection] darknet custom 학습하기 darknet 학습을 위해 ..
2020.01.29
no image
[Paper Review] M2Det : A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network
객체 탐지(Object Detection) 분야에서 객체 인스턴스(Instance)의 스케일(Scale) 변화는 주요 challenge 중 하나이다. 일반적으로 이 문제를 해결하기 위한 두가지 방법은 이미지 피라미드(Image Pyramid)에서 객체를 탐지하는 것과 입력에서 추출된 Feature Pyramid 에서 객체를 탐지하는 것이다. 전자의 방법은 메모리와 계산 복잡성을 증가시키기 때문에 효율성이 떨어지며, 후자의 방법은 트레이닝 및 테스트 단계에서 활용할 수 있고, 전자의 방법보다는 메모리와 계산 비용이 적게 든다. 또한 이 Feature Pyramid 는 End-to-end 방식이기 때문에 쉽게 통합이 가능하다는 장점을 가진다. M2Det(Multi-level and Multi-scale De..
2020.01.09
no image
[Object Detection] Gaussian YOLOv3
이번에 ICCV 2019 에서 발표된 Gaussian YOLOv3 이다. 이 논문은 자율주행 환경을 기반으로 연구되었으며, 자율 주행 차량에서 객체 탐지 알고리즘의 사용이 점차 중요해지고 있으므로 안전한 자율주행을 위해서는 "높은 정확도"와 "빠른 추론 속도"의 객체 탐지가 필수적이라고 한다. 또한 자율 주행중에 False Localization으로 인한 오탐(FP, False Positive)은 치명적인 사고로 이어질 수 있다. 따라서 Mis-localization 에 대처할 수 있는 객체 검출 알고리즘이 필요하다고 한다. 본 논문에서는 Gaussian Modeling 방법을 이용하여 one-stage 검출기로 대표적인 YOLOv3 의 경계 상자(Bounding Box)를 모델링하고 손실 함수(Loss..
2019.12.27
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