ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HOG 보행자 검출
    컴퓨터 비젼(Computer Vision)/영상 분할과 객체 검출 2022. 2. 17. 18:16

    HOG(Historgram of Oriented Gradients)

    • feature로, 영상의 지역적 그래디언트 방향 정보를 특징 벡터로 사용
    • 다양한 객체 인식에서 활용됨
    • 논문

     

    HOG 알고리즘 동작 방법

    입력 영상 -> Crop -> 크기 정규화 64x128 -> 그라디언트 계산 -> 8x8 크기의 셀 분할 -> 각 셀마다 방향과 크기 성분을 이용하여 방향 히스토그램 계산 

     

    블록 히스토그램 구하기

    8x8 셀 4개를 하나의 블록으로 지정

    즉, 블록 하나의 크기는 16x16

    8픽셀 단위로 이동 (stride = 8)

    각 블록의 히스토그램 빈(bin) 개수는 4x9=36개

     

    특징 벡터의 차원

    하나의 부분 영상 패치에서의 특징 벡터 크기

    7x15x36 = 3780

     

    HOG Descriptor 객체 생성 및 보행자 검출을 위해 학습된 분류기 계수 불러오기

    cv2.HOGDescriptor() -> <HOGDescriptor obj>
    cv2.HOGDescriptor_getDefaultPeopleDetector() -> retval

    retval: 미리 훈련된 특징 벡터. np.ndarray, shape=(3781, 1), dtype=np.float32)

     

    SVM 분류기 계수 등록하기

    cv2.HOGDesciptor.setSVMDetector(svmdetector) -> None

    svmdetector: 선형 SVM 분류기를 위한 계수

     

    HOG 멀티스케일 객체 검출 함수

    cv2.HOGDescriptor.detectMultiScale(img, hitThreshold=None, winStride=None, padding=None, scale=None, finalThreshold=None, useMeanshiftGrouping=None) -> foundLocations, foundWeights

    img: 입력 영상. cv2.CV_8UC1 또는 cv2.CV_8UC3

    hitThreshold: 특징 벡터와 SVM 분류 평면까지의 거리에 대한 임계값

    winStride: 셀 윈도우 이동 크기. (0, 0) 지정 시 셀 크기와 같게 설정

    padding: 패딩 크기

    scale: 검색 윈도우 크기 확대 비율. 기본값은 1.05.

    finalThreshold: 검출 결정을 위한 임계값

    useMeanshiftGrouping: 겹쳐진 검색 윈도우를 합치는 방법 지정 플래그

    foundLocations: (출력) 검출된 사각형 영역 정보

    foundWeights: (출력) 검출된 사각형 영역에 대한 신뢰도(confidence)

     

     

    참조

    https://docs.opencv.org/4.x/d4/d11/group__objdetect__hog.html

    '컴퓨터 비젼(Computer Vision) > 영상 분할과 객체 검출' 카테고리의 다른 글

    캐스케이드 분류기  (0) 2022.02.17
    템플릿 매칭  (0) 2022.02.17
    모벤트 기반 객체 검출  (0) 2022.02.16
    영상 분할과 객체 검출  (0) 2022.02.16

    댓글

Designed by Tistory.