프로젝트 배경
1. 개요 (Overview)
이 프로젝트는 CCTV 영상에서 차량과 보행자를 실시간으로 탐지하여 교통 상황을 분석하고 이상 행동을 감지하기 위한 객체 탐지 시스템입니다. 목표는 높은 정확도를 유지하면서도 실시간 처리 및 vision 관련 서버 제작 업무와 model 학습 관련 경험을 시작합니다.
________________________________________
2. 사용 기술 (Technologies Used)
• 프로그래밍 언어: Python, C
• 라이브러리: YOLOv5, OpenCV, TensorFlow
• 데이터셋: COCO Dataset (차량 및 보행자 클래스 사용) 및 커스텀 CCTV 데이터
________________________________________
3. 접근 방식 (Approach)
(1) 데이터 수집 및 전처리
• 데이터셋: COCO 데이터셋에서 차량(Vehicle)과 보행자(Person) 클래스 10,000장 추출. 추가로 지역 CCTV에서 수집한 2,000장 영상으로 커스텀 데이터셋 생성.
• 전처리: 이미지 크기 조정(416x416), 밝기 조정, 데이터 증강(회전, 플립, 노이즈 추가).
• 라벨링: 자체 제작한 Tool로 annotation 작업 및 데이터 증강
(2) 모델 선택 및 설계
• YOLOv5s(Small) 모델을 기반으로 시작. 경량화와 속도를 고려해 선택.
• 사전 학습된 가중치(Pre-trained Weights)를 사용해 fine tunning 적용
(3) 학습 과정
• 하이퍼파라미터: 학습률, 배치 크기 Epoch weight decay등 조정
• 손실 함수: YOLO 기본 손실 함수(IoU Loss + Classification Loss), adam등 바꿔가며 적용
• 환경: local AI server에서 test 및 학습
(4) 평가 방법
• 메트릭: mAP@0.5 (Mean Average Precision), FPS (Frames Per Second).
________________________________________
4. 결과 (Results)
• 정량적 결과:
o mAP@0.5: 89.7% (차량 92%, 보행자 87%).
o FPS: Jetson Nano에서 25fps, 고사양 GPU에서 60fps 이상.
• 시각적 결과:
o 아래는 테스트 영상에서 차량과 보행자를 탐지한 스크린샷입니다.
이 프로젝트는 CCTV 영상에서 차량과 보행자를 실시간으로 탐지하여 교통 상황을 분석하고 이상 행동을 감지하기 위한 객체 탐지 시스템입니다. 목표는 높은 정확도를 유지하면서도 실시간 처리 및 vision 관련 서버 제작 업무와 model 학습 관련 경험을 시작합니다.
________________________________________
2. 사용 기술 (Technologies Used)
• 프로그래밍 언어: Python, C
• 라이브러리: YOLOv5, OpenCV, TensorFlow
• 데이터셋: COCO Dataset (차량 및 보행자 클래스 사용) 및 커스텀 CCTV 데이터
________________________________________
3. 접근 방식 (Approach)
(1) 데이터 수집 및 전처리
• 데이터셋: COCO 데이터셋에서 차량(Vehicle)과 보행자(Person) 클래스 10,000장 추출. 추가로 지역 CCTV에서 수집한 2,000장 영상으로 커스텀 데이터셋 생성.
• 전처리: 이미지 크기 조정(416x416), 밝기 조정, 데이터 증강(회전, 플립, 노이즈 추가).
• 라벨링: 자체 제작한 Tool로 annotation 작업 및 데이터 증강
(2) 모델 선택 및 설계
• YOLOv5s(Small) 모델을 기반으로 시작. 경량화와 속도를 고려해 선택.
• 사전 학습된 가중치(Pre-trained Weights)를 사용해 fine tunning 적용
(3) 학습 과정
• 하이퍼파라미터: 학습률, 배치 크기 Epoch weight decay등 조정
• 손실 함수: YOLO 기본 손실 함수(IoU Loss + Classification Loss), adam등 바꿔가며 적용
• 환경: local AI server에서 test 및 학습
(4) 평가 방법
• 메트릭: mAP@0.5 (Mean Average Precision), FPS (Frames Per Second).
________________________________________
4. 결과 (Results)
• 정량적 결과:
o mAP@0.5: 89.7% (차량 92%, 보행자 87%).
o FPS: Jetson Nano에서 25fps, 고사양 GPU에서 60fps 이상.
• 시각적 결과:
o 아래는 테스트 영상에서 차량과 보행자를 탐지한 스크린샷입니다.
프로젝트 성과
정량적 결과
• 정량적 결과:
o mAP@0.5: 89.7% (차량 92%, 보행자 87%).
o FPS: Jetson Nano에서 25fps, 고사양 GPU에서 60fps 이상.
• 시각적 결과:
o mAP@0.5: 89.7% (차량 92%, 보행자 87%).
o FPS: Jetson Nano에서 25fps, 고사양 GPU에서 60fps 이상.
• 시각적 결과:
핵심 기능
학습 과정
(3) 학습 과정
• 하이퍼파라미터: 학습률, 배치 크기 Epoch weight decay등 조정
• 손실 함수: YOLO 기본 손실 함수(IoU Loss + Classification Loss),
• 하이퍼파라미터: 학습률, 배치 크기 Epoch weight decay등 조정
• 손실 함수: YOLO 기본 손실 함수(IoU Loss + Classification Loss),
진행 단계
개발
2024.01.
(1) 데이터 수집 및 전처리
• 데이터셋: COCO 데이터셋에서 차량(Vehicle)과 보행자(Person) 클래스 10,000장 추출. 추가로 지역 CCTV에서 수집한 2,000장 영상으로 커스텀 데이터셋 생성
• 데이터셋: COCO 데이터셋에서 차량(Vehicle)과 보행자(Person) 클래스 10,000장 추출. 추가로 지역 CCTV에서 수집한 2,000장 영상으로 커스텀 데이터셋 생성
프로젝트 상세
1. 개요 (Overview)
이 프로젝트는 CCTV 영상에서 차량과 보행자를 실시간으로 탐지하여 교통 상황을 분석하고 이상 행동을 감지하기 위한 객체 탐지 시스템입니다. 목표는 높은 정확도를 유지하면서도 실시간 처리 및 vision 관련 서버 제작 업무와 model 학습 관련 경험을 시작합니다.
________________________________________
2. 사용 기술 (Technologies Used)
• 프로그래밍 언어: Python, C
• 라이브러리: YOLOv5, OpenCV, TensorFlow
• 데이터셋: COCO Dataset (차량 및 보행자 클래스 사용) 및 커스텀 CCTV 데이터
________________________________________
3. 접근 방식 (Approach)
(1) 데이터 수집 및 전처리
• 데이터셋: COCO 데이터셋에서 차량(Vehicle)과 보행자(Person) 클래스 10,000장 추출. 추가로 지역 CCTV에서 수집한 2,000장 영상으로 커스텀 데이터셋 생성.
• 전처리: 이미지 크기 조정(416x416), 밝기 조정, 데이터 증강(회전, 플립, 노이즈 추가).
• 라벨링: 자체 제작한 Tool로 annotation 작업 및 데이터 증강
(2) 모델 선택 및 설계
• YOLOv5s(Small) 모델을 기반으로 시작. 경량화와 속도를 고려해 선택.
• 사전 학습된 가중치(Pre-trained Weights)를 사용해 fine tunning 적용
(3) 학습 과정
• 하이퍼파라미터: 학습률, 배치 크기 Epoch weight decay등 조정
• 손실 함수: YOLO 기본 손실 함수(IoU Loss + Classification Loss), adam등 바꿔가며 적용
• 환경: local AI server에서 test 및 학습
(4) 평가 방법
• 메트릭: mAP@0.5 (Mean Average Precision), FPS (Frames Per Second).
________________________________________
4. 결과 (Results)
• 정량적 결과:
o mAP@0.5: 89.7% (차량 92%, 보행자 87%).
o FPS: Jetson Nano에서 25fps, 고사양 GPU에서 60fps 이상.
• 시각적 결과:
o 아래는 테스트 영상에서 차량과 보행자를 탐지한 스크린샷입니다.
이 프로젝트는 CCTV 영상에서 차량과 보행자를 실시간으로 탐지하여 교통 상황을 분석하고 이상 행동을 감지하기 위한 객체 탐지 시스템입니다. 목표는 높은 정확도를 유지하면서도 실시간 처리 및 vision 관련 서버 제작 업무와 model 학습 관련 경험을 시작합니다.
________________________________________
2. 사용 기술 (Technologies Used)
• 프로그래밍 언어: Python, C
• 라이브러리: YOLOv5, OpenCV, TensorFlow
• 데이터셋: COCO Dataset (차량 및 보행자 클래스 사용) 및 커스텀 CCTV 데이터
________________________________________
3. 접근 방식 (Approach)
(1) 데이터 수집 및 전처리
• 데이터셋: COCO 데이터셋에서 차량(Vehicle)과 보행자(Person) 클래스 10,000장 추출. 추가로 지역 CCTV에서 수집한 2,000장 영상으로 커스텀 데이터셋 생성.
• 전처리: 이미지 크기 조정(416x416), 밝기 조정, 데이터 증강(회전, 플립, 노이즈 추가).
• 라벨링: 자체 제작한 Tool로 annotation 작업 및 데이터 증강
(2) 모델 선택 및 설계
• YOLOv5s(Small) 모델을 기반으로 시작. 경량화와 속도를 고려해 선택.
• 사전 학습된 가중치(Pre-trained Weights)를 사용해 fine tunning 적용
(3) 학습 과정
• 하이퍼파라미터: 학습률, 배치 크기 Epoch weight decay등 조정
• 손실 함수: YOLO 기본 손실 함수(IoU Loss + Classification Loss), adam등 바꿔가며 적용
• 환경: local AI server에서 test 및 학습
(4) 평가 방법
• 메트릭: mAP@0.5 (Mean Average Precision), FPS (Frames Per Second).
________________________________________
4. 결과 (Results)
• 정량적 결과:
o mAP@0.5: 89.7% (차량 92%, 보행자 87%).
o FPS: Jetson Nano에서 25fps, 고사양 GPU에서 60fps 이상.
• 시각적 결과:
o 아래는 테스트 영상에서 차량과 보행자를 탐지한 스크린샷입니다.
