YOLO-World は、テキストプロンプトからオブジェクトを識別できる革新的なオブジェクト検出モデルです。YOLO-World がどのように機能するのか、またその応用例について説明し、簡単なコード例で実際に操作してみましょう。
コンピューター・ビジョンのプロジェクトでは、データの注釈付けや物体検出モデルのトレーニングに多くの時間を費やすことが多い。しかし、それはすぐに過去のものになるかもしれない。テンセントのAIラボは2024年1月31日、リアルタイムのオープン語彙オブジェクト検出モデル、YOLO-Worldをリリースした。YOLO-Worldはゼロショット・モデルであり、学習させることなく画像上で物体検出推論を実行できる。
ゼロショット・モデルは、コンピュータ・ビジョン・アプリケーションへのアプローチ方法を変える可能性を秘めています。このブログでは、YOLO-Worldがどのように機能するのか、またその潜在的な用途について説明し、実践的なコード例を紹介します。
YOLO-Worldモデルに、画像と、探しているオブジェクトを説明するテキストプロンプトを渡すことができる。例えば、写真の中から「赤いシャツを着ている人」を探したい場合、YOLO-Worldはこの入力を受け取り、作業に取り掛かる。
このモデルのユニークな構造は、3つの主要要素を組み合わせたものである:
YOLO 検出器は、入力画像をスキャンして潜在的なオブジェクトを識別します。テキストエンコーダは、入力された説明をモデルが理解できる形式に変換します。これらの2つの情報の流れは、マルチレベルのクロスモダリティフュージョンを使用して、RepVL-PANを介してマージされます。これにより、YOLO-Worldは、画像内のプロンプトに記述されたオブジェクトを正確に検出し、位置を特定することができます。
YOLO-Worldを使う最大の利点のひとつは、特定のクラスに対してモデルを訓練する必要がないことだ。すでに画像とテキストのペアから学習しているので、説明に基づいてオブジェクトを見つける方法を知っている。データの収集、データのアノテーション、高価なGPUでのトレーニングなどに何時間も費やす必要がありません。
YOLO-Worldを利用するその他の利点は以下の通り:
YOLO-ワールドモデルはさまざまな用途に使用できる。そのいくつかを探ってみよう。
組立ラインで製造された製品は、梱包前に目視で欠陥がないかチェックされる。欠陥の検出は手作業で行われることが多く、時間がかかり、ミスにつながることもある。こうしたミスは、コスト高や修理やリコールの必要性といった問題を引き起こす可能性がある。そこで、これらのチェックを行うための特別なマシンビジョンカメラやAIシステムが開発されている。
YOLO-ワールドモデルはこの分野で大きな進歩を遂げた。ゼロ・ショット能力を使えば、特定の問題に対してトレーニングを受けていなくても、製品の欠陥を見つけることができる。例えば、水筒を製造している工場では、YOLO-Worldを使用することで、ボトルキャップで適切に密封されたボトルと、キャップが外れていたり、欠陥のあるボトルを簡単に識別することができる。
YOLO-ワールドモデルは、ロボットが不慣れな環境と相互作用することを可能にする。部屋にある特定の物体について訓練されなくても、どのような物体が存在するかを識別することができる。例えば、ロボットが入ったことのない部屋に入ったとしよう。YOLO-World モデルでは、椅子、テーブル、ランプなどのオブジェクトを認識し、識別することができる。
物体検出に加えて、YOLO-Worldは、「プロンプト・トゥン・ディテクト」機能により、それらの物体の状態を判断することもできる。例えば、農業 ロボット工学の分野では、熟した果実と熟していない果実を識別するために、ロボットをプログラミングして検出することができる。
自動車業界には多くの可動部品があり、YOLO-Worldはさまざまな自動車アプリケーションに使用できます。例えば、車のメンテナンスに関して言えば、YOLO-World が持つ、手作業によるタグ付けや大規模な事前学習なしに多種多様なオブジェクトを認識する能力は非常に有用です。YOLO-Worldは、交換が必要な車の部品を特定するために使用できる。品質チェックや、新車の欠陥や欠品の発見といった作業を自動化することもできるだろう。
もうひとつの用途は、自動運転車におけるゼロショット物体検出だ。YOLO-ワールドのゼロショット検出機能は、歩行者、交通標識、他の車両など、道路上の物体をリアルタイムで検出・分類する自律走行車の能力を向上させることができる。そうすることで、障害物を検知し、より安全な走行のための事故防止に役立てることができる。
小売店で棚に陳列された対象物を識別することは、在庫の追跡、在庫の管理、プロセスの自動化において重要な役割を果たします。Ultralytics YOLO-手作業によるタグ付けや大規模な事前トレーニングを必要とせず、さまざまな対象物を認識できるWorldの能力は、在庫管理に非常に役立ちます。
例えば在庫管理では、YOLO-Worldは、異なるブランドのエナジードリンクなど、棚にある商品を素早く発見し、分類することができる。小売店は正確な在庫を管理し、在庫レベルを効率的に管理し、サプライチェーン業務を円滑に行うことができる。
どのアプリケーションもユニークで、YOLO-Worldがいかに幅広く使えるかを示している。次に、YOLO-Worldを実際に使って、コーディングの例を見てみよう。
前にも述べたように、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)とconfidence (conf)のしきい値をパラメータとして与え、画像に対して推論を実行する。最後に、検出されたオブジェクトは'result.jpg'という名前のファイルに保存される。
以下の出力画像がファイルに保存されます。
コーディングなしでYOLO-Worldの機能をご覧になりたい場合は、YOLO-Worldのデモ・ページにアクセスして入力画像をアップロードし、カスタム・クラスを入力してください。
YOLO-Worldのドキュメントページを読んで、カスタムクラスを繰り返し入力することなく、後で直接使用できるように、カスタムクラスとともにモデルを保存する方法を学んでください。
出力画像をもう一度見てみると、カスタムクラス「車のドア」が検出されていないことに気づくだろう。YOLO-Worldには、その偉大な功績にもかかわらず、ある種の制限があります。これらの制限と戦い、YOLO-Worldモデルを効果的に使用するには、正しいタイプのテキストプロンプトを使用することが重要です。
それについての見識を紹介しよう:
全体として、YOLO-World モデルは、その高度なオブジェクト検出機能により、強力なツールにすることができる。これは、非常に効率的で正確であり、実際に説明した車の部品の識別の例のように、さまざまなアプリケーションにわたってさまざまなタスクを自動化するのに役立つ。
当社のGitHubリポジトリで、コンピュータビジョンとAIへの貢献の詳細をご覧ください。AIが医療 技術のような分野をどのように再構築しているか興味がある方は、当社のソリューションページをご覧ください。YOLO-Worldのようなイノベーションの可能性は無限大です!