> ## Documentation Index
> Fetch the complete documentation index at: https://0x38a.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Vehicle Features

> OpenCV와 YOLO를 활용한 차량 주행 보조 기능 구현 프로젝트.

OpenCV와 YOLO를 활용해 차량 주행 영상에서 차선 이탈, 전방 차량 출발, 보행자 및 차량 근접 감지 기능을 구현했습니다.

<Frame>
  <img src="https://mintcdn.com/0x38a/g-1hLDU267VcSxbl/images/vehicle/lanedeparture.png?fit=max&auto=format&n=g-1hLDU267VcSxbl&q=85&s=3147702b398ee52b04e280a136b4ab1a" alt="Vehicle lane departure detection" width="720" height="480" data-path="images/vehicle/lanedeparture.png" />
</Frame>

## Overview

| Field      | Value                                                          |
| ---------- | -------------------------------------------------------------- |
| Period     | 2022.10 - 2022.12                                              |
| Domain     | Computer Vision                                                |
| Repository | [VehicleFeatures](https://github.com/choihjin/VehicleFeatures) |
| Result     | ADAS-style 영상 감지 기능 구현                                         |

## My role

* OpenCV와 YOLO를 활용한 객체 검출 및 추적 알고리즘 구현
* Hough Transform 기반 차선 검출 및 이탈 판단
* 실시간 영상 처리와 경고 로직 구현

## Features

<Columns cols={3}>
  <Card title="Lane departure" img="https://mintcdn.com/0x38a/g-1hLDU267VcSxbl/images/vehicle/lanedeparture.png?fit=max&auto=format&n=g-1hLDU267VcSxbl&q=85&s=3147702b398ee52b04e280a136b4ab1a" width="720" height="480" data-path="images/vehicle/lanedeparture.png">
    Hough Transform으로 차선을 검출하고 이탈 지속성을 판단합니다.
  </Card>

  <Card title="Start moving" img="https://mintcdn.com/0x38a/g-1hLDU267VcSxbl/images/vehicle/startmoving.png?fit=max&auto=format&n=g-1hLDU267VcSxbl&q=85&s=b77ff793600172e730fe4ce0711b3726" width="720" height="480" data-path="images/vehicle/startmoving.png">
    YOLO로 전방 차량 크기 변화를 감지해 출발 알림을 제공합니다.
  </Card>

  <Card title="Nearby object" img="https://mintcdn.com/0x38a/g-1hLDU267VcSxbl/images/vehicle/humandetect.png?fit=max&auto=format&n=g-1hLDU267VcSxbl&q=85&s=e8fd9a8129f5d4f424753a2d39421669" width="720" height="480" data-path="images/vehicle/humandetect.png">
    보행자와 차량 근접도를 기반으로 경고를 표시합니다.
  </Card>
</Columns>

## Core stack

| Area            | Stack        |
| --------------- | ------------ |
| Computer Vision | OpenCV, YOLO |
| Language        | C++          |

## Detection logic

* 차선 각도를 기준으로 좌우 차선을 분리합니다.
* 5프레임 이상 이탈 상태가 지속되면 차선 이탈 경고를 표시합니다.
* YOLO bounding box 크기 변화를 기준으로 전방 차량 출발을 감지합니다.
* 차량과 보행자의 bounding box 크기를 기준으로 근접 경고를 표시합니다.
