AI (人工知能): 設定 (せってい)
AIアラートフィルタリング
Agent DVRでアラートフィルタリングを設定するには、AIサーバーが設定されていることを確認し、次の手順に従ってください:
- モーション検出を設定して有効にします。CPU使用率を最小限に抑えるために、シンプルな検出器を使用してください。モニタリングしたいエリアをカバーするために、少なくとも1つのゾーンが定義されていることを確認してください。
- アラートタブで、モードをアクションのみに設定し、アラートを有効にします。
- オブジェクト認識タブでオブジェクト認識を有効にします。モードをモーション検出に設定し、モデルを選択し、検索をクリックして検出するオブジェクト(人、犬、車など)を選択します。
- タブメニューのアクションに移動し、イベントAI: オブジェクトが見つかりましたのためのアクションを追加します。
異なるゾーン(例えば、ドライブウェイと道路のための異なるゾーン)でオブジェクトを検出する場所を指定するために、ゾーンを選択してください。例えば、ドライブウェイゾーンを選択すると、車がそこで検出された場合にのみアラートがトリガーされます。
タスクの下で、アラートタスクを作成するために追加をクリックします。2回OKをクリックして確認します。
Agent DVRは、モーション検出時にAIオブジェクト認識を処理します。指定されたオブジェクトが選択されたゾーン内で検出された場合、アラートを発生させるためのアクションがトリガーされます。ゾーンの選択がない場合、どのゾーンでもアラートがトリガーされます。
LPR認識、顔認識、または音声認識についても同様にアラートフィルタを設定します。
モーション検出トリガーなしでの定期的なAIオブジェクト認識を行うには、オブジェクト認識のモードをインターバルに設定します。ハードウェアリソースへの影響を監視し、必要に応じて調整してください。
さまざまなゾーンに対して異なるオブジェクトの複数のアクションを設定することができます。アクション内で検出されたオブジェクトを参照するために、{AI}タグを使用してください。
AIフィルターのトラブルシューティング
AIが録画を効果的にフィルタリングしていない場合は、次のことを考慮してください:
- [Available options]のいずれかに一致するようにFind設定を確認してください。
- Agentの左上にあるマスターアラートスイッチが閉じた南京錠を表示していることを確認してください。これはアクティブなアラートを示しています。
- 録画モードがAlertに設定されていることを確認してください。Detectではありません。
- アラートモードがActions Onlyに設定されていることを確認してください。
- Object Recognitionの下でConfidenceレベルを下げてみてください。
- エラーメッセージが表示されている場合は、/logs.htmlをチェックしてください。これはサーバーの問題やネットワークのブロックを示している可能性があります。
- AIサーバーのパフォーマンスを監視し、システムの過負荷やタイムアウトが発生していないことを確認してください。
- AIがすべてのオブジェクトクラスを検出する場合、GPUの問題を示している可能性があります。GPUドライバーを確認するか、CPUベースのAIモジュールに切り替えてください。
AIオブジェクト認識
Agent DVRのオブジェクト認識は、AIサーバー(CodeProject.AIが推奨)を使用してビデオフィード内の特定のオブジェクトを認識し、イベントを生成したり、アラートを発生させたり、モーションアラートのフィルターとして機能します。
- 有効: AIプロセスを有効または無効に切り替えます。
- AIサーバー: 設定済みのサーバーから選択するか、デフォルトのオプションを使用します。
- モード: AIプロセスのトリガーを選択します。
- モーションパススルー: AIサーバーがダウンしてアラートをフィルタリングしていない場合、フィルタリングせずにアラートを通過させます。
- スナップショットURIの使用: 現在のライブストリームフレームの代わりにカメラからの高解像度フレームを使用します。
- リサイズモード: 画像をAIサーバーに送信する前にリサイズして、負荷を軽減し応答時間を改善します。
- オーバーレイ: ライブビデオストリーム上にAIの結果を表示します。
- カラー: オーバーレイの色。この設定は、すべてのAI機能のオーバーレイの色を制御します。
- 最小インターバル: サーバーリクエスト間の最小時間を設定します。
- 信頼度: オブジェクトを認識するための最小信頼度レベルを設定します。
- コーナーチェック: 詳細については、コーナーチェックを参照してください。
モデル
- 検出: サーバーからインストールされたモデルを取得します(CodeProject.AI専用)。
- モデルエンドポイント: 使用可能なモデルから選択するか、デフォルトのエンドポイントを使用します。
- オブジェクトクラス: 関連するクラスが自動的に入力されるか、手動で入力します。
- 検出対象: AIが検出するオブジェクトを指定します。
- 静的オブジェクトを無視: 同じ場所で繰り返し検出されるオブジェクトを無視します。
カスタムモデル
CodeProject.AIにカスタムモデルを追加するには、モデルファイルを指定されたディレクトリにコピーします。Discoverボタンからアクセスし、オブジェクトリストをオブジェクトクラスに手動で追加します。
モデルの保存ディレクトリを変更するには、オブジェクト認識モジュールの設定を編集します。
アクション
オブジェクト認識は、AI: オブジェクトが見つかりましたおよびAI: オブジェクトが見つかりませんでしたのイベントを生成し、アクションで使用します。
写真
写真に関する情報については、写真を参照してください。
AI シーン認識
Agent DVRのシーン認識は、AIサーバー(CodeProject.AIが推奨)を使用して、カメラが表示している一般的なシーンを認識し、イベントを生成したり、アラートを発生させたり、モーションアラートのフィルターとして機能したりできます。モーションアラートのフィルターとして機能したりできます。
- Enabled: AIプロセスを有効または無効に切り替えます。
- AI Server: 構成済みのサーバーから選択するか、デフォルトオプションを使用します。
- Mode: AIプロセスのトリガーを選択します。これをNoneに設定し、triggerSceneを呼び出すことで、API経由でのみトリガーします。
- Motion Pass-through: AIサーバーがダウンしてアラートをフィルタリングしている場合、フィルタリングせずにアラートを通過させます。
- Use Snapshot URI: 現在のライブストリームフレームの代わりに、カメラからの高解像度フレームを使用します。
- Resize Mode: AIサーバーに送信する前に画像をリサイズして、負荷を軽減し、応答時間を改善します。
- Overlay: ライブビデオストリーム上にAIの結果を表示します。
- Minimum Interval: サーバーリクエスト間の最小時間を設定します。
- Confidence: オブジェクトを認識するための最小信頼レベルを設定します。
探すシーン
365個の利用可能なシーンから選択するためにボタンをクリックしてください。アラートをトリガーするために複数のシーンを選択できます。
アクション
シーン認識は、AI: シーン認識 イベントを生成し、アクション で使用できます。
写真
写真に関する情報は、写真 を参照してください。
AIに尋ねる
Agent DVRは、カメラの画像に関する人間が読める質問に答えるためにAIサーバー(OpenAI / Claudeなど)を使用します。これにより、イベントを生成したり、アラートを発生させたり、動きのアラートにフィルターをかけることができます。Server Settings - AI Servers - Ask AIで設定を完了する必要があります。
リクエストが送信されるタイミングを確認するには、ローカルサーバーの/logs.htmlでログを確認できます。Server Settings - Logging - Log LevelをInfoに設定してください。
- Enabled: AIプロセスを有効または無効に切り替えます。
- Provider: 画像を処理するために使用するAIプロバイダーを選択します。プロバイダーはサーバー設定 - AIサーバーで構成する必要があります。デフォルトを選択すると、最初に構成されたプロバイダーが使用されます。
- Mode: AIプロセスのトリガーを選択します。これをNoneに設定し、triggerAskAIを呼び出すことで、API経由でトリガーを設定できます。
- Motion Pass-through: AIサーバーがダウンしてアラートをフィルタリングしている場合、このオプションを使用すると、フィルタリングなしでアラートを通過させることができます。
- Use Snapshot URI: 現在のライブストリームフレームの代わりに、カメラから高解像度のフレームを使用します。
- Resize Mode: AIサーバーに送信する前に画像をリサイズして、負荷を軽減し応答時間を改善します。
- Overlay: ライブビデオストリームにAIの結果を表示します。
- Minimum Interval: サーバーリクエスト間の最小時間を設定します。
AI メッセージング
- メッセージ: ここにAIへの質問を入力してください。いくつかの例:
- この画像に火災が見られる場合は FIRE と返信してください。ソファに座っている犬が見られる場合は DOG と返信してください。ドアが開いている場合は DOOR と返信してください。複数の条件が満たされた場合は、それらを , で区切ってください。
- ベンチの上の機械のライトが赤い場合は ALERT と返信してください。
- 警察車両がドライブウェイに停まっている場合は POLICE と返信してください。
- 床に郵便物や荷物がある場合は MAIL と返信してください。
- 誰かが家に侵入したように見える場合は BREAKIN と返信してください。
- 検索: AIに応答するよう指示したタグを入力してください。例: FIRE, DOG, DOOR
- 繰り返し無し: 前回のAIへの呼び出しで返されたタグを無視してください。
上記のように、メッセージで複数の条件を満たすよう要求し、各結果を処理するアクションを設定できます。
アクション
シーン認識は、Ask AI: Positive Result イベントを生成し、アクション で使用します。
写真
写真に関する情報は、写真 を参照してください。AIはまだ画像内の物体の位置に関する空間データを返さないため、クロップや静的検出は現在機能していません。
AI写真
AIプロセスは、オブジェクトが認識されたときに写真をキャプチャすることができ、保存、切り抜き、FTPアップロードなどのオプションが提供されます。
これを設定するには、カメラの編集時に各AI設定タブの下部にある写真オプションに移動します。写真を有効にし、設定をクリックします。
- ラベル: Agentは画像上にボックスを重ねて検出されたオブジェクトにラベルを付けます。
- 切り抜き: Agentは画像を各検出領域に切り抜き、各領域ごとに複数の画像を保存します。
- FTP: 保存された画像をカメラに設定されたFTPサーバーにアップロードします。
- 重複防止: Agentは同じオブジェクトの複数のコピーを保存せず、それがモーションゾーンを離れるまで待機します。
Ask AI: 説明
v5.8.2.0+から、Agent DVRがカメラからキャプチャした画像をアラートイベントで説明するためにAIを使用できます。この説明は、UI内のアラートと一緒に保存されます。これを設定するには、カメラ用にAsk AIを構成し、Describeの下にあるオプションを表示してください。
- Prompt: 画像と一緒にAIサーバーに送信されるプロンプトを入力します。デフォルトは「この画像で何が起こっているかを短い文章で説明してください」となっています。ただし、「海賊の言葉で何が起こっているかを説明してください」といった楽しいプロンプトも使用できます。上記の画像で使用したものです。
- 次に、アラートタブに移動し、Describeオプションをチェックしてください。
Ask AIが有効になっていることを確認してください。アラート画像の説明のみを行いたい場合は、ModeをNoneに設定してください。
画像に注釈を付けたら、ActionsシステムにAI: Describe Response Receivedを統合できます。このアクションから他の統合に対して{MSG}と{AIJSON}を使用できます。
LPRまたはALPR
LPR(ナンバープレート認識、またはALPR/ANPRとも呼ばれる)は、ビデオフィード内の車のナンバープレートを認識して読み取るためにAIサーバー(推奨:CodeProject.AIおよびPlateRecognizer.com)を使用します。これにより、イベントが生成され、アラートが発生したり、モーションアラートのフィルターとして機能します。
- Enabled(有効): AIプロセスを有効または無効に切り替えます。
- AI Server(AIサーバー): 設定済みのサーバーから選択するか、デフォルトのオプションを使用します。Agentは、CodeProject.AIまたはPlateRecognizer.comを介してLPRをサポートしています。
- Mode(モード): AIプロセスのトリガーを選択します。
- Use Snapshot URI(スナップショットURIを使用): 現在のライブストリームフレームの代わりにカメラから高解像度のフレームを選択します。
- Overlay(オーバーレイ): AIの結果をライブビデオストリームにオーバーレイします。
- Minimum Interval(最小間隔): サーバーリクエスト間の最小時間を設定して負荷を軽減します。
- Confidence(信頼度): ナンバープレートを認識するための最小信頼度レベルを定義します。
- Check Corners(コーナーチェック): 詳細についてはコーナーチェックを参照してください。
- License Plates(ナンバープレート): カンマ区切りのプレートのリストまたはプレートを含むCSVファイルのURLを入力します。これらのプレートに対してAgentはナンバープレート認識およびナンバープレート認識なしのイベントを生成し、アクションをトリガーすることができます。
- Reload Interval(リロード間隔): URLからプレートリストをリロードする頻度を設定します。
- Normalise(正規化): 誤認識されることが多いプレートを調整して一致率を向上させます。
- Make, Model, and Color(メーカー、モデル、および色): これらの機能をサポートするPlateRecognizer.comの有料プランを使用している場合にのみ有効にします。無料プランには含まれていません。詳細は{AIJSON}内のAgent Actionsに含まれます。
Actions(アクション)
LPRは、アクションで使用するためのAI: ナンバープレート認識およびAI: ナンバープレート認識なしのイベントを生成します。
Photos(写真)
写真に関する情報については、写真を参照してください。
AI顔認識
顔認識はAIサーバー(推奨:CodeProject.AI)を利用して、ビデオフィード内の特定の顔を認識します。イベントを生成したり、アラートを発生させたり、モーションアラートのフィルターとして機能することができます。顔はカメラを使用するか、画像をアップロードすることで追加、編集、削除することができます。詳細については、このタブの顔の編集を参照してください。
- 有効: AIプロセスを有効または無効に切り替えます。
- AIサーバー: 設定済みのサーバーから選択するか、デフォルトのオプションを使用します。
- モード: AIプロセスのトリガーを選択します。
- スナップショットURIを使用: 現在のライブストリームフレームの代わりに、カメラからの高解像度フレームを選択します。
- オーバーレイ: AIの結果をライブビデオストリームにオーバーレイします。
- 最小間隔: サーバーリクエスト間の最小時間を設定して負荷を軽減します。
- 信頼度: 顔を認識するための最小信頼度レベルを定義します。
- コーナーをチェック: 詳細については、コーナーチェックを参照してください。
- 顔の編集: 認識のためにサーバーデータベースに画像をアップロードします。各画像には、1つの顔が見え、明確に定義されていることを確認してください。
アクション
顔認識は、アクションで使用するためのAI: 顔認識およびAI: 顔認識されないのイベントを生成します。
写真
写真に関する情報については、写真を参照してください。
AIオーディオ認識
Agent DVRのAIベースのオーディオ認識は、マイクやオーディオストリームから認識された音に応答します。これを設定するには、サーバー設定 - データ - AIオーディオモデル(iSpyConnect.comのアカウントが必要)からモデルファイルをダウンロードしてください。
オーディオ認識を設定するには、マイクの設定を編集する必要があります。オーディオストリームを持つカメラがある場合、カメラの編集を行い、オーディオタブを選択し、「設定」をクリックしてオーディオ設定にアクセスできます。
- 有効化: AIプロセスを有効または無効に切り替えます。
- モード: AIプロセスのトリガーを選択します。
- 信頼度: 音の認識のための最小信頼度レベルを設定します。
- オーバーレイ: ライブオーディオ可視化にAIの結果を表示します。
- 検出対象: AIが検出する特定の音を選択します。
検出対象をクリックすると、検出可能な音が表示されます。必要に応じて音を選択してください。
アクション AI: 音が認識された場合をクリックして、音が識別されたときにタスクを実行します。
オーディオ認識は、カメラと同様に、アラートのフィルタリングにも使用できます。
AI イベントにアクションを追加する
Agent DVRはAIプロセスを通じてイベントを生成し、それによってアクションがトリガーされます。たとえば、オブジェクト認識は「オブジェクトが見つかりました」および「オブジェクトが見つかりませんでした」というイベントを生成します。Agent内の各AIシステムはユニークなイベントを生成します。
これらのイベントは、アラートの発生、オブジェクトラベル付きのURLの呼び出し、プログラムの実行、またはMQTTサーバーへのメッセージの公開など、さまざまなアクションをトリガーすることができます。アクション内では、ラベルには{AI}タグ、CodeProject.AIからのフルJSONレスポンスには{AIJSON}タグを使用してください。