본문 바로가기
AI/Computer Vision

[멀티모달] 이미지 캡션 생성

by 미뇽도리 2024. 5. 30.

이미지 캡셔닝
: 모델은 이미지의 시각적 특징을 이해하고, 그에 맞는 자연어로 캡션을 생성함. 
 
관련 대회 : https://dacon.io/competitions/official/236134/overview/description
 
설명 : https://velog.io/@yna/%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%BA%A1%EC%85%94%EB%8B%9D-%EB%AA%A8%EB%8D%B8

이미지 캡셔닝 모델

1. 이미지 캡셔닝 이미지 캡셔닝은 컴퓨터 비전과 자연어 처리를 결합하여 이미지에 대한 자연어 설명을 생성하는 작업입니다. 이는 주어진 이미지에 대한 높은 수준의 이해와 텍스트 생성 능력

velog.io

 
<모델>
Show and Tell
NIC
 
정보량은 Show and Tell 이 훨씬 많음
 
말투 변환 : 
https://heegyukim.medium.com/korean-smilestyle-dataset%EC%9C%BC%EB%A1%9C-%EB%AC%B8%EC%B2%B4-%EC%8A%A4%ED%83%80%EC%9D%BC%EC%9D%84-%EB%B0%94%EA%BE%B8%EB%8A%94-%EB%AA%A8%EB%8D%B8-%EB%A7%8C%EB%93%A4%EC%96%B4%EB%B3%B4%EA%B8%B0-d15d32a2c303

Korean SmileStyle Dataset으로 문체 스타일을 바꾸는 모델 만들어보기

말투를 바꿔주는 AI 모델을 만들고 싶었는데, 때마침 좋은 토이 데이터셋을 스타일게이트에서 공유해주셔서 실험해볼 수 있게 됬습니다. Huggingface 라이브러리를 이용해서 GPT-2, BART 두 모델을 Fine

heegyukim.medium.com

 
 Huggingface 라이브러리 사용


1. Video explaining / Video Captioning

- explaining  깃허브 코드 없음, Video captioning의 일종
https://github.com/Hinterhalter/CCTV_Video_Captioning

GitHub - Hinterhalter/CCTV_Video_Captioning: Video captioning project using deep learning models.

Video captioning project using deep learning models. - GitHub - Hinterhalter/CCTV_Video_Captioning: Video captioning project using deep learning models.

github.com

어차피 영상을 모델에 넣기 위해서는 통째로 넣는 것이 아니라 N개의 샘플로 나누어서 학습시켜야함
 

 
두 남자가 쿠킹쇼에서 이야기를 하고 있는 장면은 중요함 -> 한단어로 요약하게 되면 cooking으로 될지..? talking으로 될지?
만약 중요한 단어들을 몇개 지정해둔다면 선택지가 너무 많아질 수도 있음 (정작 중요한 장면은 놓칠수도)
 

 
Train) 유튜버 영상들을 중요 장면별로 컷해서 학습시킴. 유튜버들의 주요 캡셔닝 문장 추출
Test) 우리가 가진 원본 영상들도 특정 구간 별로 Video Captioning 진행. NLP로 유사도 판별해서 겹치는 내용이 많으면 사용! 
 
관련 github 코드 많음


 
영상도 어차피 프레임 단위로 나누면 이미지로 인식
이미지끼리 유사도 판별해보자!
 

2. 유사 이미지 추천

Train) 학습시킬 유튜버 영상들은 직접 캡쳐해서 준비
 
우리가 가진 원본 영상들은 여러개 -> 대부분 영상 하나마다 다른 주제를 가지고 있을거임
원본 영상에서 특정 프레임 구간마다 이미지로 변환.
학습시킨 유튜버 이미지들과 비교해서 유사도가 가장 높은 이미지 프레임부터 영상으로 사용 
 
(영상 제일 처음은 보통 중요한 부분이 들어갈것 같음. 원본 영상의 첫 부분은 무조건 사용하고 이후 이미지의 유사도가 계속 낮게 나오면 사용하지 않고 Cut)
 
 
https://www.bucketplace.com/post/2023-05-22-%EC%9C%A0%EC%82%AC-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%B6%94%EC%B2%9C-%EA%B0%9C%EB%B0%9C-1-%EB%B9%84%EC%8A%B7%ED%95%9C-%EA%B3%B5%EA%B0%84/
 

 
 
+) 유튜브 영상 추천 알고리즘
유튜브도 특정 유튜브 영상을 보면 시청한 영상과 유사한 주제의 영상들만 추천해줌.
유튜브의 추천 알고리즘이 어떻게 돌아가는지? 


 

3. 영상 유사도 판별

https://chatgpt.com/c/e9385153-97d7-40f6-928d-7ad388c2b23f
 
코드) https://github.com/gkordo/s2vs

GitHub - gkordo/s2vs: Authors official PyTorch implementation of the "Self-Supervised Video Similarity Learning" [CVPRW 2023]

Authors official PyTorch implementation of the "Self-Supervised Video Similarity Learning" [CVPRW 2023] - gkordo/s2vs

github.com