mirror of https://github.com/vladmandic/human
added blazepose-upper
parent
c60f442714
commit
870084a1a9
|
@ -1,6 +1,6 @@
|
||||||
# @vladmandic/human
|
# @vladmandic/human
|
||||||
|
|
||||||
Version: **0.40.0**
|
Version: **0.40.1**
|
||||||
Description: **Human: AI-powered 3D Face Detection, Face Embedding & Recognition, Body Pose Tracking, Hand & Finger Tracking, Iris Analysis, Age & Gender & Emotion Prediction & Gesture Recognition**
|
Description: **Human: AI-powered 3D Face Detection, Face Embedding & Recognition, Body Pose Tracking, Hand & Finger Tracking, Iris Analysis, Age & Gender & Emotion Prediction & Gesture Recognition**
|
||||||
|
|
||||||
Author: **Vladimir Mandic <mandic00@live.com>**
|
Author: **Vladimir Mandic <mandic00@live.com>**
|
||||||
|
@ -9,8 +9,9 @@ Repository: **<git+https://github.com/vladmandic/human.git>**
|
||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
### **HEAD -> main** 2021/03/03 mandic00@live.com
|
### **HEAD -> main** 2021/03/04 mandic00@live.com
|
||||||
|
|
||||||
|
- implement blazepose and update demos
|
||||||
- add todo list
|
- add todo list
|
||||||
|
|
||||||
### **0.30.6** 2021/03/03 mandic00@live.com
|
### **0.30.6** 2021/03/03 mandic00@live.com
|
||||||
|
|
|
@ -168,18 +168,19 @@ config = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
posenet: {
|
body: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
modelPath: '../models/posenet.json',
|
modelPath: '../models/posenet.json', // can be 'posenet', 'blazepose' or 'blazepose-upper'
|
||||||
inputSize: 257, // fixed value
|
inputSize: 257, // fixed value, 257 for posenet and 256 for blazepose
|
||||||
maxDetections: 10, // maximum number of people detected in the input
|
maxDetections: 10, // maximum number of people detected in the input
|
||||||
// should be set to the minimum number for performance
|
// should be set to the minimum number for performance
|
||||||
|
// only valid for posenet as blazepose only detects single pose
|
||||||
scoreThreshold: 0.5, // threshold for deciding when to remove boxes based on score
|
scoreThreshold: 0.5, // threshold for deciding when to remove boxes based on score
|
||||||
// in non-maximum suppression
|
// in non-maximum suppression
|
||||||
|
// only valid for posenet as blazepose only detects single pose
|
||||||
nmsRadius: 20, // radius for deciding points are too close in non-maximum suppression
|
nmsRadius: 20, // radius for deciding points are too close in non-maximum suppression
|
||||||
outputStride: 16, // size of block in which to run point detection, smaller value means higher resolution
|
// only valid for posenet as blazepose only detects single pose
|
||||||
// defined by model itself, can be 8, 16, or 32
|
modelType: 'posenet-mobilenet', // can be 'posenet-mobilenet', 'posenet-resnet', 'blazepose'
|
||||||
modelType: 'MobileNet', // Human includes MobileNet version, but you can switch to ResNet
|
|
||||||
},
|
},
|
||||||
|
|
||||||
hand: {
|
hand: {
|
||||||
|
|
|
@ -30,6 +30,8 @@ Additionally, there are two versions of `BlazeFace`: `back` optimized for detect
|
||||||
- `BlazePose`: Works with single person in frame and that person should be fully visibile
|
- `BlazePose`: Works with single person in frame and that person should be fully visibile
|
||||||
But if conditions are met, it returns far more details (39 vs 17 keypoints) and is far more accurate
|
But if conditions are met, it returns far more details (39 vs 17 keypoints) and is far more accurate
|
||||||
Furthermore, it returns 3D approximation of each point instead of 2D
|
Furthermore, it returns 3D approximation of each point instead of 2D
|
||||||
|
- `BlazePose-Upper`: Works with single person in frame and that person should have upper body in frame
|
||||||
|
Good for use-case such as sitting in front of webcam. It returns 31 keypoints along with 3D approximations
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
|
|
@ -34,8 +34,9 @@ result = {
|
||||||
{
|
{
|
||||||
score, // <number>, overal detection score, only used for 'posenet', not used for 'blazepose'
|
score, // <number>, overal detection score, only used for 'posenet', not used for 'blazepose'
|
||||||
keypoints, // for 'posenet': <array of 2D landmarks [ score, landmark, position [x, y] ]> 17 annotated landmarks
|
keypoints, // for 'posenet': <array of 2D landmarks [ score, landmark, position [x, y] ]> 17 annotated landmarks
|
||||||
// for 'blazepose': <array of 2D landmarks [ score, landmark, position [x, y, z], presence ]> 39 annotated landmarks
|
// for 'blazepose': <array of 2D landmarks [ score, landmark, position [x, y, z], presence ]>
|
||||||
// presence denotes probability value in range 0..1 that the point is located within the frame
|
// 39 annotated landmarks for full or 31 annotated landmarks for upper
|
||||||
|
// presence denotes probability value in range 0..1 that the point is located within the frame
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
hand: // <array of detected objects>
|
hand: // <array of detected objects>
|
||||||
|
|
Loading…
Reference in New Issue