update types and dependencies

pull/193/head
Vladimir Mandic 2021-09-27 14:39:54 -04:00
parent 07696845df
commit 01a3c6802e
21 changed files with 83 additions and 76 deletions

View File

@ -11,6 +11,7 @@
### **HEAD -> main** 2021/09/27 mandic00@live.com ### **HEAD -> main** 2021/09/27 mandic00@live.com
- define app specific types
- implement box caching for movenet - implement box caching for movenet
- autodetect number of bodies and hands - autodetect number of bodies and hands
- upload new samples - upload new samples

View File

@ -9583,6 +9583,7 @@ async function check(instance, force = false) {
tfjs_esm_exports.ENV.set("WEBGL_CPU_FORWARD", true); tfjs_esm_exports.ENV.set("WEBGL_CPU_FORWARD", true);
tfjs_esm_exports.ENV.set("WEBGL_PACK_DEPTHWISECONV", false); tfjs_esm_exports.ENV.set("WEBGL_PACK_DEPTHWISECONV", false);
tfjs_esm_exports.ENV.set("WEBGL_USE_SHAPES_UNIFORMS", true); tfjs_esm_exports.ENV.set("WEBGL_USE_SHAPES_UNIFORMS", true);
tfjs_esm_exports.ENV.set("CPU_HANDOFF_SIZE_THRESHOLD", 128);
if (typeof instance.config["deallocate"] !== "undefined" && instance.config["deallocate"]) { if (typeof instance.config["deallocate"] !== "undefined" && instance.config["deallocate"]) {
log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true); log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true);
tfjs_esm_exports.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0); tfjs_esm_exports.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0);
@ -9751,7 +9752,7 @@ async function detectFingers(input, h, config3) {
hand3.keypoints = rawCoords.map((coord) => [ hand3.keypoints = rawCoords.map((coord) => [
h.box[2] * coord[0] / inputSize[1][0] + h.box[0], h.box[2] * coord[0] / inputSize[1][0] + h.box[0],
h.box[3] * coord[1] / inputSize[1][1] + h.box[1], h.box[3] * coord[1] / inputSize[1][1] + h.box[1],
(h.box[2] + h.box[3]) / 2 / inputSize[1][0] * coord[2] (h.box[2] + h.box[3]) / 2 / inputSize[1][0] * (coord[2] || 0)
]); ]);
const updatedBox = scale(hand3.keypoints, boxScaleFact, outputSize); const updatedBox = scale(hand3.keypoints, boxScaleFact, outputSize);
h.box = updatedBox.box; h.box = updatedBox.box;

File diff suppressed because one or more lines are too long

3
dist/human.esm.js vendored
View File

@ -69651,6 +69651,7 @@ async function check(instance, force = false) {
ENV.set("WEBGL_CPU_FORWARD", true); ENV.set("WEBGL_CPU_FORWARD", true);
ENV.set("WEBGL_PACK_DEPTHWISECONV", false); ENV.set("WEBGL_PACK_DEPTHWISECONV", false);
ENV.set("WEBGL_USE_SHAPES_UNIFORMS", true); ENV.set("WEBGL_USE_SHAPES_UNIFORMS", true);
ENV.set("CPU_HANDOFF_SIZE_THRESHOLD", 128);
if (typeof instance.config["deallocate"] !== "undefined" && instance.config["deallocate"]) { if (typeof instance.config["deallocate"] !== "undefined" && instance.config["deallocate"]) {
log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true); log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true);
ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0); ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0);
@ -69819,7 +69820,7 @@ async function detectFingers(input2, h, config3) {
hand3.keypoints = rawCoords.map((coord) => [ hand3.keypoints = rawCoords.map((coord) => [
h.box[2] * coord[0] / inputSize[1][0] + h.box[0], h.box[2] * coord[0] / inputSize[1][0] + h.box[0],
h.box[3] * coord[1] / inputSize[1][1] + h.box[1], h.box[3] * coord[1] / inputSize[1][1] + h.box[1],
(h.box[2] + h.box[3]) / 2 / inputSize[1][0] * coord[2] (h.box[2] + h.box[3]) / 2 / inputSize[1][0] * (coord[2] || 0)
]); ]);
const updatedBox = scale2(hand3.keypoints, boxScaleFact, outputSize); const updatedBox = scale2(hand3.keypoints, boxScaleFact, outputSize);
h.box = updatedBox.box; h.box = updatedBox.box;

File diff suppressed because one or more lines are too long

46
dist/human.js vendored

File diff suppressed because one or more lines are too long

View File

@ -9635,6 +9635,7 @@ async function check(instance, force = false) {
tf15.ENV.set("WEBGL_CPU_FORWARD", true); tf15.ENV.set("WEBGL_CPU_FORWARD", true);
tf15.ENV.set("WEBGL_PACK_DEPTHWISECONV", false); tf15.ENV.set("WEBGL_PACK_DEPTHWISECONV", false);
tf15.ENV.set("WEBGL_USE_SHAPES_UNIFORMS", true); tf15.ENV.set("WEBGL_USE_SHAPES_UNIFORMS", true);
tf15.ENV.set("CPU_HANDOFF_SIZE_THRESHOLD", 128);
if (typeof instance.config["deallocate"] !== "undefined" && instance.config["deallocate"]) { if (typeof instance.config["deallocate"] !== "undefined" && instance.config["deallocate"]) {
log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true); log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true);
tf15.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0); tf15.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0);
@ -9803,7 +9804,7 @@ async function detectFingers(input, h, config3) {
hand3.keypoints = rawCoords.map((coord) => [ hand3.keypoints = rawCoords.map((coord) => [
h.box[2] * coord[0] / inputSize[1][0] + h.box[0], h.box[2] * coord[0] / inputSize[1][0] + h.box[0],
h.box[3] * coord[1] / inputSize[1][1] + h.box[1], h.box[3] * coord[1] / inputSize[1][1] + h.box[1],
(h.box[2] + h.box[3]) / 2 / inputSize[1][0] * coord[2] (h.box[2] + h.box[3]) / 2 / inputSize[1][0] * (coord[2] || 0)
]); ]);
const updatedBox = scale(hand3.keypoints, boxScaleFact, outputSize); const updatedBox = scale(hand3.keypoints, boxScaleFact, outputSize);
h.box = updatedBox.box; h.box = updatedBox.box;

View File

@ -9636,6 +9636,7 @@ async function check(instance, force = false) {
tf15.ENV.set("WEBGL_CPU_FORWARD", true); tf15.ENV.set("WEBGL_CPU_FORWARD", true);
tf15.ENV.set("WEBGL_PACK_DEPTHWISECONV", false); tf15.ENV.set("WEBGL_PACK_DEPTHWISECONV", false);
tf15.ENV.set("WEBGL_USE_SHAPES_UNIFORMS", true); tf15.ENV.set("WEBGL_USE_SHAPES_UNIFORMS", true);
tf15.ENV.set("CPU_HANDOFF_SIZE_THRESHOLD", 128);
if (typeof instance.config["deallocate"] !== "undefined" && instance.config["deallocate"]) { if (typeof instance.config["deallocate"] !== "undefined" && instance.config["deallocate"]) {
log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true); log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true);
tf15.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0); tf15.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0);
@ -9804,7 +9805,7 @@ async function detectFingers(input, h, config3) {
hand3.keypoints = rawCoords.map((coord) => [ hand3.keypoints = rawCoords.map((coord) => [
h.box[2] * coord[0] / inputSize[1][0] + h.box[0], h.box[2] * coord[0] / inputSize[1][0] + h.box[0],
h.box[3] * coord[1] / inputSize[1][1] + h.box[1], h.box[3] * coord[1] / inputSize[1][1] + h.box[1],
(h.box[2] + h.box[3]) / 2 / inputSize[1][0] * coord[2] (h.box[2] + h.box[3]) / 2 / inputSize[1][0] * (coord[2] || 0)
]); ]);
const updatedBox = scale(hand3.keypoints, boxScaleFact, outputSize); const updatedBox = scale(hand3.keypoints, boxScaleFact, outputSize);
h.box = updatedBox.box; h.box = updatedBox.box;

3
dist/human.node.js vendored
View File

@ -9635,6 +9635,7 @@ async function check(instance, force = false) {
tf15.ENV.set("WEBGL_CPU_FORWARD", true); tf15.ENV.set("WEBGL_CPU_FORWARD", true);
tf15.ENV.set("WEBGL_PACK_DEPTHWISECONV", false); tf15.ENV.set("WEBGL_PACK_DEPTHWISECONV", false);
tf15.ENV.set("WEBGL_USE_SHAPES_UNIFORMS", true); tf15.ENV.set("WEBGL_USE_SHAPES_UNIFORMS", true);
tf15.ENV.set("CPU_HANDOFF_SIZE_THRESHOLD", 128);
if (typeof instance.config["deallocate"] !== "undefined" && instance.config["deallocate"]) { if (typeof instance.config["deallocate"] !== "undefined" && instance.config["deallocate"]) {
log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true); log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true);
tf15.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0); tf15.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0);
@ -9803,7 +9804,7 @@ async function detectFingers(input, h, config3) {
hand3.keypoints = rawCoords.map((coord) => [ hand3.keypoints = rawCoords.map((coord) => [
h.box[2] * coord[0] / inputSize[1][0] + h.box[0], h.box[2] * coord[0] / inputSize[1][0] + h.box[0],
h.box[3] * coord[1] / inputSize[1][1] + h.box[1], h.box[3] * coord[1] / inputSize[1][1] + h.box[1],
(h.box[2] + h.box[3]) / 2 / inputSize[1][0] * coord[2] (h.box[2] + h.box[3]) / 2 / inputSize[1][0] * (coord[2] || 0)
]); ]);
const updatedBox = scale(hand3.keypoints, boxScaleFact, outputSize); const updatedBox = scale(hand3.keypoints, boxScaleFact, outputSize);
h.box = updatedBox.box; h.box = updatedBox.box;

View File

@ -67,8 +67,8 @@
"@tensorflow/tfjs-node": "^3.9.0", "@tensorflow/tfjs-node": "^3.9.0",
"@tensorflow/tfjs-node-gpu": "^3.9.0", "@tensorflow/tfjs-node-gpu": "^3.9.0",
"@types/node": "^16.10.1", "@types/node": "^16.10.1",
"@typescript-eslint/eslint-plugin": "^4.31.2", "@typescript-eslint/eslint-plugin": "^4.32.0",
"@typescript-eslint/parser": "^4.31.2", "@typescript-eslint/parser": "^4.32.0",
"@vladmandic/build": "^0.5.3", "@vladmandic/build": "^0.5.3",
"@vladmandic/pilogger": "^0.3.3", "@vladmandic/pilogger": "^0.3.3",
"canvas": "^2.8.0", "canvas": "^2.8.0",

View File

@ -166,8 +166,8 @@ export class Pipeline {
correctFaceRotation(config, box, input) { correctFaceRotation(config, box, input) {
const [indexOfMouth, indexOfForehead] = (box.landmarks.length >= meshLandmarks.count) ? meshLandmarks.symmetryLine : blazeFaceLandmarks.symmetryLine; const [indexOfMouth, indexOfForehead] = (box.landmarks.length >= meshLandmarks.count) ? meshLandmarks.symmetryLine : blazeFaceLandmarks.symmetryLine;
const angle: number = util.computeRotation(box.landmarks[indexOfMouth], box.landmarks[indexOfForehead]); const angle: number = util.computeRotation(box.landmarks[indexOfMouth], box.landmarks[indexOfForehead]);
const faceCenter: [number, number] = bounding.getBoxCenter({ startPoint: box.startPoint, endPoint: box.endPoint }); const faceCenter: Point = bounding.getBoxCenter({ startPoint: box.startPoint, endPoint: box.endPoint });
const faceCenterNormalized: [number, number] = [faceCenter[0] / input.shape[2], faceCenter[1] / input.shape[1]]; const faceCenterNormalized: Point = [faceCenter[0] / input.shape[2], faceCenter[1] / input.shape[1]];
const rotated = tf.image.rotateWithOffset(input, angle, 0, faceCenterNormalized); // rotateWithOffset is not defined for tfjs-node const rotated = tf.image.rotateWithOffset(input, angle, 0, faceCenterNormalized); // rotateWithOffset is not defined for tfjs-node
const rotationMatrix = util.buildRotationMatrix(-angle, faceCenter); const rotationMatrix = util.buildRotationMatrix(-angle, faceCenter);
const cut = config.face.mesh.enabled const cut = config.face.mesh.enabled

View File

@ -6,14 +6,14 @@
import { log, join } from '../util/util'; import { log, join } from '../util/util';
import * as tf from '../../dist/tfjs.esm.js'; import * as tf from '../../dist/tfjs.esm.js';
import type { BodyResult, Box } from '../result'; import type { 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 { env } from '../util/env'; import { env } from '../util/env';
let model: GraphModel | null; let model: GraphModel | null;
type Keypoints = { score: number, part: string, position: [number, number], positionRaw: [number, number] }; type Keypoints = { score: number, part: string, position: Point, positionRaw: Point };
const keypoints: Array<Keypoints> = []; const keypoints: Array<Keypoints> = [];
let box: Box = [0, 0, 0, 0]; let box: Box = [0, 0, 0, 0];

View File

@ -45,7 +45,7 @@ async function parseSinglePose(res, config, image, inputBox) {
for (let id = 0; id < kpt.length; id++) { for (let id = 0; id < kpt.length; id++) {
score = kpt[id][2]; score = kpt[id][2];
if (score > config.body.minConfidence) { if (score > config.body.minConfidence) {
const positionRaw: [number, number] = [ const positionRaw: Point = [
(inputBox[3] - inputBox[1]) * kpt[id][1] + inputBox[1], (inputBox[3] - inputBox[1]) * kpt[id][1] + inputBox[1],
(inputBox[2] - inputBox[0]) * kpt[id][0] + inputBox[0], (inputBox[2] - inputBox[0]) * kpt[id][0] + inputBox[0],
]; ];
@ -93,7 +93,7 @@ async function parseMultiPose(res, config, image, inputBox) {
for (let i = 0; i < 17; i++) { for (let i = 0; i < 17; i++) {
const partScore = Math.round(100 * kpt[3 * i + 2]) / 100; const partScore = Math.round(100 * kpt[3 * i + 2]) / 100;
if (partScore > config.body.minConfidence) { if (partScore > config.body.minConfidence) {
const positionRaw: [number, number] = [ const positionRaw: Point = [
(inputBox[3] - inputBox[1]) * kpt[3 * i + 1] + inputBox[1], (inputBox[3] - inputBox[1]) * kpt[3 * i + 1] + inputBox[1],
(inputBox[2] - inputBox[0]) * kpt[3 * i + 0] + inputBox[0], (inputBox[2] - inputBox[0]) * kpt[3 * i + 0] + inputBox[0],
]; ];

View File

@ -9,7 +9,7 @@
import { log, join } from '../util/util'; import { log, join } from '../util/util';
import { scale } from '../util/box'; import { scale } from '../util/box';
import * as tf from '../../dist/tfjs.esm.js'; import * as tf from '../../dist/tfjs.esm.js';
import type { HandResult, Box } from '../result'; import type { HandResult, 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 { env } from '../util/env'; import { env } from '../util/env';
@ -25,7 +25,7 @@ const inputSize = [[0, 0], [0, 0]];
const classes = ['hand', 'fist', 'pinch', 'point', 'face', 'tip', 'pinchtip']; const classes = ['hand', 'fist', 'pinch', 'point', 'face', 'tip', 'pinchtip'];
let skipped = 0; let skipped = 0;
let outputSize: [number, number] = [0, 0]; let outputSize: Point = [0, 0];
type HandDetectResult = { type HandDetectResult = {
id: number, id: number,
@ -115,7 +115,7 @@ async function detectHands(input: Tensor, config: Config): Promise<HandDetectRes
let yxBox: Box = [0, 0, 0, 0]; let yxBox: Box = [0, 0, 0, 0];
if (config.hand.landmarks) { // scale box if (config.hand.landmarks) { // scale box
const detectedBox: Box = await boxSlice.data(); const detectedBox: Box = await boxSlice.data();
const boxCenter: [number, number] = [(detectedBox[0] + detectedBox[2]) / 2, (detectedBox[1] + detectedBox[3]) / 2]; const boxCenter: Point = [(detectedBox[0] + detectedBox[2]) / 2, (detectedBox[1] + detectedBox[3]) / 2];
const boxDiff: Box = [+boxCenter[0] - detectedBox[0], +boxCenter[1] - detectedBox[1], -boxCenter[0] + detectedBox[2], -boxCenter[1] + detectedBox[3]]; const boxDiff: Box = [+boxCenter[0] - detectedBox[0], +boxCenter[1] - detectedBox[1], -boxCenter[0] + detectedBox[2], -boxCenter[1] + detectedBox[3]];
yxBox = [boxCenter[0] - boxScaleFact * boxDiff[0], boxCenter[1] - boxScaleFact * boxDiff[1], boxCenter[0] + boxScaleFact * boxDiff[2], boxCenter[1] + boxScaleFact * boxDiff[3]]; yxBox = [boxCenter[0] - boxScaleFact * boxDiff[0], boxCenter[1] - boxScaleFact * boxDiff[1], boxCenter[0] + boxScaleFact * boxDiff[2], boxCenter[1] + boxScaleFact * boxDiff[3]];
} else { // use box as-is } else { // use box as-is
@ -163,11 +163,11 @@ async function detectFingers(input: Tensor, h: HandDetectResult, config: Config)
if (score > (config.hand.minConfidence || 0)) { if (score > (config.hand.minConfidence || 0)) {
hand.fingerScore = score; hand.fingerScore = score;
t.reshaped = tf.reshape(t.keypoints, [-1, 3]); t.reshaped = tf.reshape(t.keypoints, [-1, 3]);
const rawCoords = await t.reshaped.array() as number[]; const rawCoords = await t.reshaped.array() as Point[];
hand.keypoints = (rawCoords as number[]).map((coord) => [ hand.keypoints = (rawCoords as Point[]).map((coord) => [
(h.box[2] * coord[0] / inputSize[1][0]) + h.box[0], (h.box[2] * coord[0] / inputSize[1][0]) + h.box[0],
(h.box[3] * coord[1] / inputSize[1][1]) + h.box[1], (h.box[3] * coord[1] / inputSize[1][1]) + h.box[1],
(h.box[2] + h.box[3]) / 2 / inputSize[1][0] * coord[2], (h.box[2] + h.box[3]) / 2 / inputSize[1][0] * (coord[2] || 0),
]); ]);
const updatedBox = scale(hand.keypoints, boxScaleFact, outputSize); // replace detected box with box calculated around keypoints const updatedBox = scale(hand.keypoints, boxScaleFact, outputSize); // replace detected box with box calculated around keypoints
h.box = updatedBox.box; h.box = updatedBox.box;

View File

@ -77,6 +77,7 @@ export async function check(instance, force = false) {
tf.ENV.set('WEBGL_CPU_FORWARD', true); tf.ENV.set('WEBGL_CPU_FORWARD', true);
tf.ENV.set('WEBGL_PACK_DEPTHWISECONV', false); tf.ENV.set('WEBGL_PACK_DEPTHWISECONV', false);
tf.ENV.set('WEBGL_USE_SHAPES_UNIFORMS', true); tf.ENV.set('WEBGL_USE_SHAPES_UNIFORMS', true);
tf.ENV.set('CPU_HANDOFF_SIZE_THRESHOLD', 128);
// if (!instance.config.object.enabled) tf.ENV.set('WEBGL_FORCE_F16_TEXTURES', true); // safe to use 16bit precision // if (!instance.config.object.enabled) tf.ENV.set('WEBGL_FORCE_F16_TEXTURES', true); // safe to use 16bit precision
if (typeof instance.config['deallocate'] !== 'undefined' && instance.config['deallocate']) { // hidden param if (typeof instance.config['deallocate'] !== 'undefined' && instance.config['deallocate']) { // hidden param
log('changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:', true); log('changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:', true);

View File

@ -1,24 +1,24 @@
2021-09-27 13:56:53 INFO:  @vladmandic/human version 2.2.3 2021-09-27 14:38:51 INFO:  @vladmandic/human version 2.2.3
2021-09-27 13:56:53 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.5.0 2021-09-27 14:38:51 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.5.0
2021-09-27 13:56:53 INFO:  Application: {"name":"@vladmandic/human","version":"2.2.3"} 2021-09-27 14:38:51 INFO:  Application: {"name":"@vladmandic/human","version":"2.2.3"}
2021-09-27 13:56:53 INFO:  Environment: {"profile":"production","config":"build.json","tsconfig":true,"eslintrc":true,"git":true} 2021-09-27 14:38:51 INFO:  Environment: {"profile":"production","config":"build.json","tsconfig":true,"eslintrc":true,"git":true}
2021-09-27 13:56:53 INFO:  Toolchain: {"build":"0.5.3","esbuild":"0.13.2","typescript":"4.4.3","typedoc":"0.22.4","eslint":"7.32.0"} 2021-09-27 14:38:51 INFO:  Toolchain: {"build":"0.5.3","esbuild":"0.13.2","typescript":"4.4.3","typedoc":"0.22.4","eslint":"7.32.0"}
2021-09-27 13:56:53 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]} 2021-09-27 14:38:51 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
2021-09-27 13:56:53 STATE: Clean: {"locations":["dist/*","types/*","typedoc/*"]} 2021-09-27 14:38:51 STATE: Clean: {"locations":["dist/*","types/*","typedoc/*"]}
2021-09-27 13:56:53 STATE: 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-09-27 14:38:51 STATE: 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-09-27 13:56:53 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":53,"inputBytes":510889,"outputBytes":424465} 2021-09-27 14:38:51 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":53,"inputBytes":510873,"outputBytes":424527}
2021-09-27 13:56:53 STATE: 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-09-27 14:38:51 STATE: 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-09-27 13:56:53 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":53,"inputBytes":510897,"outputBytes":424469} 2021-09-27 14:38:51 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":53,"inputBytes":510881,"outputBytes":424531}
2021-09-27 13:56:53 STATE: 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-09-27 14:38:51 STATE: 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-09-27 13:56:53 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":53,"inputBytes":510964,"outputBytes":424541} 2021-09-27 14:38:51 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":53,"inputBytes":510948,"outputBytes":424603}
2021-09-27 13:56:53 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1631} 2021-09-27 14:38:51 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1631}
2021-09-27 13:56:53 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":3088,"outputBytes":793} 2021-09-27 14:38:51 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":3088,"outputBytes":793}
2021-09-27 13:56:53 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":53,"inputBytes":510407,"outputBytes":425933} 2021-09-27 14:38:51 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":53,"inputBytes":510391,"outputBytes":426007}
2021-09-27 13:56:54 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":8,"inputBytes":3088,"outputBytes":2377041} 2021-09-27 14:38:52 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":8,"inputBytes":3088,"outputBytes":2377041}
2021-09-27 13:56:54 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":53,"inputBytes":2886655,"outputBytes":1419179} 2021-09-27 14:38:52 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":53,"inputBytes":2886639,"outputBytes":1419225}
2021-09-27 13:56:55 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":53,"inputBytes":2886655,"outputBytes":2630435} 2021-09-27 14:38:52 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":53,"inputBytes":2886639,"outputBytes":2630492}
2021-09-27 13:57:11 STATE: Typings: {"input":"src/human.ts","output":"types","files":100} 2021-09-27 14:39:08 STATE: Typings: {"input":"src/human.ts","output":"types","files":100}
2021-09-27 13:57:16 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":33,"generated":true} 2021-09-27 14:39:14 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":33,"generated":true}
2021-09-27 13:57:43 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":87,"errors":0,"warnings":0} 2021-09-27 14:39:40 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":87,"errors":0,"warnings":0}
2021-09-27 13:57:43 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"} 2021-09-27 14:39:40 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
2021-09-27 13:57:43 INFO:  Done... 2021-09-27 14:39:40 INFO:  Done...

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"version":3,"file":"efficientpose.d.ts","sourceRoot":"","sources":["../../../src/body/efficientpose.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAO,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAexC,wBAAsB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAQ9D;AAmBD,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAkElF"} {"version":3,"file":"efficientpose.d.ts","sourceRoot":"","sources":["../../../src/body/efficientpose.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAexC,wBAAsB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAQ9D;AAmBD,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAkElF"}

View File

@ -1 +1 @@
{"version":3,"file":"handtrack.d.ts","sourceRoot":"","sources":["../../../src/hand/handtrack.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAO,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AA4CxC,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAepE;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAWtE;AAED,wBAAsB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,UAAU,GAAG,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC,CAI1F;AAgGD,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAmBlF"} {"version":3,"file":"handtrack.d.ts","sourceRoot":"","sources":["../../../src/hand/handtrack.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AA4CxC,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAepE;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAWtE;AAED,wBAAsB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,UAAU,GAAG,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC,CAI1F;AAgGD,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAmBlF"}

View File

@ -1 +1 @@
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../src/tfjs/backend.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAOpD,wBAAsB,KAAK,CAAC,QAAQ,KAAA,EAAE,KAAK,UAAQ,oBA4FlD;AAGD,wBAAgB,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,KAAA,QAazD"} {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../src/tfjs/backend.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAOpD,wBAAsB,KAAK,CAAC,QAAQ,KAAA,EAAE,KAAK,UAAQ,oBA6FlD;AAGD,wBAAgB,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,KAAA,QAazD"}