개발환경
Desktop(personal)
- Windows10 GTX1660S
- MAC ios
NVIDIA Jetson Nano Development Kit-B01
- GPU : 128 코어 Maxwell / CPU : 쿼드코어 ARM A57 @ 1.43GHz
GPU Server
- Google Colab GPU
- 원격 접속 (Portainer.io)
Camera
- Logitech C920 Pro
- Phone
Program
- OpenCV 3.2.0
- YOLO V4 - Darknet framework
- OPENPOSE
- Yolo_mark를 이용한 라벨링은 각자의 컴퓨터 혹은 노트북 이용
- GPU Server에서 학습시킬 아동폭력 이미지들은 각자 스마트폰으로 직접 촬영해서 구함
- CCTV의 위치처럼 카메라가 보다 자유롭게 움직여야 하며 프로그램이 실시간으로 처리된다는 것을 증명하기 위해
Logitech(로지텍)의 C920 Pro 모델 사용
- 컴퓨터나 노트북의 그래픽 카드 성능이 현저히 떨어지기 때문에 학습에 좋은 코랩의 GPU Server 이용
- 라벨링 및 테스트 영상, 이미지 실행을 위해 오픈소스인 OpenCV 3.2.0, YOLO V4, openpose를 사용
프로그램 구성도(알고리즘)
1. YOLO로 아동폭력 클래스 검출 (손으로때리기, 밀치기, 발로차기)
2. openpose로 관절 키포인트 추출 후 특징벡터(속도벡터) 생성
- 어른/아이 구분: 각도와 위치에 따른 왜곡현상
- { (2-3) + (5-6) + (9-10) + (12-13) + (1-8) } / 5 : 척추, 넙적다리뼈, 위팔뼈 길이의 평균으로 구분
3. 여러가지 features 검출 → 모델에 넣기(LSTM) → 최종 검출로 이진 분류
▶ features: 사잇각, ROI 벡터크기, 객체별 접촉거리
4. 저장된 영상 데이터 서버로 전송
'캡스톤디자인프로젝트B_스타트16' 카테고리의 다른 글
[6] Openpose로 Keypoints 추출 및 json 파일 받아오기 (0) | 2021.11.13 |
---|---|
[4] Windows 10으로 Yolo_mark labeling (1) | 2021.05.19 |
[3] Windows 10에 YOLOv4 설치하기 (0) | 2021.05.18 |
[1] Yolo와 Openpose를 이용한 아동폭력 사전탐지 시스템 개발배경 (0) | 2021.05.18 |