Bandi120424 / EmoS_project

BERT, OpenCV를 활용한 5가지의 감정자막 자동 생성 'EmoS' 서비스

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

5가지의 감정자막 자동 생성 'EmoS' 서비스

1. Introduction

fine-tuning한 KLUE\RoBERTa 모델과 OpenCV를 활용한 5가지의 감정자막 자동 생성 'EmoS' 서비스는
발화문을 AI 모델을 통해 분류한 감정에 따라 화자의 감정을 반영한 각각 다른 스타일의 자막을 생성하는 서비스입니다.
본 서비스를 통해 음성을 들을 수 없는 상황이나 청각 장애를 가진 사람들도 화자의 감정을 생생하게 전달받을 수 있습니다.


2023년 2월 17일, 본 프로젝트를 통해 프로그래머스 인공지능 데브코스 4기의 최우수 프로젝트 팀으로 선정되어 최우수상을 수상하였습니다 🙂


2. Development process

  1. 데이터 수집 및 전처리 : AI-Hub의 감정 분류를 위한 음성데이터셋과 감성대화 말뭉치 사용
  2. Sentiment Analysis : fine-tuning KLUE\RoBERTa 모델을 이용해 발화문을 5가지 감정(분노, 슬픔, 불안, 기쁨, 중립) 분류
  3. Caption Generation : openCV와 PIL를 활용해 감정 Label 별 자막을 생성하고 Time stamp에 따라 영상과 자막 합성
  4. Frontend & Backend : AWS, Django, CSS, HTML을 활용한 FE & BE 구축


3. Prototype


4. Makers

프로그래머스 인공지능 데브코스 4기 B5팀의 팀원들과 함께 기획하고 개발하였습니다.


이규열

한나영

이지윤

박지은

5. Git Commit Message Convention

Commit Message Format

참고

  • feat: 새로운 기능 추가
  • fix: 버그 수정
  • docs: Document 수정
  • style: 코드 formatting, 세미콜론(;) 누락, 코드 변경이 없는 경우 등
  • refactor: 이미 있는 코드에 대한 리팩토링
  • test: Test Code에 대한 commit
  • build: 빌드 관련 파일 수정 (예시 scope: gulp, broccoli, npm)
  • perf: 성능 개선사항
  • ci: CI 설정 파일 수정 (예시 scope: Circle, BrowserStack, SauceLabs)
  • chore: 그 외의 작은 수정 (빌드 업무 수정, 패키지 매니저 수정 등)

Issue

  • 해야 할 Task를 미리 Issue에 등록 후 개발

Pull Request

  • Issue에 올라온 Task를 끝내면, Pull Request를 통해 팀원들의 Review를 받은 후, develop 브랜치에 merge

Branch Strategy

main

  • 제품을 최종적으로 배포하는 브랜치 (develop 브랜치로부터 merge만 받는 브랜치)
  • 배포에 사용

develop

  • 아직 배포되지 않은 공용 브랜치
  • feature 브랜치로부터 merge를 받아 개발 중 버그를 발견하면 이 브랜치에 직접 commit

feature

  • 새로운 기능 개발을 하는 브랜치
    • 반드시 develop 로부터 시작되고, develop 브랜치에 머지함
    • feature/기능이름 ex) feature/new-feature

realease

  • 최종 배포전, QA를 진행하는 브랜치
  • 아직 배포되지 않은 공용 브랜치
  • develop 브랜치로부터 merge를 받음

hotfix

  • 다음 배포 전까지 급하게 고쳐야되는 버그를 처리하는 브랜치
    • 배포 버전 심각한 버그 수정이 필요한경우, 버그 수정을 진행한뒤 main, develop 브랜치에 merge함
    • hotfix/버그이름 ex) hotfix/bugs

About

BERT, OpenCV를 활용한 5가지의 감정자막 자동 생성 'EmoS' 서비스


Languages

Language:Python 48.4%Language:Jupyter Notebook 34.8%Language:CSS 11.3%Language:HTML 5.5%