안녕하세요🤗 ~!
SKT AI Fellowship 6기 '대규모 Multimodal AI모델을 이용한 영상 검색 시스템 개발' 연구를 수행중인 📺텔레토비전 팀📺 입니다 ~!
이번 글에서는 중간 발표까지 진행된 연구 내용과 멘토분들의 피드백을 반영한 향후 계획을 말씀드리고자 합니다.
기존의 AI를 활용한 지능형 관제 시스템은 사전에 정의된 이벤트만을 탐지하고 분석할 수 있기 때문에 다양한 사용자의 요구를 충족하기 어려움이 있습니다.
관제 시스템 UI는 현재 대부분의 업체가 거의 동일한 형식을 사용하고 있으며, 이는 Open Set 검색 및 분석이 불가능한 한계점을 가지고 있는데요.
본 연구는 대규모 Multimodal AI 기술을 이용한 영상 검색 및 분석 시스템의 도입을 통해 기존의 지능형 관제 시스템을 개선시키고자 합니다.
구체적으로 Smaller Large Language Model, Retrieval-Augmented Generation 등 최신 AI 기술을 활용하여 실시간 관제 시스템을 고도화 하고자 합니다.
이를 통해, 관제 시스템 UI에 정의되지 않은 데이터를 검색하고 영상에 대한 설명문 생성, 통계 분석 시각화 등의 지식 기반 서비스를 개발하고자 합니다.
영상, 텍스트 및 비주얼 프롬프트 정보를 활용하여 단일 모달에서 해석하기 어려운 종합적인 상황을 이해하는 Multimodal AI 모델의 성능이 지속적으로 향상되고 있습니다.
Large Language Model의 발전으로 자연어에 대한 깊은 이해를 통해 인간과 소통하며 복잡한 문제를 효과적으로 처리할 수 있습니다.
AI 기술은 무어의 법칙보다 빠른 속도로 발전하고 있는 추세로 우수한 성능의 AI 모델을 적극적으로 활용하여 실제 서비스에 적용할 필요가 있는데요.
무의미하게 매일 누적되는 영상 데이터는 메모리 관점에서 매우 비효율적인 원시 데이터입니다.
Multimodal AI 기술을 활용하여 영상 데이터에 대해 새로운 정보를 추출하고 의미 있는 고품질의 데이터로 가공하고자 합니다.
가공된 데이터는 영상 검색 및 분석에 사용될 수 있는 유용한 정보를 갖는 효율적인 형태로 저장되어 해석할 수 있는 장점을 가집니다.
따라서, 저희 연구 과제의 주요 연구 목표는 “영상 데이터를 가치 있는 데이터로 가공하여 다양한 사용자의 요구를 충족시킬 수 있도록 활용하고자 함.” 입니다.
사용자에게 중요한 영상을 검색하고 영상의 상세한 설명을 제공하는 영상 검색 서비스 개발을 목표로 서비스 관점과 기술적 관점 2가지로 접근하였습니다.
1. 기존 실시간 관제 시스템에 추가하고자 하는 서비스
2. 추가하고자 하는 서비스를 위한 기술 및 연구적 접근
다음은 구체적으로 기술 및 연구적 아이디어를 소개드리겠습니다.
1. 프레임 단위의 데이터를 활용한 영상 검색 및 분석 파이프라인 구축
비디오 영상 원시 데이터를 저장하고 활용하는 방법은 현실적으로 제약이 많습니다.
때문에, 이미지 프레임 단위의 데이터를 활용하여 영상 검색 및 분석 시스템을 개발하고자 하였습니다.
이미지 프레임으로부터 실시간 다중 객체 탐지 및 추적 정보를 추출하여 LLM의 입력 값으로 사용합니다.
LLM을 통해 생성된 프레임 캡션의 모음으로 하나의 영상을 정의한 후, 영상 검색 및 분석을 진행하였습니다.
2. 영상으로부터 유용하고 다양한 데이터 저장 및 추출
가치 있는 데이터로 가공하기 위해 영상으로부터 객체 식별, 객체 추적, 객체 간 관계에 대한 정보를 추출해야 합니다.
아래의 그림 한 비디오에 대해 저장되는 JSON 파일 형식을 나타내었습니다.
LLM 답변 생성 시 발생하는 문제점으로 크게 2가지가 있었습니다.
1. 프레임 단위의 분석으로 인해 전체 영상의 시간적 흐름에 따른 문맥을 파악하여 정밀한 분석을 진행하는데 한계가 존재하였습니다.
2. 프레임 이미지만을 LLM의 입력으로 사용할 경우\, 객체에 대한 인식 성능과 객체 간 상호작용을 정확히 파악하는데 한계가 존재하였습니다.
1번 문제를 해결하기 위해, Temporal Visual Prompt 방법론을 제안하였습니다.
2번 문제를 해결하기 위해, Verbalization 및 Visual Marker 방법론을 제안하였습니다.
단일 프레임에 대한 답변 생성은 영상에 대한 시간적 정보를 반영하지 못하는 문제점이 발생합니다.
이를 해결하기 위해, 다중 프레임을 단일 이미지로 구성하여 LLM의 입력 값으로 사용하였습니다.
다중 프레임의 경계를 구분하기 위해 프레임 경계선을 삽입하였으며,
다중 프레임의 순서를 정확히 인식하기 위해 프레임 색인을 프레임 경계선 위에 삽입하였습니다.
Temporal Visual Prompt 방법론을 적용하면 연속된 프레임에 대한 정보를 반영하여 시간적 문맥에 따른 답변을 생성합니다.
숫자를 이미지 내에 삽입하면 이미지에 대한 정보가 훼손되는 문제점이 발생할 수 있습니다.
LLaVA의 OCR 기능은 매우 정확하므로 프레임 경계선 위에 프레임 색인을 삽입한 후 시스템 프롬프트를 사용합니다.
⭐ (As-Is) 오토바이 교통 사고만을 인식하여 상황을 답변해고 어떤 차량이 사고에 연루되었는지에 대한 분석은 없습니다.
🌟 (To-Be) 오토바이 교통사고에 연루된 차량으로 흰색과 검은색 차량 등을 식별합니다.
ByteTrack YOLOv8 모델을 사용하여 프레임에 대한 Class ID, Bbox, Class Num, Track ID를 추출하였습니다.
추출된 정보를 언어화 하여 보조 프롬프트를 생성한 후 거대 언어 모델의 입력 값으로 사용합니다.
E.g. "Can you please describe this image? The image includes bounding box and their objects: [0.64, 0.12, 0.78, 0.17] person, and [0.61, 0.11, 0.63, 0.30] car, and [0.42, 0.16, 0.46, 0.23] bike.“
Bbox 값은 이미지 크기를 기반으로 최대-최소 정규화와 소수점 둘째자리 반올림 처리를 진행하였습니다.
Verbalization 방법론을 적용하면 객체에 대한 인식 성능과 상황에 대한 답변의 정확성이 향상되었습니다.
최대-최소 정규화를 하지 않으면, Bbox를 인식하지 못하고 위치가 맞지 않다는 답변을 생성하게 되었습니다.
소수점 반올림을 하지 않으면, 입력 토큰 개수 길이가 너무 증가하여 답변의 품질이 떨어지는 문제가 발생하였습니다.
⭐ (As-Is) 객체에 대한 인식보다는 전체적인 배경에 대한 묘사만을 답변합니다.
🌟 (To-Be) 객체에 대한 인식 성능이 향상되고 상황에 대해 구체적인 묘사가 가능해집니다.
기존의 VQA 모델은 전체적인 이미지를 이해하는 능력은 우수하나 세부적인 영역별 이해 및 인식 능력은 부족한 문제가 있습니다.
Object Detection 모델을 통해 생성된 Bbox Visual Markers를 이미지 프레임에 합성하였습니다.
Bbox Visual Markers를 통해 프레임 이미지에 메타 데이터 정보를 추가하여 객체의 시각적 보조 정보를 효과적으로 표현하였습니다.
Visual Markers는 특정 임계값 이하의 불필요한 마커를 제거하고 적용되어 중요한 객체 간의 상호작용을 집중적으로 분석할 수 있습니다.
Visual Markers 방법론을 적용하면 객체에 대한 인식 성능과 상황에 대한 답변의 정확성이 향상되고 객체 개수에 대한 답변이 생성됩니다.
Class ID에 따른 Bbox 색상을 정의한 후 시스템 프롬프트로 Visual Markers를 이해하는 구체적인 방법을 전달하였습니다.
E.g. “In the Image, green boxes represent people, red boxes represent cars, and blue boxes represent bikes.”
⭐ (As-Is) 객체에 대한 인식보다는 전체적인 배경에 대한 묘사만을 답변합니다.
🌟 (To-Be) 객체에 대한 인식 성능이 향상되고 상황에 대해 구체적인 묘사가 가능해지며, 범주별 Bbox 개수에 대한 답변을 생성하게 됩니다.
실험 결과 단계적으로 1) Verbalization, 2) Verbalization + Visual Markers, 3) Verbalization + Visual Markers + Temporal Visual Prompt 를 적용한 결과 비디오 장면에 대한 더욱 구체적인 답변과 이벤트를 잡아내는 것을 볼 수 있었습니다.
하지만, 다양한 영상에 대해 실험하면서 Temporal Visual Prompt의 한계점을 발견하였는데요.
이전 시점을 많이 반영할 수록 각 프레임의 해상도가 낮아졌습니다.
Verbalization을 활용하기 위해 현재 프레임의 Bbox 좌표 값을 보정해야 했습니다.
다중 프레임의 경계와 순서를 인식하는데 모델의 성능 편차가 매우 컸습니다. (GPT-4o, llama3-llava-next-8b, vip-llava-7b-hf 등)
위의 문제점을 해결하기 위해 입력 프롬프트에 이미지를 순차적으로 넣는 conversation 방법론을 적용하였습니다.
Queue를 활용하여 연속적인 이미지를 순차적으로 입력하고 시스템 프롬프트로 최적화 하였습니다.
영상 데이터로부터 생성된 caption 데이터를 활용하여 Text to Video Retrieval 문제를 Text to Text Retrieval 문제로 환원하였습니다.
생성된 프레임 캡션을 GPT, Claude의 입력 값으로 사용하여 비디오 영상 요약문 및 시각화 그래프를 생성합니다.
이후, 비디오 영상 요약문을 Chunking 하여 Faiss, Weaviate 등 Vector DB에 저장합니다.
Vector DB에서 제공하는 Embedding 모델을 통해 Similarity, Maximum Marginal Relevance 등의 방식으로 유사도를 계산하여 검색 시스템을 개발할 계획입니다.
현재 비디오 영상 분석 파이프라인은 구축하였으며 비디오 영상 내 검색 부문에서 실시간 다중 객체 탐지, 객체 추적 및 상황 인식 과제는 해결하였습니다.
9월까지 전체적으로 시스템 개발 후 서비스 배포를 위한 모델 고도화 및 최적화를 진행할 예정입니다.
중간 발표 피드백에서는 정량적 평가에 대한 내용이 많이 나왔습니다.
따라서, 텔레토비전 팀에서는 아래와 같이 4가지 항목을 중심으로 멘토님들과 의논하여 향후 목표를 설계할 예정입니다.
📺텔레토비전 팀📺 다음 글로 뵙겠습니다✨
감사합니다.