Object Detection
1. 객체
2. 객체 감지는 감지하려는 객체 외부의 경계 상자 식별입니다.
3. 거의 모든 카메라 앱에서 볼 수 있는 얼굴 감지는 물체 감지의 완벽한 예입니다.
4. 이미지가 고양이인지 아닌지를 나타내는 대신 Object Detection은 질문에 답합니다. "고양이가 어디 있니"
History of Object Detection - HAAR Cascade Classifiers
1. 물체 감지 알고리즘은 Computer Vision의 초기부터 사용되어 왔습니다 (최초의 좋은 시도는 1990 년대였습니다).
2. 그러나 객체 감지의 첫 번째 성공적인 구현은 2001 년 Viola-Jones가 얼굴 감지 알고리즘에 사용하는 Haar Cascade Classifier를 도입한 것입니다. 매우 빠르고 사용하기 쉬운 감지, 충분하지만 정확도는 떨어짐
3. Haar 기능을 일련의 계단식 분류기로 통합하고 일련의 단계를 사용하여 얼굴이 감지되었는지 확인합니다.
4. Haar casades는 매우 효과적이지만 개발, 훈련 및 최적화하기가 어렵습니다.
Histogram of Gradients and SVM sliding Window Detectors
1. 슬라이딩 윈도우는 직사각형 추출기 창 형태로 이미지의 조각을 하나씩 추출하는 방법입니다.
2. 각 창에서 그라디언트 히스토그램 (HoGs)을 컴퓨터 하고 감지하려는 물체와 얼마나 가깝게 일치하는지 계산합니다.
3. SVM은 일반적으로 HoG 기능을 분류하는 데 사용됩니다.
Previous Object Detection Methods are Simply Manual Feature Extraction combined with Sliding Windows
1. 아시다시피 Haar Cascade Classifiers 및 HoG + SVM과 같은 이전 방법은 기본적으로 슬라이딩 창 사용과 결합된 수동 기능 추출 방법입니다.
2. CNN과 함께 슬라이딩 윈도우 방법을 사용하여 약간의 복잡성을 제거할 수 있지만 다음과 같은 문제가 여전히 발생합니다.
- 이미지 전체의 슬라이딩 창을 사용하면 단일 이미지에 대해 수십만 개의 분류가 수행됩니다.
- 크기 조정 문제, 어떤 크기의 창을 사용합니까? 피라미드가 충분히 견고합니까?
- 윈도가 우리가 설정 한대로 정의되지 않으면 어떻게 될까요? 다른 비율의 창을 사용합니까? 이것이 큰 이미지에 필요한 수백만 개의 분류로 어떻게 확장되는지 쉽게 확인할 수 있습니다.
Histogram of Gradients (HoGs)
1. HOG는 객체 감지에 널리 성공적으로 사용된 기능 설명자입니다.
2. 각각이 이미지의 세그먼트를 나타내는 특징 벡터 세트와는 반대로 객체를 단일 특징 벡터로 나타냅니다.
3. HOG는 종종 SVM (support vector machine) 분류기와 함께 사용되며, 계산된 각 HOG 설명자는 객체가 발견되었는지 여부를 확인하기 위해 SVM 분류기에 공급됩니다.
Histogram of Gradient (HoGs) step by step
1. 8 x 8 픽셀 감지 창 또는 셀 (녹색)을 사용하여 각 픽셀에서 그라디언트 벡터 또는 가장자리 방향을 계산합니다.
2. 이렇게하면 히스토그램으로 표현되는 64 (8x8) 그래디언트 벡터가 생성됩니다.
3. 그런 다음 각 셀은 각도 빈으로 분할되며 각 빈은 기울기 방향 (예 : x, y)에 해당합니다. Dalal 및 Triggs 논문에서는 0-180 ° (각 빈당 20 °) 9 개의 빈을 사용했습니다.
4. 이는 64 개의 벡터를 9 개의 값으로 효과적으로 줄입니다.
5. 그래디언트 크기를 저장하므로 변형에 상대적으로 영향을 받지 않습니다.
6. 그런 다음 그라디언트를 정규화하여 조명 변경, 즉 Brigthness 및 Contrast에 대한 불변성을 보장합니다. 예 : 오른쪽 이미지에서 벡터를 기울기 크기로 나누면 모두 0.70이 됩니다. 이것은 정규화입니다.
7. 개별 창 셀 정규화 대신 블록 정규화라는 방법이 사용됩니다. 이것은 인접한 블록을 고려하므로 이미지의 더 큰 세그먼트를 고려하여 정규화합니다.
Regions with CNNs or R-CNNs
2014 년 University College Berkeley의 연구원이 소개 한 R-CNN은 PASCAL VOC Challenge (객체 감지 테스트 용 imageNet)에서 훨씬 더 높은 성능을 얻었습니다.
R-CNNs Principles(원칙)
1. R-CNN은 경계 상자를 제안하고 추출된 상자를 이미지 분류기에 전달하여 슬라이딩 창으로 이전에 수행 한 철저한 검색을 해결하려고 시도했습니다.
2. 이러한 경계 상자 제안을 어떻게 수행합니까? 선택적 검색 알고리즘을 사용합니다.
Selective Search(선택적 검색)
선택적 검색은 색상 / 텍스처와 같은 유사한 영역을 결합하여 이미지를 그룹으로 분할하고 이러한 영역을 "흥미로운"경계 상자로 제안합니다.
R-CNN - Tightening of Boxes
1. 첫 번째 지역 제안이 분류 된 후 간단한 선형 회귀를 사용하여 더 엄격한 경계 상자를 생성합니다.
2. 그러나 좋은 상자는 무엇입니까?
Remember our Intersection over Union (loU) Metric
1. 일반적으로 0.5 이상의 loU는 허용되는 것으로 간주됩니다.
2.loU가 높을수록 더 나은 예측
3.loU는 본질적으로 중첩의 척도입니다.
Mean Average Precision (mAP) 평균 정밀도(mAP)
1. 0.5의 loU는 긍정적 인 결과로 간주되었습니다. 같은 물체에 대해 여러 개의 상자가 예측된 경우 (아래 참조) 이것은 물체 감지기가 같은 물체에 있는 상자를 겹치는 일반적인 문제입니다.
2. 아래 그림에는 4 개의 예측 상자 (빨간색)가 있으며 하나는 최고 (빨간색 점선)입니다. 따라서 True-Positive 1 개와 False-Positive 3 개가 있습니다.
Non-Maximum Suppression
1. 겹치는 경계 상자를 제공하여 mAP 점수를 향상시키는 데 사용되는 한 가지 기술입니다.
2. STEP1-각 상자와 관련된 최대 확률 (예 : 자동차와 같은 클래스에 속한 개체의 확률)을 확인합니다.
3. 2 단계-겹침이 높은 경계 상자 또는 가능성이 높은 상자가있는 loU 억제
speeding up Region Proposal
1. 선택적 검색은 이미지에서 추출 된 기능에 의존합니다. 대신 지역 제안을 수행하기 위해 이러한 기능을 재사용하면 어떨까요?
2. 그것은 Faster R-CNN을 매우 효율적으로 모드 화한다는 통찰력이었습니다.
Region Proposals with Faster R-CNNs
- 더 빠른 R-CNN은 CNN의 기능 위에 완전한 킨볼 루션 네트워크를 추가하여 지역 제안 네트워크를 생성합니다.
- 논문의 저자는 "지역 제안 네트워크는 CNN의 기능 위에 창을 슬라이드 합니다. 각 창 위치에서 네트워크는 앵커 당 점수와 경계 상자를 출력합니다 (따라서 k는 앵커 수인 경우 4k 상자 좌표). " https://arxiv.org/abs/1506.01497
- 이 슬라이딩 윈도우를 통과할 때마다 k 개의 잠재적 경계 상자 와이 상자가 얼마나 좋은지에 대한 점수 또는 신뢰도를 출력합니다.
Mask R-CNNs - Pixel Level Segmentation
- 마스크 R-CNN은 객체 감지 및 분류를 세분화와 결합하는 것을 목표로합니다.
- 이전에 살펴본 것처럼 세분화는 위 이미지에서 볼 수 있듯이 픽셀 수준 당 개체의 레이블링입니다.
Mask R-CNNs
- 마스크 R-CNN은 감지된 경계 상자의 객체에 대해 이진 마스크가 생성되는 Faster R-CNN의 확장입니다.
Mask RCNN RoI Align
- 마스크 출력은 CNN 추출 기능을 사용하여 이진 마스크를 만듭니다.
- 이 논문의 저자는 어떻게 이것을 달성했습니까?
- RoIPool의 기능 맵이 원본 이미지의 영역에서 잘못 정렬되었기 때문에 RoIPool 대신 RoIAlign을 사용했습니다.
Mapping a Region of interest onto a Feature Map
- 이제 100 x 100 이미지가 32 x 32 기능 맵에 매핑됩니다. 따라서 원본 이미지의 20 x 20 창은 Feature Map에서 6.4 x 6.4에 매핑됩니다.
- 그러나 RoIPool은 픽셀 맵을 6 x 6으로 반올림하여 정렬 불량을 유발합니다.
- 그러나 RoIAlign은 쌍 선형 보간을 사용하여 픽셀 6.4가 무엇인지 파악합니다.
Examples of Mask R-CNN segmentation and classifying
'opencv' 카테고리의 다른 글
Semantic Segmentation for Self-Driving Cars (0) | 2021.05.16 |
---|---|
Self-Driving Cars (SDC) (0) | 2021.05.14 |
OpenCV Bilateral Filtering (0) | 2021.04.30 |
OpenCV MedianBlur (0) | 2021.04.30 |
OpenCV Gaussian (0) | 2021.04.30 |