YOLO-Worldに触れる

アビラミ・ヴィナ

4 min read

2024年4月5日

YOLO-Worldは、テキストプロンプトからオブジェクトを識別できる革新的なオブジェクト検出モデルです。YOLO-Worldがどのように機能し、どのように応用されるのか、簡単なコード例を使って実際に体験してみましょう。

コンピューター・ビジョンのプロジェクトでは、データの注釈付けや物体検出モデルのトレーニングに多くの時間を費やすことが多い。しかし、それはすぐに過去のものになるかもしれない。テンセントのAIラボは2024年1月31日、リアルタイムのオープン語彙オブジェクト検出モデル「YOLO-World」をリリースした。YOLO-Worldはゼロショット・モデルであり、つまり学習させることなく画像上で物体検出推論を実行することができる。

ゼロショット・モデルは、コンピュータ・ビジョン・アプリケーションへのアプローチ方法を変える可能性を秘めています。このブログでは、YOLO-Worldがどのように機能するのか、その潜在的な用途を探り、実践的なコード例を紹介します。

YOLOワールドを覗く

YOLO-Worldモデルを通して、画像と、探しているオブジェクトを説明するテキストプロンプトを渡すことができます。例えば、写真の中から「赤いシャツを着た人」を探したい場合、YOLO-Worldはこの入力を受け取り、作業に取り掛かる。

このモデルのユニークな構造は、3つの主要要素を組み合わせたものである:

  • Ultralytics YOLOv8物体検出モデルに基づく検出器で、画像の視覚的内容を分析する。
  • OpenAIのCLIPによって事前に訓練されたテキストエンコーダで、特にあなたのテキストプロンプトを理解するように設計されています。
  • 処理された画像データとテキストデータを統合するネットワーク、視覚言語パス集約ネットワーク(RepVL-PAN)。

YOLOディテクターは、入力画像をスキャンして潜在的なオブジェクトを特定します。テキストエンコーダは、入力された説明をモデルが理解できる形式に変換します。これら2つの情報の流れは、マルチレベルのクロスモダリティフュージョンを使用して、RepVL-PANを介してマージされます。これにより、YOLO-Worldは、画像内のプロンプトに記述されたオブジェクトを正確に検出し、位置を特定します。

__wf_reserved_inherit
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を使うことで、ボトルキャップで適切に密封されたボトルと、キャップが外れていたり欠陥のあるボトルを簡単に識別することができる。

__wf_reserved_inherit
ボトルキャップ検査の例。

ロボット工学

YOLO-Worldモデルは、ロボットが不慣れな環境と相互作用することを可能にする。部屋にある特定の物体について訓練されなくても、どのような物体が存在するかを識別することができる。例えば、ロボットが入ったことのない部屋に入ったとしよう。YOLO-Worldモデルがあれば、椅子、テーブル、ランプなどのオブジェクトを認識し、識別することができる。

YOLO-Worldは、物体検出に加えて、「プロンプト・トゥ・ディテクト」機能により、それらの物体の状態を判断することもできる。例えば、農業 ロボット工学の分野では、熟した果実と熟していない果実を識別するために、ロボットに検出するようプログラミングすることで使用できる。

自動車産業におけるAI

自動車産業には多くの可動部分があり、YOLO-Worldはさまざまな自動車アプリケーションに使用できます。例えば、車のメンテナンスに関して言えば、手作業によるタグ付けや大規模な事前学習なしに多種多様な物体を認識できるYOLO-Worldの能力は非常に有用です。YOLO-Worldは、交換が必要な車の部品を特定するために使用できる。品質チェックのような作業を自動化し、新車の欠陥や欠落を発見することもできるだろう。

もう一つのアプリケーションは、自動運転車におけるゼロショット物体検出である。YOLO-Worldのゼロショット検出機能は、歩行者、交通標識、他の車両など、道路上の物体をリアルタイムで検出・分類する自律走行車の能力を向上させることができる。そうすることで、より安全な走行のために障害物を検知し、事故を防ぐことができる。 

__wf_reserved_inherit
道路上の物体を検出する例。

小売店の在庫管理

小売店の棚に陳列された対象物を識別することは、在庫の追跡、在庫の管理、プロセスの自動化において重要な役割を果たします。Ultralytics YOLO-Worldの能力は、手作業によるタグ付けや大規模な事前トレーニングなしに様々な対象物を認識することができるため、在庫管理に非常に役立ちます。 

例えば、在庫管理では、YOLO-Worldは、異なるブランドのエナジードリンクなど、棚にある商品を素早く見つけ、分類することができる。小売店は正確な在庫を管理し、在庫レベルを効率的に管理し、サプライチェーン業務を円滑に行うことができる。 

どのアプリケーションもユニークで、YOLO-Worldがいかに幅広く使えるかを示している。次に、YOLO-Worldを実際に使って、コーディングの例を見てみよう。

コード・ウォークスルー

前にも述べたように、YOLO-Worldは、メンテナンスのために車のさまざまな部分を検出するために使用することができる。修理が必要な箇所を検出するコンピューター・ビジョン・アプリケーションは、車の写真を撮り、車の部品を特定し、車の各部分の損傷を調べ、修理を推奨する。このシステムの各部分は、異なるAI技術とアプローチを使用することになる。このコードのウォークスルーでは、車の部品を検出する部分に焦点を当てます。

YOLO-Worldを使えば、5分もかからずに画像内のさまざまな車の部品を識別することができます。このコードを拡張して、YOLO-Worldを使ってさまざまなアプリケーションを試すこともできる!始めるには、以下のようにUltralyticsパッケージをpipでインストールする必要がある。

インストールプロセスに関する詳しい説明とベストプラクティスについては、Ultralyticsインストールガイドをご覧ください。YOLOv8に必要なパッケージのインストール中に、何らかの問題が発生した場合は、解決策とヒントに関する「よくある問題」ガイドをご覧ください。

必要なパッケージをインストールしたら、インターネットから画像をダウンロードして推論を実行しよう。ここでは以下の画像を使用する。

__wf_reserved_inherit
入力画像。

次に、必要なパッケージをインポートしてモデルを初期化し、入力画像で探しているクラスを設定します。ここでは、car、wheel、car door、car mirror、license plateに興味があります。

次にpredictメソッドを使い、画像のパスと、最大検出数、intersection over union (IoU)とconfidence (conf)のしきい値をパラメータとして与え、画像に対して推論を実行する。最後に、検出されたオブジェクトは'result.jpg'という名前のファイルに保存される。

以下の出力画像がファイルに保存されます。

__wf_reserved_inherit
出力イメージ。

コーディングなしでYOLO-Worldの機能をご覧になりたい方は、YOLO-Worldのデモページにアクセスして、入力画像をアップロードし、カスタムクラスを入力してください。 

YOLO-Worldのドキュメントページを読んで、カスタムクラスと一緒にモデルを保存し、カスタムクラスを何度も入力することなく後で直接使えるようにする方法を学んでください。

車のドアが検知されなかったことに気づきましたか?

出力画像をもう一度見てみると、カスタムクラス「車のドア」が検出されていないことに気づくだろう。YOLO-Worldには、その偉大な功績にもかかわらず、一定の限界があります。これらの制限と戦い、YOLO-Worldモデルを効果的に使うには、正しいタイプのテキストプロンプトを使うことが重要です。 

それについての見識を紹介しよう:

  • YOLO-Worldは正確な予測のために高い信頼度を必要としないかもしれないので、信頼度の閾値を下げることで検出率を向上させることができる。
  • 興味のないクラスを追加する。二次オブジェクトの誤検出を減らし、一次オブジェクトの検出を改善するのに役立ちます。
    ‍。
  • 小さな細部に注目する前に、まず大きな物体を検出することで、 検出精度を向上させることができる。

  • ‍ 色を手がかりに物体を検出するために、クラスで色について言及する。
  • プロンプトにオブジェクトのサイズを記述することで、YOLO-Worldが特定のオブジェクトをより正確に識別することもできる。
  • サイズによる予測値のフィルタリングや、クラスごとの信頼度の調整などの後処理を行うことで、物体検出結果をさらに向上させることができる。

限界は無限大

全体として、YOLO-Worldモデルは、その高度な物体検出機能により、強力なツールにすることができる。 それは、非常に効率的で正確であり、実際に説明した車の部品の識別の例のように、さまざまなアプリケーションにわたってさまざまなタスクを自動化するのに役立つ。

当社のGitHubリポジトリで、コンピュータビジョンとAIへの貢献の詳細をご覧ください。AIがヘルスケア・ テクノロジーなどの分野をどのように再構築しているかに興味がある方は、当社のソリューション・ページをご覧ください。YOLO-Worldのようなイノベーションの可能性は無限大です!

AIの未来
を一緒に作りましょう!

機械学習の未来への旅を始めよう

無料で始める
クリップボードにコピーされたリンク