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

YOLO: Real-Time Object Detection #5

Open
chullhwan-song opened this issue Jun 24, 2018 · 1 comment
Open

YOLO: Real-Time Object Detection #5

chullhwan-song opened this issue Jun 24, 2018 · 1 comment

Comments

@chullhwan-song
Copy link
Owner Author

chullhwan-song commented Jun 24, 2018

  • YOLO

    • 개인적으로 faster rcnn이나 ssd와 비교해볼때, 성능 자체는 낮을 수 있으나, ssd는 yolo 성능에 많은 영향을 받았고, 알고리즘 자체가 심플하면서 간결하다..초기에 이게 되나?란 생각을 하면서 신기하게 여겼던 연구
    • 장점
      • 매우 알고리즘이 심플
      • 매우 빠르다.
      • background에 대한 error가 fast rcnn보다 상대적으로 적다 (false positive가 적다)
    • 단점
      • 빠른대신 감지율이 낮다(ver2에선 이를 해결)
      • 작은 오브젝트에 대해서는 검출이 잘 안된다. - grid 기반
  • 알고리즘

    • faster rcnn류와는 다르게 box, class관련에서 따로 보지 않고(rpn), 한개의 문제로 봄.
    • single regression problem
    • 즉, 하나의 network상에서 box에 대한 class를 계산
  • 세부 알고리즘
    image

  • 위의 보시는거 와 같이, 하나의 network에서 모든걸 판단

    • 마지막 layer만 다르고 일반 cnn과 같음. -> 신기함.
    • last layer에서,
      • 7x7 cell
      • B Bounding Box (B=2) : x, y, w, h (x B)
        • x, y 의 기준은 각 Cell 하나의 크기가 1이고, 그 각 하나의 Cell 기준으로 convert된 단위 = 0~1
        • w, h 는 이미지 사이즈로 normalized 된 scale = 0~1
      • Bounding Box에 대한 confidence : p(x B)
        • Pr(Object)*IOU
          • grid cell의 B개의 bounding box(bbox)가 존재
          • bbox안에 object가 존재하지 않는 다면, 0
          • IOU : predict box와 ground truth box 사이의 겹침여부 계산
      • predefined class prob(C=20) : c1, c2,,,,c20
        • 각 Cell에서는 클래스(C)의 confidence를 갖는다. 한 Cell마다 C=20개 갖음.
        • Pr(class|Objects)
      • test time에서, 위의 두개의 multiply
        • class-specific-confidence score = Pr(class|Objects) x Pr(Object)*IOU
        • 아래의 infer1~4의 그림은 이를 설명하고 있다.
          infer-1
          image
          infer-2
          image
          infer-3
          image
          infer-4
          image
          infer-5 :
          image
  • 다시 위 내용을 정리해주는 그림
    image

  • paper 2.3장 Inference = infer-5

    • 최종적으로 98(7x7x2)box를 얻음. -> nmx(Non-Maxima Suppression)
      • nmx : 실제 영역에서, 다양한 형태의 감지된 roi가 발생하는데 이를 하나로 묶어주는 알고리즘
  • training

    • 448x448 input
    • last layer에서 class prob & bbox 예측
    • box 정보 scale은 위에서 설명
    • leaky rectified linear activation
    • 학습은 최종 loss function이 그 학습에서 핵심, 이외는 일반 cnn과 다를바 없음.

image

  • Parameter 설명

    • image : 오브젝트가 포함되어 있을경우의 confidence = 5
    • image : 오브젝트가 포함되어 있지 않을경우의 confidence = 0.5
    • image : 오브젝트가 그 셀에 존재 = 0 or 1
    • image : 오브젝트가 그 셀에 존재하지 않을때 = 0 or 1
      * training
    • dropout = 0.5
    • data argumentation
      • random scaling & translation of up to 20% original size
  • result

    • 속도
      image
  • 정확도
    image

  • 이후 2016년 말쯤~ Yolo2

    • Batch Normalization, High Resolution Classifier(input size의 크기 224x224->448x448), Convolutional With Anchor Boxes( faster rcnn 차용) 등등사용하여, SSD나 faster rcnn 성능에 비등. 속도는 좀 느려짐(하지만, 기존 localization 알고리즘보다는 빠름)
  • 이후 2018년 Yolo3 발표

Ref

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