전통문화대전망 - 전통 미덕 - YOLO 시리즈 타겟 프로브 -YOLO V 1

YOLO 시리즈 타겟 프로브 -YOLO V 1

YOLO v 1: 한 번만 보세요: 통일된 실시간 물체 감지

YOLO v2:YOLO9000: 더 좋고, 더 빠르고, 더 강합니다

YOLO v3:YOLOv3: 증분 개선

최근 몇 년 동안 표적 탐지 알고리즘은 큰 돌파구를 만들었습니다. 유행하는 알고리즘은 두 가지 범주로 나눌 수 있다. 하나는 지역 제안에 기반한 R-CNN 알고리즘 (R-CNN, FAST R-CNN, FAST R-CNN) 으로 2 단계입니다. 먼저 선택적 검색 또는 CNN 네트워크 (RPN) 를 사용하여 영역 권장 사항을 생성한 다음 영역 권장 사항을 분류하고 회귀해야 합니다. 다른 하나는 Yolo, SSD 등의 1 단계 알고리즘으로 하나의 CNN 네트워크만 사용하여 서로 다른 목표의 범주와 위치를 직접 예측합니다. 첫 번째 방법은 더 정확하지만 속도가 느리지만 두 번째 알고리즘은 더 빠르지만 정확도가 낮습니다. 여기서 우리는 Yolo-v 1 버전 알고리즘에 대해 이야기하고 있습니다. 이 알고리즘은 후속 SSD 알고리즘보다 성능이 떨어지지만, Yolo 도 지속적으로 개선되어 Yolo9000 과 YOLO v3 알고리즘이 만들어졌습니다.

전통적인 방법은 슬라이딩 윈도우 방법을 사용하는 경우가 많습니다. 슬라이딩 윈도우 대상 탐지 알고리즘의 아이디어는 매우 간단하며 감지 문제를 이미지 분류 문제로 변환합니다. 기본 원칙은 크기와 비율 (가로세로비) 이 다른 창을 이용하여 전체 그림을 일정한 단계로 슬라이딩한 다음 해당 영역의 이미지를 분류하여 전체 그림을 감지하는 것입니다. 예를 들어, DPM 은이 아이디어를 사용합니다. 하지만 이 방법에는 감지할 대상의 크기를 모르기 때문에 크기와 비율이 다른 창을 설정하여 슬라이딩해야 한다는 치명적인 단점이 있습니다. 적절한 단계를 선택해야 합니다. 그러나 이렇게 하면 많은 하위 영역이 생성됩니다. 모든 하위 영역은 분류자를 거쳐야 예측할 수 있습니다. 이를 위해서는 많은 계산이 필요하므로 분류기가 너무 복잡해서는 안 됩니다. 속도를 보장해야 하기 때문입니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 스포츠명언) 솔루션 중 하나는 R-CNN 의 개선 전략인 하위 영역의 수를 줄이는 것입니다. 선택적 검색 방법을 사용하여 대상을 포함할 가능성이 가장 높은 영역 권장 사항을 찾습니다. 실제로 많은 하위 영역을 걸러내는 휴리스틱 방법으로 볼 수 있어 효율성이 향상됩니다.

CNN 분류기를 사용하는 경우 슬라이딩 창은 시간이 많이 걸립니다. 하지만 컨볼 루션 연산의 특징과 함께 CNN 을 사용하여 보다 효율적인 슬라이딩 창 방법을 구현할 수 있습니다. 여기서 소개할 것은 전권적 접근법이다. 간단히 말해서 컨볼 루션 레이어는 그림과 같이 네트워크의 전체 연결 레이어를 대체합니다. 그림 크기를 16x 16 으로 입력합니다. 일련의 컨볼 루션 연산을 거쳐 2x2 의 특징도를 추출했지만, 이 2x2 그래프의 각 요소는 원본 그림에 하나씩 대응한다. 그림과 같이 파란색 메시는 파란색 영역에 해당하며 원래 그림에서 크기가 14x 14 인 창을 슬라이딩하는 것과 같으며 단계는 2, * * 입니다. 최종 출력 채널 수는 4 개이며 네 가지 범주의 예측 확률 값으로 볼 수 있으므로 CNN 계산을 한 번에 슬라이딩 창이 있는 모든 하위 영역의 분류 예측을 수행할 수 있습니다. 이것은 실제로 과식 알고리즘의 아이디어입니다. CNN 이 이런 효과를 낼 수 있는 이유는 컨볼 루션 연산의 특성, 즉 화면의 공간 위치 정보가 변하지 않기 때문이다. 컨볼 루션 과정에서 그림의 크기가 감소했지만 위치 대응은 그대로 유지됩니다. 이 사상은 R-cNN 에서도 참고되어 빠른 R-CNN 알고리즘이 탄생했다.

슬라이딩 창의 계산은 줄일 수 있지만 고정된 크기와 단계의 창에는 충분하지 않습니다. Yolo 알고리즘은이 문제를 잘 해결합니다. 슬라이딩 창이 아니라 원래 그림을 서로 일치하지 않는 작은 사각형으로 직접 나눈 다음 컨볼 루션을 통해 이 크기의 특징도를 생성합니다. 위의 분석을 바탕으로, 우리는 특징도의 각 원소도 원도에 해당하는 작은 정사각형이라고 생각할 수 있으며, 그런 다음 각 요소를 사용하여 그 중심점이 이 이 작은 정사각형에 있는 목표를 예측할 수 있습니다. 이것은 Yolo 알고리즘의 유치한 생각이다.

일반적으로 Yolo 알고리즘은 단일 CNN 모델을 사용하여 완벽한 목표 탐지를 수행합니다. 전체 시스템 그림: 먼저 입력 그림 크기를 448x448 로 조정한 다음 CNN 네트워크로 전송한 다음 감지된 대상을 네트워크 예측의 결과로 처리합니다. R-CNN 알고리즘과 비교했을 때, 그것은 통일된 프레임워크로, 속도가 더 빠르며, Yolo 의 교육 과정도 철저하다.

특히, Yolo 의 CNN 네트워크는 입력 화면을 하나의 그리드로 나눈 다음 각 셀이 해당 중심점이 그리드에 떨어지는 대상을 감지합니다. 그림과 같이 개 대상의 중심이 왼쪽 아래 구석에 있는 셀 안에 떨어지는 것을 볼 수 있으므로 이 셀은 개를 예측하는 역할을 합니다. 각 셀은 B 개의 경계 상자와 경계 상자의 신뢰도 점수를 예측합니다. 신뢰도란 사실 두 가지 측면을 포함한다. 하나는 포위 상자에 목표가 포함될 가능성이고, 다른 하나는 포위 상자의 정확성이다. 전자는 경계 상자가 배경인 경우 (즉, 대상이 포함되지 않은 경우) 로 기록됩니다. 경계 상자에 대상이 포함된 경우. 경계 상자의 정확도는 예측 상자와 지면 실제 값 사이의 IOU (합집합의 교차) 로 표현될 수 있으며 IOU 로 표시됩니다. 그래서 자신감은 다음과 같이 정의 될 수 있습니다.

많은 사람들이 Yolo 의 신뢰도를 포위 상자에 목표가 포함될 확률로 볼 수 있지만, 실제로는 두 가지 요인의 산물이며, 예측 상자의 정확도도 그 안에 반영된다. 경계 상자의 크기와 위치는 (x, y, h, w) 의 네 가지 값으로 나타낼 수 있습니다. 여기서 (x, y) 는 경계 상자의 중심 좌표이고 w 와 h 는 경계 상자의 폭과 높이입니다. 또한 중심 좌표의 예측값 (x, y) 은 각 셀의 왼쪽 위 좌표 점을 기준으로 한 오프셋 값이며 단위는 셀 크기를 기준으로 합니다. 셀의 좌표 정의는 그림과 같습니다. 상자를 둘러싸고 있는 W 와 H 의 예측값은 전체 화면을 기준으로 한 종횡비이므로 이론적으로 네 가지 요소의 크기가 있어야 합니다. 일반적으로 신뢰도 임계값을 설정합니다. 즉, 신뢰도가 이 임계값보다 작은 상자는 필터링되므로 이 레이어 처리 후 나머지는 신뢰도가 높은 예측 상자입니다. 마지막으로 이러한 예측 프레임에 NMS 알고리즘을 사용하면 최종 결과가 테스트 결과입니다. 한 가지 주목할 점은 NMS 가 모든 예측 프레임을 동등하게 대하는지 아니면 각 범주를 구분하고 NMS 를 개별적으로 사용하는지 여부입니다. Ng 는 deeplearning.ai 에서 각 카테고리마다 NMS 를 단독으로 사용해야 한다고 말했지만 많은 구현을 보고 모든 상자는 동등하게 취급했다. 서로 다른 범주의 목표가 같은 위치에 나타날 확률이 낮을 수 있습니다.

위의 예측 방법은 매우 간단하고 명확해야 하지만, Yolo 알고리즘에는 다른 처리 아이디어 (적어도 C 소스 코드의 관점에서) 가 채택됩니다. 차이점은 먼저 NMS 를 사용한 다음 각 상자의 범주를 결정한다는 것입니다. 기본 프로세스는 그림과 같습니다. 98 개 상자의 경우 먼저 신뢰도 임계값보다 작은 값을 0 으로 분류한 다음 NMS 를 사용하여 신뢰도 값을 분류합니다. 여기서 NMS 처리 결과는 제거되지 않지만 신뢰도 값은 0 으로 분류됩니다. 마지막으로 각 상자의 범주를 결정하고 신뢰도 값이 0 이 아닐 때 테스트 결과를 출력합니다. 이 전략은 그다지 직접적이지는 않지만, Yolo 소스 코드는 이렇게 하는 것 같다. Yolo 의 논문에 따르면 NMS 알고리즘은 Yolo 의 표현에 큰 영향을 미치기 때문에 이 전략이 Yolo 에 더 좋을 것 같다.

Yolo 의 장단점을 요약해 보겠습니다. 첫 번째는 장점입니다. Yolo 는 CNN 네트워크를 사용하여 감지를 수행합니다. 단일 채널 전략입니다. 교육 및 예측은 모두 철저합니다. 따라서 Yolo 알고리즘은 비교적 간단하고 빠릅니다. 둘째, Yolo 가 전체 화면을 컨볼 루션했기 때문에 목표물을 감지할 때 시야가 넓어 배경을 잘못 판단하기가 쉽지 않다. 또한, Yolo 는 강력한 일반화 능력을 가지고 있으며, 마이그레이션을 할 때 모델은 견고하다.

Yolo 의 단점은 먼저 Yolo 의 셀당 두 개의 경계 상자만 예측하며 한 범주에 속한다는 것입니다. 작은 물건에 대해서는 Yolo 의 표현이 만족스럽지 않을 것이다. 이 분야의 향상은 SSD 에서 볼 수 있으며 SSD 는 멀티 스케일 유닛을 사용합니다. 더 빠른 R-CNN 도 볼 수 있습니다. 아나운서 박스를 사용하세요. Yolo 는 물체 가로세로비 방면의 일반화율이 낮기 때문에 비율이 비정상적인 물체를 찾을 수 없다. 물론 Yolo 포지셔닝이 정확하지 않은 것도 큰 문제다.

참조 링크

YOLO 알고리즘의 원리와 구현

/developer/아티클/1058057