add id and boxraw on missing objects

pull/134/head
Vladimir Mandic 2021-05-22 12:41:29 -04:00
parent 1811e1c621
commit 3da9e1eccf
12 changed files with 42 additions and 25 deletions

View File

@ -9,7 +9,8 @@ import webRTC from './helpers/webrtc.js';
let human; let human;
const userConfig = { const userConfig = {
warmup: 'none', warmup: 'full',
/*
backend: 'webgl', backend: 'webgl',
async: false, async: false,
cacheSensitivity: 0, cacheSensitivity: 0,
@ -29,6 +30,7 @@ const userConfig = {
body: { enabled: true, modelPath: 'posenet.json' }, body: { enabled: true, modelPath: 'posenet.json' },
// body: { enabled: true, modelPath: 'blazepose.json' }, // body: { enabled: true, modelPath: 'blazepose.json' },
object: { enabled: false }, object: { enabled: false },
*/
}; };
// ui options // ui options

View File

@ -4546,7 +4546,8 @@ function getBoundingBox(keypoints) {
function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolutionWidth]) { function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolutionWidth]) {
const scaleY = height / inputResolutionHeight; const scaleY = height / inputResolutionHeight;
const scaleX = width / inputResolutionWidth; const scaleX = width / inputResolutionWidth;
const scalePose = (pose) => ({ const scalePose = (pose, i) => ({
id: i,
score: pose.score, score: pose.score,
bowRaw: [pose.box[0] / inputResolutionWidth, pose.box[1] / inputResolutionHeight, pose.box[2] / inputResolutionWidth, pose.box[3] / inputResolutionHeight], bowRaw: [pose.box[0] / inputResolutionWidth, pose.box[1] / inputResolutionHeight, pose.box[2] / inputResolutionWidth, pose.box[3] / inputResolutionHeight],
box: [Math.trunc(pose.box[0] * scaleX), Math.trunc(pose.box[1] * scaleY), Math.trunc(pose.box[2] * scaleX), Math.trunc(pose.box[3] * scaleY)], box: [Math.trunc(pose.box[0] * scaleX), Math.trunc(pose.box[1] * scaleY), Math.trunc(pose.box[2] * scaleX), Math.trunc(pose.box[3] * scaleY)],
@ -4556,7 +4557,7 @@ function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolu
position: { x: Math.trunc(position.x * scaleX), y: Math.trunc(position.y * scaleY) } position: { x: Math.trunc(position.x * scaleX), y: Math.trunc(position.y * scaleY) }
})) }))
}); });
const scaledPoses = poses2.map((pose) => scalePose(pose)); const scaledPoses = poses2.map((pose, i) => scalePose(pose, i));
return scaledPoses; return scaledPoses;
} }
var MaxHeap = class { var MaxHeap = class {
@ -19988,7 +19989,8 @@ var Human = class {
gesture: gestureRes, gesture: gestureRes,
object: objectRes, object: objectRes,
performance: this.perf, performance: this.perf,
canvas: process5.canvas canvas: process5.canvas,
timestamp: Date.now()
}; };
resolve(res); resolve(res);
}); });

File diff suppressed because one or more lines are too long

8
dist/human.esm.js vendored
View File

@ -62482,7 +62482,8 @@ function getBoundingBox(keypoints) {
function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolutionWidth]) { function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolutionWidth]) {
const scaleY = height / inputResolutionHeight; const scaleY = height / inputResolutionHeight;
const scaleX = width / inputResolutionWidth; const scaleX = width / inputResolutionWidth;
const scalePose = (pose) => ({ const scalePose = (pose, i) => ({
id: i,
score: pose.score, score: pose.score,
bowRaw: [pose.box[0] / inputResolutionWidth, pose.box[1] / inputResolutionHeight, pose.box[2] / inputResolutionWidth, pose.box[3] / inputResolutionHeight], bowRaw: [pose.box[0] / inputResolutionWidth, pose.box[1] / inputResolutionHeight, pose.box[2] / inputResolutionWidth, pose.box[3] / inputResolutionHeight],
box: [Math.trunc(pose.box[0] * scaleX), Math.trunc(pose.box[1] * scaleY), Math.trunc(pose.box[2] * scaleX), Math.trunc(pose.box[3] * scaleY)], box: [Math.trunc(pose.box[0] * scaleX), Math.trunc(pose.box[1] * scaleY), Math.trunc(pose.box[2] * scaleX), Math.trunc(pose.box[3] * scaleY)],
@ -62492,7 +62493,7 @@ function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolu
position: { x: Math.trunc(position.x * scaleX), y: Math.trunc(position.y * scaleY) } position: { x: Math.trunc(position.x * scaleX), y: Math.trunc(position.y * scaleY) }
})) }))
}); });
const scaledPoses = poses2.map((pose) => scalePose(pose)); const scaledPoses = poses2.map((pose, i) => scalePose(pose, i));
return scaledPoses; return scaledPoses;
} }
var MaxHeap = class { var MaxHeap = class {
@ -77924,7 +77925,8 @@ var Human = class {
gesture: gestureRes, gesture: gestureRes,
object: objectRes, object: objectRes,
performance: this.perf, performance: this.perf,
canvas: process5.canvas canvas: process5.canvas,
timestamp: Date.now()
}; };
resolve(res); resolve(res);
}); });

File diff suppressed because one or more lines are too long

8
dist/human.js vendored
View File

@ -62490,7 +62490,8 @@ return a / b;`;
function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolutionWidth]) { function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolutionWidth]) {
const scaleY = height / inputResolutionHeight; const scaleY = height / inputResolutionHeight;
const scaleX = width / inputResolutionWidth; const scaleX = width / inputResolutionWidth;
const scalePose = (pose) => ({ const scalePose = (pose, i) => ({
id: i,
score: pose.score, score: pose.score,
bowRaw: [pose.box[0] / inputResolutionWidth, pose.box[1] / inputResolutionHeight, pose.box[2] / inputResolutionWidth, pose.box[3] / inputResolutionHeight], bowRaw: [pose.box[0] / inputResolutionWidth, pose.box[1] / inputResolutionHeight, pose.box[2] / inputResolutionWidth, pose.box[3] / inputResolutionHeight],
box: [Math.trunc(pose.box[0] * scaleX), Math.trunc(pose.box[1] * scaleY), Math.trunc(pose.box[2] * scaleX), Math.trunc(pose.box[3] * scaleY)], box: [Math.trunc(pose.box[0] * scaleX), Math.trunc(pose.box[1] * scaleY), Math.trunc(pose.box[2] * scaleX), Math.trunc(pose.box[3] * scaleY)],
@ -62500,7 +62501,7 @@ return a / b;`;
position: { x: Math.trunc(position.x * scaleX), y: Math.trunc(position.y * scaleY) } position: { x: Math.trunc(position.x * scaleX), y: Math.trunc(position.y * scaleY) }
})) }))
}); });
const scaledPoses = poses2.map((pose) => scalePose(pose)); const scaledPoses = poses2.map((pose, i) => scalePose(pose, i));
return scaledPoses; return scaledPoses;
} }
var MaxHeap = class { var MaxHeap = class {
@ -77932,7 +77933,8 @@ lBhEMohlFerLlBjEMohMVTEARDKCITsAk2AEgAAAkAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAD/
gesture: gestureRes, gesture: gestureRes,
object: objectRes, object: objectRes,
performance: this.perf, performance: this.perf,
canvas: process5.canvas canvas: process5.canvas,
timestamp: Date.now()
}; };
resolve(res); resolve(res);
}); });

View File

@ -4565,7 +4565,8 @@ function getBoundingBox(keypoints) {
function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolutionWidth]) { function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolutionWidth]) {
const scaleY = height / inputResolutionHeight; const scaleY = height / inputResolutionHeight;
const scaleX = width / inputResolutionWidth; const scaleX = width / inputResolutionWidth;
const scalePose = (pose) => ({ const scalePose = (pose, i) => ({
id: i,
score: pose.score, score: pose.score,
bowRaw: [pose.box[0] / inputResolutionWidth, pose.box[1] / inputResolutionHeight, pose.box[2] / inputResolutionWidth, pose.box[3] / inputResolutionHeight], bowRaw: [pose.box[0] / inputResolutionWidth, pose.box[1] / inputResolutionHeight, pose.box[2] / inputResolutionWidth, pose.box[3] / inputResolutionHeight],
box: [Math.trunc(pose.box[0] * scaleX), Math.trunc(pose.box[1] * scaleY), Math.trunc(pose.box[2] * scaleX), Math.trunc(pose.box[3] * scaleY)], box: [Math.trunc(pose.box[0] * scaleX), Math.trunc(pose.box[1] * scaleY), Math.trunc(pose.box[2] * scaleX), Math.trunc(pose.box[3] * scaleY)],
@ -4575,7 +4576,7 @@ function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolu
position: { x: Math.trunc(position.x * scaleX), y: Math.trunc(position.y * scaleY) } position: { x: Math.trunc(position.x * scaleX), y: Math.trunc(position.y * scaleY) }
})) }))
}); });
const scaledPoses = poses2.map((pose) => scalePose(pose)); const scaledPoses = poses2.map((pose, i) => scalePose(pose, i));
return scaledPoses; return scaledPoses;
} }
var MaxHeap = class { var MaxHeap = class {
@ -20021,7 +20022,8 @@ var Human = class {
gesture: gestureRes, gesture: gestureRes,
object: objectRes, object: objectRes,
performance: this.perf, performance: this.perf,
canvas: process5.canvas canvas: process5.canvas,
timestamp: Date.now()
}; };
resolve(res); resolve(res);
}); });

View File

@ -4566,7 +4566,8 @@ function getBoundingBox(keypoints) {
function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolutionWidth]) { function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolutionWidth]) {
const scaleY = height / inputResolutionHeight; const scaleY = height / inputResolutionHeight;
const scaleX = width / inputResolutionWidth; const scaleX = width / inputResolutionWidth;
const scalePose = (pose) => ({ const scalePose = (pose, i) => ({
id: i,
score: pose.score, score: pose.score,
bowRaw: [pose.box[0] / inputResolutionWidth, pose.box[1] / inputResolutionHeight, pose.box[2] / inputResolutionWidth, pose.box[3] / inputResolutionHeight], bowRaw: [pose.box[0] / inputResolutionWidth, pose.box[1] / inputResolutionHeight, pose.box[2] / inputResolutionWidth, pose.box[3] / inputResolutionHeight],
box: [Math.trunc(pose.box[0] * scaleX), Math.trunc(pose.box[1] * scaleY), Math.trunc(pose.box[2] * scaleX), Math.trunc(pose.box[3] * scaleY)], box: [Math.trunc(pose.box[0] * scaleX), Math.trunc(pose.box[1] * scaleY), Math.trunc(pose.box[2] * scaleX), Math.trunc(pose.box[3] * scaleY)],
@ -4576,7 +4577,7 @@ function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolu
position: { x: Math.trunc(position.x * scaleX), y: Math.trunc(position.y * scaleY) } position: { x: Math.trunc(position.x * scaleX), y: Math.trunc(position.y * scaleY) }
})) }))
}); });
const scaledPoses = poses2.map((pose) => scalePose(pose)); const scaledPoses = poses2.map((pose, i) => scalePose(pose, i));
return scaledPoses; return scaledPoses;
} }
var MaxHeap = class { var MaxHeap = class {
@ -20022,7 +20023,8 @@ var Human = class {
gesture: gestureRes, gesture: gestureRes,
object: objectRes, object: objectRes,
performance: this.perf, performance: this.perf,
canvas: process5.canvas canvas: process5.canvas,
timestamp: Date.now()
}; };
resolve(res); resolve(res);
}); });

8
dist/human.node.js vendored
View File

@ -4565,7 +4565,8 @@ function getBoundingBox(keypoints) {
function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolutionWidth]) { function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolutionWidth]) {
const scaleY = height / inputResolutionHeight; const scaleY = height / inputResolutionHeight;
const scaleX = width / inputResolutionWidth; const scaleX = width / inputResolutionWidth;
const scalePose = (pose) => ({ const scalePose = (pose, i) => ({
id: i,
score: pose.score, score: pose.score,
bowRaw: [pose.box[0] / inputResolutionWidth, pose.box[1] / inputResolutionHeight, pose.box[2] / inputResolutionWidth, pose.box[3] / inputResolutionHeight], bowRaw: [pose.box[0] / inputResolutionWidth, pose.box[1] / inputResolutionHeight, pose.box[2] / inputResolutionWidth, pose.box[3] / inputResolutionHeight],
box: [Math.trunc(pose.box[0] * scaleX), Math.trunc(pose.box[1] * scaleY), Math.trunc(pose.box[2] * scaleX), Math.trunc(pose.box[3] * scaleY)], box: [Math.trunc(pose.box[0] * scaleX), Math.trunc(pose.box[1] * scaleY), Math.trunc(pose.box[2] * scaleX), Math.trunc(pose.box[3] * scaleY)],
@ -4575,7 +4576,7 @@ function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolu
position: { x: Math.trunc(position.x * scaleX), y: Math.trunc(position.y * scaleY) } position: { x: Math.trunc(position.x * scaleX), y: Math.trunc(position.y * scaleY) }
})) }))
}); });
const scaledPoses = poses2.map((pose) => scalePose(pose)); const scaledPoses = poses2.map((pose, i) => scalePose(pose, i));
return scaledPoses; return scaledPoses;
} }
var MaxHeap = class { var MaxHeap = class {
@ -20021,7 +20022,8 @@ var Human = class {
gesture: gestureRes, gesture: gestureRes,
object: objectRes, object: objectRes,
performance: this.perf, performance: this.perf,
canvas: process5.canvas canvas: process5.canvas,
timestamp: Date.now()
}; };
resolve(res); resolve(res);
}); });

View File

@ -538,6 +538,7 @@ export class Human {
object: objectRes, object: objectRes,
performance: this.perf, performance: this.perf,
canvas: process.canvas, canvas: process.canvas,
timestamp: Date.now(),
}; };
// log('Result:', result); // log('Result:', result);
resolve(res); resolve(res);

View File

@ -32,7 +32,8 @@ export function getBoundingBox(keypoints) {
export function scalePoses(poses, [height, width], [inputResolutionHeight, inputResolutionWidth]) { export function scalePoses(poses, [height, width], [inputResolutionHeight, inputResolutionWidth]) {
const scaleY = height / inputResolutionHeight; const scaleY = height / inputResolutionHeight;
const scaleX = width / inputResolutionWidth; const scaleX = width / inputResolutionWidth;
const scalePose = (pose) => ({ const scalePose = (pose, i) => ({
id: i,
score: pose.score, score: pose.score,
bowRaw: [pose.box[0] / inputResolutionWidth, pose.box[1] / inputResolutionHeight, pose.box[2] / inputResolutionWidth, pose.box[3] / inputResolutionHeight], bowRaw: [pose.box[0] / inputResolutionWidth, pose.box[1] / inputResolutionHeight, pose.box[2] / inputResolutionWidth, pose.box[3] / inputResolutionHeight],
box: [Math.trunc(pose.box[0] * scaleX), Math.trunc(pose.box[1] * scaleY), Math.trunc(pose.box[2] * scaleX), Math.trunc(pose.box[3] * scaleY)], box: [Math.trunc(pose.box[0] * scaleX), Math.trunc(pose.box[1] * scaleY), Math.trunc(pose.box[2] * scaleX), Math.trunc(pose.box[3] * scaleY)],
@ -42,7 +43,7 @@ export function scalePoses(poses, [height, width], [inputResolutionHeight, input
position: { x: Math.trunc(position.x * scaleX), y: Math.trunc(position.y * scaleY) }, position: { x: Math.trunc(position.x * scaleX), y: Math.trunc(position.y * scaleY) },
})), })),
}); });
const scaledPoses = poses.map((pose) => scalePose(pose)); const scaledPoses = poses.map((pose, i) => scalePose(pose, i));
return scaledPoses; return scaledPoses;
} }

View File

@ -150,4 +150,5 @@ export interface Result {
object: Array<Item> object: Array<Item>
performance: { any }, performance: { any },
canvas: OffscreenCanvas | HTMLCanvasElement, canvas: OffscreenCanvas | HTMLCanvasElement,
timestamp: number,
} }