Back to Projects
Computer Vision2023.06 ~ 2023.12

Road Image De-identification

이미지 및 영상 내 번호판과 얼굴 정보를 자동으로 비식별화하는 딥러닝 기반 시스템입니다.

도로 이미지와 영상에서 번호판과 얼굴 영역을 자동 검출하고 비식별화하는 파이프라인을 구현했습니다.

Source
Road Image De-identification preview
DomainComputer Vision
Timeline2023.06 ~ 2023.12
Core Stack
PyTorchOpenCV

Problem

도로 영상을 연구나 서비스에 활용하려면 번호판과 사람 얼굴을 먼저 가려야 합니다. 촬영 분량이 많아 수작업 처리는 불가능했고, 주간과 야간의 화질 차이가 커서 한쪽 조건에서만 확인한 검출 성능은 그대로 신뢰하기 어려웠습니다.

Contribution

검출 모델 실험, blur 처리 로직 및 전체 파이프라인 통합을 담당했습니다.

  1. 차량 번호판 / 사람 얼굴 디텍션 모델 선정 및 실험

    DeeplabV3, YOLOv5-crowdhuman, YOLOv7 등 후보 검출 모델을 비교·선정하고 정량·정성 성능 평가, 오류 분석과 검출 임계값·blur kernel 등 추론·비식별화 파라미터 조정을 진행

  2. 디텍션 결과 기반 Blur 처리 파이프라인 구현

    디텍션된 Bounding Box 좌표를 기반으로 OpenCV blur 함수 적용, 번호판 및 머리 영역의 자동 추출 및 비식별화 처리 전체 로직 구현

  3. 전체 파이프라인 통합 개발

    이미지 및 영상 입력 → 디텍션 → Blur → 결과 저장의 전체 흐름 구현, CLI 기반 실행 스크립트 옵션 정리 및 예외 처리 로직 구현

Approach

  1. License Plate Detection & Blur

    사전학습된 DeepLabV3 세그멘테이션 모델로 번호판 영역을 검출하고 cv2.blur(ksize=(50,50))로 블러 처리

  2. Head Detection & Blur

    미세조정된 YOLOv5-CrowdHuman 모델로 머리 영역을 검출하고 cv2.blur(ksize=(100,100))로 블러 처리

  3. DeepLabV3 기반 번호판 Segmentation

    블랙박스 영상에서 번호판 영역을 정확하게 추출

  4. YOLOv5 기반 얼굴 검출 및 블러 처리

    영상 내 얼굴 영역을 자동으로 검출하고 블러 처리

  5. 이미지 및 영상 파일의 자동 비식별화 파이프라인

    다양한 입력 형식을 지원하는 자동화된 비식별화 처리

    이미지 및 영상 파일의 자동 비식별화 파이프라인
  6. CLI 기반 다중 입력, 디렉토리 처리 기능

    대량의 파일을 효율적으로 처리할 수 있는 CLI 인터페이스

Results

성능 평가

0.890
DeeplabV3 Precision
0.875
DeeplabV3 Recall
0.866
YOLOv5 Person Precision
0.712
YOLOv5 Person Recall
0.882
YOLOv5 Head Precision
0.656
YOLOv5 Head Recall

프로젝트 결과

주간/야간 조건별 정량·정성 평가 결과. 번호판 검출(Precision 0.890 / Recall 0.875) 대비 머리 검출 Recall(0.656)이 낮아, 촬영 조건과 객체 유형에 따른 성능 편차를 확인했습니다.

프로젝트 결과 1프로젝트 결과 2프로젝트 결과 3

Architecture

Languages & Frameworks

  • Python
  • PyTorch
  • OpenCV

ML Models

  • DeepLabV3
  • YOLOv5

Hardware

  • CUDA

프로젝트 구조

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


.
├── data/                # 입력 이미지/영상
├── license/             # 번호판 blur 처리 결과
├── output/              # 최종 결과 (번호판 + 머리 blur)
├── pytorch_licenseplate_segmentation/ # 번호판 모델
├── yolov5_crowdhuman/   # 머리 검출 모델
├── blur.py              # 메인 실행 파일
└── requirements.txt     # 의존 패키지 목록

Industry Collaboration

NC&

  • 실제 블랙박스 데이터 기반 검증 및 피드백 반영
  • 기업 요구사항에 맞춘 비식별화 성능 개선
  • 시스템 최적화 및 사용자 입력 기반 처리 기능 구현

Presentation

Road Image De-identification 발표 자료

Road Image De-identification 발표 자료

References

Setup

설치 및 실행 방법

Requirements

  • Python 3.11.5
  • PyTorch
  • OpenCV
  • CUDA 11.8+
  • cuDNN 8.7+

Steps

conda create -n blur_env python=3.11.5
conda activate blur_env
pip install -r requirements.txt
python blur.py

Notes

  • GPU 지원이 필요합니다
  • CUDA 11.8 이상이 필요합니다