본문 바로가기

[YOLO](5) 학습 결과 이 시스템의 결과를 테스트 하기 위해 영상 두가지를 사용하였다. 1. 실제 시위 영상 이 동영상은 실제 시위영상을 테스트한 결과이다. 2. 드론으로 촬영한 영상 이 영상은 DJI사의 Spark 드론으로 5m 높이에서 테스트를 위해 직접 촬영한 영상이다. 더보기
(4) AWS 연동하기 AWS는 Amazon Web Service의 약자이다. 이 시스템은 AWS의 Simple Storage Service(S3)를 하용하였다. AWS 명령줄 인터페이스(CLI)를 사용하여 Amazon S3에 액세스하여 수집 된 동영상과 탐지 된 동영상을 다운로드하고 업로드 할 수 있게 구현하였다. 드론으로 촬영 된 동영상을 다운로드하고 YOLO알고리즘을 통해 학습 된 모델로 폭력을 탐지한 동영상을 업로드 하는 것을 자동화 하기 위해 Bash shell script programming을 하여 자동으로 다운로드 및 업로드 될 수 있도록 구현하였다. 이 과정을 통해 AWS를 거쳐 동영상을 업로드하고 다운로드 할 수 있는 것이 가능하다. https://aws.amazon.com/s3/?nc.. 더보기
[YOLO](3) 데이터 학습 Yolov3알고리즘을 사용하여 학습을 시켰다. Object detection으로 유명한 Yolo알고리즘은 deep learning 을 공부하는 사람이라면 들어봤을 것이다. 학습을 시키기 위해서는 1. Yolo 학습을 시키기 위한 coco.data, coco.names 파일을 만든다. coco.data - 학습시킬 클래스의 개수 , 학습시킬 이미지의 경로, 클래스의 이름을 지정할 파일 경로, 학습 후 weight 파일이 지정될 경로를 지정한다. coco. names - 각 클래스의 이름이 저장되어 있는 파일 2. Yolov3.cfg 파일을 custom 하여 파라미터 값들을 변경해준다. learning_rate 는 0.001로 하는 것이 목적이여서 Gpu를 4개 사용할때는 /4인 0.00025로 설정해줘야 .. 더보기
(2) 데이터 수집 (data crawling) 데이터를 수집할 수 있는 방법은 여러가지가 있다. 이 시스템에서는 세가지 방법을 통해 데이터를 수집하였다. 1. 구글 데이터 크롤링 구글 데이터는 구글 크롤링 API를 사용하여 쉽게 크롤링 할 수 있다. 하지만 이 API를 통해서 크롤 링을 한다면 한번에 100개나 500개씩 정해진 개수 밖에 크롤링을 할 수 있다. 그래서 selenium을 사용하여 웹페이지 자동 스크롤링 및 크롤링을 진행하였다. 크롤링을 하기 전 selenium을 사용하기 위해 chrome_driver 와 selenium를 install해주는 것이 중요하다. 2. FFmpeg 데이터를 수집하기 위해 Youtube와 영화를 Frame 단위로 잘라 이미지로 변화시켰다. 이러한 과정은 FFmpeg를 사용하였다. FFmpeg는 디지털 음성 스.. 더보기