グリーンチェック
クリップボードにコピーされたリンク

StreamlitとUltralytics 対話型AIアプリを動かすYOLO11

Streamlitインターフェイス内でYOLO11 推論を実行し、コーディングの専門知識がなくてもコンピュータ・ビジョン・タスクのための対話型AIインターフェイスを構築する方法を学ぶ。

コンピュータ・ビジョン・モデルは、機械が視覚データを解釈・分析し、物体検出、画像分類、インスタンス分割などのタスクを高い精度で実行することを可能にする、インパクトのあるAIツールです。しかし、より多くの人々が利用できるようにするには、ウェブ開発やモバイルアプリのスキルなど、さらなる技術的専門知識が必要になることがあります。

テイク Ultralytics YOLO11を例に取ろう。これは様々なタスクをサポートし、様々なアプリケーションで役立つモデルだ。しかし、技術的なフロントエンドの知識がなければ、シームレスなインタラクションのためのユーザーフレンドリーなインターフェイスを構築し、展開することは、AIエンジニアによっては少し難しく感じるかもしれない。

Streamlitは、このプロセスをより簡単にすることを目的としたオープンソースのフレームワークである。Pythonツールで、複雑なフロントエンド開発なしにインタラクティブなアプリケーションを構築できる。YOLO11組み合わせることで、ユーザーは最小限の労力で画像をアップロードし、動画を処理し、リアルタイムの結果を視覚化することができる。

Ultralytics 、Streamlitの統合をより簡単にするライブ推論ソリューションで、これをさらに一歩進めます。たった一つのコマンドで、ユーザーは YOLO11用に構築済みのStreamlitアプリを起動することができ、手作業でのセットアップやコーディングの必要性をなくすことができます。 

この記事では、Ultralyticsライブ推論ソリューションとStreamlitを使用してYOLO11 セットアップし、実行する方法を説明します。

Streamlitとは?

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

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

図1.ストリームリットの主な特徴。画像は筆者による

主な特徴のひとつは、ダイナミックレンダリングだ。ユーザーが変更を加えると、手動でページを再読み込みすることなく、アプリが自動的に更新される。

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

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

StreamlitアプリケーションでUltralytics YOLO11 ライブ推論を実行する方法の前に、YOLO11 信頼性の高さを詳しく見てみよう。

Ultralytics YOLO11 11は、物体検出、インスタンス分割、姿勢推定などのリアルタイムコンピュータビジョンタスク用に設計されたモデルです。高速性能と優れた精度を実現します。

図2. YOLO11 使った物体検出の例。

YOLO11最大の利点のひとつは、その使いやすさにある。開発者はUltralytics Python パッケージをインストールし、数行のコードを書くだけで予測を始めることができる。

Ultralytics Python パッケージは様々な機能を提供し、ユーザーはモデルの微調整や検出設定の調整を行うことができます。また、異なるデバイス間でパフォーマンスを最適化し、よりスムーズな導入を支援します。

柔軟性だけでなく、Ultralytics Python パッケージは、エッジデバイス、クラウド環境、NVIDIA GPUシステムなど、複数のプラットフォームの統合をサポートしています。YOLO11 、小さな組み込みデバイスでも、大規模なクラウドサーバーでも、難なく適応し、高度なビジョンAIをこれまで以上に身近なものにします。

StreamlitとUltralytics YOLO11併用するメリット

Streamlitが自分にとって適切なデプロイメントオプションかどうか、どうやって判断すればいいのだろう?フロントエンドの開発をすることなく、YOLO11 実行するシンプルでコード効率の良い方法をお探しなら、Streamlitは良い選択肢です - 特に、プロトタイピング、概念実証(PoC)プロジェクト、または少数のユーザーを対象としたデプロイメントに適しています。

不必要な複雑さを排除し、リアルタイムのインタラクションのための直感的なインターフェースを提供することで、YOLO11 作業プロセスを合理化します。その他の主な利点は以下の通りです:

  • カスタマイズ可能なAIコントロール: インターフェイスにスライダー、ドロップダウン、ボタンを追加でき、ユーザーは検出設定を微調整したり、特定のオブジェクトを簡単にフィルタリングできます。
    ‍。
  • 他のAIツールとの統合: Streamlitは、NumPy、OpenCV、Matplotlib、その他の機械学習ライブラリとの統合をサポートし、AIワークフロー機能を強化します。
  • インタラクティブなデータ可視化:チャートやグラフのサポートを内蔵しているため、対象物の検出、セグメンテーションの結果、追跡に関する洞察を簡単に視覚化することができます。
  • コラボレーションフレンドリー:Streamlitアプリは、シンプルなリンクを通じてチームメンバー、ステークホルダー、クライアントと簡単に共有でき、即座のフィードバックとイテレーションが可能です。

YOLO11 Streamlitウェブアプリにデプロイするためのステップバイステップガイド

さて、StreamlitとYOLO11使うことの利点を探ったところで、StreamlitとYOLO11ブラウザ上でリアルタイム・コンピュータ・ビジョン・タスクを実行する方法を説明しよう。

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

最初のステップは、Ultralytics Python パッケージをインストールすることです。これは以下のコマンドで実行できます:

1# Install the ultralytics package from PyPI
2pip install ultralytics

一度インストールすれば、YOLO11 11は複雑な設定なしですぐに使えます。必要なパッケージのインストール中に問題が発生した場合は、トラブルシューティングのヒントと解決策について、よくある問題ガイドを参照してください。

YOLO11Streamlitアプリケーションを起動する 

通常、YOLO11実行するには、Streamlitコンポーネントを使ったPython スクリプトを開発する必要がある。しかし、Ultralytics Streamlitを使ってYOLO11 実行する簡単な方法を提供しています。 

以下のPython スクリプトを実行すると、デフォルトのウェブブラウザでStreamlitアプリケーションが即座に起動します:

1from ultralytics import solutions
2
3inf = solutions.Inference(
4    model="yolo11n.pt",  # you can use any model that Ultralytics support, i.e. YOLO11, or custom trained model
5)
6
7inf.inference()
8
9### Make sure to run the file using command `streamlit run <file-name.py>`

追加の設定は必要ありません。Streamlitアプリケーションのインターフェースには、画像やビデオのアップロードセクション、興味のあるYOLO11 モデルバリエーションを選択するドロップダウンメニュー、検出の信頼度を調整するスライダーが含まれています。すべてがきちんと整理されているため、ユーザーは余計なコードを書くことなく簡単に推論を実行することができる。

StreamlitアプリケーションでYOLO11 推論を実行する

さて、Streamlitアプリケーションをウェブブラウザーで実行したところで、それを使ってYOLO11推論を実行する方法を探ってみよう。

例えば、オブジェクト検出のためにビデオファイルを分析したいとします。ファイルをアップロードし、モデルを選択し、リアルタイムの結果を表示する手順は次のとおりです:

  • ビデオファイルをアップロードする: ユーザー設定のドロップダウンから "video "を選択し、ウェブカメラのフィードの代わりに録画済みファイルを処理するようにアプリケーションに指示します。
  • YOLO11 モデルを選択する:大きなYOLO11 モデルを使用して物体検出を行う場合は、モデルドロップダウンから "YOLO11l "を選択する。
  • 検出プロセスを開始します:開始」をクリックすると、YOLO11 ビデオをフレームごとに分析し、リアルタイムでオブジェクトを検出します。
    ‍。
  • 処理されたビデオを表示します:検出されたオブジェクトがバウンディングボッ クスと共に表示されます。
  • Streamlitで結果を操作:インターフェイスを使用して、余分な設定やコーディングをすることなく、設定の調整や検出の分析を行うことができます。
図3.Ultralytics YOLO Streamlitアプリケーション・インターフェース。

StreamlitとYOLO11使用したユースケース

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

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

それでは、Ultralytics YOLO11 Streamlitと組み合わせて、実際のシナリオでどのように効果的に展開できるのか、2つの実践例を探ってみよう。

YOLO11使用した在庫チェックのためのオブジェクトのカウント

小売店、倉庫、オフィス用品エリアで在庫を管理するのは、時間がかかり、ミスも起こりがちです。YOLO11 Streamlitを使用することで、企業は迅速かつ効率的に対象物のカウントを自動化することができます。

このセットアップにより、ユーザーは画像をアップロードするか、ライブ・カメラ・フィードを使用することができ、YOLO11 11は即座に対象物を検出し、カウントすることができます。リアルタイムのカウントはStreamlitインターフェースに表示され、手作業なしで在庫レベルをモニターする簡単な方法を提供します。

例えば、店舗オーナーは棚をスキャンすることで、手作業で数えることなく、ボトルや箱、パッケージ商品の数を即座に確認することができます。YOLO11 Streamlitを活用することで、企業は最小限の投資で手作業を減らし、精度を向上させ、自動化を模索することができる。

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

YOLO11 Streamlitでセキュリティを強化

オフィス、倉庫、イベント会場などの制限区域の安全を保つことは、特に手動監視では困難です。YOLO11 Streamlitを使えば、AIを活用したシンプルなセキュリティ・システムを構築し、不正アクセスをリアルタイムで検知することができる。

カメラ映像はStreamlitインターフェースに接続することができ、YOLO11 制限区域に入る人を識別・追跡することができます。許可されていない人物が検知された場合、システムは警告を発したり、イベントを記録して確認することができます。

例えば、倉庫管理者は、セキュリティの高い保管エリアへのアクセスを監視することができ、オフィスは、常時監視を必要とせずに、制限されたセクションの動きを追跡することができる。

これは、より大規模で完全自動化されたシステムにコミットする前に、Vision AIを活用したセキュリティ監視を検討したい企業にとって、目からウロコのプロジェクトとなるだろう。YOLO11 Streamlitを統合することで、企業はセキュリティを強化し、手動による監視を最小限に抑え、不正アクセスにより効果的に対応することができる。

Streamlitで対話型AIアプリを監視するためのヒント

Streamlitのようなツールを使ってコンピュータビジョンモデルを展開することで、インタラクティブでユーザーフレンドリーな体験を作り出すことができます。しかし、ライブ・インターフェースを設定した後、システムが効率的に動作し、長期間にわたって正確な結果を提供できるようにすることが重要です。

以下は、配備後に考慮すべき重要な要素である:

  • 定期モニタリング:検出精度、推論速度、リソースの使用状況を追跡。
    ‍ 性能が低下した場合、モデルパラメータを調整するか、ハードウェアをアップグレードする。
  • 複数ユーザーの管理とスケーラビリティユーザーの需要が高まるにつれ、インフラを最適化することがパフォーマンスを維持する鍵になります。クラウドプラットフォームとスケーラブルなデプロイメントソリューションは、スムーズな運用に役立ちます。
  • モデルを更新し続ける:モデルとライブラリを常にアップデートすることで、精度、安全性、新機能へのアクセスが向上します。

要点

Ultralytics 、コーディング不要で1つのコマンドで実行できる、すぐに使えるStreamlitライブ・インターフェースにより、YOLO11 導入を簡素化します。これにより、ユーザーは即座にリアルタイムのオブジェクト検出を使い始めることができます。

また、インターフェースにはカスタマイズ機能が組み込まれており、モデルの切り替え、検出精度の調整、オブジェクトのフィルタリングを簡単に行うことができます。すべてがシンプルでユーザーフレンドリーなインターフェイスで管理されるため、手動でUIを開発する必要がありません。以下の組み合わせにより

YOLO11機能とStreamlitの容易な導入により、企業や開発者はAI駆動型アプリケーションの試作、テスト、改良を迅速に行うことができる。 

私たちのコミュニティーの一員になり、GitHubリポジトリでAIに関する洞察を深めてください。私たちのソリューションのページを見て、製造業におけるAIや ヘルスケアにおけるコンピュータビジョンのようなイノベーションについてもっと学びましょう。ライセンスオプションをチェックして、今すぐ始めましょう!

Facebookのロゴツイッターのロゴリンクトインのロゴコピー・リンク・シンボル

このカテゴリの続きを読む

AIの未来
を一緒に作りましょう!

機械学習の未来への旅を始めよう