[Neurocomputing 2024] OV-VG: A Benchmark for Open-Vocabulary Visual Grounding

안녕하세요. 금주 kccv 세미나에서 “현대 사회에서 비록 산업 분야로 나아가든 혹은 그렇지 않든, 우리의 연구에 대해 ‘돈이 될 수 있는지’ 즉, 비즈니스 모델을 상정함 또한 매우 중요한 과제이다”는 말씀을 드렸는데, 그러면서 제가 연구실 초반 원하는 연구의 결인 자율주행에 그치지 않고 지금은 그 이상을 바라보는, 자율주행 시대가 이미 도래한 시점에서의 인포테인먼트 혹은 사용자와 차량 간의 상호작용을 위한 연구를 고려하고 있습니다. 예시를 더불어 한 문장으로 요약하자면, 자율 주행 차량 내의 탑승자가 창 밖을 바라보며 지나가던 행인의 스타일이 좋아 보입니다. 그렇다면 차량에 다음과 같이 질문할 수 있죠. “저기 오른쪽에 우산을 들고 있는 남성의 바지는 어느 제품이야?” 위 질문에 차량이 대응하기 위해서는 다음의 인공지능 능력이 필요할 수 있습니다.

0. 사용자 질문 시점에서의 장면을 데이터베이스에 임시로 저장함

1. 오른쪽의 우산을 들고 있는 남성의 바지를 검출함

2. 해당 바지를 데이터베이스 검색 등 (e.g. RAG)을 통해 동일하거나 혹은 유사한 제품을 검색하여 추천, 또는 그 이상의 정보를 제공함.

바로 위의 과정에 해당하는 연구를 진행하고 싶습니다. 자율 주행을 위해서는 지연 시간 등을 고려 시 only-Vision이 필요하지만 (더 좋은 성능을 위해 Language 정보가 필요하다고 말할 수는 있지만, 과연 자율 주행 시 실시간 텍스트 입력을 할 수 있을지는 의문입니다), 그 이후의 비즈니스 모델을 고려 시에는 텍스트, 오디오 등을 통해 상호 작용하여 사용자의 만족감을 높이는 연구에 관심이 생깁니다.

그럼 오늘 소개해드릴 본 논문은 Neurocomputing이라는 Q1급 저널에 등재된 논문이지만, 저자의 Github에서 한 질문 “It seems a good work, why does this work merely accept in Neurual Computing? May be can accept by more top conference or journal.”이 달릴 정도의 좋은 연구라 생각됩니다. 본 논문에 대해 간략히 요약하자면 “Open-Vocabulary 상황을 상정한 Visual-Grounding 연구”입니다. 위 우산을 들고 있는 남성의 바지를 검출하는 예시처럼 특정 입력이나 문구에 대해 이를 이해하고, Visual-Grounding, 즉 해당 문구에 어울리는 객체를 검출해내는 연구입니다. 이는 단순 Detection과는 “입력 문구를 이해하는 검출”의 관점에서 차이를 보입니다. 하나의 장면에 대해 남성이 여러 명 일수도, 또는 우산을 들고 있는 남성이 여러 명일 수도 있지만, 그 중 오른쪽에 위치하며 우산을 들고 있는 남성 (그 이상의 정보가 필요할 수 있지만 이는 필요 시 상호 작용을 통해 검출해낼 수 있습니다)을 정확히 검출해냄에 초점을 맞추고 있습니다. Open-Vocabulary도, Visual-Grounding도 처음 소개되지는 않았지만 그 둘을 결합한 연구는 제가 보기에도 첫 연구로 보입니다. 앞으로 더욱 성행할 연구로 보이기도 하며, Open-Vocabulary Object Detection 이후 Open-Vocabulary Semantic Segmentation이 소개된 사례와 같이, 해당 연구를 Segmentation 영역으로 확장하기만 하더라도 괜찮은 연구로 인정받을 수 있지 않을까 싶지만, 뒤 성능을 확인한다면 아직 해당 연구조차 Foundation model을 기반으로 하지만 훨씬 많은 성장을 보여야 함을 떠올립니다. 논문 자체는 어렵지 않으니, 핵심을 간략히 소개해보겠습니다.

Introduction

Visual Grounding은 Linguistic reference, 자연어 입력에 따라 객체의 정확한 위치를 추론하는 연구입니다. Visual Grounding에 대해서는 다양한 영역, 특히 최근 성행하는 Robot navigation 등에서 중요한 연구이며 실용성에 비추어 보아 굉장한 가능성을 지닙니다. 초기 연구들은 Vision-Language 간의 표현력을 동일시하는데 초점을 두어 발전을 이루었으나 CLIP, GPT-Vision 등의 등장 이후의 연구들은 그들 Foundation model 또는 LLM의 사전 지식을 활용하는데 초점을 맞추었으며 전체적인 네트워크는 그들을 활용하며 더 좋은 정보를 가질 수 있도록 튜닝하는 방향으로 성장하였습니다.

최근 Open-Vocabulary 연구 또한 굉장한 가능성을 보이지만, Novel-category를 검출함이 핵심이기에 이들 또한 CLIP 등의 Foundation model을 활용하여 발전해오고 있습니다. 하지만 이들의 문제점은 Foundation model 등의 대용량 학습 데이터가 아닌 새로운 클래스의 객체를 검출 시에는 기존 클래스 (Base)들에 과적합 된 양상을 보이거나 반대로 또 다른 의미로 새로운 클래스에 대해서도 좋은 성능을 보일 수 있는 가능성을 보입니다. 위 문제점 및 가능성을 토대로, 저자는 이전 연구들을 토대로 새로운 가능성인 Open-Vocabulary와 Visual-Grounding을 결합한 “OV-VG” 연구를 제안합니다. 이를 위해 저자는 1. OV-VG 태스크를 위해 재구성한 데이터 셋을 소개하며, 이는 이전 COCORef 등의 데이터 셋의 이미지를 활용하며 새로운 Reference annotation을 위해 데이터 셋을 생성하였습니다. 2. Open-Vocabulary Phrase Localization (OV-PL) 태스크를 소개합니다. Phrase Localization은 Visual Grounding과 달리 “한 문장 내 언급되는 객체를 모두 검출함”에 의의가 있으며, Visual Grounding은 “한 문장 내 설명되는 문구들이 하나의 객체를 가리키며, 핵심인 이를 검출함”에 차이가 있습니다. 3. Ov-VG, OV-PL은 하나의 네트워크 만으로 해낼 수 있으며, 이들은 (베이스라인이므로) 간단한 구성을 가지고 있습니다.

Dataset Construction

본 Section에서는 OV-VG 태스크에 대해 저자가 세팅한 데이터 셋을 알아보고 넘어가겠습니다. 모든 연구가 새로운 태스크를 소개하진 않지만, 처음 소개되는 태스크는 보통 데이터 셋을 어떻게 세팅하는 지가 핵심입니다. 저자가 제시하는 OV-VG 태스크는 7,272개의 이미지와, 10,000개의 Instance를 포함하고 있습니다. 모든 이미지는 COCO에서 가져왔으며, RefCOCO, RefCOCO+, RefCOCOg의 Visual-Grounding 학습 데이터 셋과는 분리되어 있습니다. 모든 이미지가 COCO에서 가져왔기에 COCO의 80개 클래스를 Base(Known) class로 지정하며, 또 다른 Long-tailed 구성의 LVIS 데이터 셋의 100개 클래스를 Novel(Unknown) class로 지정합니다. 7,272개의 이미지 중, Phrase Localization 특성에 맞추어 1,000개의 이미지를 선별하여 OV-PL 태스크에 활용하며 두 태스크에 대해 추가적인 Annotation이 필요 시 이를 위해 Annotator도 고용합니다.

추가적으로 필요한 Annotation으로는 우선 Novel class에 대한 Annotation이 있습니다. COCO에서의 Bounding Box 외 Novel class에 대한 Annotation이 필요하기에, LVIS 데이터 셋의 클래스를 위해 Annotator를 고용하여 직접 진행하였습니다. 그럼 OV-VG의 데이터 셋 예시와, 이전 Visual Grounding 연구의 데이터 셋을 비교해서 보겠습니다. 우선, OV-VG 데이터 셋 예시입니다. 파란색의 Bounding Box가 검출하고자 하는 GT에 해당합니다.

위 Reference를 보신다면 “하나의 문장이 하나의 객체를 설명하기 위한 부사구 등을 포함”하여 특정 객체를 가리키고 있습니다. 위 데이터 셋을 위해서는 기존 OV-VG에 비해 더욱 세세한 설명이 필요한데, 아래 예시를 통해 비교해보겠습니다.

현존하는 Visual Grounding 데이터 셋인 RefCOCO, RefCOCO+, RefCOCOg의 예시를 확인해보면, 저자는 RefCOCO의 경우 left와 같은 Target에 대한 Position word가 동반함을 주고 있음을 언급합니다. 반면 RefCOCO+는 Position word를 Action behavior로 대체하며, RefCOCOg는 조금 더 상세한 Reference를 포함합니다. 저자가 제시하는 OV-VG에서는 Base class에 해당하는 Phone 외에도 Novel class인 Antenna가 존재하며, Position word도 포함됩니다. 이는 저자가 Orientation이나 Attribute 등에 제한을 두지 않고 Real-world에서 실재할 수 있는 Reference 형태로 구성하고자 의도했기 때문입니다. 이제 OV-PL 태스크를 위한 데이터 셋의 경우 Base class만 존재하는 Reference와, Base와 Novel class가 모두 포함되는 Reference 두 종류가 포함됩니다. 이 때 OV-VG와 다른 점은 맨 왼쪽 예시에서 “A person”만 예측함이 아닌 “Ski”, “Ski poles”와 같이 명사 구에 대해 모두 검출함을 목표로 합니다. 단, Mountain과 같이 배경과 관한 설명에 해당하는 부분은 검출 목표 대상이 아닙니다.

Bounding box의 경우, 위 Antenna 예시와 같이 다양한 크기의 Bounding box를 포함함을 목표로 합니다. 이는 현실적으로 더욱 많은 경우의 수를 포함시킬 수 있으며, 아래 그래프 예시와 같이 단순히 정사각형의 형태만이 아닌 Width와 Height가 다양한 형태로 존재함을 목표로 합니다.

Methodology

전체 네트워크 구성은 OVD (Open-Vocabulary Detection)의 기초 구성과 유사합니다. 어떻게 보면 저자는 해당 새로운 태스크의 소개가 메인으로, 네트워크 구성은 특별히 새로운 점은 찾기 어려웠습니다. 아래에서 소개드리겠지만, 핵심은 “Image(Visual)와 Language 간의 정보를 동일한 Space에서 학습함을 목표로 하며, 그 둘 간의 정보를 교류 및 통합하는 Attention 방식을 통해 Grounding을 진행함”입니다.

네트워크는 이미지와 해당 이미지를 설명하는 Reference (Caption)의 한 쌍을 입력으로 받아 Image Backbone은 ResNet, Swin-Transformer 등을 활용하여 VIsual feature를 추출하며, Reference는 CLIP, BERT 등을 통해 Text feature를 추출합니다. 이후 Multi-head Self Deformable Attention (MSD Atten)을 통과하며, Text Embedding도 마찬가지로 Self attention을 통해 동일한 형태의 Feature vector 형태로 가지고 있습니다. Image-text Cross-modality, Text-image Cross-modality는 Image와 Text를 각각 Query, Key-value 또는 그 반대의 형태로 Cross-attention시켜 둘을 동일한 Space 내에서 서로의 정보를 교환하도록 의도하며, 이후 Text-image Query selection과 Language-guided Feature attention을 통과합니다. 이 둘은 저자가 제안한 모듈로, 아래에서 살펴보겠습니다.

Language-Guided Feature Attention Model

Multi-head Attention에 기반을 둔 해당 모듈은 Flatten한 Image feature vector를 Query, Text embedding을 key-value로 삼아 Attention을 수행합니다. 저자는 이들의 목적을 Image feature와 Text embedding 간 align을 맞추어 Text embedding이 Image feature에 대한 Semantic map을 생성해낼 수 있으며, Semantic map을 통해 계산한 Semantic relevance를 통해 Text information에 대해 가장 관련성 있는 영역을 택할 수 있음을 언급합니다. 결국 Semantic relevance score를 통해 찾아내어야 하는 객체에 대한 연관성을 계산함이 최종 목적이며, 제 생각에는 해당 과정이 이전 Feature encoder의 Cross-attention만으로 어느 수준 충분하진 않았을까, Semantic map은 단순히 두 Feature 사이의 곱을 통해 생성해낸 Semantic matrix만으로도 되지 않았을까 하는 생각이 듭니다.

Text-image Query Selection

Visual-language 간의 연관된 표현력, 이해력을 향상시키고자, 저자는 해당 모듈을 설계하였으며 이는 Proposal이 생성되고, Flatten image feature와 Text embedding을 Einsum(내적)하여 Logit score로 가지고 있습니다.

위 Logit score는 두 정보 (Image, Text) 간의 유사성을 측정하며, Logit score에 따라 Proposal을 정렬하여 Top-k의 Query를 선택합니다. 해당 부분이 최종 선택이 되는 부분이 아니라 코드로 조금 더 살펴보긴 해야겠네요. 해당 Selection 모듈을 통과한 Top-k개의 출력만 Decoder의 Key-value로 사용됩니다.

Feature Decoder에서는 Top-1의 Target object (위에서 설명드렸듯 OV-VG에서는 영상 당 문구가 설명하는 하나의 객체 검출을 목표로 합니다)의 bounding box를 선택하고자, 저자는 DINO에서 활용된 Decoder를 선택하며 이에 더해 몇몇 Text feature에 대해 attention layer를 추가하여 정보를 더욱 향상시킵니다. 이전 Feature Encoder와 유사하게 Self-attention과 각 모듈들의 출력을 Key-value로 활용하는 Cross-attention을 통해 표현력을 향상시키며, 최종으로 하나의 FFN을 통해 Proposal 하나를 선택합니다. Visual Grounding 논문은 처음봐서.. 후에 코드를 보게 된다면 다음 논문에선 자세히 소개해보겠습니다.

Experiments

실험은 두 장의 3090 GPU에서 진행되었습니다. 이는 곧 저도 해당 연구를 진행함에 큰 무리가 없어 보입니다. 실험 시에는 OVD의 세팅에서도 실험을 진행하며 (앞서 말씀 드린 바와 같이, 해당 네트워크 구성이 OV-VG를 위한 특별히 다른 점은 없어보입니다. 해당 네트워크 구성으로 OVD, VG 모두 할 수 있습니다)

그런 측면에서 Sota의 VG와 OVD의 벤치마크 표에서 비교를 합니다. 특이한 점은 평가를 Small, Middle, Large의 객체 크기로 평가하는데, 이에 대해 특별한 언급은 없지만 VG에서의 성능을 보면 Acc50기준 3.64? 처참한 수준으로 낮습니다. 사실 3.64의 수준이면 그냥 찍어 맞춘 수준으로 보는데, 그렇기에 Visual Grounding 태스크는 아직 성숙도가 완성치 않다고 평가됩니다. 반면 아래의 OVD 연구는 꽤나 성행하고 있기에 Grounding DINO 가 현재 Sota이며, 그들의 네트워크 구성을 맞추고자 BERT와 Swin-T를 활용하여 조금 나아진 성능을 보이며 저자는 이에 대해.. 다른 언급은 없습니다. 제 생각에 초반 부에 다른 이가 본 논문을 왜 더 좋은 저널이나 학회에 내지 않았는지 언급하였는데, 해당 논문에선 특히 실험 파트에서 단순 성능 리포팅만 할 뿐, 특별한 고찰이 보이지 않으며 또한 논문 작성 실력에서 단어 선택 등이나, 문장을 풀어내는 점이 약해 잘 읽히지 않아 아쉬웠습니다. 해당 점도 논문이 어느 학회나 저널에 붙을 지 선택하는데 핵심적인 역할을 하지는 않나 생각이 듭니다.

해당 테이블은 저자가 Data Leakage로 표현하는 추가적인 Pre-train Data가 존재할 때의 Acc50은 OV-VG 환경에서 좋은 성능을 보일 수 있으며, 더불어 Method 파트에서 설명드린 두 모듈에 대한 Ablation study입니다. 물론, 두 모듈을 동시에 활용 시에 더 좋은 성능을 보이긴 하며, OV-VG에서는 Pre-training 데이터에서 사전 지식을 학습한 이후, Fine-tuning 하는 방식이 성능에 획기적인 도움을 줍니다 (당연하지만, 그리고 현재 저자가 세팅한 데이터 셋은 그 수가 너무 적습니다).

위 결과는 검출 실패에 대한 예시를 보여주는데, Text Input에서 “black and white”와 같이 cushion에 대한 묘사가 잘못되어 있는 부분 또는 Small Target (검출하기엔 사람이 봐도 너무 작네요)의 경우, 그리고 실제로 해당하는 객체가 여러 개가 있는 경우, 검출에 어려운 모습을 보입니다.

이번에는 OV-VG에서 검출에 성공한 (가장 오른쪽이 Ours) 사례로, 저자는 성공 사례의 경우 Image와 Text 간의 정보 교환 및 동일 Space 내에 있음이 중요함을 언급하며, 본 논문의 리뷰를 마무리하겠습니다. 성능 면에서는 아직 연구되어야 하는 측면이 많다고 생각되지만, 실제 쓰임새는 엄청날 수 있으며 Text를 입력으로 함이 결국 사람의 음성을 입력으로 함과 동일하다고 생각할 때 (STT가 굉장히 잘 되어있으므로), 해당 연구는 분명 비즈니스 모델을 명확히 제시할 수 있습니다. 리뷰 읽어주셔서 감사합니다.

Author: 이 상인

7 thoughts on “[Neurocomputing 2024] OV-VG: A Benchmark for Open-Vocabulary Visual Grounding

  1. 안녕하세요 좋은 리뷰 감사합니다.

    정량적 성능이 낮은 것은 맞지만 실제로 찾아내야 하는 대상이 모델 입장에선 굉장히 어려워 보이네요..

    본 논문과는 완전 다른 질문일 수 있지만, 여기서 채택한 backbone인 CLIP이나 BERT, SwinTransformer 모두 결국 트랜스포머 기반으로 개발된 모델인데 최근 이렇게 detection과 유사한 분야에서는 conv 연산이 잘 안쓰이나요? 비디오 도메인에서는 대부분 Transformer가 점령한 수준으로 Conv 연산이 잘 안쓰이는데, 혹시 영상 도메인에서는 최근 동향이 어떠한지나 사용된 연구를 보셨다면 대략 어떤 목적이었는지도 궁금합니다.

    1. 안녕하세요. 리뷰 읽어주셔서 감사합니다.
      제가 생각컨데, Conv 연산 자체는 여전히 백본의 측면에서는 사용되나, 말씀하신 바와 같이 요즈음의 Foundation 모델을 기반으로 한다면 대부분 본 태스크와 유사한 태스크들에서 Image-Text Alignment를 위한 Transformer가 대부분이 되다 보니, 그런 측면에서는 Conv 연산이 많이 사용되지 않는 듯 보입니다.

  2. 안녕하세요 상인님 좋은 리뷰 감사합니다.

    Open Vocabulary 상황에서 텍스트로부터 이미지 내의 객체를 이해하는 Visual-Grounding 태스크의 목적은 결국
    text, image 두 모달리티 간의 align을 잘 시키기는 것이 가장 핵심이 될 것 같은,, 꽤나 generalizing 태스크일 것 같다고 생각이 듭니다.

    그런 관점에서 방법론에 있어 궁금한 점이 있습니다.
    Image-text Cross-modality, Text-image Cross-modality을 통해
    Image와 Text에 관한 embedding feature를 서로 cross-attention시켜 둘을 동일 embedding space 내에서 서로의 정보를 교환하도록 의도한 것으로 이해했습니다.
    근데 이후 Language-guided Featrue Attention 모듈에서는 앞선 단계에서 FFN을 타고 나온 어떤 동일한 embedding space 내의 두 feature를 다시 Image feature와 Text embedding 간 align을 맞추는 것으로 보입니다. 이어서 text가 image에 대한 semantic map을 생성할 수 있다고 설명해주셨는데 제가 이해한 바로는 그렇게 되면 align을 맞춰주기 위한 단계가 두 번이 되는 것 같다고 생각이 듭니다.
    이어서 Feature Decoder 단계에서도 Cross-modality Attention 모듈로 표현력을 더 높혀주게 된다고 설명해주셨는데, 연속으로 이렇게 feature align이 되는 것이 정말 좋은 성능으로 이어지는 지는 것인지, 보통의 cross-modality attention 을 활용한 태스크의 경우에도 이렇게 여러번 align을 맞춰주는 것인지, 아니면 기존 VG 태스크의 경우에서 특히 이런 경향을 보이게 되는지 궁금합니다!

    1. 안녕하세요. 리뷰 읽어주셔서 감사합니다.
      음 제가 생각하기엔 이해하신 바는 맞으며, 그렇게 여러번 Feature align 해주는게 좋은 성능으로 이어지는 이유가 결국, 대용량의 데이터로 학습하기 때문에 그 자체의 특성으로 Generalize가 보장될 수 있기 때문입니다. 요즘 드는 생각으로, 물론 모델에서 Feature align을 한 번하냐, 두 번하냐에 따른 성능에서 차이가 보이긴 하겠지만, 그보다도 데이터를 대량 학습하기에 Feature align에 대해서는 여러 번 하면 그만큼 더 많은 효용성을 보일 수 있지 않을까 생각드네요

  3. 리뷰 잘 읽었습니다.

    기술 자체가 확실히 일반 detection 등과 같은 task 에 비해 human의 text를 input으로 하여, human 과 인터렉션 하는 듯한 느낌이 들어서 비즈니스 모델에 녹이기 좋은 기술이라는 생각이 드네요.
    간단한 질문이긴 한데, OV-VG(혹은 VG) 기술에서 입력 text에 대한 grounding 을 수행할 때 하나의 객체(?) 밖에 찾지 못하는것인가요? 가령 입력 text로 “좌측에 걸어가고 있는 여자의 우산과 가방을 찾아줘~” 라고 하면 2가지 객체가 모두 그라운딩 되는지 궁금합니다.

    감사합니다.

    1. 리뷰 읽어주셔서 감사합니다.
      말씀하신 “좌측에 걸어가고 있는 여자의 우산과 가방을 찾아줘”에서 우산과 가방을 찾는 태스크는 OV-VG, 여자, 우산, 가방을 모두 찾는 태스크는 본 논문의 OV-PL로 보입니다. 단, 현재까지 OV-VG에선 실험 리포팅 시 단일 객체를 가정하고 있습니다.

  4. 안녕하세요. 좋은 리뷰 감사합니다. 본 논문에서 제안된 language-guided feature attention module은 image feature vector와 text embedding을 각각 query, key-value로 삼아 attention하는 것이 전부인가요 ? 상인님 의견으로는 해당 과정이 이전 feature encoder의 cross-attention만으로도 충분하지 않았을까라고 적어주셨는데,, 이 모듈 관련한 ablation study가 없었는지 궁금합니다.

    감사합니다!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다