티스토리

Enough is not enough
검색하기

블로그 홈

Enough is not enough

IT 분야 크리에이터
eehoeskrap.tistory.com/m

생각과 기록 그리고 발전

구독자
233
방명록 방문하기
공지 꾸준희 블로그 모두보기

주요 글 목록

  • [Paper Review] CenterNet, Objects as Points GitHub : https://github.com/xingyizhou/CenterNet GitHub - xingyizhou/CenterNet: Object detection, 3D detection, and pose estimation using center point detection: Object detection, 3D detection, and pose estimation using center point detection: - GitHub - xingyizhou/CenterNet: Object detection, 3D detection, and pose estimation using center point detection: github.com Paper : https://arxiv.org/pd.. 공감수 0 댓글수 2 2023. 3. 4.
  • [Paper Review] YOLOv7, Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors Paper : https://arxiv.org/pdf/2207.02696.pdf GitHub : https://github.com/WongKinYiu/yolov7 GitHub - WongKinYiu/yolov7: Implementation of paper - YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time Implementation of paper - YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors - GitHub - WongKinYiu/yolov7: Implementation of paper - YOLOv7.. 공감수 7 댓글수 3 2022. 7. 18.
  • [Object Detection] Anchor-free 기반 Object Detection의 Center Sampling 방법 (FCOS, FoveaBox) 초창기 Object Detection 분야에서는 하나의 grid cell에 객체를 하나만 검출할 수 있었으며, 더 나아가 여러개의 grid에서 객체를 검출하기 위해 Anchor box라는 개념을 사용하여 객체를 탐지하였습니다. 여기서 Anchor box는 딥러닝 신경망이 검출해야할 object shape에 대한 가정입니다. 하지만 Anchor box는 크기, 종횡비, 개수에 굉장히 민감하다는 단점이 있습니다. 이 Anchor box를 어떻게 설계하느냐에 따라 모델 성능에 영향을 미치게 됩니다. 또한 pre-defined anchor는 모델 일반화 성능을 해치게 되고, anchor box 크기와 다른 ground-truth를 검출하기 어렵다는 단점이 있습니다. 따라서 anchor box를 사용하지 않는 a.. 공감수 2 댓글수 3 2022. 4. 15.
  • [Paper Review] FCOS, Fully Convolutional One-Stage Object Detection 이번에 리뷰할 논문은 바로 FCOS: Fully Convolutional One-Stage Object Detection 입니다. 이 논문은 2019년에 나왔으며, Anchor box 기반 검출기 만큼의 정확도를 달성하는 Anchor Free 기반 검출기의 baseline이 되는 논문이기 때문에 리뷰하게 되었습니다! (사실 CornerNet이 먼저이긴 하지만, CornerNet은 더 복잡한 post-processing 절차가 필요하다고 하네요!) 기존 객체 검출(Object Detection) 분야에서 대장을 이루었던 YOLO v3를 비롯하여 RetinaNet, SSD, Faster R-CNN 등의 객체 검출기들은 Anchor box를 사용하는데 비해, FCOS는 One-stage Detector이기 때.. 공감수 2 댓글수 4 2022. 3. 30.
  • [Paper Review] The PASCAL Visual Object Classes (VOC) Challenge 커스텀 데이터 세트를 구축하다가 과연 이 문제에 대해서 오픈 데이터 세트를 만드는 사람들은 고민을 안했을까? 당연히 했겠지? 🤯 그럼 논문을 읽어보자 해서 급 읽게 된 논문 The PASCAL Visual Object Classes (VOC) 챌린지에 대한 리뷰입니다. VOC 데이터 세트는 Object Detection 분야에서 주로 사용이 되고 있고, 워낙 나온지 오래된 데이터 세트라서 논문 인용수가 13k 건 정도 되네요. 우선 PASCAL VOC(Visual Object Classes) 챌린지는 object category recognition 및 detection 의 벤치마크로 vision 및 machne learning 커뮤니티에 image 및 annotation의 standard evaluat.. 공감수 0 댓글수 0 2022. 2. 21.
  • [Object Detection] Object Detection 분야에서 신경망의 입력 해상도 값을 제한하는 이유 (e.g. ~ [1333,800] or ~ [1000, 600]) 바보같은 질문일 수도 있지만... Object Detector를 개발하다가 문득 궁금한 점이 생겼다. Object Detection 구현들을 살펴보면 scale 값과 max size 값을 제한해두는 경우가 있다. 아래 예시는 FPN pytorch 구현의 res50-lg.yml 파일이며, scale 값은 800으로, max size 값은 1333으로 정해져있다. SCALES: [800] MAX_SIZE: 1333 EXP_DIR: res50-lg TRAIN: HAS_RPN: True IMS_PER_BATCH: 1 BBOX_NORMALIZE_TARGETS_PRECOMPUTED: True RPN_POSITIVE_OVERLAP: 0.7 RPN_BATCHSIZE: 256 PROPOSAL_METHOD: gt BG_T.. 공감수 7 댓글수 3 2021. 8. 13.
  • [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_.. 공감수 0 댓글수 2 2021. 7. 28.
  • [Object Detection] 객체 탐지 정확도 평가 지표 mAP(mean Average Precision) 이번 포스팅에서는 객체 검출(Object Detection)의 성능을 어떻게 평가하는지에 대해서 다루고자 한다. 먼저 "정확도"라는 개념은 주로 정답(Ground Truth, 이하 GT)과 모델이 예측한 결과(Prediction) 간의 비교를 통해 이루어진다. 객체 탐지 정확도 평가 지표인 mAP(mean Average Precision) 를 다루기 전에 이미지 분류(Image Classification)에서는 어떻게 정확도 평가를 수행하는지 알아볼 필요가 있다. 이미지 분류는 GT가 이미지의 클래스이기 때문에 이미지가 딱 주어졌을 때 이 이미지가 GT의 클래스와 일치하는지 불일치하는지를 비교하게 된다. 반면 객체 검출에서는 이미지를 분류하는 문제와 달리 여러 객체들이 존재하는 이미지 내에서 객체가 어디.. 공감수 3 댓글수 3 2021. 4. 14.
  • [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 적인 접근으로 여러가지 문제를 해결할 수 있지 않을까 ㅎㅎ 심지어 이건 모.. 공감수 4 댓글수 3 2020. 5. 27.
  • [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 결과는 없어질 수 있다. 그래서 일정 비율 이.. 공감수 0 댓글수 0 2020. 3. 8.
  • [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.. 공감수 2 댓글수 0 2020. 3. 8.
  • [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.. 공감수 5 댓글수 0 2020. 2. 23.
  • [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 에서 활용 될 .. 공감수 0 댓글수 4 2020. 2. 3.
  • [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) 문제는 피할 수 없는 주제이다. 객체 탐지란.. 공감수 0 댓글수 1 2020. 1. 30.
  • [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 학습을 위해 .. 공감수 1 댓글수 0 2020. 1. 29.
  • [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.. 공감수 0 댓글수 7 2020. 1. 9.
  • [Object Detection] Gaussian YOLOv3 이번에 ICCV 2019 에서 발표된 Gaussian YOLOv3 이다. 이 논문은 자율주행 환경을 기반으로 연구되었으며, 자율 주행 차량에서 객체 탐지 알고리즘의 사용이 점차 중요해지고 있으므로 안전한 자율주행을 위해서는 "높은 정확도"와 "빠른 추론 속도"의 객체 탐지가 필수적이라고 한다. 또한 자율 주행중에 False Localization으로 인한 오탐(FP, False Positive)은 치명적인 사고로 이어질 수 있다. 따라서 Mis-localization 에 대처할 수 있는 객체 검출 알고리즘이 필요하다고 한다. 본 논문에서는 Gaussian Modeling 방법을 이용하여 one-stage 검출기로 대표적인 YOLOv3 의 경계 상자(Bounding Box)를 모델링하고 손실 함수(Loss.. 공감수 0 댓글수 0 2019. 12. 27.
  • [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 저자가.. 공감수 16 댓글수 83 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.. 공감수 7 댓글수 3 2019. 10. 8.
  • [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 .. 공감수 3 댓글수 6 2019. 10. 8.
  • [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.. 공감수 5 댓글수 12 2019. 9. 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.. 공감수 0 댓글수 2 2019. 9. 4.
  • [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.. 공감수 1 댓글수 0 2019. 9. 4.
  • [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.. 공감수 1 댓글수 0 2019. 8. 19.
  • [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).. 공감수 2 댓글수 8 2019. 8. 19.
  • [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.. 공감수 3 댓글수 5 2019. 7. 8.
  • [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,.. 공감수 14 댓글수 6 2019. 4. 6.
  • [Object Detection] Multiple Object Detector 나중에 detector 를 파이썬으로 구현하고자 할 때 좋은 자료가 될듯 관련논문 1은 딥러닝을 구현하여 heatmap 을 생성해 object detection을 수행하는 논문이고, 관련논문 2도 딥러닝을 기반으로 bounding box 를 추출하는 과정을 수행한다. 관련논문 3은 구글에서 수행했던 논문인데, image cropping 부터 시작해서 human pose estimation 을 수행한다. 다음은 관련논문 1의 Git 이다. https://github.com/google/multibox google/multibox Contribute to google/multibox development by creating an account on GitHub. github.com 관련 논문 1 : Sca.. 공감수 0 댓글수 0 2017. 8. 31.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.