자율주행

👀 Day 15: 객체 검출 기본 (Haar Cascade, HOG + SVM)

Tech Knowledge Note 2025. 9. 11. 21:00
반응형

안녕하세요! ✨
앞서 Day 14에서는 OpenCV를 활용한 차선 검출 실습을 진행했습니다.
오늘은 자율주행과 컴퓨터 비전에서 가장 중요한 기술 중 하나인 객체 검출(Object Detection) 의 기초를 배워보겠습니다.

객체 검출 기본 (Haar Cascade, HOG + SVM)


🔍 객체 검출이란?

객체 검출은 이미지나 영상 속에서 사람, 차량, 신호등, 표지판 등 특정 객체를 찾아내는 기술입니다.
자율주행차에서는 보행자 안전, 차량 인식, 교통 표지판 판별 등에 핵심적으로 사용됩니다.

👉 오늘은 대표적인 전통 알고리즘 두 가지를 다뤄봅니다.

  1. Haar Cascade Classifier
  2. HOG + SVM (Histogram of Oriented Gradients + Support Vector Machine)

📡 1. Haar Cascade Classifier

OpenCV에서 제공하는 Haar Cascade는 머신러닝 기반 객체 검출 기법입니다.

  • 특징(Features): 사각형 영역 내 픽셀 밝기 차이를 이용
  • 훈련 데이터: 수천 장의 양성(Positive) & 음성(Negative) 이미지로 학습
  • 장점: 빠르고 가볍다
  • 단점: 복잡한 배경에서는 정확도가 낮음

OpenCV 코드 예제

python
 
import cv2

# 얼굴 검출용 Haar Cascade 로드
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')

img = cv2.imread('people.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

faces = face_cascade.detectMultiScale(gray, 1.3, 5)

for (x, y, w, h) in faces:
    cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)

cv2.imshow('Detected Faces', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
 
👉 결과: 이미지 속 사람 얼굴을 사각형 박스로 표시

📡 2. HOG + SVM

HOG(Histogram of Oriented Gradients)는 이미지의 방향성 특징(Gradient)을 추출하는 방법입니다.
SVM(Support Vector Machine)은 이를 학습해 객체 여부를 판별합니다.

  • 장점: 보행자 검출(Pedestrian Detection)에 강점
  • 단점: 딥러닝 대비 정확도는 낮지만, 여전히 빠른 검출에 활용

OpenCV 코드 예제

python
 
import cv2

# 보행자 검출기 초기화 (HOG + SVM)
hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())

img = cv2.imread('street.jpg')

# 보행자 검출
(rects, weights) = hog.detectMultiScale(img, winStride=(4, 4), padding=(8, 8), scale=1.05)

for (x, y, w, h) in rects:
    cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2)

cv2.imshow('Detected Pedestrians', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
 
👉 결과: 도로 위 보행자를 녹색 사각형 박스로 검출

🚘 자율주행에서의 의미

  • Haar Cascade: 얼굴, 신호등, 표지판 검출
  • HOG + SVM: 보행자 인식, 도로 안전 시스템
  • 딥러닝 등장 전까지 핵심 기술로 활용되었으며, 지금도 가볍고 빠른 검출이 필요한 곳에서 쓰임

📌 정리

  • 객체 검출은 자율주행의 안전과 인식의 기초
  • Haar Cascade: 빠르고 간단하지만 배경에 약함
  • HOG + SVM: 보행자 검출에 강점, 딥러닝 이전 세대의 대표적 방법
  • 현재는 딥러닝 기반(YOLO, Faster R-CNN 등)으로 확장되지만, 기초 알고리즘 이해는 여전히 중요
반응형

🚀 다음 글 예고

다음 글에서는 [Day 16: 초음파 센서 원리 및 주차 보조 사례] 를 다룹니다.
자율주행차에서 근거리 탐지와 주차 지원에 사용되는 초음파 센서의 원리를 살펴보겠습니다.


✅ 오늘 글이 도움이 되셨다면 좋아요와 공유 부탁드립니다.

반응형