YOLO-World 직접 사용해 보기
텍스트 프롬프트를 통해 객체를 식별할 수 있는 혁신적인 객체 감지 모델 YOLO-World에 대해 알아보세요. YOLO-World의 작동 방식과 애플리케이션을 살펴보고, 간단한 코드 예제로 직접 사용해 보세요.

컴퓨터 비전 프로젝트에서는 데이터에 주석을 추가하고 객체 탐지 모델을 학습하는 데 많은 시간을 사용하는 경우가 많습니다. 하지만 이러한 방식은 곧 과거의 일이 될 수도 있습니다. Tencent의 AI Lab은 2024년 1월 31일 실시간 오픈 보캐뷸러리 객체 탐지 모델인 YOLO-World를 공개했습니다. YOLO-World는 제로샷 모델이므로 학습하지 않고도 이미지에서 객체 탐지 추론을 실행할 수 있습니다.
제로샷 모델은 컴퓨터 비전 애플리케이션에 접근하는 방식을 바꿀 가능성이 있습니다. 이 블로그에서는 YOLO-World의 작동 방식과 잠재적인 활용 사례를 살펴보고, 시작하는 데 도움이 되는 실용적인 코드 예제를 공유합니다.
YOLO-World 살펴보기#
YOLO-World 모델에 찾으려는 객체를 설명하는 이미지와 텍스트 프롬프트를 전달할 수 있습니다. 예를 들어 사진에서 "빨간 셔츠를 입은 사람"을 찾고 싶다면 YOLO-World가 이 입력을 받아 작업을 시작합니다.
이 모델의 독특한 아키텍처는 다음 세 가지 주요 요소를 결합합니다.
- 이미지의 시각적 콘텐츠를 분석하는 Ultralytics YOLOv8 객체 탐지 모델 기반의 detector입니다.
- 사용자의 텍스트 프롬프트를 이해하도록 특별히 설계된, OpenAI의 CLIP으로 사전 학습된 텍스트 인코더입니다.
- 처리된 이미지 데이터와 텍스트 데이터를 통합하는 네트워크인 시각-언어 경로 집계 네트워크(RepVL-PAN)입니다.
YOLO detector는 입력 이미지를 스캔하여 잠재적인 객체를 식별합니다. 텍스트 인코더는 설명을 모델이 이해할 수 있는 형식으로 변환합니다. 그런 다음 이 두 정보 스트림은 다중 레벨 교차 모달리티 융합을 사용하는 RepVL-PAN을 통해 결합됩니다. 이를 통해 YOLO-World는 프롬프트에 설명된 객체를 이미지 내에서 정확하게 탐지하고 위치를 파악할 수 있습니다.

YOLO-World 결과 예시입니다.
YOLO-World를 선택할 때의 이점#
YOLO-World 사용의 가장 큰 장점 중 하나는 특정 클래스에 맞춰 모델을 학습할 필요가 없다는 점입니다. YOLO-World는 이미지와 텍스트 쌍을 통해 이미 학습했기 때문에 설명을 기반으로 객체를 찾는 방법을 알고 있습니다. 따라서 데이터를 수집하고 주석을 추가하며 고가의 GPU에서 학습하는 데 걸리는 시간 등을 줄일 수 있습니다.
YOLO-World를 사용하면 얻을 수 있는 다른 이점은 다음과 같습니다.
- 실시간 성능 - YOLO-World는 기존 YOLO 아키텍처와 마찬가지로 실시간 성능을 지원합니다. 자율주행 차량 및 감시 시스템과 같이 즉각적인 객체 탐지가 필요한 애플리케이션에 적합합니다.
- 인스턴스 세그멘테이션 - YOLO-World는 학습 중에 특별히 학습하지 않은 객체라도 이미지에서 깔끔하게 윤곽을 표시하고 분리할 수 있습니다.
- 효율성 - YOLO-World는 높은 정확도와 연산 효율성을 결합하여 실제 애플리케이션에 적합합니다. 간소화된 아키텍처를 통해 처리 성능을 과도하게 요구하지 않으면서도 빠른 객체 탐지가 가능합니다.
YOLO-World의 활용 분야#
YOLO-World 모델은 매우 다양한 애플리케이션에 사용할 수 있습니다. 몇 가지 활용 사례를 살펴보겠습니다.
제조 품질 관리#
조립 라인에서 제조된 제품은 포장 전에 결함이 있는지 육안으로 검사합니다. 결함 탐지는 수작업으로 수행되는 경우가 많아 시간이 오래 걸리고 실수가 발생할 수 있습니다. 이러한 실수는 높은 비용과 수리 또는 리콜 필요성과 같은 문제를 일으킬 수 있습니다. 이를 지원하기 위해 이러한 검사를 수행하는 특수 머신 비전 카메라와 AI 시스템이 개발되었습니다.
YOLO-World 모델은 이 분야에서 큰 발전을 이루었습니다. 제로샷 기능을 사용하면 특정 문제에 대해 학습하지 않았더라도 제품의 결함을 찾을 수 있습니다. 예를 들어 생수병을 제조하는 공장에서는 YOLO-World를 사용하여 병뚜껑이 제대로 밀봉된 병과 뚜껑이 빠졌거나 결함이 있는 병을 쉽게 구분할 수 있습니다.

병뚜껑 검사 예시입니다.
로보틱스#
YOLO-World 모델을 사용하면 로봇이 익숙하지 않은 환경과 상호작용할 수 있습니다. 방 안에 있을 수 있는 특정 객체에 대해 학습하지 않았더라도 어떤 객체가 있는지 식별할 수 있습니다. 예를 들어 로봇이 한 번도 가 본 적 없는 방에 들어갔다고 가정해 보겠습니다. YOLO-World 모델을 사용하면 해당 항목에 대해 특별히 학습하지 않았더라도 의자, 테이블 또는 램프와 같은 객체를 인식하고 식별할 수 있습니다.
YOLO-World는 객체 탐지뿐만 아니라 'prompt-then-detect' 기능을 통해 해당 객체의 상태도 확인할 수 있습니다. 예를 들어 농업 로보틱스에서 로봇이 익은 과일과 익지 않은 과일을 탐지하도록 프로그래밍하여 이를 식별하는 데 사용할 수 있습니다.
자동차 산업의 AI#
자동차 산업에는 움직이는 요소가 많으며, YOLO-World는 다양한 자동차 애플리케이션에 사용할 수 있습니다. 예를 들어 자동차 정비에서 수동 태깅이나 광범위한 사전 학습 없이도 매우 다양한 객체를 인식하는 YOLO-World의 기능은 매우 유용합니다. YOLO-World를 사용하여 교체가 필요한 자동차 부품을 식별할 수 있습니다. 또한 신차의 품질 검사, 결함 또는 누락된 부품 식별과 같은 작업을 자동화할 수도 있습니다.
또 다른 활용 사례는 자율주행 차량의 제로샷 객체 탐지입니다. YOLO-World의 제로샷 탐지 기능은 자율주행 차량이 도로 위의 보행자, 교통 표지판 및 다른 차량과 같은 객체를 실시간으로 탐지하고 분류하는 능력을 향상할 수 있습니다. 이를 통해 장애물을 감지하고 사고를 예방하여 더 안전한 주행을 지원할 수 있습니다.

도로 위 객체 탐지 예시입니다.
소매점 재고 관리#
소매점 선반의 객체를 식별하는 것은 재고 추적, 재고 유지 관리 및 프로세스 자동화의 중요한 부분입니다. 수동 태깅이나 광범위한 사전 학습 없이도 매우 다양한 객체를 인식하는 Ultralytics YOLO-World의 기능은 재고 관리에 매우 유용합니다.
예를 들어 재고 관리에서 YOLO-World는 선반에 있는 다양한 브랜드의 에너지 드링크와 같은 품목을 빠르게 발견하고 분류할 수 있습니다. 소매점은 정확한 재고를 유지하고 재고 수준을 효율적으로 관리하며 공급망 운영을 원활하게 수행할 수 있습니다.
모든 활용 사례는 고유하며 YOLO-World를 얼마나 폭넓게 사용할 수 있는지 보여줍니다. 이제 YOLO-World를 직접 사용해 보고 코딩 예제를 살펴보겠습니다.
코드 둘러보기#
앞서 언급했듯이 YOLO-World는 정비를 위해 자동차의 다양한 부품을 탐지하는 데 사용할 수 있습니다. 필요한 수리를 탐지하는 컴퓨터 비전 애플리케이션은 자동차 사진 촬영, 자동차 부품 식별, 각 부품의 손상 여부 검사 및 수리 권장으로 구성됩니다. 이 시스템의 각 부분에는 서로 다른 AI 기술과 접근 방식이 사용됩니다. 이 코드 둘러보기에서는 자동차 부품이 탐지되는 부분에 초점을 맞추겠습니다.
YOLO-World를 사용하면 이미지에서 다양한 자동차 부품을 5분 이내에 식별할 수 있습니다. 이 코드를 확장하여 YOLO-World를 활용한 다양한 애플리케이션도 시험해 볼 수 있습니다. 시작하려면 아래와 같이 Ultralytics 패키지를 pip install해야 합니다.
설치 프로세스와 관련된 자세한 지침 및 모범 사례는 Ultralytics 설치 가이드를 참조하십시오. YOLOv8에 필요한 패키지를 설치하는 동안 문제가 발생하면 해결 방법과 팁을 제공하는 일반적인 문제 가이드를 확인하십시오.
필요한 패키지를 설치했으면 인터넷에서 이미지를 다운로드하여 추론을 실행할 수 있습니다. 아래 이미지를 사용하겠습니다.

입력 이미지입니다.
그런 다음 필요한 패키지를 import하고 모델을 초기화한 후 입력 이미지에서 찾을 클래스를 설정합니다. 여기서는 car, wheel, car door, car mirror 및 license plate 클래스에 관심이 있습니다.
그런 다음 이미지 경로와 최대 탐지 수, 교집합 대 합집합(IoU) 및 신뢰도(conf) 임계값을 매개변수로 제공하여 predict 메서드를 사용해 이미지에 대한 추론을 실행합니다. 마지막으로 탐지된 객체는 'result.jpg'라는 파일에 저장됩니다.
다음 출력 이미지가 파일에 저장됩니다.

출력 이미지입니다.
코딩 없이 YOLO-World가 할 수 있는 작업을 확인하고 싶다면 YOLO-World Demo 페이지로 이동하여 입력 이미지를 업로드하고 사용자 정의 클래스를 입력하면 됩니다.
YOLO-World 문서 페이지를 읽고 사용자 정의 클래스를 사용하여 모델을 저장하는 방법을 알아보십시오. 그러면 나중에 사용자 정의 클래스를 반복해서 입력하지 않고도 모델을 바로 사용할 수 있습니다.
자동차 문이 탐지되지 않은 것을 확인하셨나요?#
출력 이미지를 다시 확인하면 사용자 정의 클래스인 “car door”가 탐지되지 않았다는 것을 알 수 있습니다. 뛰어난 성과에도 불구하고 YOLO-World에는 몇 가지 한계가 있습니다. 이러한 한계를 극복하고 YOLO-World 모델을 효과적으로 사용하려면 올바른 유형의 텍스트 프롬프트를 사용하는 것이 중요합니다.
다음은 이에 대한 몇 가지 참고 사항입니다.
- YOLO-World는 정확한 예측을 위해 높은 신뢰도 수준을 필요로 하지 않을 수 있으므로, 신뢰도 임계값을 낮추면 탐지율을 높일 수 있습니다.
- 관심이 없는 클래스를 추가하십시오. 그러면 보조 객체의 거짓 양성을 줄여 주요 객체 탐지 성능을 향상하는 데 도움이 됩니다.
- 작은 세부 사항에 집중하기 전에 더 큰 객체를 먼저 탐지하면 탐지 정확도를 높일 수 있습니다.
- 색상 단서를 기반으로 객체를 탐지할 수 있도록 클래스에 색상을 명시하십시오.
- 프롬프트에 객체 크기를 설명하면 YOLO-World가 특정 객체를 더 정확하게 식별하는 데 도움이 될 수 있습니다.
- 크기별로 예측을 필터링하거나 클래스별 신뢰도 수준을 조정하는 등의 후처리 방법을 사용하면 객체 탐지 결과를 더욱 향상할 수 있습니다.
가능성은 무한합니다#
전반적으로 YOLO-World 모델은 고급 객체 탐지 기능을 갖춘 강력한 도구로 만들 수 있습니다. YOLO-World는 뛰어난 효율성과 정확도를 제공하며, 실제로 살펴본 자동차 부품 식별 예시와 같이 다양한 애플리케이션에서 여러 작업을 자동화하는 데 도움을 줍니다.
GitHub 저장소를 자유롭게 살펴보고 컴퓨터 비전과 AI에 대한 저희의 기여를 자세히 알아보십시오. AI가 의료 기술과 같은 분야를 어떻게 변화시키고 있는지 궁금하다면 솔루션 페이지를 확인해 보십시오. YOLO-World와 같은 혁신이 제공하는 가능성은 무한해 보입니다!









