識別エンジン
人間の顔1:1 比較、ローカル1:N 識別、サーバ1:N識別、マスク検知にサポート
機能類の説明
IdentifyManager
識別エンジンを操作する入り口
メンバー関数 | 説明 | 導入バージョン |
boolean setIdentifyTarget(Bitmap avatar) | 個人の識別フィーチャーを設定 | 2.0.0 |
ImageConfig getImageConfig() | 画像構成を取得 | 2.0.0 |
IdentifyConfig getIdentifyConfig() | 識別エンジンのワークフロー構成を取得 | 2.0.0 |
ThresholdConfig getThresholdConfig() | しきい値構成を取得 | 2.0.0 |
void addFaceFilterInterceptor(IFaceFilterInterceptor faceFilterInterceptor) | 顔フィルターインターセプターを追加 | 2.0.0 |
void handleRgbData(byte[] data) | RGB画像データをハンドル | 2.0.0 |
void handleIrData(byte[] data) | IR画像データをハンドル | 2.0.0 |
void handleTemperatureData(Bitmap temperatureBitmap,float[] temperatureValue, int width, int height, FaceOrientation temperatureOrientation) | ヒートマップと関連データをハンドル | 2.0.0 |
void init(ImageConfig imageConfig, IIdentifyResultCallback identifyResultCallback) | 初期化 | 2.0.0 |
void pause() | 顔認識を中止 | 2.0.0 |
void resume() | 顔認識を回復 | 2.0.0 |
void release() | リソースを解放 | 2.0.0 |
void removeFaceFilterInterceptor(IFaceFilterInterceptor faceFilterInterceptor) | 顔フィルターインターセプターを削除 | 2.0.0 |
void removeIdentifyTarget() | 設定した個人の識別フィーチャーを削除 | 2.0.0 |
void start() | 識別を開始 | 2.0.0 |
void stop() | 識別を停止 | 2.0.0 |
void setIdentifyCallback(IIdentifyResultCallback iIdentifyCallback) | 識別コールバックを設定 | 2.0.0 |
void setVerifyMode(VerifyModeEnum verifyMode) | 識別エンジンの検証モードを設定 | 2.0.0 |
void setThresholdConfig(ThresholdConfig thresholdConfig) | しきい値構成を設定 | 2.0.0 |
void setIdentifyConfig(IdentifyConfig identifyConfig) | 識別エンジンワークフロー構成を設定 | 2.0.0 |
void setServerVerifyAction(IServerVerifyAction serverVerifyAction) | サーバの検証ロジックを設定 | 2.0.0 |
void setTemperatureSdkAction([ITemperatureSdkAction] temperatureSdkAction) | 温度検知アルゴリズムSDKの動作を設定 | 2.0.0 |
メンバー関数の説明
boolean setIdentifyTarget(Bitmap avatar)
個人の識別フィーチャーを設定
パラメータ
パラメータ名 | 型 | 説明 | 備考 | 導入バージョン |
avatar | Bitmap | 個人のID写真 | なし | 2.0.0 |
戻り値
戻り値 | 説明 | 備考 | 導入バージョン |
true | 設定が成功しました | なし | 2.0.0 |
false | 設定に失敗しました | なし | 2.0.0 |
例外
なし
ImageConfig getImageConfig()
画像構成を取得
パラメータ
なし
戻り値
ImageConfig
例外
なし
IdentifyConfig getIdentifyConfig()
識別エンジンのワークフロー構成を取得
パラメータ
なし
戻り値
IdentifyConfig
例外
なし
ThresholdConfig getThresholdConfig()
しきい値構成を取得
パラメータ
なし
戻り値
ThresholdConfig
例外
なし
void addFaceFilterInterceptor(IFaceFilterInterceptor faceFilterInterceptor)
顔フィルターインターセプターを追加
パラメータ
パラメータ名 | 型 | 説明 | 備考 | 導入バージョン |
faceFilterInterceptor | IFaceFilterInterceptor | 顔フィルターインターセプター | なし | 2.0.0 |
戻り値
なし
例外
なし
void handleRgbData(byte[] data)
RGBデータをハンドル
パラメータ
パラメータ名 | 型 | 説明 | 備考 | 導入バージョン |
data | byte[] | 画像データ | なし | 2.0.0 |
戻り値
なし
例外
なし
void handleIrData(byte[] data)
IRデータをハンドル
パラメータ
パラメータ名 | 型 | 説明 | 備考 | 導入バージョン |
data | byte[] | 画像データ | なし | 2.0.0 |
戻り値
なし
例外
なし
void handleTemperatureData(Bitmap temperatureBitmap,float[] temperatureValue, int width, int height, FaceOrientation temperatureOrientation)
ヒートマップと関連データをハンドル
パラメータ
パラメータ名 | 型 | 説明 | 備考 | 導入バージョン |
temperatureBitmap | Bitmap | ヒートマップ | なし | 2.0.0 |
temperatureValue | float[] | 温度データ | なし | 2.0.0 |
width | int | ヒートマップの幅 | なし | 2.0.0 |
height | int | ヒートマップの高さ | なし | 2.0.0 |
temperatureOrientation | FaceOrientation | 顔の方向 | なし | 2.0.0 |
戻り値
なし
例外
なし
void init(ImageConfig imageConfig, IIdentifyResultCallback identifyResultCallback)
初期化
パラメータ
パラメータ名 | 型 | 説明 | 備考 | 導入バージョン |
imageConfig | ImageConfig | 画像構成 | なし | 2.0 |
identifyResultCallback | IIdentifyResultCallback | 識別結果コールバック | なし | 2.0.0 |
戻り値
なし
例外
なし
void pause()
顔認識を中止
パラメータ
なし
戻り値
なし
例外
なし
void resume()
顔認識を回復
パラメータ
なし
戻り値
なし
例外
なし
void release()
リソースを解放
パラメータ
なし
戻り値
なし
例外
なし
void removeFaceFilterInterceptor(IFaceFilterInterceptor faceFilterInterceptor)
顔フィルターインターセプターを削除
パラメータ
パラメータ名 | 型 | 説明 | 備考 | 導入バージョン |
faceFilterInterceptor | IFaceFilterInterceptor | 顔フィルターインターセプター | なし | 2.0 |
戻り値
なし
例外
なし
void removeIdentifyTarget()
設定した個人の識別フィーチャーを削除
パラメータ
なし
戻り値
なし
例外
なし
void start()
識別を開始
パラメータ
なし
戻り値
なし
例外
なし
void stop()
識別を停止
パラメータ
なし
戻り値
なし
例外
なし
void setIdentifyCallback(IIdentifyResultCallback iIdentifyCallback)
識別結果コールバックを設定
パラメータ
パラメータ名 | 型 | 説明 | 備考 | 導入バージョン |
iIdentifyCallback | IIdentifyResultCallback | 識別結果コールバック | なし | 2.0 |
戻り値
なし
例外
なし
void setVerifyMode(VerifyModeEnum verifyMode)
識別エンジンの検証モードを設定
パラメータ
パラメータ名 | 型 | 説明 | 備考 | 導入バージョン |
verifyMode | VerifyModeEnum | 検証モード | なし | 2.0 |
戻り値
なし
例外
なし
void setThresholdConfig(ThresholdConfig thresholdConfig)
しきい値構成を設定
パラメータ
パラメータ名 | 型 | 説明 | 備考 | 導入バージョン |
thresholdConfig | ThresholdConfig | しきい値構成 | なし | 2.0 |
戻り値
なし
例外
なし
void setIdentifyConfig(IdentifyConfig identifyConfig)
識別エンジンワークフロー構成を設定
パラメータ
パラメータ名 | 型 | 説明 | 備考 | 導入バージョン |
identifyConfig | IdentifyConfig | 識別エンジンワークフロー構成 | なし | 2.0 |
戻り値
なし
例外
なし
void setServerVerifyAction(IServerVerifyAction serverVerifyAction)
サーバの検証ロジックを設定
パラメータ
パラメータ名 | 型 | 説明 | 備考 | 導入バージョン |
serverVerifyAction | IServerVerifyAction | サーバの検証ロジック | なし | 2.0 |
戻り値
なし
例外
なし
void setTemperatureSdkAction(ITemperatureSdkAction temperatureSdkAction)
温度検知アルゴリズムの動作を設定
パラメータ
パラメータ名 | 型 | 説明 | 備考 | 導入バージョン |
temperatureSdkAction | ITemperatureSdkAction | 温度測定アルゴリズムの動作 | なし | 2.0 |
戻り値
なし
例外
なし
エンティティの説明
ImageConfig
プロパティの説明
Member | 型 | 説明 | 備考 | 導入バージョン |
int previewW | int | カメラプレビュー解像度の幅 | なし | 2.0.0 |
int previewH | int | カメラプレビュー解像度の高さ | なし | 2.0.0 |
pixelFormat | MidPixelFormat | カメラプレビューフレームデータのフォーマット | なし | 2.0.0 |
faceOrientation | FaceOrientation | カメラプレビューフレームデータでの顔の向き | なし | 2.0.0 |
MidPixelFormat
プロパティの説明
Member | 説明 | 備考 | 導入バージョン |
GRAY8 | Y 1 | なし | 2.0.0 |
YUV420P | YUV 4:2:0 | なし | 2.0.0 |
NV12 | YUV 4:2:0 | なし | 2.0.0 |
NV21 | YUV 4:2:0 | なし | 2.0.0 |
BGRA8888 | BGRA 8:8:8:8 | なし | 2.0.0 |
BGR888 | BGR 8:8:8 | なし | 2.0.0 |
RGBA8888 | RGBA 8:8:8:8 | なし | 2.0.0 |
RGB888 | RGB 8:8:8 | なし | 2.0.0 |
GRAY16 | 特殊な画像フォーマット | 回転および他フォーマットへの変換を提供しません | 2.0.0 |
RGB565 | RGB 5:6:5 | なし | 2.0.0 |
ABGR8888 | ABGR 8:8:8:8 | なし | 2.0.0 |
FaceOrientation
プロパティの説明
Member | 説明 | 備考 | 導入バージョン |
UP | 顔の向きが上 | なし | 2.0.0 |
LEFT | 顔の向きが左 | なし | 2.0.0 |
DOWN | 顔の向きが下 | なし | 2.0.0 |
RIGHT | 顔の向きが右 | なし | 2.0.0 |
IdentifyConfig
プロパティの説明
Member | 型 | 説明 | 備考 | 導入バージョン |
debug | boolean | デバッグのON/OFF | なし | 2.0.0 |
imageConfig | ImageConfig | 識別フレーム情報構成 | なし | 2.0.0 |
thresholdConfig | ThresholdConfig | 識別しきい値構成 | なし | 2.0.0 |
hasLiveness | boolean | 生体検知のON/OFF | なし | 2.0.0 |
isAlwaysLiveness | boolean | 同じTrack IDに対して常に生体検知を実行するかを判定 | なし | 2.0.0 |
isSingleLiveness | boolean | シングルカメラによる生体検知かを判定 | なし | 2.0.0 |
hasTemperatureDetection | boolean | 温度検知のON/OFF | なし | 2.0.0 |
isMultiTemperatureDetection | boolean | 複数人の温度検知のON/OFF | なし | 2.0.0 |
hackNoPassCountThreshold | int | 非生体と判定するための生体検知回数 | なし | 2.0.0 |
strangerCountThreshold | int | 未登録者と判定するための比較回数 | なし | 2.0.0 |
irNoFaceCountThreshold | int | 連続Nフレームで非生体と判定 | なし | 2.0.0 |
irAndRgbFaceMinDist | float | RGBカメラとIRカメラの最小距離しきい値 | なし | 2.0.0 |
isContinueVerify | boolean | 同じTrack IDに対し識別結果を出した後識別を継続か | なし | 2.0.0 |
irAndRgbFaceSizeThreshold | float | RGBとIR顔の差異しきい値 | なし | 2.0.0 |
continueVerifyIntervalTime | long | 同じTrack IDに対し識別結果を出した後の時間間隔 | なし | 2.0.0 |
samePersonContinuousRecognitionInterval | long | 同じユーザーIDに対する連続識別の間隔 | このパラメータは個体に対するもので、continueVerifyIntervalTime によるコントロールより上層に位置する | 2.0.0 |
isServerVerify | boolean | サーバ検証かを判定 | なし | 2.0.0 |
isMultiFaceVerify | boolean | 複数人の顔識別シナリオかを判定 | なし | 2.0.0 |
detectSerialMultiFace | int | Trackingの際に何回のフレームごとに検知を1回実行するか | なし | 2.0.0 |
isSenseGateConfig | boolean | SenseGateデバイスかを判定 | SenseGateBDのBaseline 距離計算はPassシリーズとは異なる | 2.0.0 |
isCheckCameraRotate | boolean | カメラの回転をチェックするかを判定 | なし | 2.0.0 |
isDoVerify | boolean | 顔認識するかを判定 | なし | 2.0.0 |
isOpenWearMaskIdentify | boolean | マスク検知をオンにするかを判定 | なし | 2.0.0 |
isInnerEyeTempDetect | boolean | 目元による温度検知するかを判定 | なし | 2.0.0 |
unSuccessTimeoutTimeThreshold | int | 識別が成功できていないタイムオーバーの時間。すなわち、成功時にのみすぐ結果を返し、成功しない場合、タイムオーバーになってから失敗結果を返す | デフォルトは-1とし、この機能がオフにしていることを表す | 2.0.0 |
ThresholdConfig
プロパティの説明
Member | 型 | 説明 | 備考 | 導入バージョン |
verifyAreaRect | RectF | 顔の枠 | なし | 2.0.0 |
faceMinWidth | int | 識別できる最小の顔の幅 | なし | 2.0.0 |
faceMaxWidth | int | 識別できる最大の顔の幅 | なし | 2.0.0 |
alignmentScore | float | マークされた顔のアラインメントスコア | なし | 2.0.0 |
sharpness | float | 顔の不鮮明さ | なし | 2.0.0 |
yaw | float | 横向き角度 | 横顔 | 2.0.0 |
pitch | float | 上向き・下向きの角度 | 上向き、下向き | 2.0.0 |
roll | float | 傾きの角度 | 頭の傾き | 2.0.0 |
livenessScore | float | 生体検知のしきい値 | なし | 2.0.0 |
verifyScore | float | 比較のしきい値 | なし | 2.0.0 |
maskVerifyScore | float | マスクつけた状態の比較しきい値 | なし | 2.0.0 |
IFaceFilterInterceptor
メソッドの説明
メンバー関数 | 説明 | 備考 | 導入バージョン |
T filterFace(FaceInfo faceInfo, byte[] data, MidPixelFormat midPixelFormat, int width, int height, FaceOrientation faceOrientation) | 顔フィルター | なし | 2.0.0 |
FaceInfo
プロパティの説明
Member | 型 | 説明 | 備考 | 導入バージョン |
faceRect | Rect | 顔の枠 | なし | 2.0.0 |
facePoints | PointF[] | 顔のポイント | なし | 2.0.0 |
occlusion | int[] | 顔の遮蔽 | なし | 2.0.0 |
id | int | track id | なし | 2.0.0 |
detectionScore | float | 検知スコア | なし | 2.0.0 |
alignmentScore | float | アラインメントスコア | なし | 2.0.0 |
pointsCount | int | 顔のポイントの数 | なし | 2.0.0 |
yaw | float | 横向き角度 | なし | 2.0.0 |
pitch | float | 上向き・下向き角度 | なし | 2.0.0 |
roll | float | 傾きの角度 | なし | 2.0.0 |
VerifyModeEnum
プロパティの説明
Member | 説明 | 備考 | 導入バージョン |
MODE_1_N | 1:N 比較モード | なし | 2.0.0 |
MODE_1_1 | 1:1 比較モード | なし | 2.0.0 |
MODE_SERVER_1_N | サーバ認識 1:N モード | なし | 2.0.0 |
IIdentifyResultCallback
メソッドの説明
メンバー関数 | 説明 | 備考 | 導入バージョン |
void onTrackResult(FaceInfo[] faces, byte[] rgbCameraData, byte[] irCameraData) | Track結果をコールバック | なし | 2.0.0 |
void onNoFaceOverTime(byte[] rgbCameraData, byte[] irCameraData) | 指定期間内に検知できた顔コールバックがない | なし | 2.0.0 |
void onClearScreen() | 顔コールバックがない | なし | 2.0.0 |
void onDrawFaces(List<FaceInfo> faceInfoList) | スクリーンから顔を描画するコールバック | なし | 2.0.0 |
void onUnknown(float faceW) | 異常の顔をコールバック | 人物が遠く立ち、生体検知が不正確の際にコールバック | |
void onCameraRotate(FaceOrientation forwardOrientation) | カメラローテーションのためのコールバックAPI | なし | 2.0.0 |
void onFaceFilterResult(List<FaceFilterResult> faceFilterResults) | 顔フィルターのコールバック | なし | 2.0.0 |
void onAttributeFilterResult(List<AttributeFilterResult> attributeFilterResults) | 属性フィルター結果 | なし | 2.0.0 |
void onIdentifyResult(List<FrameIdentifyResult> frameIdentifyResults) | 顔識別のコールバック | なし | 2.0.0 |
void onTrackAndTemperatureResult (List<TrackAndTemperatureResult> results) | Trackと温度検知結果 | なし | 2.0.0 |
FaceFilterResult
プロパティの説明
Member | 型 | 説明 | 備考 | 導入バージョン |
code | int | 結果コード | 0は通過。0ではない場合フィルターされたことを意味。 フィルターされた場合、開発者はインターセプターapiでカスタマイズが必要 | 2.0.0 |
interceptorId | int | インターセプターID | なし | 2.0.0 |
faceInfo | FaceInfo | 顔情報 | なし | 2.0.0 |
AttributeFilterResult
プロパティの説明
Member | Type | 説明 | 備考 | 導入バージョン |
code | int | 結果コード | 0は通過。0ではない場合フィルターされたことを意味。 具体的には各インターセプターでカスタマイズする | 2.0.0 |
interceptorId | int | インターセプターID | なし | 2.0.0 |
attributeResult | AttributeResult | 属性結果 | なし | 2.0.0 |
AttributeResult
プロパティの説明
Member | Type | 説明 | 備考 | 導入バージョン |
rgbFace | FaceInfo | 顔の情報 | なし | 2.0.0 |
wearMask | boolean | マスクをつけているかを判定 | なし | 2.0.0 |
wearEyeGlass | boolean | メガネをつけているかを判定 | なし | 2.1.0 |
age | int | 年齢を推測 | なし | 2.1.0 |
isMale | boolean | 性別を推測 | なし | 2.1.0 |
isHasMustache | boolean | ひげがあるかを判定 | なし | 2.1.0 |
FrameIdentifyResult
プロパティの説明
Member | Type | 説明 | 備考 | 導入バージョン |
frameId | int | フレームID | なし | 2.0.0 |
rgbCameraNv21Data | byte[] | 認識結果に対応するRGBフレームデータ | なし | 2.0.0 |
w | int | フレームの幅 | なし | 2.0.0 |
h | int | フレームの高さ | なし | 2.0.0 |
orientation | FaceOrientation | 顔の向き | なし | 2.0.0 |
irCameraNv21Data | byte[] | 認識結果に対応するIRフレームデータ | なし | 2.0.0 |
temperatureValue | float[] | 温度データ | なし | 2.0.0 |
temperatureBitmap | Bitmap | 温度ビットマップ | なし | 2.0.0 |
temperatureWidth | int | 温度ビットマップの幅 | なし | 2.0.0 |
temperatureHeight | int | 温度ビットマップの高さ | なし | 2.0.0 |
temperatureOrientation | FaceOrientation | 温度ビットマップの顔向き | なし | 2.0.0 |
faceIdentifyResults | List<FaceIdentifyResult> | 認識結果リスト | なし | 2.0.0 |
FaceIdentifyResult
プロパティの説明
Member | Type | 説明 | 備考 | 導入バージョン |
faceInfo | FaceInfo | RGB 顔の情報 | なし | 2.0.0 |
irFaceInfo | FaceInfo | IR 顔の情報 | なし | 2.0.0 |
feature | byte[] | フィーチャー | なし | 2.0.0 |
verifyScore | float | 識別スコア | なし | 2.0.0 |
livenessScore | float | 生体検知スコア | なし | 2.0.0 |
userId | int | ユーザーID | なし | 2.0.0 |
trackAndTemperatureResult | TrackAndTemperatureResult | 温度結果 | なし | 2.0.0 |
isMask | boolean | マスクをつけているかを判定 | なし | 2.0.0 |
identifyResultTypeEnum | IdentifyResultTypeEnum | 認識結果 | なし | 2.0.0 |
faceSearchResult | FaceSearchResult | 検索結果 | なし | 2.0.0 |
AttributeResult | AttributeResult | 顔属性の結果 | なし | 2.1.0 |
TrackAndTemperatureResult
プロパティの説明
Member | Type | 説明 | 備考 | 導入バージョン |
faceInfo | FaceInfo | RGB顔の情報 | なし | 2.0.0 |
irFaceInfo | FaceInfo | IR顔の情報 | なし | 2.0.0 |
temperature | float | 温度値 | なし | 2.0.0 |
IdentifyResultTypeEnum
プロパティの説明
Member | 説明 | 備考 | 導入バージョン |
NON_LIVENESS | 非生体 | なし | 2.0.0 |
LIVENESS | 生体 | なし | 2.0.0 |
STRANGER | 未登録者 | なし | 2.0.0 |
VERIFY_SUCCESS | 認識成功 | なし | 2.0.0 |
FaceSearchResult
プロパティの説明
Member | Type | 説明 | 備考 | 導入バージョン |
userID | int | データベースに追加するときに定義したインデックス値 | なし | 2.0.0 |
score | float | 最も似ているフィーチャー値スコア | なし | 2.0.0 |
IServerVerifyAction
メソッドの説明
メンバー関数 | 説明 | 備考 | 導入バージョン |
T verify( byte[] cameraData, byte[] feature,FaceInfo rgbFace, int width, int height) | 顔の検索と認識 | なし | 2.0.0 |
ITemperatureSdkAction
プロパティの説明
メンバー関数 | 説明 | 備考 | 導入バージョン |
List temperCalculateAir(MatchFace[] matchFaces, Bitmap temperatureBitmap, float[] temperatureData, int temperatureWidth, int temperatureHeight, FaceOrientation temperatureOrientation) | 複数人温度検知アルゴリズム | なし | 2.0.0 |
最終更新