← 메인 페이지로 돌아가기
Vehicle Features
2022.10 ~ 2022.12

Vehicle Features

OpenCV와 YOLO를 활용한 차량 주행 보조 기능 구현 프로젝트입니다. 차선 이탈 감지, 전방 차량 출발 감지, 보행자 및 차량 근접 감지 기능을 제공합니다.

GitHub →

주요 기능

차선 이탈 감지 및 경고

Hough Transform을 이용한 차선 검출, 좌우 차선 각도 분석, 차선 이탈 지속성 판단을 통한 안전한 주행 지원

전방 차량 출발 감지 및 알림

YOLO를 이용한 차량 객체 검출, 차량 크기 변화 모니터링, 정지 상태에서의 차량 이동 감지로 교통 흐름 개선

보행자 및 차량 근접 감지 및 경고

YOLO를 이용한 객체 검출, 객체 크기 기반 근접도 판단, 차량과 보행자에 대한 차별화된 경고 제공

기술 스택

Computer Vision

OpenCV
YOLO

Programming Language

C++

핵심 알고리즘/기술

차선 이탈 감지

Hough Transform을 이용한 차선 검출, 좌우 차선 각도 분석 (30-60도, 120-150도), 차선 이탈 지속성 판단 (5프레임 이상)

전방 차량 출발 감지

YOLO를 이용한 차량 객체 검출, 차량 크기 변화 모니터링, 정지 상태에서의 차량 이동 감지

보행자/차량 근접 감지

YOLO를 이용한 객체 검출, 객체 크기 기반 근접도 판단, 차량: 너비 130px 또는 높이 110px 이상, 보행자: 높이 120px 이상

개발자 역할

컴퓨터 비전 엔지니어

OpenCV와 YOLO를 활용한 객체 검출 및 추적 알고리즘 구현, 실시간 영상 처리 파이프라인 구축

결과 예시

차선 이탈 감지

차선 이탈 시 'Lane departure!' 경고 메시지 표시

차선 이탈 감지 1

전방 차량 출발 감지

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

전방 차량 출발 감지 1

보행자/차량 근접 감지

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

보행자/차량 근접 감지 1보행자/차량 근접 감지 2

프로젝트 구조

프로젝트 구조

모듈화된 구조로 각 기능의 독립적인 개발과 테스트가 가능


VehicleFeatures/
├── main.cpp          # 메인 소스 코드
├── YOLO/             # YOLO 모델 파일
│   ├── yolov4-tiny.cfg
│   ├── yolov4-tiny.weights
│   └── coco.names
└── src/              # 테스트 사진 및 기타 리소스
    ├── lanedeparture.png
    ├── startmoving.png
    ├── humandetect.png
    └── cardetect.png

설치 및 실행

환경 요구사항

  • OpenCV 4.x
  • YOLO v4-tiny
  • C++ 컴파일러

설치 방법

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

주의사항

  • OpenCV 4.x가 필요합니다
  • YOLO v4-tiny 모델 파일이 필요합니다