メインコンテンツまでスキップ

MonitorDog Web SDK v1.0.16アップデート:Pose追跡とカメラエラー処理を改善

|
約4分
MonitorDogチーム
AI搭載ビジュアルハッキング防止ソリューション
Web SDKアップデート

このドキュメントは、MonitorDog Web SDK v1.0.16を基準に作成されたアップデートノートです。

ユーザー検知の安定性と連携の利便性を改善しました。

MediaPipe Pose追跡を追加し、検知結果をユーザー中心のフィールドに整理しました。また、カメラを開けない原因をより具体的に確認できるよう、エラー処理を改善しました。

アップデートの主な内容

Web SDK v1.0.16の変更事項

Pose追跡を追加: MediaPipe Poseを活用してユーザー追跡を補完し、検知の安定性を高めました。
検知結果APIを改善: ユーザーの有無と人数をpersonDetectedpersonCountで提供します。
カメラエラーを細分化: カメラ使用中、デバイスなし、権限拒否などの起動失敗原因を具体的なエラーコードで通知します。
Runtimeを安定化: 無効なvideo frame処理、初期モデル準備区間、MediaPipe assetパス、実行fallbackを改善しました。

詳細な変更事項

1. MediaPipe Poseユーザー追跡を追加

既存の顔・スマートフォン検知にMediaPipe Pose追跡を追加しました。顔が一時的に鮮明に見えない場合でも、姿勢の追跡状態を利用してユーザーの存在をより安定して判断できます。

Poseの詳細な状態はposeTrackingで確認できます。bounding boxとlandmark座標も提供され、一般的な画面ブロックロジックではなく、検知状態の確認や問題調査のためのデバッグ用途に利用できます。

2. ユーザー中心の検知結果API

onDetect結果のユーザー関連フィールドを次のように変更しました。

以前のフィールドv1.0.16のフィールド
faceDetectedpersonDetected
faceCountpersonCount

一般的なユーザーの有無と人数の判定には、personDetectedpersonCountを使用してください。顔検知の詳細情報が必要な場合は、これまでどおりfaceDetectionsで確認できます。

onDetect: (result) => {
if (!result.personDetected) {
showWarning("ユーザーが見えません。");
}

if (result.personCount >= 2) {
blockScreen("複数のユーザーが検知されました。");
}
};
アップデート時にコードの変更が必要です。

v1.0.15でfaceDetectedまたはfaceCountを使用していた連携コードは、v1.0.16に合わせてpersonDetectedpersonCountに変更してください。

3. カメラ起動エラーの案内を改善

カメラ起動失敗をMonitorDogSdkErrorとして渡し、状況に応じたエラーコードを提供します。他のアプリケーションやブラウザタブがカメラを使用している可能性がある場合も、個別のコードで処理できます。

  • CAMERA_PERMISSION_DENIED
  • CAMERA_NOT_FOUND
  • CAMERA_IN_USE
  • CAMERA_CONSTRAINT_FAILED
  • CAMERA_REQUEST_TIMEOUT
  • CAMERA_UNSUPPORTED
  • CAMERA_READ_FAILED

元のブラウザエラーはcauseで確認できます。

import { MonitorDogSdkError } from "@monitordog/detector";

onError: (error) => {
if (error instanceof MonitorDogSdkError) {
console.error(error.code, error.message, error.cause);
}
};

アップデート方法

npmを使用するプロジェクトではpackageを更新してください。

npm install @monitordog/detector@1.0.16

static zipを使用する環境では、v1.0.16 zipのmonitordog/フォルダー全体を再デプロイしてください。このバージョンからassets/mediapipe/配下にPose modelとWebAssembly runtimeが含まれるため、既存のUMD scriptだけを置き換えると正常に動作しない場合があります。

static assetをサーバーから直接提供する場合、.task拡張子をapplication/octet-stream MIMEタイプで提供する必要があります。

アップデートチェックリスト

  • faceDetectedpersonDetectedに変更しましたか?
  • faceCountpersonCountに変更しましたか?
  • static zipを使用する場合、monitordog/フォルダー全体を置き換えましたか?
  • staticサーバーで.task MIMEタイプを提供していますか?
  • onErrorで細分化されたカメラエラーコードを処理していますか?

Web SDK v1.0.16にアップデートしてください

変更された検知結果APIとインストール方法は、Web SDK連携ドキュメントで確認できます。