본 프로젝트는 2024년도 겨울학기에 모본 주식회사와의 협력을 통해 진행된 산학 프로젝트로, 딥러닝과 실시간 영상 처리 기술을 활용하여 운전자 상태 감지 및 차선 이탈 방지 시스템을 개발하는 것을 목표로 합니다.
-
운전자의 졸음 상태 감지
- Dlib 기반 얼굴 랜드마크 검출 및 EAR(Eye Aspect Ratio) 분석 기법을 사용하여 졸음 상태를 판단.
- 일정 시간 이상 눈 감김 상태를 모니터링하여 실시간으로 경고 제공.
-
차선 이탈 감지
- YOLOPv2 모델을 활용하여 차량 주행 영상을 분석하고, 차선 이탈 여부를 실시간으로 감지.
- 차선 이탈 시 LED 경고 점등 시스템과 연동.
-
종합 경고 시스템 설계
- 운전자의 졸음 상태와 차선 이탈 상태를 통합적으로 판단.
- 아두이노 기반 부저 및 LED 경고 시스템과 연동하여 운전자에게 즉각적인 경고 제공.
- Dlib 라이브러리를 활용하여 얼굴 랜드마크를 검출.
- EAR 분석을 통해 눈 감김 상태를 판별하고, 5초 이상 지속될 경우 경고음 출력.
- 프로세스 코드 위치:
src/face_process/drowsiness_detection_master/drowsiness_detector.py
- 참고 코드 링크: Drowsiness Detection GitHub Repository
- YOLOPv2 모델을 사용하여 차선을 실시간으로 검출.
- ROI(Region of Interest) 내 차선 픽셀 분석을 통해 차선 이탈 여부를 판단.
- 프로세스 코드 위치:
src/lane_process/YOLOPv2/demo.py
- 참고 코드 링크: YOLOPv2 GitHub Repository
- Multiprocessing을 통해 졸음 감지와 차선 이탈 감지 프로세스를 독립적으로 실행.
- 감지 결과를 실시간으로 메인 프로세스에 통합.
- 아두이노와 UART 시리얼 통신을 통해 부저 및 LED 경고 장치를 제어.
- 메인 프로세스 코드 위치:
src/main.py
- 감지 결과를 기반으로 아두이노를 통해 부저와 LED를 제어.
- 졸음 상태일 경우 부저를 활성화하여 경고음을 출력.
- 차선 이탈 시 LED를 점등하여 시각적 경고 제공.
- 아두이노 코드 위치:
src/arduino/alert/alert.ino
- 운전자 상태와 도로 환경을 통합적으로 분석하여 사고를 사전에 방지.
- 실시간 경고 시스템을 통해 운전자의 주의 환기 및 안전 운전 지원.
⬆️ 코드 작동 예시