Ultralytics YOLO26を使用したセキュリティアラームシステムプロジェクト

AI-powered security alarm system with object detection

Ultralytics YOLO26を活用したセキュリティアラームシステムプロジェクトは、高度なコンピュータビジョン機能を統合し、セキュリティ対策を強化します。Ultralyticsが開発したYOLO26は、リアルタイムの物体検出を提供し、システムが潜在的なセキュリティの脅威を迅速に特定して対応することを可能にします。このプロジェクトにはいくつかの利点があります:

  • リアルタイム検出: YOLO26の効率性により、セキュリティアラームシステムはセキュリティインシデントをリアルタイムで検出し対応できるため、応答時間を最小限に抑えられます。
  • 精度 YOLO26は物体検出における精度で知られており、誤検知を減らし、セキュリティアラームシステムの信頼性を高めます。
  • 統合機能: このプロジェクトは既存のセキュリティインフラストラクチャとシームレスに統合でき、インテリジェントな監視レイヤーをアップグレードします。


Watch: Security Alarm System with Ultralytics YOLO26 + Solutions Object Detection
注意

アプリパスワードの生成が必要です

  • アプリパスワードジェネレーターに移動し、「security project」などのアプリ名を指定して16桁のパスワードを取得します。このパスワードをコピーし、以下のコードの指定された password フィールドに貼り付けてください。
Ultralytics YOLOを使用したセキュリティアラームシステム
import cv2

from ultralytics import solutions

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

# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("security_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

from_email = "abc@gmail.com"  # the sender email address
password = "---- ---- ---- ----"  # 16-digits password generated via: https://myaccount.google.com/apppasswords
to_email = "xyz@gmail.com"  # the receiver email address

# Initialize security alarm object
securityalarm = solutions.SecurityAlarm(
    show=True,  # display the output
    model="yolo26n.pt",  # e.g., yolo26s.pt, yolo26m.pt
    records=1,  # total detections count to send an email
)

securityalarm.authenticate(from_email, password, to_email)  # authenticate the email server

# Process video
while cap.isOpened():
    success, im0 = cap.read()

    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break

    results = securityalarm(im0)

    # print(results)  # access the output

    video_writer.write(results.plot_im)  # write the processed frame.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

コードを実行すると、物体が検出された場合にメール通知が1回送信されます。通知は繰り返しではなく、即座に送信されます。プロジェクトの要件に合わせてコードをカスタマイズできます。

受信メールのサンプル

Security alert email notification example

SecurityAlarm の引数

SecurityAlarm の引数を表にまとめました:

引数タイプデフォルト説明
modelstrNoneUltralytics YOLO モデルファイルへのパス。
recordsint5セキュリティ警報システムでメールをトリガーするための総検出カウント数。

SecurityAlarm ソリューションは、さまざまな track パラメーターをサポートしています:

引数タイプデフォルト説明
trackerstr'botsort.yaml'使用するトラッキングアルゴリズムを指定します(例:bytetrack.yamlbotsort.yaml)。
conffloat0.1検出の信頼度しきい値を設定します。低い値を指定するとより多くの物体をトラッキングできますが、偽陽性が含まれる可能性があります。
ioufloat0.7重なり合う検出結果をフィルタリングするためのIntersection over Union (IoU) しきい値を設定します。
classeslistNoneクラスインデックスで結果をフィルタリングします。例えば、classes=[0, 2, 3]と設定すると、指定されたクラスのみを追跡します。
verboseboolTrue追跡結果の表示を制御し、追跡された物体の視覚的出力を提供します。
devicestrNone推論用のデバイス(例:cpucuda:00など)を指定します。ユーザーはCPU、特定のGPU、またはその他の計算デバイスを選択してモデルを実行できます。

さらに、以下の可視化設定が利用可能です:

引数タイプデフォルト説明
showboolFalseTrueの場合、注釈付き画像または動画をウィンドウに表示します。開発やテスト中に即座に視覚的フィードバックを得るのに役立ちます。
line_widthint or NoneNoneバウンディングボックスの線幅を指定します。Noneの場合、画像サイズに基づいて線幅が自動調整されます。明確化のための視覚的なカスタマイズが可能です。
show_confboolTrueラベルとともに、各検出結果の信頼度スコアを表示します。各検出に対するモデルの確信度を把握できます。
show_labelsboolTrue視覚的出力において、各検出結果にラベルを表示します。検出されたオブジェクトの即時理解を可能にします。

仕組み

セキュリティアラームシステムは、物体追跡を使用してビデオフィードを監視し、潜在的なセキュリティの脅威を検出します。システムが指定された閾値( records パラメーターで設定)を超える物体を検出すると、検出された物体を表示する画像添付付きのメール通知を自動的に送信します。

このシステムは、以下のメソッドを提供する SecurityAlarmクラス を活用しています:

  1. フレームを処理し、物体検出を抽出する
  2. 検出された物体の周囲にバウンディングボックスを描画してフレームに注釈を付ける
  3. 検出閾値を超えた場合にメール通知を送信する

この実装は、ホームセキュリティ、小売店の監視、および検出された物体への即時通知が不可欠なその他の監視用途に最適です。

FAQ

Ultralytics YOLO26はどのようにセキュリティアラームシステムの精度を向上させますか?

Ultralytics YOLO26は、高精度なリアルタイム物体検出を提供することで、セキュリティアラームシステムを強化します。その高度なアルゴリズムは誤検知を大幅に減らし、真の脅威に対してのみシステムが反応することを保証します。この向上した信頼性は、既存のセキュリティインフラストラクチャとシームレスに統合でき、監視品質全体をアップグレードします。

Ultralytics YOLO26を既存のセキュリティインフラストラクチャと統合できますか?

はい、Ultralytics YOLO26は既存のセキュリティインフラストラクチャとシームレスに統合できます。システムはさまざまなモードをサポートし、カスタマイズの柔軟性を提供するため、高度な物体検出機能で既存のセットアップを強化できます。プロジェクトへのYOLO26の統合に関する詳細な手順については、統合セクションをご覧ください。

Ultralytics YOLO26を実行するためのストレージ要件は何ですか?

標準的なセットアップでUltralytics YOLO26を実行する場合、通常約5GBの空きディスク容量が必要です。これには、YOLO26モデルと追加の依存関係を保存するための領域が含まれます。クラウドベースのソリューションの場合、Ultralytics Platformは効率的なプロジェクト管理とデータセット処理を提供し、ストレージのニーズを最適化できます。ストレージ拡張などの高度な機能については、Proプランの詳細をご覧ください。

Ultralytics YOLO26は、Faster R-CNNやSSDのような他の物体検出モデルと何が違いますか?

Ultralytics YOLO26は、リアルタイムの検出機能とより高い精度により、Faster R-CNNやSSDといったモデルよりも優位性があります。そのユニークなアーキテクチャにより、精度を犠牲にすることなく画像をより高速に処理できるため、セキュリティアラームシステムのような時間を要するアプリケーションに最適です。物体検出モデルの包括的な比較については、私たちのガイドをご覧ください。

Ultralytics YOLO26を使用してセキュリティシステムの誤検知の頻度を減らすにはどうすればよいですか?

To reduce false positives, ensure your Ultralytics YOLO26 model is adequately trained with a diverse and well-annotated dataset. Fine-tuning hyperparameters and regularly updating the model with new data can significantly improve detection accuracy. Detailed hyperparameter tuning techniques can be found in our hyperparameter tuning guide.

コメント