StreamlitとUltralytics YOLO11で対話型AIアプリを実行する
短いスクリプトを使ってStreamlitのWebアプリでUltralytics YOLO11の推論を実行し、フロントエンドコードなしでインタラクティブなコンピュータビジョンのデモを作成する方法をご紹介します。
Abirami Vina10 分で読めます
コンピュータービジョンモデルは、機械が視覚データを解釈・分析できるようにする強力な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モデルを操作したりできるインターフェースを開発者が作成できます。

図1. Streamlitの主な機能。画像提供:著者。
主な機能の一つは動的レンダリングです。ユーザーが変更を加えると、手動でページを再読み込みしなくてもアプリが自動的に更新されます。
また、軽量で使いやすいため、Streamlitはローカルマシンとクラウドプラットフォームの両方で効率的に動作します。そのため、AIアプリケーションのデプロイやモデルの共有、直感的でインタラクティブなユーザー体験の提供に適しています。
Ultralytics YOLO11:汎用性の高いビジョンAIモデル#
StreamlitアプリケーションでUltralytics YOLO11を使ったライブ推論を実行する方法を詳しく見る前に、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で結果を操作: 追加のセットアップやコーディングを行わずに、インターフェースを使って設定を調整したり、検出結果を分析したりできます。

図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を活用すれば、企業は手作業を減らし、精度を高め、最小限の投資で自動化を検討できます。

図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や医療分野におけるコンピュータビジョンなどのイノベーションについては、ソリューションページをご覧ください。ライセンスオプションを確認して、今すぐご利用を始めましょう。
執筆者
コメント
質問したり、結果を共有したり、ほかの人をサポートしたりできます。










