기간: 2024.08 ~ ing
소속: 중앙대학교 소프트웨어학부
교과목: 캡스톤디자인(1)
2024-2 중앙대학교 소프트웨어학부 캡스톤디자인(1) !ssorg 입니다.
Gross!는 맥락 파악 가능한 사용자 맞춤형 필터링 서비스입니다. 특정 상황에서 혐오스러운 이미지를 보고 싶어하지 않는 사용자, 드문 포비아를 가진 사용자, 아이가 시청하는 미디어에 유해한 이미지를 보여주고 싶지 않은 부모님 등 다양한 사용자의 니즈에 맞추어 필터링하는 서비스로, 가리고자 하는 객체의 입력을 받아 원하는 버전(blackbox, sticker, real)으로 필터링해줍니다.
소프트웨어학부 20204870 김도화
소프트웨어학부 20224527 전영은
소프트웨어학부 20223086 최예진
영상 미디어는 모든 사람들이 제한 없이 접근할 수 있기 때문에, 이를 필터링하기 위한 다양한 알고리즘이 개발되어 왔습니다. 이러한 알고리즘 덕분에 아동이나 심신미약자와 같은 미디어 노출에 취약한 이들도 어느 정도 필터링된 콘텐츠에 접근할 수 있게 되었지만, 여전히 여러 한계점이 존재합니다.
첫째, 현재의 필터링 시스템은 영상 전체의 선정성을 기준으로 필터링을 진행하기 때문에, 콘텐츠 내 세부적인 요소들에 대한 정교한 필터링이 어렵습니다. 둘째, 영상 내 모자이크 처리를 사용할 경우, 여전히 원본 이미지가 추론 가능하기 때문에 시청자에게 불쾌감을 줄 수 있습니다. 또한, 지나치게 강한 필터링(예: 검은색 박스)을 적용할 경우 시청자는 영상의 맥락을 이해하기 어려워집니다. 셋째, 현재의 필터링 시스템은 영상 제공자가 미리 설정한 특정 요소들만 필터링할 수 있을 뿐, 각 개인이 불쾌하다고 느끼는 요소들을 사용자 맞춤형으로 필터링할 수 없습니다. 이로 인해 사용자는 본인이 불편하게 느끼는 콘텐츠를 예기치 않게 접하게 될 위험이 있습니다.
이와 같은 문제들을 해결하기 위해 보다 세밀하고 사용자 맞춤형 필터링 기술의 개발이 요구됩니다. 따라서, 개인의 선호도를 고려한 세세한 필터링이 가능하며, 필터링을 거친 뒤에도 시청자가 영상 맥락을 이해할 수 있는 사용자 맞춤형 필터링 서비스 Gross!를 개발하였습니다.

서비스 내부 구조는 아래 사진과 같이 설계하였습니다.
-
사용자가 원본 영상과 필터링 하고 싶은 단어를 입력합니다.
-
Grounded-SAM2를 활용하여 모든 객체의 boundary box를 추출하고, 입력 단어를 기반으로 물체 위치와 마스크를 추출합니다.
-
필터링된 영역에 생성형 AI를 이용한 스티커나 실사 이미지를 덧씌웁니다.
-
이미지를 덧씌우기 전, 전처리를 수행합니다. 원본 객체의 밝기와 채도를 분석하여 이미지를 조정하고, MiDaS를 이용하여 객체 깊이 정보를 기반으로 덧씌울 순서를 정렬합니다.
-
사용자가 원하는 버전에 따라, 필터링 결과를 생성합니다. 이때 객체가 마스킹된 영역은 검정색 처리되어 원본 객체가 보이지 않도록 처리합니다.
- None → 블랙박스 버전으로, 객체가 검정색 박스로 표시됩니다.
- Real → 객체 위에 실사 이미지가 올려집니다.
- sticker → 객체 위에 스티커 이미지가 올려집니다.
Ubuntu 22.04 GPU: RTX 4080 CUDA 12.1 torch 2.3.1 & torchvision 0.18.1 & torchaudio 2.3.1
- Clone our GitHub
- Clone Grounded-DINO and MiDaS in root route
- Add checkpoints
- Run gross.py