Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

YOLO9000: Better, Faster, Stronger #42

Open
chullhwan-song opened this issue Aug 10, 2018 · 1 comment
Open

YOLO9000: Better, Faster, Stronger #42

chullhwan-song opened this issue Aug 10, 2018 · 1 comment

Comments

@chullhwan-song
Copy link
Owner

https://arxiv.org/abs/1612.08242
YOLO9000_taewan.pdf
https://www.youtube.com/watch?v=6fdclSGgeio
이 논문/발표자료보고 정리

@chullhwan-song
Copy link
Owner Author

chullhwan-song commented Aug 10, 2018

yolo : #5 먼저보고~

yolo v2 and yolo 9000

image

  • 논문은 v2에 대해 대부분 할애, 자그막하게 yolo 9000 그러나 제목은 yolo 9000
  • 현재 데이터는 object detection 클래스가 적다 넘 -> yolo 9000
    • 그이유는 라벨 데이터가 넘 적다.(당연히 사람이 일일이 적어야하니..)
    • 따라서, 기존 object detection 데이터와 image classification 데이터를 적절히 이용하여 클래스를 늘이겠다란게 그 요지. = joint training algorithm
    • 기존 yolo 업그레이드(v2) 이후, 9000개 클래스
      • 실시간 장점이지만, 성능이 떨어졌다. 그리고 특히 recall이 떨어짐(v1) > 이점을 개선
        • v2 > 전제 조건 faster and accuracy (당연한게 아닌가?ㅎ)
      • better > v2
        • batch normalization > 2%
        • high resolution 416x416 fine-tuning > 4 %
          • shrink : 448 > 416
            • why?
              • yolo에서 사용된 CNN이 pooling을 5번연산 그럼 32로 다운샘플링
              • 1/32줄었을때, 가로 세로 사이즈를 홀수로 만들기 위해 시도
                • 즉, 448x448 > 14x14, 416x416 > 13x13(마지막 feature map)
                • center 값이 하나(1 pixel)이기 위해, 짝수는 2x2 pixel
        • v1은 rpn을 사용하지 않는게 특징이었는데, rpn개념 도입 (remove fc layer) > 5 % 향상
          • anchor box 마다 예측, 이전 Cell 마다~
            • 실제 mAP는 cell 단위가 더 좋음(69.5% > 69.2%). 하지만 recall은 anchor 단위가 더 좋음 (81 > 88%)
            • 기존 rpn의 anchor box는 미리 정리되어 있는데 box를 사용했는데, 이게 문제다라고 판단하고 이 box 조차도 학습을 통해 더 좋은 box를 predict하고자 하였음. > k-mean clustering 사용하여, training set에서
              • d(box, centroid) = 1-IOU(box, centroid)
                • centroid에 대한 euclidean distance를 사용하면 큰 box에 대해 error가 더 커지는 문제 그래서 IOU 개념을 도입 그래서 5개(K)를..
            • direct location prediction : 기존 rpn anchor는 box의 x, y 값이 아무곳에서나 갈수 있었다. instability 하다. 그래서 이를 방지하기 위해 gt안에 존재하는 box 안에서만 가도록함.
        • ssd 개념 > 1% 개념 도입
          • 앞쪽 cnn feature map를 사용
            • 앞쪽은 작은 물체를 잘 감지한다고 알려있음.
          • 위에서 언급했듯이 마지막 feature map은 13x13인데, 바로 당연히 바로 앞의 feature map은 26x26 feature map이다. 이를 13x13과 concat하여 검출을 시도
            image
        • multi-scale training
          • 멀티 사이즈 학습이 가능하다. 그 이유는 위에서 언급했던거처럼 fc layer를 없앴기 때문. > 다양한 input size를 받을수 있다.
          • 10 batch > {320, 352, ,,, 608} 사이즈에서 랜덤하게 선택
          • 효과
            • low resolution에서 보다 좋은 performance 그리고 fast
            • high resolution에서 sota detection 좀 느리지만 여전히 real-time speed
              image
      • faster > v2
        • darknet 19
          • 3x3 filter > vgg 유사
          • global average pooling : 1x1 convolution > average pooling (1000)
            • Network In Network 차용
            • cnn의 대부분 fc 에서 가져가는 이방법을 쓰면 많이 줄어듬.
        • training
          image
      • yolo9000 > stronger
        image
        image
        image
        image
        image
        Uploading image.png…
        • 약간 억지로 끼워맞추어 늘리는 느낌.~ㅎ
  • conclusion
    • v2 는 빠르고 정확하다.
    • 9000은 detection 과 classification사이에 데이터 사이즈를 합치는데 그 의미
    • segmentation 분야도 시도~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant