mirror of https://github.com/vladmandic/human
prototype blazepose detector
parent
a743185fe9
commit
9b7bb84c1d
|
@ -9,8 +9,9 @@
|
||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
### **HEAD -> main** 2021/11/19 mandic00@live.com
|
### **HEAD -> main** 2021/11/21 mandic00@live.com
|
||||||
|
|
||||||
|
- add body 3d interpolation
|
||||||
- edit blazepose keypoints
|
- edit blazepose keypoints
|
||||||
- new build process
|
- new build process
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -7,9 +7,9 @@
|
||||||
* @license MIT
|
* @license MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Human } from '../../dist/human.esm.js'; // equivalent of @vladmandic/Human
|
import { Human, Config } from '../../dist/human.esm.js'; // equivalent of @vladmandic/Human
|
||||||
|
|
||||||
const humanConfig = { // user configuration for human, used to fine-tune behavior
|
const humanConfig: Partial<Config> = { // user configuration for human, used to fine-tune behavior
|
||||||
// backend: 'webgpu' as 'webgpu,
|
// backend: 'webgpu' as 'webgpu,
|
||||||
// async: true,
|
// async: true,
|
||||||
modelBasePath: '../../models',
|
modelBasePath: '../../models',
|
||||||
|
|
|
@ -35,10 +35,16 @@ export declare interface BodyConfig extends GenericConfig {
|
||||||
maxDetected: number;
|
maxDetected: number;
|
||||||
/** minimum confidence for a detected body before results are discarded */
|
/** minimum confidence for a detected body before results are discarded */
|
||||||
minConfidence: number;
|
minConfidence: number;
|
||||||
/** detector used for body model before actual analysis */
|
/** experimental: detector used for body model before actual analysis */
|
||||||
detector?: {
|
detector?: {
|
||||||
/** path to optional body detector model json file */
|
/** experimental: enable body detector before body landmarks */
|
||||||
|
enabled: boolean;
|
||||||
|
/** experimental: path to optional body detector model json file */
|
||||||
modelPath: string;
|
modelPath: string;
|
||||||
|
/** experimental: minimum confidence for a detected body before results are discarded */
|
||||||
|
minConfidence: number;
|
||||||
|
/** experimental: minimum overlap between two detected bodies before one is discarded */
|
||||||
|
iouThreshold: number;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,10 +35,16 @@ export declare interface BodyConfig extends GenericConfig {
|
||||||
maxDetected: number;
|
maxDetected: number;
|
||||||
/** minimum confidence for a detected body before results are discarded */
|
/** minimum confidence for a detected body before results are discarded */
|
||||||
minConfidence: number;
|
minConfidence: number;
|
||||||
/** detector used for body model before actual analysis */
|
/** experimental: detector used for body model before actual analysis */
|
||||||
detector?: {
|
detector?: {
|
||||||
/** path to optional body detector model json file */
|
/** experimental: enable body detector before body landmarks */
|
||||||
|
enabled: boolean;
|
||||||
|
/** experimental: path to optional body detector model json file */
|
||||||
modelPath: string;
|
modelPath: string;
|
||||||
|
/** experimental: minimum confidence for a detected body before results are discarded */
|
||||||
|
minConfidence: number;
|
||||||
|
/** experimental: minimum overlap between two detected bodies before one is discarded */
|
||||||
|
iouThreshold: number;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -187,9 +187,6 @@ var config = {
|
||||||
body: {
|
body: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
modelPath: "movenet-lightning.json",
|
modelPath: "movenet-lightning.json",
|
||||||
detector: {
|
|
||||||
modelPath: ""
|
|
||||||
},
|
|
||||||
maxDetected: -1,
|
maxDetected: -1,
|
||||||
minConfidence: 0.3,
|
minConfidence: 0.3,
|
||||||
skipFrames: 1,
|
skipFrames: 1,
|
||||||
|
@ -966,19 +963,19 @@ function GLImageFilter() {
|
||||||
|
|
||||||
// src/image/enhance.ts
|
// src/image/enhance.ts
|
||||||
async function histogramEqualization(inputImage) {
|
async function histogramEqualization(inputImage) {
|
||||||
const squeeze9 = inputImage.shape.length === 4 ? tfjs_esm_exports.squeeze(inputImage) : inputImage;
|
const squeeze11 = inputImage.shape.length === 4 ? tfjs_esm_exports.squeeze(inputImage) : inputImage;
|
||||||
const channels = tfjs_esm_exports.split(squeeze9, 3, 2);
|
const channels = tfjs_esm_exports.split(squeeze11, 3, 2);
|
||||||
const min2 = [tfjs_esm_exports.min(channels[0]), tfjs_esm_exports.min(channels[1]), tfjs_esm_exports.min(channels[2])];
|
const min2 = [tfjs_esm_exports.min(channels[0]), tfjs_esm_exports.min(channels[1]), tfjs_esm_exports.min(channels[2])];
|
||||||
const max4 = [tfjs_esm_exports.max(channels[0]), tfjs_esm_exports.max(channels[1]), tfjs_esm_exports.max(channels[2])];
|
const max4 = [tfjs_esm_exports.max(channels[0]), tfjs_esm_exports.max(channels[1]), tfjs_esm_exports.max(channels[2])];
|
||||||
const absMax = await Promise.all(max4.map((channel) => channel.data()));
|
const absMax = await Promise.all(max4.map((channel) => channel.data()));
|
||||||
const maxValue = 0.99 * Math.max(absMax[0][0], absMax[1][0], absMax[2][0]);
|
const maxValue = 0.99 * Math.max(absMax[0][0], absMax[1][0], absMax[2][0]);
|
||||||
const sub9 = [tfjs_esm_exports.sub(channels[0], min2[0]), tfjs_esm_exports.sub(channels[1], min2[1]), tfjs_esm_exports.sub(channels[2], min2[2])];
|
const sub10 = [tfjs_esm_exports.sub(channels[0], min2[0]), tfjs_esm_exports.sub(channels[1], min2[1]), tfjs_esm_exports.sub(channels[2], min2[2])];
|
||||||
const range = [tfjs_esm_exports.sub(max4[0], min2[0]), tfjs_esm_exports.sub(max4[1], min2[1]), tfjs_esm_exports.sub(max4[2], min2[2])];
|
const range = [tfjs_esm_exports.sub(max4[0], min2[0]), tfjs_esm_exports.sub(max4[1], min2[1]), tfjs_esm_exports.sub(max4[2], min2[2])];
|
||||||
const fact = [tfjs_esm_exports.div(maxValue, range[0]), tfjs_esm_exports.div(maxValue, range[1]), tfjs_esm_exports.div(maxValue, range[2])];
|
const fact = [tfjs_esm_exports.div(maxValue, range[0]), tfjs_esm_exports.div(maxValue, range[1]), tfjs_esm_exports.div(maxValue, range[2])];
|
||||||
const enh = [tfjs_esm_exports.mul(sub9[0], fact[0]), tfjs_esm_exports.mul(sub9[1], fact[1]), tfjs_esm_exports.mul(sub9[2], fact[2])];
|
const enh = [tfjs_esm_exports.mul(sub10[0], fact[0]), tfjs_esm_exports.mul(sub10[1], fact[1]), tfjs_esm_exports.mul(sub10[2], fact[2])];
|
||||||
const rgb2 = tfjs_esm_exports.stack([enh[0], enh[1], enh[2]], 2);
|
const rgb2 = tfjs_esm_exports.stack([enh[0], enh[1], enh[2]], 2);
|
||||||
const reshape8 = tfjs_esm_exports.reshape(rgb2, [1, squeeze9.shape[0], squeeze9.shape[1], 3]);
|
const reshape8 = tfjs_esm_exports.reshape(rgb2, [1, squeeze11.shape[0], squeeze11.shape[1], 3]);
|
||||||
tfjs_esm_exports.dispose([...channels, ...min2, ...max4, ...sub9, ...range, ...fact, ...enh, rgb2, squeeze9]);
|
tfjs_esm_exports.dispose([...channels, ...min2, ...max4, ...sub10, ...range, ...fact, ...enh, rgb2, squeeze11]);
|
||||||
return reshape8;
|
return reshape8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4964,13 +4961,13 @@ var invertTransformMatrix = (matrix) => {
|
||||||
return [rotationComponent[0].concat(invertedTranslation[0]), rotationComponent[1].concat(invertedTranslation[1]), [0, 0, 1]];
|
return [rotationComponent[0].concat(invertedTranslation[0]), rotationComponent[1].concat(invertedTranslation[1]), [0, 0, 1]];
|
||||||
};
|
};
|
||||||
var rotatePoint = (homogeneousCoordinate, rotationMatrix) => [dot(homogeneousCoordinate, rotationMatrix[0]), dot(homogeneousCoordinate, rotationMatrix[1])];
|
var rotatePoint = (homogeneousCoordinate, rotationMatrix) => [dot(homogeneousCoordinate, rotationMatrix[0]), dot(homogeneousCoordinate, rotationMatrix[1])];
|
||||||
function generateAnchors(inputSize8) {
|
function generateAnchors(inputSize9) {
|
||||||
const spec = { strides: [inputSize8 / 16, inputSize8 / 8], anchors: [2, 6] };
|
const spec = { strides: [inputSize9 / 16, inputSize9 / 8], anchors: [2, 6] };
|
||||||
const anchors4 = [];
|
const anchors4 = [];
|
||||||
for (let i = 0; i < spec.strides.length; i++) {
|
for (let i = 0; i < spec.strides.length; i++) {
|
||||||
const stride = spec.strides[i];
|
const stride = spec.strides[i];
|
||||||
const gridRows = Math.floor((inputSize8 + stride - 1) / stride);
|
const gridRows = Math.floor((inputSize9 + stride - 1) / stride);
|
||||||
const gridCols = Math.floor((inputSize8 + stride - 1) / stride);
|
const gridCols = Math.floor((inputSize9 + stride - 1) / stride);
|
||||||
const anchorsNum = spec.anchors[i];
|
const anchorsNum = spec.anchors[i];
|
||||||
for (let gridY = 0; gridY < gridRows; gridY++) {
|
for (let gridY = 0; gridY < gridRows; gridY++) {
|
||||||
const anchorY = stride * (gridY + 0.5);
|
const anchorY = stride * (gridY + 0.5);
|
||||||
|
@ -4983,11 +4980,11 @@ function generateAnchors(inputSize8) {
|
||||||
}
|
}
|
||||||
return anchors4;
|
return anchors4;
|
||||||
}
|
}
|
||||||
function transformRawCoords(coordsRaw, box4, angle, rotationMatrix, inputSize8) {
|
function transformRawCoords(coordsRaw, box4, angle, rotationMatrix, inputSize9) {
|
||||||
const boxSize = getBoxSize(box4);
|
const boxSize = getBoxSize(box4);
|
||||||
const coordsScaled = coordsRaw.map((coord) => [
|
const coordsScaled = coordsRaw.map((coord) => [
|
||||||
boxSize[0] / inputSize8 * (coord[0] - inputSize8 / 2),
|
boxSize[0] / inputSize9 * (coord[0] - inputSize9 / 2),
|
||||||
boxSize[1] / inputSize8 * (coord[1] - inputSize8 / 2),
|
boxSize[1] / inputSize9 * (coord[1] - inputSize9 / 2),
|
||||||
coord[2] || 0
|
coord[2] || 0
|
||||||
]);
|
]);
|
||||||
const largeAngle = angle && angle !== 0 && Math.abs(angle) > 0.2;
|
const largeAngle = angle && angle !== 0 && Math.abs(angle) > 0.2;
|
||||||
|
@ -5001,7 +4998,7 @@ function transformRawCoords(coordsRaw, box4, angle, rotationMatrix, inputSize8)
|
||||||
Math.round(coord[2] || 0)
|
Math.round(coord[2] || 0)
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
function correctFaceRotation(rotate, box4, input, inputSize8) {
|
function correctFaceRotation(rotate, box4, input, inputSize9) {
|
||||||
const symmetryLine = box4.landmarks.length >= meshLandmarks.count ? meshLandmarks.symmetryLine : blazeFaceLandmarks.symmetryLine;
|
const symmetryLine = box4.landmarks.length >= meshLandmarks.count ? meshLandmarks.symmetryLine : blazeFaceLandmarks.symmetryLine;
|
||||||
let angle = 0;
|
let angle = 0;
|
||||||
let rotationMatrix = fixedRotationMatrix;
|
let rotationMatrix = fixedRotationMatrix;
|
||||||
|
@ -5014,13 +5011,13 @@ function correctFaceRotation(rotate, box4, input, inputSize8) {
|
||||||
const centerRaw = [center[0] / input.shape[2], center[1] / input.shape[1]];
|
const centerRaw = [center[0] / input.shape[2], center[1] / input.shape[1]];
|
||||||
const rotated = tfjs_esm_exports.image.rotateWithOffset(input, angle, 0, centerRaw);
|
const rotated = tfjs_esm_exports.image.rotateWithOffset(input, angle, 0, centerRaw);
|
||||||
rotationMatrix = buildRotationMatrix(-angle, center);
|
rotationMatrix = buildRotationMatrix(-angle, center);
|
||||||
face5 = cutBoxFromImageAndResize(box4, rotated, [inputSize8, inputSize8]);
|
face5 = cutBoxFromImageAndResize(box4, rotated, [inputSize9, inputSize9]);
|
||||||
tfjs_esm_exports.dispose(rotated);
|
tfjs_esm_exports.dispose(rotated);
|
||||||
} else {
|
} else {
|
||||||
face5 = cutBoxFromImageAndResize(box4, input, [inputSize8, inputSize8]);
|
face5 = cutBoxFromImageAndResize(box4, input, [inputSize9, inputSize9]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
face5 = cutBoxFromImageAndResize(box4, input, [inputSize8, inputSize8]);
|
face5 = cutBoxFromImageAndResize(box4, input, [inputSize9, inputSize9]);
|
||||||
}
|
}
|
||||||
return [angle, rotationMatrix, face5];
|
return [angle, rotationMatrix, face5];
|
||||||
}
|
}
|
||||||
|
@ -5174,52 +5171,118 @@ var connected = {
|
||||||
mouth: ["leftMouth", "rightMouth"]
|
mouth: ["leftMouth", "rightMouth"]
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// src/body/blazeposedetector.ts
|
||||||
|
var inputSize2 = 224;
|
||||||
|
var anchorTensor;
|
||||||
|
var numLayers = 5;
|
||||||
|
var strides = [8, 16, 32, 32, 32];
|
||||||
|
async function createAnchors() {
|
||||||
|
const anchors4 = [];
|
||||||
|
let layerId = 0;
|
||||||
|
while (layerId < numLayers) {
|
||||||
|
let anchorCount = 0;
|
||||||
|
let lastSameStrideLayer = layerId;
|
||||||
|
while (lastSameStrideLayer < strides.length && strides[lastSameStrideLayer] === strides[layerId]) {
|
||||||
|
anchorCount += 2;
|
||||||
|
lastSameStrideLayer++;
|
||||||
|
}
|
||||||
|
const stride = strides[layerId];
|
||||||
|
const featureMapHeight = Math.ceil(inputSize2 / stride);
|
||||||
|
const featureMapWidth = Math.ceil(inputSize2 / stride);
|
||||||
|
for (let y = 0; y < featureMapHeight; ++y) {
|
||||||
|
for (let x = 0; x < featureMapWidth; ++x) {
|
||||||
|
for (let anchorId = 0; anchorId < anchorCount; ++anchorId) {
|
||||||
|
anchors4.push({ x: (x + 0.5) / featureMapWidth, y: (y + 0.5) / featureMapHeight });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layerId = lastSameStrideLayer;
|
||||||
|
}
|
||||||
|
anchorTensor = { x: tfjs_esm_exports.tensor1d(anchors4.map((a) => a.x)), y: tfjs_esm_exports.tensor1d(anchors4.map((a) => a.y)) };
|
||||||
|
}
|
||||||
|
var cropFactor = [5, 5];
|
||||||
|
function decodeBoxes(boxesTensor, anchor) {
|
||||||
|
return tfjs_esm_exports.tidy(() => {
|
||||||
|
const split5 = tfjs_esm_exports.split(boxesTensor, 12, 1);
|
||||||
|
let xCenter = tfjs_esm_exports.squeeze(split5[0]);
|
||||||
|
let yCenter = tfjs_esm_exports.squeeze(split5[1]);
|
||||||
|
let width = tfjs_esm_exports.squeeze(split5[2]);
|
||||||
|
let height = tfjs_esm_exports.squeeze(split5[3]);
|
||||||
|
xCenter = tfjs_esm_exports.add(tfjs_esm_exports.div(xCenter, inputSize2), anchor.x);
|
||||||
|
yCenter = tfjs_esm_exports.add(tfjs_esm_exports.div(yCenter, inputSize2), anchor.y);
|
||||||
|
width = tfjs_esm_exports.mul(tfjs_esm_exports.div(width, inputSize2), cropFactor[0]);
|
||||||
|
height = tfjs_esm_exports.mul(tfjs_esm_exports.div(height, inputSize2), cropFactor[1]);
|
||||||
|
const xMin = tfjs_esm_exports.sub(xCenter, tfjs_esm_exports.div(width, 2));
|
||||||
|
const yMin = tfjs_esm_exports.sub(yCenter, tfjs_esm_exports.div(height, 2));
|
||||||
|
const boxes = tfjs_esm_exports.stack([xMin, yMin, width, height], 1);
|
||||||
|
return boxes;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
async function decode(boxesTensor, logitsTensor, config3, outputSize2) {
|
||||||
|
const t = {};
|
||||||
|
t.boxes = decodeBoxes(boxesTensor, anchorTensor);
|
||||||
|
t.scores = tfjs_esm_exports.sigmoid(logitsTensor);
|
||||||
|
t.argmax = tfjs_esm_exports.argMax(t.scores);
|
||||||
|
const i = (await t.argmax.data())[0];
|
||||||
|
const scores = await t.scores.data();
|
||||||
|
const detected = [];
|
||||||
|
const minScore = config3.body["detector"] && config3.body["detector"]["minConfidence"] ? config3.body["detector"]["minConfidence"] : 0;
|
||||||
|
if (scores[i] >= minScore) {
|
||||||
|
const boxes = await t.boxes.array();
|
||||||
|
const boxRaw = boxes[i];
|
||||||
|
const box4 = [boxRaw[0] * outputSize2[0], boxRaw[1] * outputSize2[1], boxRaw[2] * outputSize2[0], boxRaw[3] * outputSize2[1]];
|
||||||
|
detected.push({ box: box4, boxRaw, score: scores[i] });
|
||||||
|
}
|
||||||
|
Object.keys(t).forEach((tensor3) => tfjs_esm_exports.dispose(t[tensor3]));
|
||||||
|
return detected;
|
||||||
|
}
|
||||||
|
|
||||||
// src/body/blazepose.ts
|
// src/body/blazepose.ts
|
||||||
var env3 = { initial: true };
|
var env3 = { initial: true };
|
||||||
var models = [null, null];
|
var models = { detector: null, landmarks: null };
|
||||||
var inputSize2 = [[0, 0], [0, 0]];
|
var inputSize3 = { detector: [224, 224], landmarks: [256, 256] };
|
||||||
var skipped5 = Number.MAX_SAFE_INTEGER;
|
var skipped5 = Number.MAX_SAFE_INTEGER;
|
||||||
var outputNodes;
|
var outputNodes = {
|
||||||
|
landmarks: ["ld_3d", "activation_segmentation", "activation_heatmap", "world_3d", "output_poseflag"],
|
||||||
|
detector: []
|
||||||
|
};
|
||||||
var cache = null;
|
var cache = null;
|
||||||
|
var lastBox;
|
||||||
var padding = [[0, 0], [0, 0], [0, 0], [0, 0]];
|
var padding = [[0, 0], [0, 0], [0, 0], [0, 0]];
|
||||||
var lastTime5 = 0;
|
var lastTime5 = 0;
|
||||||
|
var sigmoid3 = (x) => 1 - 1 / (1 + Math.exp(x));
|
||||||
async function loadDetect(config3) {
|
async function loadDetect(config3) {
|
||||||
var _a, _b, _c;
|
|
||||||
if (env3.initial)
|
if (env3.initial)
|
||||||
models[0] = null;
|
models.detector = null;
|
||||||
if (!models[0] && ((_a = config3.body.detector) == null ? void 0 : _a.modelPath) || "") {
|
if (!models.detector && config3.body["detector"] && config3.body["detector"]["modelPath"] || "") {
|
||||||
models[0] = await tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, ((_b = config3.body.detector) == null ? void 0 : _b.modelPath) || ""));
|
models.detector = await tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, config3.body["detector"]["modelPath"] || ""));
|
||||||
const inputs = Object.values(models[0].modelSignature["inputs"]);
|
const inputs = Object.values(models.detector.modelSignature["inputs"]);
|
||||||
inputSize2[0][0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;
|
inputSize3.detector[0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;
|
||||||
inputSize2[0][1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;
|
inputSize3.detector[1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;
|
||||||
if (!models[0] || !models[0]["modelUrl"])
|
if (!models.detector || !models.detector["modelUrl"])
|
||||||
log("load model failed:", (_c = config3.body.detector) == null ? void 0 : _c.modelPath);
|
log("load model failed:", config3.body["detector"]["modelPath"]);
|
||||||
else if (config3.debug)
|
else if (config3.debug)
|
||||||
log("load model:", models[0]["modelUrl"]);
|
log("load model:", models.detector["modelUrl"]);
|
||||||
} else if (config3.debug && models[0])
|
} else if (config3.debug && models.detector)
|
||||||
log("cached model:", models[0]["modelUrl"]);
|
log("cached model:", models.detector["modelUrl"]);
|
||||||
return models[0];
|
await createAnchors();
|
||||||
|
return models.detector;
|
||||||
}
|
}
|
||||||
async function loadPose(config3) {
|
async function loadPose(config3) {
|
||||||
var _a;
|
|
||||||
if (env3.initial)
|
if (env3.initial)
|
||||||
models[1] = null;
|
models.landmarks = null;
|
||||||
if (!models[1]) {
|
if (!models.landmarks) {
|
||||||
models[1] = await tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, config3.body.modelPath || ""));
|
models.landmarks = await tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, config3.body.modelPath || ""));
|
||||||
const inputs = Object.values(models[1].modelSignature["inputs"]);
|
const inputs = Object.values(models.landmarks.modelSignature["inputs"]);
|
||||||
inputSize2[1][0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;
|
inputSize3.landmarks[0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;
|
||||||
inputSize2[1][1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;
|
inputSize3.landmarks[1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;
|
||||||
if ((_a = config3.body.modelPath) == null ? void 0 : _a.includes("lite"))
|
if (!models.landmarks || !models.landmarks["modelUrl"])
|
||||||
outputNodes = ["ld_3d", "output_segmentation", "output_heatmap", "world_3d", "output_poseflag"];
|
|
||||||
else
|
|
||||||
outputNodes = ["Identity", "Identity_2", "Identity_3", "Identity_4", "Identity_1"];
|
|
||||||
if (!models[1] || !models[1]["modelUrl"])
|
|
||||||
log("load model failed:", config3.body.modelPath);
|
log("load model failed:", config3.body.modelPath);
|
||||||
else if (config3.debug)
|
else if (config3.debug)
|
||||||
log("load model:", models[1]["modelUrl"]);
|
log("load model:", models.landmarks["modelUrl"]);
|
||||||
} else if (config3.debug)
|
} else if (config3.debug)
|
||||||
log("cached model:", models[1]["modelUrl"]);
|
log("cached model:", models.landmarks["modelUrl"]);
|
||||||
return models[1];
|
return models.landmarks;
|
||||||
}
|
}
|
||||||
function calculateBoxes(keypoints, outputSize2) {
|
function calculateBoxes(keypoints, outputSize2) {
|
||||||
const x = keypoints.map((a) => a.position[0]);
|
const x = keypoints.map((a) => a.position[0]);
|
||||||
|
@ -5228,23 +5291,29 @@ function calculateBoxes(keypoints, outputSize2) {
|
||||||
const keypointsBoxRaw = [keypointsBox[0] / outputSize2[0], keypointsBox[1] / outputSize2[1], keypointsBox[2] / outputSize2[0], keypointsBox[3] / outputSize2[1]];
|
const keypointsBoxRaw = [keypointsBox[0] / outputSize2[0], keypointsBox[1] / outputSize2[1], keypointsBox[2] / outputSize2[0], keypointsBox[3] / outputSize2[1]];
|
||||||
return { keypointsBox, keypointsBoxRaw };
|
return { keypointsBox, keypointsBoxRaw };
|
||||||
}
|
}
|
||||||
async function prepareImage(input) {
|
async function prepareImage(input, size2, box4) {
|
||||||
const t = {};
|
const t = {};
|
||||||
if (!input.shape || !input.shape[1] || !input.shape[2])
|
if (!input.shape || !input.shape[1] || !input.shape[2])
|
||||||
return input;
|
return input;
|
||||||
let final;
|
let final;
|
||||||
if (input.shape[1] !== input.shape[2]) {
|
if (input.shape[1] !== input.shape[2]) {
|
||||||
|
const height = box4 ? [Math.trunc(input.shape[1] * box4[1]), Math.trunc(input.shape[1] * (box4[1] + box4[3]))] : [input.shape[2] > input.shape[1] ? Math.trunc((input.shape[2] - input.shape[1]) / 2) : 0, input.shape[2] > input.shape[1] ? Math.trunc((input.shape[2] - input.shape[1]) / 2) : 0];
|
||||||
|
const width = box4 ? [Math.trunc(input.shape[2] * box4[0]), Math.trunc(input.shape[2] * (box4[0] + box4[2]))] : [input.shape[1] > input.shape[2] ? Math.trunc((input.shape[1] - input.shape[2]) / 2) : 0, input.shape[1] > input.shape[2] ? Math.trunc((input.shape[1] - input.shape[2]) / 2) : 0];
|
||||||
padding = [
|
padding = [
|
||||||
[0, 0],
|
[0, 0],
|
||||||
[input.shape[2] > input.shape[1] ? Math.trunc((input.shape[2] - input.shape[1]) / 2) : 0, input.shape[2] > input.shape[1] ? Math.trunc((input.shape[2] - input.shape[1]) / 2) : 0],
|
height,
|
||||||
[input.shape[1] > input.shape[2] ? Math.trunc((input.shape[1] - input.shape[2]) / 2) : 0, input.shape[1] > input.shape[2] ? Math.trunc((input.shape[1] - input.shape[2]) / 2) : 0],
|
width,
|
||||||
[0, 0]
|
[0, 0]
|
||||||
];
|
];
|
||||||
t.pad = tfjs_esm_exports.pad(input, padding);
|
if (box4) {
|
||||||
t.resize = tfjs_esm_exports.image.resizeBilinear(t.pad, [inputSize2[1][0], inputSize2[1][1]]);
|
t.resize = tfjs_esm_exports.image.cropAndResize(input, [box4], [0], [size2, size2]);
|
||||||
|
} else {
|
||||||
|
t.pad = tfjs_esm_exports.pad(input, padding);
|
||||||
|
t.resize = tfjs_esm_exports.image.resizeBilinear(t.pad, [size2, size2]);
|
||||||
|
}
|
||||||
final = tfjs_esm_exports.div(t.resize, constants.tf255);
|
final = tfjs_esm_exports.div(t.resize, constants.tf255);
|
||||||
} else if (input.shape[1] !== inputSize2[1][0]) {
|
} else if (input.shape[1] !== size2) {
|
||||||
t.resize = tfjs_esm_exports.image.resizeBilinear(input, [inputSize2[1][0], inputSize2[1][1]]);
|
t.resize = tfjs_esm_exports.image.resizeBilinear(input, [size2, size2]);
|
||||||
final = tfjs_esm_exports.div(t.resize, constants.tf255);
|
final = tfjs_esm_exports.div(t.resize, constants.tf255);
|
||||||
} else {
|
} else {
|
||||||
final = tfjs_esm_exports.div(input, constants.tf255);
|
final = tfjs_esm_exports.div(input, constants.tf255);
|
||||||
|
@ -5255,34 +5324,40 @@ async function prepareImage(input) {
|
||||||
function rescaleKeypoints(keypoints, outputSize2) {
|
function rescaleKeypoints(keypoints, outputSize2) {
|
||||||
for (const kpt4 of keypoints) {
|
for (const kpt4 of keypoints) {
|
||||||
kpt4.position = [
|
kpt4.position = [
|
||||||
kpt4.position[0] * (outputSize2[0] + padding[2][0] + padding[2][1]) / outputSize2[0] - padding[2][0],
|
Math.trunc(kpt4.position[0] * (outputSize2[0] + padding[2][0] + padding[2][1]) / outputSize2[0] - padding[2][0]),
|
||||||
kpt4.position[1] * (outputSize2[1] + padding[1][0] + padding[1][1]) / outputSize2[1] - padding[1][0],
|
Math.trunc(kpt4.position[1] * (outputSize2[1] + padding[1][0] + padding[1][1]) / outputSize2[1] - padding[1][0]),
|
||||||
kpt4.position[2]
|
|
||||||
];
|
|
||||||
kpt4.positionRaw = [
|
|
||||||
kpt4.position[0] / outputSize2[0],
|
|
||||||
kpt4.position[1] / outputSize2[1],
|
|
||||||
kpt4.position[2]
|
kpt4.position[2]
|
||||||
];
|
];
|
||||||
|
kpt4.positionRaw = [kpt4.position[0] / outputSize2[0], kpt4.position[1] / outputSize2[1], kpt4.position[2]];
|
||||||
}
|
}
|
||||||
return keypoints;
|
return keypoints;
|
||||||
}
|
}
|
||||||
var sigmoid2 = (x) => 1 - 1 / (1 + Math.exp(x));
|
function rescaleBoxes(boxes, outputSize2) {
|
||||||
async function detectParts(input, config3, outputSize2) {
|
for (const box4 of boxes) {
|
||||||
|
box4.box = [
|
||||||
|
Math.trunc(box4.box[0] * (outputSize2[0] + padding[2][0] + padding[2][1]) / outputSize2[0]),
|
||||||
|
Math.trunc(box4.box[1] * (outputSize2[1] + padding[1][0] + padding[1][1]) / outputSize2[1]),
|
||||||
|
Math.trunc(box4.box[2] * (outputSize2[0] + padding[2][0] + padding[2][1]) / outputSize2[0]),
|
||||||
|
Math.trunc(box4.box[3] * (outputSize2[1] + padding[1][0] + padding[1][1]) / outputSize2[1])
|
||||||
|
];
|
||||||
|
box4.boxRaw = [box4.box[0] / outputSize2[0], box4.box[1] / outputSize2[1], box4.box[2] / outputSize2[0], box4.box[3] / outputSize2[1]];
|
||||||
|
}
|
||||||
|
return boxes;
|
||||||
|
}
|
||||||
|
async function detectLandmarks(input, config3, outputSize2) {
|
||||||
var _a;
|
var _a;
|
||||||
const t = {};
|
const t = {};
|
||||||
t.input = await prepareImage(input);
|
[t.ld, t.segmentation, t.heatmap, t.world, t.poseflag] = (_a = models.landmarks) == null ? void 0 : _a.execute(input, outputNodes.landmarks);
|
||||||
[t.ld, t.segmentation, t.heatmap, t.world, t.poseflag] = (_a = models[1]) == null ? void 0 : _a.execute(t.input, outputNodes);
|
const poseScore = (await t.poseflag.data())[0];
|
||||||
const poseScoreRaw = (await t.poseflag.data())[0];
|
|
||||||
const poseScore = Math.max(0, (poseScoreRaw - 0.8) / (1 - 0.8));
|
|
||||||
const points = await t.ld.data();
|
const points = await t.ld.data();
|
||||||
|
Object.keys(t).forEach((tensor3) => tfjs_esm_exports.dispose(t[tensor3]));
|
||||||
const keypointsRelative = [];
|
const keypointsRelative = [];
|
||||||
const depth = 5;
|
const depth = 5;
|
||||||
for (let i = 0; i < points.length / depth; i++) {
|
for (let i = 0; i < points.length / depth; i++) {
|
||||||
const score = sigmoid2(points[depth * i + 3]);
|
const score = sigmoid3(points[depth * i + 3]);
|
||||||
const presence = sigmoid2(points[depth * i + 4]);
|
const presence = sigmoid3(points[depth * i + 4]);
|
||||||
const adjScore = Math.trunc(100 * score * presence * poseScore) / 100;
|
const adjScore = Math.trunc(100 * score * presence * poseScore) / 100;
|
||||||
const positionRaw = [points[depth * i + 0] / inputSize2[1][0], points[depth * i + 1] / inputSize2[1][1], points[depth * i + 2] + 0];
|
const positionRaw = [points[depth * i + 0] / inputSize3.landmarks[0], points[depth * i + 1] / inputSize3.landmarks[1], points[depth * i + 2] + 0];
|
||||||
const position = [Math.trunc(outputSize2[0] * positionRaw[0]), Math.trunc(outputSize2[1] * positionRaw[1]), positionRaw[2]];
|
const position = [Math.trunc(outputSize2[0] * positionRaw[0]), Math.trunc(outputSize2[1] * positionRaw[1]), positionRaw[2]];
|
||||||
keypointsRelative.push({ part: kpt[i], positionRaw, position, score: adjScore });
|
keypointsRelative.push({ part: kpt[i], positionRaw, position, score: adjScore });
|
||||||
}
|
}
|
||||||
|
@ -5290,7 +5365,6 @@ async function detectParts(input, config3, outputSize2) {
|
||||||
return null;
|
return null;
|
||||||
const keypoints = rescaleKeypoints(keypointsRelative, outputSize2);
|
const keypoints = rescaleKeypoints(keypointsRelative, outputSize2);
|
||||||
const boxes = calculateBoxes(keypoints, [outputSize2[0], outputSize2[1]]);
|
const boxes = calculateBoxes(keypoints, [outputSize2[0], outputSize2[1]]);
|
||||||
Object.keys(t).forEach((tensor3) => tfjs_esm_exports.dispose(t[tensor3]));
|
|
||||||
const annotations2 = {};
|
const annotations2 = {};
|
||||||
for (const [name, indexes] of Object.entries(connected)) {
|
for (const [name, indexes] of Object.entries(connected)) {
|
||||||
const pt = [];
|
const pt = [];
|
||||||
|
@ -5305,6 +5379,19 @@ async function detectParts(input, config3, outputSize2) {
|
||||||
const body4 = { id: 0, score: Math.trunc(100 * poseScore) / 100, box: boxes.keypointsBox, boxRaw: boxes.keypointsBoxRaw, keypoints, annotations: annotations2 };
|
const body4 = { id: 0, score: Math.trunc(100 * poseScore) / 100, box: boxes.keypointsBox, boxRaw: boxes.keypointsBoxRaw, keypoints, annotations: annotations2 };
|
||||||
return body4;
|
return body4;
|
||||||
}
|
}
|
||||||
|
async function detectBoxes(input, config3, outputSize2) {
|
||||||
|
var _a;
|
||||||
|
const t = {};
|
||||||
|
t.res = (_a = models.detector) == null ? void 0 : _a.execute(input, ["Identity"]);
|
||||||
|
t.logitsRaw = tfjs_esm_exports.slice(t.res, [0, 0, 0], [1, -1, 1]);
|
||||||
|
t.boxesRaw = tfjs_esm_exports.slice(t.res, [0, 0, 1], [1, -1, -1]);
|
||||||
|
t.logits = tfjs_esm_exports.squeeze(t.logitsRaw);
|
||||||
|
t.boxes = tfjs_esm_exports.squeeze(t.boxesRaw);
|
||||||
|
const boxes = await decode(t.boxes, t.logits, config3, outputSize2);
|
||||||
|
rescaleBoxes(boxes, outputSize2);
|
||||||
|
Object.keys(t).forEach((tensor3) => tfjs_esm_exports.dispose(t[tensor3]));
|
||||||
|
return boxes;
|
||||||
|
}
|
||||||
async function predict5(input, config3) {
|
async function predict5(input, config3) {
|
||||||
const outputSize2 = [input.shape[2] || 0, input.shape[1] || 0];
|
const outputSize2 = [input.shape[2] || 0, input.shape[1] || 0];
|
||||||
const skipTime = (config3.body.skipTime || 0) > now() - lastTime5;
|
const skipTime = (config3.body.skipTime || 0) > now() - lastTime5;
|
||||||
|
@ -5312,7 +5399,21 @@ async function predict5(input, config3) {
|
||||||
if (config3.skipAllowed && skipTime && skipFrame && cache !== null) {
|
if (config3.skipAllowed && skipTime && skipFrame && cache !== null) {
|
||||||
skipped5++;
|
skipped5++;
|
||||||
} else {
|
} else {
|
||||||
cache = await detectParts(input, config3, outputSize2);
|
const t = {};
|
||||||
|
if (config3.body["detector"] && config3.body["detector"]["enabled"]) {
|
||||||
|
t.detector = await prepareImage(input, 224);
|
||||||
|
const boxes = await detectBoxes(t.detector, config3, outputSize2);
|
||||||
|
if (boxes && boxes.length === 1) {
|
||||||
|
t.landmarks = await prepareImage(input, 256, boxes[0].box);
|
||||||
|
cache = await detectLandmarks(t.landmarks, config3, outputSize2);
|
||||||
|
}
|
||||||
|
if (cache)
|
||||||
|
cache.score = boxes[0].score;
|
||||||
|
} else {
|
||||||
|
t.landmarks = await prepareImage(input, 256, lastBox);
|
||||||
|
cache = await detectLandmarks(t.landmarks, config3, outputSize2);
|
||||||
|
}
|
||||||
|
Object.keys(t).forEach((tensor3) => tfjs_esm_exports.dispose(t[tensor3]));
|
||||||
lastTime5 = now();
|
lastTime5 = now();
|
||||||
skipped5 = 0;
|
skipped5 = 0;
|
||||||
}
|
}
|
||||||
|
@ -5407,7 +5508,7 @@ var labels = [
|
||||||
|
|
||||||
// src/object/centernet.ts
|
// src/object/centernet.ts
|
||||||
var model6;
|
var model6;
|
||||||
var inputSize3 = 0;
|
var inputSize4 = 0;
|
||||||
var last5 = [];
|
var last5 = [];
|
||||||
var lastTime6 = 0;
|
var lastTime6 = 0;
|
||||||
var skipped6 = Number.MAX_SAFE_INTEGER;
|
var skipped6 = Number.MAX_SAFE_INTEGER;
|
||||||
|
@ -5417,7 +5518,7 @@ async function load6(config3) {
|
||||||
if (!model6) {
|
if (!model6) {
|
||||||
model6 = await tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, config3.object.modelPath || ""));
|
model6 = await tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, config3.object.modelPath || ""));
|
||||||
const inputs = Object.values(model6.modelSignature["inputs"]);
|
const inputs = Object.values(model6.modelSignature["inputs"]);
|
||||||
inputSize3 = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;
|
inputSize4 = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;
|
||||||
if (!model6 || !model6["modelUrl"])
|
if (!model6 || !model6["modelUrl"])
|
||||||
log("load model failed:", config3.object.modelPath);
|
log("load model failed:", config3.object.modelPath);
|
||||||
else if (config3.debug)
|
else if (config3.debug)
|
||||||
|
@ -5447,14 +5548,14 @@ async function process3(res, outputShape, config3) {
|
||||||
const classVal = detections[0][id][5];
|
const classVal = detections[0][id][5];
|
||||||
const label = labels[classVal].label;
|
const label = labels[classVal].label;
|
||||||
const [x, y] = [
|
const [x, y] = [
|
||||||
detections[0][id][0] / inputSize3,
|
detections[0][id][0] / inputSize4,
|
||||||
detections[0][id][1] / inputSize3
|
detections[0][id][1] / inputSize4
|
||||||
];
|
];
|
||||||
const boxRaw = [
|
const boxRaw = [
|
||||||
x,
|
x,
|
||||||
y,
|
y,
|
||||||
detections[0][id][2] / inputSize3 - x,
|
detections[0][id][2] / inputSize4 - x,
|
||||||
detections[0][id][3] / inputSize3 - y
|
detections[0][id][3] / inputSize4 - y
|
||||||
];
|
];
|
||||||
const box4 = [
|
const box4 = [
|
||||||
Math.trunc(boxRaw[0] * outputShape[0]),
|
Math.trunc(boxRaw[0] * outputShape[0]),
|
||||||
|
@ -5477,7 +5578,7 @@ async function predict6(input, config3) {
|
||||||
skipped6 = 0;
|
skipped6 = 0;
|
||||||
return new Promise(async (resolve) => {
|
return new Promise(async (resolve) => {
|
||||||
const outputSize2 = [input.shape[2], input.shape[1]];
|
const outputSize2 = [input.shape[2], input.shape[1]];
|
||||||
const resize = tfjs_esm_exports.image.resizeBilinear(input, [inputSize3, inputSize3]);
|
const resize = tfjs_esm_exports.image.resizeBilinear(input, [inputSize4, inputSize4]);
|
||||||
const objectT = config3.object.enabled ? model6 == null ? void 0 : model6.execute(resize, ["tower_0/detections"]) : null;
|
const objectT = config3.object.enabled ? model6 == null ? void 0 : model6.execute(resize, ["tower_0/detections"]) : null;
|
||||||
lastTime6 = now();
|
lastTime6 = now();
|
||||||
tfjs_esm_exports.dispose(resize);
|
tfjs_esm_exports.dispose(resize);
|
||||||
|
@ -5548,9 +5649,9 @@ async function max2d(inputs, minScore) {
|
||||||
const coordinates = tfjs_esm_exports.argMax(reshaped, 0);
|
const coordinates = tfjs_esm_exports.argMax(reshaped, 0);
|
||||||
const mod2 = tfjs_esm_exports.mod(coordinates, width);
|
const mod2 = tfjs_esm_exports.mod(coordinates, width);
|
||||||
const x = (await mod2.data())[0];
|
const x = (await mod2.data())[0];
|
||||||
const div12 = tfjs_esm_exports.div(coordinates, tfjs_esm_exports.scalar(width, "int32"));
|
const div13 = tfjs_esm_exports.div(coordinates, tfjs_esm_exports.scalar(width, "int32"));
|
||||||
const y = (await div12.data())[0];
|
const y = (await div13.data())[0];
|
||||||
tfjs_esm_exports.dispose([mod2, div12]);
|
tfjs_esm_exports.dispose([mod2, div13]);
|
||||||
return [x, y, newScore];
|
return [x, y, newScore];
|
||||||
}
|
}
|
||||||
return [0, 0, newScore];
|
return [0, 0, newScore];
|
||||||
|
@ -5580,12 +5681,12 @@ async function predict7(image29, config3) {
|
||||||
tfjs_esm_exports.dispose(tensor3);
|
tfjs_esm_exports.dispose(tensor3);
|
||||||
if (resT) {
|
if (resT) {
|
||||||
cache2.keypoints.length = 0;
|
cache2.keypoints.length = 0;
|
||||||
const squeeze9 = resT.squeeze();
|
const squeeze11 = resT.squeeze();
|
||||||
tfjs_esm_exports.dispose(resT);
|
tfjs_esm_exports.dispose(resT);
|
||||||
const stack4 = squeeze9.unstack(2);
|
const stack5 = squeeze11.unstack(2);
|
||||||
tfjs_esm_exports.dispose(squeeze9);
|
tfjs_esm_exports.dispose(squeeze11);
|
||||||
for (let id = 0; id < stack4.length; id++) {
|
for (let id = 0; id < stack5.length; id++) {
|
||||||
const [x2, y2, partScore] = await max2d(stack4[id], config3.body.minConfidence);
|
const [x2, y2, partScore] = await max2d(stack5[id], config3.body.minConfidence);
|
||||||
if (partScore > (((_a = config3.body) == null ? void 0 : _a.minConfidence) || 0)) {
|
if (partScore > (((_a = config3.body) == null ? void 0 : _a.minConfidence) || 0)) {
|
||||||
cache2.keypoints.push({
|
cache2.keypoints.push({
|
||||||
score: Math.round(100 * partScore) / 100,
|
score: Math.round(100 * partScore) / 100,
|
||||||
|
@ -5601,7 +5702,7 @@ async function predict7(image29, config3) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stack4.forEach((s) => tfjs_esm_exports.dispose(s));
|
stack5.forEach((s) => tfjs_esm_exports.dispose(s));
|
||||||
}
|
}
|
||||||
cache2.score = cache2.keypoints.reduce((prev, curr) => curr.score > prev ? curr.score : prev, 0);
|
cache2.score = cache2.keypoints.reduce((prev, curr) => curr.score > prev ? curr.score : prev, 0);
|
||||||
const x = cache2.keypoints.map((a) => a.position[0]);
|
const x = cache2.keypoints.map((a) => a.position[0]);
|
||||||
|
@ -5671,8 +5772,8 @@ async function predict8(image29, config3, idx, count2) {
|
||||||
const obj = [];
|
const obj = [];
|
||||||
if ((_a2 = config3.face.emotion) == null ? void 0 : _a2.enabled) {
|
if ((_a2 = config3.face.emotion) == null ? void 0 : _a2.enabled) {
|
||||||
const t = {};
|
const t = {};
|
||||||
const inputSize8 = (model8 == null ? void 0 : model8.inputs[0].shape) ? model8.inputs[0].shape[2] : 0;
|
const inputSize9 = (model8 == null ? void 0 : model8.inputs[0].shape) ? model8.inputs[0].shape[2] : 0;
|
||||||
t.resize = tfjs_esm_exports.image.resizeBilinear(image29, [inputSize8, inputSize8], false);
|
t.resize = tfjs_esm_exports.image.resizeBilinear(image29, [inputSize9, inputSize9], false);
|
||||||
t.channels = tfjs_esm_exports.mul(t.resize, constants.rgb);
|
t.channels = tfjs_esm_exports.mul(t.resize, constants.rgb);
|
||||||
t.grayscale = tfjs_esm_exports.sum(t.channels, 3, true);
|
t.grayscale = tfjs_esm_exports.sum(t.channels, 3, true);
|
||||||
t.grayscaleSub = tfjs_esm_exports.sub(t.grayscale, constants.tf05);
|
t.grayscaleSub = tfjs_esm_exports.sub(t.grayscale, constants.tf05);
|
||||||
|
@ -5742,7 +5843,7 @@ async function predict9(input, config3, idx, count2) {
|
||||||
|
|
||||||
// src/face/iris.ts
|
// src/face/iris.ts
|
||||||
var model10;
|
var model10;
|
||||||
var inputSize4 = 0;
|
var inputSize5 = 0;
|
||||||
var irisEnlarge = 2.3;
|
var irisEnlarge = 2.3;
|
||||||
var leftOutline = meshAnnotations["leftEyeLower0"];
|
var leftOutline = meshAnnotations["leftEyeLower0"];
|
||||||
var rightOutline = meshAnnotations["rightEyeLower0"];
|
var rightOutline = meshAnnotations["rightEyeLower0"];
|
||||||
|
@ -5768,9 +5869,9 @@ async function load10(config3) {
|
||||||
log("load model:", model10["modelUrl"]);
|
log("load model:", model10["modelUrl"]);
|
||||||
} else if (config3.debug)
|
} else if (config3.debug)
|
||||||
log("cached model:", model10["modelUrl"]);
|
log("cached model:", model10["modelUrl"]);
|
||||||
inputSize4 = model10.inputs[0].shape ? model10.inputs[0].shape[2] : 0;
|
inputSize5 = model10.inputs[0].shape ? model10.inputs[0].shape[2] : 0;
|
||||||
if (inputSize4 === -1)
|
if (inputSize5 === -1)
|
||||||
inputSize4 = 64;
|
inputSize5 = 64;
|
||||||
return model10;
|
return model10;
|
||||||
}
|
}
|
||||||
function replaceRawCoordinates(rawCoords, newCoords, prefix, keys) {
|
function replaceRawCoordinates(rawCoords, newCoords, prefix, keys) {
|
||||||
|
@ -5802,7 +5903,7 @@ var getEyeBox = (rawCoords, face5, eyeInnerCornerIndex, eyeOuterCornerIndex, mes
|
||||||
box4.startPoint[0] / meshSize,
|
box4.startPoint[0] / meshSize,
|
||||||
box4.endPoint[1] / meshSize,
|
box4.endPoint[1] / meshSize,
|
||||||
box4.endPoint[0] / meshSize
|
box4.endPoint[0] / meshSize
|
||||||
]], [0], [inputSize4, inputSize4]);
|
]], [0], [inputSize5, inputSize5]);
|
||||||
if (flip && env.kernels.includes("flipleftright")) {
|
if (flip && env.kernels.includes("flipleftright")) {
|
||||||
const flipped = tfjs_esm_exports.image.flipLeftRight(crop2);
|
const flipped = tfjs_esm_exports.image.flipLeftRight(crop2);
|
||||||
tfjs_esm_exports.dispose(crop2);
|
tfjs_esm_exports.dispose(crop2);
|
||||||
|
@ -5817,8 +5918,8 @@ var getEyeCoords = (eyeData, eyeBox, eyeBoxSize, flip = false) => {
|
||||||
const y = eyeData[i * 3 + 1];
|
const y = eyeData[i * 3 + 1];
|
||||||
const z = eyeData[i * 3 + 2];
|
const z = eyeData[i * 3 + 2];
|
||||||
eyeRawCoords.push([
|
eyeRawCoords.push([
|
||||||
(flip ? 1 - x / inputSize4 : x / inputSize4) * eyeBoxSize[0] + eyeBox.startPoint[0],
|
(flip ? 1 - x / inputSize5 : x / inputSize5) * eyeBoxSize[0] + eyeBox.startPoint[0],
|
||||||
y / inputSize4 * eyeBoxSize[1] + eyeBox.startPoint[1],
|
y / inputSize5 * eyeBoxSize[1] + eyeBox.startPoint[1],
|
||||||
z
|
z
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
@ -5875,7 +5976,7 @@ async function augmentIris(rawCoords, face5, config3, meshSize) {
|
||||||
// src/face/facemesh.ts
|
// src/face/facemesh.ts
|
||||||
var boxCache = [];
|
var boxCache = [];
|
||||||
var model11 = null;
|
var model11 = null;
|
||||||
var inputSize5 = 0;
|
var inputSize6 = 0;
|
||||||
var skipped10 = Number.MAX_SAFE_INTEGER;
|
var skipped10 = Number.MAX_SAFE_INTEGER;
|
||||||
var lastTime10 = 0;
|
var lastTime10 = 0;
|
||||||
async function predict10(input, config3) {
|
async function predict10(input, config3) {
|
||||||
|
@ -5920,7 +6021,7 @@ async function predict10(input, config3) {
|
||||||
faceScore: 0,
|
faceScore: 0,
|
||||||
annotations: {}
|
annotations: {}
|
||||||
};
|
};
|
||||||
[angle, rotationMatrix, face5.tensor] = correctFaceRotation((_d = config3.face.detector) == null ? void 0 : _d.rotation, box4, input, ((_e = config3.face.mesh) == null ? void 0 : _e.enabled) ? inputSize5 : size());
|
[angle, rotationMatrix, face5.tensor] = correctFaceRotation((_d = config3.face.detector) == null ? void 0 : _d.rotation, box4, input, ((_e = config3.face.mesh) == null ? void 0 : _e.enabled) ? inputSize6 : size());
|
||||||
if ((_f = config3 == null ? void 0 : config3.filter) == null ? void 0 : _f.equalization) {
|
if ((_f = config3 == null ? void 0 : config3.filter) == null ? void 0 : _f.equalization) {
|
||||||
const equilized = await histogramEqualization(face5.tensor);
|
const equilized = await histogramEqualization(face5.tensor);
|
||||||
tfjs_esm_exports.dispose(face5.tensor);
|
tfjs_esm_exports.dispose(face5.tensor);
|
||||||
|
@ -5935,7 +6036,7 @@ async function predict10(input, config3) {
|
||||||
(box4.startPoint[0] + box4.endPoint[0]) / 2 + (box4.endPoint[0] + box4.startPoint[0]) * pt[0] / size(),
|
(box4.startPoint[0] + box4.endPoint[0]) / 2 + (box4.endPoint[0] + box4.startPoint[0]) * pt[0] / size(),
|
||||||
(box4.startPoint[1] + box4.endPoint[1]) / 2 + (box4.endPoint[1] + box4.startPoint[1]) * pt[1] / size()
|
(box4.startPoint[1] + box4.endPoint[1]) / 2 + (box4.endPoint[1] + box4.startPoint[1]) * pt[1] / size()
|
||||||
]);
|
]);
|
||||||
face5.meshRaw = face5.mesh.map((pt) => [pt[0] / (input.shape[2] || 0), pt[1] / (input.shape[1] || 0), (pt[2] || 0) / inputSize5]);
|
face5.meshRaw = face5.mesh.map((pt) => [pt[0] / (input.shape[2] || 0), pt[1] / (input.shape[1] || 0), (pt[2] || 0) / inputSize6]);
|
||||||
for (const key of Object.keys(blazeFaceLandmarks))
|
for (const key of Object.keys(blazeFaceLandmarks))
|
||||||
face5.annotations[key] = [face5.mesh[blazeFaceLandmarks[key]]];
|
face5.annotations[key] = [face5.mesh[blazeFaceLandmarks[key]]];
|
||||||
} else if (!model11) {
|
} else if (!model11) {
|
||||||
|
@ -5952,9 +6053,9 @@ async function predict10(input, config3) {
|
||||||
box4.confidence = face5.faceScore;
|
box4.confidence = face5.faceScore;
|
||||||
} else {
|
} else {
|
||||||
if ((_i = config3.face.iris) == null ? void 0 : _i.enabled)
|
if ((_i = config3.face.iris) == null ? void 0 : _i.enabled)
|
||||||
rawCoords = await augmentIris(rawCoords, face5.tensor, config3, inputSize5);
|
rawCoords = await augmentIris(rawCoords, face5.tensor, config3, inputSize6);
|
||||||
face5.mesh = transformRawCoords(rawCoords, box4, angle, rotationMatrix, inputSize5);
|
face5.mesh = transformRawCoords(rawCoords, box4, angle, rotationMatrix, inputSize6);
|
||||||
face5.meshRaw = face5.mesh.map((pt) => [pt[0] / (input.shape[2] || 0), pt[1] / (input.shape[1] || 0), (pt[2] || 0) / inputSize5]);
|
face5.meshRaw = face5.mesh.map((pt) => [pt[0] / (input.shape[2] || 0), pt[1] / (input.shape[1] || 0), (pt[2] || 0) / inputSize6]);
|
||||||
for (const key of Object.keys(meshAnnotations))
|
for (const key of Object.keys(meshAnnotations))
|
||||||
face5.annotations[key] = meshAnnotations[key].map((index2) => face5.mesh[index2]);
|
face5.annotations[key] = meshAnnotations[key].map((index2) => face5.mesh[index2]);
|
||||||
box4 = squarifyBox({ ...enlargeBox(calculateLandmarksBoundingBox(face5.mesh), ((_j = config3.face.detector) == null ? void 0 : _j.cropFactor) || 1.6), confidence: box4.confidence });
|
box4 = squarifyBox({ ...enlargeBox(calculateLandmarksBoundingBox(face5.mesh), ((_j = config3.face.detector) == null ? void 0 : _j.cropFactor) || 1.6), confidence: box4.confidence });
|
||||||
|
@ -5963,7 +6064,7 @@ async function predict10(input, config3) {
|
||||||
face5.score = face5.faceScore;
|
face5.score = face5.faceScore;
|
||||||
newCache.push(box4);
|
newCache.push(box4);
|
||||||
tfjs_esm_exports.dispose(face5.tensor);
|
tfjs_esm_exports.dispose(face5.tensor);
|
||||||
[angle, rotationMatrix, face5.tensor] = correctFaceRotation((_k = config3.face.detector) == null ? void 0 : _k.rotation, box4, input, inputSize5);
|
[angle, rotationMatrix, face5.tensor] = correctFaceRotation((_k = config3.face.detector) == null ? void 0 : _k.rotation, box4, input, inputSize6);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
faces.push(face5);
|
faces.push(face5);
|
||||||
|
@ -5983,7 +6084,7 @@ async function load11(config3) {
|
||||||
log("load model:", model11["modelUrl"]);
|
log("load model:", model11["modelUrl"]);
|
||||||
} else if (config3.debug)
|
} else if (config3.debug)
|
||||||
log("cached model:", model11["modelUrl"]);
|
log("cached model:", model11["modelUrl"]);
|
||||||
inputSize5 = model11.inputs[0].shape ? model11.inputs[0].shape[2] : 0;
|
inputSize6 = model11.inputs[0].shape ? model11.inputs[0].shape[2] : 0;
|
||||||
return model11;
|
return model11;
|
||||||
}
|
}
|
||||||
var triangulation = TRI468;
|
var triangulation = TRI468;
|
||||||
|
@ -9892,7 +9993,7 @@ function crop(box4) {
|
||||||
// src/hand/handtrack.ts
|
// src/hand/handtrack.ts
|
||||||
var models2 = [null, null];
|
var models2 = [null, null];
|
||||||
var modelOutputNodes = ["StatefulPartitionedCall/Postprocessor/Slice", "StatefulPartitionedCall/Postprocessor/ExpandDims_1"];
|
var modelOutputNodes = ["StatefulPartitionedCall/Postprocessor/Slice", "StatefulPartitionedCall/Postprocessor/ExpandDims_1"];
|
||||||
var inputSize6 = [[0, 0], [0, 0]];
|
var inputSize7 = [[0, 0], [0, 0]];
|
||||||
var classes = ["hand", "fist", "pinch", "point", "face", "tip", "pinchtip"];
|
var classes = ["hand", "fist", "pinch", "point", "face", "tip", "pinchtip"];
|
||||||
var faceIndex = 4;
|
var faceIndex = 4;
|
||||||
var boxExpandFact = 1.6;
|
var boxExpandFact = 1.6;
|
||||||
|
@ -9921,8 +10022,8 @@ async function loadDetect2(config3) {
|
||||||
fakeOps(["tensorlistreserve", "enter", "tensorlistfromtensor", "merge", "loopcond", "switch", "exit", "tensorliststack", "nextiteration", "tensorlistsetitem", "tensorlistgetitem", "reciprocal", "shape", "split", "where"], config3);
|
fakeOps(["tensorlistreserve", "enter", "tensorlistfromtensor", "merge", "loopcond", "switch", "exit", "tensorliststack", "nextiteration", "tensorlistsetitem", "tensorlistgetitem", "reciprocal", "shape", "split", "where"], config3);
|
||||||
models2[0] = await tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, ((_a = config3.hand.detector) == null ? void 0 : _a.modelPath) || ""));
|
models2[0] = await tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, ((_a = config3.hand.detector) == null ? void 0 : _a.modelPath) || ""));
|
||||||
const inputs = Object.values(models2[0].modelSignature["inputs"]);
|
const inputs = Object.values(models2[0].modelSignature["inputs"]);
|
||||||
inputSize6[0][0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;
|
inputSize7[0][0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;
|
||||||
inputSize6[0][1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;
|
inputSize7[0][1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;
|
||||||
if (!models2[0] || !models2[0]["modelUrl"])
|
if (!models2[0] || !models2[0]["modelUrl"])
|
||||||
log("load model failed:", (_b = config3.hand.detector) == null ? void 0 : _b.modelPath);
|
log("load model failed:", (_b = config3.hand.detector) == null ? void 0 : _b.modelPath);
|
||||||
else if (config3.debug)
|
else if (config3.debug)
|
||||||
|
@ -9938,8 +10039,8 @@ async function loadSkeleton(config3) {
|
||||||
if (!models2[1]) {
|
if (!models2[1]) {
|
||||||
models2[1] = await tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, ((_a = config3.hand.skeleton) == null ? void 0 : _a.modelPath) || ""));
|
models2[1] = await tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, ((_a = config3.hand.skeleton) == null ? void 0 : _a.modelPath) || ""));
|
||||||
const inputs = Object.values(models2[1].modelSignature["inputs"]);
|
const inputs = Object.values(models2[1].modelSignature["inputs"]);
|
||||||
inputSize6[1][0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;
|
inputSize7[1][0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;
|
||||||
inputSize6[1][1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;
|
inputSize7[1][1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;
|
||||||
if (!models2[1] || !models2[1]["modelUrl"])
|
if (!models2[1] || !models2[1]["modelUrl"])
|
||||||
log("load model failed:", (_b = config3.hand.skeleton) == null ? void 0 : _b.modelPath);
|
log("load model failed:", (_b = config3.hand.skeleton) == null ? void 0 : _b.modelPath);
|
||||||
else if (config3.debug)
|
else if (config3.debug)
|
||||||
|
@ -10007,7 +10108,7 @@ async function detectFingers(input, h, config3) {
|
||||||
};
|
};
|
||||||
if (input && models2[1] && config3.hand.landmarks && h.score > (config3.hand.minConfidence || 0)) {
|
if (input && models2[1] && config3.hand.landmarks && h.score > (config3.hand.minConfidence || 0)) {
|
||||||
const t = {};
|
const t = {};
|
||||||
t.crop = tfjs_esm_exports.image.cropAndResize(input, [h.boxCrop], [0], [inputSize6[1][0], inputSize6[1][1]], "bilinear");
|
t.crop = tfjs_esm_exports.image.cropAndResize(input, [h.boxCrop], [0], [inputSize7[1][0], inputSize7[1][1]], "bilinear");
|
||||||
t.div = tfjs_esm_exports.div(t.crop, constants.tf255);
|
t.div = tfjs_esm_exports.div(t.crop, constants.tf255);
|
||||||
[t.score, t.keypoints] = models2[1].execute(t.div, ["Identity_1", "Identity"]);
|
[t.score, t.keypoints] = models2[1].execute(t.div, ["Identity_1", "Identity"]);
|
||||||
const rawScore = (await t.score.data())[0];
|
const rawScore = (await t.score.data())[0];
|
||||||
|
@ -10016,7 +10117,7 @@ async function detectFingers(input, h, config3) {
|
||||||
hand3.fingerScore = score;
|
hand3.fingerScore = score;
|
||||||
t.reshaped = tfjs_esm_exports.reshape(t.keypoints, [-1, 3]);
|
t.reshaped = tfjs_esm_exports.reshape(t.keypoints, [-1, 3]);
|
||||||
const coordsData = await t.reshaped.array();
|
const coordsData = await t.reshaped.array();
|
||||||
const coordsRaw = coordsData.map((kpt4) => [kpt4[0] / inputSize6[1][1], kpt4[1] / inputSize6[1][0], kpt4[2] || 0]);
|
const coordsRaw = coordsData.map((kpt4) => [kpt4[0] / inputSize7[1][1], kpt4[1] / inputSize7[1][0], kpt4[2] || 0]);
|
||||||
const coordsNorm = coordsRaw.map((kpt4) => [kpt4[0] * h.boxRaw[2], kpt4[1] * h.boxRaw[3], kpt4[2] || 0]);
|
const coordsNorm = coordsRaw.map((kpt4) => [kpt4[0] * h.boxRaw[2], kpt4[1] * h.boxRaw[3], kpt4[2] || 0]);
|
||||||
hand3.keypoints = coordsNorm.map((kpt4) => [
|
hand3.keypoints = coordsNorm.map((kpt4) => [
|
||||||
outputSize[0] * (kpt4[0] + h.boxRaw[0]),
|
outputSize[0] * (kpt4[0] + h.boxRaw[0]),
|
||||||
|
@ -10242,7 +10343,7 @@ function jitter(keypoints) {
|
||||||
}
|
}
|
||||||
return keypoints;
|
return keypoints;
|
||||||
}
|
}
|
||||||
function padInput(input, inputSize8) {
|
function padInput(input, inputSize9) {
|
||||||
const t = {};
|
const t = {};
|
||||||
if (!input.shape || !input.shape[1] || !input.shape[2])
|
if (!input.shape || !input.shape[1] || !input.shape[2])
|
||||||
return input;
|
return input;
|
||||||
|
@ -10253,7 +10354,7 @@ function padInput(input, inputSize8) {
|
||||||
[0, 0]
|
[0, 0]
|
||||||
];
|
];
|
||||||
t.pad = tfjs_esm_exports.pad(input, cache4.padding);
|
t.pad = tfjs_esm_exports.pad(input, cache4.padding);
|
||||||
t.resize = tfjs_esm_exports.image.resizeBilinear(t.pad, [inputSize8, inputSize8]);
|
t.resize = tfjs_esm_exports.image.resizeBilinear(t.pad, [inputSize9, inputSize9]);
|
||||||
const final = tfjs_esm_exports.cast(t.resize, "int32");
|
const final = tfjs_esm_exports.cast(t.resize, "int32");
|
||||||
Object.keys(t).forEach((tensor3) => tfjs_esm_exports.dispose(t[tensor3]));
|
Object.keys(t).forEach((tensor3) => tfjs_esm_exports.dispose(t[tensor3]));
|
||||||
return final;
|
return final;
|
||||||
|
@ -10278,7 +10379,7 @@ function rescaleBody(body4, outputSize2) {
|
||||||
|
|
||||||
// src/body/movenet.ts
|
// src/body/movenet.ts
|
||||||
var model14;
|
var model14;
|
||||||
var inputSize7 = 0;
|
var inputSize8 = 0;
|
||||||
var skipped14 = Number.MAX_SAFE_INTEGER;
|
var skipped14 = Number.MAX_SAFE_INTEGER;
|
||||||
var cache5 = {
|
var cache5 = {
|
||||||
boxes: [],
|
boxes: [],
|
||||||
|
@ -10297,7 +10398,7 @@ async function load15(config3) {
|
||||||
log("load model:", model14["modelUrl"]);
|
log("load model:", model14["modelUrl"]);
|
||||||
} else if (config3.debug)
|
} else if (config3.debug)
|
||||||
log("cached model:", model14["modelUrl"]);
|
log("cached model:", model14["modelUrl"]);
|
||||||
inputSize7 = model14.inputs[0].shape ? model14.inputs[0].shape[2] : 0;
|
inputSize8 = model14.inputs[0].shape ? model14.inputs[0].shape[2] : 0;
|
||||||
return model14;
|
return model14;
|
||||||
}
|
}
|
||||||
async function parseSinglePose(res, config3, image29) {
|
async function parseSinglePose(res, config3, image29) {
|
||||||
|
@ -10393,7 +10494,7 @@ async function predict15(input, config3) {
|
||||||
return new Promise(async (resolve) => {
|
return new Promise(async (resolve) => {
|
||||||
const t = {};
|
const t = {};
|
||||||
skipped14 = 0;
|
skipped14 = 0;
|
||||||
t.input = padInput(input, inputSize7);
|
t.input = padInput(input, inputSize8);
|
||||||
t.res = model14 == null ? void 0 : model14.execute(t.input);
|
t.res = model14 == null ? void 0 : model14.execute(t.input);
|
||||||
cache5.last = now();
|
cache5.last = now();
|
||||||
const res = await t.res.array();
|
const res = await t.res.array();
|
||||||
|
@ -10426,7 +10527,7 @@ async function load16(config3) {
|
||||||
log("cached model:", model15.modelUrl);
|
log("cached model:", model15.modelUrl);
|
||||||
return model15;
|
return model15;
|
||||||
}
|
}
|
||||||
async function process4(res, inputSize8, outputShape, config3) {
|
async function process4(res, inputSize9, outputShape, config3) {
|
||||||
let id = 0;
|
let id = 0;
|
||||||
let results = [];
|
let results = [];
|
||||||
for (const strideSize of [1, 2, 4]) {
|
for (const strideSize of [1, 2, 4]) {
|
||||||
|
@ -10444,7 +10545,7 @@ async function process4(res, inputSize8, outputShape, config3) {
|
||||||
if (score > config3.object.minConfidence && j !== 61) {
|
if (score > config3.object.minConfidence && j !== 61) {
|
||||||
const cx = (0.5 + Math.trunc(i % baseSize)) / baseSize;
|
const cx = (0.5 + Math.trunc(i % baseSize)) / baseSize;
|
||||||
const cy = (0.5 + Math.trunc(i / baseSize)) / baseSize;
|
const cy = (0.5 + Math.trunc(i / baseSize)) / baseSize;
|
||||||
const boxOffset = boxIdx[i].map((a) => a * (baseSize / strideSize / inputSize8));
|
const boxOffset = boxIdx[i].map((a) => a * (baseSize / strideSize / inputSize9));
|
||||||
const [x, y] = [
|
const [x, y] = [
|
||||||
cx - scaleBox / strideSize * boxOffset[0],
|
cx - scaleBox / strideSize * boxOffset[0],
|
||||||
cy - scaleBox / strideSize * boxOffset[1]
|
cy - scaleBox / strideSize * boxOffset[1]
|
||||||
|
@ -10806,7 +10907,7 @@ function getInstanceScore(existingPoses, keypoints) {
|
||||||
}, 0);
|
}, 0);
|
||||||
return notOverlappedKeypointScores / keypoints.length;
|
return notOverlappedKeypointScores / keypoints.length;
|
||||||
}
|
}
|
||||||
function decode(offsets, scores, displacementsFwd, displacementsBwd, maxDetected, minConfidence2) {
|
function decode2(offsets, scores, displacementsFwd, displacementsBwd, maxDetected, minConfidence2) {
|
||||||
const poses = [];
|
const poses = [];
|
||||||
const queue = buildPartWithScoreQueue(minConfidence2, scores);
|
const queue = buildPartWithScoreQueue(minConfidence2, scores);
|
||||||
while (poses.length < maxDetected && !queue.empty()) {
|
while (poses.length < maxDetected && !queue.empty()) {
|
||||||
|
@ -10837,7 +10938,7 @@ async function predict17(input, config3) {
|
||||||
const buffers = await Promise.all(res.map((tensor3) => tensor3.buffer()));
|
const buffers = await Promise.all(res.map((tensor3) => tensor3.buffer()));
|
||||||
for (const t of res)
|
for (const t of res)
|
||||||
tfjs_esm_exports.dispose(t);
|
tfjs_esm_exports.dispose(t);
|
||||||
const decoded = await decode(buffers[0], buffers[1], buffers[2], buffers[3], config3.body.maxDetected, config3.body.minConfidence);
|
const decoded = await decode2(buffers[0], buffers[1], buffers[2], buffers[3], config3.body.maxDetected, config3.body.minConfidence);
|
||||||
if (!model16.inputs[0].shape)
|
if (!model16.inputs[0].shape)
|
||||||
return [];
|
return [];
|
||||||
const scaled = scalePoses(decoded, [input.shape[1], input.shape[2]], [model16.inputs[0].shape[2], model16.inputs[0].shape[1]]);
|
const scaled = scalePoses(decoded, [input.shape[1], input.shape[2]], [model16.inputs[0].shape[2], model16.inputs[0].shape[1]]);
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -35,10 +35,16 @@ export declare interface BodyConfig extends GenericConfig {
|
||||||
maxDetected: number;
|
maxDetected: number;
|
||||||
/** minimum confidence for a detected body before results are discarded */
|
/** minimum confidence for a detected body before results are discarded */
|
||||||
minConfidence: number;
|
minConfidence: number;
|
||||||
/** detector used for body model before actual analysis */
|
/** experimental: detector used for body model before actual analysis */
|
||||||
detector?: {
|
detector?: {
|
||||||
/** path to optional body detector model json file */
|
/** experimental: enable body detector before body landmarks */
|
||||||
|
enabled: boolean;
|
||||||
|
/** experimental: path to optional body detector model json file */
|
||||||
modelPath: string;
|
modelPath: string;
|
||||||
|
/** experimental: minimum confidence for a detected body before results are discarded */
|
||||||
|
minConfidence: number;
|
||||||
|
/** experimental: minimum overlap between two detected bodies before one is discarded */
|
||||||
|
iouThreshold: number;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -35,10 +35,16 @@ export declare interface BodyConfig extends GenericConfig {
|
||||||
maxDetected: number;
|
maxDetected: number;
|
||||||
/** minimum confidence for a detected body before results are discarded */
|
/** minimum confidence for a detected body before results are discarded */
|
||||||
minConfidence: number;
|
minConfidence: number;
|
||||||
/** detector used for body model before actual analysis */
|
/** experimental: detector used for body model before actual analysis */
|
||||||
detector?: {
|
detector?: {
|
||||||
/** path to optional body detector model json file */
|
/** experimental: enable body detector before body landmarks */
|
||||||
|
enabled: boolean;
|
||||||
|
/** experimental: path to optional body detector model json file */
|
||||||
modelPath: string;
|
modelPath: string;
|
||||||
|
/** experimental: minimum confidence for a detected body before results are discarded */
|
||||||
|
minConfidence: number;
|
||||||
|
/** experimental: minimum overlap between two detected bodies before one is discarded */
|
||||||
|
iouThreshold: number;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -35,10 +35,16 @@ export declare interface BodyConfig extends GenericConfig {
|
||||||
maxDetected: number;
|
maxDetected: number;
|
||||||
/** minimum confidence for a detected body before results are discarded */
|
/** minimum confidence for a detected body before results are discarded */
|
||||||
minConfidence: number;
|
minConfidence: number;
|
||||||
/** detector used for body model before actual analysis */
|
/** experimental: detector used for body model before actual analysis */
|
||||||
detector?: {
|
detector?: {
|
||||||
/** path to optional body detector model json file */
|
/** experimental: enable body detector before body landmarks */
|
||||||
|
enabled: boolean;
|
||||||
|
/** experimental: path to optional body detector model json file */
|
||||||
modelPath: string;
|
modelPath: string;
|
||||||
|
/** experimental: minimum confidence for a detected body before results are discarded */
|
||||||
|
minConfidence: number;
|
||||||
|
/** experimental: minimum overlap between two detected bodies before one is discarded */
|
||||||
|
iouThreshold: number;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -35,10 +35,16 @@ export declare interface BodyConfig extends GenericConfig {
|
||||||
maxDetected: number;
|
maxDetected: number;
|
||||||
/** minimum confidence for a detected body before results are discarded */
|
/** minimum confidence for a detected body before results are discarded */
|
||||||
minConfidence: number;
|
minConfidence: number;
|
||||||
/** detector used for body model before actual analysis */
|
/** experimental: detector used for body model before actual analysis */
|
||||||
detector?: {
|
detector?: {
|
||||||
/** path to optional body detector model json file */
|
/** experimental: enable body detector before body landmarks */
|
||||||
|
enabled: boolean;
|
||||||
|
/** experimental: path to optional body detector model json file */
|
||||||
modelPath: string;
|
modelPath: string;
|
||||||
|
/** experimental: minimum confidence for a detected body before results are discarded */
|
||||||
|
minConfidence: number;
|
||||||
|
/** experimental: minimum overlap between two detected bodies before one is discarded */
|
||||||
|
iouThreshold: number;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -9,48 +9,58 @@ import type { BodyKeypoint, BodyResult, Box, Point } from '../result';
|
||||||
import type { GraphModel, Tensor } from '../tfjs/types';
|
import type { GraphModel, Tensor } from '../tfjs/types';
|
||||||
import type { Config } from '../config';
|
import type { Config } from '../config';
|
||||||
import * as coords from './blazeposecoords';
|
import * as coords from './blazeposecoords';
|
||||||
|
import * as detect from './blazeposedetector';
|
||||||
|
|
||||||
|
interface DetectedBox { box: Box, boxRaw: Box, score: number }
|
||||||
|
|
||||||
const env = { initial: true };
|
const env = { initial: true };
|
||||||
const models: [GraphModel | null, GraphModel | null] = [null, null];
|
// const models: [GraphModel | null, GraphModel | null] = [null, null];
|
||||||
const inputSize = [[0, 0], [0, 0]];
|
const models: { detector: GraphModel | null, landmarks: GraphModel | null } = { detector: null, landmarks: null };
|
||||||
|
const inputSize: { detector: [number, number], landmarks: [number, number] } = { detector: [224, 224], landmarks: [256, 256] };
|
||||||
let skipped = Number.MAX_SAFE_INTEGER;
|
let skipped = Number.MAX_SAFE_INTEGER;
|
||||||
let outputNodes: string[]; // different for lite/full/heavy
|
const outputNodes: { detector: string[], landmarks: string[] } = {
|
||||||
|
landmarks: ['ld_3d', 'activation_segmentation', 'activation_heatmap', 'world_3d', 'output_poseflag'],
|
||||||
|
detector: [],
|
||||||
|
};
|
||||||
|
|
||||||
let cache: BodyResult | null = null;
|
let cache: BodyResult | null = null;
|
||||||
|
let lastBox: Box | undefined;
|
||||||
let padding: [number, number][] = [[0, 0], [0, 0], [0, 0], [0, 0]];
|
let padding: [number, number][] = [[0, 0], [0, 0], [0, 0], [0, 0]];
|
||||||
let lastTime = 0;
|
let lastTime = 0;
|
||||||
|
|
||||||
|
const sigmoid = (x) => (1 - (1 / (1 + Math.exp(x))));
|
||||||
|
|
||||||
export async function loadDetect(config: Config): Promise<GraphModel> {
|
export async function loadDetect(config: Config): Promise<GraphModel> {
|
||||||
if (env.initial) models[0] = null;
|
if (env.initial) models.detector = null;
|
||||||
if (!models[0] && config.body.detector?.modelPath || '') {
|
if (!models.detector && config.body['detector'] && config.body['detector']['modelPath'] || '') {
|
||||||
models[0] = await tf.loadGraphModel(join(config.modelBasePath, config.body.detector?.modelPath || '')) as unknown as GraphModel;
|
models.detector = await tf.loadGraphModel(join(config.modelBasePath, config.body['detector']['modelPath'] || '')) as unknown as GraphModel;
|
||||||
const inputs = Object.values(models[0].modelSignature['inputs']);
|
const inputs = Object.values(models.detector.modelSignature['inputs']);
|
||||||
inputSize[0][0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;
|
inputSize.detector[0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;
|
||||||
inputSize[0][1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;
|
inputSize.detector[1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;
|
||||||
if (!models[0] || !models[0]['modelUrl']) log('load model failed:', config.body.detector?.modelPath);
|
if (!models.detector || !models.detector['modelUrl']) log('load model failed:', config.body['detector']['modelPath']);
|
||||||
else if (config.debug) log('load model:', models[0]['modelUrl']);
|
else if (config.debug) log('load model:', models.detector['modelUrl']);
|
||||||
} else if (config.debug && models[0]) log('cached model:', models[0]['modelUrl']);
|
} else if (config.debug && models.detector) log('cached model:', models.detector['modelUrl']);
|
||||||
return models[0] as GraphModel;
|
await detect.createAnchors();
|
||||||
|
return models.detector as GraphModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function loadPose(config: Config): Promise<GraphModel> {
|
export async function loadPose(config: Config): Promise<GraphModel> {
|
||||||
if (env.initial) models[1] = null;
|
if (env.initial) models.landmarks = null;
|
||||||
if (!models[1]) {
|
if (!models.landmarks) {
|
||||||
models[1] = await tf.loadGraphModel(join(config.modelBasePath, config.body.modelPath || '')) as unknown as GraphModel;
|
models.landmarks = await tf.loadGraphModel(join(config.modelBasePath, config.body.modelPath || '')) as unknown as GraphModel;
|
||||||
const inputs = Object.values(models[1].modelSignature['inputs']);
|
const inputs = Object.values(models.landmarks.modelSignature['inputs']);
|
||||||
inputSize[1][0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;
|
inputSize.landmarks[0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;
|
||||||
inputSize[1][1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;
|
inputSize.landmarks[1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;
|
||||||
if (config.body.modelPath?.includes('lite')) outputNodes = ['ld_3d', 'output_segmentation', 'output_heatmap', 'world_3d', 'output_poseflag'];
|
if (!models.landmarks || !models.landmarks['modelUrl']) log('load model failed:', config.body.modelPath);
|
||||||
else outputNodes = ['Identity', 'Identity_2', 'Identity_3', 'Identity_4', 'Identity_1']; // v2 from pinto full and heavy
|
else if (config.debug) log('load model:', models.landmarks['modelUrl']);
|
||||||
if (!models[1] || !models[1]['modelUrl']) log('load model failed:', config.body.modelPath);
|
} else if (config.debug) log('cached model:', models.landmarks['modelUrl']);
|
||||||
else if (config.debug) log('load model:', models[1]['modelUrl']);
|
return models.landmarks;
|
||||||
} else if (config.debug) log('cached model:', models[1]['modelUrl']);
|
|
||||||
return models[1];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function load(config: Config): Promise<[GraphModel | null, GraphModel | null]> {
|
export async function load(config: Config): Promise<[GraphModel | null, GraphModel | null]> {
|
||||||
if (!models[0]) await loadDetect(config);
|
if (!models.detector) await loadDetect(config);
|
||||||
if (!models[1]) await loadPose(config);
|
if (!models.landmarks) await loadPose(config);
|
||||||
return models;
|
return [models.detector, models.landmarks];
|
||||||
}
|
}
|
||||||
|
|
||||||
function calculateBoxes(keypoints: Array<BodyKeypoint>, outputSize: [number, number]): { keypointsBox: Box, keypointsBoxRaw: Box } {
|
function calculateBoxes(keypoints: Array<BodyKeypoint>, outputSize: [number, number]): { keypointsBox: Box, keypointsBoxRaw: Box } {
|
||||||
|
@ -61,22 +71,32 @@ function calculateBoxes(keypoints: Array<BodyKeypoint>, outputSize: [number, num
|
||||||
return { keypointsBox, keypointsBoxRaw };
|
return { keypointsBox, keypointsBoxRaw };
|
||||||
}
|
}
|
||||||
|
|
||||||
async function prepareImage(input: Tensor): Promise<Tensor> {
|
async function prepareImage(input: Tensor, size: number, box?: Box): Promise<Tensor> {
|
||||||
const t: Record<string, Tensor> = {};
|
const t: Record<string, Tensor> = {};
|
||||||
if (!input.shape || !input.shape[1] || !input.shape[2]) return input;
|
if (!input.shape || !input.shape[1] || !input.shape[2]) return input;
|
||||||
let final: Tensor;
|
let final: Tensor;
|
||||||
if (input.shape[1] !== input.shape[2]) { // only pad if width different than height
|
if (input.shape[1] !== input.shape[2]) { // only pad if width different than height
|
||||||
|
const height: [number, number] = box
|
||||||
|
? [Math.trunc(input.shape[1] * box[1]), Math.trunc(input.shape[1] * (box[1] + box[3]))]
|
||||||
|
: [input.shape[2] > input.shape[1] ? Math.trunc((input.shape[2] - input.shape[1]) / 2) : 0, input.shape[2] > input.shape[1] ? Math.trunc((input.shape[2] - input.shape[1]) / 2) : 0];
|
||||||
|
const width: [number, number] = box
|
||||||
|
? [Math.trunc(input.shape[2] * box[0]), Math.trunc(input.shape[2] * (box[0] + box[2]))]
|
||||||
|
: [input.shape[1] > input.shape[2] ? Math.trunc((input.shape[1] - input.shape[2]) / 2) : 0, input.shape[1] > input.shape[2] ? Math.trunc((input.shape[1] - input.shape[2]) / 2) : 0];
|
||||||
padding = [
|
padding = [
|
||||||
[0, 0], // dont touch batch
|
[0, 0], // dont touch batch
|
||||||
[input.shape[2] > input.shape[1] ? Math.trunc((input.shape[2] - input.shape[1]) / 2) : 0, input.shape[2] > input.shape[1] ? Math.trunc((input.shape[2] - input.shape[1]) / 2) : 0], // height before&after
|
height, // height before&after
|
||||||
[input.shape[1] > input.shape[2] ? Math.trunc((input.shape[1] - input.shape[2]) / 2) : 0, input.shape[1] > input.shape[2] ? Math.trunc((input.shape[1] - input.shape[2]) / 2) : 0], // width before&after
|
width, // width before&after
|
||||||
[0, 0], // dont touch rbg
|
[0, 0], // dont touch rbg
|
||||||
];
|
];
|
||||||
t.pad = tf.pad(input, padding);
|
if (box) {
|
||||||
t.resize = tf.image.resizeBilinear(t.pad, [inputSize[1][0], inputSize[1][1]]);
|
t.resize = tf.image.cropAndResize(input, [box], [0], [size, size]);
|
||||||
|
} else {
|
||||||
|
t.pad = tf.pad(input, padding);
|
||||||
|
t.resize = tf.image.resizeBilinear(t.pad, [size, size]);
|
||||||
|
}
|
||||||
final = tf.div(t.resize, constants.tf255);
|
final = tf.div(t.resize, constants.tf255);
|
||||||
} else if (input.shape[1] !== inputSize[1][0]) { // if input needs resizing
|
} else if (input.shape[1] !== size) { // if input needs resizing
|
||||||
t.resize = tf.image.resizeBilinear(input, [inputSize[1][0], inputSize[1][1]]);
|
t.resize = tf.image.resizeBilinear(input, [size, size]);
|
||||||
final = tf.div(t.resize, constants.tf255);
|
final = tf.div(t.resize, constants.tf255);
|
||||||
} else { // if input is already in a correct resolution just normalize it
|
} else { // if input is already in a correct resolution just normalize it
|
||||||
final = tf.div(input, constants.tf255);
|
final = tf.div(input, constants.tf255);
|
||||||
|
@ -88,47 +108,54 @@ async function prepareImage(input: Tensor): Promise<Tensor> {
|
||||||
function rescaleKeypoints(keypoints: Array<BodyKeypoint>, outputSize: [number, number]): Array<BodyKeypoint> {
|
function rescaleKeypoints(keypoints: Array<BodyKeypoint>, outputSize: [number, number]): Array<BodyKeypoint> {
|
||||||
for (const kpt of keypoints) {
|
for (const kpt of keypoints) {
|
||||||
kpt.position = [
|
kpt.position = [
|
||||||
kpt.position[0] * (outputSize[0] + padding[2][0] + padding[2][1]) / outputSize[0] - padding[2][0],
|
Math.trunc(kpt.position[0] * (outputSize[0] + padding[2][0] + padding[2][1]) / outputSize[0] - padding[2][0]),
|
||||||
kpt.position[1] * (outputSize[1] + padding[1][0] + padding[1][1]) / outputSize[1] - padding[1][0],
|
Math.trunc(kpt.position[1] * (outputSize[1] + padding[1][0] + padding[1][1]) / outputSize[1] - padding[1][0]),
|
||||||
kpt.position[2] as number,
|
kpt.position[2] as number,
|
||||||
];
|
];
|
||||||
kpt.positionRaw = [
|
kpt.positionRaw = [kpt.position[0] / outputSize[0], kpt.position[1] / outputSize[1], kpt.position[2] as number];
|
||||||
kpt.position[0] / outputSize[0], kpt.position[1] / outputSize[1], kpt.position[2] as number,
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
return keypoints;
|
return keypoints;
|
||||||
}
|
}
|
||||||
|
|
||||||
const sigmoid = (x) => (1 - (1 / (1 + Math.exp(x))));
|
function rescaleBoxes(boxes: Array<DetectedBox>, outputSize: [number, number]): Array<DetectedBox> {
|
||||||
|
for (const box of boxes) {
|
||||||
|
box.box = [
|
||||||
|
Math.trunc(box.box[0] * (outputSize[0] + padding[2][0] + padding[2][1]) / outputSize[0]),
|
||||||
|
Math.trunc(box.box[1] * (outputSize[1] + padding[1][0] + padding[1][1]) / outputSize[1]),
|
||||||
|
Math.trunc(box.box[2] * (outputSize[0] + padding[2][0] + padding[2][1]) / outputSize[0]),
|
||||||
|
Math.trunc(box.box[3] * (outputSize[1] + padding[1][0] + padding[1][1]) / outputSize[1]),
|
||||||
|
];
|
||||||
|
box.boxRaw = [box.box[0] / outputSize[0], box.box[1] / outputSize[1], box.box[2] / outputSize[0], box.box[3] / outputSize[1]];
|
||||||
|
}
|
||||||
|
return boxes;
|
||||||
|
}
|
||||||
|
|
||||||
async function detectParts(input: Tensor, config: Config, outputSize: [number, number]): Promise<BodyResult | null> {
|
async function detectLandmarks(input: Tensor, config: Config, outputSize: [number, number]): Promise<BodyResult | null> {
|
||||||
const t: Record<string, Tensor> = {};
|
|
||||||
t.input = await prepareImage(input);
|
|
||||||
/**
|
/**
|
||||||
* t.ld: 39 keypoints [x,y,z,score,presence] normalized to input size
|
* t.ld: 39 keypoints [x,y,z,score,presence] normalized to input size
|
||||||
* t.segmentation:
|
* t.segmentation:
|
||||||
* t.heatmap:
|
* t.heatmap:
|
||||||
* t.world: 39 keypoints [x,y,z] normalized to -1..1
|
* t.world: 39 keypoints [x,y,z] normalized to -1..1
|
||||||
* t.poseflag: body score
|
* t.poseflag: body score
|
||||||
*/
|
*/
|
||||||
[t.ld/* 1,195(39*5) */, t.segmentation/* 1,256,256,1 */, t.heatmap/* 1,64,64,39 */, t.world/* 1,117(39*3) */, t.poseflag/* 1,1 */] = models[1]?.execute(t.input, outputNodes) as Tensor[]; // run model
|
const t: Record<string, Tensor> = {};
|
||||||
const poseScoreRaw = (await t.poseflag.data())[0];
|
[t.ld/* 1,195(39*5) */, t.segmentation/* 1,256,256,1 */, t.heatmap/* 1,64,64,39 */, t.world/* 1,117(39*3) */, t.poseflag/* 1,1 */] = models.landmarks?.execute(input, outputNodes.landmarks) as Tensor[]; // run model
|
||||||
const poseScore = Math.max(0, (poseScoreRaw - 0.8) / (1 - 0.8)); // blow up score variance 5x
|
const poseScore = (await t.poseflag.data())[0];
|
||||||
const points = await t.ld.data();
|
const points = await t.ld.data();
|
||||||
|
Object.keys(t).forEach((tensor) => tf.dispose(t[tensor])); // dont need tensors after this
|
||||||
const keypointsRelative: Array<BodyKeypoint> = [];
|
const keypointsRelative: Array<BodyKeypoint> = [];
|
||||||
const depth = 5; // each points has x,y,z,visibility,presence
|
const depth = 5; // each points has x,y,z,visibility,presence
|
||||||
for (let i = 0; i < points.length / depth; i++) {
|
for (let i = 0; i < points.length / depth; i++) {
|
||||||
const score = sigmoid(points[depth * i + 3]);
|
const score = sigmoid(points[depth * i + 3]);
|
||||||
const presence = sigmoid(points[depth * i + 4]);
|
const presence = sigmoid(points[depth * i + 4]);
|
||||||
const adjScore = Math.trunc(100 * score * presence * poseScore) / 100;
|
const adjScore = Math.trunc(100 * score * presence * poseScore) / 100;
|
||||||
const positionRaw: Point = [points[depth * i + 0] / inputSize[1][0], points[depth * i + 1] / inputSize[1][1], points[depth * i + 2] + 0];
|
const positionRaw: Point = [points[depth * i + 0] / inputSize.landmarks[0], points[depth * i + 1] / inputSize.landmarks[1], points[depth * i + 2] + 0];
|
||||||
const position: Point = [Math.trunc(outputSize[0] * positionRaw[0]), Math.trunc(outputSize[1] * positionRaw[1]), positionRaw[2] as number];
|
const position: Point = [Math.trunc(outputSize[0] * positionRaw[0]), Math.trunc(outputSize[1] * positionRaw[1]), positionRaw[2] as number];
|
||||||
keypointsRelative.push({ part: coords.kpt[i], positionRaw, position, score: adjScore });
|
keypointsRelative.push({ part: coords.kpt[i], positionRaw, position, score: adjScore });
|
||||||
}
|
}
|
||||||
if (poseScore < (config.body.minConfidence || 0)) return null;
|
if (poseScore < (config.body.minConfidence || 0)) return null;
|
||||||
const keypoints: Array<BodyKeypoint> = rescaleKeypoints(keypointsRelative, outputSize); // keypoints were relative to input image which is cropped
|
const keypoints: Array<BodyKeypoint> = rescaleKeypoints(keypointsRelative, outputSize); // keypoints were relative to input image which is padded
|
||||||
const boxes = calculateBoxes(keypoints, [outputSize[0], outputSize[1]]); // now find boxes based on rescaled keypoints
|
const boxes = calculateBoxes(keypoints, [outputSize[0], outputSize[1]]); // now find boxes based on rescaled keypoints
|
||||||
Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));
|
|
||||||
const annotations: Record<string, Point[][]> = {};
|
const annotations: Record<string, Point[][]> = {};
|
||||||
for (const [name, indexes] of Object.entries(coords.connected)) {
|
for (const [name, indexes] of Object.entries(coords.connected)) {
|
||||||
const pt: Array<Point[]> = [];
|
const pt: Array<Point[]> = [];
|
||||||
|
@ -144,6 +171,19 @@ async function detectParts(input: Tensor, config: Config, outputSize: [number, n
|
||||||
return body;
|
return body;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function detectBoxes(input: Tensor, config: Config, outputSize: [number, number]) {
|
||||||
|
const t: Record<string, Tensor> = {};
|
||||||
|
t.res = models.detector?.execute(input, ['Identity']) as Tensor; //
|
||||||
|
t.logitsRaw = tf.slice(t.res, [0, 0, 0], [1, -1, 1]);
|
||||||
|
t.boxesRaw = tf.slice(t.res, [0, 0, 1], [1, -1, -1]);
|
||||||
|
t.logits = tf.squeeze(t.logitsRaw);
|
||||||
|
t.boxes = tf.squeeze(t.boxesRaw);
|
||||||
|
const boxes = await detect.decode(t.boxes, t.logits, config, outputSize);
|
||||||
|
rescaleBoxes(boxes, outputSize);
|
||||||
|
Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));
|
||||||
|
return boxes;
|
||||||
|
}
|
||||||
|
|
||||||
export async function predict(input: Tensor, config: Config): Promise<BodyResult[]> {
|
export async function predict(input: Tensor, config: Config): Promise<BodyResult[]> {
|
||||||
const outputSize: [number, number] = [input.shape[2] || 0, input.shape[1] || 0];
|
const outputSize: [number, number] = [input.shape[2] || 0, input.shape[1] || 0];
|
||||||
const skipTime = (config.body.skipTime || 0) > (now() - lastTime);
|
const skipTime = (config.body.skipTime || 0) > (now() - lastTime);
|
||||||
|
@ -151,7 +191,31 @@ export async function predict(input: Tensor, config: Config): Promise<BodyResult
|
||||||
if (config.skipAllowed && skipTime && skipFrame && cache !== null) {
|
if (config.skipAllowed && skipTime && skipFrame && cache !== null) {
|
||||||
skipped++;
|
skipped++;
|
||||||
} else {
|
} else {
|
||||||
cache = await detectParts(input, config, outputSize);
|
const t: Record<string, Tensor> = {};
|
||||||
|
if (config.body['detector'] && config.body['detector']['enabled']) {
|
||||||
|
t.detector = await prepareImage(input, 224);
|
||||||
|
const boxes = await detectBoxes(t.detector, config, outputSize);
|
||||||
|
if (boxes && boxes.length === 1) {
|
||||||
|
t.landmarks = await prepareImage(input, 256, boxes[0].box); // padded and resized according to detector
|
||||||
|
cache = await detectLandmarks(t.landmarks, config, outputSize);
|
||||||
|
}
|
||||||
|
if (cache) cache.score = boxes[0].score;
|
||||||
|
} else {
|
||||||
|
t.landmarks = await prepareImage(input, 256, lastBox); // padded and resized
|
||||||
|
cache = await detectLandmarks(t.landmarks, config, outputSize);
|
||||||
|
/*
|
||||||
|
lastBox = undefined;
|
||||||
|
if (cache?.box) {
|
||||||
|
const cx = cache.boxRaw[0] + (cache.boxRaw[2] / 2);
|
||||||
|
const cy = cache.boxRaw[1] + (cache.boxRaw[3] / 2);
|
||||||
|
let size = cache.boxRaw[2] > cache.boxRaw[3] ? cache.boxRaw[2] : cache.boxRaw[3];
|
||||||
|
size = (size * 1.2) / 2; // enlarge and half it
|
||||||
|
lastBox = [cx - size, cy - size, 2 * size, 2 * size];
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));
|
||||||
|
// if (cache && boxes.length > 0) cache.box = boxes[0].box;
|
||||||
lastTime = now();
|
lastTime = now();
|
||||||
skipped = 0;
|
skipped = 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,111 @@
|
||||||
|
import * as tf from '../../dist/tfjs.esm.js';
|
||||||
|
import type { Tensor } from '../tfjs/types';
|
||||||
|
import type { Box } from '../result';
|
||||||
|
import type { Config } from '../config';
|
||||||
|
|
||||||
|
interface DetectedBox { box: Box, boxRaw: Box, score: number }
|
||||||
|
|
||||||
|
const inputSize = 224;
|
||||||
|
let anchorTensor: { x, y };
|
||||||
|
const numLayers = 5;
|
||||||
|
const strides = [8, 16, 32, 32, 32];
|
||||||
|
|
||||||
|
export async function createAnchors() {
|
||||||
|
const anchors: Array<{ x: number, y: number }> = [];
|
||||||
|
let layerId = 0;
|
||||||
|
while (layerId < numLayers) {
|
||||||
|
let anchorCount = 0;
|
||||||
|
let lastSameStrideLayer = layerId;
|
||||||
|
while (lastSameStrideLayer < strides.length && strides[lastSameStrideLayer] === strides[layerId]) {
|
||||||
|
anchorCount += 2;
|
||||||
|
lastSameStrideLayer++;
|
||||||
|
}
|
||||||
|
const stride = strides[layerId];
|
||||||
|
const featureMapHeight = Math.ceil(inputSize / stride);
|
||||||
|
const featureMapWidth = Math.ceil(inputSize / stride);
|
||||||
|
for (let y = 0; y < featureMapHeight; ++y) {
|
||||||
|
for (let x = 0; x < featureMapWidth; ++x) {
|
||||||
|
for (let anchorId = 0; anchorId < anchorCount; ++anchorId) {
|
||||||
|
anchors.push({ x: (x + 0.5) / featureMapWidth, y: (y + 0.5) / featureMapHeight });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layerId = lastSameStrideLayer;
|
||||||
|
}
|
||||||
|
anchorTensor = { x: tf.tensor1d(anchors.map((a) => a.x)), y: tf.tensor1d(anchors.map((a) => a.y)) };
|
||||||
|
}
|
||||||
|
|
||||||
|
const cropFactor = [5.0, 5.0];
|
||||||
|
function decodeBoxes(boxesTensor, anchor): Tensor {
|
||||||
|
return tf.tidy(() => {
|
||||||
|
const split = tf.split(boxesTensor, 12, 1); // first 4 are box data [x,y,w,h] and 4 are keypoints data [x,y] for total of 12
|
||||||
|
let xCenter = tf.squeeze(split[0]);
|
||||||
|
let yCenter = tf.squeeze(split[1]);
|
||||||
|
let width = tf.squeeze(split[2]);
|
||||||
|
let height = tf.squeeze(split[3]);
|
||||||
|
xCenter = tf.add(tf.div(xCenter, inputSize), anchor.x);
|
||||||
|
yCenter = tf.add(tf.div(yCenter, inputSize), anchor.y);
|
||||||
|
width = tf.mul(tf.div(width, inputSize), cropFactor[0]);
|
||||||
|
height = tf.mul(tf.div(height, inputSize), cropFactor[1]);
|
||||||
|
const xMin = tf.sub(xCenter, tf.div(width, 2));
|
||||||
|
const yMin = tf.sub(yCenter, tf.div(height, 2));
|
||||||
|
const boxes = tf.stack([xMin, yMin, width, height], 1);
|
||||||
|
return boxes;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function decode(boxesTensor: Tensor, logitsTensor: Tensor, config: Config, outputSize: [number, number]): Promise<DetectedBox[]> {
|
||||||
|
const t: Record<string, Tensor> = {};
|
||||||
|
t.boxes = decodeBoxes(boxesTensor, anchorTensor);
|
||||||
|
t.scores = tf.sigmoid(logitsTensor);
|
||||||
|
t.argmax = tf.argMax(t.scores);
|
||||||
|
const i = (await t.argmax.data())[0] as number;
|
||||||
|
const scores = await t.scores.data();
|
||||||
|
const detected: Array<{ box: Box, boxRaw: Box, score: number }> = [];
|
||||||
|
const minScore = (config.body['detector'] && config.body['detector']['minConfidence']) ? config.body['detector']['minConfidence'] : 0;
|
||||||
|
if (scores[i] >= minScore) {
|
||||||
|
const boxes = await t.boxes.array();
|
||||||
|
const boxRaw: Box = boxes[i];
|
||||||
|
const box: Box = [boxRaw[0] * outputSize[0], boxRaw[1] * outputSize[1], boxRaw[2] * outputSize[0], boxRaw[3] * outputSize[1]];
|
||||||
|
// console.log(box);
|
||||||
|
detected.push({ box, boxRaw, score: scores[i] });
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
t.nms = await tf.image.nonMaxSuppressionAsync(t.boxes, t.scores, 1, config.body.detector?.minConfidence || 0.1, config.body.detector?.iouThreshold || 0.1);
|
||||||
|
const boxes = t.boxes.arraySync();
|
||||||
|
const scores = t.scores.dataSync();
|
||||||
|
const nms = t.nms.dataSync();
|
||||||
|
const detected: Array<DetectedBox> = [];
|
||||||
|
for (const i of Array.from(nms)) {
|
||||||
|
const boxRaw: Box = boxes[i];
|
||||||
|
const box: Box = [boxRaw[0] * outputSize[0], boxRaw[0] * outputSize[1], boxRaw[3] * outputSize[0], boxRaw[2] * outputSize[1]];
|
||||||
|
detected.push({ box, boxRaw, score: scores[i] });
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));
|
||||||
|
return detected;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
const humanConfig: Partial<Config> = {
|
||||||
|
warmup: 'full' as const,
|
||||||
|
modelBasePath: '../../models',
|
||||||
|
cacheSensitivity: 0,
|
||||||
|
filter: { enabled: false },
|
||||||
|
face: { enabled: false },
|
||||||
|
hand: { enabled: false },
|
||||||
|
object: { enabled: false },
|
||||||
|
gesture: { enabled: false },
|
||||||
|
body: {
|
||||||
|
enabled: true,
|
||||||
|
minConfidence: 0.1,
|
||||||
|
modelPath: 'blazepose/blazepose-full.json',
|
||||||
|
detector: {
|
||||||
|
enabled: false,
|
||||||
|
modelPath: 'blazepose/blazepose-detector.json',
|
||||||
|
minConfidence: 0.1,
|
||||||
|
iouThreshold: 0.1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
*/
|
|
@ -78,11 +78,19 @@ export interface BodyConfig extends GenericConfig {
|
||||||
maxDetected: number,
|
maxDetected: number,
|
||||||
/** minimum confidence for a detected body before results are discarded */
|
/** minimum confidence for a detected body before results are discarded */
|
||||||
minConfidence: number,
|
minConfidence: number,
|
||||||
/** detector used for body model before actual analysis */
|
/* experimental
|
||||||
|
/** experimental: detector used for body model before actual analysis
|
||||||
detector?: {
|
detector?: {
|
||||||
/** path to optional body detector model json file */
|
/** experimental: enable body detector before body landmarks
|
||||||
modelPath: string
|
enabled: boolean,
|
||||||
|
/** experimental: path to optional body detector model json file
|
||||||
|
modelPath: string,
|
||||||
|
/** experimental: minimum confidence for a detected body before results are discarded
|
||||||
|
minConfidence: number,
|
||||||
|
/** experimental: minimum overlap between two detected bodies before one is discarded
|
||||||
|
iouThreshold: number
|
||||||
},
|
},
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Configures all hand detection specific options */
|
/** Configures all hand detection specific options */
|
||||||
|
@ -365,9 +373,6 @@ const config: Config = {
|
||||||
body: {
|
body: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
modelPath: 'movenet-lightning.json',
|
modelPath: 'movenet-lightning.json',
|
||||||
detector: {
|
|
||||||
modelPath: '',
|
|
||||||
},
|
|
||||||
maxDetected: -1,
|
maxDetected: -1,
|
||||||
minConfidence: 0.3,
|
minConfidence: 0.3,
|
||||||
skipFrames: 1,
|
skipFrames: 1,
|
||||||
|
|
767
test/build.log
767
test/build.log
|
@ -1,25 +1,742 @@
|
||||||
2021-11-21 16:47:59 [36mINFO: [39m Application: {"name":"@vladmandic/human","version":"2.5.3"}
|
2021-11-22 13:32:41 [36mINFO: [39m Application: {"name":"@vladmandic/human","version":"2.5.3"}
|
||||||
2021-11-21 16:47:59 [36mINFO: [39m Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
|
2021-11-22 13:32:41 [36mINFO: [39m Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
|
||||||
2021-11-21 16:47:59 [36mINFO: [39m Toolchain: {"build":"0.6.4","esbuild":"0.13.15","typescript":"4.5.2","typedoc":"0.22.9","eslint":"8.3.0"}
|
2021-11-22 13:32:41 [36mINFO: [39m Toolchain: {"build":"0.6.4","esbuild":"0.13.15","typescript":"4.5.2","typedoc":"0.22.9","eslint":"8.3.0"}
|
||||||
2021-11-21 16:47:59 [36mINFO: [39m Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
|
2021-11-22 13:32:41 [36mINFO: [39m Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
|
||||||
2021-11-21 16:47:59 [35mSTATE:[39m Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]}
|
2021-11-22 13:32:41 [35mSTATE:[39m Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]}
|
||||||
2021-11-21 16:47:59 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
2021-11-22 13:32:41 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
2021-11-21 16:47:59 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":548495,"outputBytes":463490}
|
2021-11-22 13:32:41 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555054,"outputBytes":468176}
|
||||||
2021-11-21 16:47:59 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
2021-11-22 13:32:41 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
2021-11-21 16:47:59 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":548503,"outputBytes":463494}
|
2021-11-22 13:32:41 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555062,"outputBytes":468180}
|
||||||
2021-11-21 16:47:59 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
2021-11-22 13:32:41 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
2021-11-21 16:47:59 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":548570,"outputBytes":463566}
|
2021-11-22 13:32:41 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555129,"outputBytes":468252}
|
||||||
2021-11-21 16:47:59 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
2021-11-22 13:32:41 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
2021-11-21 16:47:59 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
2021-11-22 13:32:41 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
2021-11-21 16:47:59 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":548132,"outputBytes":465247}
|
2021-11-22 13:32:42 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":554691,"outputBytes":470250}
|
||||||
2021-11-21 16:48:00 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
2021-11-22 13:32:42 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
2021-11-21 16:48:00 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3047825,"outputBytes":1625313}
|
2021-11-22 13:32:42 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3054384,"outputBytes":1627443}
|
||||||
2021-11-21 16:48:01 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3047825,"outputBytes":2971260}
|
2021-11-22 13:32:43 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3054384,"outputBytes":2977162}
|
||||||
2021-11-21 16:48:21 [35mSTATE:[39m Typings: {"input":"src/human.ts","output":"types/lib","files":108}
|
2021-11-22 13:33:04 [35mSTATE:[39m Typings: {"input":"src/human.ts","output":"types/lib","files":110}
|
||||||
2021-11-21 16:48:21 [33mWARN: [39m You are running with an unsupported TypeScript version! TypeDoc supports 4.0, 4.1, 4.2, 4.3, 4.4
|
2021-11-22 13:33:04 [33mWARN: [39m You are running with an unsupported TypeScript version! TypeDoc supports 4.0, 4.1, 4.2, 4.3, 4.4
|
||||||
2021-11-21 16:48:29 [35mSTATE:[39m TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":52,"generated":true}
|
2021-11-22 13:33:12 [35mSTATE:[39m TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":52,"generated":true}
|
||||||
2021-11-21 16:48:29 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
|
2021-11-22 13:33:12 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6383,"outputBytes":4236}
|
||||||
2021-11-21 16:48:29 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
2021-11-22 13:33:12 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
2021-11-21 16:49:07 [35mSTATE:[39m Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":93,"errors":0,"warnings":0}
|
2021-11-22 13:33:54 [35mSTATE:[39m Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":94,"errors":0,"warnings":0}
|
||||||
2021-11-21 16:49:08 [35mSTATE:[39m ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
|
2021-11-22 13:33:54 [35mSTATE:[39m ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
|
||||||
2021-11-21 16:49:08 [36mINFO: [39m Done...
|
2021-11-22 13:33:54 [36mINFO: [39m Done...
|
||||||
|
2021-11-22 13:41:02 [36mINFO: [39m @vladmandic/human version 2.5.3
|
||||||
|
2021-11-22 13:41:02 [36mINFO: [39m User: vlado Platform: linux Arch: x64 Node: v17.0.1
|
||||||
|
2021-11-22 13:41:02 [36mINFO: [39m Application: {"name":"@vladmandic/human","version":"2.5.3"}
|
||||||
|
2021-11-22 13:41:02 [36mINFO: [39m Environment: {"profile":"development","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
|
||||||
|
2021-11-22 13:41:02 [36mINFO: [39m Toolchain: {"build":"0.6.4","esbuild":"0.13.15","typescript":"4.5.2","typedoc":"0.22.9","eslint":"8.3.0"}
|
||||||
|
2021-11-22 13:41:02 [36mINFO: [39m Build: {"profile":"development","steps":["serve","watch","compile"]}
|
||||||
|
2021-11-22 13:41:02 [35mSTATE:[39m WebServer: {"ssl":false,"port":10030,"root":"."}
|
||||||
|
2021-11-22 13:41:02 [35mSTATE:[39m WebServer: {"ssl":true,"port":10031,"root":".","sslKey":"node_modules/@vladmandic/build/cert/https.key","sslCrt":"node_modules/@vladmandic/build/cert/https.crt"}
|
||||||
|
2021-11-22 13:41:02 [35mSTATE:[39m Watch: {"locations":["src/**","README.md","src/**/*","tfjs/**/*","demo/**/*.ts"]}
|
||||||
|
2021-11-22 13:41:02 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 13:41:02 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555503,"outputBytes":468601}
|
||||||
|
2021-11-22 13:41:02 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 13:41:02 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555511,"outputBytes":468605}
|
||||||
|
2021-11-22 13:41:02 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 13:41:02 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555578,"outputBytes":468677}
|
||||||
|
2021-11-22 13:41:02 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 13:41:02 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 13:41:02 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555140,"outputBytes":470675}
|
||||||
|
2021-11-22 13:41:02 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 13:41:03 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3054833,"outputBytes":1627655}
|
||||||
|
2021-11-22 13:41:03 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3054833,"outputBytes":2977587}
|
||||||
|
2021-11-22 13:41:03 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6383,"outputBytes":4236}
|
||||||
|
2021-11-22 13:41:03 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 13:41:03 [36mINFO: [39m Listening...
|
||||||
|
2021-11-22 13:41:06 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:06 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":4236,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:06 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2977587,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:06 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:06 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":9167,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:06 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4833416,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:06 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":147545,"url":"/models/blazepose/blazepose-full.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:06 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":134678,"url":"/models/blazepose/blazepose-detector.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:06 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:06 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6338290,"url":"/models/blazepose/blazepose-full.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:06 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5928856,"url":"/models/blazepose/blazepose-detector.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:32 [36mINFO: [39m Watch: {"event":"modify","input":"demo/typescript/index.ts"}
|
||||||
|
2021-11-22 13:41:32 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 13:41:32 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555503,"outputBytes":468601}
|
||||||
|
2021-11-22 13:41:32 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 13:41:32 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555511,"outputBytes":468605}
|
||||||
|
2021-11-22 13:41:32 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 13:41:32 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555578,"outputBytes":468677}
|
||||||
|
2021-11-22 13:41:32 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 13:41:32 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 13:41:32 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555140,"outputBytes":470675}
|
||||||
|
2021-11-22 13:41:32 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 13:41:33 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3054833,"outputBytes":1627655}
|
||||||
|
2021-11-22 13:41:34 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3054833,"outputBytes":2977587}
|
||||||
|
2021-11-22 13:41:34 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 13:41:34 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 13:41:41 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:41 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":4237,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:41 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2977587,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:41 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:41 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":9168,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:41 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4833416,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:41 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":147545,"url":"/models/blazepose/blazepose-full.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:41 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":134678,"url":"/models/blazepose/blazepose-detector.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:41 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:41 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6338290,"url":"/models/blazepose/blazepose-full.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:41:41 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5928856,"url":"/models/blazepose/blazepose-detector.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:42:47 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 13:42:47 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 13:42:47 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555542,"outputBytes":468640}
|
||||||
|
2021-11-22 13:42:47 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 13:42:47 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555550,"outputBytes":468644}
|
||||||
|
2021-11-22 13:42:47 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 13:42:47 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555617,"outputBytes":468716}
|
||||||
|
2021-11-22 13:42:47 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 13:42:47 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 13:42:47 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555179,"outputBytes":470714}
|
||||||
|
2021-11-22 13:42:47 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 13:42:48 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3054872,"outputBytes":1627687}
|
||||||
|
2021-11-22 13:42:48 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3054872,"outputBytes":2977626}
|
||||||
|
2021-11-22 13:42:48 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 13:42:48 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 13:43:15 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 13:43:15 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 13:43:15 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555538,"outputBytes":468636}
|
||||||
|
2021-11-22 13:43:15 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 13:43:15 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555546,"outputBytes":468640}
|
||||||
|
2021-11-22 13:43:15 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 13:43:15 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555613,"outputBytes":468712}
|
||||||
|
2021-11-22 13:43:15 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 13:43:15 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 13:43:15 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555175,"outputBytes":470710}
|
||||||
|
2021-11-22 13:43:16 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 13:43:16 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3054868,"outputBytes":1627677}
|
||||||
|
2021-11-22 13:43:17 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3054868,"outputBytes":2977622}
|
||||||
|
2021-11-22 13:43:17 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 13:43:17 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 13:47:55 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 13:47:55 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 13:47:55 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555538,"outputBytes":468636}
|
||||||
|
2021-11-22 13:47:55 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 13:47:55 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555546,"outputBytes":468640}
|
||||||
|
2021-11-22 13:47:55 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 13:47:55 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555613,"outputBytes":468712}
|
||||||
|
2021-11-22 13:47:55 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 13:47:55 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 13:47:55 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555175,"outputBytes":470710}
|
||||||
|
2021-11-22 13:47:56 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 13:47:56 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3054868,"outputBytes":1627677}
|
||||||
|
2021-11-22 13:47:57 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3054868,"outputBytes":2977622}
|
||||||
|
2021-11-22 13:47:57 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 13:47:57 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 13:48:00 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:00 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":4237,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:00 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:00 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2977622,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:01 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":9168,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:01 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4833462,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:01 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":147545,"url":"/models/blazepose/blazepose-full.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:01 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":134678,"url":"/models/blazepose/blazepose-detector.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:01 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:01 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6338290,"url":"/models/blazepose/blazepose-full.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:01 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5928856,"url":"/models/blazepose/blazepose-detector.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:40 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 13:48:40 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 13:48:40 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555541,"outputBytes":468522}
|
||||||
|
2021-11-22 13:48:40 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 13:48:41 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555549,"outputBytes":468526}
|
||||||
|
2021-11-22 13:48:41 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 13:48:41 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555616,"outputBytes":468598}
|
||||||
|
2021-11-22 13:48:41 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 13:48:41 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 13:48:41 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555178,"outputBytes":470596}
|
||||||
|
2021-11-22 13:48:41 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 13:48:41 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3054871,"outputBytes":1627608}
|
||||||
|
2021-11-22 13:48:42 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3054871,"outputBytes":2977508}
|
||||||
|
2021-11-22 13:48:42 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 13:48:42 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 13:48:43 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:43 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":4237,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:43 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2977508,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:43 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:43 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":9168,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:43 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4833373,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:43 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":147545,"url":"/models/blazepose/blazepose-full.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:43 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":134678,"url":"/models/blazepose/blazepose-detector.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:43 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:43 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6338290,"url":"/models/blazepose/blazepose-full.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:48:43 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5928856,"url":"/models/blazepose/blazepose-detector.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:49:05 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 13:49:05 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 13:49:05 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555538,"outputBytes":468636}
|
||||||
|
2021-11-22 13:49:05 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 13:49:05 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555546,"outputBytes":468640}
|
||||||
|
2021-11-22 13:49:05 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 13:49:06 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555613,"outputBytes":468712}
|
||||||
|
2021-11-22 13:49:06 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 13:49:06 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 13:49:06 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555175,"outputBytes":470710}
|
||||||
|
2021-11-22 13:49:06 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 13:49:06 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3054868,"outputBytes":1627677}
|
||||||
|
2021-11-22 13:49:07 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3054868,"outputBytes":2977622}
|
||||||
|
2021-11-22 13:49:07 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 13:49:07 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 13:49:33 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 13:49:33 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 13:49:33 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555568,"outputBytes":468666}
|
||||||
|
2021-11-22 13:49:33 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 13:49:33 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555576,"outputBytes":468670}
|
||||||
|
2021-11-22 13:49:33 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 13:49:33 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555643,"outputBytes":468742}
|
||||||
|
2021-11-22 13:49:33 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 13:49:33 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 13:49:33 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555205,"outputBytes":470740}
|
||||||
|
2021-11-22 13:49:33 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 13:49:34 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3054898,"outputBytes":1627703}
|
||||||
|
2021-11-22 13:49:34 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3054898,"outputBytes":2977652}
|
||||||
|
2021-11-22 13:49:34 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 13:49:34 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 13:49:34 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:49:34 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":4237,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:49:34 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:49:34 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2977652,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:49:35 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":9168,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:49:35 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4833513,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:49:35 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":147545,"url":"/models/blazepose/blazepose-full.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:49:35 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":134678,"url":"/models/blazepose/blazepose-detector.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:49:35 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:49:35 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6338290,"url":"/models/blazepose/blazepose-full.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:49:35 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5928856,"url":"/models/blazepose/blazepose-detector.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:51:13 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 13:51:13 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 13:51:13 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555648,"outputBytes":468752}
|
||||||
|
2021-11-22 13:51:13 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 13:51:13 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555656,"outputBytes":468756}
|
||||||
|
2021-11-22 13:51:13 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 13:51:13 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555723,"outputBytes":468828}
|
||||||
|
2021-11-22 13:51:13 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 13:51:13 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 13:51:13 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555285,"outputBytes":470838}
|
||||||
|
2021-11-22 13:51:14 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 13:51:14 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3054978,"outputBytes":1627722}
|
||||||
|
2021-11-22 13:51:14 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3054978,"outputBytes":2977734}
|
||||||
|
2021-11-22 13:51:14 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 13:51:14 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 13:51:25 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 13:51:25 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 13:51:25 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555683,"outputBytes":468787}
|
||||||
|
2021-11-22 13:51:25 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 13:51:25 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555691,"outputBytes":468791}
|
||||||
|
2021-11-22 13:51:25 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 13:51:26 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555758,"outputBytes":468863}
|
||||||
|
2021-11-22 13:51:26 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 13:51:26 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 13:51:26 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555320,"outputBytes":470873}
|
||||||
|
2021-11-22 13:51:26 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 13:51:26 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3055013,"outputBytes":1627752}
|
||||||
|
2021-11-22 13:51:27 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3055013,"outputBytes":2977769}
|
||||||
|
2021-11-22 13:51:27 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 13:51:27 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 13:51:51 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 13:51:51 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 13:51:51 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555707,"outputBytes":468811}
|
||||||
|
2021-11-22 13:51:51 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 13:51:51 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555715,"outputBytes":468815}
|
||||||
|
2021-11-22 13:51:51 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 13:51:51 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555782,"outputBytes":468887}
|
||||||
|
2021-11-22 13:51:51 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 13:51:51 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 13:51:51 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555344,"outputBytes":470897}
|
||||||
|
2021-11-22 13:51:52 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 13:51:52 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3055037,"outputBytes":1627776}
|
||||||
|
2021-11-22 13:51:52 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3055037,"outputBytes":2977793}
|
||||||
|
2021-11-22 13:51:52 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 13:51:52 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 13:57:38 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:57:38 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":4237,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:57:38 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:57:38 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2977793,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:57:38 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":9168,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:57:38 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4833753,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:57:38 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":147545,"url":"/models/blazepose/blazepose-full.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:57:38 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":134678,"url":"/models/blazepose/blazepose-detector.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:57:38 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:57:38 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6338290,"url":"/models/blazepose/blazepose-full.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:57:38 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5928856,"url":"/models/blazepose/blazepose-detector.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:58:40 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 13:58:40 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 13:58:40 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555709,"outputBytes":468813}
|
||||||
|
2021-11-22 13:58:40 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 13:58:41 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555717,"outputBytes":468817}
|
||||||
|
2021-11-22 13:58:41 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 13:58:41 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555784,"outputBytes":468889}
|
||||||
|
2021-11-22 13:58:41 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 13:58:41 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 13:58:41 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555346,"outputBytes":470899}
|
||||||
|
2021-11-22 13:58:41 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 13:58:41 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3055039,"outputBytes":1627778}
|
||||||
|
2021-11-22 13:58:42 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3055039,"outputBytes":2977795}
|
||||||
|
2021-11-22 13:58:42 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 13:58:42 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 13:59:01 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 13:59:01 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 13:59:01 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555714,"outputBytes":468819}
|
||||||
|
2021-11-22 13:59:01 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 13:59:01 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555722,"outputBytes":468823}
|
||||||
|
2021-11-22 13:59:01 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 13:59:01 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555789,"outputBytes":468895}
|
||||||
|
2021-11-22 13:59:01 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 13:59:01 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 13:59:01 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555351,"outputBytes":470905}
|
||||||
|
2021-11-22 13:59:02 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 13:59:02 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3055044,"outputBytes":1627780}
|
||||||
|
2021-11-22 13:59:03 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3055044,"outputBytes":2977801}
|
||||||
|
2021-11-22 13:59:03 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 13:59:03 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 13:59:10 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 13:59:10 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 13:59:10 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555675,"outputBytes":468780}
|
||||||
|
2021-11-22 13:59:10 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 13:59:10 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555683,"outputBytes":468784}
|
||||||
|
2021-11-22 13:59:10 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 13:59:10 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555750,"outputBytes":468856}
|
||||||
|
2021-11-22 13:59:10 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 13:59:10 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 13:59:10 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555312,"outputBytes":470866}
|
||||||
|
2021-11-22 13:59:10 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 13:59:11 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:59:11 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":4237,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:59:11 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:59:11 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2977801,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:59:11 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3055005,"outputBytes":1627748}
|
||||||
|
2021-11-22 13:59:11 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":9168,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:59:11 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4833770,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:59:11 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":147545,"url":"/models/blazepose/blazepose-full.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:59:11 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":134678,"url":"/models/blazepose/blazepose-detector.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:59:12 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:59:12 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5928856,"url":"/models/blazepose/blazepose-detector.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:59:12 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6338290,"url":"/models/blazepose/blazepose-full.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 13:59:12 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3055005,"outputBytes":2977762}
|
||||||
|
2021-11-22 13:59:12 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 13:59:12 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:02:16 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 14:02:16 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 14:02:16 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555627,"outputBytes":468732}
|
||||||
|
2021-11-22 14:02:16 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 14:02:16 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555635,"outputBytes":468736}
|
||||||
|
2021-11-22 14:02:16 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 14:02:17 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555702,"outputBytes":468808}
|
||||||
|
2021-11-22 14:02:17 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 14:02:17 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 14:02:17 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555264,"outputBytes":470818}
|
||||||
|
2021-11-22 14:02:17 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 14:02:17 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3054957,"outputBytes":1627700}
|
||||||
|
2021-11-22 14:02:18 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3054957,"outputBytes":2977714}
|
||||||
|
2021-11-22 14:02:18 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 14:02:18 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:02:19 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:02:19 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":4237,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:02:19 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:02:19 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2977714,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:02:19 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":9168,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:02:19 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4833627,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:02:19 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":147545,"url":"/models/blazepose/blazepose-full.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:02:19 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":134678,"url":"/models/blazepose/blazepose-detector.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:02:19 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:02:19 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6338290,"url":"/models/blazepose/blazepose-full.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:02:19 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5928856,"url":"/models/blazepose/blazepose-detector.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:04:06 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 14:04:06 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 14:04:06 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555613,"outputBytes":468717}
|
||||||
|
2021-11-22 14:04:06 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 14:04:06 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555621,"outputBytes":468721}
|
||||||
|
2021-11-22 14:04:06 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 14:04:06 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555688,"outputBytes":468793}
|
||||||
|
2021-11-22 14:04:06 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 14:04:06 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 14:04:06 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555250,"outputBytes":470803}
|
||||||
|
2021-11-22 14:04:06 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 14:04:07 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3054943,"outputBytes":1627684}
|
||||||
|
2021-11-22 14:04:07 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3054943,"outputBytes":2977699}
|
||||||
|
2021-11-22 14:04:07 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 14:04:07 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:04:11 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 14:04:11 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 14:04:11 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555583,"outputBytes":468687}
|
||||||
|
2021-11-22 14:04:11 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 14:04:11 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555591,"outputBytes":468691}
|
||||||
|
2021-11-22 14:04:11 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 14:04:12 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555658,"outputBytes":468763}
|
||||||
|
2021-11-22 14:04:12 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 14:04:12 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 14:04:12 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555220,"outputBytes":470773}
|
||||||
|
2021-11-22 14:04:12 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 14:04:12 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3054913,"outputBytes":1627668}
|
||||||
|
2021-11-22 14:04:13 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3054913,"outputBytes":2977669}
|
||||||
|
2021-11-22 14:04:13 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 14:04:13 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:04:17 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:04:17 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":4237,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:04:17 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:04:17 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2977669,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:04:17 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":9168,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:04:17 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4833549,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:04:17 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":147545,"url":"/models/blazepose/blazepose-full.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:04:17 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":134678,"url":"/models/blazepose/blazepose-detector.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:04:18 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:04:18 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6338290,"url":"/models/blazepose/blazepose-full.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:04:18 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5928856,"url":"/models/blazepose/blazepose-detector.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:06:32 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 14:06:32 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 14:06:32 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555655,"outputBytes":468759}
|
||||||
|
2021-11-22 14:06:32 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 14:06:33 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555663,"outputBytes":468763}
|
||||||
|
2021-11-22 14:06:33 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 14:06:33 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555730,"outputBytes":468835}
|
||||||
|
2021-11-22 14:06:33 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 14:06:33 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 14:06:33 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555292,"outputBytes":470845}
|
||||||
|
2021-11-22 14:06:33 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 14:06:33 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3054985,"outputBytes":1627716}
|
||||||
|
2021-11-22 14:06:34 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3054985,"outputBytes":2977745}
|
||||||
|
2021-11-22 14:06:34 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 14:06:34 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:14:53 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 14:14:53 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 14:14:53 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555655,"outputBytes":468759}
|
||||||
|
2021-11-22 14:14:53 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 14:14:53 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555663,"outputBytes":468763}
|
||||||
|
2021-11-22 14:14:53 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 14:14:53 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555730,"outputBytes":468835}
|
||||||
|
2021-11-22 14:14:53 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 14:14:53 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 14:14:53 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555292,"outputBytes":470845}
|
||||||
|
2021-11-22 14:14:53 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 14:14:54 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3054985,"outputBytes":1627716}
|
||||||
|
2021-11-22 14:14:54 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3054985,"outputBytes":2977745}
|
||||||
|
2021-11-22 14:14:54 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 14:14:54 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:15:18 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:15:18 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":4237,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:15:18 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:15:18 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2977745,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:15:18 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":9168,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:15:18 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4833681,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:15:18 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":147545,"url":"/models/blazepose/blazepose-full.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:15:18 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":134678,"url":"/models/blazepose/blazepose-detector.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:15:18 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:15:18 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6338290,"url":"/models/blazepose/blazepose-full.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:15:18 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5928856,"url":"/models/blazepose/blazepose-detector.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:16:17 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 14:16:17 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 14:16:17 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555655,"outputBytes":468759}
|
||||||
|
2021-11-22 14:16:17 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 14:16:17 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555663,"outputBytes":468763}
|
||||||
|
2021-11-22 14:16:17 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 14:16:17 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555730,"outputBytes":468835}
|
||||||
|
2021-11-22 14:16:17 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 14:16:17 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 14:16:17 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555292,"outputBytes":470845}
|
||||||
|
2021-11-22 14:16:18 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 14:16:18 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3054985,"outputBytes":1627716}
|
||||||
|
2021-11-22 14:16:18 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3054985,"outputBytes":2977745}
|
||||||
|
2021-11-22 14:16:19 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 14:16:19 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:17:10 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:17:10 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":4237,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:17:10 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:17:10 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2977745,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:17:10 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":9168,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:17:10 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4833681,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:17:10 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":147545,"url":"/models/blazepose/blazepose-full.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:17:10 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":134678,"url":"/models/blazepose/blazepose-detector.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:17:11 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:17:11 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6338290,"url":"/models/blazepose/blazepose-full.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:17:11 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5928856,"url":"/models/blazepose/blazepose-detector.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:18:22 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 14:18:22 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 14:18:22 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555658,"outputBytes":468693}
|
||||||
|
2021-11-22 14:18:22 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 14:18:22 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555666,"outputBytes":468697}
|
||||||
|
2021-11-22 14:18:22 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 14:18:22 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555733,"outputBytes":468769}
|
||||||
|
2021-11-22 14:18:22 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 14:18:22 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 14:18:23 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555295,"outputBytes":470779}
|
||||||
|
2021-11-22 14:18:23 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 14:18:23 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3054988,"outputBytes":1627695}
|
||||||
|
2021-11-22 14:18:24 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3054988,"outputBytes":2977679}
|
||||||
|
2021-11-22 14:18:24 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 14:18:24 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:18:25 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:18:26 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":4237,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:18:26 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2977679,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:18:26 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:18:26 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":9168,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:18:26 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4833632,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:18:26 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":147545,"url":"/models/blazepose/blazepose-full.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:18:26 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":134678,"url":"/models/blazepose/blazepose-detector.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:18:26 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:18:26 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6338290,"url":"/models/blazepose/blazepose-full.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:18:26 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5928856,"url":"/models/blazepose/blazepose-detector.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:18:45 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 14:18:45 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 14:18:45 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555655,"outputBytes":468759}
|
||||||
|
2021-11-22 14:18:45 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 14:18:45 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555663,"outputBytes":468763}
|
||||||
|
2021-11-22 14:18:45 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 14:18:45 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555730,"outputBytes":468835}
|
||||||
|
2021-11-22 14:18:45 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 14:18:45 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 14:18:45 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555292,"outputBytes":470845}
|
||||||
|
2021-11-22 14:18:45 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 14:18:46 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3054985,"outputBytes":1627716}
|
||||||
|
2021-11-22 14:18:46 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3054985,"outputBytes":2977745}
|
||||||
|
2021-11-22 14:18:46 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 14:18:46 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:18:52 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 14:18:52 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 14:18:53 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555655,"outputBytes":468759}
|
||||||
|
2021-11-22 14:18:53 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 14:18:53 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555663,"outputBytes":468763}
|
||||||
|
2021-11-22 14:18:53 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 14:18:53 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555730,"outputBytes":468835}
|
||||||
|
2021-11-22 14:18:53 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 14:18:53 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 14:18:53 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555292,"outputBytes":470845}
|
||||||
|
2021-11-22 14:18:53 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 14:18:54 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3054985,"outputBytes":1627716}
|
||||||
|
2021-11-22 14:18:54 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3054985,"outputBytes":2977745}
|
||||||
|
2021-11-22 14:18:54 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 14:18:54 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:19:31 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 14:19:31 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 14:19:31 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555703,"outputBytes":468807}
|
||||||
|
2021-11-22 14:19:31 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 14:19:31 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555711,"outputBytes":468811}
|
||||||
|
2021-11-22 14:19:31 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 14:19:31 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555778,"outputBytes":468883}
|
||||||
|
2021-11-22 14:19:31 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 14:19:31 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 14:19:32 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555340,"outputBytes":470893}
|
||||||
|
2021-11-22 14:19:32 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 14:19:32 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3055033,"outputBytes":1627764}
|
||||||
|
2021-11-22 14:19:33 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3055033,"outputBytes":2977793}
|
||||||
|
2021-11-22 14:19:33 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 14:19:33 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:19:34 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:19:34 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":4237,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:19:34 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:19:34 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2977793,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:19:35 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":9168,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:19:35 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4833769,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:19:35 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":147545,"url":"/models/blazepose/blazepose-full.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:19:35 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":134678,"url":"/models/blazepose/blazepose-detector.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:19:35 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:19:35 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6338290,"url":"/models/blazepose/blazepose-full.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:19:35 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5928856,"url":"/models/blazepose/blazepose-detector.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:20:09 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 14:20:09 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 14:20:09 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555685,"outputBytes":468783}
|
||||||
|
2021-11-22 14:20:09 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 14:20:09 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555693,"outputBytes":468787}
|
||||||
|
2021-11-22 14:20:09 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 14:20:09 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555760,"outputBytes":468859}
|
||||||
|
2021-11-22 14:20:09 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 14:20:09 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 14:20:09 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555322,"outputBytes":470869}
|
||||||
|
2021-11-22 14:20:10 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 14:20:10 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3055015,"outputBytes":1627750}
|
||||||
|
2021-11-22 14:20:10 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3055015,"outputBytes":2977769}
|
||||||
|
2021-11-22 14:20:10 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 14:20:10 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:20:19 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:20:19 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":4237,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:20:19 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:20:19 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2977769,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:20:20 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":9168,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:20:20 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4833731,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:20:20 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":147545,"url":"/models/blazepose/blazepose-full.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:20:20 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":134678,"url":"/models/blazepose/blazepose-detector.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:20:20 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:20:20 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6338290,"url":"/models/blazepose/blazepose-full.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:20:20 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5928856,"url":"/models/blazepose/blazepose-detector.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:20:38 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 14:20:38 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 14:20:38 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555703,"outputBytes":468807}
|
||||||
|
2021-11-22 14:20:38 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 14:20:38 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555711,"outputBytes":468811}
|
||||||
|
2021-11-22 14:20:38 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 14:20:38 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555778,"outputBytes":468883}
|
||||||
|
2021-11-22 14:20:38 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 14:20:38 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 14:20:38 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555340,"outputBytes":470893}
|
||||||
|
2021-11-22 14:20:39 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 14:20:39 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3055033,"outputBytes":1627764}
|
||||||
|
2021-11-22 14:20:39 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3055033,"outputBytes":2977793}
|
||||||
|
2021-11-22 14:20:39 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 14:20:39 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:21:12 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 14:21:12 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 14:21:12 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555723,"outputBytes":468827}
|
||||||
|
2021-11-22 14:21:12 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 14:21:13 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555731,"outputBytes":468831}
|
||||||
|
2021-11-22 14:21:13 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 14:21:13 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555798,"outputBytes":468903}
|
||||||
|
2021-11-22 14:21:13 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 14:21:13 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 14:21:13 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555360,"outputBytes":470913}
|
||||||
|
2021-11-22 14:21:13 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 14:21:13 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3055053,"outputBytes":1627524}
|
||||||
|
2021-11-22 14:21:14 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3055053,"outputBytes":2977813}
|
||||||
|
2021-11-22 14:21:14 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 14:21:14 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:21:14 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:21:14 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":4237,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:21:14 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2977813,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:21:14 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:21:15 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":9168,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:21:15 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4833800,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:21:15 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":147545,"url":"/models/blazepose/blazepose-full.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:21:15 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":134678,"url":"/models/blazepose/blazepose-detector.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:21:15 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:21:15 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6338290,"url":"/models/blazepose/blazepose-full.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:21:15 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5928856,"url":"/models/blazepose/blazepose-detector.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:22:24 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 14:22:24 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 14:22:24 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555723,"outputBytes":468827}
|
||||||
|
2021-11-22 14:22:24 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 14:22:24 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555731,"outputBytes":468831}
|
||||||
|
2021-11-22 14:22:24 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 14:22:24 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555798,"outputBytes":468903}
|
||||||
|
2021-11-22 14:22:24 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 14:22:24 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 14:22:24 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555360,"outputBytes":470913}
|
||||||
|
2021-11-22 14:22:24 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 14:22:25 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3055053,"outputBytes":1627524}
|
||||||
|
2021-11-22 14:22:25 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3055053,"outputBytes":2977813}
|
||||||
|
2021-11-22 14:22:25 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 14:22:25 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:22:25 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:22:25 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":4237,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:22:25 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2977813,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:22:25 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:22:26 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":9168,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:22:26 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4833800,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:22:26 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":147545,"url":"/models/blazepose/blazepose-full.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:22:26 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":134678,"url":"/models/blazepose/blazepose-detector.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:22:26 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:22:26 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6338290,"url":"/models/blazepose/blazepose-full.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:22:26 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5928856,"url":"/models/blazepose/blazepose-detector.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:23:11 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 14:23:11 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 14:23:11 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555723,"outputBytes":468827}
|
||||||
|
2021-11-22 14:23:11 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 14:23:11 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555731,"outputBytes":468831}
|
||||||
|
2021-11-22 14:23:11 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 14:23:11 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555798,"outputBytes":468903}
|
||||||
|
2021-11-22 14:23:11 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 14:23:11 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 14:23:11 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555360,"outputBytes":470913}
|
||||||
|
2021-11-22 14:23:11 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 14:23:12 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3055053,"outputBytes":1627524}
|
||||||
|
2021-11-22 14:23:12 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3055053,"outputBytes":2977813}
|
||||||
|
2021-11-22 14:23:12 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 14:23:12 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:23:39 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts"}
|
||||||
|
2021-11-22 14:23:39 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 14:23:39 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555695,"outputBytes":468395}
|
||||||
|
2021-11-22 14:23:39 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 14:23:39 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555703,"outputBytes":468399}
|
||||||
|
2021-11-22 14:23:39 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 14:23:39 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555770,"outputBytes":468471}
|
||||||
|
2021-11-22 14:23:39 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 14:23:39 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 14:23:39 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555332,"outputBytes":470481}
|
||||||
|
2021-11-22 14:23:39 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 14:23:40 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3055025,"outputBytes":1627562}
|
||||||
|
2021-11-22 14:23:40 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3055025,"outputBytes":2977381}
|
||||||
|
2021-11-22 14:23:40 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 14:23:40 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:28:04 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazeposedetector.ts"}
|
||||||
|
2021-11-22 14:28:04 [36mINFO: [39m Watch: {"event":"modify","input":"src/config.ts","skip":true}
|
||||||
|
2021-11-22 14:28:04 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazepose.ts","skip":true}
|
||||||
|
2021-11-22 14:28:04 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 14:28:04 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":555763,"outputBytes":468274}
|
||||||
|
2021-11-22 14:28:04 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 14:28:05 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":555771,"outputBytes":468278}
|
||||||
|
2021-11-22 14:28:05 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 14:28:05 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":555838,"outputBytes":468350}
|
||||||
|
2021-11-22 14:28:05 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 14:28:05 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 14:28:05 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555400,"outputBytes":470360}
|
||||||
|
2021-11-22 14:28:05 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 14:28:05 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3055093,"outputBytes":1627453}
|
||||||
|
2021-11-22 14:28:06 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3055093,"outputBytes":2977260}
|
||||||
|
2021-11-22 14:28:06 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 14:28:06 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:28:08 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:28:08 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":4237,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:28:08 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:28:08 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2977260,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:28:08 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":9168,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:28:08 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4833487,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:28:08 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":147545,"url":"/models/blazepose/blazepose-full.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:28:08 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":134678,"url":"/models/blazepose/blazepose-detector.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:28:08 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:28:08 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6338290,"url":"/models/blazepose/blazepose-full.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:28:08 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5928856,"url":"/models/blazepose/blazepose-detector.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:28:47 [36mINFO: [39m Watch: {"event":"modify","input":"src/body/blazeposedetector.ts"}
|
||||||
|
2021-11-22 14:28:47 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 14:28:47 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":556298,"outputBytes":468274}
|
||||||
|
2021-11-22 14:28:47 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 14:28:47 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":556306,"outputBytes":468278}
|
||||||
|
2021-11-22 14:28:47 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 14:28:47 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":556373,"outputBytes":468350}
|
||||||
|
2021-11-22 14:28:47 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 14:28:47 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 14:28:47 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555935,"outputBytes":470360}
|
||||||
|
2021-11-22 14:28:48 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 14:28:48 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3055628,"outputBytes":1627453}
|
||||||
|
2021-11-22 14:28:48 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3055628,"outputBytes":2977260}
|
||||||
|
2021-11-22 14:28:48 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6384,"outputBytes":4237}
|
||||||
|
2021-11-22 14:28:48 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:28:49 [36mINFO: [39m Watch: {"event":"modify","input":"demo/typescript/index.ts","skip":true}
|
||||||
|
2021-11-22 14:29:11 [36mINFO: [39m Watch: {"event":"modify","input":"demo/typescript/index.ts"}
|
||||||
|
2021-11-22 14:29:11 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
|
2021-11-22 14:29:11 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":556298,"outputBytes":468274}
|
||||||
|
2021-11-22 14:29:11 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
|
2021-11-22 14:29:11 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":556306,"outputBytes":468278}
|
||||||
|
2021-11-22 14:29:11 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
|
2021-11-22 14:29:11 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":556373,"outputBytes":468350}
|
||||||
|
2021-11-22 14:29:11 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
|
2021-11-22 14:29:11 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
|
2021-11-22 14:29:11 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":555935,"outputBytes":470360}
|
||||||
|
2021-11-22 14:29:12 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
|
||||||
|
2021-11-22 14:29:12 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3055628,"outputBytes":1627453}
|
||||||
|
2021-11-22 14:29:12 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3055628,"outputBytes":2977260}
|
||||||
|
2021-11-22 14:29:12 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5866,"outputBytes":4127}
|
||||||
|
2021-11-22 14:29:12 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":4127,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2977260,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":8582,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4834046,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":161813,"url":"/models/movenet-lightning.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":79038,"url":"/models/blazeface.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":71432,"url":"/models/faceres.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":17980,"url":"/models/emotion.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":122025,"url":"/models/iris.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":89289,"url":"/models/facemesh.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":602812,"url":"/models/handtrack.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":82231,"url":"/models/handlandmark-full.json","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":820516,"url":"/models/emotion.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6978814,"url":"/models/faceres.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2599092,"url":"/models/iris.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2955780,"url":"/models/facemesh.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5431368,"url":"/models/handlandmark-full.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4650216,"url":"/models/movenet-lightning.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":538928,"url":"/models/blazeface.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
2021-11-22 14:29:21 [32mDATA: [39m HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2964837,"url":"/models/handtrack.bin","remote":"::ffff:192.168.0.200"}
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -4,7 +4,7 @@
|
||||||
<p>Defines all possible image types</p>
|
<p>Defines all possible image types</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="AnyVideo" class="tsd-anchor"></a><h3>Any<wbr/>Video</h3><div class="tsd-signature tsd-kind-icon">Any<wbr/>Video<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">HTMLMediaElement</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">HTMLVideoElement</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/exports.ts#L30">src/exports.ts:30</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="AnyVideo" class="tsd-anchor"></a><h3>Any<wbr/>Video</h3><div class="tsd-signature tsd-kind-icon">Any<wbr/>Video<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">HTMLMediaElement</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">HTMLVideoElement</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/exports.ts#L30">src/exports.ts:30</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Defines all possible video types</p>
|
<p>Defines all possible video types</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="BackendType" class="tsd-anchor"></a><h3>Backend<wbr/>Type</h3><div class="tsd-signature tsd-kind-icon">Backend<wbr/>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">"cpu"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"wasm"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"webgl"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"humangl"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"tensorflow"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"webgpu"</span><span class="tsd-signature-symbol">]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L192">src/config.ts:192</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="BackendType" class="tsd-anchor"></a><h3>Backend<wbr/>Type</h3><div class="tsd-signature tsd-kind-icon">Backend<wbr/>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">"cpu"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"wasm"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"webgl"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"humangl"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"tensorflow"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"webgpu"</span><span class="tsd-signature-symbol">]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L198">src/config.ts:198</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Possible TensorFlow backends</p>
|
<p>Possible TensorFlow backends</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="BodyGesture" class="tsd-anchor"></a><h3>Body<wbr/>Gesture</h3><div class="tsd-signature tsd-kind-icon">Body<wbr/>Gesture<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">`</span><span class="tsd-signature-type">leaning </span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">"left"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"right"</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-type">raise </span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">"left"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"right"</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-type"> hand</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"i give up"</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/gesture/gesture.ts#L22">src/gesture/gesture.ts:22</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="BodyGesture" class="tsd-anchor"></a><h3>Body<wbr/>Gesture</h3><div class="tsd-signature tsd-kind-icon">Body<wbr/>Gesture<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">`</span><span class="tsd-signature-type">leaning </span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">"left"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"right"</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-type">raise </span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">"left"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"right"</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-type"> hand</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"i give up"</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/gesture/gesture.ts#L22">src/gesture/gesture.ts:22</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>body gesture type</p>
|
<p>body gesture type</p>
|
||||||
|
@ -82,9 +82,9 @@ Each result has:</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="Point" class="tsd-anchor"></a><h3>Point</h3><div class="tsd-signature tsd-kind-icon">Point<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L12">src/result.ts:12</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="Point" class="tsd-anchor"></a><h3>Point</h3><div class="tsd-signature tsd-kind-icon">Point<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L12">src/result.ts:12</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>generic point as [x, y, z?]</p>
|
<p>generic point as [x, y, z?]</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="TensorLike" class="tsd-anchor"></a><h3>Tensor<wbr/>Like</h3><div class="tsd-signature tsd-kind-icon">Tensor<wbr/>Like<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">TypedArray</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">RecursiveArray</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">TypedArray</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">RecursiveArray</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">RecursiveArray</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Uint8Array</span><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.11.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:78</li></ul></aside><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>docalias</dt><dd><p>TypedArray|Array</p>
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="TensorLike" class="tsd-anchor"></a><h3>Tensor<wbr/>Like</h3><div class="tsd-signature tsd-kind-icon">Tensor<wbr/>Like<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">TypedArray</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">RecursiveArray</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">TypedArray</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">RecursiveArray</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">RecursiveArray</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Uint8Array</span><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.11.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:78</li></ul></aside><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>docalias</dt><dd><p>TypedArray|Array</p>
|
||||||
</dd></dl></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="WarmupType" class="tsd-anchor"></a><h3>Warmup<wbr/>Type</h3><div class="tsd-signature tsd-kind-icon">Warmup<wbr/>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">""</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"none"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"face"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"full"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"body"</span><span class="tsd-signature-symbol">]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L195">src/config.ts:195</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</dd></dl></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="WarmupType" class="tsd-anchor"></a><h3>Warmup<wbr/>Type</h3><div class="tsd-signature tsd-kind-icon">Warmup<wbr/>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">""</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"none"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"face"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"full"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"body"</span><span class="tsd-signature-symbol">]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L201">src/config.ts:201</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Possible values for <code>human.warmup</code></p>
|
<p>Possible values for <code>human.warmup</code></p>
|
||||||
</div></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Variables</h2><section class="tsd-panel tsd-member tsd-kind-variable"><a id="defaults" class="tsd-anchor"></a><h3>defaults</h3><div class="tsd-signature tsd-kind-icon">defaults<span class="tsd-signature-symbol">:</span> <a href="interfaces/Config.html" class="tsd-signature-type" data-tsd-kind="Interface">Config</a><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L282">src/config.ts:282</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Variables</h2><section class="tsd-panel tsd-member tsd-kind-variable"><a id="defaults" class="tsd-anchor"></a><h3>defaults</h3><div class="tsd-signature tsd-kind-icon">defaults<span class="tsd-signature-symbol">:</span> <a href="interfaces/Config.html" class="tsd-signature-type" data-tsd-kind="Interface">Config</a><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L288">src/config.ts:288</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L262">See all default Config values...</a></li>
|
<li><a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L262">See all default Config values...</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -1,14 +1,20 @@
|
||||||
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>BodyConfig | @vladmandic/human - v2.5.3</title><meta name="description" content="Documentation for @vladmandic/human - v2.5.3"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@vladmandic/human - v2.5.3</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../index.html">@vladmandic/human - v2.5.3</a></li><li><a href="BodyConfig.html">BodyConfig</a></li></ul><h1>Interface BodyConfig</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
|
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>BodyConfig | @vladmandic/human - v2.5.3</title><meta name="description" content="Documentation for @vladmandic/human - v2.5.3"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@vladmandic/human - v2.5.3</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../index.html">@vladmandic/human - v2.5.3</a></li><li><a href="BodyConfig.html">BodyConfig</a></li></ul><h1>Interface BodyConfig</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Configures all body detection specific options</p>
|
<p>Configures all body detection specific options</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><a href="GenericConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">GenericConfig</a><ul class="tsd-hierarchy"><li><span class="target">BodyConfig</span></li></ul></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyConfig.html#detector" class="tsd-kind-icon">detector</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="BodyConfig.html#enabled" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyConfig.html#maxDetected" class="tsd-kind-icon">max<wbr/>Detected</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyConfig.html#minConfidence" class="tsd-kind-icon">min<wbr/>Confidence</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="BodyConfig.html#modelPath-1" class="tsd-kind-icon">model<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="BodyConfig.html#skipFrames" class="tsd-kind-icon">skip<wbr/>Frames</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="BodyConfig.html#skipTime" class="tsd-kind-icon">skip<wbr/>Time</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="detector" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> detector</h3><div class="tsd-signature tsd-kind-icon">detector<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{ </span>modelPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L82">src/config.ts:82</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><a href="GenericConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">GenericConfig</a><ul class="tsd-hierarchy"><li><span class="target">BodyConfig</span></li></ul></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyConfig.html#detector" class="tsd-kind-icon">detector</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="BodyConfig.html#enabled-1" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyConfig.html#maxDetected" class="tsd-kind-icon">max<wbr/>Detected</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyConfig.html#minConfidence-1" class="tsd-kind-icon">min<wbr/>Confidence</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="BodyConfig.html#modelPath-1" class="tsd-kind-icon">model<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="BodyConfig.html#skipFrames" class="tsd-kind-icon">skip<wbr/>Frames</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="BodyConfig.html#skipTime" class="tsd-kind-icon">skip<wbr/>Time</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="detector" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> detector</h3><div class="tsd-signature tsd-kind-icon">detector<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{ </span>enabled<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>iouThreshold<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>minConfidence<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>modelPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L82">src/config.ts:82</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detector used for body model before actual analysis</p>
|
<p>experimental: detector used for body model before actual analysis</p>
|
||||||
</div></div><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5>model<wbr/>Path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5>enabled<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>path to optional body detector model json file</p>
|
<p>experimental: enable body detector before body landmarks</p>
|
||||||
</div></div></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="enabled" class="tsd-anchor"></a><h3>enabled</h3><div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><p>Inherited from <a href="GenericConfig.html">GenericConfig</a>.<a href="GenericConfig.html#enabled">enabled</a></p><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L7">src/config.ts:7</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></li><li class="tsd-parameter"><h5>iou<wbr/>Threshold<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
|
<p>experimental: minimum overlap between two detected bodies before one is discarded</p>
|
||||||
|
</div></div></li><li class="tsd-parameter"><h5>min<wbr/>Confidence<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
|
<p>experimental: minimum confidence for a detected body before results are discarded</p>
|
||||||
|
</div></div></li><li class="tsd-parameter"><h5>model<wbr/>Path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
|
<p>experimental: path to optional body detector model json file</p>
|
||||||
|
</div></div></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="enabled-1" class="tsd-anchor"></a><h3>enabled</h3><div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><p>Inherited from <a href="GenericConfig.html">GenericConfig</a>.<a href="GenericConfig.html#enabled">enabled</a></p><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L7">src/config.ts:7</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>is module enabled?</p>
|
<p>is module enabled?</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="maxDetected" class="tsd-anchor"></a><h3>max<wbr/>Detected</h3><div class="tsd-signature tsd-kind-icon">max<wbr/>Detected<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L78">src/config.ts:78</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="maxDetected" class="tsd-anchor"></a><h3>max<wbr/>Detected</h3><div class="tsd-signature tsd-kind-icon">max<wbr/>Detected<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L78">src/config.ts:78</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>maximum numboer of detected bodies</p>
|
<p>maximum numboer of detected bodies</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="minConfidence" class="tsd-anchor"></a><h3>min<wbr/>Confidence</h3><div class="tsd-signature tsd-kind-icon">min<wbr/>Confidence<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L80">src/config.ts:80</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="minConfidence-1" class="tsd-anchor"></a><h3>min<wbr/>Confidence</h3><div class="tsd-signature tsd-kind-icon">min<wbr/>Confidence<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L80">src/config.ts:80</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>minimum confidence for a detected body before results are discarded</p>
|
<p>minimum confidence for a detected body before results are discarded</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="modelPath-1" class="tsd-anchor"></a><h3>model<wbr/>Path</h3><div class="tsd-signature tsd-kind-icon">model<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><p>Inherited from <a href="GenericConfig.html">GenericConfig</a>.<a href="GenericConfig.html#modelPath">modelPath</a></p><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L9">src/config.ts:9</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="modelPath-1" class="tsd-anchor"></a><h3>model<wbr/>Path</h3><div class="tsd-signature tsd-kind-icon">model<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><p>Inherited from <a href="GenericConfig.html">GenericConfig</a>.<a href="GenericConfig.html#modelPath">modelPath</a></p><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L9">src/config.ts:9</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>path to model json file</p>
|
<p>path to model json file</p>
|
||||||
|
@ -16,4 +22,4 @@
|
||||||
<p>how many max frames to go without re-running model if cached results are acceptable</p>
|
<p>how many max frames to go without re-running model if cached results are acceptable</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="skipTime" class="tsd-anchor"></a><h3>skip<wbr/>Time</h3><div class="tsd-signature tsd-kind-icon">skip<wbr/>Time<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><p>Inherited from <a href="GenericConfig.html">GenericConfig</a>.<a href="GenericConfig.html#skipTime">skipTime</a></p><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L13">src/config.ts:13</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="skipTime" class="tsd-anchor"></a><h3>skip<wbr/>Time</h3><div class="tsd-signature tsd-kind-icon">skip<wbr/>Time<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><p>Inherited from <a href="GenericConfig.html">GenericConfig</a>.<a href="GenericConfig.html#skipTime">skipTime</a></p><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L13">src/config.ts:13</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>how many max miliseconds to go without re-running model if cached results are acceptable</p>
|
<p>how many max miliseconds to go without re-running model if cached results are acceptable</p>
|
||||||
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../index.html">Exports</a></li><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="BodyConfig.html" class="tsd-kind-icon">Body<wbr/>Config</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyConfig.html#detector" class="tsd-kind-icon">detector</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="BodyConfig.html#enabled" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyConfig.html#maxDetected" class="tsd-kind-icon">max<wbr/>Detected</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyConfig.html#minConfidence" class="tsd-kind-icon">min<wbr/>Confidence</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="BodyConfig.html#modelPath-1" class="tsd-kind-icon">model<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="BodyConfig.html#skipFrames" class="tsd-kind-icon">skip<wbr/>Frames</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="BodyConfig.html#skipTime" class="tsd-kind-icon">skip<wbr/>Time</a></li></ul></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
|
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../index.html">Exports</a></li><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="BodyConfig.html" class="tsd-kind-icon">Body<wbr/>Config</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyConfig.html#detector" class="tsd-kind-icon">detector</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="BodyConfig.html#enabled-1" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyConfig.html#maxDetected" class="tsd-kind-icon">max<wbr/>Detected</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyConfig.html#minConfidence-1" class="tsd-kind-icon">min<wbr/>Confidence</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="BodyConfig.html#modelPath-1" class="tsd-kind-icon">model<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="BodyConfig.html#skipFrames" class="tsd-kind-icon">skip<wbr/>Frames</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="BodyConfig.html#skipTime" class="tsd-kind-icon">skip<wbr/>Time</a></li></ul></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
|
|
@ -2,10 +2,10 @@
|
||||||
<p>Configuration interface definition for <strong>Human</strong> library
|
<p>Configuration interface definition for <strong>Human</strong> library
|
||||||
Contains all configurable parameters
|
Contains all configurable parameters
|
||||||
Defaults: <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L262">config</a></p>
|
Defaults: <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L262">config</a></p>
|
||||||
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">Config</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#async" class="tsd-kind-icon">async</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#backend" class="tsd-kind-icon">backend</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#body" class="tsd-kind-icon">body</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#cacheSensitivity" class="tsd-kind-icon">cache<wbr/>Sensitivity</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#deallocate" class="tsd-kind-icon">deallocate</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#debug" class="tsd-kind-icon">debug</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#face" class="tsd-kind-icon">face</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#filter" class="tsd-kind-icon">filter</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#gesture" class="tsd-kind-icon">gesture</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#hand" class="tsd-kind-icon">hand</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#modelBasePath" class="tsd-kind-icon">model<wbr/>Base<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#object" class="tsd-kind-icon">object</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#segmentation" class="tsd-kind-icon">segmentation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#skipAllowed" class="tsd-kind-icon">skip<wbr/>Allowed</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#warmup" class="tsd-kind-icon">warmup</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#wasmPath" class="tsd-kind-icon">wasm<wbr/>Path</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="async" class="tsd-anchor"></a><h3>async</h3><div class="tsd-signature tsd-kind-icon">async<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L227">src/config.ts:227</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">Config</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#async" class="tsd-kind-icon">async</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#backend" class="tsd-kind-icon">backend</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#body" class="tsd-kind-icon">body</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#cacheSensitivity" class="tsd-kind-icon">cache<wbr/>Sensitivity</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#deallocate" class="tsd-kind-icon">deallocate</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#debug" class="tsd-kind-icon">debug</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#face" class="tsd-kind-icon">face</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#filter" class="tsd-kind-icon">filter</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#gesture" class="tsd-kind-icon">gesture</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#hand" class="tsd-kind-icon">hand</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#modelBasePath" class="tsd-kind-icon">model<wbr/>Base<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#object" class="tsd-kind-icon">object</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#segmentation" class="tsd-kind-icon">segmentation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#skipAllowed" class="tsd-kind-icon">skip<wbr/>Allowed</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#warmup" class="tsd-kind-icon">warmup</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#wasmPath" class="tsd-kind-icon">wasm<wbr/>Path</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="async" class="tsd-anchor"></a><h3>async</h3><div class="tsd-signature tsd-kind-icon">async<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L233">src/config.ts:233</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Perform model loading and inference concurrently or sequentially</p>
|
<p>Perform model loading and inference concurrently or sequentially</p>
|
||||||
</div><div><p>default: <code>true</code></p>
|
</div><div><p>default: <code>true</code></p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="backend" class="tsd-anchor"></a><h3>backend</h3><div class="tsd-signature tsd-kind-icon">backend<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">""</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"cpu"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"wasm"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"webgl"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"humangl"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"tensorflow"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"webgpu"</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L209">src/config.ts:209</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="backend" class="tsd-anchor"></a><h3>backend</h3><div class="tsd-signature tsd-kind-icon">backend<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">""</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"cpu"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"wasm"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"webgl"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"humangl"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"tensorflow"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"webgpu"</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L215">src/config.ts:215</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Backend used for TFJS operations
|
<p>Backend used for TFJS operations
|
||||||
valid build-in backends are:</p>
|
valid build-in backends are:</p>
|
||||||
<ul>
|
<ul>
|
||||||
|
@ -13,48 +13,48 @@ valid build-in backends are:</p>
|
||||||
<li>NodeJS: <code>cpu</code>, <code>wasm</code>, <code>tensorflow</code>
|
<li>NodeJS: <code>cpu</code>, <code>wasm</code>, <code>tensorflow</code>
|
||||||
default: <code>humangl</code> for browser and <code>tensorflow</code> for nodejs</li>
|
default: <code>humangl</code> for browser and <code>tensorflow</code> for nodejs</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="body" class="tsd-anchor"></a><h3>body</h3><div class="tsd-signature tsd-kind-icon">body<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol"><</span><a href="BodyConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">BodyConfig</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L269">src/config.ts:269</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="body" class="tsd-anchor"></a><h3>body</h3><div class="tsd-signature tsd-kind-icon">body<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol"><</span><a href="BodyConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">BodyConfig</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L275">src/config.ts:275</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Body config <a href="BodyConfig.html">BodyConfig</a></p>
|
<p>Body config <a href="BodyConfig.html">BodyConfig</a></p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="cacheSensitivity" class="tsd-anchor"></a><h3>cache<wbr/>Sensitivity</h3><div class="tsd-signature tsd-kind-icon">cache<wbr/>Sensitivity<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L251">src/config.ts:251</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="cacheSensitivity" class="tsd-anchor"></a><h3>cache<wbr/>Sensitivity</h3><div class="tsd-signature tsd-kind-icon">cache<wbr/>Sensitivity<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L257">src/config.ts:257</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Cache sensitivity</p>
|
<p>Cache sensitivity</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>values 0..1 where 0.01 means reset cache if input changed more than 1%</li>
|
<li>values 0..1 where 0.01 means reset cache if input changed more than 1%</li>
|
||||||
<li>set to 0 to disable caching</li>
|
<li>set to 0 to disable caching</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div><div><p>default: 0.7</p>
|
</div><div><p>default: 0.7</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="deallocate" class="tsd-anchor"></a><h3>deallocate</h3><div class="tsd-signature tsd-kind-icon">deallocate<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L254">src/config.ts:254</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="deallocate" class="tsd-anchor"></a><h3>deallocate</h3><div class="tsd-signature tsd-kind-icon">deallocate<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L260">src/config.ts:260</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Perform immediate garbage collection on deallocated tensors instead of caching them</p>
|
<p>Perform immediate garbage collection on deallocated tensors instead of caching them</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="debug" class="tsd-anchor"></a><h3>debug</h3><div class="tsd-signature tsd-kind-icon">debug<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L221">src/config.ts:221</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="debug" class="tsd-anchor"></a><h3>debug</h3><div class="tsd-signature tsd-kind-icon">debug<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L227">src/config.ts:227</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Print debug statements to console</p>
|
<p>Print debug statements to console</p>
|
||||||
</div><div><p>default: <code>true</code></p>
|
</div><div><p>default: <code>true</code></p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="face" class="tsd-anchor"></a><h3>face</h3><div class="tsd-signature tsd-kind-icon">face<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol"><</span><a href="FaceConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">FaceConfig</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L266">src/config.ts:266</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="face" class="tsd-anchor"></a><h3>face</h3><div class="tsd-signature tsd-kind-icon">face<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol"><</span><a href="FaceConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">FaceConfig</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L272">src/config.ts:272</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Face config <a href="FaceConfig.html">FaceConfig</a></p>
|
<p>Face config <a href="FaceConfig.html">FaceConfig</a></p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="filter" class="tsd-anchor"></a><h3>filter</h3><div class="tsd-signature tsd-kind-icon">filter<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol"><</span><a href="FilterConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">FilterConfig</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L260">src/config.ts:260</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="filter" class="tsd-anchor"></a><h3>filter</h3><div class="tsd-signature tsd-kind-icon">filter<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol"><</span><a href="FilterConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">FilterConfig</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L266">src/config.ts:266</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Filter config <a href="FilterConfig.html">FilterConfig</a></p>
|
<p>Filter config <a href="FilterConfig.html">FilterConfig</a></p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="gesture" class="tsd-anchor"></a><h3>gesture</h3><div class="tsd-signature tsd-kind-icon">gesture<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol"><</span><a href="GestureConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">GestureConfig</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L263">src/config.ts:263</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="gesture" class="tsd-anchor"></a><h3>gesture</h3><div class="tsd-signature tsd-kind-icon">gesture<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol"><</span><a href="GestureConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">GestureConfig</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L269">src/config.ts:269</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Gesture config <a href="GestureConfig.html">GestureConfig</a></p>
|
<p>Gesture config <a href="GestureConfig.html">GestureConfig</a></p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="hand" class="tsd-anchor"></a><h3>hand</h3><div class="tsd-signature tsd-kind-icon">hand<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol"><</span><a href="HandConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">HandConfig</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L272">src/config.ts:272</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="hand" class="tsd-anchor"></a><h3>hand</h3><div class="tsd-signature tsd-kind-icon">hand<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol"><</span><a href="HandConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">HandConfig</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L278">src/config.ts:278</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Hand config <a href="HandConfig.html">HandConfig</a></p>
|
<p>Hand config <a href="HandConfig.html">HandConfig</a></p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="modelBasePath" class="tsd-anchor"></a><h3>model<wbr/>Base<wbr/>Path</h3><div class="tsd-signature tsd-kind-icon">model<wbr/>Base<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L243">src/config.ts:243</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="modelBasePath" class="tsd-anchor"></a><h3>model<wbr/>Base<wbr/>Path</h3><div class="tsd-signature tsd-kind-icon">model<wbr/>Base<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L249">src/config.ts:249</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Base model path (typically starting with file://, http:// or https://) for all models</p>
|
<p>Base model path (typically starting with file://, http:// or https://) for all models</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>individual modelPath values are relative to this path</li>
|
<li>individual modelPath values are relative to this path</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div><div><p>default: <code>../models/</code> for browsers and <code>file://models/</code> for nodejs</p>
|
</div><div><p>default: <code>../models/</code> for browsers and <code>file://models/</code> for nodejs</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="object" class="tsd-anchor"></a><h3>object</h3><div class="tsd-signature tsd-kind-icon">object<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol"><</span><a href="ObjectConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">ObjectConfig</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L275">src/config.ts:275</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="object" class="tsd-anchor"></a><h3>object</h3><div class="tsd-signature tsd-kind-icon">object<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol"><</span><a href="ObjectConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">ObjectConfig</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L281">src/config.ts:281</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Object config <a href="ObjectConfig.html">ObjectConfig</a></p>
|
<p>Object config <a href="ObjectConfig.html">ObjectConfig</a></p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="segmentation" class="tsd-anchor"></a><h3>segmentation</h3><div class="tsd-signature tsd-kind-icon">segmentation<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol"><</span><a href="SegmentationConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">SegmentationConfig</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L278">src/config.ts:278</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="segmentation" class="tsd-anchor"></a><h3>segmentation</h3><div class="tsd-signature tsd-kind-icon">segmentation<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol"><</span><a href="SegmentationConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">SegmentationConfig</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L284">src/config.ts:284</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Segmentation config <a href="SegmentationConfig.html">SegmentationConfig</a></p>
|
<p>Segmentation config <a href="SegmentationConfig.html">SegmentationConfig</a></p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="skipAllowed" class="tsd-anchor"></a><h3>skip<wbr/>Allowed</h3><div class="tsd-signature tsd-kind-icon">skip<wbr/>Allowed<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L257">src/config.ts:257</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="skipAllowed" class="tsd-anchor"></a><h3>skip<wbr/>Allowed</h3><div class="tsd-signature tsd-kind-icon">skip<wbr/>Allowed<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L263">src/config.ts:263</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Internal Variable</p>
|
<p>Internal Variable</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="warmup" class="tsd-anchor"></a><h3>warmup</h3><div class="tsd-signature tsd-kind-icon">warmup<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">""</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"face"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"body"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"none"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"full"</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L235">src/config.ts:235</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="warmup" class="tsd-anchor"></a><h3>warmup</h3><div class="tsd-signature tsd-kind-icon">warmup<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">""</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"face"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"body"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"none"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"full"</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L241">src/config.ts:241</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>What to use for <code>human.warmup()</code></p>
|
<p>What to use for <code>human.warmup()</code></p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>warmup pre-initializes all models for faster inference but can take significant time on startup</li>
|
<li>warmup pre-initializes all models for faster inference but can take significant time on startup</li>
|
||||||
<li>used by <code>webgl</code>, <code>humangl</code> and <code>webgpu</code> backends</li>
|
<li>used by <code>webgl</code>, <code>humangl</code> and <code>webgpu</code> backends</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div><div><p>default: <code>full</code></p>
|
</div><div><p>default: <code>full</code></p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="wasmPath" class="tsd-anchor"></a><h3>wasm<wbr/>Path</h3><div class="tsd-signature tsd-kind-icon">wasm<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L215">src/config.ts:215</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="wasmPath" class="tsd-anchor"></a><h3>wasm<wbr/>Path</h3><div class="tsd-signature tsd-kind-icon">wasm<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L221">src/config.ts:221</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Path to *.wasm files if backend is set to <code>wasm</code></p>
|
<p>Path to *.wasm files if backend is set to <code>wasm</code></p>
|
||||||
</div><div><p>default: auto-detects to link to CDN <code>jsdelivr</code> when running in browser</p>
|
</div><div><p>default: auto-detects to link to CDN <code>jsdelivr</code> when running in browser</p>
|
||||||
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../index.html">Exports</a></li><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="Config.html" class="tsd-kind-icon">Config</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#async" class="tsd-kind-icon">async</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#backend" class="tsd-kind-icon">backend</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#body" class="tsd-kind-icon">body</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#cacheSensitivity" class="tsd-kind-icon">cache<wbr/>Sensitivity</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#deallocate" class="tsd-kind-icon">deallocate</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#debug" class="tsd-kind-icon">debug</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#face" class="tsd-kind-icon">face</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#filter" class="tsd-kind-icon">filter</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#gesture" class="tsd-kind-icon">gesture</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#hand" class="tsd-kind-icon">hand</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#modelBasePath" class="tsd-kind-icon">model<wbr/>Base<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#object" class="tsd-kind-icon">object</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#segmentation" class="tsd-kind-icon">segmentation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#skipAllowed" class="tsd-kind-icon">skip<wbr/>Allowed</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#warmup" class="tsd-kind-icon">warmup</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#wasmPath" class="tsd-kind-icon">wasm<wbr/>Path</a></li></ul></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
|
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../index.html">Exports</a></li><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="Config.html" class="tsd-kind-icon">Config</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#async" class="tsd-kind-icon">async</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#backend" class="tsd-kind-icon">backend</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#body" class="tsd-kind-icon">body</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#cacheSensitivity" class="tsd-kind-icon">cache<wbr/>Sensitivity</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#deallocate" class="tsd-kind-icon">deallocate</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#debug" class="tsd-kind-icon">debug</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#face" class="tsd-kind-icon">face</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#filter" class="tsd-kind-icon">filter</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#gesture" class="tsd-kind-icon">gesture</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#hand" class="tsd-kind-icon">hand</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#modelBasePath" class="tsd-kind-icon">model<wbr/>Base<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#object" class="tsd-kind-icon">object</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#segmentation" class="tsd-kind-icon">segmentation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#skipAllowed" class="tsd-kind-icon">skip<wbr/>Allowed</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#warmup" class="tsd-kind-icon">warmup</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#wasmPath" class="tsd-kind-icon">wasm<wbr/>Path</a></li></ul></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
|
|
@ -4,51 +4,51 @@
|
||||||
<li>available only in Browser environments</li>
|
<li>available only in Browser environments</li>
|
||||||
<li>image filters run with near-zero latency as they are executed on the GPU using WebGL</li>
|
<li>image filters run with near-zero latency as they are executed on the GPU using WebGL</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">FilterConfig</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#blur" class="tsd-kind-icon">blur</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#brightness" class="tsd-kind-icon">brightness</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#contrast" class="tsd-kind-icon">contrast</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#enabled" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#equalization" class="tsd-kind-icon">equalization</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#flip" class="tsd-kind-icon">flip</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#height" class="tsd-kind-icon">height</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#hue" class="tsd-kind-icon">hue</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#kodachrome" class="tsd-kind-icon">kodachrome</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#negative" class="tsd-kind-icon">negative</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#pixelate" class="tsd-kind-icon">pixelate</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#polaroid" class="tsd-kind-icon">polaroid</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#return" class="tsd-kind-icon">return</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#saturation" class="tsd-kind-icon">saturation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#sepia" class="tsd-kind-icon">sepia</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#sharpness" class="tsd-kind-icon">sharpness</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#technicolor" class="tsd-kind-icon">technicolor</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#vintage" class="tsd-kind-icon">vintage</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#width" class="tsd-kind-icon">width</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="blur" class="tsd-anchor"></a><h3>blur</h3><div class="tsd-signature tsd-kind-icon">blur<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L165">src/config.ts:165</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">FilterConfig</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#blur" class="tsd-kind-icon">blur</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#brightness" class="tsd-kind-icon">brightness</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#contrast" class="tsd-kind-icon">contrast</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#enabled" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#equalization" class="tsd-kind-icon">equalization</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#flip" class="tsd-kind-icon">flip</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#height" class="tsd-kind-icon">height</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#hue" class="tsd-kind-icon">hue</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#kodachrome" class="tsd-kind-icon">kodachrome</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#negative" class="tsd-kind-icon">negative</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#pixelate" class="tsd-kind-icon">pixelate</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#polaroid" class="tsd-kind-icon">polaroid</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#return" class="tsd-kind-icon">return</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#saturation" class="tsd-kind-icon">saturation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#sepia" class="tsd-kind-icon">sepia</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#sharpness" class="tsd-kind-icon">sharpness</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#technicolor" class="tsd-kind-icon">technicolor</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#vintage" class="tsd-kind-icon">vintage</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#width" class="tsd-kind-icon">width</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="blur" class="tsd-anchor"></a><h3>blur</h3><div class="tsd-signature tsd-kind-icon">blur<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L171">src/config.ts:171</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>range: 0 (no blur) to N (blur radius in pixels)</p>
|
<p>range: 0 (no blur) to N (blur radius in pixels)</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="brightness" class="tsd-anchor"></a><h3>brightness</h3><div class="tsd-signature tsd-kind-icon">brightness<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L159">src/config.ts:159</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="brightness" class="tsd-anchor"></a><h3>brightness</h3><div class="tsd-signature tsd-kind-icon">brightness<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L165">src/config.ts:165</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>range: -1 (darken) to 1 (lighten)</p>
|
<p>range: -1 (darken) to 1 (lighten)</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="contrast" class="tsd-anchor"></a><h3>contrast</h3><div class="tsd-signature tsd-kind-icon">contrast<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L161">src/config.ts:161</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="contrast" class="tsd-anchor"></a><h3>contrast</h3><div class="tsd-signature tsd-kind-icon">contrast<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L167">src/config.ts:167</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>range: -1 (reduce contrast) to 1 (increase contrast)</p>
|
<p>range: -1 (reduce contrast) to 1 (increase contrast)</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="enabled" class="tsd-anchor"></a><h3>enabled</h3><div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L137">src/config.ts:137</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="enabled" class="tsd-anchor"></a><h3>enabled</h3><div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L143">src/config.ts:143</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>are image filters enabled?</p>
|
<p>are image filters enabled?</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="equalization" class="tsd-anchor"></a><h3>equalization</h3><div class="tsd-signature tsd-kind-icon">equalization<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L141">src/config.ts:141</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="equalization" class="tsd-anchor"></a><h3>equalization</h3><div class="tsd-signature tsd-kind-icon">equalization<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L147">src/config.ts:147</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>perform image histogram equalization</p>
|
<p>perform image histogram equalization</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>equalization is performed on input as a whole and detected face before its passed for further analysis</li>
|
<li>equalization is performed on input as a whole and detected face before its passed for further analysis</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="flip" class="tsd-anchor"></a><h3>flip</h3><div class="tsd-signature tsd-kind-icon">flip<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L157">src/config.ts:157</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="flip" class="tsd-anchor"></a><h3>flip</h3><div class="tsd-signature tsd-kind-icon">flip<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L163">src/config.ts:163</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>flip input as mirror image</p>
|
<p>flip input as mirror image</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="height" class="tsd-anchor"></a><h3>height</h3><div class="tsd-signature tsd-kind-icon">height<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L153">src/config.ts:153</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="height" class="tsd-anchor"></a><h3>height</h3><div class="tsd-signature tsd-kind-icon">height<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L159">src/config.ts:159</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>resize input height</p>
|
<p>resize input height</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>if both width and height are set to 0, there is no resizing</li>
|
<li>if both width and height are set to 0, there is no resizing</li>
|
||||||
<li>if just one is set, second one is scaled automatically</li>
|
<li>if just one is set, second one is scaled automatically</li>
|
||||||
<li>if both are set, values are used as-is</li>
|
<li>if both are set, values are used as-is</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="hue" class="tsd-anchor"></a><h3>hue</h3><div class="tsd-signature tsd-kind-icon">hue<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L169">src/config.ts:169</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="hue" class="tsd-anchor"></a><h3>hue</h3><div class="tsd-signature tsd-kind-icon">hue<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L175">src/config.ts:175</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>range: 0 (no change) to 360 (hue rotation in degrees)</p>
|
<p>range: 0 (no change) to 360 (hue rotation in degrees)</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="kodachrome" class="tsd-anchor"></a><h3>kodachrome</h3><div class="tsd-signature tsd-kind-icon">kodachrome<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L177">src/config.ts:177</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="kodachrome" class="tsd-anchor"></a><h3>kodachrome</h3><div class="tsd-signature tsd-kind-icon">kodachrome<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L183">src/config.ts:183</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>image kodachrome colors</p>
|
<p>image kodachrome colors</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="negative" class="tsd-anchor"></a><h3>negative</h3><div class="tsd-signature tsd-kind-icon">negative<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L171">src/config.ts:171</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="negative" class="tsd-anchor"></a><h3>negative</h3><div class="tsd-signature tsd-kind-icon">negative<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L177">src/config.ts:177</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>image negative</p>
|
<p>image negative</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="pixelate" class="tsd-anchor"></a><h3>pixelate</h3><div class="tsd-signature tsd-kind-icon">pixelate<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L183">src/config.ts:183</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="pixelate" class="tsd-anchor"></a><h3>pixelate</h3><div class="tsd-signature tsd-kind-icon">pixelate<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L189">src/config.ts:189</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>range: 0 (no pixelate) to N (number of pixels to pixelate)</p>
|
<p>range: 0 (no pixelate) to N (number of pixels to pixelate)</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="polaroid" class="tsd-anchor"></a><h3>polaroid</h3><div class="tsd-signature tsd-kind-icon">polaroid<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L181">src/config.ts:181</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="polaroid" class="tsd-anchor"></a><h3>polaroid</h3><div class="tsd-signature tsd-kind-icon">polaroid<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L187">src/config.ts:187</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>image polaroid camera effect</p>
|
<p>image polaroid camera effect</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="return" class="tsd-anchor"></a><h3>return</h3><div class="tsd-signature tsd-kind-icon">return<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L155">src/config.ts:155</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="return" class="tsd-anchor"></a><h3>return</h3><div class="tsd-signature tsd-kind-icon">return<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L161">src/config.ts:161</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>return processed canvas imagedata in result</p>
|
<p>return processed canvas imagedata in result</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="saturation" class="tsd-anchor"></a><h3>saturation</h3><div class="tsd-signature tsd-kind-icon">saturation<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L167">src/config.ts:167</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="saturation" class="tsd-anchor"></a><h3>saturation</h3><div class="tsd-signature tsd-kind-icon">saturation<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L173">src/config.ts:173</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>range: -1 (reduce saturation) to 1 (increase saturation)</p>
|
<p>range: -1 (reduce saturation) to 1 (increase saturation)</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="sepia" class="tsd-anchor"></a><h3>sepia</h3><div class="tsd-signature tsd-kind-icon">sepia<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L173">src/config.ts:173</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="sepia" class="tsd-anchor"></a><h3>sepia</h3><div class="tsd-signature tsd-kind-icon">sepia<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L179">src/config.ts:179</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>image sepia colors</p>
|
<p>image sepia colors</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="sharpness" class="tsd-anchor"></a><h3>sharpness</h3><div class="tsd-signature tsd-kind-icon">sharpness<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L163">src/config.ts:163</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="sharpness" class="tsd-anchor"></a><h3>sharpness</h3><div class="tsd-signature tsd-kind-icon">sharpness<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L169">src/config.ts:169</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>range: 0 (no sharpening) to 1 (maximum sharpening)</p>
|
<p>range: 0 (no sharpening) to 1 (maximum sharpening)</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="technicolor" class="tsd-anchor"></a><h3>technicolor</h3><div class="tsd-signature tsd-kind-icon">technicolor<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L179">src/config.ts:179</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="technicolor" class="tsd-anchor"></a><h3>technicolor</h3><div class="tsd-signature tsd-kind-icon">technicolor<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L185">src/config.ts:185</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>image technicolor colors</p>
|
<p>image technicolor colors</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="vintage" class="tsd-anchor"></a><h3>vintage</h3><div class="tsd-signature tsd-kind-icon">vintage<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L175">src/config.ts:175</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="vintage" class="tsd-anchor"></a><h3>vintage</h3><div class="tsd-signature tsd-kind-icon">vintage<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L181">src/config.ts:181</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>image vintage colors</p>
|
<p>image vintage colors</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="width" class="tsd-anchor"></a><h3>width</h3><div class="tsd-signature tsd-kind-icon">width<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L147">src/config.ts:147</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="width" class="tsd-anchor"></a><h3>width</h3><div class="tsd-signature tsd-kind-icon">width<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L153">src/config.ts:153</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>resize input width</p>
|
<p>resize input width</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>if both width and height are set to 0, there is no resizing</li>
|
<li>if both width and height are set to 0, there is no resizing</li>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>GestureConfig | @vladmandic/human - v2.5.3</title><meta name="description" content="Documentation for @vladmandic/human - v2.5.3"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@vladmandic/human - v2.5.3</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../index.html">@vladmandic/human - v2.5.3</a></li><li><a href="GestureConfig.html">GestureConfig</a></li></ul><h1>Interface GestureConfig</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
|
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>GestureConfig | @vladmandic/human - v2.5.3</title><meta name="description" content="Documentation for @vladmandic/human - v2.5.3"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@vladmandic/human - v2.5.3</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../index.html">@vladmandic/human - v2.5.3</a></li><li><a href="GestureConfig.html">GestureConfig</a></li></ul><h1>Interface GestureConfig</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Controlls gesture detection</p>
|
<p>Controlls gesture detection</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">GestureConfig</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="GestureConfig.html#enabled" class="tsd-kind-icon">enabled</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="enabled" class="tsd-anchor"></a><h3>enabled</h3><div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L189">src/config.ts:189</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">GestureConfig</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="GestureConfig.html#enabled" class="tsd-kind-icon">enabled</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="enabled" class="tsd-anchor"></a><h3>enabled</h3><div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L195">src/config.ts:195</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>is gesture detection enabled?</p>
|
<p>is gesture detection enabled?</p>
|
||||||
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../index.html">Exports</a></li><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="GestureConfig.html" class="tsd-kind-icon">Gesture<wbr/>Config</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="GestureConfig.html#enabled" class="tsd-kind-icon">enabled</a></li></ul></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
|
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../index.html">Exports</a></li><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="GestureConfig.html" class="tsd-kind-icon">Gesture<wbr/>Config</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="GestureConfig.html#enabled" class="tsd-kind-icon">enabled</a></li></ul></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
|
|
@ -1,22 +1,22 @@
|
||||||
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>HandConfig | @vladmandic/human - v2.5.3</title><meta name="description" content="Documentation for @vladmandic/human - v2.5.3"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@vladmandic/human - v2.5.3</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../index.html">@vladmandic/human - v2.5.3</a></li><li><a href="HandConfig.html">HandConfig</a></li></ul><h1>Interface HandConfig</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
|
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>HandConfig | @vladmandic/human - v2.5.3</title><meta name="description" content="Documentation for @vladmandic/human - v2.5.3"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@vladmandic/human - v2.5.3</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../index.html">@vladmandic/human - v2.5.3</a></li><li><a href="HandConfig.html">HandConfig</a></li></ul><h1>Interface HandConfig</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Configures all hand detection specific options</p>
|
<p>Configures all hand detection specific options</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><a href="GenericConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">GenericConfig</a><ul class="tsd-hierarchy"><li><span class="target">HandConfig</span></li></ul></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandConfig.html#detector" class="tsd-kind-icon">detector</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="HandConfig.html#enabled" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandConfig.html#iouThreshold" class="tsd-kind-icon">iou<wbr/>Threshold</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandConfig.html#landmarks" class="tsd-kind-icon">landmarks</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandConfig.html#maxDetected" class="tsd-kind-icon">max<wbr/>Detected</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandConfig.html#minConfidence" class="tsd-kind-icon">min<wbr/>Confidence</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="HandConfig.html#modelPath-1" class="tsd-kind-icon">model<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandConfig.html#rotation" class="tsd-kind-icon">rotation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandConfig.html#skeleton" class="tsd-kind-icon">skeleton</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="HandConfig.html#skipFrames" class="tsd-kind-icon">skip<wbr/>Frames</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="HandConfig.html#skipTime" class="tsd-kind-icon">skip<wbr/>Time</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="detector" class="tsd-anchor"></a><h3>detector</h3><div class="tsd-signature tsd-kind-icon">detector<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>modelPath<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L100">src/config.ts:100</a></li></ul></aside><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> model<wbr/>Path<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><a href="GenericConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">GenericConfig</a><ul class="tsd-hierarchy"><li><span class="target">HandConfig</span></li></ul></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandConfig.html#detector" class="tsd-kind-icon">detector</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="HandConfig.html#enabled" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandConfig.html#iouThreshold" class="tsd-kind-icon">iou<wbr/>Threshold</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandConfig.html#landmarks" class="tsd-kind-icon">landmarks</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandConfig.html#maxDetected" class="tsd-kind-icon">max<wbr/>Detected</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandConfig.html#minConfidence" class="tsd-kind-icon">min<wbr/>Confidence</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="HandConfig.html#modelPath-1" class="tsd-kind-icon">model<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandConfig.html#rotation" class="tsd-kind-icon">rotation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandConfig.html#skeleton" class="tsd-kind-icon">skeleton</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="HandConfig.html#skipFrames" class="tsd-kind-icon">skip<wbr/>Frames</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="HandConfig.html#skipTime" class="tsd-kind-icon">skip<wbr/>Time</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="detector" class="tsd-anchor"></a><h3>detector</h3><div class="tsd-signature tsd-kind-icon">detector<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>modelPath<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L106">src/config.ts:106</a></li></ul></aside><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> model<wbr/>Path<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>path to hand detector model json</p>
|
<p>path to hand detector model json</p>
|
||||||
</div></div></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="enabled" class="tsd-anchor"></a><h3>enabled</h3><div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><p>Inherited from <a href="GenericConfig.html">GenericConfig</a>.<a href="GenericConfig.html#enabled">enabled</a></p><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L7">src/config.ts:7</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="enabled" class="tsd-anchor"></a><h3>enabled</h3><div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><p>Inherited from <a href="GenericConfig.html">GenericConfig</a>.<a href="GenericConfig.html#enabled">enabled</a></p><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L7">src/config.ts:7</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>is module enabled?</p>
|
<p>is module enabled?</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="iouThreshold" class="tsd-anchor"></a><h3>iou<wbr/>Threshold</h3><div class="tsd-signature tsd-kind-icon">iou<wbr/>Threshold<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L95">src/config.ts:95</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="iouThreshold" class="tsd-anchor"></a><h3>iou<wbr/>Threshold</h3><div class="tsd-signature tsd-kind-icon">iou<wbr/>Threshold<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L101">src/config.ts:101</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>minimum overlap between two detected hands before one is discarded</p>
|
<p>minimum overlap between two detected hands before one is discarded</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="landmarks" class="tsd-anchor"></a><h3>landmarks</h3><div class="tsd-signature tsd-kind-icon">landmarks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L99">src/config.ts:99</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="landmarks" class="tsd-anchor"></a><h3>landmarks</h3><div class="tsd-signature tsd-kind-icon">landmarks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L105">src/config.ts:105</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>should hand landmarks be detected or just return detected hand box</p>
|
<p>should hand landmarks be detected or just return detected hand box</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="maxDetected" class="tsd-anchor"></a><h3>max<wbr/>Detected</h3><div class="tsd-signature tsd-kind-icon">max<wbr/>Detected<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L97">src/config.ts:97</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="maxDetected" class="tsd-anchor"></a><h3>max<wbr/>Detected</h3><div class="tsd-signature tsd-kind-icon">max<wbr/>Detected<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L103">src/config.ts:103</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>maximum number of detected hands</p>
|
<p>maximum number of detected hands</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="minConfidence" class="tsd-anchor"></a><h3>min<wbr/>Confidence</h3><div class="tsd-signature tsd-kind-icon">min<wbr/>Confidence<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L93">src/config.ts:93</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="minConfidence" class="tsd-anchor"></a><h3>min<wbr/>Confidence</h3><div class="tsd-signature tsd-kind-icon">min<wbr/>Confidence<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L99">src/config.ts:99</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>minimum confidence for a detected hand before results are discarded</p>
|
<p>minimum confidence for a detected hand before results are discarded</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="modelPath-1" class="tsd-anchor"></a><h3>model<wbr/>Path</h3><div class="tsd-signature tsd-kind-icon">model<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><p>Inherited from <a href="GenericConfig.html">GenericConfig</a>.<a href="GenericConfig.html#modelPath">modelPath</a></p><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L9">src/config.ts:9</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="modelPath-1" class="tsd-anchor"></a><h3>model<wbr/>Path</h3><div class="tsd-signature tsd-kind-icon">model<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><p>Inherited from <a href="GenericConfig.html">GenericConfig</a>.<a href="GenericConfig.html#modelPath">modelPath</a></p><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L9">src/config.ts:9</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>path to model json file</p>
|
<p>path to model json file</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="rotation" class="tsd-anchor"></a><h3>rotation</h3><div class="tsd-signature tsd-kind-icon">rotation<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L91">src/config.ts:91</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="rotation" class="tsd-anchor"></a><h3>rotation</h3><div class="tsd-signature tsd-kind-icon">rotation<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L97">src/config.ts:97</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>should hand rotation correction be performed after hand detection?</p>
|
<p>should hand rotation correction be performed after hand detection?</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="skeleton" class="tsd-anchor"></a><h3>skeleton</h3><div class="tsd-signature tsd-kind-icon">skeleton<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>modelPath<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L104">src/config.ts:104</a></li></ul></aside><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> model<wbr/>Path<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="skeleton" class="tsd-anchor"></a><h3>skeleton</h3><div class="tsd-signature tsd-kind-icon">skeleton<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>modelPath<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L110">src/config.ts:110</a></li></ul></aside><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> model<wbr/>Path<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>path to hand skeleton model json</p>
|
<p>path to hand skeleton model json</p>
|
||||||
</div></div></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="skipFrames" class="tsd-anchor"></a><h3>skip<wbr/>Frames</h3><div class="tsd-signature tsd-kind-icon">skip<wbr/>Frames<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><p>Inherited from <a href="GenericConfig.html">GenericConfig</a>.<a href="GenericConfig.html#skipFrames">skipFrames</a></p><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L11">src/config.ts:11</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="skipFrames" class="tsd-anchor"></a><h3>skip<wbr/>Frames</h3><div class="tsd-signature tsd-kind-icon">skip<wbr/>Frames<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><p>Inherited from <a href="GenericConfig.html">GenericConfig</a>.<a href="GenericConfig.html#skipFrames">skipFrames</a></p><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L11">src/config.ts:11</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>how many max frames to go without re-running model if cached results are acceptable</p>
|
<p>how many max frames to go without re-running model if cached results are acceptable</p>
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
<p>Configures all object detection specific options</p>
|
<p>Configures all object detection specific options</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><a href="GenericConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">GenericConfig</a><ul class="tsd-hierarchy"><li><span class="target">ObjectConfig</span></li></ul></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ObjectConfig.html#enabled" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectConfig.html#iouThreshold" class="tsd-kind-icon">iou<wbr/>Threshold</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectConfig.html#maxDetected" class="tsd-kind-icon">max<wbr/>Detected</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectConfig.html#minConfidence" class="tsd-kind-icon">min<wbr/>Confidence</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ObjectConfig.html#modelPath" class="tsd-kind-icon">model<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ObjectConfig.html#skipFrames" class="tsd-kind-icon">skip<wbr/>Frames</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ObjectConfig.html#skipTime" class="tsd-kind-icon">skip<wbr/>Time</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="enabled" class="tsd-anchor"></a><h3>enabled</h3><div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><p>Inherited from <a href="GenericConfig.html">GenericConfig</a>.<a href="GenericConfig.html#enabled">enabled</a></p><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L7">src/config.ts:7</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><a href="GenericConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">GenericConfig</a><ul class="tsd-hierarchy"><li><span class="target">ObjectConfig</span></li></ul></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ObjectConfig.html#enabled" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectConfig.html#iouThreshold" class="tsd-kind-icon">iou<wbr/>Threshold</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectConfig.html#maxDetected" class="tsd-kind-icon">max<wbr/>Detected</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectConfig.html#minConfidence" class="tsd-kind-icon">min<wbr/>Confidence</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ObjectConfig.html#modelPath" class="tsd-kind-icon">model<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ObjectConfig.html#skipFrames" class="tsd-kind-icon">skip<wbr/>Frames</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ObjectConfig.html#skipTime" class="tsd-kind-icon">skip<wbr/>Time</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="enabled" class="tsd-anchor"></a><h3>enabled</h3><div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><p>Inherited from <a href="GenericConfig.html">GenericConfig</a>.<a href="GenericConfig.html#enabled">enabled</a></p><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L7">src/config.ts:7</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>is module enabled?</p>
|
<p>is module enabled?</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="iouThreshold" class="tsd-anchor"></a><h3>iou<wbr/>Threshold</h3><div class="tsd-signature tsd-kind-icon">iou<wbr/>Threshold<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L115">src/config.ts:115</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="iouThreshold" class="tsd-anchor"></a><h3>iou<wbr/>Threshold</h3><div class="tsd-signature tsd-kind-icon">iou<wbr/>Threshold<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L121">src/config.ts:121</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>minimum overlap between two detected objects before one is discarded</p>
|
<p>minimum overlap between two detected objects before one is discarded</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="maxDetected" class="tsd-anchor"></a><h3>max<wbr/>Detected</h3><div class="tsd-signature tsd-kind-icon">max<wbr/>Detected<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L117">src/config.ts:117</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="maxDetected" class="tsd-anchor"></a><h3>max<wbr/>Detected</h3><div class="tsd-signature tsd-kind-icon">max<wbr/>Detected<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L123">src/config.ts:123</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>maximum number of detected objects</p>
|
<p>maximum number of detected objects</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="minConfidence" class="tsd-anchor"></a><h3>min<wbr/>Confidence</h3><div class="tsd-signature tsd-kind-icon">min<wbr/>Confidence<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L113">src/config.ts:113</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="minConfidence" class="tsd-anchor"></a><h3>min<wbr/>Confidence</h3><div class="tsd-signature tsd-kind-icon">min<wbr/>Confidence<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L119">src/config.ts:119</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>minimum confidence for a detected objects before results are discarded</p>
|
<p>minimum confidence for a detected objects before results are discarded</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="modelPath" class="tsd-anchor"></a><h3>model<wbr/>Path</h3><div class="tsd-signature tsd-kind-icon">model<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><p>Inherited from <a href="GenericConfig.html">GenericConfig</a>.<a href="GenericConfig.html#modelPath">modelPath</a></p><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L9">src/config.ts:9</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="modelPath" class="tsd-anchor"></a><h3>model<wbr/>Path</h3><div class="tsd-signature tsd-kind-icon">model<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><p>Inherited from <a href="GenericConfig.html">GenericConfig</a>.<a href="GenericConfig.html#modelPath">modelPath</a></p><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L9">src/config.ts:9</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>path to model json file</p>
|
<p>path to model json file</p>
|
||||||
|
|
|
@ -4,7 +4,7 @@ removes background from input containing person
|
||||||
if segmentation is enabled it will run as preprocessing task before any other model
|
if segmentation is enabled it will run as preprocessing task before any other model
|
||||||
alternatively leave it disabled and use it on-demand using human.segmentation method which can
|
alternatively leave it disabled and use it on-demand using human.segmentation method which can
|
||||||
remove background or replace it with user-provided background</p>
|
remove background or replace it with user-provided background</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><a href="GenericConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">GenericConfig</a><ul class="tsd-hierarchy"><li><span class="target">SegmentationConfig</span></li></ul></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="SegmentationConfig.html#blur" class="tsd-kind-icon">blur</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="SegmentationConfig.html#enabled" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="SegmentationConfig.html#modelPath" class="tsd-kind-icon">model<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="SegmentationConfig.html#skipFrames" class="tsd-kind-icon">skip<wbr/>Frames</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="SegmentationConfig.html#skipTime" class="tsd-kind-icon">skip<wbr/>Time</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="blur" class="tsd-anchor"></a><h3>blur</h3><div class="tsd-signature tsd-kind-icon">blur<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L128">src/config.ts:128</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><a href="GenericConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">GenericConfig</a><ul class="tsd-hierarchy"><li><span class="target">SegmentationConfig</span></li></ul></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="SegmentationConfig.html#blur" class="tsd-kind-icon">blur</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="SegmentationConfig.html#enabled" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="SegmentationConfig.html#modelPath" class="tsd-kind-icon">model<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="SegmentationConfig.html#skipFrames" class="tsd-kind-icon">skip<wbr/>Frames</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="SegmentationConfig.html#skipTime" class="tsd-kind-icon">skip<wbr/>Time</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="blur" class="tsd-anchor"></a><h3>blur</h3><div class="tsd-signature tsd-kind-icon">blur<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L134">src/config.ts:134</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>blur segmentation output by <number> pixels for more realistic image</p>
|
<p>blur segmentation output by <number> pixels for more realistic image</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="enabled" class="tsd-anchor"></a><h3>enabled</h3><div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><p>Inherited from <a href="GenericConfig.html">GenericConfig</a>.<a href="GenericConfig.html#enabled">enabled</a></p><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L7">src/config.ts:7</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="enabled" class="tsd-anchor"></a><h3>enabled</h3><div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><p>Inherited from <a href="GenericConfig.html">GenericConfig</a>.<a href="GenericConfig.html#enabled">enabled</a></p><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L7">src/config.ts:7</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>is module enabled?</p>
|
<p>is module enabled?</p>
|
||||||
|
|
|
@ -35,10 +35,16 @@ export declare interface BodyConfig extends GenericConfig {
|
||||||
maxDetected: number;
|
maxDetected: number;
|
||||||
/** minimum confidence for a detected body before results are discarded */
|
/** minimum confidence for a detected body before results are discarded */
|
||||||
minConfidence: number;
|
minConfidence: number;
|
||||||
/** detector used for body model before actual analysis */
|
/** experimental: detector used for body model before actual analysis */
|
||||||
detector?: {
|
detector?: {
|
||||||
/** path to optional body detector model json file */
|
/** experimental: enable body detector before body landmarks */
|
||||||
|
enabled: boolean;
|
||||||
|
/** experimental: path to optional body detector model json file */
|
||||||
modelPath: string;
|
modelPath: string;
|
||||||
|
/** experimental: minimum confidence for a detected body before results are discarded */
|
||||||
|
minConfidence: number;
|
||||||
|
/** experimental: minimum overlap between two detected bodies before one is discarded */
|
||||||
|
iouThreshold: number;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue