AI (人工知能): 設定 (せってい)

ローカルオブジェクト認識

Agent DVR はリアルタイムのAIモデルファイル (.onnx) を使用したライブ映像のオブジェクト認識に対応しています。このローカルAIオブジェクト検出はお客様独自のハードウェア上で完全に実行されます (クラウドサービスは不要)。そのため、木が揺れるたびではなく、人や車などの重要な被写体が現れたときだけアラートを受け取ることができます。この機能を使用するには、ライセンス(またはアクティブなサブスクリプション) が必要です。外部 AI サーバーを使用するよう Agent DVR を設定する場合は、AI サーバーを参照してください。

開始するには、カメラを編集してオブジェクト認識タブに移動してください。上部で AI サーバーを選択してください。デフォルトは内部で、これは Agent DVR の組み込みAIです。AI サーバーを使用する場合は、サーバー設定 - AI 設定 - AI サーバーで追加してから、ここで選択してください。

以下の詳細は、Agent DVR を高速の組み込みAIで設定するためのものです。また、例えばUltralytics YOLO モデルなど、他のモデルを追加することもできます。

  • モデル: 使用するAIモデルを選択してください。Agent は必要に応じて組み込みモデルを自動的にダウンロードします。モデルは低スペックハードウェアまたは多数のカメラに適しています。モデルはより高い精度が期待できますが、より多くの処理能力が必要です。
  • モード: ビデオからフレームを処理する AIの動作タイミングを選択してください。間隔を選択した場合、Agent は下の処理レートフィールドを使用してビデオフィードを継続的に分析します。
  • オーバーレイの設定: リアルタイムの結果をライブ映像に描画するように設定してください。オーバーレイを有効にして、ラベルと信頼性スコアを表示し、線幅と色を設定したり、認識されたオブジェクト(例:人) をぼかしたりできます。オーバーレイは信頼性スコアの上限を調整するのに最適です。
  • GPU を使用する: CPU の代わりに GPU を使用する場合はチェックしてください。
  • デバイス: モデルを実行するデバイスを選択してください。
  • 処理レート: これはモード間隔の場合にのみ使用されます。モデルに送信されるフレームのレートを制御します。1秒あたり1フレームの場合は 1、1秒あたり20フレームの場合は 20、10秒ごとに1フレームの場合は 0.1 を入力してください。
  • 信頼性スコア: これはモデルの結果をフィルタリングします。誤検知を減らすためにこの値を高くに調整してください。ただし、オブジェクトを見落とす可能性がある点に注意してください。
  • コーナーをチェック: 詳細についてはコーナーのチェックを参照してください。
  • 検出対象: AI に検出させるオブジェクトを指定してください。ここのオプションリストはモデル設定から取得されます。
  • 静的オブジェクト: 動いていないオブジェクトをフィルタリングする方法を選択してください。静止物体を無視は、同じ位置で繰り返し検出されたオブジェクト(駐車車両など) を無視します。最初に表示される際はアラートが発生します。動いているもののみは、モーションセンサーが現在動きを検出しているオブジェクトのみを報告するため、静止したオブジェクトはアラートを発生しません (ONVIF、Reolink、Hikvision、MQTT などのカメラ側検出器には効果がありません)。
  • 動きの許容範囲: 静的オブジェクトをチェックするときの検出間の許容される動きです。値を低くするとほぼ一致しません。値を高くするとさらに多くを抑制します。推奨値: 40-60。
  • フィードバックから学習する: Agent があなたから学習できるようにしてください。これを有効にすると、アラートビューアで検出を確認または拒否でき、Agent はこのカメラで類似の誤検知を抑制するように学習します。フィードバックから学習するを参照してください。

カスタムモデル

独自のモデルをAIに追加するには、モデルファイル (.onnx) を Agent の Models フォルダにコピーして、モデルの追加を参照してください。

アクション

オブジェクト認識はアクションで使用するためのAI: オブジェクトを検出したおよびAI: オブジェクト未検出イベントを生成します。

写真

写真に関する情報については、写真を参照してください。

フィードバックからの学習機能

Agent DVRはあなたのフィードバックから学習して、カメラごとに誤検知を減らすことができます。検出が間違った場合(夜間の茂みが人物に見える、AIが鳥と呼び続ける旗など)、Agent に知らせるとそのカメラで将来同様の検出を抑制するよう学習します。すべて100% ローカルで実行されます。画像やデータがマシンから離れることはなく、検出モデル自体も変更されないため、常に安全に使用でき、簡単にリセットできます。

有効化

カメラを編集して、オブジェクト認識タブに移動し、フィードバックから学習するをオンにします。必要な場合、Agent は初回時に小さな埋め込みモデルを自動的にダウンロードします。

フィードバックの提供

フィードバックが有効な場合、オブジェクト認識で生成されたアラートは、アラート画像と一緒に検出結果を保存します。アラートパネルでアラートを開くと、各検出の上に描画されたボックスと「正しく認識できましたか?」プロンプトが表示されます。

  • 正しい:検出を確認します。確認された例は、同様の検出が抑制されるのを防ぎます。
  • 正しくない:検出を拒否します。Agent はそのカメラおよびオブジェクトタイプについて、拒否された検出の外観を学習します。同様の外観の検出を数回拒否した後(最低でも3回)、Agent は一致する誤検知を自動的に抑制し始めます。

ボタンをもう一度クリックしていつでも判定を変更または削除できます。

「正しく認識できましたか?」パネルが閉じます。ヘッダーをクリックしてプロンプトと検出オーバーレイを表示または非表示にします。Agent はあなたの選択を記憶するため(ブラウザごと)、カメラの動作に満足したら、パネルを閉じてクリーンなアラート画像だけを表示できます。パネルを閉じても学習は続行されません。抑制は動作し続けます。学習を完全に停止するには、代わりにカメラでフィードバックから学習するをオフにしてください(これにより抑制も停止することに注意してください)。

抑制されたアラート

抑制は意図的に保守的です。検出は、拒否された例と明らかに一致し、確認された例と一致しない場合にのみ抑制されます。Agent が本来はアラートであったものを抑制するとき、何も静かに消えることがないように、代わりに抑制されたアラートを保存します。アラートパネルのヘッダーにあるアイコンをクリックして、それらを表示または非表示にします(アイコンは抑制されたアラートが存在する場合にのみ表示されます。これらは個別に保持され、通常のアラート制限にはカウントされません)。

Agent が抑制するべきではなかったものを抑制した場合、その抑制されたアラートを開いて、検出を正しいとしてマークしてください。これで同様の検出の抑制が直ちに解除されます。

仕組み

Agent は汎用ビジョンモデルを使用して、各検出のコンパクトな数学的「フィンガープリント」を作成します。あなたの判定は、これらのフィンガープリントをカメラごと、オブジェクトタイプごとに確認または拒否された例として記録します。将来の検出は、顔認識で使用される同じアプローチにより、類似度であなたの例と比較されます。選択した検出モデルとそのクラスは変更されません。

リセット

カメラが学習したすべてを削除するには、カメラのオブジェクト認識タブで学習データのクリアをクリックして確認してください。抑制されたアラートは再びアラートを送信し始めます。学習したフィードバックは Agent の XML フォルダのFeedbackDB.jsonに保存されます。clearfeedback API コマンドも利用可能です(オプションでcameraidおよびlabelパラメータ付き)。学習したフィードバック(および学習した顔)はサーバー設定エクスポート/インポートに含まれるため、新しいコンピュータに設定を移動するときに訓練が一緒に移動します。

カメラ間での学習のコピー

設定のコピーを使用して、カメラの学習したフィードバックを他のカメラにコピーできます。セクションリストでオブジェクト認識下の学習機能をチェックしてください。これにより、対象カメラの学習がソースのコピーで置き換わります。同じまたは同様のシーンを覆うカメラに最も役立ちます。学習した例は外観ベースなので、あるカメラの茂みに関するフィードバックは、その茂みのようなものが見える別のカメラでのみ役立ちます。

Ultralytics YOLOモデルをONNXに変換する

Agent DVRは、オブジェクト認識用のONNXモデルファイルをサポートしています。事前学習されたモデルをダウンロードして、数ステップでONNX形式に変換できます。

以下の例では、Ultralyticsを経由してYOLO26sモデルを使用しています。YOLO26sは、速度と精度のバランスが優れた、より小規模な汎用モデルです。

前提条件

  • Python 3.10以降
  • PATHで利用可能なpip
  • インターネット接続
  • 約1~2 GBの空きディスク容量

ステップ1 - Ultralyticsをインストール

pip install ultralytics

ステップ2 - YOLO26sモデルをダウンロード

Ultralyticsは初回使用時に事前学習済みの重みを自動的にダウンロードします。

yolo detect predict model=yolo26s.pt source=https://ultralytics.com/images/bus.jpg

ステップ3 - ONNXに変換

ダウンロード後、モデルをONNX形式にエクスポートします。

yolo export model=yolo26s.pt format=onnx opset=12 simplify=True

Pythonでの別方法

from ultralytics import YOLO

model = YOLO("yolo26s.pt")
model.export(format="onnx", opset=12, simplify=True)

ステップ4 - ONNXファイルを配置

エクスポートされたyolo26s.onnxファイルは、作業ディレクトリまたは

runs/export
フォルダに作成されます。

ステップ5 - Agent DVRにコピー

ONNXファイルをAgent DVRのONNXモデルフォルダ(Agentサーバー上)に移動します。例えば以下のようにします。

Agent\Media\Models\ONNX\

ステップ6 - Agent DVRでモデルを追加

  1. サーバー設定>AI設定>AIモデルに移動します。
  2. オブジェクト認識をクリックして新しいモデルを追加します。
  3. yolo26sなどの名前を入力し、ドロップダウンから.onnxファイルを選択します。
  4. 残りのオプションはデフォルトのままにして、OKをクリックします。
  5. カメラを編集して、オブジェクト認識タブを開き、サーバー内部に設定して、新しいモデルを選択します。

ローカル顔認証

Agent DVR は、AI を使用したライブリアルタイム顔認証をサポートしており、お客様自身のハードウェア上でローカルに実行されます。ドアにいる人を識別し、認識された顔と未知の顔に対して異なるアクションをトリガーするために使用できます。この機能を使用するには、ライセンス(またはアクティブなサブスクリプション)が必要です。外部 AI サーバーを使用するように Agent を構成する方法については、「AI サーバー」を参照してください。

開始するには、カメラを編集して「顔認証」タブに移動してください。上部で AI サーバーを選択します。既定値は「内部」で、これは Agent DVR の組み込み AI です。AI サーバーを使用する場合は、「サーバー設定 - AI 設定 - AI サーバー」で追加してから、ここで選択してください。

以下の詳細は、Agent DVR をその高速な組み込み AI で構成するためのものです。

  • モード: ビデオからフレームを処理する AIの動作タイミングを選択してください。間隔を選択した場合、Agent は下の処理レートフィールドを使用してビデオフィードを継続的に分析します。
  • オーバーレイの設定: ライブ映像にリアルタイム結果を描画するように設定します。オーバーレイを有効にし、ラベルと信頼性スコアを表示し、線幅と色を設定するか、顔をぼかします。オーバーレイは信頼性スコアの上限をチューニングするのに最適です。
  • GPU を使用する: CPU の代わりに GPU を使用する場合はチェックしてください。
  • デバイス: モデルを実行するデバイスを選択してください。
  • 処理レート: これはモード間隔の場合にのみ使用されます。モデルに送信されるフレームのレートを制御します。1秒あたり1フレームの場合は 1、1秒あたり20フレームの場合は 20、10秒ごとに1フレームの場合は 0.1 を入力してください。
  • 信頼性スコア: これによってモデルからの結果が絞られます。誤検知を縮小するためにこれをより高く調整しますが、人物を見落とす可能性もあることに注意してください。
  • コーナーをチェック: 詳細についてはコーナーのチェックを参照してください。

Agent が使用する顔認証モデルは、「サーバー設定 - AI 設定 - モデル - 顔認証」で選択できます。

認識する対象の顔

「顔を編集」をクリックして、認識したい人物の写真をアップロードしてください。同じ人物の複数の写真をアップロードして結果を改善できます。ファイル システムから画像をアップロードするか、組み込みウェブカメラを使用して写真をキャプチャできます(SSL またはローカルホストが必要)。

アクション

顔認証は、アクションで使用するためのAI: 顔を認識しましたおよびAI: 顔が認識されませんでしたイベントを生成します。

写真

写真に関する情報については、写真を参照してください。

ローカルナンバープレート認識

Agent DVR は、独自のハードウェアでローカルに実行されるリアルタイムナンバープレート認識をサポートしています。これを使用して、駐車場やカーポートに入る車両を記録し、既知のナンバープレートが認識されたときにゲートを開くなどのアクションをトリガーできます。この機能を使用するには、ライセンス(またはアクティブなサブスクリプション)が必要です。Agent を外部 AI サーバーで使用するように構成する方法については、AI サーバーを参照してください。

開始するには、カメラを編集してLPRタブに移動します。上部で AI サーバーを選択します。既定値は内部で、これは Agent DVR の組み込み AI です。AI サーバーを使用する場合は、サーバー設定の AI 設定の AI サーバーに追加してから、ここで選択します。

以下の詳細情報は、Agent DVR を高速組み込み AI で構成するためのものです。

  • モード: ビデオからフレームを処理する AIの動作タイミングを選択してください。間隔を選択した場合、Agent は下の処理レートフィールドを使用してビデオフィードを継続的に分析します。
  • オーバーレイの設定:ライブ映像にリアルタイム結果を描画するように設定します。オーバーレイを有効にし、ラベルと信頼性スコアを表示し、線幅と色を設定するか、検出されたナンバープレートをぼかします。オーバーレイは信頼性スコア制限値をチューニングするのに最適です。
  • GPU を使用する:CPU の代わりに GPU を使用するにはこれをチェックします。現在、これは GPU ドライバーとランタイムのサポートのため、Windows または macOS でのみ機能します。Linux は現在 CPU にフォールバックします。
  • デバイス: モデルを実行するデバイスを選択してください。
  • 処理レート: これはモード間隔の場合にのみ使用されます。モデルに送信されるフレームのレートを制御します。1秒あたり1フレームの場合は 1、1秒あたり20フレームの場合は 20、10秒ごとに1フレームの場合は 0.1 を入力してください。
  • 信頼性スコア: これはモデルの結果をフィルタリングします。誤検知を減らすためにこの値を高くに調整してください。ただし、オブジェクトを見落とす可能性がある点に注意してください。
  • コーナーをチェック: 詳細についてはコーナーのチェックを参照してください。

検索するナンバープレート

  • ナンバープレート:カンマ区切りのナンバープレートのリスト、またはナンバープレートを含む CSV ファイルへの URL を入力します。Agent DVR は、これらのナンバープレートに対してAI: ナンバープレートを認識しましたおよびAI: ナンバープレートが認識されませんでしたイベントを生成します。これらのイベントはアクションをトリガーできます。
  • 再読み込み間隔:URL からのナンバープレートのリストの再読み込み頻度を設定します。
  • 正規化:一般的に誤識別されるナンバープレートを調整して、マッチングを改善します。

アクション

LPR は、アクションで使用するためのAI: ナンバープレートを認識しましたおよびAI: ナンバープレートが認識されませんでしたイベントを生成します。

写真

写真に関する情報については、写真を参照してください。

AI アラート フィルタリング

アラートフィルタリングは、モーション検知とAIを組み合わせることで、ポーチにいる人物のような重要なものが検出された場合のみアラートが通知されるようになり、揺れ動く枝や通り過ぎるヘッドライトなどは対象外になります。これは誤検知を縮小するための最も効果的な方法です。Agent DVRでアラートフィルタリングを設定するには、以下の手順に従ってください。

  • モーションセンサーを構成して有効化してください。CPU使用率を最小化するために、簡易検出器を使用してください。監視したい領域をカバーするために、少なくとも1つのゾーンが定義されていることを確認してください。
  • アラートタブで、モードをアクションのみに設定し、アラートを有効化してください。
  • 録画タブで、モードをアラートに設定してください(録画ファイルが必要な場合)
  • オブジェクト認識タブでオブジェクト認識を有効化してください。モードを動きを検知しましたに設定し、モデルを選択して、検索をクリックして人物、犬、車などの検出対象オブジェクトを選択してください。
  • タブメニューでアクションに進み、イベントAI: オブジェクトを検出したのアクションを追加してください。

    ゾーンを選択して、駐車道路と道路など、異なるゾーンでオブジェクトを検出する場所を指定してください。例えば、駐車道路ゾーンを選択すると、そこで車が検出された場合のみアラートがトリガーされます。

    タスクの下で、追加をクリックしてアラートタスクを作成してください。確認をクリックして2回確認してください。

Agent DVRは、モーション検知時にAIオブジェクト認識を処理します。選択されたゾーン内で指定されたオブジェクトが検出されると、アラートを発生させるアクションをトリガーします。ゾーン選択がない場合、任意のゾーンのアラートをトリガーします。

LPR認識顔認証、またはオーディオ認識についても同様にアラートフィルターを設定してください。

モーション検知トリガーなしで継続的なAIオブジェクト認識を行うには、オブジェクト認識のモード間隔に設定してください。ハードウェアリソースへの影響を監視し、必要に応じて調整してください。

様々なゾーンの異なるオブジェクトに対して複数のアクションを構成できます。アクションで{AI}タグを使用して、検出されたオブジェクトを参照してください。

AIサーバーが応答せず、モーション検知アラートをフィルタリングするために使用している場合、Agent DVRはサーバーが再開されるまですべてのイベントを有効なアラートとして扱います。この動作は、オブジェクト認識のモーションパススルースイッチで切り替えることができます。
Agent DVRの検出結果に基づいて異なる応答を実行するために、アクションのフィルターを使用してください。例えば、玄関前の人物に対して音声「侵入者を検出しました」アラートを構成したり、ソファで猫が検出された場合は吠える音を再生したりできます。

AIフィルター トラブルシューティング

AI が録画ファイルを効果的にフィルタリングしていない場合は、以下を検討してください:

  • 検索する設定が利用可能なオプションのいずれかと一致していることを確認してください。
  • Agent DVR の左上のマスターアラートスイッチが閉じた南京錠を表示していることを確認し、アクティブなアラートを示します。
  • 録画モードがアラートに設定されており、検出ではないことを確認してください。
  • アラートモードがアクションのみに設定されていることを確認してください。
  • オブジェクト認識の下の信頼性スコアレベルを低くしてみてください。
  • /logs.html でエラーメッセージを確認してください。サーバーの問題またはネットワークブロックを示している可能性があります。
  • AI サーバーのパフォーマンスを監視し、システムの過負荷またはタイムアウトを引き起こしていないことを確認してください。
  • AI がすべてのオブジェクトクラスを検出する場合、GPU の問題を示している可能性があります。GPU ドライバーを確認するか、CPU ベースの AI モジュールに切り替えてください。

AI オブジェクト認識

AI オブジェクト認識設定

Agent DVR のローカル AI または AI サーバー (CodeProject.AI を推奨) を使用する「オブジェクト認識」は、映像フィードから特定のオブジェクトを認識し、イベントを生成したり、アラートを発生させたり、動きアラートのフィルターとして機能したりできます。

  • 有効: AI プロセスを有効または無効にするトグル。
  • AI サーバー: 構成済みのサーバーから選択するか、既定オプションを使用します。
  • モード: AI プロセスのトリガーを選択します。これを「なし」に設定して triggerObject を呼び出すことで、API 経由でのみトリガーします。
  • モーションパススルー: AI サーバーがダウン状態でアラートをフィルタリングしている場合、これはアラートをフィルタリングなしで通す機能です。
  • スナップショット URI を使用する: 現在のライブ映像フレームの代わりに、カメラからの高解像度フレームを使用します。
  • リサイズモード: AI サーバーに送信する前に画像をリサイズして、負荷を軽減し応答時間を改善します。
  • オーバーレイの設定: ラベル、信頼性スコア、線幅、色、ぼかしなど、AI 結果をライブ映像ストリームに描画するように設定します。
  • リクエスト間隔: サーバー要求間の最小時間を設定します。
  • 信頼性スコア: オブジェクトを認識するための最小信頼性レベルを設定します。
  • 隅角をチェック: 隅角チェックで詳細をご覧ください。

モデル

  • 検出: サーバーからインストール済みモデルを取得します (CodeProject.AI 固有)。
  • AI エンドポイント: 利用可能なモデルから選択するか、既定エンドポイントを使用します。
  • オブジェクトクラス: 関連するクラスで自動入力されるか、手動で入力されます。
  • 検索: AI が検出するオブジェクトを指定します。
  • 静的オブジェクト: 動いていないオブジェクトをフィルタリングします。静止物体を無視は同じ位置で繰り返し検出されたオブジェクトを無視し、動いているもののみはモーションセンサーが現在動きを検出している場所のオブジェクトのみをレポートします。
  • 動きの許容範囲: 静的オブジェクトをチェックするときの検出間での許容移動量。

カスタムモデル

CodeProject.AI にカスタムモデルを追加するには、モデルファイルを指定されたディレクトリにコピーします。「検出」ボタン経由でアクセスしますが、オブジェクトリストをオブジェクトクラスに手動で追加します。

オブジェクト認識モジュール設定を編集することで、モデルストレージディレクトリを変更します。

アクション

オブジェクト認識はアクションで使用するための AI: オブジェクトを検出した および AI: オブジェクト未検出 イベントを生成します。

写真

写真についての詳細は、写真をご覧ください。

AI に質問

Agent DVR は AI サーバー (OpenAI/ Claude/ Gemini/ Ollama、LM Studio、vLLM などのローカル LLM) を使用して、カメラからの画像についての人間が読める質問に答えます。これにより、イベントを生成したり、アラートを発生させたり、モーション アラートのフィルターとして機能させることができます。サーバー設定 - AI 設定 - AI に質問の設定を完了する必要があります。

選択した AI プロバイダーの API を使用することに関連して、サードパーティのコストが発生する可能性があるため、セットアップが必要な場合にのみリクエストを送信していることを確認してください。Google は個人の Google アカウントの Gemini API キーの無料利用枠を提供しています。制限については Google の現在の料金を確認してください。

ローカルサーバーの /logs.html でログを確認して、リクエストが送信されるタイミングを確認できます。サーバー設定 - ロギング - ログレベルを「情報」に設定します。

  • 有効化済み: AI プロセスを有効にするか無効にするかを切り替えます。
  • プロバイダー: 画像を処理するために使用する AI プロバイダーを選択します。プロバイダーはサーバー設定 - AI 設定で構成する必要があります。「既定値」を選択すると、最初に構成されたプロバイダーが使用されます。
  • モード: AI プロセスのトリガーを選択します。これを「なし」に設定して triggerAskAI を呼び出すことで、API 経由でのみトリガーします。
  • モーションパススルー: AI サーバーがダウンしていてアラートをフィルタリングしている場合、これはアラートがフィルタリングなしで通過することを許可します。
  • スナップショット URI を使用する: 現在のライブ映像フレームの代わりに、カメラから高解像度フレームを使用します。
  • リサイズモード: AI サーバーに送信する前に画像をリサイズして、負荷を低減し応答時間を改善します。
  • オーバーレイの設定: ライブ映像ストリームに AI 結果を描画するように設定します。
  • リクエスト間隔: サーバーリクエスト間の最小時間を設定します。
  • 詳細モード: 低または高の画像詳細を選択します。低は高よりも安いコストで使用でき、ほとんどのシナリオに適しています。
  • ビデオを使用する: 画像の代わりに短いビデオクリップを送信します (Gemini のみ)。期間を秒単位で設定し、ビデオと一緒に音声を送信するために オーディオを含める をチェックします。

AI メッセージング

  • メッセージ: AI に対する質問をここに入力します。いくつかの例:
    • この画像に火が見える場合は FIRE で応答してください。犬がソファに座っているのが見える場合は DOG で応答してください。ドアが開いている場合は DOOR で応答してください。複数の条件が満たされている場合は、カンマで区切ってください。
    • ベンチの上の機械のライトが赤い場合は ALERT で応答してください。
    • パトカーが車道に駐車されている場合は POLICE で応答してください。
    • 床に郵便物またはパッケージがある場合は MAIL で応答してください。
    • 誰かが私の家に侵入したように見える場合は BREAKIN で応答してください。
  • 検索: AI に応答するように指示したタグを入力します。たとえば FIRE、DOG、DOOR。
  • 繰り返しなし: 最後の AI 呼び出しで返されたタグを無視します。

上記で述べたように、メッセージ内で複数の条件が満たされるよう依頼し、各結果を処理するアクションを設定できます。

ヒント! メッセージに特別なタグ [TIME] を追加して、現在のローカル時刻を AI に渡すことができます。これにより、時刻に基づいてチェックを実行できます。たとえば、「現在時刻は [TIME] であり、それが午後 8 時以降で、ガレージのドアが開いている場合は、GARAGE でのみ応答してください」

アクション

AI に質問は AI: AI の肯定的な結果 イベントを生成して、アクションで使用します。

AI Actions

写真

写真については、写真を参照してください。AI は画像内のオブジェクトがどこにあるかについての空間データをまだ返していないため、トリミングと静的検出は現在機能していません。

AI フォト

AI フォト設定

AI プロセスはオブジェクトが認識されたときに写真をキャプチャでき、保存、クロップ、FTP アップロードなどのオプションを提供します。

これを構成するには、カメラを編集する際に各 AI 構成タブの下部にある写真オプションに移動してください。写真を有効にして、クリックして構成してください。

  • ラベル: Agent DVR は画像にボックスをオーバーレイし、検出されたオブジェクトにラベルを付けます。
  • クロップ: Agent DVR は画像を検出された各エリアにクロップし、複数の画像を保存します。各リージョンごとに 1 つずつです。
  • FTP: 保存された画像をカメラの構成された FTP サーバーにアップロードします。
  • 繰り返し防止: Agent DVR は、オブジェクトがモーション検知ゾーンを離れるまで、同じオブジェクトの複数のコピーの保存を回避します。
  • 間隔の下限値: 写真間の最小時間間隔を秒単位で設定します。
AI フォト設定には注意してください。正しくない構成により、過度な数の画像が保存される可能性があります。セットアップ後に保存された画像の頻度を監視してください。

LPR または ALPR

Agent DVR の新しいバージョンには AI が組み込まれており、はるかに高速な処理とオーバーヘッドの削減が可能になります。遅い AI サーバーの代わりに、リアルタイムで応答できるローカル AI を使用してください。
AI LPR Configuration

LPR (ナンバープレート認識。ALPR/ANPR とも呼ばれます) は、AI サーバーを使用してビデオフィードの車からナンバープレートを認識して読み取ります。イベントを生成したり、アラートを発生させたり、モーション検知アラートのフィルターとして機能したりします。

  • 有効化済み: AI プロセスを有効にするか無効にするかを切り替えます。
  • AI サーバー: 設定済みのサーバーから選択するか、既定値オプションを使用してください。Agent DVR は、CodeProject.AI、PlateRecognizer.com、Gemini、またはOpenAI 互換のビジョン LLM (vLLM、Ollama、LM Studio など) を経由した LPR をサポートしています。
  • モード: AI プロセスのトリガーを選択してください。これを「なし」に設定してtriggerLPRを呼び出すことで、API 経由のみでトリガーします。
  • スナップショット URI を使用する: 現在のライブストリームフレームの代わりに、カメラから高解像度フレームを選択してください。
  • リサイズモード: AI サーバーに送信する前に画像をリサイズして、負荷を低減し応答時間を改善します。
  • オーバーレイの設定: ライブ映像ストリームに AI 結果を描画するように設定します。
  • リクエスト間隔: サーバーリクエスト間の最小時間を設定して負荷を削減してください。
  • 信頼性スコア: ナンバープレートを認識するための最小信頼性スコアを定義してください。
  • コーナーをチェック: 詳細についてはコーナーのチェックを参照してください。
  • ナンバープレート:カンマ区切りのナンバープレートのリスト、またはナンバープレートを含む CSV ファイルへの URL を入力します。Agent DVR は、これらのナンバープレートに対してAI: ナンバープレートを認識しましたおよびAI: ナンバープレートが認識されませんでしたイベントを生成します。これらのイベントはアクションをトリガーできます。
  • 再読み込み間隔:URL からのナンバープレートのリストの再読み込み頻度を設定します。
  • 正規化:一般的に誤識別されるナンバープレートを調整して、マッチングを改善します。
  • メーカー、モデル、色: これらの機能をサポートする PlateRecognizer.com の有料プランを使用している場合のみ有効にしてください。無料プランには含まれていません。詳細情報は Agent DVR アクション内の{AIJSON}に含まれます。

アクション

LPR は、アクションで使用するためのAI: ナンバープレートを認識しましたおよびAI: ナンバープレートが認識されませんでしたイベントを生成します。

写真

写真に関する情報については、写真を参照してください。

ALPR-Database の使用

ALPR-Database.com との統合を設定して、ナンバープレートを保存できます。手順については、Agent DVR と ALPR-Database を参照してください。

AI顔認証

Agent DVR の新しいバージョンには AI が組み込まれており、処理速度が大幅に向上し、オーバーヘッドが削減されます。遅いAIサーバーの代わりに、ローカルAIを使用してリアルタイムで応答できます。
AI Face Recognition Settings

顔認証は AI サーバー (推奨: CodeProject.AI) を使用してビデオフィードに映る特定の顔を認識します。イベントを生成したり、アラートを発動したり、またはモーション検知アラートのフィルターとして機能させることができます。顔はカメラを使用するか、画像をアップロードすることで追加、編集、削除できます。詳細については、このタブの顔を編集を参照してください。

  • 有効化済み: AI プロセスを有効にするか無効にするかを切り替えます。
  • AI サーバー: 設定済みのサーバーから選択するか、既定値オプションを使用します。
  • モード: AI プロセスのトリガーを選択します。これを「なし」に設定してtriggerFaceを呼び出すことで、API 経由のみでトリガーを実行します。
  • スナップショット URI を使用する: 現在のライブストリームフレームの代わりに、カメラから高解像度フレームを選択してください。
  • リサイズモード: AI サーバーに送信する前に画像をリサイズして、負荷を低減し応答時間を改善します。
  • オーバーレイの設定: ライブ映像ストリームに AI 結果を描画するように設定します。
  • リクエスト間隔: サーバーリクエスト間の最小時間を設定して負荷を削減してください。
  • 信頼性スコア: 顔を認識するための最小信頼性スコアレベルを定義します。
  • コーナーをチェック: 詳細についてはコーナーのチェックを参照してください。
  • 顔を編集: サーバーデータベースに画像をアップロードして認識を有効にします。各画像に顔が1つだけ見え、はっきり定義されていることを確認してください。

アクション

顔認証はAI: 顔を認識しましたおよびAI: 顔が認識されませんでしたイベントを生成して、アクションで使用できます。

写真

写真に関する情報については、写真を参照してください。

AI オーディオ認識

AI オーディオ認識設定 AI オーディオ認識タグ

Agent DVR の AI ベースのオーディオ認識は、マイクまたはオーディオストリームから認識されたサウンドに応答します。

オーディオ認識を設定するには、マイクの設定を編集する必要があります。オーディオストリームを持つカメラがある場合は、カメラを編集して [オーディオ] タブを選択し、[構成] をクリックすることで、オーディオ設定にアクセスできます。

  • 有効化済み: AI プロセスを有効または無効にするための切り替えボタンです。
  • モード: AI プロセスのトリガーを選択します。
  • 信頼性スコア: サウンド認識の最小信頼性スコアを設定します。
  • 検出対象の音: AI が検出する特定のサウンドを選択します。
  • オーバーレイ: ライブオーディオビジュアライゼーション上に認識されたサウンドを表示します。検出対象の音で選択したサウンドのみが表示されるため、画面に表示される内容はアラートを発生させるものと一致します。
  • すべての音声をオーバーレイ: 聴取していないサウンドも表示し、オーバーレイはモデルが認識するすべてを表示します。サウンドが検出されない理由を特定する際に役立ちます。
  • GPU を使用する: これをチェックして、CPU ではなく GPU を使用します。
  • デバイス: モデルを実行するデバイスを選択します。

[検出対象の音] をクリックすると、検出可能なサウンドが表示されます。必要に応じてサウンドを選択します。

サウンドが検出されていない場合は、[オーバーレイ] と [すべての音声をオーバーレイ] を有効にしてから、サウンドを再生してオーディオビジュアライゼーションを確認します。オーバーレイには認識された各サウンドとその信頼性スコアが表示されるため、モデルがまったく何も聞こえなかったのか、サウンドは聞こえたが [信頼性スコア] 設定を下回っているのか、または別のものとして分類されたのか(その場合は、そのサウンドを [検出対象の音] に追加します)を確認できます。完了したら [すべての音声をオーバーレイ] をオフに戻して、オーバーレイが実際にアラートを発生させるサウンドのみを表示するようにします。

アクション AI:音が認識されました を使用して、サウンドが識別されたときにタスクを実行します。

オーディオ認識は、カメラと同様にアラートをフィルターするためにも使用できます。

AI言語

画像オーバーレイのラベルとタグ付けに使用される言語を変更するには、サーバーメニュー - 設定 - 一般設定 - デフォルト言語に移動します。

AIイベントにアクションを追加する

Agent DVRはAIプロセスを通じてイベントを生成し、これがアクションをトリガーできます。例えば、オブジェクト認識は「オブジェクトが見つかりました」および「オブジェクトが見つかりません」イベントを生成します。Agent DVRの各AIシステムは固有のイベントを生成します。

これらのイベントは、アラートの発生、オブジェクトラベルを含むURLの呼び出し、プログラムの実行、またはMQQTサーバーへのメッセージの公開など、様々なアクションをトリガーできます。アクション内でラベルの場合は{AI}、AIサーバーからの完全なJSONレスポンスの場合は{AIJSON}のタグを使用してください。