YOLO-Worldを実際に試す
テキストプロンプトで物体を識別できる革新的な物体検出モデル、YOLO-Worldについて学びます。YOLO-Worldの仕組みと用途を探り、簡単なコード例を実際に試してみましょう。

コンピュータービジョンのプロジェクトでは、データへのアノテーションや物体検出モデルのトレーニングに多くの時間を費やすことがよくあります。しかし、こうした作業は間もなく過去のものになるかもしれません。TencentのAI Labは、リアルタイムで動作するオープンボキャブラリー物体検出モデルYOLO-Worldを2024年1月31日にリリースしました。YOLO-Worldはゼロショットモデルです。つまり、トレーニングしなくても画像に対して物体検出の推論を実行できます。
ゼロショットモデルには、コンピュータービジョンアプリケーションへのアプローチ方法を変える可能性があります。このブログでは、YOLO-Worldの仕組みとその利用可能性を探り、すぐに始められる実践的なコード例をご紹介します。
YOLO-Worldを詳しく見る#
YOLO-Worldモデルには、探している物体を説明する画像とテキストプロンプトを入力できます。例えば、写真の中から「赤いシャツを着た人」を見つけたい場合、YOLO-Worldはこの入力を受け取って処理を開始します。
このモデル独自のアーキテクチャは、次の3つの主要要素を組み合わせています。
- 画像の視覚的な内容を分析する、Ultralytics YOLOv8物体検出モデルをベースにした検出器。
- テキストプロンプトを理解するために特別に設計された、OpenAIのCLIPによって事前トレーニングされたテキストエンコーダー。
- 処理済みの画像データとテキストデータを統合するネットワーク、視覚言語パス集約ネットワーク(RepVL-PAN)。
YOLO検出器は入力画像をスキャンし、物体の候補を特定します。テキストエンコーダーは説明文を、モデルが理解できる形式に変換します。続いて、これら2つの情報ストリームが、マルチレベルのクロスモダリティ融合によってRepVL-PANで統合されます。これにより、YOLO-Worldは画像内からプロンプトで説明された物体を正確に検出し、その位置を特定できます。

YOLO-Worldの結果例。
YOLO-Worldを選択するメリット#
YOLO-Worldを使用する最大のメリットの1つは、特定のクラス向けにモデルをトレーニングする必要がないことです。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は物体検出に加えて、「プロンプトしてから検出」機能により、物体の状態も判断できます。例えば農業ロボティクスでは、ロボットが検出する対象をプログラムすることで、熟した果物と未熟な果物を識別できます。
自動車業界におけるAI#
自動車業界には多くの可動部品があり、YOLO-Worldはさまざまな自動車関連アプリケーションに利用できます。例えば自動車のメンテナンスでは、手動のタグ付けや大規模な事前トレーニングなしに幅広い物体を認識できるYOLO-Worldの能力が非常に役立ちます。YOLO-Worldを使って交換が必要な自動車部品を特定できます。さらに、新車の品質検査や欠陥・部品の欠落の検出などの作業も自動化できます。
もう1つの用途は、自動運転車におけるゼロショット物体検出です。YOLO-Worldのゼロショット検出機能により、自動運転車が道路上の歩行者、交通標識、他の車両などの物体をリアルタイムで検出・分類する能力を向上できます。これにより障害物の検出や事故の防止に役立ち、より安全な移動を実現できます。

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

入力画像。
次に、必要なパッケージをインポートし、モデルを初期化して、入力画像から探すクラスを設定します。ここでは、car、wheel、car door、car mirror、license plateの各クラスを対象にします。
続いてpredictメソッドを使用し、画像のパスと、検出数の最大値、および画像に対して推論を実行するためのintersection over union(IoU)と信頼度(conf)のしきい値を指定します。最後に、検出された物体が「result.jpg」という名前のファイルに保存されます。
次の出力画像がファイルに保存されます。

出力画像。
コードを書かずにYOLO-Worldの機能を確認したい場合は、YOLO-World Demoページにアクセスし、入力画像をアップロードして、カスタムクラスを入力できます。
YOLO-Worldに関するドキュメントページを読んで、カスタムクラスを繰り返し入力せずに後から直接使用できるよう、カスタムクラスを指定してモデルを保存する方法をご確認ください。
自動車のドアが検出されなかったことに気付きましたか?#
出力画像をもう一度確認すると、カスタムクラス「car door」が検出されていないことが分かります。YOLO-Worldは大きな成果を上げていますが、一定の制限もあります。これらの制限に対処し、YOLO-Worldモデルを効果的に使用するには、適切な種類のテキストプロンプトを使用することが重要です。
そのためのヒントをいくつかご紹介します。
- YOLO-Worldでは、正確な予測に高い信頼度が必要ない場合があります。そのため、信頼度のしきい値を下げると検出率が向上する可能性があります。
- 関心のないクラスを追加します。これにより、二次的な物体の誤検出を減らし、主要な物体検出の性能向上に役立ちます。
- 小さな詳細に注目する前に、まず大きな物体を検出すると、検出精度を向上できる場合があります。
- クラスに色を含めると、色の手がかりに基づいて物体を検出できます。
- プロンプトで物体のサイズを説明すると、YOLO-Worldが特定の物体をより正確に識別するのにも役立ちます。
- サイズによる予測のフィルタリングやクラスごとの信頼度の調整などの後処理手法によって、物体検出の結果をさらに改善できます。
可能性は無限です#
総じて、YOLO-Worldモデルは高度な物体検出機能により、強力なツールにできます。優れた効率性と精度を提供し、実際に取り上げた自動車部品の特定の例のように、さまざまなアプリケーションで異なるタスクの自動化に役立ちます。
GitHubリポジトリをぜひご覧いただき、コンピュータービジョンとAIへの貢献について詳しくご確認ください。AIがヘルスケア技術などの分野をどのように変革しているかに関心がある場合は、当社のソリューションページをご覧ください。YOLO-Worldのようなイノベーションがもたらす可能性は、無限に広がっているようです。









