파이썬 이것저것/파이썬 딥러닝 관련

[Python] Yolo-World 실시간 비전언어 모델

agingcurve 2024. 2. 6. 10:15
반응형

SOTA에 방문해서 최신모델들이 어떤것들이 있나 찾아보다가 2024년 1월 31일에 발표된 Yolo-World 모델을 보게 되었다.

 

 

텐센트 AI 랩에서 발표한 논문으로, 실시간으로 사용할 수 있는 비전-언어 모델이라고 한다. 이에 대해 살펴보자

(yolo-world 논문)

https://arxiv.org/abs/2401.17270

 

YOLO-World: Real-Time Open-Vocabulary Object Detection

The You Only Look Once (YOLO) series of detectors have established themselves as efficient and practical tools. However, their reliance on predefined and trained object categories limits their applicability in open scenarios. Addressing this limitation, we

arxiv.org

https://www.yoloworld.cc/

 

YOLO-World

The You Only Look Once (YOLO) series of detectors have established themselves as efficient and practical tools. However, their reliance on predefined and trained object categories limits their applicability in open scenarios. Addressing this limitation, we

www.yoloworld.cc

 

 

요약을 보자면 

YOLO모델은 실용적인 도구로 자리매김을 했지만, 탐지하고자 하는 개체의 범주를 사전에 한정적으로 정의하여 사용할 수밖에 없기 때문에 제약이 있을 수 밖에 없는점을 보완하기 위해 

개방형 시나리오(제한을 두지 않고 탐지하겠다)에서 사용할 수 있는 YOLO-Wolrd를 만들었다고 한다.

YOLO-World는 시각 정보와 언어 정보 간의 상호 작용을 촉진하기 위해 새로운 RepVL-PAN(Pr-parmeteriable Vision-Langeuate Path Aggregation Network)이라는 네트워크를 사용하였고 제로샷 방식으로 효율적으로 탐지가 가능하도록 동작한다고 한다.

성능은 V100 GPU 기준으로 LVIS 데이터세트에서 35.4AP와 52.0FPS(와..,,., fps뭐냐)를 달성했다고 한다.

 

 

기존에 발표된 비전-언어 모델등과 비교하여 약 20배 가량 빠르다고 한다. 해당 지표는 NVIDIA GPU V100 그래픽카드에서 Tensorrt 변환한 기준이라고 한다.

 

모델구조

YOLO-WORLD의 백본은 기존 yolo의 구조를 채택하고 언어모델은 CLIP모델을 채용했다고한다.

RepVL-PAN에 연결하기 위해 텍스트의 피쳐와 이미지 피쳐를 사용하여 영역-텍스트 대비 학습을 통해

YOLO 탐지에서 이미지-텍스트 데이터를 영역-텍스트 쌍으로 통합한다고 한다.

이를 통해서 대규모 어휘 탐에 대해 강력한 기능을 보여준다고 한다.

 

 

 

전통적인 YOLO 탐지기와 비교하여, 오픈 어휘 탐지기인 YOLO-World는 텍스트를 입력으로 사용하고, 텍스트 인코더는 먼저 입력 텍스트를 임베딩으로 인코딩을 한다. 그런 다음 이미지 인코더는 입력 이미지를 다층 이미지 특징으로 인코딩하고,  RepVL-PAN은 이미지와 텍스트 특징 모두에 대해 다층 교차 모달 융합을 활용한다. 마지막으로, YOLO-World는 입력 텍스트에 나타난 카테고리 또는 명사와 일치하는 보정된 바운딩 박스와 객체 임베딩을 예측을 실시한다.

 

기존의 비전-언어 모델과 비교하여 정확성을 유지하면서 FPS측면에서 굉장한 속도를 보여준다.

 

 

파인튜닝실험

YOLO-World를 통해 여러 파인튜닝 실험자료들도 있는데 COCO dataset과 LIVS dataset을 가지고 실험한 자료이다.

텍스트 인코더 부분은 BERT모델과 CLIP모델을 비교해서 사용했을 때, 정확성은 CLIP모델이 좀더 높은 성능을 보인다고 한다

Yolo-World를 파인튜닝하였을 때, 기존의 전통적인 YOLO 모델들과 비교한 자료이다. 

Real-Time보단 정확성을 추구한다면 YOLO-WORLD를 도입하는게 좋아보인다. 

 

허깅페이스 페이지에서 이미지 업로드를 통해 inference를 사용해 볼 수 있다.

https://huggingface.co/spaces/stevengrove/YOLO-World

 

YOLO World - a Hugging Face Space by stevengrove

 

huggingface.co

 

 

 

https://github.com/AILAB-CVC/YOLO-World

 

GitHub - AILab-CVC/YOLO-World: Real-Time Open-Vocabulary Object Detection

Real-Time Open-Vocabulary Object Detection. Contribute to AILab-CVC/YOLO-World development by creating an account on GitHub.

github.com

해당 깃허브이며, 설치사항이다/

mm라이브러리와 파이토치를 사용하여 구현한듯하다.

학습과 평가에 대한 코드를 쉘파일로 제공해준다.