テキストプロンプトを通じてオブジェクトを識別できる革新的なオブジェクト検出モデルである YOLO-World について学びましょう。YOLO-World の仕組みとそのアプリケーションを調べ、簡単なコード例を実際に試してみましょう。

テキストプロンプトを通じてオブジェクトを識別できる革新的なオブジェクト検出モデルである YOLO-World について学びましょう。YOLO-World の仕組みとそのアプリケーションを調べ、簡単なコード例を実際に試してみましょう。
コンピュータビジョンのプロジェクトでは、多くの場合、データのアノテーションと物体検出モデルのトレーニングに多くの時間を費やします。しかし、それも過去のものになるかもしれません。TencentのAI Labは、リアルタイムのオープンボキャブラリー物体検出モデルであるYOLO-Worldを2024年1月31日にリリースしました。YOLO-Worldはゼロショットモデルであり、トレーニングなしで画像の物体検出推論を実行できます。
ゼロショットモデルは、コンピュータビジョンアプリケーションへのアプローチを変える可能性を秘めています。このブログでは、YOLO-Worldの仕組みとその潜在的な用途を探り、実際に試せるコード例を紹介します。
画像と、探しているオブジェクトを説明するテキストプロンプトをYOLO-Worldモデルに渡すことができます。たとえば、写真の中から「赤いシャツを着た人」を探したい場合、YOLO-Worldはこの入力を受け取り、処理を開始します。
このモデルのユニークなアーキテクチャは、主に次の3つの要素を組み合わせています。
YOLO検出器は、入力画像をスキャンして潜在的なオブジェクトを識別します。テキストエンコーダーは、記述をモデルが理解できる形式に変換します。次に、これらの2つの情報ストリームは、マルチレベルのクロスモダリティ融合を使用してRepVL-PANを介してマージされます。これにより、YOLO-Worldは、プロンプトで記述されたオブジェクトを画像内で正確に検出して特定できます。
YOLO-Worldの最大の利点の1つは、特定のクラスのためにモデルをトレーニングする必要がないことです。画像とテキストのペアからすでに学習しているため、説明に基づいてオブジェクトを検出する方法を知っています。データの収集、アノテーション、高価なGPUでのトレーニングなどに何時間も費やす必要がありません。
YOLO-Worldを使用するその他の利点を以下に示します。
YOLO-Worldモデルは、幅広いアプリケーションに使用できます。そのうちのいくつかを見ていきましょう。
組み立てラインで製造された製品は、梱包前に目視で欠陥がないかチェックされます。欠陥検出は手作業で行われることが多く、時間がかかり、間違いにつながる可能性があります。これらの間違いは、コストの増加や修理・リコールの必要性などの問題を引き起こす可能性があります。これを支援するために、これらのチェックを実行するための特別なマシンビジョンカメラとAIシステムが作成されています。
YOLO-Worldモデルは、この分野における大きな進歩です。ゼロショット機能を使用することで、特定の問題についてトレーニングされていなくても、製品の欠陥を見つけることができます。たとえば、ウォーターボトルを製造している工場では、YOLO-Worldを使用して、ボトルキャップで適切に密閉されたボトルと、キャップが欠落しているボトルまたは不良ボトルを簡単に識別できます。
YOLO-Worldモデルを使用すると、ロボットは不慣れな環境と対話できます。部屋にある可能性のある特定のオブジェクトについてトレーニングされていなくても、存在するオブジェクトを識別できます。たとえば、ロボットがこれまでに入ったことのない部屋に入るとします。YOLO-Worldモデルを使用すると、椅子、テーブル、ランプなどのオブジェクトについて特にトレーニングされていなくても、それらを認識して識別できます。
YOLO-Worldは、物体検出に加えて、「プロンプト・アンド・ディテクト」機能のおかげで、それらのオブジェクトの状態を判断することもできます。たとえば、農業ロボティクスでは、ロボットをプログラムして検出することにより、熟した果物と熟していない果物を識別するために使用できます。
自動車産業には多くの可動部品があり、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でインストールする必要があります。
インストールプロセスに関する詳細な手順とベストプラクティスについては、Ultralytics Installationガイドをご覧ください。YOLOv8に必要なパッケージのインストール中に問題が発生した場合は、一般的な問題に関するガイドで解決策とヒントをご確認ください。
必要なパッケージをインストールしたら、インターネットから画像をダウンロードして推論を実行できます。ここでは、以下の画像を使用します。
次に、必要なパッケージをインポートし、モデルを初期化して、入力画像で探しているクラスを設定します。ここでは、car(車)、wheel(ホイール)、car door(車のドア)、car mirror(車のミラー)、license plate(ナンバープレート)のクラスに関心があります。
次に、predictメソッドを使用して、画像のパスと、検出の最大数、Intersection over Union(IoU)の閾値、および信頼度(conf)のパラメータを指定して、画像に対して推論を実行します。最後に、検出されたオブジェクトは「result.jpg」という名前のファイルに保存されます。
次の出力画像がファイルに保存されます。
コーディングなしでYOLO-Worldの機能を確認したい場合は、YOLO-Worldのデモページにアクセスし、入力画像をアップロードして、カスタムクラスを入力できます。
カスタムクラスを繰り返し入力しなくても、後ですぐに使用できるように、カスタムクラスでモデルを保存する方法については、YOLO-Worldに関するドキュメントページをご覧ください。
出力画像をもう一度見ると、カスタムクラス「car door(車のドア)」が検出されていないことに気づくでしょう。YOLO-Worldは素晴らしい成果を上げていますが、いくつかの制限があります。これらの制限に対処し、YOLO-Worldモデルを効果的に使用するには、適切な種類のテキストプロンプトを使用することが重要です。
以下にいくつかのヒントを示します。
YOLO-Worldモデルは、高度な物体検出能力により、強力なツールとなり得ます。優れた効率と精度を提供し、自動車部品の識別のような、実際に議論した様々なアプリケーションにおいて、異なるタスクを自動化するのに役立ちます。
コンピュータビジョンとAIへの貢献についてさらに詳しく知りたい場合は、GitHubリポジトリをご覧ください。AIがヘルスケアテクノロジーのような分野をどのように再構築しているかについて興味がある場合は、ソリューションページをご覧ください。YOLO-Worldのようなイノベーションの可能性は無限大です。