반응형

AI Research Topic/Object Detection 20

[Object Detection ] What does mlvl mean?

mmdetection 모듈 쓰다가 mlvl 의 의미가 궁금해서 알아보았다. class mmdet.core.anchor.MlvlPointGenerator(strides, offset=0.5) multi-level (Mlvl) 이였다.... 주로 2D Points 기반 검출기의 Multi-level(Mlvl) Feature Map 을 위한 point 를 생성할 때 사용하며, Object Detection 분야에서 Anchor Free 스타일의 헤더(Header) 에서 주로 사용된다. def get_points(self, featmap_sizes, dtype, device, flatten=False): """Get points according to feature map sizes. Args: featmap_..

[Object Detection] 객체 탐지 정확도 평가 지표 mAP(mean Average Precision)

이번 포스팅에서는 객체 검출(Object Detection)의 성능을 어떻게 평가하는지에 대해서 다루고자 한다. 먼저 "정확도"라는 개념은 주로 정답(Ground Truth, 이하 GT)과 모델이 예측한 결과(Prediction) 간의 비교를 통해 이루어진다. 객체 탐지 정확도 평가 지표인 mAP(mean Average Precision) 를 다루기 전에 이미지 분류(Image Classification)에서는 어떻게 정확도 평가를 수행하는지 알아볼 필요가 있다. 이미지 분류는 GT가 이미지의 클래스이기 때문에 이미지가 딱 주어졌을 때 이 이미지가 GT의 클래스와 일치하는지 불일치하는지를 비교하게 된다. 반면 객체 검출에서는 이미지를 분류하는 문제와 달리 여러 객체들이 존재하는 이미지 내에서 객체가 어디..

[Object Detction] 3D Object Detection, Google Objectron

Object Detection 분야는 대부분 2차원 객체 탐지만을 다루고 있다. 2차원 객체를 탐지하는 것은 2차원 바운딩 박스만 있지만, 3차원 객체 탐지로 범위를 확장한다면, 물체의 크기 및 위치, 방향 등을 알 수 있으므로 자율 주행 및 이미지 검색, 증강 현실에서 다양한 분야에 응용 할 수 있다. 가령, 2D Human Pose Estimation 분야에서 3차원 정보가 아주 조금 필요한 도메인이라면, 3D Human Pose Estimation 까지 연구의 범위를 확장 안하고도 문제를 해결 할 수 있지 않을까 라는 생각을 했다. 즉, 사람에 대한 2차원 바운딩 박스 정보를 3차원으로 추출 할 수 있다면, 꽤 vanilla 적인 접근으로 여러가지 문제를 해결할 수 있지 않을까 ㅎㅎ 심지어 이건 모..

[Object Detection] Soft NMS

Paper : https://arxiv.org/pdf/1704.04503.pdf 불러오는 중입니다... Soft NMS 기존 NMS 는 가장 높은 confidence 를 가지는 bbox 를 찾고, 같은 클래스 인 bbox 들 중 겹치는 영역이 일정 비율 이상인 (iou > threshold) bbox 를 제거해서 중복된 detection 결과를 없앤다. 이러한 hard 한 NMS 방식은 실제로 존재하는 object 를 제거함으로써 mAP 가 낮아지는 문제가 있다. 일례로 아래 왼쪽 그림 처럼 같은 클래스인 말(horse) 들이 겹쳐져 있고, confidence 가 각 0.8 / 0.9 / 0.8 이 나왔을 때, 가운데 말만 남고 나머지 말의 detection 결과는 없어질 수 있다. 그래서 일정 비율 이..

[Object Detection] Deformable Convolutional Networks

Paper : https://arxiv.org/abs/1703.06211 Deformable Convolutional Networks Convolutional neural networks (CNNs) are inherently limited to model geometric transformations due to the fixed geometric structures in its building modules. In this work, we introduce two new modules to enhance the transformation modeling capacity of CNNs arxiv.org Project Page : https://github.com/msracver/Deformable-Co..

[Object Detection] EfficientNet and EfficientDet

1. EfficientNet : Improbing Accuracy and Efficiency through AutoML and Model Scaling 2. EfficientDet:Scalable and Efficient Object Detection 1. EfficientNet EfficientNet 은 위 그래프와 같이 압도적인 성능을 자랑한다. 위 그림 1에서도 알 수 있듯 EfficientNet-B7 이 GPipe 를 능가하였으며, 그럼에도 불구하고 파라미터의 사용량은 1/8 수준이다. 또한 실제 inference time 도 6배 빠르다고 한다. 이러한 성능이 가능했던 이유는 "compound cofficient" 를 사용하여 모든 차원의 깊이(depth) / 폭 (width) / 해상도(res..

[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 에서 활용 될 ..

[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 학습을 위해 ..

[Object Detection] Gaussian YOLOv3

이번에 ICCV 2019 에서 발표된 Gaussian YOLOv3 이다. 이 논문은 자율주행 환경을 기반으로 연구되었으며, 자율 주행 차량에서 객체 탐지 알고리즘의 사용이 점차 중요해지고 있으므로 안전한 자율주행을 위해서는 "높은 정확도"와 "빠른 추론 속도"의 객체 탐지가 필수적이라고 한다. 또한 자율 주행중에 False Localization으로 인한 오탐(FP, False Positive)은 치명적인 사고로 이어질 수 있다. 따라서 Mis-localization 에 대처할 수 있는 객체 검출 알고리즘이 필요하다고 한다. 본 논문에서는 Gaussian Modeling 방법을 이용하여 one-stage 검출기로 대표적인 YOLOv3 의 경계 상자(Bounding Box)를 모델링하고 손실 함수(Loss..

[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 저자가..

[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,266 val2017..

[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 ..

[Object Detection] YOLO style 로 Bounding Box 값 바꾸기

기존 Bounding Box 좌표 값인 (x1, y2, x2, 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..

[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..

[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..

728x90
반응형