본문 바로가기

Violent Protest Detection System

(2) 데이터 수집 (data crawling)

<데이터 수집>


데이터를 수집할 수 있는 방법은 여러가지가 있다.


이 시스템에서는 세가지 방법을 통해 데이터를 수집하였다.


1. 구글 데이터 크롤링

  

구글 데이터는 구글 크롤링 API를 사용하여 쉽게 크롤링 할 수 있다. 하지만 이 API를 통해서 크롤


링을 한다면 한번에 100개나 500개씩 정해진 개수 밖에 크롤링을 할 수 있다.


그래서  selenium을 사용하여 웹페이지 자동 스크롤링 및 크롤링을 진행하였다.


크롤링을 하기 전 selenium을 사용하기 위해


       chrome_driver 와 selenium를 install해주는 것이 중요하다.



2. FFmpeg


데이터를 수집하기 위해 Youtube와 영화를 Frame 단위로 잘라 이미지로 변화시켰다. 이러한 과정은


FFmpeg를 사용하였다. FFmpeg는 디지털 음성 스트림과 영상 스트림에 대해서 다양한 종류의 형태


로 기록하고 변환하는 프로그램이다. 이 프로그램은 Command line 입력을 통해 실행할 수 있다.


예를 들어, 아래의 Command를 입력하면 video.mp4 동영상이 1초당 1프레임으로 잘라서 저장된다.



3. 데이터 늘리기 


위의 두가지 방법으로 수집한 데이터를 늘이기 위해 딥러닝 라이브러리인 Keras를 사용하였다.


아래의 그림과 같이 좌우반전, 상하반전, 찌그러뜨리기, 돌리기 흑백처리등으로 처리하여 


3000장의 데이터를 8561장으로 늘릴 수 있었다.



이 코드는 데이터를 늘리기 위해 사용한 코드이다.



ImageDataGenerator 안의 속성들을 수정하면 이미지를 늘일 때의 정도를 조절할 수 있다.


<참고>


https://keras.io/preprocessing/image/