YOLO-Worldを実際に体験する
テキストプロンプトを通じて物体を識別できる革新的な物体検出モデル、YOLO-Worldについて学びましょう。YOLO-Worldの仕組みとそのアプリケーションを探索し、簡単なコード例で実際に体験してみてください。

コンピュータビジョンのプロジェクトでは、多くの場合、データの注釈付けやオブジェクト検出モデルのトレーニングに多大な時間を費やす必要があります。しかし、そのような時代はまもなく過去のものになるかもしれません。TencentのAI Labは2024年1月31日に、リアルタイムのオープンボキャブラリーオブジェクト検出モデルであるYOLO-Worldをリリースしました。YOLO-Worldはゼロショットモデルであり、トレーニングを行うことなく画像に対してオブジェクト検出推論を実行できます。
ゼロショットモデルには、コンピュータビジョンアプリケーションへの取り組み方を変える可能性があります。本ブログでは、YOLO-Worldの仕組みとその潜在的な用途を探求し、実践的なコード例を紹介します。
Link to this sectionYOLO-Worldの概要#
YOLO-Worldモデルには、画像と、探したいオブジェクトを説明するテキストプロンプトを入力できます。例えば、「赤いシャツを着た人」を写真の中から見つけたい場合、YOLO-Worldはその入力を受け取って処理を開始します。
このモデルのユニークなアーキテクチャは、主に3つの要素で構成されています。
- Ultralytics YOLOv8オブジェクト検出モデルをベースとした検出器で、画像の視覚的内容を分析します。
- OpenAIのCLIPによって事前トレーニングされたテキストエンコーダーで、ユーザーのテキストプロンプトを理解するように設計されています。
- 処理された画像データとテキストデータを統合するネットワーク、Vision-Language Path Aggregation Network (RepVL-PAN)です。
YOLO検出器は入力画像をスキャンして潜在的なオブジェクトを特定し、テキストエンコーダーはユーザーの説明をモデルが理解できる形式に変換します。これら2つの情報の流れは、RepVL-PANを通じてマルチレベルのクロスモーダリティ融合により統合されます。これにより、YOLO-Worldはプロンプトで説明されたオブジェクトを画像内で正確に検出し、位置を特定することができます。

YOLO-Worldによる結果の例です。
Link to this sectionYOLO-Worldを選択するメリット#
YOLO-Worldを使用する最大の利点の1つは、特定のクラスのためにモデルをトレーニングする必要がないことです。既に画像とテキストのペアから学習済みであるため、説明に基づいてオブジェクトを見つける方法を理解しています。データの収集、注釈付け、高価なGPUでのトレーニングなどに費やす時間を削減できます。
YOLO-Worldを使用するその他のメリットを以下に挙げます。
- リアルタイムパフォーマンス - YOLO-Worldは、オリジナルのYOLOアーキテクチャと同様にリアルタイムパフォーマンスをサポートしています。自動運転車や監視システムなど、即時のオブジェクト検出を必要とするアプリケーションに最適です。
- インスタンスセグメンテーション - YOLO-Worldは、トレーニング中に具体的に学習していないオブジェクトであっても、画像内のオブジェクトを正確に輪郭抽出して分離できます。
- 効率性 - YOLO-Worldは、高い精度と計算効率を両立しており、実世界のアプリケーションに適しています。その効率的なアーキテクチャにより、処理能力に過度な負荷をかけることなく迅速なオブジェクト検出を可能にします。
Link to this sectionYOLO-Worldのアプリケーション#
YOLO-Worldモデルは多種多様なアプリケーションに使用できます。その一部を探ってみましょう。
Link to this section製造業における品質管理#
組立ラインで製造された製品は、梱包前に目視で欠陥がないか確認されます。欠陥検出は手作業で行われることが多く、時間がかかり、ミスにつながる可能性があります。これらのミスは、高コストや修理・リコールの必要性などの問題を引き起こす可能性があります。これを支援するために、特別なマシンビジョンカメラとAIシステムが作成され、これらのチェックを実行しています。
YOLO-Worldモデルは、この分野における大きな進歩です。ゼロショット能力により、特定の欠陥に対してトレーニングされていなくても、製品の欠陥を見つけることができます。例えば、水ボトルを製造する工場では、YOLO-Worldを使用して、ボトルキャップで適切に密封されたボトルと、キャップがなかったり不良品であったりするボトルを簡単に識別できます。

ボトルキャップ検査の例です。
Link to this sectionロボティクス#
YOLO-Worldモデルにより、ロボットは未知の環境でやり取りを行うことができます。部屋にある可能性のある特定のオブジェクトについてトレーニングされていなくても、どのようなオブジェクトが存在するかを特定できます。例えば、ロボットがこれまで入ったことのない部屋に入ったとします。YOLO-Worldモデルを使用すれば、そのアイテムについて特別にトレーニングされていなくても、椅子、テーブル、ランプなどのオブジェクトを認識して特定できます。
オブジェクト検出に加えて、YOLO-Worldは「プロンプトしてから検出する(prompt-then-detect)」機能のおかげで、それらのオブジェクトの状態を判断することもできます。例えば、農業ロボット工学では、プログラムによって成熟した果物とそうでない果物を検出するように設定することで、識別に利用できます。
Link to this section自動車業界におけるAI#
自動車業界には多くの可動部品があり、YOLO-Worldはさまざまな自動車アプリケーションに使用できます。例えば、車のメンテナンスに関しては、手動のタグ付けや広範な事前トレーニングなしに多種多様なオブジェクトを認識できるYOLO-Worldの能力が非常に役立ちます。YOLO-Worldは、交換が必要な自動車部品の特定に使用できます。また、新車の品質チェック、欠陥の発見、部品の不足チェックなどのタスクを自動化することも可能です。
もう1つのアプリケーションは、自動運転車におけるゼロショットオブジェクト検出です。YOLO-Worldのゼロショット検出能力により、歩行者、交通標識、他の車両など、道路上のオブジェクトをリアルタイムで検出・分類する自律走行車の能力を向上させることができます。これにより、障害物の検出を支援し、事故を未然に防いでより安全な移動を実現します。

道路上のオブジェクト検出の例です。
Link to this section小売店向けの在庫管理#
小売店の棚にあるオブジェクトを特定することは、在庫の追跡、ストックの維持、プロセスの自動化において重要な要素です。手動のタグ付けや広範な事前トレーニングなしに多種多様なオブジェクトを認識できるUltralytics YOLO-Worldの能力は、在庫管理に非常に役立ちます。
例えば、在庫管理において、YOLO-Worldはエナジードリンクのさまざまなブランドなど、棚にある商品を迅速に見つけて分類できます。小売店は正確な在庫を保持し、ストックレベルを効率的に管理し、サプライチェーン業務を円滑に進めることができます。
すべてのアプリケーションはユニークであり、YOLO-Worldがどれほど幅広く使用できるかを示しています。次に、実際にYOLO-Worldを体験し、コーディング例を見てみましょう。
Link to this sectionコードの解説#
前述の通り、YOLO-Worldはメンテナンスのために車のさまざまな部品を検出するために使用できます。修理が必要な箇所を検出するコンピュータビジョンアプリケーションには、車の写真を撮り、部品を特定し、各部品の損傷を検査し、修理を推奨することが含まれます。このシステムの各部分は、異なるAI技術とアプローチを使用します。このコード解説では、自動車部品が検出される部分に焦点を当てます。
YOLO-Worldを使用すると、5分以内に画像内のさまざまな自動車部品を特定できます。このコードを拡張して、YOLO-Worldを使用した他のアプリケーションを試すことも可能です。まずは、以下に示すようにUltralyticsパッケージをpipインストールする必要があります。
インストールプロセスに関する詳細な手順やベストプラクティスについては、Ultralyticsインストールガイドを確認してください。YOLOv8に必要なパッケージのインストール中に問題が発生した場合は、共通の問題ガイドで解決策やヒントを確認してください。
必要なパッケージをインストールしたら、インターネットから画像をダウンロードして推論を実行できます。ここでは以下の画像を使用します。

入力画像です。
次に、必要なパッケージをインポートし、モデルを初期化して、入力画像内で探したいクラスを設定します。ここでは、car、wheel、car door、car mirror、license plateというクラスに注目します。
その後、predictメソッドを使用して、画像のパス、最大検出数、Intersection over Union (IoU)および信頼度(conf)のしきい値のパラメーターを指定し、画像に対する推論を実行します。最後に、検出されたオブジェクトが'result.jpg'という名前のファイルに保存されます。
以下の出力画像がファイルに保存されます。

出力画像です。
コーディングなしでYOLO-Worldの機能を試したい場合は、YOLO-Worldのデモページにアクセスして入力画像をアップロードし、カスタムクラスを入力してください。
YOLO-Worldに関するドキュメントページを読み、カスタムクラスを設定した状態でモデルを保存する方法を学びましょう。これにより、後で繰り返しカスタムクラスを入力することなく直接使用できるようになります。
Link to this section車のドアが検出されなかったことに気づきましたか?#
出力画像をもう一度見ると、カスタムクラス「car door」が検出されなかったことがわかります。素晴らしい成果がある一方で、YOLO-Worldにはいくつかの制限があります。これらの制限に対処し、YOLO-Worldモデルを効果的に使用するには、適切な種類のテキストプロンプトを使用することが重要です。
そのためのヒントをいくつか紹介します。
- YOLO-Worldは正確な予測のために高い信頼度レベルを必要としない場合があるため、信頼度のしきい値を下げると検出率が向上することがあります。
- 興味のないクラスを追加してください。これにより、二次的なオブジェクトの誤検出を減らし、主要なオブジェクト検出を向上させることができます。
- 小さな詳細に焦点を当てる前に大きなオブジェクトを検出することで、検出精度が向上する場合があります。
- クラスに色を含めると、色の手がかりに基づいてオブジェクトを検出できます。
- プロンプトでオブジェクトのサイズを記述することも、YOLO-Worldが特定のオブジェクトをより正確に特定するのに役立ちます。
- サイズによる予測のフィルタリングや、クラスごとの信頼度レベルの調整といった後処理手法により、オブジェクト検出の結果をさらに改善できます。
Link to this section可能性は無限大です#
全体として、YOLO-Worldモデルは高度なオブジェクト検出能力を備えた強力なツールになり得ます。優れた効率性と精度を提供し、実際に説明した自動車部品の特定の例のように、さまざまなアプリケーションでタスクを自動化するのに役立ちます。
当社のGitHubリポジトリを探索して、コンピュータビジョンとAIへの貢献についてさらに学びましょう。AIがヘルスケア技術などの分野をどのように作り変えているかに興味がある場合は、当社のソリューションページをチェックしてください。YOLO-Worldのような革新技術の可能性は無限にあるようです!






