YOLO Vision 2026:
ガイド

可視化によるコンピュータビジョンアプリケーションの強化

より良い洞察を得るために、Ultralytics Pythonパッケージを使用して、コンピュータビジョンアプリケーションからのデータを理解しやすいグラフに変換する方法を学びます。

NUNuvola Ladi4 min read
コンピュータビジョンデータを分析グラフに変換する

空港のターミナルや駅、ショッピングモールに至るまで、毎分膨大な量のデータが生成されています。AIの普及に伴い、こうしたデータの多くが分析・分解されるようになりました。しかし、AIモデルの結果からは、パターンを見つけたり傾向を瞬時に理解したりすることが難しい場合があります。そこでデータ可視化が役立ちます。複雑な出力を明確で理解しやすいインサイトに変換してくれるのです。

これは、コンピューerビジョンアプリケーションにおいて特に顕著です。Computer visionは、画像や動画などの周囲の環境からの視覚情報を機械が解釈し理解するのを助ける、artificial intelligence (AI)の分野です。Ultralytics YOLO11のようなビジョンAIモデルは、このような視覚データを分析して情報を得るのに役立ちますが、データ視覚化はその情報を理解しやすいフォーマットに落とし込むのに役立ちます。

簡単に言えば、データ可視化は意味のある分析グラフを用いることで、生データと真の理解との間のギャップを埋めるものです。今日のデータ駆動型の世界では、機械が単にタスクを実行するだけでは不十分であり、機械に「ストーリー」を語らせる必要があるため、これが極めて重要となります。

そのようなストーリーテリングの必要性こそが、データ視覚化が台頭している理由であり、市場規模は2030年までに183.6億ドルに達すると予測されています。以前、私たちはコンピューerビジョンがどのように価値あるbusiness insightsを提供できるかについて探求しました。本日は、Ultralyticsパッケージを使用して、コンピューerビジョンアプリケーション向けの明確で洞察に満ちた分析グラフを生成する方法を順を追って解説し、さらに一歩踏み込んでいきます。それでは始めましょう!

Visualizing data based on outputs from Ultralytics YOLO11

Fig 1。YOLO11の出力に基づくデータを視覚化した例。

コンピュータービジョンアプリケーションにおけるデータ可視化の概要#

コンピューerビジョンアプリケーションにおけるデータ視覚化には、物体検出や追跡などのcomputer vision tasksの結果を、理解しやすいチャートやダッシュボードに変換することが含まれます。これらの視覚表現は、特に大量のビデオ映像を扱う際に、パターンや傾向を特定するのに役立ちます。

例えば、何時間もの監視映像を手作業で確認する代わりに、時間の経過とともに検出された車や人の数を表示するシンプルな折れ線グラフを作成することで、ピーク時や異常に静かな時間帯を素早く明らかにできます。

データ可視化が役立つ主な理由は以下の通りです:

  • 複雑なデータを単純化する: 数千もの物体検出結果は圧倒的な量になり得ますが、棒グラフや円グラフのような可視化手法を用いることで、例えばどの物体が最も頻繁に出現するかなど、全体像を容易に把握できるようになります。

  • 傾向を明らかにする: 折れ線グラフや棒グラフは、人流がいつ、どこで増加する傾向にあるかなど、時間の経過に伴うパターンを特定するのに役立ちます。

  • 時間を節約する: 動画のすべてのフレームを確認する代わりに、チャートを使用することで、車両活動の急増や制限区域内での異常な物体の出現など、重要な詳細を迅速に特定できます。

  • コミュニケーションを改善する: ビジュアル化することで、非技術者に対してもインサイトを共有しやすくなり、誰もが結果をより明確に理解できるようになります。

様々な種類のデータ可視化#

さまざまな種類の分析グラフを使用することで、コンピューerビジョンの結果を明確で分かりやすい視覚情報に変えることができます。監視映像内の人物や車両を検出するcomputer vision applicationに取り組んでいると仮定しましょう。この場合、折れ線グラフは、1日を通した歩行者数のピークを追跡するなど、検出数が時間とともにどのように変化するかを示すのに最適です。

同様に、棒グラフは、ビデオ内に車、自転車、歩行者のうちどれが多く現れるかといった、検出された様々な物体タイプの数を比較したい場合に役立ちます。一方で円グラフは、全検出数のうち各物体タイプが何パーセントを占めるかを示します。それぞれのグラフには独自の用途があり、複雑なコンピュータービジョンデータを解釈しやすくし、共有を促進します。

Examples of analytical graphs

Fig 2。分析グラフの例。

コンピュータービジョンのインサイトを得るための分析グラフの生成#

データ視覚化とは何か、そしてなぜさまざまな種類の分析グラフが重要であるかを見てきましたので、次はUltralytics Analytics solutionを使用してコンピューerビジョンモデルの予測結果を視覚化する方法を詳しく見ていきましょう。ステップバイステップのプロセスの解説に進む前に、UltralyticsパッケージやYOLO11のようなモデルのトレーニングと使用のためのツールおよびセットアップオプションを確認しましょう。

Ultralytics Pythonパッケージを使用すると、モデルのトレーニング、物体検出、予測の実行、結果の可視化が容易になります。これを使用するにはコーディング環境が必要です。以下に3つのシンプルな選択肢を紹介します:

  • コマンドラインインターフェース (CLI): これは、コマンドを入力してコードを実行するための基本的なテキストのみのツールです。視覚的なインターフェースはなく、ターミナルやコマンドプロンプトに命令を入力して操作します。

  • Jupyter Notebooks: これは、一度に小さなコードブロック(「セル」と呼びます)を記述、実行、テストできる対話型コーディング環境です。結果が各セルのすぐ下に表示されるため、ステップバイステップで何が起こっているかを理解しやすくなっています。学習や実験に特に便利です。

  • Google Colab: このオプションは、Webブラウザで実行できるJupyter Notebooksの無料クラウドベースのバージョンです。コンピューター上のセットアップが不要で、高速な処理のために無料のGPUを利用できます。

これらのツールは素早く始めるのに最適ですが、ユーザーはUltralyticsをVisual Studio Code (VS Code)などの統合開発環境(IDE)や本番パイプラインに統合することもできます。その他のオプションについては、公式のUltralytics documentationをご覧ください。

ステップ 1: 環境のセットアップ#

好みの環境を選択したら、次のステップは予測の実行と結果の可視化に向けて環境を準備することです。最も使い慣れた環境に応じて、上記のいずれの環境でも使用できます。

Google Colabを使用する場合、デフォルトではCPUが使用されるため、パフォーマンスが低下する可能性があることに注意してください。速度を上げるには、「ランタイム」メニューから「ランタイムのタイプを変更」を選択し、ハードウェアアクセラレータをGPU(理想的にはT4)に設定します。

環境を準備するには、以下のコマンドを使用してUltralytics Python packageをインストールする必要があります。ColabやJupyterなどのノートブックベースのツールでは、コマンドの前に必ず感嘆符(!)を追加してください。

pip install ultralytics

ステップ2: 動画ファイルのダウンロード#

次に、作業用の動画を用意します。Pexelsなどの無料ストックサイトから簡単にダウンロードできます。Ultralytics YOLO11が検出できるオブジェクトが含まれている動画を選んでください。このモデルはCOCO datasetで事前学習されているため、人、車、自転車などの一般的なオブジェクトを認識できます。

このチュートリアルでは、混雑した空港ターミナルでのbaggage handlingの動画を使用します。同じ動画を使用することも、プロジェクトに合った別の動画を選択することもできます。

A frame from the input video showing baggage handling in an airport terminal

Fig 3. 空港ターミナルでの手荷物取扱を示す入力動画のフレーム。

ステップ3: パッケージのインポート#

次に、必要なライブラリをインポートし、入力動画を読み込みます。

まず、コンピューerビジョンにおける画像や動画の処理に広く使用されているライブラリであるOpenCV(cv2)をインポートすることから始めます。また、物体検出の実行や動画からのgenerate analyticsに役立つUltralyticsライブラリもインポートします。

その後、動画ファイルのパスを指定して読み込みを試みます。「path/to/video.mp4」を実際にダウンロードした動画ファイルの場所に置き換えてください。

また、以下のコードスニペットには、動画が正しく読み込まれたことを確認するためのシンプルなチェックが含まれています。パスが間違っているかファイルが破損している場合、プログラムは停止し、「Error reading video file.」というエラーメッセージを表示します。

import cv2
from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

ステップ4: ビデオライターの準備#

次に、出力を保存するためのビデオライターを設定します。分析を実行すると、コードのこの部分によって、元の動画の各フレームから生成された更新済みのグラフを記録する新しいビデオファイルが作成されます。

以下のコードスニペットでは、まず入力動画から主要なプロパティ(幅、高さ、frames per second (fps))を抽出します。これらの値は動画から直接取得され、出力の書き込みに正しいフォーマットで使用できるよう整数に変換されます。

続いて、cv2.VideoWriter関数を使用して「analytics_output.avi」という名前の新しいビデオファイルを作成します(必要に応じて名前を変更できます)。動画は、一般的な動画圧縮手法であるMJPG形式で保存されます。出力解像度は、元の動画のサイズに関わらず1280×720ピクセルに設定されます。

w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
out = cv2.VideoWriter(
    "analytics_output.avi",
    cv2.VideoWriter_fourcc(*"MJPG"),
    fps,
    (1280, 720),
)

ステップ5: Ultralytics Analyticsソリューションのセットアップ#

次に、動画からグラフを生成するためにUltralytics Analyticsソリューションを設定します。データの表示方法(折れ線グラフ、円グラフ、面グラフ、棒グラフなど)や、使用するYOLO modelを選択できます。この例では、軽量な「yolo11n.pt」モデルを使用し、結果を面グラフとして表示します。

analytics = solutions.Analytics(
    show=True,
    analytics_type="area",
    model="yolo11n.pt",
)

ステップ6: 入力動画の処理#

コードの最後の部分は、動画を1フレームずつ処理するループを実行します。各フレームが分析ツールに渡され、グラフがリアルタイムで更新されます。更新されたグラフが、出力動画に書き込まれます。フレームを読み込めない場合、ループは停止します。すべてのフレームの処理が完了したら、動画が保存され、開いているウィンドウが閉じられます。

frame_count = 0
while cap.isOpened():
    success, im0 = cap.read()
    if success:
        frame_count += 1
        results = analytics(im0, frame_count)
        out.write(results.plot_im)
    else:
        break

cap.release()
out.release()
cv2.destroyAllWindows()

ステップ7: まとめ#

最後に、すべてを統合しましょう。わずか数行の追加コードで、Ultralytics YOLO11のobject detection結果をバウンディングボックスとラベル付きで示す動画と、リアルタイムの分析グラフを示す動画の2つの出力動画を生成できます。

これを実現するために、予測ビデオ保存用と分析用で、2つのVideoWriterインスタンスを設定します。このバージョンのコードには物体トラッキングとグラフ生成の両方が含まれているため、検出結果と視覚的なインサイトを並べて確認できます。

以下に、予測出力と分析出力の両方の例を含む包括的なコードを示します。

import cv2
from ultralytics import YOLO, solutions

# Load model and video
model = YOLO('yolo11n.pt')
cap = cv2.VideoCapture('path/to/video.mp4')
assert cap.isOpened(), "Error opening video"

# Get properties
w, h = int(cap.get(3)), int(cap.get(4))
fps = cap.get(5)
analytics_res = (1280, 720)

# Writers for prediction and analytics videos
out_pred = cv2.VideoWriter('output_predictions.avi', cv2.VideoWriter_fourcc(*'MJPG'), fps, (w, h))
out_ana = cv2.VideoWriter('output_analytics.avi', cv2.VideoWriter_fourcc(*'MJPG'), fps, analytics_res)

# Analytics setup
analytics = solutions.Analytics(show=True, analytics_type="area", model='yolo11n.pt')

# Process frames
frame_count = 0
while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break
    frame_count += 1
    pred_frame = model.track(frame, persist=True)[0].plot()
    out_pred.write(pred_frame)
    resized = cv2.resize(pred_frame, analytics_res)
    out_ana.write(analytics(resized, frame_count).plot_im)

cap.release(), out_pred.release(), out_ana.release(), cv2.destroyAllWindows()

上記のコードが正常に実行されると、2つの出力動画が生成されます。「output_predictions.avi」ファイルには、境界ボックスとラベル付きの物体検出結果が表示され、「output_analytics.avi」には検出結果に基づくリアルタイムの分析グラフが表示されます。

A frame from the object detection output video

図4。「output_predictions.avi」ファイルのフレーム。

以下は、予測に基づく分析出力のフレームです。面グラフを使用することで、フレーム268付近の急増のように、時間の経過に伴うスーツケースの数の変動といったインサイトを得ることができます。これは、動画のその部分でのスーツケースの移動や活動を示しています。

Ultralytics YOLO11 predictions visualized as an area graph

図5:面グラフとして可視化されたUltralytics YOLO11の予測結果。

現実世界のコンピュータービジョンアプリケーションでのグラフ活用#

データ可視化が大きな影響を与える、現実世界のコンピュータービジョンアプリケーションをいくつか紹介します:

  • Healthcare: コンピューerビジョンシステムは、患者の活動、スタッフの移動、および機器の使用状況をリアルタイムで監視できます。これにより大量の視覚データが生成され、視覚化することで、患者のピーク占有時間や対応の遅延などのパターンを明らかにすることができます。

  • 小売およびEコマース: ビジョンAIを使用して、顧客の動き、棚の前での滞在時間、商品とのインタラクションを追跡できます。棒グラフや円グラフのような視覚的な分析によって、どの店舗ゾーンや商品が最も注目を集めているかを強調でき、小売業者は商品の配置を最適化し、コンバージョンを向上させることができます。

  • 製造: コンピュータービジョンモデルを搭載したカメラで、製造ラインの欠陥、安全違反、機器の状態を監視できます。データ可視化によって、最も一般的な欠陥タイプの傾向を示したり、エラー率が最も高い期間を強調したりできるため、迅速な意思決定と予防保全が可能になります。

重要なポイント#

Ultralyticsパッケージを使えば、動画素材を、何が起こっているかを明らかにする明確で洞察に満ちたグラフへ簡単に変換できます。例えば、時間の経過とともに何人の人や物体が出現するかを追跡可能です。何時間もの動画を手作業で確認する代わりに、主要なパターンや傾向を強調する視覚的な要約を生成できるため、迅速な対応が容易になります。病院、小売店、製造施設など、場所を問わず、これらのグラフは複雑なAI出力を誰でも理解し活用できるインサイトへと変換します。

AIについてもっと知りたいですか?GitHub repositoryを探索し、our communityとつながり、our licensing optionsを確認して、computer visionプロジェクトを軌道に乗せましょう。ソリューションページで、AI in manufacturingや物流業界におけるcomputer vision in the logisticsなどのイノベーションの詳細をご覧ください。

Explore solutions

Real-time AI that works with your team

ロボティクスにおけるAI

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律航行、認識、物体追跡、リアルタイム制御を推進します。
詳細はこちら
Real-time AI that works with your team

物流におけるAI

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物の検査、仕分け、車両追跡、リアルタイムの倉庫安全モニタリングが可能になります。
詳細はこちら
Real-time AI that works with your team

小売業界におけるAI

Ultralytics YOLOモデルで小売を再定義しましょう。ビジョンAIは、在庫追跡、棚のモニタリング、キュー管理、そしてより賢明な顧客インサイトを促進します。
詳細はこちら
Real-time AI that works with your team

ヘルスケアにおけるAI

Ultralytics YOLOモデルを使用してヘルスケアソリューションを構築しましょう。ヘルスケア分野におけるビジョンAIは、より高速な医療画像診断、よりスマートな診断、患者モニタリングを推進します。
詳細はこちら
Real-time AI that works with your team

製造におけるAI

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPEコンプライアンス、組立ラインの自動化を促進します。
詳細はこちら
Real-time AI that works with your operation

自動車におけるAI

Ultralytics YOLOモデルを使用して、自動車分野にコンピュータビジョンを適用しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳細はこちら
Real-time AI tailored to your operation

農業におけるAI

Ultralytics YOLOモデルを使用して、スマート農業にビジョンAIを導入しましょう。作物モニタリング、家畜のトラッキング、精密農業を強化し、より高くスマートな収穫を実現します。
詳細はこちら
Real-time AI that works with your team

ロボティクスにおけるAI

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律航行、認識、物体追跡、リアルタイム制御を推進します。
詳細はこちら
Real-time AI that works with your team

物流におけるAI

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物の検査、仕分け、車両追跡、リアルタイムの倉庫安全モニタリングが可能になります。
詳細はこちら
Real-time AI that works with your team

小売業界におけるAI

Ultralytics YOLOモデルで小売を再定義しましょう。ビジョンAIは、在庫追跡、棚のモニタリング、キュー管理、そしてより賢明な顧客インサイトを促進します。
詳細はこちら
Real-time AI that works with your team

ヘルスケアにおけるAI

Ultralytics YOLOモデルを使用してヘルスケアソリューションを構築しましょう。ヘルスケア分野におけるビジョンAIは、より高速な医療画像診断、よりスマートな診断、患者モニタリングを推進します。
詳細はこちら
Real-time AI that works with your team

製造におけるAI

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPEコンプライアンス、組立ラインの自動化を促進します。
詳細はこちら
Real-time AI that works with your operation

自動車におけるAI

Ultralytics YOLOモデルを使用して、自動車分野にコンピュータビジョンを適用しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳細はこちら
Real-time AI tailored to your operation

農業におけるAI

Ultralytics YOLOモデルを使用して、スマート農業にビジョンAIを導入しましょう。作物モニタリング、家畜のトラッキング、精密農業を強化し、より高くスマートな収穫を実現します。
詳細はこちら
Real-time AI that works with your team

ロボティクスにおけるAI

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律航行、認識、物体追跡、リアルタイム制御を推進します。
詳細はこちら
Real-time AI that works with your team

物流におけるAI

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物の検査、仕分け、車両追跡、リアルタイムの倉庫安全モニタリングが可能になります。
詳細はこちら
Real-time AI that works with your team

小売業界におけるAI

Ultralytics YOLOモデルで小売を再定義しましょう。ビジョンAIは、在庫追跡、棚のモニタリング、キュー管理、そしてより賢明な顧客インサイトを促進します。
詳細はこちら
Real-time AI that works with your team

ヘルスケアにおけるAI

Ultralytics YOLOモデルを使用してヘルスケアソリューションを構築しましょう。ヘルスケア分野におけるビジョンAIは、より高速な医療画像診断、よりスマートな診断、患者モニタリングを推進します。
詳細はこちら
Real-time AI that works with your team

製造におけるAI

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPEコンプライアンス、組立ラインの自動化を促進します。
詳細はこちら
Real-time AI that works with your operation

自動車におけるAI

Ultralytics YOLOモデルを使用して、自動車分野にコンピュータビジョンを適用しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳細はこちら
Real-time AI tailored to your operation

農業におけるAI

Ultralytics YOLOモデルを使用して、スマート農業にビジョンAIを導入しましょう。作物モニタリング、家畜のトラッキング、精密農業を強化し、より高くスマートな収穫を実現します。
詳細はこちら

AIの未来を共に築き上げましょう!

機械学習の未来とともに旅を始めましょう