Skip to content

HumanDetect Profile

TakayukiHoshi1984 edited this page Mar 27, 2017 · 3 revisions

目次

API 機能概要
Body Detect POST API 画像をマルチパートでリクエスト送信しデバイスと通信を行い人体検出処理を行って検出結果を返す。
Hand Detect POST API 画像をマルチパートでリクエスト送信しデバイスと通信を行い手検出処理を行って検出結果を返す。
Face Detect POST API 画像をマルチパートでリクエスト送信しデバイスと通信 を行い顔検出処理を行って検出結果を返す。
Body Detect EVENT API デバイスが人体検出したときにイベントを返す。
Hand Detect EVENT API デバイスが手検出したときにイベントを返す。
Face Detect EVENT API デバイスが顔検出したときにイベントを返す。

機能概要

スマートデバイスの人体検出機能を提供するAPI。

参考API

なし

インターフェース名称 Version 種別
Body Detect API Post 2.0.0 同期I/F

概要

画像をマルチパートでリクエスト送信しデバイスと通信を行い人体検出処理を行って検出結果を返す。

リクエスト

HTTPメソッド URI
POST /gotapi/humandetect/detection/body
論理名 物理名 データ型 省略 設定値
サービスID serviceId string - 取得対象デバイス
マイムタイプ mimeType string 検出対象画像のMimeType
ファイルのbinary data multipart - 検出対象画像をマルチパートで指定する
検出しきい値 threshold number 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
検出最小サイズ(w) minWidth number minHeight < maxHeightとすること、省略時はデバイス初期値。
設定できる値の範囲:0.0~1.0
検出最小サイズ(h) minHeight number minHeight < maxHeightとすること、省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
検出最大サイズ(w) maxWidth number minWidth < maxWidthとすること、省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
検出最大サイズ(h) maxHeight number minHeight < maxHeightとすること、省略時はデバイス初期値。
設定できる値の範囲:0.0~1.0
利用するオプション機能 options array - 利用するオプション機能を指定する。複数指定可能。省略時は指定なし。
※使用できるオプションは無し。

レスポンス

Content-Type 形式 HTTPステータス
application/json JSON 200
論理名 物理名 データ型 省略 設定値
処理結果 result number - 0:正常応答
0以外:異常応答
人体検出結果 bodyDetects array - 検出された数分出現する。
人体検出領域中心座標(x) x number - 検出領域の中心X座標。
0.0~1.0
人体検出領域中心座標(y) y number - 検出領域の中心Y座標。
0.0~1.0
人体検出領域幅(w) width number 検出領域のX方向の幅。
※領域幅が提供できない場合は 出現しない。
0.0~1.0
人体検出領域幅(h) height number 検出領域のY方向の幅
※領域幅が提供できない場合は出現しない。
0.0~1.0
信頼度 confidence number - 解析の信頼度。
0.0~1.0

リクエストサンプル

POST http://localhost:4035/gotapi/humandetect/detection/body
Multipartデータ
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryp7MA4YWxkTrZu0gW
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="accessToken"

xxxxx
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="serviceId"

localhost.deviceconnect.org
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="mimeType"

image/png
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="data"; filename="IMG_201xxxxx.png"
Content-Type: image/png

<binary省略>
----WebKitFormBoundaryE19zNvXGzXaLvS5C
boundaryに指定はない。

レスポンスサンプル

{
    "product":"Device Connect Manager",
    "version":"x.x",
    "result":0,
    "bodyDetects":[
        {
            "x":0.123445,
            "y":0.53445,
            "width":0.5,
            "height":0.65,
            "confidence":0.83
        }
    ]
}
インターフェース名称 Version 種別
Hand Detect API Post 2.0.0 同期I/F

概要

画像をマルチパートでリクエスト送信しデバイスと通信を行い手検出処理を行って検出結果を返す。

リクエスト

HTTPメソッド URI
POST /gotapi/humandetect/detection/hand
論理名 物理名 データ型 省略 設定値
サービスID serviceId string - 取得対象デバイス
マイムタイプ mimeType string 検出対象画像のMimeType
ファイルのbinary data multipart - 検出対象画像をマルチパートで指定する
検出しきい値 threshold number 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
検出最小サイズ(w) minWidth number minHeight < maxHeightとすること、省略時はデバイス初期値。
設定できる値の範囲:0.0~1.0
検出最小サイズ(h) minHeight number minHeight < maxHeightとすること、省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
検出最大サイズ(w) maxWidth number minWidth < maxWidthとすること、省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
検出最大サイズ(h) maxHeight number minHeight < maxHeightとすること、省略時はデバイス初期値。
設定できる値の範囲:0.0~1.0
利用するオプション機能 options array - 利用するオプション機能を指定する。複数指定可能。省略時は指定なし。
※使用できるオプションは無し。

レスポンス

Content-Type 形式 HTTPステータス
application/json JSON 200
論理名 物理名 データ型 省略 設定値
処理結果 result number - 0:正常応答
0以外:異常応答
手検出結果 handDetects array - 検出された数分出現する。
手検出領域中心座標(x) x number - 検出領域の中心X座標。
0.0~1.0
手検出領域中心座標(y) y number - 検出領域の中心Y座標。
0.0~1.0
手検出領域幅(w) width number 検出領域のX方向の幅。
※領域幅が提供できない場合は 出現しない。
0.0~1.0
手検出領域幅(h) height number 検出領域のY方向の幅
※領域幅が提供できない場合は出現しない。
0.0~1.0
信頼度 confidence number - 解析の信頼度。
0.0~1.0

リクエストサンプル

POST http://localhost:4035/gotapi/humandetect/detection/hand
Multipartデータ
Content-Type: multipart/form-data;boundary=----WebKitFormBoundaryp7MA4YWxkTrZu0gW
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="accessToken"

xxxxx
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="serviceId"

localhost.deviceconnect.org
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="mimeType"

image/png
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="data"; filename="IMG_201xxxxx.png"
Content-Type: image/png

<binary省略>
----WebKitFormBoundaryE19zNvXGzXaLvS5C
boundaryに指定はない。

レスポンスサンプル

{
    "product":"Device Connect Manager",
    "version":"x.x",
    "result":0,
    "handDetects":[
        {
            "x":0.123445,
            "y":0.53445,
            "width":0.5,
            "height":0.65,
            "confidence":0.83
        }
    ]
}
インターフェース名称 Version 種別
Hand Detect API Post 2.0.0 同期I/F

概要

画像をマルチパートでリクエスト送信しデバイスと通信を行い顔検出処理を行って検出結果を返す。

リクエスト

HTTPメソッド URI
POST /gotapi/humandetect/detection/face
論理名 物理名 データ型 省略 設定値
サービスID serviceId string - 取得対象デバイス
マイムタイプ mimeType string 検出対象画像のMimeType
ファイルのbinary data multipart - 検出対象画像をマルチパートで指定する
検出しきい値 threshold number 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
検出最小サイズ(w) minWidth number minHeight < maxHeightとすること、省略時はデバイス初期値。
設定できる値の範囲:0.0~1.0
検出最小サイズ(h) minHeight number minHeight < maxHeightとすること、省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
検出最大サイズ(w) maxWidth number minWidth < maxWidthとすること、省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
検出最大サイズ(h) maxHeight number minHeight < maxHeightとすること、省略時はデバイス初期値。
設定できる値の範囲:0.0~1.0
利用するオプション機能 options array - 利用するオプション機能を指定する。複数指定可能。省略時は指定なし。
※使用できるオプションは無し。
目の座標検出しきい値 eyeThreshold number - 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
鼻の座標検出しきい値 noseThreshold number - 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
口の座標検出しきい値 mouthThreshold number - 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
目つむり検出しきい値 blinkThreshold number - 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
年齢推定しきい値 ageThreshold number - 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
性別推定しきい値 genderThreshold number - 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
顔向き推定しきい値 faceDirectionThreshold number - 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
視線推定しきい値 gazeThreshold number - 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
表情推定しきい値 expressionThreshold number - 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0

レスポンス

Content-Type 形式 HTTPステータス
application/json JSON 200
<td><b>論理名</b></td>
<td colspan="3" text-align="center"><b>物理名</b></td>
<td><b>データ型</b></td>
<td><b>省略</b></td>
<td><b>設定値</b></td>
<td>顔検出結果</td>
<td colspan="3" text-align="center">faceDetects</td>
<td>array</td>
<td>-</td>
<td>検出された数分出現する</td>
<td >目の座標推定結果</td>
<td rowspan="50"></td>
<td colspan="2">eyePoints</td>
<td>object</td>
<td>○</td>
<td>結果を受信し、しきい値以上のスコアが出た

ときに出現する

<td>左目の中心座標(x)</td>
<td rowspan="9"></td>
<td >leftEyeX</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>左目の中心座標(y)</td>
<td >leftEyeY</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>左目の領域幅(w)</td>
<td >leftEyeWidth</td>
<td>number</td>
<td>○</td>
<td>検出領域のX方向の幅<br>※領域幅が提供できない場合は出現しない<br>0.0~1.0</td>
<td>左目の領域幅(h)</td>
<td >leftEyeHeight</td>
<td>number</td>
<td>○</td>
<td>検出領域のY方向の幅<br>※領域幅が提供できない場合は出現しない。<br>0.0~1.0</td>
<td>右目の中心座標(x)</td>
<td >rightEyeX</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>右目の中心座標(y)</td>
<td >rightEyeY</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>右目の領域幅(w)</td>
<td >rightEyeWidth</td>
<td>number</td>
<td>○</td>
<td>検出領域のX方向の幅<br>※領域幅が提供できない場合は出現しない<br>0.0~1.0</td>
<td>右目の領域幅(h)</td>
<td >rightEyeHeight</td>
<td>number</td>
<td>○</td>
<td>検出領域のY方向の幅<br>※領域幅が提供できない場合は出現しない。<br>0.0~1.0</td>
<td>信頼度</td>
<td >confidence</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td >鼻の座標推定結果</td>
<td colspan="2">nosePoints</td>
<td>object</td>
<td>○</td>
<td>結果を受信し、しきい値以上のスコアが出たときに出現する。</td>
<td>鼻の中心座標(x)</td>
<td rowspan="5"></td>
<td >noseX</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>鼻の中心座標(y)</td>
<td >noseY</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>鼻の領域幅(w)</td>
<td >noseWidth</td>
<td>number</td>
<td>○</td>
<td>検出領域のX方向の幅<br>※領域幅が提供できない場合は出現しない。<br>0.0~1.0</td>
<td>鼻の領域幅(h)</td>
<td >noseHeight</td>
<td>number</td>
<td>○</td>
<td>検出領域のY方向の幅<br>※領域幅が提供できない場合は出現しない。<br>0.0~1.0</td>
<td>信頼度</td>
<td >confidence</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td >口の座標推定結果</td>
<td colspan="2">mouthPoints</td>
<td>object</td>
<td>○</td>
<td>結果を受信し、しきい値以上のスコアが出たときに出現する。</td>
<td>口の座標(x)</td>
<td rowspan="5"></td>
<td >mouthX</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>口の座標(y)</td>
<td >mouthY</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>口の領域幅(w)</td>
<td >mouthWidth</td>
<td>number</td>
<td>○</td>
<td>検出領域のX方向の幅<br>※領域幅が提供できない場合は出現しない<br>0.0~1.0</td>
<td>口の領域幅(h)</td>
<td >mouthHeight</td>
<td>number</td>
<td>○</td>
<td>検出領域のY方向の幅<br>※領域幅が提供できない場合は出現しない。<br>0.0~1.0</td>
<td>信頼度</td>
<td >confidence</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td >目つむり推定結果</td>
<td colspan="2">blinkResults</td>
<td>object</td>
<td>○</td>
<td>結果を受信し、しきい値以上のスコアが出たときに出現する。</td>
<td>目つむり度合(左)</td>
<td rowspan="3"></td>
<td >leftEye</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>目つむり度合(右)</td>
<td >rightEye</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>信頼度</td>
<td >confidence</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td >年齢推定結果</td>
<td colspan="2">ageResults</td>
<td>object</td>
<td>○</td>
<td>結果を受信し、しきい値以上のスコアが出たときに出現する。</td>
<td>年齢</td>
<td rowspan="2"></td>
<td >age</td>
<td>number</td>
<td>○</td>
<td>年齢</td>
<td>信頼度</td>
<td >confidence</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>性別</td>
<td rowspan="2"></td>
<td >gender</td>
<td>string</td>
<td>○</td>
<td>“male”:男性<br>“female”:女性</td>
<td>信頼度</td>
<td >confidence</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>左右方向角度</td>
<td rowspan="4"></td>
<td >yaw</td>
<td>number</td>
<td>○</td>
<td>-180~180[degree]</td>
<td>上下方向角度</td>
<td >pitch</td>
<td>number</td>
<td>○</td>
<td>-180~180[degree]</td>
<td>顔傾き角度</td>
<td >roll</td>
<td>number</td>
<td>○</td>
<td>-180~180[degree]</td>
<td>信頼度</td>
<td >confidence</td>
<td>number</td>
<td>-</td>
<td>0.0~1.0</td>
<td >視線推定結果</td>
<td colspan="2">gazeResults</td>
<td>object</td>
<td>○</td>
<td>結果を受信し、しきい値以上のスコアが出たときに出現する。</td>
<td>左右角度</td>
<td rowspan="3"></td>
<td >gazeLR</td>
<td>number</td>
<td>○</td>
<td>-90~90[degree]</td>
<td>上下角度</td>
<td >gateUD</td>
<td>number</td>
<td>○</td>
<td>-90~90[degree]</td>
<td>信頼度</td>
<td >confidence</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td >表情推定</td>
<td colspan="2">expressionResults</td>
<td>object</td>
<td>○</td>
<td>結果を受信し、しきい値以上のスコアが出たときに出現する。</td>
<td>スコアの表情</td>
<td rowspan="2"></td>
<td >expression</td>
<td>number</td>
<td>○</td>
<td>"unknown":無表情<br>"smile":笑 い/喜び<br>"surprise":驚 き<br>"mad":怒り<br>"sad":悲しみ</td>
<td>信頼度</td>
<td >confidence</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
処理結果 result number - 0:正常応答
0以外:異常応答
性別推定結果 genderResults object 結果を受信し、しきい値以上のスコアが出たときに出現する。
顔向き推定結果 faceDirectionResults object 結果を受信し、しきい値以上のスコアが出たときに出現する。

リクエストサンプル

POST http://localhost:4035/gotapi/humandetect/detection/face
Multipartデータ
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryp7MA4YWxkTrZu0gW
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="accessToken"

xxxxx
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="serviceId"

localhost.deviceconnect.org
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="mimeType"

image/png
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="data"; filename="IMG_201xxxxx.png"
Content-Type: image/png

<binary省略>
----WebKitFormBoundaryE19zNvXGzXaLvS5C
boundaryに指定はない。

レスポンスサンプル

{
    "product":"Device Connect Manager",
    "version":"x.x",
    "result":0,
	“faceDetects”: {
		 “ageResults”:{
			“age”:”35”,
			“confidence”:”0.82”
		 },
		“genderResults”:{
			“gender”:”male”,
 			“confidence”:”0.75”
		 },
		 “expressionResults”:{
				“expression”:”surprise”,
				“confidence”:”0.69”
		 }
		}
    ]
}
インターフェース名称 Version 種別
Body Detect EVENT API 2.0.0 非同期I/F(イベントI/F)

概要

デバイスが人体検出したときにイベントを返す。 イベントを登録する時に、閾値などの値をリクエストパラメータと共に設定することができる。

リクエスト

HTTPメソッド URI
PUT /gotapi/humandetect/onbodydetection
論理名 物理名 データ型 省略 設定値
サービスID serviceId string - 取得対象デバイス
セッションID sessionKey string - イベントセッションID
検出しきい値 threshold number 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
検出最小サイズ(w) minWidth number minHeight < maxHeightとすること、省略時はデバイス初期値。
設定できる値の範囲:0.0~1.0
検出最小サイズ(h) minHeight number minHeight < maxHeightとすること、省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
検出最大サイズ(w) maxWidth number minWidth < maxWidthとすること、省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
検出最大サイズ(h) maxHeight number minHeight < maxHeightとすること、省略時はデバイス初期値。
設定できる値の範囲:0.0~1.0
利用するオプション機能 options array - 利用するオプション機能を指定する。複数指定可能。省略時は指定なし。
※使用できるオプションは無し。

メッセージ

イベント名 Content-Type
onbodydetection application/json
論理名 物理名 データ型 省略 設定値
人体検出結果 bodyDetects array - 検出された数分出現する。
人体検出領域中心座標(x) x number - 検出領域の中心X座標。
0.0~1.0
人体検出領域中心座標(y) y number - 検出領域の中心Y座標。
0.0~1.0
人体検出領域幅(w) width number 検出領域のX方向の幅。
※領域幅が提供できない場合は 出現しない。
0.0~1.0
人体検出領域幅(h) height number 検出領域のY方向の幅
※領域幅が提供できない場合は出現しない。
0.0~1.0
信頼度 confidence number - 解析の信頼度。
0.0~1.0

リクエストサンプル

PUT http://localhost:4035/gotapi/humandetect/onbodydetection
PUTデータ
serviceId=localhost.deviceconnect.org&sessionKey=0a93ac0aade4e046ed63eb24d1172f5f35c88ca60daa901547c28d5827cb418a5de1d7c5f9e62405&accessToken=xxxxx&threshold=0.7& maxWidth=0.8&maxHeight=0.8

メッセージサンプル

{
    "product":"Device Connect Manager",
    "version":"x.x",
    "serviceId":  "device1.localhost.deviceconnect.org",
	"api" : "gotapi",    
    "profile" : "humandetect",
    "attribute" : "onbodydetection",
    "sessionKey" : "0a93ac0aade4e046ed63eb24d1172f5f35c88ca60daa901547c28d5827cb418a5de1d7c5f9e62405",
    "bodyDetects":[
        {
            "x":0.123445,
            "y":0.53445,
            "width":0.5,
            "height":0.65,
            "confidence":0.83
        }
    ]
}
インターフェース名称 Version 種別
Hand Detect EVENT API 2.0.0 同期I/F

概要

デバイスが手検出したときにイベントを返す。 イベントを登録する時に、閾値などの値をリクエストパラメータと共に設定することができる。

リクエスト

HTTPメソッド URI
PUT /gotapi/humandetect/onhanddetection
論理名 物理名 データ型 省略 設定値
サービスID serviceId string - 取得対象デバイス
セッションID sessionKey string - イベントセッションID
検出しきい値 threshold number 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
検出最小サイズ(w) minWidth number minHeight < maxHeightとすること、省略時はデバイス初期値。
設定できる値の範囲:0.0~1.0
検出最小サイズ(h) minHeight number minHeight < maxHeightとすること、省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
検出最大サイズ(w) maxWidth number minWidth < maxWidthとすること、省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
検出最大サイズ(h) maxHeight number minHeight < maxHeightとすること、省略時はデバイス初期値。
設定できる値の範囲:0.0~1.0
利用するオプション機能 options array - 利用するオプション機能を指定する。複数指定可能。省略時は指定なし。
※使用できるオプションは無し。

メッセージ

イベント名 Content-Type
onhanddetection application/json
論理名 物理名 データ型 省略 設定値
手検出結果 handDetects array - 検出された数分出現する。
手検出領域中心座標(x) x number - 検出領域の中心X座標。
0.0~1.0
手検出領域中心座標(y) y number - 検出領域の中心Y座標。
0.0~1.0
手検出領域幅(w) width number 検出領域のX方向の幅。
※領域幅が提供できない場合は 出現しない。
0.0~1.0
手検出領域幅(h) height number 検出領域のY方向の幅
※領域幅が提供できない場合は出現しない。
0.0~1.0
信頼度 confidence number - 解析の信頼度。
0.0~1.0

リクエストサンプル

PUT http://localhost:4035/gotapi/humandetect/onhanddetection
PUTデータ
serviceId=localhost.deviceconnect.org&sessionKey=0a93ac0aade4e046ed63eb24d1172f5f35c88ca60daa901547c28d5827cb418a5de1d7c5f9e62405&accessToken=xxxxx& maxWidth=0.8&maxHeight=0.8

メッセージサンプル

{
    "product":"Device Connect Manager",
    "version":"x.x",
    "serviceId":  "device1.localhost.deviceconnect.org",
	"api" : "gotapi",    
    "profile" : "humandetect",
    "attribute" : "onhanddetection",
    "sessionKey" : "0a93ac0aade4e046ed63eb24d1172f5f35c88ca60daa901547c28d5827cb418a5de1d7c5f9e62405",
    "faceDetects":[
        {
            "x":0.123445,
            "y":0.53445,
            "width":0.5,
            "height":0.65,
            "confidence":0.83
        }
    ]
}
インターフェース名称 Version 種別
Face Detect Event API 2.0.0 同期I/F

概要

デバイスが顔検出したときにイベントを返す。 イベントを登録する時に、閾値などの値をリクエストパラメータと共に設定することができる。

リクエスト

HTTPメソッド URI
put /gotapi/humandetect/onfacedetection
論理名 物理名 データ型 省略 設定値
サービスID serviceId string - 取得対象デバイス
セッションID sessionKey string - イベントセッションID
検出しきい値 threshold number 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
検出最小サイズ(w) minWidth number minHeight < maxHeightとすること、省略時はデバイス初期値。
設定できる値の範囲:0.0~1.0
検出最小サイズ(h) minHeight number minHeight < maxHeightとすること、省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
検出最大サイズ(w) maxWidth number minWidth < maxWidthとすること、省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
検出最大サイズ(h) maxHeight number minHeight < maxHeightとすること、省略時はデバイス初期値。
設定できる値の範囲:0.0~1.0
利用するオプション機能 options array - 利用するオプション機能を指定する。複数指定可能。省略時は指定なし。
※使用できるオプションは無し。
目の座標検出しきい値 eyeThreshold number - 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
鼻の座標検出しきい値 noseThreshold number - 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
口の座標検出しきい値 mouthThreshold number - 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
目つむり検出しきい値 blinkThreshold number - 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
年齢推定しきい値 ageThreshold number - 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
性別推定しきい値 genderThreshold number - 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
顔向き推定しきい値 faceDirectionThreshold number - 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
視線推定しきい値 gazeThreshold number - 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0
表情推定しきい値 expressionThreshold number - 省略時はデバイス初期値
設定できる値の範囲:0.0~1.0

メッセージ

イベント名 Content-Type
onfacedetection application/json
<td><b>論理名</b></td>
<td colspan="3" text-align="center"><b>物理名</b></td>
<td><b>データ型</b></td>
<td><b>省略</b></td>
<td><b>設定値</b></td>
<td>顔検出結果</td>
<td colspan="3" text-align="center">faceDetects</td>
<td>array</td>
<td>-</td>
<td>検出された数分出現する</td>
<td >目の座標推定結果</td>
<td rowspan="50"></td>
<td colspan="2">eyePoints</td>
<td>object</td>
<td>○</td>
<td>結果を受信し、しきい値以上のスコアが出た

ときに出現する

<td>左目の中心座標(x)</td>
<td rowspan="9"></td>
<td >leftEyeX</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>左目の中心座標(y)</td>
<td >leftEyeY</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>左目の領域幅(w)</td>
<td >leftEyeWidth</td>
<td>number</td>
<td>○</td>
<td>検出領域のX方向の幅<br>※領域幅が提供できない場合は出現しない<br>0.0~1.0</td>
<td>左目の領域幅(h)</td>
<td >leftEyeHeight</td>
<td>number</td>
<td>○</td>
<td>検出領域のY方向の幅<br>※領域幅が提供できない場合は出現しない。<br>0.0~1.0</td>
<td>右目の中心座標(x)</td>
<td >rightEyeX</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>右目の中心座標(y)</td>
<td >rightEyeY</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>右目の領域幅(w)</td>
<td >rightEyeWidth</td>
<td>number</td>
<td>○</td>
<td>検出領域のX方向の幅<br>※領域幅が提供できない場合は出現しない<br>0.0~1.0</td>
<td>右目の領域幅(h)</td>
<td >rightEyeHeight</td>
<td>number</td>
<td>○</td>
<td>検出領域のY方向の幅<br>※領域幅が提供できない場合は出現しない。<br>0.0~1.0</td>
<td>信頼度</td>
<td >confidence</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td >鼻の座標推定結果</td>
<td colspan="2">nosePoints</td>
<td>object</td>
<td>○</td>
<td>結果を受信し、しきい値以上のスコアが出たときに出現する。</td>
<td>鼻の中心座標(x)</td>
<td rowspan="5"></td>
<td >noseX</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>鼻の中心座標(y)</td>
<td >noseY</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>鼻の領域幅(w)</td>
<td >noseWidth</td>
<td>number</td>
<td>○</td>
<td>検出領域のX方向の幅<br>※領域幅が提供できない場合は出現しない。<br>0.0~1.0</td>
<td>鼻の領域幅(h)</td>
<td >noseHeight</td>
<td>number</td>
<td>○</td>
<td>検出領域のY方向の幅<br>※領域幅が提供できない場合は出現しない。<br>0.0~1.0</td>
<td>信頼度</td>
<td >confidence</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td >口の座標推定結果</td>
<td colspan="2">mouthPoints</td>
<td>object</td>
<td>○</td>
<td>結果を受信し、しきい値以上のスコアが出たときに出現する。</td>
<td>口の座標(x)</td>
<td rowspan="5"></td>
<td >mouthX</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>口の座標(y)</td>
<td >mouthY</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td >目つむり推定結果</td>
<td colspan="2">blinkResults</td>
<td>object</td>
<td>○</td>
<td>結果を受信し、しきい値以上のスコアが出たときに出現する。</td>
<td>目つむり度合(左)</td>
<td rowspan="3"></td>
<td >leftEye</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>目つむり度合(右)</td>
<td >rightEye</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>信頼度</td>
<td >confidence</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td >年齢推定結果</td>
<td colspan="2">ageResults</td>
<td>object</td>
<td>○</td>
<td>結果を受信し、しきい値以上のスコアが出たときに出現する。</td>
<td>年齢</td>
<td rowspan="2"></td>
<td >age</td>
<td>number</td>
<td>○</td>
<td>年齢</td>
<td>信頼度</td>
<td >confidence</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>性別</td>
<td rowspan="2"></td>
<td >gender</td>
<td>string</td>
<td>○</td>
<td>“male”:男性<br>“female”:女性</td>
<td>信頼度</td>
<td >confidence</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td>左右方向角度</td>
<td rowspan="4"></td>
<td >yaw</td>
<td>number</td>
<td>○</td>
<td>-180~180[degree]</td>
<td>上下方向角度</td>
<td >pitch</td>
<td>number</td>
<td>○</td>
<td>-180~180[degree]</td>
<td>顔傾き角度</td>
<td >roll</td>
<td>number</td>
<td>○</td>
<td>-180~180[degree]</td>
<td>信頼度</td>
<td >confidence</td>
<td>number</td>
<td>-</td>
<td>0.0~1.0</td>
<td >視線推定結果</td>
<td colspan="2">gazeResults</td>
<td>object</td>
<td>○</td>
<td>結果を受信し、しきい値以上のスコアが出たときに出現する。</td>
<td>左右角度</td>
<td rowspan="3"></td>
<td >gazeLR</td>
<td>number</td>
<td>○</td>
<td>-90~90[degree]</td>
<td>上下角度</td>
<td >gateUD</td>
<td>number</td>
<td>○</td>
<td>-90~90[degree]</td>
<td>信頼度</td>
<td >confidence</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
<td >表情推定</td>
<td colspan="2">expressionResults</td>
<td>object</td>
<td>○</td>
<td>結果を受信し、しきい値以上のスコアが出たときに出現する。</td>
<td>スコアの表情</td>
<td rowspan="2"></td>
<td >expression</td>
<td>number</td>
<td>○</td>
<td>"unknown":無表情<br>"smile":笑 い/喜び<br>"surprise":驚 き<br>"mad":怒り<br>"sad":悲しみ</td>
<td>信頼度</td>
<td >confidence</td>
<td>number</td>
<td>○</td>
<td>0.0~1.0</td>
口の領域幅(w) mouthWidth number 検出領域のX方向の幅
※領域幅が提供できない場合は出現しない。
0.0~1.0
口の領域幅(h) mouthHeight number - 検出領域のY方向の幅
※領域幅が提供できない場合は出現しない。
0.0~1.0
信頼度 confidence number - 0.0~1.0
性別推定結果 genderResults object 結果を受信し、しきい値以上のスコアが出たときに出現する。
顔向き推定結果 faceDirectionResults object 結果を受信し、しきい値以上のスコアが出たときに出現する。

リクエストサンプル

PUT http://localhost:4035/gotapi/humandetect/onfacedetection
PUTデータ
serviceId=localhost.deviceconnect.org&sessionKey=0a93ac0aade4e046ed63eb24d1172f5f35c88ca60daa901547c28d5827cb418a5de1d7c5f9e62405&accessToken=xxxxx& maxWidth=0.8&maxHeight=0.8

メッセージサンプル

{
    "product":"Device Connect Manager",
    "version":"x.x",
    "serviceId":  "device1.localhost.deviceconnect.org",
	"api" : "gotapi",    
    "profile" : "humandetect",
    "attribute" : "onfacedetection",
    "sessionKey" : "0a93ac0aade4e046ed63eb24d1172f5f35c88ca60daa901547c28d5827cb418a5de1d7c5f9e62405",
	“faceDetects”: {
		 “ageResults”:{
			“age”:”35”,
			“confidence”:”0.82”
		 },
		“genderResults”:{
			“gender”:”male”,
 			“confidence”:”0.75”
		 },
		 “expressionResults”:{
				“expression”:”surprise”,
				“confidence”:”0.69”
		 }
	}
}

Clone this wiki locally