안녕하세요. 이번에 리뷰로 들고 온 논문은 2025년 CVPR에 게재된 LLMDet 라는 논문입니다.
먼저 OVOD는 대부분 아시다시피 사용자가 입력한 텍스트 라벨을 기반으로 임의의 클래스를 탐지하는 것을 목표로 하고 전통적인 closed-set 객체 검출보다 더 일반화된 object detection 태스크입니다.
기존의 Open-Vocabulary Object Detection(OVOD) 모델들이 주로 region-level grounding에만 초점을 맞췄던 것과는 달리 이 논문은 image-level에서의 디테일한 캡셔닝을 통해 성능을 향상시키고자 하는 새로운 접근을 제안하는 논문이라고 보시면 될 것 같습니다.
논문 제목에서도 직관적으로 아실 수 있듯이 해당 논문은 LLM을 적극적으로 활용해서 학습을 진행합니다.
좀 더 구체적으로 말씀드리면,LLM을 통해서 데이터 셋을 구축하고 또 학습과정에서는 LLM을 사용해서 ROI(region of interest)에 대해서는 짧은 region-level 캡션, 그리고 이미지 전체에 대해서는 길고 디테일한 image-level 캡션을 각각 생성하게 됩니다.
왜 객체 검출에서 image level 캡션을 활용하는 것인가? 에 대한 의문이 두실 수 있습니다.
기존 OVOD 연구들은 보통 각 객체에 대해 간단한 region-level 캡션(ex, ‘a dog’, ‘a chair’)만을 생성해서 사용합니다. 근데 이런 간단한 설명만으로는 이미지 안에 있는 다양한 객체들 간의 관계, 배경, context 정보까지 표현하기에는 많이 부족합니다.
반면에 image-level에서 생성된 긴 캡션은 저자가 말하길 다음과 같은 측면에서 확실한 강점을 가진다고 합니다.
첫번 째 더 많은 디테일을 담을 수 있습니다. 단순히 object label만 달랑 붙이는 것이 아니라 각 객체의 종류, 색상, 질감, 위치, 동작, 텍스트 정보 등까지 포함한 설명이 가능해지고 이것이 결국 더 풍부한 vision-language representation을 만들어내는 데에 큰 도움이 됩니다.
두번 째는 이미지 전체를 통합적으로 이해할 수 있습니다. 객체 검출 관점에서 이것이 어떤 부분에서 중요하나 싶을 수 있지만 Region-level의 캡션이 관심 영역(region of interest)에만 집중하는 반면image-level 설명은 전경, 배경, 그리고 객체들 간의 관계까지 포괄할 수 있기 때문에 모델이 이미지 전반에 대한 더 깊은 이해를 학습할 수 있기 때문에 이미지 전체의 통합적인 이해가 객체 검출의 성능향상으로 이어질 수 있지 않나 싶습니다. 그리고 무엇보다, LLM은 본질적으로 open-vocabulary의 능력을 가지기 때문에 이런 LLM이 생성한 텍스트를 supervision으로 쓰면, rare한 클래스나 본 적 없는 클래스에 대해서도 잘 일반화할 수 있다는 장점이 있습니다.
그리고 기존 ovod grounding 데이터셋들은 대부분 image-level 캡션이 없이 region-level 정보만 있는 경우가 많기 때문에, 논문에서는 이러한 점을 고려해서 LLM을 활용해서 LLMDet를 학습할 GroundingCap-1M이라는 새로운 데이터셋을 수집합니다.
그리고 실제 학습과정에서도 LLM을 사용하게 되고 해당 LLM을 파인튜닝을 하게 되는데 파인튜닝하기 전에 기존 object detection 모델과 LLM은 feature간 align 이 안맞기 때문에 feature들을 align을 맞춰주는 작업 또한 진행하는 방식으로 학습이 이루어지도록 모델을 설계합니다.
이후에 메서드 파트에서 좀더 자세하게 설명드리도록 하겠습니다.
Dataset
GroundingCap-1M 데이터셋 구축
앞서 바로 설명드렸지만 기존 데이터셋 같은 경우에는 image-level 캡션이 없이 region-level 정보만 있는 경우가 많기 때문에 이러한 문제를 해결하고자 그들만의 데이터셋을 구축하게 됩니다.
그리고 그들이 설계한 LLMDet를 grounding loss와 LLM loss의 supervision 하에서 학습을 시키기 위해서 각 샘플당 4가지의 요소를 가지도록 데이터셋을 구성합니다.
- 이미지
- 짧은 grounding 텍스트
- 각 phrase에 매핑된 bbox들
- llm이 생성한 이미지 전체에 대한 상세한 캡션

데이터 셋을 구축하는 과정에서 최대한 구축 비용을 줄이고자 저자는 기존 데이터셋 중 bbox가 존재하거나 존재하지 않더라도 이미지 전체에 대한 캡션이 포함된 데이터들로 부터 그들만의 데이터를 구축을 합니다.
bbox가 존재하는 데이터 셋 인 경우(Object Detection용 데이터셋)인 경우, 대표적으로 COCO 같은 경우에는 bbox는 있지만 짧은 grounding 텍스트가 존재하지 않습니다. 따라서 object detection 용 데이터 셋 같은 경우에 grounding 텍스트는 해당 데이터셋에 존재하는 클래스 이름들을 단순 나열한 형태로 구성을 하게됩니다.(ex,’chair. fork. cup. cow.’ )
grounding 데이터셋 같은 경우에는 예를 들어 GoldG 같은 데이터 셋은 이미지 마다 여러개의 짧은 객체에 대한 grounding 텍스트들을 포함하고 있기 때문에 해당 이미지 내에서 bbox가 겹치지 않는 이미지들에 한해서 해당 텍스트들을 단순히 연결하여서 하나의 grounding 텍스트로 만듭니다.
그리고 image-text pair인 데이터 셋 같은 경우에는 text 그 자체를 grounding text로 사용하되, 해당 데이터 셋 같은 경우는 image classification을 목적으로 생성된 데이터셋 이므로 bbox가 없으니깐 파운데이션 모델을 가지고 bbox를 생성합니다. text를 명사구 단위로 파싱을 진행한 후 이를 잘 학습된 MM GDINO를 통해 각 명사구에 대한 bbox를 생성하게 됩니다.
그리고 LLM의 input으로 이미지와 생성한 grounding text를 입력으로 넣고 프롬프팅을 통해 이미지 전체에 대한 상세한 캡션을 생성하게 됩니다.(figure 2)
위처럼 다양한 데이터들로부터 GroundingCap-1M이라는 대규모의 OVOD 학습용 데이터를 수집했는데 이렇게 자동화된 방식으로 데이터를 생성하게 되면 아무리 좋은 프롬프트를 쓰고, 아무리 강력한 모델(Qwen2VL-72b)을 사용한다고 하더라도 일정 수준의 노이즈는 생기기 마련입니다. 따라서 논문에서는 이렇게 LLM으로 생성된 캡션의 품질을 높이기 위해 후처리절차를 추가적으로 도입합니다.
- 추측성 표현 제거
아무리 프롬프트에서 ‘상상하지 마라’, ‘보이는 것만 말해라’라고 명시해도
모델은 여전히 ‘possibly(아마도)’, ‘suggesting(제안하는)’, ‘indicating(~을 암시하는)’ 같은 추측성 단어들을 포함한 문장을 생성하는 경우가 있었다고 합니다.
그래서 저자는 이와 같은 경우에는 해당 단어가 포함된 문장 일부를 삭제하는 방식으로 후처리를 거쳤습니다. - 무의미하거나 깨진 문장 제거
생성된 캡션 중에는 ‘In the image, a man a man a man…’처럼
같은 단어가 반복되거나 문장이 깨진 경우도 존재하거나 또는 ‘Sorry, I can’t answer the question.’처럼 LLM이 답변을 거부한 경우도 있었다고 합니다. 그래서 이런 문장들도 모두 필터링을 진행을 하였습니다. - 100 토큰 이하의 짧은 캡션 재생성
마지막으로, 캡션이 너무 짧은 경우 즉, 100 토큰 미만일 경우에는
표현력이 부족하다고 판단하고, 다시 한 번 캡션을 생성하도록 합니다.
이렇게 한 번 더 생성하여 대체하는 방식을 통해 전체 데이터셋의 품질을 보다 높게 유지할 수 있도록 했다고 보시면 될 것 같습니다.

다만 한 가지 아쉬웠던 점은 전체 GroundingCap-1M 데이터셋 중 약 1/3을 차지하는 image-text pair 기반의 데이터(LCS)같은 경우인데 이 데이터들은 bbox 정보가 없기 때문에, 앞서 말씀드린것 처럼 MM-GDINO와 같은 고성능 grounding 모델을 활용해 bounding box를 생성했습니다. 근데 이처럼 foundation 모델을 이용해 자동 생성된 bbox의 품질에 대한 검증 과정이나 신뢰도 평가는 논문에서 별도로 언급되지 않았습니다. OVOD에서 중요한 supervision이 되는 요소가 bbox임을 감안할 때 이 부분에 대해서도 어느 정도의 품질 검증이나 신뢰도 분석 같은 것이 제시가 되어있었으면 전체 데이터셋의 신뢰도를 높이는 데 더 도움이 되지 않았을까 합니다.
Method
앞서 intro에서 설명드린 것 처럼 이 논문은 단순한 region-level grounding만으로는 부족하다고 보고 LLM이 생성한 image-level의 상세한 캡션을 학습에 적극적으로 활용하자는 컨셉으로 vision과 language간 alignment를 더 잘 맞추도록 합니다.
일단 전체 학습과정은 아래와 같이 크게 두 단계로 구성이 됩니다.

step 1(pre-alignment) 같은 경우 먼저 LLM과 detector는 서로 각기 다른 방식으로 pretraining이 되어있기 때문에 이 둘의 feature들은 서로 align이 맞지 않는 상태 입니다. 따라서 이 둘의 feature space를 맞춰주는 정렬 단계가 필요합니다. 따라서 step1 에서는 detector의 feature map을 LLM이 이해할 수 있도록 vision to language projector를 학습합니다. 이때는 projector만 학습 가능하고 나머지는 freeze 상태로 고정됩니다. LLM은 이 feature를 바탕으로 groundingcap-1M에 존재하는 image-level 캡션을 생성하게 되고 LLM loss를 통해서 학습이 진행이 됩니다.
step 1의 과정이 끝나면 step 2(End-to-end Finetunning)에서는 전체 네트워크를 end-to-end 방식으로 fine tunning하게 됩니다.
전체 아키텍쳐는 아래와 같습니다.

기본적으로 큰틀에서 보면 DETR 기반 open vocabulary detecor를 기반으로 LLM이 캡션을 생성하도록 활용합니다. 따라서 Encoder를 거친 피쳐는 앞서 사전학습 시켰던 projector를 통해 llm이 이해할 수 있는 feature로써 key,value값으로 활용하게 되고 이후 detetor부분의 decoder 같은 경우는 각 쿼리들에 대해서 groundig text의 명사구들간 유사도 계산, 각 쿼리에 대해서 bbox regression을 수행합니다. 이후 obj쿼리와 encoder를 거친 feature들을 프롬프트들과 함께 LLM의 input으로 들어가게됩니다.
Image-Level 캡션 생성
이 단계에서는, LLM이 detector의 feature map을 입력받아 GroundingCap-1M에 주석된 긴 캡션을 생성하도록 학습합니다. LLM의 입력은 figure4의 예시처럼 대화 형식 으로 구성됩니다. LLM이 정확한 캡션을 출력하기 위해서는 해당 vision feature 안에 객체들의 정보, 관계, 배경 정보가 잘 녹아 있어야 하므로 결과적으로 vision feature들이 객체들의 단순한 정보를 넘어서 객체들간의 관계, 배경 정보들을 잘 가질 수 있도록 하는 학습으로 이어진다고 보시면 될 것 같습니다.
Region-Level 캡션 생성
하지만 image-level 캡션만으로는 각 단어가 정확히 어떤 객체를 지칭하는지 학습하기에는 부족한 면이 있습니다. 예를 들어 Figure 2의 ‘dishes’처럼 작고 유사한 객체가 많은 상황에서는 위치 정보 없이 단어만으로는 정확한 매핑이 어려운 경우가 발생합니다. 위와 같은 문제를 해결하기 위해서 LLM에게 region-level 캡션을 따로 생성해서 supervision하는 부분도 추가 합니다. 좀더 자세하게 설명드리면 detector에서 추출된 positive object query(실제 bbox와 매칭된 쿼리)를 대상으로 LLM이 각 객체에 대한 간결한 grounding phrase (예: ‘young man’, ‘mother’, ‘dishes’)를 생성하도록 학습합니다. 입력은 마찬가지로 대화 형식이지만, 프롬프트는 ‘Describe the region in a phrase.’ 와 같이 간단하게 구성됩니다. 이때 object query는 일반적으로 하나의 작은 피처만을 포함하므로, LLM 내부에 cross-attention layer를 새로 추가해서 detector의 전체 feature map에서 추가적인 시각 정보를 수집할 수 있도록 설계되어 있다고 이해하시면 좋을 것 같습니다. 참고로, image-level 캡션 생성에서는 cross-attention이 사용되지는 않고 이 region-level caption branch에서만 cross-attention이 새로 추가되어 처음부터 학습됩니다. 결과적으로 이 두 종류의 캡션 생성 태스크가 함께 작동하면서
text와 객체 영역 간의 더 정밀한 매핑과 더불어 더 디테일하게 이미지 이해를 가능하게 한다고 보시면 될 것 같습니다.
기존 grounding detector의 loss

: 단어-영역 정렬 loss

: 박스 회귀 loss
추가되는 LLM 기반 캡션 학습 손실

: 이미지 전체에 대한 상세한 캡션 생성 loss

: 객체 쿼리에 대한 간결한 region-level 캡션 생성 loss
최종적으로 LLMDet는 아래와 같은 loss함수로 학습이 이루어집니다.

Experiments
실험에 사용된 기본 베이스라인 모델은 MM Grounding DINO (MM-GDINO)입니다. 해당 모델은 완전 공개된 오픈소스에다가, 현시점 기준 SOTA 성능을 기록하고 있기 때문에 이를 기본 베이스라인으로 채택했다고 보시면 될 것 같습니다.
Zero-Shot Detection Transfer Ability
LLMDet가 진정으로 강력한 open-vocabulary 모델인지 확인하기 위해서 아래와 같은 다양한 벤치마크에서 제로샷 평가를 진행을 했는데 다만 GroundingCap-1M에 COCO 데이터가 포함되어 있기 때문에 RefCOCO 계열의 val/test 이미지들은 모두 제거한 뒤 평가를 진행해서 공정한 zero-shot 조건을 유지했다고 합니다. 또 추론시에는 LLM이 필요없기 때문에 이를 제거하고 inference 하여 평가를 진행합니다.


Table 2를 보시면 Swin-T / B / L 백본 기준 LLMDet는 MM-GDINO 대비 모든 평가 지표에서 성능이 다 개선된 것을 볼 수 있고 특히 Swin-L 백본에서의 성능을 보시면 MM-GDINO의 성능은 비정상적으로 낮았는데 이는 아마도 사전학습 시 사용된 데이터셋 구성(특히 V3Det 미포함) 때문으로 보이는데 반면 LLMDet는 데이터 양이 적음에도 불구하고 더 좋은 성능을 보이는 것을 확인하실 수 있습니다.
COCO-O 같은 경우는 COCO와 동일한 80개 클래스를 포함하지만 groundingCap-1M 데이터 셋에서 사용된 COCO와는 다르게 좀더 다양한 도메인에서 이미지를 수집한 데이터셋이기 때문에 도메인 변화에 대한 일반화 성능을 평가하기 적합하기 때문에 위 데이터 셋으로도 평가를 진행을 하였습니다.
COCO-O AP 같은 경우 베이스라인 모델인 MM GDINO 보다 2.1% 더 좋은 성능은 냈지만 DetCLIPv3 보다는 2.4% 낮은 성능을 보이는데 이에 대한 저자의 언급은 따로 없었는데, 이전에 experiments 초반에 저자가 잠깐 언급하길 DetCLIP 같은 경우는 균형 잡힌 성능을 보이는데 이 이유가 정교하게 수집되고 주석된 데이터셋과 noun concepth corpus의 구성 덕분이라고 언급을 했었는데 이와 관련해서 위와 같이 좋은 성능을 낼 수 있지 않았나 싶습니다.
그 다음 table 5 같은 경우는 REC 성능 (Referring Expression Comprehension)을 보이는 테이블로 REC가 뭔지 간단하게 언급하고 넘어가면 주어진 문장이 가리키는 객체를 정확히 찾는 태스크로
정밀한 vision-language 정렬 능력을 평가는 것이라고 보시면 좋을 것 같습니다. 기존 MM-GDINO 대비 모든 다양한 REC 데이터셋에서 MM-GDINO를 능가하는 성능을 보입니다.

위는 ablation study 입니다. Grounding annotation만 활용해 fine-tuning 한 결과 41.4 -> 43.8% 로 늘었고 grounding data를 사용하면서 Region-level caption만 사용한 경우에는 별다른 성능 향상 없는 것을 볼 수 있는데 이는 저자가 언급한 기존 ovod의 문제점인 대부분 단순 클래스 명으로 구성되어 정보량이 부족이 이유이지 않을까 싶습니다. 반면 Image-level caption만 사용한 경우 소폭 향상하는 것을 확인할 수 있는데, 이미지 레벨에서의 정보만을 사용하게 되면 객체 간 정확한 매핑은 어려운 문제가 있습니다. 그래서 Image-level + Region-level 캡션 동시 사용한 경우를 봥쓸때 가장 큰 성능 향상을 보이는 것을 확인 할 수 있습니다. 결과적으로 이 실험은 LLM supervision을 단일 방식으로 사용하는 것보다 두 가지 캡션 방식을 통합해서 사용하는 것이 훨씬 효과적임을 잘 보여주는 실험이라고 볼 수 있습니다.

Table 9 같은 경우 논문 읽으면서 개인적으로 궁금했던 부분이었는데 projector 사전학습 유무의 영향을 확인해 볼 수 있었습니다. 사전학습 없이 end-to-end로 바로 시작하게 되면 rare class 성능 -3.5% 감소 하는 것을 확인 할 수 있습니다. 다만 frequent 같은 경우에는 성능 변화가 없었는데 저자는 rare보다는 충분한 annotation이 존재해서 이 형향이 부분적으로 완화되어 성능변화가 없다고 합니다. 결과적으로 feature space align이 중요하긴 하지만 frequent class는 영향이 덜하다 라는 것을 확인할 수 있었습니다.
안녕하세요 우현님 리뷰 재밌게 읽었습니다.
뭔가 classification용 데이터셋에서 수도라벨을 만들때, MM-GDINO를 통해 만든 박스 시각화 이미지를 하나쯤 첨부했으면? 그 모델의 성능을 간접적으로 알 수 있었을 것 같습니다. 그리고 projector 부분을 먼저 학습시키는 것에 대한 ablation을 물어보려고 했는데 역시나 존재했네요. 데이터가 long tailed 분포를 가질때 projector가 중요해진다고 생각하면 될까요? 그리고 두가지 종류의 캡션을 생성할때 end to end 파이프라인에서 동시에 처리되는게 맞는거죠? projector부분만 먼저 학습시키고 그 이후에는 end to end 로 동시에 학습되는게 맞는지 궁금합니다. 감사합니다.
안녕하세요. 리뷰 잘 읽었습니다.
리뷰 내용 중에 때 “object query는 일반적으로 하나의 작은 피처만을 포함하므로, LLM 내부에 cross-attention layer를 새로 추가해서 detector의 전체 feature map에서 추가적인 시각 정보를 수집할 수 있도록 설계되어 있다고 이해”라고 설명해주셨는데, 이해하기로 그럼 기존 LLM에 cross-attention layer를 저자가 직접 추가했다는 의미일까요? 해당 섹션에 대해 조금 더 자세히 설명해주시면 좋을 것 같습니다.