Vehicle Features
OpenCV와 YOLO를 활용한 차량 주행 보조 기능 구현 프로젝트입니다. 차선 이탈 감지, 전방 차량 출발 감지, 보행자 및 차량 근접 감지 기능을 제공합니다.
차량 주행 영상에서 차선 이탈, 전방 차량 출발, 근접 객체를 감지하는 ADAS 기능을 구현했습니다.

My Contribution
OpenCV와 YOLO를 활용한 객체 검출, 차선 검출, 실시간 경고 로직 구현을 담당했습니다.
컴퓨터 비전 엔지니어
OpenCV와 YOLO를 활용한 객체 검출 및 추적 알고리즘 구현, 실시간 영상 처리 파이프라인 구축
What It Does
차선 이탈 감지 및 경고
Hough Transform을 이용한 차선 검출, 좌우 차선 각도 분석, 차선 이탈 지속성 판단을 통한 안전한 주행 지원
전방 차량 출발 감지 및 알림
YOLO를 이용한 차량 객체 검출, 차량 크기 변화 모니터링, 정지 상태에서의 차량 이동 감지로 교통 흐름 개선
보행자 및 차량 근접 감지 및 경고
YOLO를 이용한 객체 검출, 객체 크기 기반 근접도 판단, 차량과 보행자에 대한 차별화된 경고 제공
Technical Approach
차선 이탈 감지
Hough Transform을 이용한 차선 검출, 좌우 차선 각도 분석 (30-60도, 120-150도), 차선 이탈 지속성 판단 (5프레임 이상)
전방 차량 출발 감지
YOLO를 이용한 차량 객체 검출, 차량 크기 변화 모니터링, 정지 상태에서의 차량 이동 감지
보행자/차량 근접 감지
YOLO를 이용한 객체 검출, 객체 크기 기반 근접도 판단, 차량: 너비 130px 또는 높이 110px 이상, 보행자: 높이 120px 이상
Tech Stack
Computer Vision
- OpenCV
- YOLO
Programming Language
- C++
Results
차선 이탈 감지
차선 이탈 시 'Lane departure!' 경고 메시지 표시

전방 차량 출발 감지
전방 차량 출발 시 'Start Moving!' 알림 메시지 표시

보행자/차량 근접 감지
보행자/차량 근접 시 'Human/Car detected nearby!' 경고 메시지 표시


Project Structure
프로젝트 구조
모듈화된 구조로 각 기능의 독립적인 개발과 테스트가 가능
VehicleFeatures/
├── main.cpp # 메인 소스 코드
├── YOLO/ # YOLO 모델 파일
│ ├── yolov4-tiny.cfg
│ ├── yolov4-tiny.weights
│ └── coco.names
└── src/ # 테스트 사진 및 기타 리소스
├── lanedeparture.png
├── startmoving.png
├── humandetect.png
└── cardetect.pngInstallation
Requirements
- OpenCV 4.x
- YOLO v4-tiny
- C++ 컴파일러
Steps
sudo apt update && sudo apt install -y libopencv-dev wget https://raw.githubusercontent.com/AlexeyAB/darknet/master/cfg/yolov4-tiny.cfg -O YOLO/yolov4-tiny.cfg wget https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v4_pre/yolov4-tiny.weights -O YOLO/yolov4-tiny.weights g++ main.cpp -o main `pkg-config --cflags --libs opencv4` ./main
Notes
- OpenCV 4.x가 필요합니다
- YOLO v4-tiny 모델 파일이 필요합니다