Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics YOLO

StreamlitとUltralytics YOLO11で対話型AIアプリを実行する

短いスクリプトを使ってStreamlitのWebアプリでUltralytics YOLO11の推論を実行し、フロントエンドコードなしでインタラクティブなコンピュータビジョンのデモを作成する方法をご紹介します。

Abirami VinaAbirami Vina10 分で読めます
StreamlitとUltralytics YOLO11で対話型AIアプリを実行する

コンピュータービジョンモデルは、機械が視覚データを解釈・分析できるようにする強力なAIツールです。高い精度で物体検出、画像分類、インスタンスセグメンテーションなどのタスクを実行できます。しかし、デプロイしてより多くの人が使えるようにするには、ウェブ開発やモバイルアプリのスキルなど、追加の技術的専門知識が必要になる場合があります。

たとえば、Ultralytics YOLO11は、さまざまなタスクに対応し、多様なアプリケーションで役立つモデルです。しかし、フロントエンドの技術的な知識がなければ、使いやすいインターフェースの構築とデプロイは、一部のAIエンジニアにとって難しく感じられることがあります。

Streamlitは、このプロセスを簡素化するオープンソースのフレームワークです。複雑なフロントエンド開発をせずにインタラクティブなアプリケーションを構築できる、Pythonベースのツールです。Ultralytics YOLO11と組み合わせると、ユーザーは最小限の手間で画像をアップロードし、動画を処理して、リアルタイムの結果を可視化できます。

UltralyticsはLive Inferenceソリューションにより、さらに簡単にStreamlitと統合できるようにしています。コマンドを1つ実行するだけで、事前構築済みのYOLO11用Streamlitアプリを起動できるため、手動でのセットアップやコーディングは不要です。

この記事では、UltralyticsのLive InferenceソリューションとStreamlitを使ってYOLO11をセットアップし、実行する方法を解説します。これにより、リアルタイムAIのデプロイを迅速化し、より多くの人が利用できるようにします。

Streamlitとは?#

Streamlitは、インタラクティブなウェブアプリケーションの作成を簡素化するPythonフレームワークです。AI開発者は、フロントエンド開発の複雑さに対処することなく、AI搭載アプリを構築できます。

このツールは、AIや機械学習モデルとうまく連携するように設計されています。Pythonを数行書くだけで、ユーザーが画像をアップロードしたり、動画を処理したり、AIモデルを操作したりできるインターフェースを開発者が作成できます。

Streamlitの主な機能

図1. Streamlitの主な機能。画像提供:著者。

主な機能の一つは動的レンダリングです。ユーザーが変更を加えると、手動でページを再読み込みしなくてもアプリが自動的に更新されます。

また、軽量で使いやすいため、Streamlitはローカルマシンとクラウドプラットフォームの両方で効率的に動作します。そのため、AIアプリケーションのデプロイやモデルの共有、直感的でインタラクティブなユーザー体験の提供に適しています。

Ultralytics YOLO11:汎用性の高いビジョンAIモデル#

StreamlitアプリケーションでUltralytics YOLO11を使ったライブ推論を実行する方法を詳しく見る前に、YOLO11の信頼性を支える特長を見ていきましょう。

Ultralytics YOLO11は、物体検出、インスタンスセグメンテーション、姿勢推定などのリアルタイムコンピュータービジョンタスク向けに設計されたモデルです。高い精度と高速な処理性能を実現します。

複数車線の高速道路を走る車のナンバープレートを検出するUltralytics YOLO11

図2 YOLO11を物体検出に使用する例。

YOLO11の大きな利点の一つは、使いやすさです。複雑なセットアップは不要で、開発者はUltralytics Pythonパッケージをインストールすれば、わずか数行のコードで予測を実行できます。

Ultralytics Pythonパッケージはさまざまな機能を提供しており、ユーザーはモデルをファインチューニングしたり、検出設定を調整したりできます。また、さまざまなデバイスでパフォーマンスを最適化し、よりスムーズなデプロイを実現できます。

柔軟性に加え、Ultralytics Pythonパッケージは、エッジデバイス、クラウド環境、NVIDIA GPU搭載システムなど、複数のプラットフォームとの統合に対応しています。小型の組み込みデバイスでも大規模なクラウドサーバーでも、YOLO11は対象ハードウェアに適応し、高度なVision AIをより利用しやすくします。

StreamlitとUltralytics YOLO11を使用するメリット#

Streamlitが自分に適したデプロイ方法かどうか、どう判断すればよいのか疑問に思うかもしれません。フロントエンド開発に煩わされず、Ultralytics YOLO11を実行するシンプルで効率的な方法をお探しなら、Streamlitは有力な選択肢です。特に、プロトタイプや概念実証(PoC)プロジェクト、または少数のユーザーを対象としたデプロイに適しています。

不要な複雑さを取り除き、リアルタイムで操作できる直感的なインターフェースを提供することで、Ultralytics YOLO11を使った作業を効率化します。その他の主なメリットは次のとおりです。

  • カスタマイズ可能なAIコントロール: インターフェースにスライダー、ドロップダウン、ボタンを追加し、ユーザーが検出設定を微調整したり、特定のオブジェクトを簡単にフィルタリングしたりできるようにします。
  • 他のAIツールとの統合: StreamlitはNumPy、OpenCV、Matplotlibなどの機械学習ライブラリとの統合に対応しており、AIワークフローの機能を強化します。
  • インタラクティブなデータ可視化: チャートやグラフが標準でサポートされているため、物体検出やセグメンテーションの結果、トラッキングの分析結果を可視化できます。
  • コラボレーションに適した設計: Streamlitアプリはシンプルなリンクでチームメンバー、関係者、クライアントと簡単に共有でき、すぐにフィードバックを得て反復改善できます。

Streamlit WebアプリにUltralytics YOLO11をデプロイする手順#

StreamlitとUltralytics YOLO11を使用するメリットを確認したところで、StreamlitとYOLO11を使ってブラウザー上でリアルタイムのコンピュータービジョンタスクを実行する方法を見ていきましょう。

Ultralytics Pythonパッケージのインストール#

最初に、Ultralytics Pythonパッケージをインストールします。次のコマンドを使用してインストールできます。

pip install ultralytics

インストールが完了すると、複雑なセットアップをしなくてもYOLO11を使用できます。必要なパッケージのインストール中に問題が発生した場合は、トラブルシューティングのヒントと解決方法を紹介するよくある問題のガイドを参照してください。

Ultralytics YOLO11でStreamlitアプリケーションを起動する#

通常、YOLO11を実行するには、Streamlitコンポーネントを使ったPythonスクリプトを開発する必要があります。しかし、UltralyticsではStreamlitでYOLO11を簡単に実行できます。

streamlit run path/to/file.pyを使って次のPythonスクリプトを実行すると、既定のWebブラウザーでStreamlitアプリケーションが起動します。

from ultralytics import solutions

inf = solutions.Inference(
    model="yolo11n.pt",  # Ultralyticsがサポートする任意のモデル、またはカスタム学習済みモデルを使用できます。
)

inf.inference()

追加の設定は必要ありません。Streamlitアプリケーションのインターフェースには、画像と動画のアップロード欄、使用するUltralytics YOLO11のモデルバリアントを選択するドロップダウンメニュー、検出信頼度を調整するスライダーが用意されています。すべてが整理されているため、ユーザーは追加のコードを書かずに推論を実行できます。

StreamlitアプリケーションでUltralytics YOLO11を使って推論を実行する#

StreamlitアプリケーションがWebブラウザーで起動したところで、Ultralytics YOLO11を使って推論を実行する方法を見ていきましょう。

たとえば、物体検出のために動画ファイルを解析するとします。ファイルをアップロードし、モデルを選択して、リアルタイムの結果を表示する手順は次のとおりです。

  • 動画ファイルをアップロード: ユーザー設定のドロップダウンから「video」を選択します。これにより、Webカメラの映像ではなく、録画済みファイルを処理するようアプリケーションに指示できます。
  • YOLO11モデルを選択: モデルのドロップダウンから「YOLO11l」を選択すると、大型のYOLO11モデルを使って物体検出を実行できます。
  • 検出を開始する:[Start]をクリックすると、Ultralytics YOLO11が動画をフレームごとに分析し、リアルタイムで物体を検出します。
  • 処理済み動画を表示: 動画が画面に表示され、検出されたオブジェクトがバウンディングボックス付きでリアルタイムに更新される様子を確認できます。
  • Streamlitで結果を操作: 追加のセットアップやコーディングを行わずに、インターフェースを使って設定を調整したり、検出結果を分析したりできます。

Ultralytics YOLO Streamlitアプリケーションのインターフェース

図3. Ultralytics YOLO Streamlitアプリケーションのインターフェース。

StreamlitとUltralytics YOLO11のユースケース#

Streamlitは、プロトタイプ、研究用ツール、小規模から中規模のアプリケーションの作成に適していることを見てきました。複雑なフロントエンド開発をせずにAIモデルをデプロイできるシンプルな方法を提供します。

ただし、上記の手順でセットアップしたUltralytics YOLO Streamlitアプリケーションを使用しない限り、YOLO11をStreamlitですぐに使えるとは限りません。ほとんどの場合、特定のニーズに合わせてアプリケーションをカスタマイズするための開発作業が必要です。Streamlitでデプロイは簡素化されますが、YOLO11をスムーズに動作させるには、必要なコンポーネントを設定する必要があります。

Ultralytics YOLO11をStreamlitで実際のシナリオに効果的にデプロイする、実用的な例を2つ見ていきましょう。

Ultralytics YOLO11を使った在庫確認のためのオブジェクトカウント#

小売店、保管室、オフィスの備品置き場で在庫を管理するには時間がかかり、ミスも発生しやすくなります。Ultralytics YOLO11をStreamlitと組み合わせれば、企業はオブジェクトのカウントを迅速かつ効率的に自動化できます。大規模なデプロイに踏み切る前の概念実証(PoC)にも適しています。

このセットアップでは、ユーザーは画像をアップロードするか、ライブカメラ映像を利用でき、Ultralytics YOLO11を使ってオブジェクトをすぐに検出し、カウントできます。リアルタイムのカウント結果はStreamlitインターフェースに表示できるため、手作業をせずに在庫量を簡単に監視できます。

たとえば、店舗のオーナーは棚をスキャンするだけで、ボトル、箱、包装済み商品がいくつあるかを手作業で数えずに確認できます。Ultralytics YOLO11とStreamlitを活用すれば、企業は手作業を減らし、精度を高め、最小限の投資で自動化を検討できます。

Ultralytics YOLO11を使った冷蔵庫内のボトル検出

図4. Ultralytics YOLO11を使った冷蔵庫内のボトル検出。

Ultralytics YOLO11とStreamlitでセキュリティを強化する#

オフィス、倉庫、イベント会場の立ち入り制限区域を安全に保つのは、特に手作業で監視する場合、困難なことがあります。Ultralytics YOLO11をStreamlitと組み合わせれば、企業はリアルタイムで不正侵入を検出するシンプルなAI搭載のセキュリティシステムを構築できます。

カメラ映像をStreamlitインターフェースに接続し、Ultralytics YOLO11を使って立ち入り制限区域に入る人物を識別、追跡できます。不正な人物が検出されると、システムはアラートを発したり、確認用にイベントを記録したりできます。

たとえば、倉庫の管理者は高度なセキュリティが求められる保管区域への出入りを監視できます。また、オフィスでは常時監視を行わずに、立ち入り制限区域内の人の動きを追跡できます。

これは、大規模な完全自動化システムを導入する前に、Vision AIを活用したセキュリティ監視を試したい企業にとって、有用なパイロットプロジェクトになります。Ultralytics YOLO11をStreamlitと統合することで、企業はセキュリティを強化し、手動監視を減らし、不正アクセスにより効果的に対応できます。

StreamlitでインタラクティブなAIアプリを監視するためのヒント#

Streamlitなどのツールを使ってコンピュータービジョンモデルをデプロイすると、インタラクティブで使いやすい環境を構築できます。ただし、ライブインターフェースをセットアップした後も、システムが効率的に動作し、長期にわたって正確な結果を提供できるようにすることが重要です。

デプロイ後に検討すべき主な要素は次のとおりです。

  • 定期的な監視: 検出精度、推論速度、リソース使用量を追跡します。パフォーマンスが低下した場合は、モデルのパラメーターを調整するか、ハードウェアをアップグレードしてください。
  • 複数ユーザーとスケーラビリティの管理: ユーザーの需要が高まるにつれて、パフォーマンスを維持するにはインフラストラクチャの最適化が重要になります。クラウドプラットフォームとスケーラブルなデプロイソリューションを活用すると、スムーズな運用を維持できます。
  • モデルの更新: モデルとライブラリを最新の状態に保つことで、精度とセキュリティが向上し、新機能を利用できるようになります。

重要なポイント#

Ultralyticsでは、すぐに使えるStreamlitライブインターフェースを用意しており、コーディング不要で1つのコマンドからYOLO11をデプロイできます。これにより、ユーザーはすぐにリアルタイムの物体検出を使い始められます。

インターフェースにはカスタマイズ機能も組み込まれており、モデルの切り替え、信頼度しきい値の調整、物体のフィルタリングを簡単に行えます。すべてがシンプルで使いやすいインターフェース内で完結するため、手動でUIを開発する必要はありません。

Ultralytics YOLO11の機能とStreamlitのデプロイのしやすさを組み合わせることで、企業や開発者はAI駆動のアプリケーションを迅速にプロトタイプ化し、テストして改良できます。

コミュニティに参加し、AIに関する詳しい情報を得るためにGitHubリポジトリをご覧ください。製造業におけるAIや医療分野におけるコンピュータビジョンなどのイノベーションについては、ソリューションページをご覧ください。ライセンスオプションを確認して、今すぐご利用を始めましょう。

執筆者

Abirami Vina
Abirami Vina

コンテンツクリエイター · Ultralytics

コンピュータービジョンエンジニアとしてキャリアをスタートさせたAbirami Vinaは、ビジョンAIと機械学習の強固な基盤を築きました。Ultralyticsのコンテンツクリエイターであり、Scribe of AIの創設者兼チーフライターとして、AIに特化した企業向けの高品質な技術コンテンツを制作しています。AIを理解しやすく魅力的なものにするという情熱に基づき、最先端のテクノロジーと実社会への影響をつなぐ仕事に取り組んでいます。

コメント

質問したり、結果を共有したり、ほかの人をサポートしたりできます。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう