Giter Site home page Giter Site logo

boostcampaitech3 / final-project-level3-cv-10 Goto Github PK

View Code? Open in Web Editor NEW
15.0 0.0 6.0 720.14 MB

[부스트캠프 AI Tech 3기 / CV-10] 인물 기반 예능 숏폼 영상 생성기, #눈#사람 ⛄️ (22.05.16 - 22.06.15)

Jupyter Notebook 91.99% Python 7.22% JavaScript 0.73% HTML 0.04% CSS 0.02%
face-clustering face-recognition fastapi react dlib

final-project-level3-cv-10's Introduction

header




Members

안녕하세요, CV-10 #눈#사람 팀입니다.

김하준 송민수 심준교 유승리 이창진 전영우
눈사람_김하준 눈사람_송민수 눈사람_심준교 눈사람_유승리 눈사람_이창진 눈사람_전영우
Modeling Serving Modeling Serving Modeling Modeling
GitHub GitHub GitHub GitHub GitHub GitHub

Introduction

Background

  • 예능 프로그램은 게스트를 중심으로 편집되어 여러 플랫폼에 하이라이트 편집본으로 업로드되지만 전문 인력이 직접 수행해야하는 편집 과정은 큰 시간과 비용을 요구합니다.
  • 최근 영상 소비의 트렌드는 가볍게 즐길 수 있는 1분 내외 길이인 '숏폼' 영상으로, 동일 영상 대비 숏폼으로 편집될 경우 더 많은 조회수와 더 다양한 플랫폼에서 노출의 기회를 얻습니다.

Contribution

  • 기존 전문 인력이 직접 수행하던 편집과정을 자동화하여 시간과 비용을 최소화합니다.
  • 게스트 중심으로 영상을 보고싶은 사용자들의 니즈를 충족시키는 인물 기반 편집 방법론을 제시합니다.
  • 예능의 특성숏폼의 특징을 모두 고려한 편집 방법론을 제시합니다.

전체_flow


System Flow

[1] 영상 업로드 시 Person Clustering 및 Laughter Detection 수행

Scene Detection & Person Clustering

  • 화면이 전환되는 장면을 detect 한 후, 해당 장면들에서 인물의 faceclothing 정보를 이용하여 영상에 등장하는 인물을 파악합니다.
  • face landmarkclothing에 대한 feature vector를 normalize 후 concat하여 HAC(Hierarchical Agglomerative Clustering)을 수행합니다.
  • 여러 후처리를 통해 clustering 성능을 더욱 향상시키고, 각 인물 cluster 별로 가장 선명한 사진을 선택하여 사용자에게 제시합니다.

Laughter Detection

  • 예능 영상의 음성 파일에서 laughter timeline(웃음이 등장하는 타임라인)을 추출합니다.
  • 웃음 구간이 짧은 타임라인은 병합한 후, 맥락을 포함하기 위해 각 타임라인에 [-15초, +0.5초] 연산을 적용하여 숏폼 영상 후보군을 생성합니다.
  • laughter detection을 수행하는 서버는 따로 두어 다른 동작과 병렬적으로 동시에 수행됩니다.

[2] 인물 선택 시 Person Recognition 수행 후 숏폼 영상 생성

Person Recognition

  • person clustering과 동일하게 사용자가 선택한 인물의 faceclothing 정보를 이용하여 person timeline(인물이 등장하는 타임라인)을 추출합니다.
  • 이때, feature vector로는 앞서 clustering에서 구한 vector 값들의 평균 값을 사용합니다.

Final Timeline & Interest Estimation

  • laughter timelineperson timeline을 결합하여 final timeline(타겟 인물이 일정 비율 이상으로 등장하는 최종 숏폼 영상 후보군)을 계산하고 숏폼 영상을 생성합니다.
  • 각 final timeline에 대해 다음의 세 가지 feature의 weighted sum을 통해 흥미도를 계산합니다.
    (1) 영상 내 평균 웃음 소리 길이
    (2) 영상 내 평균 웃음 소리 크기
    (3) 해당 인물의 등장 비율
    

[3] 생성된 숏폼 영상 확인 및 다운로드

생성된 숏폼 영상은 흥미도 순으로 정렬됩니다.


Calculating Final Timeline

타임라인_계산_과정


System Architecture

시스템_구성도


More Information

Modeling

>> LINK

Serving

>> LINK

Document & Demo

Type Link
WrapUp Report >> PDF
Presentation >> PDF
Demo >> VIDEO

Reference

Paper

  • Gillick, Jon, et al. "Robust Laughter Detection in Noisy Environments." Proc. Interspeech 2021 (2021): 2481-2485. [PAPER] [CODE]
  • Brown, Andrew, Vicky Kalogeiton, and Andrew Zisserman. "Face, body, voice: Video person-clustering with multiple modalities." Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021. [PAPER]
  • Robertson, David J., Robin SS Kramer, and A. Mike Burton. "Face averages enhance user recognition for smartphone security." PloS one 10.3 (2015): e0119460. [PAPER]
  • Davies, David L., and Donald W. Bouldin. "A cluster separation measure." IEEE transactions on pattern analysis and machine intelligence 2 (1979): 224-227. [PAPER]
  • Komatsu, Kazuaki., Kazutaka Shimada, and Tsutomu Endo. "A person identification method using facial, clothing and time features." (2017) [PAPER]
  • El Khoury, Elie, Christine Sénac, and Philippe Joly. "Face-and-clothing based people clustering in video content." Proceedings of the international conference on Multimedia information retrieval. 2010. [PAPER]
  • Yang, Saelyne, et al. "CatchLive: Real-time Summarization of Live Streams with Stream Content and Interaction Data." CHI Conference on Human Factors in Computing Systems. 2022. [PAPER]

Open Source


Footer

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.