Skip to content

client,s3,flask 통신을 하며 데이터 주고 받는 server

Notifications You must be signed in to change notification settings

Capic2024/server-springboot

Repository files navigation

header

작품 개요

capic은 영상에 등장하는 얼굴을 추출하여 선별하고, 자동으로 모자이크 처리된 동영상을 만들어주는 서비스입니다.
사용자들은 더욱 자유롭게 자신들의 영상을 공유할 수 있는 환경이 마련되어 다채로운 콘텐츠를 만드는 데에 기여합니다.

시연영상 보러가기



기대 효과

  • 자유로운 비디오 공유: 개인이 자신의 비디오를 더 자유롭게 공유할 수 있게 되어,
    공공장소에서의 촬영 부담이 줄어든다. 이로 인해 사용자는 더 창의적이고 다양한 콘텐츠를 만들 수 있는 환경이 조성된다.

  • 프라이버시 보호와 사회적 이익 증진: 광고, 교육, 의료, 보안 등 다양한 분야에서 개인의 프라이버시를 보호하고,
    이를 통해 사회적 이익을 증진시킬 수 있다.

  • 효율적인 비디오 관리: 저희 서비스는 '블러미'와 같은 유사 서비스와 비교하여 더욱 발전된 기능을 제공한다.
    영상에서 자주 노출되는 얼굴을 자동으로 식별하고, 사용자가 원하지 않는 얼굴만 선택적으로 블러 처리할 수 있어
    사용자의 필요에 따라 안전하고 맞춤화된 경험을 제공할 수 있다.

팀원

김유나 이서연 이세은 이지연


작품 설명

1)시작페이지

  • 사용자가 모자이크 처리를 원하는 동영상을 선택합니다.

2)얼굴추출

  • 영상에 나오는 인물들 얼굴을 추출하여 보여줍니다.
  • 사용자가 모자이크 처리 제외할 얼굴을 선택합니다.
  • 영상에 나오는 빈도에 따라 많이 나온 순서대로 추천합니다.
  • 선택이 완료되면, 모자이크 처리되는 동안 로딩 페이지를 보여줍니다.

  • 구현 방법
    동영상을 프레임 단위로 사람들의 얼굴을 추출하였습니다.
    OpenCV로 각 프레임을 읽고, insightface 라이브러리를 이용해 얼굴들 위치를 탐지하여 특징에 따라 각 얼굴 인코딩을 생성합니다.
    Numpy를 이용해 인코딩 간의 거리 계산법을 사용하여 유사도에 따라 인물 별로 식별합니다.
    최종적으로 슬라이더에 추출된 얼굴의 빈도수에 따라 순서대로 보여집니다.

3)모자이크

  • 변환된 영상 미리보기를 제공합니다.
  • 변환된 영상을 사용자가 다운로드 받을 수 있습니다.

  • 구현 방법
    객체 탐지 모델인 yolov5 모델을 사람의 얼굴만 탐지를 할 수 있도록 wider-face dataset을 이용해서 학습시켰습니다.
    모자이크 처리 시에 특정 사람의 얼굴만 제외하기 위해 deepface 라이브러리의 facenet 모델을 사용하였고
    소요 시간을 줄이기 위해서 라이브러리를 튜닝하였습니다.



아키텍처



서비스 구조



주요기술

  • 개발 언어
    HTML5 CSS3 JavaScript Python Java17

  • 사용 기술
    OpenCV Insightface YOLOv5 DeepFace Spring Boot Flask Amazon S3

footer

About

client,s3,flask 통신을 하며 데이터 주고 받는 server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published