video class, video caption, clip caption, clip tags, dense caption, subtitle, object 종류 및 위치 등
을 표시한 text로 변환 하여 이를 LLM의 input으로 활용해서 VQA 등을 수행1분 이상의 장기 비디오를 처리하는 데 어려움
을 겪습니다.긴 비디오의 맥락을 효과적이고 효율적으로 모델링하는 것이 복잡하고 지속적인 연구 과제
이기 때문 응답 시간, GPU 메모리 사용량 및 시스템 성능
에 대한 사용자 기대치를 균형 있게 조절하는 것이 어려움instruction 데이터 규모와 구축 방법
, 전체 시스템 규모
및 사용된 모델
에 기인시간에 민감하고 성능이 중요한 응용 분야에서의 성능이 별로임
: 자가 중심적인 작업 지시 예측
및 지능형 모니터링
과 같은 분야에서의 성능 격차를 해결하는 것은 지속적인 과제사전 학습된 비디오 모델
의 튜닝 접근법에 한정되어, 이미지 중심의 multi modal 대화 시스템
이 주목받고 있습니다. 대형 언어 모델(LLM)
, 이미지 인코더
, 추가 학습 가능한 모듈
을 활용하여 이미지에 대한 깊은 이해를 가능하게 합니다.비디오 중심의 multi modal 대화 시스템
은 아직 비디오 데이터 중심의 관점에서 공식적으로 다루어지지 않았습니다.
VideoChat-Text
방법을 의미)자연어 처리(NLP) 질문-응답
으로 변형하였습니다.공개된 비주얼 모델을 활용하여 비디오 콘텐츠를 텍스트화
한 후, LLM의 input에 통과시켜 질의응답을 수행시각 정보의 손실
과 시공간적 복잡성의 과도한 단순화
를 초래대규모 비디오-텍스트 pre-training
후 -> 다운스트림 작업의 fine-tuning
사전 학습된 비주얼 및 언어 인코더를 사용하여
오프라인 비디오 및 텍스트 특징을 도출하였지만,마스킹된 언어 모델링
, 비디오-텍스트 매칭
, 비디오-텍스트 대조 학습
등 두세 가지의 pre training 작업을 포함대화 중심의 비디오 이해 시스템
)비디오와 언어의 Foundation 기 학습된 모델을, 학습 가능한 신경 인터페이스를 통해 통합
하여, 시공간적 추론
, 이벤트 위치 지정
, 인과 관계 추론
에 뛰어난 성능을 보임주어진 비디오에 대해 ffmpeg를 사용하여 저속 FPS로 주요 프레임을 추출
하여, T개의 비디오 프레임과 관련 오디오를 생성
행동 레이블
, 프레임 요약
, 비디오 태그
, 상세 설명
, 객체 위치 좌표
, 비디오 내러티브
, 타임스탬프 및 기타 세그먼트 관련 정보
행동
[46, 20, 21] (InternVideo [46] 사용), 객체
[45, 15], 객체 주석 및 위치
[48] 등을 분석Table 2: 시스템 프롬프트
시스템이 텍스트화된 비디오를 이해하고 문서의 관련 내용을 기반으로 응답하도록 합니다. 비디오와 무관한 질문에는 답하지 않도록 설정합니다.
프롬프트 예시:
당신은 비디오 맥락을 기반으로 대화를 진행하는 챗봇입니다. 주어진 맥락을 기반으로 주로 답변하며, 태그 정보를 수정하거나 비디오에 포함된 인물이나 객체와 관련된 지식을 활용할 수도 있습니다. 타이밍 설명은 초당 1/FPS의 설명으로 시간을 변환할 수 있습니다. 설명할 때는 주로 타이밍 설명을 참조하세요. 밀도 캡션은 5초마다 내용을 제공합니다. 타이밍으로 이를 구분할 수 있습니다. 하지만 비디오 줄거리를 임의로 생성하지는 마세요.시작!
비디오 맥락의 시간 순서: textualizing_videos (Table 1의 내용)
질문: question
고오급 Instruction 데이터셋
으로 weight를 Visual instruction Tuning 하지 못하는 구조이므로.비디오-언어 토큰 인터페이스(VLTF)
를 추가로 사용언어 친화적인 비디오 기반 모델
(비디오와 언어를 이용하여 pre-training을 한 모델)을 채택새롭게 통합된 GMHRA, 쿼리 및 선형 투영
을 제외한 대부분의 매개변수는 고정됩니다. T * token_H * token_W
사전 학습된 QFormer
와 추가 linear-projection를 사용하며, 대규모 비디오-텍스트 fine-tuning
(쉬운 데이터셋 like Video - caption dataset)을 통해 비디오 인코더를 LLM에 정렬 (Like BLIP-2 스타일)비디오 설명과 비디오 질문-답변 쌍이라는 두 가지 유형의 비디오 instruction 데이터
를 사용하여 시스템을 조정 (Like Visual Instruction Tuning 스타일)주어진 비디오
Human:<Video>video_embed</Video> 비디오는 \(t_0, t_1, ..., t_T\) 초에서 샘플링된 \(T\)개의 프레임을 포함합니다.
Human: 비디오의 분위기와 사건들을 생생하고 묘사적인 서사로 표현하세요.
Assistant:
처음에, 긴 갈색 머리를 가진 젊은 여성이 배낭을 메고 절벽 끝에 서서 아름다운 산 풍경을 바라보고 있는 모습이 보입니다. 그녀는 경이로움에 잠겨 몇 초 동안 서 있습니다. 다음으로, 그녀가 천천히 몸을 돌리며 두 팔을 활짝 펴는 모습이 보입니다. 그런 다음, 그녀가 협곡을 마주 보며 몇 걸음 뒤로 물러나고 여전히 두 팔을 활짝 편 채 서 있는 모습이 보입니다. 그녀는 풍경의 웅장함을 만끽하는 듯합니다. 마지막으로, 그녀는 배낭을 맨 채로 절벽 가장자리에 자신감 있게 서 있습니다. 마치 산을 정복한 것처럼 보입니다.
비디오 전반에 걸쳐 협곡의 광활한 풍경과 배경에 있는 산들이 보입니다. 하늘은 일부는 흐리고, 일부는 맑은 파란색으로 아름다운 대비를 이룹니다. 전체적으로 이 젊은 여성은 풍경에 매료되어 두 팔을 활짝 펼치며 매 순간을 즐기고 있는 듯합니다.
예측된 다양한 텍스트 레이블
을 -> 일관되고 진화하는 이야기로 변환
하며, 주어진 프롬프트
Human: origin_caption으로 제공된 비디오입니다. 비디오의 내용을 시간 순서에 따라 설명합니다: textualizing_videos.
"first", "next", "then", "finally"와 같은 순서 부사를 사용하여 이 비디오를 자세히 설명하세요. 특정 시간을 언급하지 마세요. 가능한 한 많은 세부 정보를 포함하세요. 보이는 모든 것을 말하세요. 설명은 150자 이상 200자 이하로 작성하세요.
주어진 프롬프트
Human: 주어진 문단의 오류를 수정하세요. 반복되는 문장, 의미 없는 문자, 영어가 아닌 문장 등을 제거하세요. 불필요한 반복을 제거하세요. 미완성된 문장을 다시 작성하세요. 설명 없이 결과만 반환하세요.
문단이 이미 올바른 경우, 입력 문단을 그대로 반환하세요. 설명은 하지 마세요.
주어진 비디오
Human:<Video>video_embed</Video> 비디오는 \(t_0, t_1, ..., t_T\) 초에서 샘플링된 \(T\)개의 프레임을 포함합니다.
Human: 비디오에서 무슨 일이 일어나고 있나요?
Assistant: 비디오에서는 젊은 여성이 스마트폰을 들고 해변에서 밤하늘 아래 바다 위로 지는 노을을 찍고 있는 실루엣이 보입니다. 그런 다음, 다른 몇 명의 실루엣이 사진을 찍고 휴대폰을 들여다보는 장면이 나타납니다.
Human: 비디오에서 객체 간 상호작용을 설명해 줄 수 있나요?
Assistant: 비디오 속 사람들의 실루엣은 스마트폰을 들고 있으며, 그녀는 해변에서 바다 위로 지는 노을을 찍고 있습니다.
Human: 이 장면의 위치는 어디인가요?
Assistant: 이 장면은 바닷가, 즉 밤에 바다 근처의 해변에 위치해 있습니다.
Human: 비디오에서 시간에 따라 어떤 변화가 발생하나요?
Assistant: 비디오가 진행되면서 하늘의 색이 주황색에서 회색으로 변합니다. 또한, 해변에서 사람들이 사진을 찍고 휴대폰을 들여다보는 행동이 나타납니다.
주어진 프롬프트
Human: 단일 비디오를 관찰하고 있는 AI 비주얼 어시스턴트로서, 비디오의 설명이 시간 순서대로 제공됩니다. 이 설명에는 객체 유형, 위치(좌표 사용), 속성, 객체 간 상호작용, 동작, 환경 등이 포함됩니다.
이 설명을 기반으로 비디오를 직접 보고 있는 것처럼 모든 질문에 답변하는 것이 과제입니다.
비디오의 시각적 콘텐츠를 다루는 질문을 포함하세요. (DESCRIPTIVE) 예:
- 객체 유형, 속성, 객체 수, 동작, 위치
- 객체 간 상대적 위치
- 시간에 따라 객체 동작이나 위치의 변화
- 객체 간 상호작용
다음으로, 시간적 인식과 추론과 관련된 질문을 포함하세요. (TEMPORAL) 예:
- 사람이 특정 사건 이전이나 이후에 한 행동
- 특정 사건이나 동작의 시간 정보
마지막으로, 비디오 콘텐츠와 관련된 복잡한 질문도 포함하세요. (CASUAL) 예:
- 객체나 동작에 대한 배경 지식
- 비디오에서 발생하는 사건 논의
- 반사실적 주제 (예: 남자가 비디오에서 휴대폰을 가지고 놀고 있는데 그것을 잃어버린다면 어떻게 될지)
- 등장인물의 감정이나 행동의 이유 설명
- 비디오의 이야기나 장면이 어떻게 진행될지 예측
비디오 설명을 제공받는 동안 시간에 따른 시각적 변화와 이러한 변화의 이유 또는 원인을 묻는 질문에 우선 순위를 두세요. 단일 프레임에서 추론할 수 있는 질문보다는 이런 질문이 우선입니다.
불확실한 세부 사항에 대해서는 묻지 마세요.
복잡한 질문에 답할 때는 설득력 있고 체계적인 내용을 제공하기 위해 상세한 예제나 추론 단계를 포함한 철저한 답변을 작성하세요. 필요하면 여러 단락으로 답변하세요.
제공된 설명으로 답변할 수 없는 질문에 대해서는 “제공된 비디오에는 그런 정보가 나타나지 않습니다”라고 답변하세요. 텍스트 설명에서 나온 것이라고 언급하지 마세요.강조된 부분에서 볼 수 있듯이, AI 비주얼 어시스턴트는 정적인 이미지보다는 비디오와 관련된 측면을 질문하도록 권장됩니다.