Link to this sectionUltralytics YOLO26を使用したセキュリティアラームシステムプロジェクト#
Ultralytics YOLO26を活用したこのセキュリティアラームシステムプロジェクトは、高度なコンピュータビジョン機能を統合し、セキュリティ対策を強化します。Ultralyticsが開発したYOLO26は、リアルタイムの物体検出を提供し、システムが潜在的なセキュリティ上の脅威を迅速に識別して対応することを可能にします。このプロジェクトには以下の利点があります。
- リアルタイム検出: YOLO26の効率性により、セキュリティアラームシステムはセキュリティ上のインシデントをリアルタイムで検出し、対応時間を最小限に抑えます。
- 精度: YOLO26はその物体検出の精度で知られており、誤検知を減らしてセキュリティアラームシステムの信頼性を高めます。
- 統合機能: 本プロジェクトは既存のセキュリティインフラとシームレスに統合でき、インテリジェント監視のレイヤーをアップグレードします。
Link to this sectionYOLO26でセキュリティアラートを送信する#
SecurityAlarm ソリューションはビデオフィード内のオブジェクトを追跡し、検出数が records のしきい値に達するとすぐに、アノテーション付き画像を添付したメールアラートを1通送信します。Gmailアカウントをアプリパスワードで認証し、ソースに対してソリューションを実行してください。
注意
アプリパスワードの生成が必要です
- アプリパスワードジェネレーターに移動し、「security project」のようなアプリ名を指定して、16桁のパスワードを取得します。このパスワードをコピーし、以下のコード内の指定された
passwordフィールドに貼り付けます。
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コードを実行すると、何らかの物体が検出された場合にメール通知が一度だけ送信されます。通知は繰り返しではなく、即座に送信されます。プロジェクトの要件に合わせてコードをカスタマイズできます。
Link to this section受信したメールのサンプル#
Link to this sectionSecurityAlarm引数#
SecurityAlarm引数を示すテーブルは以下の通りです。
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
model | str | None | Ultralytics YOLOモデルファイルへのパス。 |
records | int | 5 | セキュリティ警報システムでメールをトリガーするための検出合計数。 |
SecurityAlarmソリューションは、さまざまなtrackパラメーターをサポートしています。
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
tracker | str | 'botsort.yaml' | 使用するトラッキングアルゴリズムを指定します。組み込みのオプションは、botsort.yaml、bytetrack.yaml、ocsort.yaml、deepocsort.yaml、fasttrack.yaml、tracktrack.yamlです。 |
conf | float | 0.1 | 検出の信頼度しきい値を設定します。低い値を設定するとより多くの物体を追跡できますが、誤検知が含まれる可能性があります。 |
iou | float | 0.7 | 重なり合う検出をフィルタリングするためのIntersection over Union(IoU)しきい値を設定します。 |
classes | list | None | クラスインデックスで結果をフィルタリングします。例えば、classes=[0, 2, 3]と設定すると、指定されたクラスのみを追跡します。 |
verbose | bool | True | 追跡結果の表示を制御し、追跡された物体の視覚的な出力を行います。 |
device | str | None | 推論に使用するデバイスを指定します(例:cpu、cuda:0、または 0)。CPU、特定のGPU、その他の演算デバイスをモデル実行用に選択できます。 |
さらに、以下の視覚化設定が利用可能です。
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
show | bool | False | Trueの場合、注釈付きの画像や動画をウィンドウに表示します。開発やテスト中の即時的な視覚フィードバックに役立ちます。 |
line_width | int or None | None | バウンディングボックスの線の太さを指定します。Noneの場合、線の太さは画像サイズに基づいて自動的に調整されます。明瞭さのための視覚的なカスタマイズが可能です。 |
show_conf | bool | True | 各検出の信頼度スコアをラベルと一緒に表示します。各検出に対するモデルの確信度を把握できます。 |
show_labels | bool | True | 視覚的出力において各検出のラベルを表示します。検出されたオブジェクトを即座に理解するのに役立ちます。 |
Link to this section仕組み#
このセキュリティアラームシステムは object tracking を使用してビデオフィードを監視し、潜在的なセキュリティの脅威を検出します。システムが指定されたしきい値(records パラメータで設定)を超えるオブジェクトを検出すると、検出されたオブジェクトを表示する画像を添付したメール通知を自動的に送信します。
このシステムは、以下のメソッドを提供する SecurityAlarm class を活用しています。
- フレームを処理し、物体検出を抽出する
- 検出された物体の周囲にバウンディングボックスを付けてフレームに注釈を付ける
- 検出のしきい値を超えた場合に電子メール通知を送信する
この実装は、ホームセキュリティ、小売店の監視、および検出された物体に対する即時の通知が不可欠なその他の監視アプリケーションに最適です。
Link to this sectionよくある質問 (FAQ)#
Link to this sectionUltralytics YOLO26はどのようにセキュリティアラームシステムの精度を向上させますか?#
Ultralytics YOLO26は、高精度かつリアルタイムの物体検出を実現することでセキュリティアラームシステムを強化します。その高度なアルゴリズムは誤検知を大幅に減らし、システムが真の脅威にのみ反応するようにします。この信頼性の向上は既存のセキュリティインフラとシームレスに統合でき、監視品質全体を向上させます。
Link to this sectionUltralytics YOLO26を既存のセキュリティインフラと統合できますか?#
はい、Ultralytics YOLO26は既存のセキュリティインフラとシームレスに統合できます。このシステムはさまざまなモードをサポートし、カスタマイズの柔軟性を提供するため、高度な物体検出機能で既存のセットアップを強化できます。YOLO26をプロジェクトに統合するための詳細な手順については、integration section をご覧ください。
Link to this sectionUltralytics YOLO26を実行するためのストレージ要件は何ですか?#
標準的なセットアップでUltralytics YOLO26を実行するには、通常約5GBの空きディスク容量が必要です。これには、YOLO26モデルやその他の依存関係を保存するためのスペースが含まれます。クラウドベースのソリューションの場合、Ultralytics Platform が効率的なプロジェクト管理とデータセット処理を提供し、ストレージのニーズを最適化できます。拡張ストレージを含む機能強化については、Pro Plan の詳細をご覧ください。
Link to this sectionUltralytics YOLO26は、Faster R-CNNやSSDなどの他の物体検出モデルとどう違いますか?#
Ultralytics YOLO26は、そのリアルタイム検出機能とより高い精度により、Faster R-CNNやSSDといったモデルよりも優れています。その独自のアーキテクチャにより、precision を犠牲にすることなく画像をはるかに高速に処理できるため、セキュリティアラームシステムのような時間的制約のあるアプリケーションに最適です。物体検出モデルの詳細な比較については、当社の guide をご覧ください。
Link to this sectionUltralytics YOLO26を使用して、セキュリティシステム内の誤検知の頻度を減らすにはどうすればよいですか?#
誤検知を減らすには、Ultralytics YOLO26モデルが多様かつ適切にアノテーションされたデータセットで十分なトレーニングを受けていることを確認してください。ハイパーパラメーターの微調整や、新しいデータでの定期的なモデルの更新は、検出精度を大幅に向上させます。詳細なハイパーパラメーターチューニングのテクニックについては、私たちのハイパーパラメーターチューニングガイドをご覧ください。