Ultralytics YOLO11を使用したセキュリティアラームシステムプロジェクト
Ultralytics YOLO11を活用したセキュリティアラームシステムプロジェクトは、高度なコンピュータビジョン機能を統合して、セキュリティ対策を強化します。Ultralyticsによって開発されたYOLO11は、リアルタイムの物体検出を提供し、システムが潜在的なセキュリティ脅威を迅速に特定して対応できるようにします。このプロジェクトには、いくつかの利点があります。
- リアルタイム検出: YOLO11の効率性により、セキュリティアラームシステムはセキュリティインシデントをリアルタイムで検出し、対応できるため、対応時間を最小限に抑えることができます。
- 精度: YOLO11は、オブジェクト検出の精度で知られており、誤検出を減らし、セキュリティアラームシステムの信頼性を高めます。
- 統合機能: このプロジェクトは、既存のセキュリティインフラストラクチャとシームレスに統合でき、インテリジェントな監視のアップグレードされたレイヤーを提供します。
見る: Ultralytics YOLO11 + ソリューションによるセキュリティアラームシステム 物体検出
注
App Passwordの生成が必要です。
- 移動先 App Passwordジェネレーターのようなアプリ名を指定し、「セキュリティプロジェクト」のような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="yolo11n.pt", # i.e. yolo11s.pt, yolo11m.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つの通知が届きます。通知は繰り返しではなく、すぐに送信されます。ただし、プロジェクトの要件に合わせて自由にコードをカスタマイズしてください。
受信メールのサンプル
SecurityAlarm
引数
の表を以下に示します。 SecurityAlarm
引数:
引数 | 種類 | デフォルト | 説明 |
---|---|---|---|
model |
str |
None |
Ultralytics YOLOモデルファイルへのパス。 |
records |
int |
5 |
セキュリティアラームシステムでメールをトリガーするための総検出数。 |
The SecurityAlarm
ソリューションは、さまざまな以下をサポートしています。 track
パラメータ:
引数 | 種類 | デフォルト | 説明 |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
使用する追跡アルゴリズムを指定します。例: bytetrack.yaml または botsort.yaml . |
conf |
float |
0.3 |
検出の信頼度閾値を設定します。低い値を設定すると、より多くのオブジェクトを追跡できますが、誤検出が含まれる可能性があります。 |
iou |
float |
0.5 |
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 |
None or int |
None |
バウンディングボックスの線の太さを指定します。もし None 場合、線の太さは画像サイズに基づいて自動的に調整されます。明確にするための視覚的なカスタマイズを提供します。 |
show_conf |
bool |
True |
ラベルとともに、検出ごとの信頼度スコアを表示します。各検出に対するモデルの確実性についての洞察が得られます。 |
show_labels |
bool |
True |
検出された各オブジェクトのラベルを視覚的な出力に表示します。検出されたオブジェクトをすぐに理解できます。 |
仕組み
セキュリティアラームシステムは以下を使用します オブジェクト追跡 ビデオフィードを監視し、潜在的なセキュリティ上の脅威を検出します。システムが指定されたしきい値を超えるオブジェクトを検出すると (以下で設定)。 records
パラメータが設定されている場合、検出されたオブジェクトを示す画像を添付したメール通知が自動的に送信されます。
このシステムは、以下のメソッドを提供するSecurityAlarmクラスを活用しています。
- フレームを処理してオブジェクト検出を抽出
- 検出されたオブジェクトの周囲にバウンディングボックスでフレームに注釈を付けます
- 検出閾値を超えた場合にメール通知を送信する
この実装は、ホームセキュリティ、小売監視、および検出されたオブジェクトの即時通知が重要なその他の監視アプリケーションに最適です。
よくある質問
Ultralytics YOLO11は、セキュリティアラームシステムの精度をどのように向上させますか?
Ultralytics YOLO11 は、高精度なリアルタイム物体検出を提供することにより、セキュリティアラームシステムを強化します。その高度なアルゴリズムは、誤検知を大幅に削減し、システムが真の脅威にのみ対応するようにします。この信頼性の向上は、既存のセキュリティインフラストラクチャとシームレスに統合でき、全体的な監視品質を向上させます。
Ultralytics YOLO11を既存のセキュリティインフラストラクチャと統合できますか?
はい、Ultralytics YOLO11は、既存のセキュリティインフラストラクチャとシームレスに統合できます。このシステムはさまざまなモードをサポートし、カスタマイズの柔軟性を提供するため、高度な物体検出機能で既存のセットアップを強化できます。YOLO11をプロジェクトに統合する方法の詳細については、統合セクションをご覧ください。
Ultralytics YOLO11を実行するためのストレージ要件は何ですか?
標準的なセットアップでUltralytics YOLO11を実行するには、通常約5GBの空きディスク容量が必要です。これには、YOLO11モデルや追加の依存関係を保存するためのスペースが含まれます。クラウドベースのソリューションとして、Ultralytics HUBは効率的なプロジェクト管理とデータセット処理を提供し、ストレージニーズを最適化できます。拡張ストレージを含む拡張機能については、Pro Planの詳細をご覧ください。
Ultralytics YOLO11が、Faster R-CNNやSSDなどの他の物体検出モデルと異なる点は何ですか?
Ultralytics YOLO11 は、リアルタイム検出機能とより高い精度により、Faster R-CNN や SSD などのモデルよりも優位性があります。その独自のアーキテクチャにより、精度を損なうことなく画像をはるかに高速に処理できるため、セキュリティアラームシステムなどの時間に敏感なアプリケーションに最適です。物体検出モデルの包括的な比較については、ガイドをご覧ください。
Ultralytics YOLO11を使用して、セキュリティシステムにおける誤検出の頻度を減らすにはどうすればよいですか?
誤検出を減らすには、Ultralytics YOLO11モデルが、多様で適切にアノテーションされたデータセットで十分にトレーニングされていることを確認してください。ハイパーパラメータを微調整し、新しいデータでモデルを定期的に更新することで、検出精度を大幅に向上させることができます。詳細なハイパーパラメータ調整テクニックについては、ハイパーパラメータ調整ガイドをご覧ください。