mirror of https://github.com/vladmandic/human
update types and dependencies
parent
07696845df
commit
01a3c6802e
|
@ -11,6 +11,7 @@
|
|||
|
||||
### **HEAD -> main** 2021/09/27 mandic00@live.com
|
||||
|
||||
- define app specific types
|
||||
- implement box caching for movenet
|
||||
- autodetect number of bodies and hands
|
||||
- upload new samples
|
||||
|
|
|
@ -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_PACK_DEPTHWISECONV", false);
|
||||
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"]) {
|
||||
log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true);
|
||||
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) => [
|
||||
h.box[2] * coord[0] / inputSize[1][0] + h.box[0],
|
||||
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);
|
||||
h.box = updatedBox.box;
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -69651,6 +69651,7 @@ async function check(instance, force = false) {
|
|||
ENV.set("WEBGL_CPU_FORWARD", true);
|
||||
ENV.set("WEBGL_PACK_DEPTHWISECONV", false);
|
||||
ENV.set("WEBGL_USE_SHAPES_UNIFORMS", true);
|
||||
ENV.set("CPU_HANDOFF_SIZE_THRESHOLD", 128);
|
||||
if (typeof instance.config["deallocate"] !== "undefined" && instance.config["deallocate"]) {
|
||||
log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true);
|
||||
ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0);
|
||||
|
@ -69819,7 +69820,7 @@ async function detectFingers(input2, h, config3) {
|
|||
hand3.keypoints = rawCoords.map((coord) => [
|
||||
h.box[2] * coord[0] / inputSize[1][0] + h.box[0],
|
||||
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);
|
||||
h.box = updatedBox.box;
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -9635,6 +9635,7 @@ async function check(instance, force = false) {
|
|||
tf15.ENV.set("WEBGL_CPU_FORWARD", true);
|
||||
tf15.ENV.set("WEBGL_PACK_DEPTHWISECONV", false);
|
||||
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"]) {
|
||||
log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true);
|
||||
tf15.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0);
|
||||
|
@ -9803,7 +9804,7 @@ async function detectFingers(input, h, config3) {
|
|||
hand3.keypoints = rawCoords.map((coord) => [
|
||||
h.box[2] * coord[0] / inputSize[1][0] + h.box[0],
|
||||
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);
|
||||
h.box = updatedBox.box;
|
||||
|
|
|
@ -9636,6 +9636,7 @@ async function check(instance, force = false) {
|
|||
tf15.ENV.set("WEBGL_CPU_FORWARD", true);
|
||||
tf15.ENV.set("WEBGL_PACK_DEPTHWISECONV", false);
|
||||
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"]) {
|
||||
log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true);
|
||||
tf15.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0);
|
||||
|
@ -9804,7 +9805,7 @@ async function detectFingers(input, h, config3) {
|
|||
hand3.keypoints = rawCoords.map((coord) => [
|
||||
h.box[2] * coord[0] / inputSize[1][0] + h.box[0],
|
||||
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);
|
||||
h.box = updatedBox.box;
|
||||
|
|
|
@ -9635,6 +9635,7 @@ async function check(instance, force = false) {
|
|||
tf15.ENV.set("WEBGL_CPU_FORWARD", true);
|
||||
tf15.ENV.set("WEBGL_PACK_DEPTHWISECONV", false);
|
||||
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"]) {
|
||||
log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true);
|
||||
tf15.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0);
|
||||
|
@ -9803,7 +9804,7 @@ async function detectFingers(input, h, config3) {
|
|||
hand3.keypoints = rawCoords.map((coord) => [
|
||||
h.box[2] * coord[0] / inputSize[1][0] + h.box[0],
|
||||
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);
|
||||
h.box = updatedBox.box;
|
||||
|
|
|
@ -67,8 +67,8 @@
|
|||
"@tensorflow/tfjs-node": "^3.9.0",
|
||||
"@tensorflow/tfjs-node-gpu": "^3.9.0",
|
||||
"@types/node": "^16.10.1",
|
||||
"@typescript-eslint/eslint-plugin": "^4.31.2",
|
||||
"@typescript-eslint/parser": "^4.31.2",
|
||||
"@typescript-eslint/eslint-plugin": "^4.32.0",
|
||||
"@typescript-eslint/parser": "^4.32.0",
|
||||
"@vladmandic/build": "^0.5.3",
|
||||
"@vladmandic/pilogger": "^0.3.3",
|
||||
"canvas": "^2.8.0",
|
||||
|
|
|
@ -166,8 +166,8 @@ export class Pipeline {
|
|||
correctFaceRotation(config, box, input) {
|
||||
const [indexOfMouth, indexOfForehead] = (box.landmarks.length >= meshLandmarks.count) ? meshLandmarks.symmetryLine : blazeFaceLandmarks.symmetryLine;
|
||||
const angle: number = util.computeRotation(box.landmarks[indexOfMouth], box.landmarks[indexOfForehead]);
|
||||
const faceCenter: [number, number] = bounding.getBoxCenter({ startPoint: box.startPoint, endPoint: box.endPoint });
|
||||
const faceCenterNormalized: [number, number] = [faceCenter[0] / input.shape[2], faceCenter[1] / input.shape[1]];
|
||||
const faceCenter: Point = bounding.getBoxCenter({ startPoint: box.startPoint, endPoint: box.endPoint });
|
||||
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 rotationMatrix = util.buildRotationMatrix(-angle, faceCenter);
|
||||
const cut = config.face.mesh.enabled
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
|
||||
import { log, join } from '../util/util';
|
||||
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 { Config } from '../config';
|
||||
import { env } from '../util/env';
|
||||
|
||||
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> = [];
|
||||
let box: Box = [0, 0, 0, 0];
|
||||
|
|
|
@ -45,7 +45,7 @@ async function parseSinglePose(res, config, image, inputBox) {
|
|||
for (let id = 0; id < kpt.length; id++) {
|
||||
score = kpt[id][2];
|
||||
if (score > config.body.minConfidence) {
|
||||
const positionRaw: [number, number] = [
|
||||
const positionRaw: Point = [
|
||||
(inputBox[3] - inputBox[1]) * kpt[id][1] + inputBox[1],
|
||||
(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++) {
|
||||
const partScore = Math.round(100 * kpt[3 * i + 2]) / 100;
|
||||
if (partScore > config.body.minConfidence) {
|
||||
const positionRaw: [number, number] = [
|
||||
const positionRaw: Point = [
|
||||
(inputBox[3] - inputBox[1]) * kpt[3 * i + 1] + inputBox[1],
|
||||
(inputBox[2] - inputBox[0]) * kpt[3 * i + 0] + inputBox[0],
|
||||
];
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
import { log, join } from '../util/util';
|
||||
import { scale } from '../util/box';
|
||||
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 { Config } from '../config';
|
||||
import { env } from '../util/env';
|
||||
|
@ -25,7 +25,7 @@ const inputSize = [[0, 0], [0, 0]];
|
|||
const classes = ['hand', 'fist', 'pinch', 'point', 'face', 'tip', 'pinchtip'];
|
||||
|
||||
let skipped = 0;
|
||||
let outputSize: [number, number] = [0, 0];
|
||||
let outputSize: Point = [0, 0];
|
||||
|
||||
type HandDetectResult = {
|
||||
id: number,
|
||||
|
@ -115,7 +115,7 @@ async function detectHands(input: Tensor, config: Config): Promise<HandDetectRes
|
|||
let yxBox: Box = [0, 0, 0, 0];
|
||||
if (config.hand.landmarks) { // scale box
|
||||
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]];
|
||||
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
|
||||
|
@ -163,11 +163,11 @@ async function detectFingers(input: Tensor, h: HandDetectResult, config: Config)
|
|||
if (score > (config.hand.minConfidence || 0)) {
|
||||
hand.fingerScore = score;
|
||||
t.reshaped = tf.reshape(t.keypoints, [-1, 3]);
|
||||
const rawCoords = await t.reshaped.array() as number[];
|
||||
hand.keypoints = (rawCoords as number[]).map((coord) => [
|
||||
const rawCoords = await t.reshaped.array() as Point[];
|
||||
hand.keypoints = (rawCoords as Point[]).map((coord) => [
|
||||
(h.box[2] * coord[0] / inputSize[1][0]) + h.box[0],
|
||||
(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
|
||||
h.box = updatedBox.box;
|
||||
|
|
|
@ -77,6 +77,7 @@ export async function check(instance, force = false) {
|
|||
tf.ENV.set('WEBGL_CPU_FORWARD', true);
|
||||
tf.ENV.set('WEBGL_PACK_DEPTHWISECONV', false);
|
||||
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 (typeof instance.config['deallocate'] !== 'undefined' && instance.config['deallocate']) { // hidden param
|
||||
log('changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:', true);
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
2021-09-27 13:56:53 [36mINFO: [39m @vladmandic/human version 2.2.3
|
||||
2021-09-27 13:56:53 [36mINFO: [39m User: vlado Platform: linux Arch: x64 Node: v16.5.0
|
||||
2021-09-27 13:56:53 [36mINFO: [39m Application: {"name":"@vladmandic/human","version":"2.2.3"}
|
||||
2021-09-27 13:56:53 [36mINFO: [39m Environment: {"profile":"production","config":"build.json","tsconfig":true,"eslintrc":true,"git":true}
|
||||
2021-09-27 13:56:53 [36mINFO: [39m 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 [36mINFO: [39m Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
|
||||
2021-09-27 13:56:53 [35mSTATE:[39m Clean: {"locations":["dist/*","types/*","typedoc/*"]}
|
||||
2021-09-27 13:56: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-09-27 13:56:53 [35mSTATE:[39m 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 13:56: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-09-27 13:56:53 [35mSTATE:[39m 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 13:56: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-09-27 13:56:53 [35mSTATE:[39m 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 13:56: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":1631}
|
||||
2021-09-27 13:56: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":3088,"outputBytes":793}
|
||||
2021-09-27 13:56:53 [35mSTATE:[39m 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 13:56:54 [35mSTATE:[39m 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 [35mSTATE:[39m 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 13:56:55 [35mSTATE:[39m 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 13:57:11 [35mSTATE:[39m Typings: {"input":"src/human.ts","output":"types","files":100}
|
||||
2021-09-27 13:57:16 [35mSTATE:[39m TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":33,"generated":true}
|
||||
2021-09-27 13:57:43 [35mSTATE:[39m Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":87,"errors":0,"warnings":0}
|
||||
2021-09-27 13:57:43 [35mSTATE:[39m ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
|
||||
2021-09-27 13:57:43 [36mINFO: [39m Done...
|
||||
2021-09-27 14:38:51 [36mINFO: [39m @vladmandic/human version 2.2.3
|
||||
2021-09-27 14:38:51 [36mINFO: [39m User: vlado Platform: linux Arch: x64 Node: v16.5.0
|
||||
2021-09-27 14:38:51 [36mINFO: [39m Application: {"name":"@vladmandic/human","version":"2.2.3"}
|
||||
2021-09-27 14:38:51 [36mINFO: [39m Environment: {"profile":"production","config":"build.json","tsconfig":true,"eslintrc":true,"git":true}
|
||||
2021-09-27 14:38:51 [36mINFO: [39m 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 [36mINFO: [39m Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
|
||||
2021-09-27 14:38:51 [35mSTATE:[39m Clean: {"locations":["dist/*","types/*","typedoc/*"]}
|
||||
2021-09-27 14:38: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-09-27 14:38:51 [35mSTATE:[39m 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 14:38: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-09-27 14:38:51 [35mSTATE:[39m 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 14:38: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-09-27 14:38:51 [35mSTATE:[39m 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 14:38: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":1631}
|
||||
2021-09-27 14:38: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":3088,"outputBytes":793}
|
||||
2021-09-27 14:38:51 [35mSTATE:[39m 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 14:38:52 [35mSTATE:[39m 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 [35mSTATE:[39m 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 14:38:52 [35mSTATE:[39m 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 14:39:08 [35mSTATE:[39m Typings: {"input":"src/human.ts","output":"types","files":100}
|
||||
2021-09-27 14:39:14 [35mSTATE:[39m TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":33,"generated":true}
|
||||
2021-09-27 14:39:40 [35mSTATE:[39m Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":87,"errors":0,"warnings":0}
|
||||
2021-09-27 14:39:40 [35mSTATE:[39m ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
|
||||
2021-09-27 14:39:40 [36mINFO: [39m Done...
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -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"}
|
|
@ -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"}
|
|
@ -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"}
|
Loading…
Reference in New Issue