[SKT AI Fellowship] 7월 1일 (월) 7차 회의록

함지율·2024년 7월 1일
0

디그다의 꿈 속

목록 보기
10/12
post-thumbnail

안녕하세요🤗 ~! 📺텔레토비전입니다📺 ~!
지금 2차 회의록까지 공유드렸는데요! 이번에는 앞선 회의 내용의 결과를 모아 7차 회의록 공유 드리려합니다.

2차 회의록에서는 LLaVA-NeXT Image 모델과 Visual Prompt를 활용한 영상 분석, caption에 대한 실험해보았습니다. 이번 회의록에서는 LLaVA-NeXT Video 모델을 활용한 실험 내용과 멘토링때 받은 피드백을 반영하여 앞으로의 방향성을 말씀드리려 합니다.

비디오 영상 분석 파이프라인 구축

1. Baseline Model로 LLaVA-NeXT-Video 모델을 사용하였습니다.

  • LLaVA-NeXT-Video는 Direct Preference Optimization(DPO) 강화학습 기법을 적용한 모델을 제공합니다.
  • LLaVA-NeXT-Video-DPO는 Hallucination을 크게 감소시키며 7B, 34B 모델이 제공됩니다.

2. LLaVA-NeXT-Video 모델의 Hyperparameter는 다음과 같습니다.

  • Example model: lmms-lab/LLaVA-NeXT-Video-7B-DPO
  • Prompt mode: vicuna_v1 (use mistral_direct for lmms-lab/LLaVA-NeXT-Video-34B-DPO)
  • Sampled frames: 32 (Defines how many frames to sample from the video.)
  • Spatial Pooling stride: 2 (With original tokens for one frame at 24x24, if * stride=2, then the tokens for one frame are 12x12.)

3. 파이프라인은 다음과 같이 구축하였습니다.

4. 정성적 평가 데이터셋은 총 13가지 범죄 이상 상황을 제공하는 UCF-CRIME을 사용하였습니다.

5. 실험 환경

  • RTX A6000 x 2

평가 데이터셋 실험

0. 실험 세팅

  • 모델은 7B, 7B-DPO, 34B, 34B-DPO을 비교 분석하였습니다.
  • 또한, 프롬프트 튜닝, 입력 프레임 개수 조절, 입력 비디오 화질 업스케일 & 다운스케일, 영상 CLIP을 통한 하이라이트 구간 분석을 진행해 보았습니다.

1. Base line default setting

7B 모델에서 사용된 Query와 모델을 그대로 사용하였습니다. 7B 모델의 세팅은 다음과 같습니다.

Question: A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions.

USER: [image] Please provide a detailed description of the video, focusing on the main subjects, their actions, and the background scenes

34B 모델에서 사용된 Query와 모델을 그대로 사용하였습니다. 34B 모델의 세팅은 다음과 같습니다.

Question: <|im_start|>system
Answer the questions.<|im_end|><|im_start|>

User: [image]Please provide a detailed description of the video, focusing on the main subjects, their actions, and the background scenes<|im_end|><|im_start|>

실험


영상은 Abuse(학대) 클래스이고 영상 길이는 1분 30초로 320x240 해상도를 가집니다.

결론

  1. Baseline Model의 Default Setting으로는 이상 행동을 탐지하지 못합니다.

2. Frames의 값을 2배로 늘림 (32->64)

이상 행동 프레임이 입력 되지 않았을 경우에 답변을 못할 수 있고, 문맥 파악을 못할 수 있기 때문에 프레임을 2배로 늘렸습니다.

결론

  1. Sampled frames을 늘리면 추론 시간이 길어지면서 더 자세한 설명의 답변을 생성하지만 이상 행동을 탐지하지 못합니다.

3. Prompt Engineering

“The video includes scenes of {action}”라는 프롬프트를 추가하였습니다.

실험

34B + Prompt Engineering의 결과입니다. 7B, 7B-DPO, 34B-DPO에서는 이상 행동을 탐지하지 못했습니다.

Question: <|im_start|>system
Answer the questions.<|im_end|><|im_start|>

user[image]The video includes scenes of abuse. Please provide a detailed description of the video, focusing on the main subjects, their actions, and the background scenes<|im_end|><|im_start|>

답변: 영상은 공공장소에서 벌어지는 학대 장면을 묘사하고 있습니다. 주요 주제는 두 사람이며, 그 중 한 명은 다른 한 명에게 신체적, 언어적 학대를 당하고 있습니다. 가해자는 피해자를 밀치고 밀치는 모습이 보이고 피해자는 몸을 굽혀 자신을 보호하려고 애쓰는 모습이 보인다. 가해자는 피해자를 향해 고함을 지르고 경멸적인 언어를 사용하는 소리도 들립니다.

장면의 배경에는 학대에 직접적으로 연루되지 않은 자신의 사업을 하고 있는 것처럼 보이는 몇 명의 다른 개인이 참석한 공공 장소가 나와 있습니다. 배경은 포장된 바닥과 맑은 하늘이 있는 야외 공간으로 보입니다.

해당 영상은 폭력과 학대를 명확하게 묘사하고 있으며, 그러한 행위는 용납될 수 없으며 관련 당국에 신고해야 한다는 점을 기억하는 것이 중요합니다.

결론

  1. Prompt Engineering을 활용하면 이상 행동을 탐지함.

4. Prompt Engineering + Frames(32->64)

Prompt Engineering 과 frame 개수를 두배로 늘렸습니다.

결론

  1. Sampled frames을 늘리면 더 많은 정보를 전달 받아 이상 행동을 탐지할 수 있는 가능성이 높아질 수 있습니다.
  • 하지만 전체 영상의 길이가 길고 이상 행동이 매우 짧은 순간에 발생한 경우, Sampled frames을 늘리면 이상 행동이 아닌 정보에 더 많은 영향을 받을 수 있습니다.
  • 모델의 가용성적인 부분에서 Sampled frames=32, Spatial Pooling stride=2는 합리적인 값이라고 판단됩니다.
  • Zero-shot으로 Question Answering을 수행할 때, Prompt Engineering이 성능에 중요한 역할을 미칩니다.

5. Prompt Engineering + CLIP/CROP

Prompt Engineering 과 영상의 중요 부분만을 CLIP 하거나 확대하는 CROP을 수행해보았습니다.

결론

  1. Clip이나 Crop은 영상의 문맥을 이해하는데 크게 영향을 미치지 않았습니다.
  1. DPO 강화 학습 방법이 적용된 모델은 비윤리적인 답변을 생성하지 않기 위해 때문에 영상의 설명이 부족할 수 있습니다.
  • 따라서, 이상 행동을 탐지하기 위해 DPO가 적용되지 않은 모델을 사용하였습니다.
  • 영상의 정보를 정확히 이해하고 답변하는 것이 아닌 질문의 정보를 기반으로 답변이 생성될 가능성이 존재합니다.
  • Visual 또는 Text Prompt를 활용하여 영상의 중요한 정보를 LLM에게 효과적으로 전달하는 방법을 고안해야할 필요성을 느꼈습니다.
  • 다른 영상 또는 이상 행동에 대해서도 실험을 진행하고자 하였습니다.
    유의미한 답변을 생성하는지 정성적 평가를 진행할 필요가 있습니다.

이후, 34B + Prompt Engineering 세팅을 고정하여 실험을 나머지 11개의 클래스에 대해서도 수행하였습니다.

Case 요약

  1. 이상 행동을 탐지하기 위해 DPO가 적용되지 않은 모델을 사용함.
  2. 모델의 가용성적인 부분에서 Sampled frames=32, Spatial Pooling stride=2는 합리적인 값이라고 판단됨.
  3. Zero-shot으로 Question Answering을 수행할 때, Prompt Engineering이 성능에 중요한 역할을 미침.

멘토링 피드백

전체적인 피드백은 현재 진행한 실험이 너무 고차원적이기에, 객체간의 관계 정도를 명확히 설명할 수 있는 정도만 되도(클래스를 판단하는게 아니라) 불, 사람이 비디오에 나오는 정도만 잡으면 될 것 같다고 말씀하셨습니다!

피드백 요약

  1. 비디오 모델을 사용하는 것이 옳을까?
  2. 방화, 침입, 교통사고, 강도, 총격 등을 탐지 하는게 우리가 원하는것인가 + 너무 어려운 방식이지 않은가?
  3. 상황별로 프롬프트를 넣어주는게, 랜덤하게 올라오는 영상분석에 맞는 방식일까?
  4. 방화 -> 불, 사람 / 총격 -> 총, 불빛, 사람 / 폭행 -> Crowded / 교통사고 -> 누워있는 사람, 도로 / 강도 -> 마트, 총, 선글라스 (이런 객체 기반 접근이 더 현실적이지 않을까)
  5. DB화 해서 어떻게 검색에 활용할 수 있을까에 대한 접근 관점이 맞음.

따라서, 저희가 최종적으로 가고자 하는 방향성을 직접 구조도를 그리며 일치 시켰습니다~! 처음에 제가 그렸지만 보시다시피ㅎㅎㅎ 알아 볼 수 가 없네요!!!

멘토님이 바로 그려주셨습니다!
이때, 팀원분들 다 집중하느라 표정이 심각하네요..ㅎㅎ

앞으로의 방향성

  1. Twelve labs의 예시처럼 비디오 벡터를 DB화 저장 후 Text를 통한 검색 시스템 구축
  2. 객체에 대한 정보(class, bbox, class)와 메타 정보(time stamp)를 추출하여 DB화 저장 후 활용 시스템
  3. 이를 활용한 LLM 답변 생성

먼저 이번 2주간의 목표는 비디오 벡터 DB화 저장 후 Text를 통한 영상 검색을 하고자 합니다. 그 후, 객체 정보와 메타 정보를 DB화 하여 하나씩 채워나가고자 합니다🤗

다음 회의록은 위와 같은 내용으로 담아 보겠습니다~! 이제 소확행 잠깐 감상하고 가시죠😊

소확행 ON


매번 늦게까지 같이 공부하고 실험 세팅 맞추며 논문 애기하던 최고의 팀원들ㅎㅎ
후문을 지키는 호랑이 (아우라가 장난아니다!)
정말.. 또 먹고 싶은 스시 😱 정말 맛있었습니다...

profile
꿈 꾸는 디그다

0개의 댓글