-
프로젝트 주제
- 아동 · 심약자를 위한 동영상 폭력 감지 및 필터링 서비스
-
프로젝트 소개
- 동영상 내 폭력적인 장면에 대한 폭력성 스코어링
- 폭력성 스코어가 높은 부분, 필터링 적용
- 필터링 적용 후, 처리된 영상 다운로드
- 서비스 개념도
- Multi-Modal을 활용한 Violence Detection(HLNet)
- 동영상 전 구간에 대한 Blood Detection(YOLOv5)
- 폭력성 구간에 대한 Violence Localization(ResNet34-Kinetics)
- 프로그램 구성도
- Web Demo : Streamlit
- Violence Detection
- Korean Movie Dataset 20 videos
- PR AUC Offline : 0.8021 Online : 0.7130
- Blood Detection
- GPU : Nvidia Tesla V100
- OS : Linux Ubuntu 18.04
- Runtime : Python 3.8.5
- We recommanded PYTHON 3.8.5
conda create -n {your_env_name} python=3.8.5
- conda env activate
conda activate {your_env_name}
- install requirements
pip install -r requirements.txt
apt-get install libsndfile1
apt-get update
apt-get install ffmpeg
- Run Demo (🧨Caution) pipeline is working directory. All path setting on pipeline.
cd pipeline
streamlit run zzolflix.py
- Run Demo on Cloud Server
streamlit run zzolflix.py --server.port {your_server_port}
pipeline/data/
|-- audio_features(wav -> npy)
|-- audios(wav)
|-- blurred_images(jpg)
|-- figures(result of plot)
|-- image_features(jpg -> npy)
|-- images(jpg)
|-- list(list)
|-- not_violent_videos
|-- npys(on.npy, off.npy)
|-- output_videos(mp4)
`-- videos(mp4)
- 아래 명령어를 리눅스 기본 shell에서 실행합니다.
- pre-commit 설치
$ pip install pre-commit
$ brew install pre-commit
- 버전 확인
$ pre-commit --v
pre-commit 2.17.0
- 설치 확인 및 업데이트
$ pre-commit autoupdate
[WARNING] The 'rev' field.......
- 설치
$ pre-commit install
pre-commit installed at .git/hooks/pre-commit
- 이후 commit부터 오토 포매팅 반영
- fix된 사항 있을 시 git status를 통해 modified 확인 후 다시 add & commit