본문 바로가기

반응형

Machine Learning Tasks

(67)
Object Detection - YOLO v3 Pytorch 구현 (2) 지난 포스트 [Machine Learning/기타] - Object Detection - YOLO v3 Pytorch 구현 (1) Training Model 모델은 Darknet 을 사용합니다. YOLO 공식 홈페이지에 사전훈련된 Darknet 모델의 파라미터 "yolov3.weight"를 받을 수 있는데, 바이너리 파일이므로 Pytorch / Keras 프레임워크로 별도로 모델을 구성했다면 사전훈련된 파라미터 값을 레이어에 따라 적절하게 덮어씌우는 과정이 필요합니다. 즉, Darknet 모델을 불러오고 사전훈련된 파라미터 값을 불러온 이후에 backbone 모델 파라미터를 고정시키고 detector 부분만 따로 훈련시키는 전이학습을 (transfer learning) 수행합니다. 따라서 backbone..
Object Detection - YOLO v3 Pytorch 구현 (1) [Machine Learning/기타] - Object Detection - YOLO v3 이번 포스트에서는 YOLO v3 Pytorch 구현을 해보고자 합니다. Datasets PASCAL VOC 2007 / 2012 데이터셋을 먼저 다운받습니다. YOLO 공식 홈페이지에 접속하면 PASCAL VOC 데이터 처리 방법에 대해 상세히 나와 있습니다. wget 명령어를 이용하여 VOC 데이터셋 tar 파일을 다운받습니다. 구글 코랩을 이용할 경우 '/content' 경로에 다운받아지며 리눅스 CLI로 동작시키기 위해서는 느낌표를 명령어 앞에 붙여야 합니다. !wget https://pjreddie.com/media/files/VOCtrainval_11-May-2012.tar !wget https://pjr..
Object Detection - SSD (Single Shot MultiBox Detector) 이번 포스트에서 살펴볼 object detecion 알고리즘은 SSD (Single Shot Detector) 입니다. Region proposal networks 를 사용한 2-스테이지의 Faster-RCNN은 정확도가 매우 높지만 real-time 에 부적합한 7 FPS라는 매우 낮은 속도를 가지고, YOLO는 1-스테이지 detector 로서 속도가 45 FPS로 매우 높지만 정확도가 낮고 작은 물체를 잘 감지하지 못하는 단점이 있었습니다. SSD는 YOLO보다 빠르면서 Faster-RCNN 만큼 정확도를 높이는 다양한 테크닉을 사용하는데요 한번 살펴보도록 하겠습니다. SSD Figure 1은 YOLO와 SSD의 비교 그림입니다. SSD는 입력 이미지를 300을 사용하며 (SSD300), fully..
Object Detection - DIoU, CIoU Object detection 알고리즘은 YOLO 시리즈, SSD 같은 1-스테이지 detection 과 R-CNN 계열의 2-스테이지 detection 으로 나눌 수 있지만, 이미지에 존재하는 객체의 localization 을 위한 bounding box regression 은 필수적으로 포함되며 일반적으로 $l_1, l_2$ norm의 목적함수로 훈련됩니다. 하지만 bounding box regression 성능 평가는 $l_1, l_2$ norm의 스케일과 해석의 비직관성으로 인해 타겟 박스와 (라벨) 예측한 박스가 겹치는 정도를 나타낸 IoU를 (Intersection over Union) 사용합니다. (Equation 1) 따라서, 테스트 메트릭과 (IoU) 목적함수의 ($l_1, l_2$) 불..
Object Detection - YOLO v3 지난 포스트 [Machine Learning/기타] - Object Detection - YOLO v2 YOLO v2 가 나온 시점에서는 object detection 알고리즘 내에서 가장 빠르고 정확한 알고리즘 중 하나였지만 이후에 공개된 RetinaNet, SSD 등 다른 object detection 알고리즘에 비해 정확도가 낮고 작은 물체를 잘 탐지하지 못한다는 문제점이 있었습니다. YOLO v3 는 성능을 향상시키기 위한 다양한 업데이트를 YOLO v2 에 반영했는데요, 한번 살펴보도록 하겠습니다. Updates Darknet-53 YOLO v2 포스트에서 살펴봤듯이 YOLO v2 는 이미지 feature 를 추출하기 위해 19-layer 로 되어있는 Darknet-19 를 backbone ne..
Object Detection - YOLO v2 이번 포스트에서는 YOLO (You Only Look Once) 후속작 YOLO v2 에 대해서 다뤄보도록 하겠습니다. Better YOLO 가 다른 detection 모듈에 비해 대표적으로 안좋은 점은 적은 수의 bounding box 로 인해 재현율이 (recall) 낮다는 점입니다. 특히, 컴퓨터 비젼에서는 점점 더 깊고 큰 neural networks 를 사용하는 추세이지만 object detection 은 정확하고 충분히 빨라야하기 때문에 YOLO v2 에서는 모델을 더 크게 구성하는 대신 모델의 구성요소를 바꾸어 성능을 향상시킵니다. Batch normalization 먼저 모든 convolution layer 에 batch normalization 을 적용합니다. 이를 통해 2% 정도의 mA..
Face Recognition - ArcFace (2) 지난 포스트 [Machine Learning/기타] - Face Recognition - ArcFace (1) Experiments Implementation details ArcFace 저자들은 Table 1에 나와있는 다양한 얼굴 인식 데이터셋에 굉장히 빡세게 실험을 수행했습니다. CASIA, VGGFace2, MS1MV2, DeepGline-Face 데이터셋을 훈련 데이터셋으로 사용했습니다. (MS1MV2 는 MS-Celeb-1M 데이터셋을 자체적으로 정제한 버젼입니다.) SphereFace, CosFace 에서 LFW, YTF, MegaFace 데이터셋에 대해서만 실험을 수행한 것과 달리 기존의 LFW, YTF 에다가 나이 / 포즈에 따른 CPLFW, CALFW 데이터셋에 대해서도 테스트를 수행하..
Face Recognition - ArcFace (1) 대용량 얼굴 이미지를 기반한 얼굴 인식을 위해서 같은 클래스의 feature 들이 뭉치고 (minimize intra-class variation) 다른 클래스의 feature 들이 펼쳐지는 (maximize inter-class variation) discriminative feature 학습 방법이 많이 제안되었고 대표적으로 1) softmax loss 기반의 방법들과, 2) triplet loss 기반의 방법론이 있습니다. (Figure 1에서의 geodesic 거리란 일반적으로 공간 상에서 가장 짧 표면 거리를 말합니다. 쉽게 예를 들면 지구라는 구 위에서 서울-뉴욕사이의 geodesic 거리는 지구 표면상에서 서울-뉴욕의 최단거리가 되는 것이죠. ) Softmax loss 기반의 방법론은 마지막..

반응형