mirror of https://github.com/vladmandic/human
add id and boxraw on missing objects
parent
1811e1c621
commit
3da9e1eccf
|
@ -9,7 +9,8 @@ import webRTC from './helpers/webrtc.js';
|
|||
let human;
|
||||
|
||||
const userConfig = {
|
||||
warmup: 'none',
|
||||
warmup: 'full',
|
||||
/*
|
||||
backend: 'webgl',
|
||||
async: false,
|
||||
cacheSensitivity: 0,
|
||||
|
@ -29,6 +30,7 @@ const userConfig = {
|
|||
body: { enabled: true, modelPath: 'posenet.json' },
|
||||
// body: { enabled: true, modelPath: 'blazepose.json' },
|
||||
object: { enabled: false },
|
||||
*/
|
||||
};
|
||||
|
||||
// ui options
|
||||
|
|
|
@ -4546,7 +4546,8 @@ function getBoundingBox(keypoints) {
|
|||
function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolutionWidth]) {
|
||||
const scaleY = height / inputResolutionHeight;
|
||||
const scaleX = width / inputResolutionWidth;
|
||||
const scalePose = (pose) => ({
|
||||
const scalePose = (pose, i) => ({
|
||||
id: i,
|
||||
score: pose.score,
|
||||
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)],
|
||||
|
@ -4556,7 +4557,7 @@ function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolu
|
|||
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;
|
||||
}
|
||||
var MaxHeap = class {
|
||||
|
@ -19988,7 +19989,8 @@ var Human = class {
|
|||
gesture: gestureRes,
|
||||
object: objectRes,
|
||||
performance: this.perf,
|
||||
canvas: process5.canvas
|
||||
canvas: process5.canvas,
|
||||
timestamp: Date.now()
|
||||
};
|
||||
resolve(res);
|
||||
});
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -62482,7 +62482,8 @@ function getBoundingBox(keypoints) {
|
|||
function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolutionWidth]) {
|
||||
const scaleY = height / inputResolutionHeight;
|
||||
const scaleX = width / inputResolutionWidth;
|
||||
const scalePose = (pose) => ({
|
||||
const scalePose = (pose, i) => ({
|
||||
id: i,
|
||||
score: pose.score,
|
||||
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)],
|
||||
|
@ -62492,7 +62493,7 @@ function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolu
|
|||
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;
|
||||
}
|
||||
var MaxHeap = class {
|
||||
|
@ -77924,7 +77925,8 @@ var Human = class {
|
|||
gesture: gestureRes,
|
||||
object: objectRes,
|
||||
performance: this.perf,
|
||||
canvas: process5.canvas
|
||||
canvas: process5.canvas,
|
||||
timestamp: Date.now()
|
||||
};
|
||||
resolve(res);
|
||||
});
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -62490,7 +62490,8 @@ return a / b;`;
|
|||
function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolutionWidth]) {
|
||||
const scaleY = height / inputResolutionHeight;
|
||||
const scaleX = width / inputResolutionWidth;
|
||||
const scalePose = (pose) => ({
|
||||
const scalePose = (pose, i) => ({
|
||||
id: i,
|
||||
score: pose.score,
|
||||
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)],
|
||||
|
@ -62500,7 +62501,7 @@ return a / b;`;
|
|||
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;
|
||||
}
|
||||
var MaxHeap = class {
|
||||
|
@ -77932,7 +77933,8 @@ lBhEMohlFerLlBjEMohMVTEARDKCITsAk2AEgAAAkAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAD/
|
|||
gesture: gestureRes,
|
||||
object: objectRes,
|
||||
performance: this.perf,
|
||||
canvas: process5.canvas
|
||||
canvas: process5.canvas,
|
||||
timestamp: Date.now()
|
||||
};
|
||||
resolve(res);
|
||||
});
|
||||
|
|
|
@ -4565,7 +4565,8 @@ function getBoundingBox(keypoints) {
|
|||
function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolutionWidth]) {
|
||||
const scaleY = height / inputResolutionHeight;
|
||||
const scaleX = width / inputResolutionWidth;
|
||||
const scalePose = (pose) => ({
|
||||
const scalePose = (pose, i) => ({
|
||||
id: i,
|
||||
score: pose.score,
|
||||
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)],
|
||||
|
@ -4575,7 +4576,7 @@ function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolu
|
|||
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;
|
||||
}
|
||||
var MaxHeap = class {
|
||||
|
@ -20021,7 +20022,8 @@ var Human = class {
|
|||
gesture: gestureRes,
|
||||
object: objectRes,
|
||||
performance: this.perf,
|
||||
canvas: process5.canvas
|
||||
canvas: process5.canvas,
|
||||
timestamp: Date.now()
|
||||
};
|
||||
resolve(res);
|
||||
});
|
||||
|
|
|
@ -4566,7 +4566,8 @@ function getBoundingBox(keypoints) {
|
|||
function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolutionWidth]) {
|
||||
const scaleY = height / inputResolutionHeight;
|
||||
const scaleX = width / inputResolutionWidth;
|
||||
const scalePose = (pose) => ({
|
||||
const scalePose = (pose, i) => ({
|
||||
id: i,
|
||||
score: pose.score,
|
||||
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)],
|
||||
|
@ -4576,7 +4577,7 @@ function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolu
|
|||
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;
|
||||
}
|
||||
var MaxHeap = class {
|
||||
|
@ -20022,7 +20023,8 @@ var Human = class {
|
|||
gesture: gestureRes,
|
||||
object: objectRes,
|
||||
performance: this.perf,
|
||||
canvas: process5.canvas
|
||||
canvas: process5.canvas,
|
||||
timestamp: Date.now()
|
||||
};
|
||||
resolve(res);
|
||||
});
|
||||
|
|
|
@ -4565,7 +4565,8 @@ function getBoundingBox(keypoints) {
|
|||
function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolutionWidth]) {
|
||||
const scaleY = height / inputResolutionHeight;
|
||||
const scaleX = width / inputResolutionWidth;
|
||||
const scalePose = (pose) => ({
|
||||
const scalePose = (pose, i) => ({
|
||||
id: i,
|
||||
score: pose.score,
|
||||
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)],
|
||||
|
@ -4575,7 +4576,7 @@ function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolu
|
|||
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;
|
||||
}
|
||||
var MaxHeap = class {
|
||||
|
@ -20021,7 +20022,8 @@ var Human = class {
|
|||
gesture: gestureRes,
|
||||
object: objectRes,
|
||||
performance: this.perf,
|
||||
canvas: process5.canvas
|
||||
canvas: process5.canvas,
|
||||
timestamp: Date.now()
|
||||
};
|
||||
resolve(res);
|
||||
});
|
||||
|
|
|
@ -538,6 +538,7 @@ export class Human {
|
|||
object: objectRes,
|
||||
performance: this.perf,
|
||||
canvas: process.canvas,
|
||||
timestamp: Date.now(),
|
||||
};
|
||||
// log('Result:', result);
|
||||
resolve(res);
|
||||
|
|
|
@ -32,7 +32,8 @@ export function getBoundingBox(keypoints) {
|
|||
export function scalePoses(poses, [height, width], [inputResolutionHeight, inputResolutionWidth]) {
|
||||
const scaleY = height / inputResolutionHeight;
|
||||
const scaleX = width / inputResolutionWidth;
|
||||
const scalePose = (pose) => ({
|
||||
const scalePose = (pose, i) => ({
|
||||
id: i,
|
||||
score: pose.score,
|
||||
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)],
|
||||
|
@ -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) },
|
||||
})),
|
||||
});
|
||||
const scaledPoses = poses.map((pose) => scalePose(pose));
|
||||
const scaledPoses = poses.map((pose, i) => scalePose(pose, i));
|
||||
return scaledPoses;
|
||||
}
|
||||
|
||||
|
|
|
@ -150,4 +150,5 @@ export interface Result {
|
|||
object: Array<Item>
|
||||
performance: { any },
|
||||
canvas: OffscreenCanvas | HTMLCanvasElement,
|
||||
timestamp: number,
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue