← Back to Projects





2022.10 ~ 2022.12GitHub →
Vehicle Features
OpenCV와 YOLO를 활용한 차량 주행 보조 기능 구현 프로젝트입니다. 차선 이탈 감지, 전방 차량 출발 감지, 보행자 및 차량 근접 감지 기능을 제공합니다.
Features
차선 이탈 감지 및 경고
Hough Transform을 이용한 차선 검출, 좌우 차선 각도 분석, 차선 이탈 지속성 판단을 통한 안전한 주행 지원
전방 차량 출발 감지 및 알림
YOLO를 이용한 차량 객체 검출, 차량 크기 변화 모니터링, 정지 상태에서의 차량 이동 감지로 교통 흐름 개선
보행자 및 차량 근접 감지 및 경고
YOLO를 이용한 객체 검출, 객체 크기 기반 근접도 판단, 차량과 보행자에 대한 차별화된 경고 제공
Tech Stack
Computer Vision
OpenCVYOLO
Programming Language
C++
Core Technologies
차선 이탈 감지
Hough Transform을 이용한 차선 검출, 좌우 차선 각도 분석 (30-60도, 120-150도), 차선 이탈 지속성 판단 (5프레임 이상)
전방 차량 출발 감지
YOLO를 이용한 차량 객체 검출, 차량 크기 변화 모니터링, 정지 상태에서의 차량 이동 감지
보행자/차량 근접 감지
YOLO를 이용한 객체 검출, 객체 크기 기반 근접도 판단, 차량: 너비 130px 또는 높이 110px 이상, 보행자: 높이 120px 이상
My Role
컴퓨터 비전 엔지니어
OpenCV와 YOLO를 활용한 객체 검출 및 추적 알고리즘 구현, 실시간 영상 처리 파이프라인 구축
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 모델 파일이 필요합니다