
OWL-ViT와 GroundingDINO의 프롬프트 및 동작 비교
요약
오픈 보카블러리 객체 탐지 모델인 OWL-ViT와 GroundingDINO의 프롬프트 반응 및 동작 특성을 비교 분석합니다. 모델별로 관사 사용 여부, 구체적 명칭 인식 능력, 유사 클래스 식별 성능에서 뚜렷한 차이가 있음을 확인했습니다.
핵심 포인트
- OWL-ViT는 'a'와 같은 관사 접두어가 필수적임
- GroundingDINO는 관사 없이 단어만 사용하는 것이 더 효과적임
- OWL-ViT는 일반적 명칭에 강하나 구체적 명칭 인식은 약함
- GroundingDINO는 구체적 명칭과 유사 클래스 식별 능력이 우수함
서론
오픈 보카블러리 객체 탐지 (Open-vocabulary Object Detection) 모델인 OWL-ViT와 GroundingDINO를 사용한 Streamlit 애플리케이션을 각각 구현하여, 그 동작과 프롬프트에 대한 반응 차이를 비교했습니다.
본 기사에서는 실제로 구동해 보며 알게 된 두 모델의 "프롬프트 습성" 및 "탐지 정밀도의 특성"에 대해 정리합니다.
리포지토리
검증에 사용한 코드는 다음 리포지토리에서 공개하고 있습니다.
OWL-ViT: ikomiki/owl-vit-streamlit -
GroundingDINO: ikomiki/hello-GrandingDINO
비교 1: 텍스트 프롬프트의 접두어 ("a"의 유무)
두 모델에서 가장 현저한 차이는 프롬프트에 대한 접두어 처리 방식입니다.
OWL-ViT: 접두어 필수
OWL-ViT는 학습 데이터의 특성상, 단어 앞에 "a"와 같은 관사를 붙이지 않으면 탐지 정밀도가 현저히 떨어지거나 아예 탐지되지 않는 경향이 있습니다.
: 탐지되지 않는 dog
: 탐지되는 a dog
GroundingDINO: 접두어 불필요 (오히려 역효과)
반면, GroundingDINO는 단어만으로도 양호한 결과를 얻을 수 있습니다. "a"를 붙이면 오히려 스코어가 낮아지는 경향이 관찰되었습니다.
검증 결과 (개와 고양이 이미지)
원본 이미지: 저작자: freepik

: 왼쪽 고양이 0.534, 오른쪽 개 0.870 (높은 스코어) dog로 검색
: 왼쪽 고양이 0.311, 오른쪽 개 0.637 (스코어 저하) a dog로 검색
비교 2: 구체적 명칭 vs 일반적 명칭 (일본 음식 탐지)
일본 음식(메밀국수와 고명) 이미지를 사용하여, 구체적인 명칭과 일반적인 명칭에서의 탐지 능력을 비교했습니다.
원본 이미지

OWL-ViT: 일반적 명칭에 강함
OWL-ViT에서는 구체적인 a soba나 a onion보다, 추상도가 높은 a food가 압도적으로 높은 스코어를 기록했습니다.
: 파 0.52, 메밀국수 0.36 a food
: 스코어가 0.05~0.13 정도로 매우 낮음 a onion / a soba
GroundingDINO: 구체적 명칭도 인식 가능
GroundingDINO는 soba라는 구체적인 단어로도 충분한 스코어로 탐지할 수 있었습니다. 다만, 고명인 파(onion/green onions/condiment)의 탐지는 어려웠는데, 이는 학습 데이터에 포함되어 있지 않을 가능성이 있습니다.
: 파 0.555, 메밀국수 0.675 (둘 다 인식) food
: 스코어 0.647 (확실히 인식) soba
비교 3: 유사 클래스 식별 (개와 고양이)
OWL-ViT: 혼동하기 쉬움
OWL-ViT는 개와 고양이를 구분하기 어려워, 프롬프트를工夫(고안)하더라도 오탐지(개가 a cat으로 탐지되는 등)가 발생하기 쉬운 경향이 있었습니다.
: 어떻게 해도 개가 a dog, a cat 중 a cat으로 오탐지되는 케이스를 확인.
GroundingDINO: 식별 능력이 높음
GroundingDINO는 여러 클래스를 지정해도 각각의 물체를 올바르게 식별하는 능력이 높은 것으로 보입니다.
: 왼쪽 고양이(cat) 0.624, 오른쪽 개(dog) 0.788로 올바르게 분리. dog, cat
단, 여기서도 a dog, a cat과 같이 접두어를 붙이면 결과가 악화되었습니다.

요약
| 특징 | OWL-ViT | GroundingDINO |
|---|---|---|
| 프롬프트 | a 등의 관사가 거의 필수 | 관사 불필요 (있으면 정밀도 저하) |
| 어휘의 구체성 | food 등 일반적 단어에 강함 | soba 등 구체적 단어도 가능 |
| 식별 정밀도 | 비슷한 물체(개, 고양이) 혼동 있음 | 식별 능력이 높음 |
간편하게 테스트할 때는 OWL-ViT도 편리하지만, 더 세밀한 지시나 구체적인 물체 탐지를 수행하고 싶다면 GroundingDINO가 의도한 대로 동작할 것으로 보입니다.
감사 인사
샘플 코드는 Google Antigravity와 Google Gemini를 사용하여 구현했습니다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn ML의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기