유튜브는 전 세계적으로 가장 큰 규모의 동영상 재생 사이트입니다
따라서 동영상 관련 데이터가 가장 많으며 데이터에 관심이 조금이라도 있는 사람들은
유튜브 관련 데이터를 들여다보고 싶어합니다
하지만 데이터를 전처리 및 가공하거나 분석하는 능력이 없는 사람들에게는
데이터를 들여다보는 일은 버거운 일입니다
따라서 다양한 통계분석 플랫폼들이 등장하고 있습니다.
저희는 그런 통계분석 플랫폼에서 좀 더 딥러닝 및 머신러닝 기술을 활용한 플랫폼을 만들어
원하는 사람들한테 유의미한 데이터를 제공하고 싶어서 개발하게 되었습니다
1. 유튜브관련 직종 사람들이 활용할 수 있는 서비스를 개발합니다.
2. 유튜브관련 서비스를 개발하고자 하는 사람들에게 데이터를 제공합니다.
1. 댓글 감성분석, 키워드 추출, 비속어 확인
- 영상 선호도 파악, 관심을 보이는 키워드 확인 가능
2. 영상에서 얼굴 인식
- 추후 초상권을 위한 얼굴 익명화, 인물찾기등에 활용 가능
감성분석
은 RNN 중 Bidirectioanl LSTM 구조를 사용해 직접 학습하여 사용하였습니다. 데이터셋으로는 NSMC 의 한국어 문장 데이터와 Sentiment140 의 영어 문장 데이터를 사용 하였습니다. 기존 google-bert 언어 모델에 레이어를 추가하여 Fine-tuning 하려 하였으나, 주어진 클라우드 플랫폼에서 GPU 사용이 불가능하여 지나친 성능이슈가 존재하여 경량화하였습니다.영상 얼굴 인식 모델
은 face-detection-mobilenet-ssd를 사용하였습니다. 마찬가지로 GPU사용이 불가능함으로써 최대한 가벼운 모델을 찾아 배포하기 알맞은 바이너리 포맷으로 변환-notebook한 후, 사용하였습니다.- 인식한 얼굴을 구분하기 위한
얼굴 유사도 모델
또한 바이너리 포맷으로 변환-notebook하여 사용하였습니다. 얼굴을 인식이후, cropping 하여 얼굴만 잘라낸 후, 영상내의 얼굴들을 구별하기 위해 사용합니다.
# git clone 받기
git clone https://github.com/open-tube/open-tube.git
# client 폴더로 이동
cd client
# 모듈 다운로드
npm install
# webpack-dev-server 실행
npm run dev
# 이후, localhost:9000에서 테스트
# Develop 버전 배포
npm run bundle
# Production 버전 배포
npm run production
## main-bundle.js 생성 후, 아코디언에서 별도 빌드 (경로: /mnt/ssd/server/web-server)
- Flask: API서버 배포
- Nginx: Web site 배포 (Demo URL)
- Tensorflow-serving: 모델배포를 위해 활용
-
Language - python, javascript
-
server: requirements.txt
-
client: package.json
-
Database - Postgres, Firebase
-
세부 작업 목록 Pull request
-
모델 배포 가이드 WIKI
-
서버 배포 가이드 WIKI
-
다른 세부사항은
WIKI
및Projects
패널 참조 : WIKI -
License:
GPLv3