mirror of https://github.com/vladmandic/human
remove blazeface-front and faceboxes
parent
797bf5de60
commit
30bc77a99d
10
config.js
10
config.js
|
@ -66,13 +66,11 @@ export default {
|
||||||
// detector, mesh, iris, age, gender, emotion
|
// detector, mesh, iris, age, gender, emotion
|
||||||
// (note: module is not loaded until it is required)
|
// (note: module is not loaded until it is required)
|
||||||
detector: {
|
detector: {
|
||||||
modelPath: '../models/blazeface-back.json', // can be 'blazeface-front', 'blazeface-back' or 'faceboxes'
|
modelPath: '../models/blazeface-back.json',
|
||||||
// 'blazeface-front' is blazeface model optimized for large faces such as front-facing camera
|
inputSize: 256, // fixed value
|
||||||
// 'blazeface-back' is blazeface model optimized for smaller and/or distanct faces
|
|
||||||
// 'faceboxes' is alternative model to 'blazeface'
|
|
||||||
inputSize: 256, // fixed value: 128 for front and 256 for 'back'
|
|
||||||
rotation: true, // use best-guess rotated face image or just box with rotation as-is
|
rotation: true, // use best-guess rotated face image or just box with rotation as-is
|
||||||
// false means higher performance, but incorrect mesh mapping if face angle is above 20 degrees
|
// false means higher performance, but incorrect mesh mapping if face angle is above 20 degrees
|
||||||
|
// this parameter is not valid in nodejs
|
||||||
maxFaces: 10, // maximum number of faces detected in the input
|
maxFaces: 10, // maximum number of faces detected in the input
|
||||||
// should be set to the minimum number for performance
|
// should be set to the minimum number for performance
|
||||||
skipFrames: 21, // how many frames to go without re-running the face bounding box detector
|
skipFrames: 21, // how many frames to go without re-running the face bounding box detector
|
||||||
|
@ -136,7 +134,7 @@ export default {
|
||||||
|
|
||||||
body: {
|
body: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
modelPath: '../models/posenet.json', // can be 'posenet', 'blazepose' or 'blazepose-upper'
|
modelPath: '../models/posenet.json', // can be 'posenet' or 'blazepose'
|
||||||
inputSize: 257, // fixed value, 257 for posenet and 256 for blazepose
|
inputSize: 257, // fixed value, 257 for posenet and 256 for blazepose
|
||||||
maxDetections: 10, // maximum number of people detected in the input
|
maxDetections: 10, // maximum number of people detected in the input
|
||||||
// should be set to the minimum number for performance
|
// should be set to the minimum number for performance
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
const UICSS = `
|
const UICSS = `
|
||||||
#gl-bench { position: absolute; right: 1rem; bottom: 1rem; z-index:1000; -webkit-user-select: none; -moz-user-select: none; user-select: none; }
|
#gl-bench { position: absolute; right: 1rem; bottom: 1rem; z-index:1000; -webkit-user-select: none; -moz-user-select: none; user-select: none; }
|
||||||
#gl-bench div { position: relative; display: block; margin: 4px; padding: 0 7px 0 10px; background: darkslategray; border-radius: 0.2rem; cursor: pointer; opacity: 0.9; }
|
#gl-bench div { position: relative; display: block; margin: 4px; padding: 0 2px 0 2px; background: darkslategray; border-radius: 0.1rem; cursor: pointer; opacity: 0.9; }
|
||||||
#gl-bench svg { height: 60px; margin: 0 0px 0px 4px; }
|
#gl-bench svg { height: 60px; margin: 0 0px 0px 4px; }
|
||||||
#gl-bench text { font-size: 16px; font-family: 'Lato', 'Segoe UI'; dominant-baseline: middle; text-anchor: middle; }
|
#gl-bench text { font-size: 16px; font-family: 'Lato', 'Segoe UI'; dominant-baseline: middle; text-anchor: middle; }
|
||||||
#gl-bench .gl-mem { font-size: 12px; fill: white; }
|
#gl-bench .gl-mem { font-size: 12px; fill: white; }
|
||||||
|
@ -17,10 +17,10 @@ const UICSS = `
|
||||||
|
|
||||||
const UISVG = `
|
const UISVG = `
|
||||||
<div class="gl-box">
|
<div class="gl-box">
|
||||||
<svg viewBox="0 0 55 60">
|
<svg viewBox="0 0 60 60">
|
||||||
<text x="27" y="56" class="gl-fps">00 FPS</text>
|
<text x="27" y="56" class="gl-fps">00 FPS</text>
|
||||||
<text x="30" y="8" class="gl-mem"></text>
|
<text x="30" y="8" class="gl-mem"></text>
|
||||||
<rect x="0" y="14" rx="4" ry="4" width="65" height="32"></rect>
|
<rect x="0" y="14" rx="4" ry="4" width="60" height="32"></rect>
|
||||||
<polyline class="gl-chart"></polyline>
|
<polyline class="gl-chart"></polyline>
|
||||||
</svg>
|
</svg>
|
||||||
<svg viewBox="0 0 14 60" class="gl-cpu-svg">
|
<svg viewBox="0 0 14 60" class="gl-cpu-svg">
|
||||||
|
@ -163,7 +163,7 @@ class GLBench {
|
||||||
const len = chart.length;
|
const len = chart.length;
|
||||||
for (let j = 0; j < len; j++) {
|
for (let j = 0; j < len; j++) {
|
||||||
const id = (circularId + j + 1) % len;
|
const id = (circularId + j + 1) % len;
|
||||||
if (chart[id] !== undefined) points = points + ' ' + (55 * j / (len - 1)).toFixed(1) + ',' + (45 - chart[id] * 22 / 60 / this.detected).toFixed(1);
|
if (chart[id] !== undefined) points = points + ' ' + (60 * j / (len - 1)).toFixed(1) + ',' + (45 - chart[id] * 0.5 / this.detected).toFixed(1);
|
||||||
}
|
}
|
||||||
nodes['gl-chart'][i].setAttribute('points', points);
|
nodes['gl-chart'][i].setAttribute('points', points);
|
||||||
logger(this.names[i], chart, circularId);
|
logger(this.names[i], chart, circularId);
|
||||||
|
|
17
demo/node.js
17
demo/node.js
|
@ -15,9 +15,8 @@ const myConfig = {
|
||||||
async: false,
|
async: false,
|
||||||
face: {
|
face: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
detector: { modelPath: 'file://models/faceboxes.json', enabled: true, minConfidence: 0.5 },
|
detector: { modelPath: 'file://models/blazeface-back.json', enabled: true },
|
||||||
// detector: { modelPath: 'file://models/blazeface-back.json', enabled: false }, // cannot use blazeface in nodejs due to missing required kernel function in tfjs-node
|
mesh: { modelPath: 'file://models/facemesh.json', enabled: true },
|
||||||
mesh: { modelPath: 'file://models/facemesh.json', enabled: false }, // depends on blazeface detector
|
|
||||||
iris: { modelPath: 'file://models/iris.json', enabled: true },
|
iris: { modelPath: 'file://models/iris.json', enabled: true },
|
||||||
age: { modelPath: 'file://models/age-ssrnet-imdb.json', enabled: true },
|
age: { modelPath: 'file://models/age-ssrnet-imdb.json', enabled: true },
|
||||||
gender: { modelPath: 'file://models/gender.json', enabled: true },
|
gender: { modelPath: 'file://models/gender.json', enabled: true },
|
||||||
|
@ -58,13 +57,11 @@ async function detect(input) {
|
||||||
log.state('Processing:', image.shape);
|
log.state('Processing:', image.shape);
|
||||||
// run actual detection
|
// run actual detection
|
||||||
const result = await human.detect(image, myConfig);
|
const result = await human.detect(image, myConfig);
|
||||||
|
// no need to print results as they are printed to console during detection from within the library due to human.config.debug set
|
||||||
// dispose image tensor as we no longer need it
|
// dispose image tensor as we no longer need it
|
||||||
image.dispose();
|
image.dispose();
|
||||||
// print data to console
|
// print data to console
|
||||||
log.data('Face: ', result.face);
|
return result;
|
||||||
log.data('Body:', result.body);
|
|
||||||
log.data('Hand:', result.hand);
|
|
||||||
log.data('Gesture:', result.gesture);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function test() {
|
async function test() {
|
||||||
|
@ -74,14 +71,12 @@ async function test() {
|
||||||
log.state('Processing embedded warmup image: face');
|
log.state('Processing embedded warmup image: face');
|
||||||
myConfig.warmup = 'face';
|
myConfig.warmup = 'face';
|
||||||
result = await human.warmup(myConfig);
|
result = await human.warmup(myConfig);
|
||||||
log.data('Face: ', result.face);
|
|
||||||
|
|
||||||
log.state('Processing embedded warmup image: full');
|
log.state('Processing embedded warmup image: full');
|
||||||
myConfig.warmup = 'full';
|
myConfig.warmup = 'full';
|
||||||
result = await human.warmup(myConfig);
|
result = await human.warmup(myConfig);
|
||||||
log.data('Body:', result.body);
|
// no need to print results as they are printed to console during detection from within the library due to human.config.debug set
|
||||||
log.data('Hand:', result.hand);
|
return result;
|
||||||
log.data('Gesture:', result.gesture);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,61 +0,0 @@
|
||||||
{
|
|
||||||
"inputs": {
|
|
||||||
"dist/human.esm.js": {
|
|
||||||
"bytes": 1353275,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"demo/menu.js": {
|
|
||||||
"bytes": 13858,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"demo/gl-bench.js": {
|
|
||||||
"bytes": 10920,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"demo/browser.js": {
|
|
||||||
"bytes": 28044,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/human.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "demo/menu.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "demo/gl-bench.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": {
|
|
||||||
"dist/demo-browser-index.js.map": {
|
|
||||||
"imports": [],
|
|
||||||
"exports": [],
|
|
||||||
"inputs": {},
|
|
||||||
"bytes": 2061685
|
|
||||||
},
|
|
||||||
"dist/demo-browser-index.js": {
|
|
||||||
"imports": [],
|
|
||||||
"exports": [],
|
|
||||||
"entryPoint": "demo/browser.js",
|
|
||||||
"inputs": {
|
|
||||||
"dist/human.esm.js": {
|
|
||||||
"bytesInOutput": 1345779
|
|
||||||
},
|
|
||||||
"demo/menu.js": {
|
|
||||||
"bytesInOutput": 10696
|
|
||||||
},
|
|
||||||
"demo/gl-bench.js": {
|
|
||||||
"bytesInOutput": 6759
|
|
||||||
},
|
|
||||||
"demo/browser.js": {
|
|
||||||
"bytesInOutput": 17538
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bytes": 1388157
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,695 +0,0 @@
|
||||||
{
|
|
||||||
"inputs": {
|
|
||||||
"src/log.ts": {
|
|
||||||
"bytes": 401,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/sysinfo.ts": {
|
|
||||||
"bytes": 612,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"dist/tfjs.esm.js": {
|
|
||||||
"bytes": 1065682,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/tfjs/backend.ts": {
|
|
||||||
"bytes": 2237,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/blazeface/blazeface.ts": {
|
|
||||||
"bytes": 5704,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/blazeface/box.ts": {
|
|
||||||
"bytes": 1727,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/blazeface/util.ts": {
|
|
||||||
"bytes": 2809,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/blazeface/coords.ts": {
|
|
||||||
"bytes": 37783,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/blazeface/facepipeline.ts": {
|
|
||||||
"bytes": 14105,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/box.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/util.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/coords.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/blazeface/facemesh.ts": {
|
|
||||||
"bytes": 3061,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/blazeface.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/facepipeline.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/coords.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/profile.ts": {
|
|
||||||
"bytes": 1017,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/faceboxes/faceboxes.ts": {
|
|
||||||
"bytes": 2837,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/age/age.ts": {
|
|
||||||
"bytes": 1964,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/gender/gender.ts": {
|
|
||||||
"bytes": 2826,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/emotion/emotion.ts": {
|
|
||||||
"bytes": 3057,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/embedding/embedding.ts": {
|
|
||||||
"bytes": 2041,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/modelBase.ts": {
|
|
||||||
"bytes": 1349,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/heapSort.ts": {
|
|
||||||
"bytes": 1645,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/posenet/buildParts.ts": {
|
|
||||||
"bytes": 1723,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/posenet/heapSort.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/keypoints.ts": {
|
|
||||||
"bytes": 2041,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/posenet/vectors.ts": {
|
|
||||||
"bytes": 1075,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/posenet/keypoints.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/decoders.ts": {
|
|
||||||
"bytes": 1958,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/keypoints.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/decodePose.ts": {
|
|
||||||
"bytes": 5182,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/posenet/keypoints.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/vectors.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/decoders.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/decodeMultiple.ts": {
|
|
||||||
"bytes": 2323,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/posenet/buildParts.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/decodePose.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/vectors.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/util.ts": {
|
|
||||||
"bytes": 2041,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/posenet/keypoints.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/posenet.ts": {
|
|
||||||
"bytes": 2394,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/modelBase.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/decodeMultiple.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/decodePose.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/util.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/handpose/box.ts": {
|
|
||||||
"bytes": 2443,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/handpose/handdetector.ts": {
|
|
||||||
"bytes": 3697,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/box.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/handpose/util.ts": {
|
|
||||||
"bytes": 2286,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/handpose/handpipeline.ts": {
|
|
||||||
"bytes": 7120,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/box.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/util.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/handpose/anchors.ts": {
|
|
||||||
"bytes": 224156,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/handpose/handpose.ts": {
|
|
||||||
"bytes": 2597,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/handdetector.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/handpipeline.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/anchors.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/blazepose/annotations.ts": {
|
|
||||||
"bytes": 1108,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/blazepose/blazepose.ts": {
|
|
||||||
"bytes": 2939,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazepose/annotations.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/gesture/gesture.ts": {
|
|
||||||
"bytes": 4496,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/imagefx.js": {
|
|
||||||
"bytes": 19267,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/image.ts": {
|
|
||||||
"bytes": 5872,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/imagefx.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"config.js": {
|
|
||||||
"bytes": 10308,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/sample.ts": {
|
|
||||||
"bytes": 55382,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"package.json": {
|
|
||||||
"bytes": 2604,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/draw.ts": {
|
|
||||||
"bytes": 16408,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "config.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/coords.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/human.ts": {
|
|
||||||
"bytes": 22807,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/sysinfo.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/tfjs/backend.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/facemesh.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/faceboxes/faceboxes.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/age/age.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/gender/gender.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/emotion/emotion.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/embedding/embedding.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/posenet.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/handpose.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazepose/blazepose.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/gesture/gesture.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/image.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "config.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/sample.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "package.json",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/draw.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": {
|
|
||||||
"dist/human.esm.js.map": {
|
|
||||||
"imports": [],
|
|
||||||
"exports": [],
|
|
||||||
"inputs": {},
|
|
||||||
"bytes": 1979841
|
|
||||||
},
|
|
||||||
"dist/human.esm.js": {
|
|
||||||
"imports": [],
|
|
||||||
"exports": [
|
|
||||||
"default"
|
|
||||||
],
|
|
||||||
"entryPoint": "src/human.ts",
|
|
||||||
"inputs": {
|
|
||||||
"src/blazeface/facemesh.ts": {
|
|
||||||
"bytesInOutput": 1519
|
|
||||||
},
|
|
||||||
"src/posenet/keypoints.ts": {
|
|
||||||
"bytesInOutput": 1690
|
|
||||||
},
|
|
||||||
"src/log.ts": {
|
|
||||||
"bytesInOutput": 252
|
|
||||||
},
|
|
||||||
"src/sysinfo.ts": {
|
|
||||||
"bytesInOutput": 394
|
|
||||||
},
|
|
||||||
"dist/tfjs.esm.js": {
|
|
||||||
"bytesInOutput": 1056717
|
|
||||||
},
|
|
||||||
"src/tfjs/backend.ts": {
|
|
||||||
"bytesInOutput": 1053
|
|
||||||
},
|
|
||||||
"src/blazeface/blazeface.ts": {
|
|
||||||
"bytesInOutput": 2192
|
|
||||||
},
|
|
||||||
"src/blazeface/box.ts": {
|
|
||||||
"bytesInOutput": 834
|
|
||||||
},
|
|
||||||
"src/blazeface/util.ts": {
|
|
||||||
"bytesInOutput": 858
|
|
||||||
},
|
|
||||||
"src/blazeface/coords.ts": {
|
|
||||||
"bytesInOutput": 28983
|
|
||||||
},
|
|
||||||
"src/blazeface/facepipeline.ts": {
|
|
||||||
"bytesInOutput": 5160
|
|
||||||
},
|
|
||||||
"src/human.ts": {
|
|
||||||
"bytesInOutput": 11955
|
|
||||||
},
|
|
||||||
"src/faceboxes/faceboxes.ts": {
|
|
||||||
"bytesInOutput": 1535
|
|
||||||
},
|
|
||||||
"src/profile.ts": {
|
|
||||||
"bytesInOutput": 606
|
|
||||||
},
|
|
||||||
"src/age/age.ts": {
|
|
||||||
"bytesInOutput": 784
|
|
||||||
},
|
|
||||||
"src/gender/gender.ts": {
|
|
||||||
"bytesInOutput": 1246
|
|
||||||
},
|
|
||||||
"src/emotion/emotion.ts": {
|
|
||||||
"bytesInOutput": 1189
|
|
||||||
},
|
|
||||||
"src/embedding/embedding.ts": {
|
|
||||||
"bytesInOutput": 804
|
|
||||||
},
|
|
||||||
"src/posenet/posenet.ts": {
|
|
||||||
"bytesInOutput": 1016
|
|
||||||
},
|
|
||||||
"src/posenet/modelBase.ts": {
|
|
||||||
"bytesInOutput": 662
|
|
||||||
},
|
|
||||||
"src/posenet/heapSort.ts": {
|
|
||||||
"bytesInOutput": 1017
|
|
||||||
},
|
|
||||||
"src/posenet/buildParts.ts": {
|
|
||||||
"bytesInOutput": 456
|
|
||||||
},
|
|
||||||
"src/posenet/decodePose.ts": {
|
|
||||||
"bytesInOutput": 1283
|
|
||||||
},
|
|
||||||
"src/posenet/vectors.ts": {
|
|
||||||
"bytesInOutput": 346
|
|
||||||
},
|
|
||||||
"src/posenet/decoders.ts": {
|
|
||||||
"bytesInOutput": 768
|
|
||||||
},
|
|
||||||
"src/posenet/decodeMultiple.ts": {
|
|
||||||
"bytesInOutput": 529
|
|
||||||
},
|
|
||||||
"src/posenet/util.ts": {
|
|
||||||
"bytesInOutput": 378
|
|
||||||
},
|
|
||||||
"src/handpose/handpose.ts": {
|
|
||||||
"bytesInOutput": 1281
|
|
||||||
},
|
|
||||||
"src/handpose/box.ts": {
|
|
||||||
"bytesInOutput": 938
|
|
||||||
},
|
|
||||||
"src/handpose/handdetector.ts": {
|
|
||||||
"bytesInOutput": 1668
|
|
||||||
},
|
|
||||||
"src/handpose/util.ts": {
|
|
||||||
"bytesInOutput": 816
|
|
||||||
},
|
|
||||||
"src/handpose/handpipeline.ts": {
|
|
||||||
"bytesInOutput": 2510
|
|
||||||
},
|
|
||||||
"src/handpose/anchors.ts": {
|
|
||||||
"bytesInOutput": 126985
|
|
||||||
},
|
|
||||||
"src/blazepose/blazepose.ts": {
|
|
||||||
"bytesInOutput": 1167
|
|
||||||
},
|
|
||||||
"src/blazepose/annotations.ts": {
|
|
||||||
"bytesInOutput": 860
|
|
||||||
},
|
|
||||||
"src/gesture/gesture.ts": {
|
|
||||||
"bytesInOutput": 2391
|
|
||||||
},
|
|
||||||
"src/imagefx.js": {
|
|
||||||
"bytesInOutput": 10975
|
|
||||||
},
|
|
||||||
"src/image.ts": {
|
|
||||||
"bytesInOutput": 2355
|
|
||||||
},
|
|
||||||
"config.js": {
|
|
||||||
"bytesInOutput": 1422
|
|
||||||
},
|
|
||||||
"src/sample.ts": {
|
|
||||||
"bytesInOutput": 55295
|
|
||||||
},
|
|
||||||
"package.json": {
|
|
||||||
"bytesInOutput": 2578
|
|
||||||
},
|
|
||||||
"src/draw.ts": {
|
|
||||||
"bytesInOutput": 9754
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bytes": 1353275
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,693 +0,0 @@
|
||||||
{
|
|
||||||
"inputs": {
|
|
||||||
"src/log.ts": {
|
|
||||||
"bytes": 401,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/sysinfo.ts": {
|
|
||||||
"bytes": 612,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"dist/tfjs.esm.js": {
|
|
||||||
"bytes": 1065682,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/tfjs/backend.ts": {
|
|
||||||
"bytes": 2237,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/blazeface/blazeface.ts": {
|
|
||||||
"bytes": 5704,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/blazeface/box.ts": {
|
|
||||||
"bytes": 1727,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/blazeface/util.ts": {
|
|
||||||
"bytes": 2809,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/blazeface/coords.ts": {
|
|
||||||
"bytes": 37783,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/blazeface/facepipeline.ts": {
|
|
||||||
"bytes": 14105,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/box.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/util.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/coords.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/blazeface/facemesh.ts": {
|
|
||||||
"bytes": 3061,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/blazeface.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/facepipeline.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/coords.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/profile.ts": {
|
|
||||||
"bytes": 1017,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/faceboxes/faceboxes.ts": {
|
|
||||||
"bytes": 2837,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/age/age.ts": {
|
|
||||||
"bytes": 1964,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/gender/gender.ts": {
|
|
||||||
"bytes": 2826,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/emotion/emotion.ts": {
|
|
||||||
"bytes": 3057,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/embedding/embedding.ts": {
|
|
||||||
"bytes": 2041,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/modelBase.ts": {
|
|
||||||
"bytes": 1349,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/heapSort.ts": {
|
|
||||||
"bytes": 1645,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/posenet/buildParts.ts": {
|
|
||||||
"bytes": 1723,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/posenet/heapSort.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/keypoints.ts": {
|
|
||||||
"bytes": 2041,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/posenet/vectors.ts": {
|
|
||||||
"bytes": 1075,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/posenet/keypoints.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/decoders.ts": {
|
|
||||||
"bytes": 1958,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/keypoints.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/decodePose.ts": {
|
|
||||||
"bytes": 5182,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/posenet/keypoints.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/vectors.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/decoders.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/decodeMultiple.ts": {
|
|
||||||
"bytes": 2323,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/posenet/buildParts.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/decodePose.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/vectors.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/util.ts": {
|
|
||||||
"bytes": 2041,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/posenet/keypoints.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/posenet.ts": {
|
|
||||||
"bytes": 2394,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/modelBase.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/decodeMultiple.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/decodePose.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/util.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/handpose/box.ts": {
|
|
||||||
"bytes": 2443,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/handpose/handdetector.ts": {
|
|
||||||
"bytes": 3697,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/box.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/handpose/util.ts": {
|
|
||||||
"bytes": 2286,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/handpose/handpipeline.ts": {
|
|
||||||
"bytes": 7120,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/box.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/util.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/handpose/anchors.ts": {
|
|
||||||
"bytes": 224156,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/handpose/handpose.ts": {
|
|
||||||
"bytes": 2597,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/handdetector.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/handpipeline.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/anchors.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/blazepose/annotations.ts": {
|
|
||||||
"bytes": 1108,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/blazepose/blazepose.ts": {
|
|
||||||
"bytes": 2939,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazepose/annotations.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/gesture/gesture.ts": {
|
|
||||||
"bytes": 4496,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/imagefx.js": {
|
|
||||||
"bytes": 19267,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/image.ts": {
|
|
||||||
"bytes": 5872,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/imagefx.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"config.js": {
|
|
||||||
"bytes": 10308,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/sample.ts": {
|
|
||||||
"bytes": 55382,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"package.json": {
|
|
||||||
"bytes": 2604,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/draw.ts": {
|
|
||||||
"bytes": 16408,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "config.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/coords.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/human.ts": {
|
|
||||||
"bytes": 22807,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/sysinfo.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/tfjs/backend.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/facemesh.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/faceboxes/faceboxes.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/age/age.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/gender/gender.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/emotion/emotion.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/embedding/embedding.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/posenet.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/handpose.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazepose/blazepose.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/gesture/gesture.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/image.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "config.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/sample.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "package.json",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/draw.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": {
|
|
||||||
"dist/human.ts.map": {
|
|
||||||
"imports": [],
|
|
||||||
"exports": [],
|
|
||||||
"inputs": {},
|
|
||||||
"bytes": 1979852
|
|
||||||
},
|
|
||||||
"dist/human.ts": {
|
|
||||||
"imports": [],
|
|
||||||
"exports": [],
|
|
||||||
"entryPoint": "src/human.ts",
|
|
||||||
"inputs": {
|
|
||||||
"src/blazeface/facemesh.ts": {
|
|
||||||
"bytesInOutput": 1519
|
|
||||||
},
|
|
||||||
"src/posenet/keypoints.ts": {
|
|
||||||
"bytesInOutput": 1690
|
|
||||||
},
|
|
||||||
"src/human.ts": {
|
|
||||||
"bytesInOutput": 11991
|
|
||||||
},
|
|
||||||
"src/log.ts": {
|
|
||||||
"bytesInOutput": 252
|
|
||||||
},
|
|
||||||
"src/sysinfo.ts": {
|
|
||||||
"bytesInOutput": 394
|
|
||||||
},
|
|
||||||
"dist/tfjs.esm.js": {
|
|
||||||
"bytesInOutput": 1056717
|
|
||||||
},
|
|
||||||
"src/tfjs/backend.ts": {
|
|
||||||
"bytesInOutput": 1053
|
|
||||||
},
|
|
||||||
"src/blazeface/blazeface.ts": {
|
|
||||||
"bytesInOutput": 2192
|
|
||||||
},
|
|
||||||
"src/blazeface/box.ts": {
|
|
||||||
"bytesInOutput": 834
|
|
||||||
},
|
|
||||||
"src/blazeface/util.ts": {
|
|
||||||
"bytesInOutput": 858
|
|
||||||
},
|
|
||||||
"src/blazeface/coords.ts": {
|
|
||||||
"bytesInOutput": 28983
|
|
||||||
},
|
|
||||||
"src/blazeface/facepipeline.ts": {
|
|
||||||
"bytesInOutput": 5160
|
|
||||||
},
|
|
||||||
"src/faceboxes/faceboxes.ts": {
|
|
||||||
"bytesInOutput": 1535
|
|
||||||
},
|
|
||||||
"src/profile.ts": {
|
|
||||||
"bytesInOutput": 606
|
|
||||||
},
|
|
||||||
"src/age/age.ts": {
|
|
||||||
"bytesInOutput": 784
|
|
||||||
},
|
|
||||||
"src/gender/gender.ts": {
|
|
||||||
"bytesInOutput": 1246
|
|
||||||
},
|
|
||||||
"src/emotion/emotion.ts": {
|
|
||||||
"bytesInOutput": 1189
|
|
||||||
},
|
|
||||||
"src/embedding/embedding.ts": {
|
|
||||||
"bytesInOutput": 804
|
|
||||||
},
|
|
||||||
"src/posenet/posenet.ts": {
|
|
||||||
"bytesInOutput": 1016
|
|
||||||
},
|
|
||||||
"src/posenet/modelBase.ts": {
|
|
||||||
"bytesInOutput": 662
|
|
||||||
},
|
|
||||||
"src/posenet/heapSort.ts": {
|
|
||||||
"bytesInOutput": 1017
|
|
||||||
},
|
|
||||||
"src/posenet/buildParts.ts": {
|
|
||||||
"bytesInOutput": 456
|
|
||||||
},
|
|
||||||
"src/posenet/decodePose.ts": {
|
|
||||||
"bytesInOutput": 1283
|
|
||||||
},
|
|
||||||
"src/posenet/vectors.ts": {
|
|
||||||
"bytesInOutput": 346
|
|
||||||
},
|
|
||||||
"src/posenet/decoders.ts": {
|
|
||||||
"bytesInOutput": 768
|
|
||||||
},
|
|
||||||
"src/posenet/decodeMultiple.ts": {
|
|
||||||
"bytesInOutput": 529
|
|
||||||
},
|
|
||||||
"src/posenet/util.ts": {
|
|
||||||
"bytesInOutput": 378
|
|
||||||
},
|
|
||||||
"src/handpose/handpose.ts": {
|
|
||||||
"bytesInOutput": 1281
|
|
||||||
},
|
|
||||||
"src/handpose/box.ts": {
|
|
||||||
"bytesInOutput": 938
|
|
||||||
},
|
|
||||||
"src/handpose/handdetector.ts": {
|
|
||||||
"bytesInOutput": 1668
|
|
||||||
},
|
|
||||||
"src/handpose/util.ts": {
|
|
||||||
"bytesInOutput": 816
|
|
||||||
},
|
|
||||||
"src/handpose/handpipeline.ts": {
|
|
||||||
"bytesInOutput": 2510
|
|
||||||
},
|
|
||||||
"src/handpose/anchors.ts": {
|
|
||||||
"bytesInOutput": 126985
|
|
||||||
},
|
|
||||||
"src/blazepose/blazepose.ts": {
|
|
||||||
"bytesInOutput": 1167
|
|
||||||
},
|
|
||||||
"src/blazepose/annotations.ts": {
|
|
||||||
"bytesInOutput": 860
|
|
||||||
},
|
|
||||||
"src/gesture/gesture.ts": {
|
|
||||||
"bytesInOutput": 2391
|
|
||||||
},
|
|
||||||
"src/imagefx.js": {
|
|
||||||
"bytesInOutput": 10975
|
|
||||||
},
|
|
||||||
"src/image.ts": {
|
|
||||||
"bytesInOutput": 2355
|
|
||||||
},
|
|
||||||
"config.js": {
|
|
||||||
"bytesInOutput": 1422
|
|
||||||
},
|
|
||||||
"src/sample.ts": {
|
|
||||||
"bytesInOutput": 55295
|
|
||||||
},
|
|
||||||
"package.json": {
|
|
||||||
"bytesInOutput": 2578
|
|
||||||
},
|
|
||||||
"src/draw.ts": {
|
|
||||||
"bytesInOutput": 9754
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bytes": 1353317
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
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
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,693 +0,0 @@
|
||||||
{
|
|
||||||
"inputs": {
|
|
||||||
"src/log.ts": {
|
|
||||||
"bytes": 401,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/sysinfo.ts": {
|
|
||||||
"bytes": 612,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"dist/tfjs.esm.js": {
|
|
||||||
"bytes": 737,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/tfjs/backend.ts": {
|
|
||||||
"bytes": 2237,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/blazeface/blazeface.ts": {
|
|
||||||
"bytes": 5704,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/blazeface/box.ts": {
|
|
||||||
"bytes": 1727,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/blazeface/util.ts": {
|
|
||||||
"bytes": 2809,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/blazeface/coords.ts": {
|
|
||||||
"bytes": 37783,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/blazeface/facepipeline.ts": {
|
|
||||||
"bytes": 14105,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/box.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/util.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/coords.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/blazeface/facemesh.ts": {
|
|
||||||
"bytes": 3061,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/blazeface.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/facepipeline.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/coords.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/profile.ts": {
|
|
||||||
"bytes": 1017,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/faceboxes/faceboxes.ts": {
|
|
||||||
"bytes": 2837,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/age/age.ts": {
|
|
||||||
"bytes": 1964,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/gender/gender.ts": {
|
|
||||||
"bytes": 2826,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/emotion/emotion.ts": {
|
|
||||||
"bytes": 3057,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/embedding/embedding.ts": {
|
|
||||||
"bytes": 2041,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/modelBase.ts": {
|
|
||||||
"bytes": 1349,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/heapSort.ts": {
|
|
||||||
"bytes": 1645,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/posenet/buildParts.ts": {
|
|
||||||
"bytes": 1723,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/posenet/heapSort.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/keypoints.ts": {
|
|
||||||
"bytes": 2041,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/posenet/vectors.ts": {
|
|
||||||
"bytes": 1075,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/posenet/keypoints.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/decoders.ts": {
|
|
||||||
"bytes": 1958,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/keypoints.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/decodePose.ts": {
|
|
||||||
"bytes": 5182,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/posenet/keypoints.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/vectors.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/decoders.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/decodeMultiple.ts": {
|
|
||||||
"bytes": 2323,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/posenet/buildParts.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/decodePose.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/vectors.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/util.ts": {
|
|
||||||
"bytes": 2041,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/posenet/keypoints.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/posenet/posenet.ts": {
|
|
||||||
"bytes": 2394,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/modelBase.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/decodeMultiple.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/decodePose.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/util.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/handpose/box.ts": {
|
|
||||||
"bytes": 2443,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/handpose/handdetector.ts": {
|
|
||||||
"bytes": 3697,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/box.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/handpose/util.ts": {
|
|
||||||
"bytes": 2286,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/handpose/handpipeline.ts": {
|
|
||||||
"bytes": 7120,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/box.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/util.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/handpose/anchors.ts": {
|
|
||||||
"bytes": 224156,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/handpose/handpose.ts": {
|
|
||||||
"bytes": 2597,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/handdetector.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/handpipeline.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/anchors.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/blazepose/annotations.ts": {
|
|
||||||
"bytes": 1108,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/blazepose/blazepose.ts": {
|
|
||||||
"bytes": 2939,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazepose/annotations.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/gesture/gesture.ts": {
|
|
||||||
"bytes": 4496,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/imagefx.js": {
|
|
||||||
"bytes": 19267,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/image.ts": {
|
|
||||||
"bytes": 5872,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/imagefx.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"config.js": {
|
|
||||||
"bytes": 10308,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/sample.ts": {
|
|
||||||
"bytes": 55382,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"package.json": {
|
|
||||||
"bytes": 2604,
|
|
||||||
"imports": []
|
|
||||||
},
|
|
||||||
"src/draw.ts": {
|
|
||||||
"bytes": 16408,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "config.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/coords.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/human.ts": {
|
|
||||||
"bytes": 22807,
|
|
||||||
"imports": [
|
|
||||||
{
|
|
||||||
"path": "src/log.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/sysinfo.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "dist/tfjs.esm.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/tfjs/backend.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazeface/facemesh.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/faceboxes/faceboxes.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/age/age.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/gender/gender.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/emotion/emotion.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/embedding/embedding.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/posenet/posenet.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/handpose/handpose.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/blazepose/blazepose.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/gesture/gesture.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/image.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/profile.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "config.js",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/sample.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "package.json",
|
|
||||||
"kind": "import-statement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/draw.ts",
|
|
||||||
"kind": "import-statement"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": {
|
|
||||||
"dist/human.node-gpu.js.map": {
|
|
||||||
"imports": [],
|
|
||||||
"exports": [],
|
|
||||||
"inputs": {},
|
|
||||||
"bytes": 746597
|
|
||||||
},
|
|
||||||
"dist/human.node-gpu.js": {
|
|
||||||
"imports": [],
|
|
||||||
"exports": [],
|
|
||||||
"entryPoint": "src/human.ts",
|
|
||||||
"inputs": {
|
|
||||||
"dist/tfjs.esm.js": {
|
|
||||||
"bytesInOutput": 598
|
|
||||||
},
|
|
||||||
"src/blazeface/facemesh.ts": {
|
|
||||||
"bytesInOutput": 1558
|
|
||||||
},
|
|
||||||
"src/posenet/keypoints.ts": {
|
|
||||||
"bytesInOutput": 1677
|
|
||||||
},
|
|
||||||
"src/human.ts": {
|
|
||||||
"bytesInOutput": 11958
|
|
||||||
},
|
|
||||||
"src/log.ts": {
|
|
||||||
"bytesInOutput": 251
|
|
||||||
},
|
|
||||||
"src/sysinfo.ts": {
|
|
||||||
"bytesInOutput": 394
|
|
||||||
},
|
|
||||||
"src/tfjs/backend.ts": {
|
|
||||||
"bytesInOutput": 1145
|
|
||||||
},
|
|
||||||
"src/blazeface/blazeface.ts": {
|
|
||||||
"bytesInOutput": 2333
|
|
||||||
},
|
|
||||||
"src/blazeface/facepipeline.ts": {
|
|
||||||
"bytesInOutput": 5207
|
|
||||||
},
|
|
||||||
"src/blazeface/box.ts": {
|
|
||||||
"bytesInOutput": 854
|
|
||||||
},
|
|
||||||
"src/blazeface/util.ts": {
|
|
||||||
"bytesInOutput": 848
|
|
||||||
},
|
|
||||||
"src/blazeface/coords.ts": {
|
|
||||||
"bytesInOutput": 28973
|
|
||||||
},
|
|
||||||
"src/faceboxes/faceboxes.ts": {
|
|
||||||
"bytesInOutput": 1577
|
|
||||||
},
|
|
||||||
"src/profile.ts": {
|
|
||||||
"bytesInOutput": 604
|
|
||||||
},
|
|
||||||
"src/age/age.ts": {
|
|
||||||
"bytesInOutput": 831
|
|
||||||
},
|
|
||||||
"src/gender/gender.ts": {
|
|
||||||
"bytesInOutput": 1319
|
|
||||||
},
|
|
||||||
"src/emotion/emotion.ts": {
|
|
||||||
"bytesInOutput": 1256
|
|
||||||
},
|
|
||||||
"src/embedding/embedding.ts": {
|
|
||||||
"bytesInOutput": 848
|
|
||||||
},
|
|
||||||
"src/posenet/posenet.ts": {
|
|
||||||
"bytesInOutput": 1039
|
|
||||||
},
|
|
||||||
"src/posenet/modelBase.ts": {
|
|
||||||
"bytesInOutput": 672
|
|
||||||
},
|
|
||||||
"src/posenet/heapSort.ts": {
|
|
||||||
"bytesInOutput": 1017
|
|
||||||
},
|
|
||||||
"src/posenet/buildParts.ts": {
|
|
||||||
"bytesInOutput": 454
|
|
||||||
},
|
|
||||||
"src/posenet/decodePose.ts": {
|
|
||||||
"bytesInOutput": 1271
|
|
||||||
},
|
|
||||||
"src/posenet/vectors.ts": {
|
|
||||||
"bytesInOutput": 345
|
|
||||||
},
|
|
||||||
"src/posenet/decoders.ts": {
|
|
||||||
"bytesInOutput": 823
|
|
||||||
},
|
|
||||||
"src/posenet/decodeMultiple.ts": {
|
|
||||||
"bytesInOutput": 525
|
|
||||||
},
|
|
||||||
"src/posenet/util.ts": {
|
|
||||||
"bytesInOutput": 376
|
|
||||||
},
|
|
||||||
"src/handpose/handpose.ts": {
|
|
||||||
"bytesInOutput": 1322
|
|
||||||
},
|
|
||||||
"src/handpose/handdetector.ts": {
|
|
||||||
"bytesInOutput": 1813
|
|
||||||
},
|
|
||||||
"src/handpose/box.ts": {
|
|
||||||
"bytesInOutput": 958
|
|
||||||
},
|
|
||||||
"src/handpose/handpipeline.ts": {
|
|
||||||
"bytesInOutput": 2533
|
|
||||||
},
|
|
||||||
"src/handpose/util.ts": {
|
|
||||||
"bytesInOutput": 812
|
|
||||||
},
|
|
||||||
"src/handpose/anchors.ts": {
|
|
||||||
"bytesInOutput": 126985
|
|
||||||
},
|
|
||||||
"src/blazepose/blazepose.ts": {
|
|
||||||
"bytesInOutput": 1198
|
|
||||||
},
|
|
||||||
"src/blazepose/annotations.ts": {
|
|
||||||
"bytesInOutput": 860
|
|
||||||
},
|
|
||||||
"src/gesture/gesture.ts": {
|
|
||||||
"bytesInOutput": 2391
|
|
||||||
},
|
|
||||||
"src/image.ts": {
|
|
||||||
"bytesInOutput": 2339
|
|
||||||
},
|
|
||||||
"src/imagefx.js": {
|
|
||||||
"bytesInOutput": 10973
|
|
||||||
},
|
|
||||||
"config.js": {
|
|
||||||
"bytesInOutput": 1421
|
|
||||||
},
|
|
||||||
"src/sample.ts": {
|
|
||||||
"bytesInOutput": 55295
|
|
||||||
},
|
|
||||||
"package.json": {
|
|
||||||
"bytesInOutput": 2575
|
|
||||||
},
|
|
||||||
"src/draw.ts": {
|
|
||||||
"bytesInOutput": 9643
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bytes": 290690
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -9,23 +9,23 @@
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tensorflow/tfjs": "^3.2.0",
|
"@tensorflow/tfjs": "^3.3.0",
|
||||||
"@tensorflow/tfjs-backend-cpu": "^3.2.0",
|
"@tensorflow/tfjs-backend-cpu": "^3.3.0",
|
||||||
"@tensorflow/tfjs-backend-wasm": "^3.2.0",
|
"@tensorflow/tfjs-backend-wasm": "^3.3.0",
|
||||||
"@tensorflow/tfjs-backend-webgl": "^3.2.0",
|
"@tensorflow/tfjs-backend-webgl": "^3.3.0",
|
||||||
"@tensorflow/tfjs-converter": "^3.2.0",
|
"@tensorflow/tfjs-converter": "^3.3.0",
|
||||||
"@tensorflow/tfjs-core": "^3.2.0",
|
"@tensorflow/tfjs-core": "^3.3.0",
|
||||||
"@tensorflow/tfjs-data": "^3.2.0",
|
"@tensorflow/tfjs-data": "^3.3.0",
|
||||||
"@tensorflow/tfjs-layers": "^3.2.0",
|
"@tensorflow/tfjs-layers": "^3.3.0",
|
||||||
"@tensorflow/tfjs-node": "^3.2.0",
|
"@tensorflow/tfjs-node": "^3.3.0",
|
||||||
"@tensorflow/tfjs-node-gpu": "^3.2.0",
|
"@tensorflow/tfjs-node-gpu": "^3.3.0",
|
||||||
"@types/node": "^14.14.32",
|
"@types/node": "^14.14.33",
|
||||||
"@typescript-eslint/eslint-plugin": "^4.16.1",
|
"@typescript-eslint/eslint-plugin": "^4.17.0",
|
||||||
"@typescript-eslint/parser": "^4.16.1",
|
"@typescript-eslint/parser": "^4.17.0",
|
||||||
"@vladmandic/pilogger": "^0.2.14",
|
"@vladmandic/pilogger": "^0.2.14",
|
||||||
"chokidar": "^3.5.1",
|
"chokidar": "^3.5.1",
|
||||||
"dayjs": "^1.10.4",
|
"dayjs": "^1.10.4",
|
||||||
"esbuild": "^0.8.57",
|
"esbuild": "^0.9.0",
|
||||||
"eslint": "^7.21.0",
|
"eslint": "^7.21.0",
|
||||||
"eslint-config-airbnb-base": "^14.2.1",
|
"eslint-config-airbnb-base": "^14.2.1",
|
||||||
"eslint-plugin-import": "^2.22.1",
|
"eslint-plugin-import": "^2.22.1",
|
||||||
|
@ -33,7 +33,6 @@
|
||||||
"eslint-plugin-node": "^11.1.0",
|
"eslint-plugin-node": "^11.1.0",
|
||||||
"eslint-plugin-promise": "^4.3.1",
|
"eslint-plugin-promise": "^4.3.1",
|
||||||
"rimraf": "^3.0.2",
|
"rimraf": "^3.0.2",
|
||||||
"seedrandom": "^3.0.5",
|
|
||||||
"simple-git": "^2.36.1",
|
"simple-git": "^2.36.1",
|
||||||
"tslib": "^2.1.0",
|
"tslib": "^2.1.0",
|
||||||
"typescript": "^4.2.3"
|
"typescript": "^4.2.3"
|
||||||
|
@ -58,9 +57,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@babel/highlight": {
|
"node_modules/@babel/highlight": {
|
||||||
"version": "7.13.8",
|
"version": "7.13.10",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.8.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz",
|
||||||
"integrity": "sha512-4vrIhfJyfNf+lCtXC2ck1rKSzDwciqF7IWFhXXrSOUC2O5DrVp+w4c6ed4AllTxhTkUP5x2tYj41VaxdVMMRDw==",
|
"integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-validator-identifier": "^7.12.11",
|
"@babel/helper-validator-identifier": "^7.12.11",
|
||||||
|
@ -201,17 +200,17 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tensorflow/tfjs": {
|
"node_modules/@tensorflow/tfjs": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-3.3.0.tgz",
|
||||||
"integrity": "sha512-rgcHHhzI+JVl206eMbYO8WzBW3DO9pinEbgtUWdxjfk+a4ojlqvJ34RPEISMSQZRR5KRCA7E/dHFv9+EULfqmw==",
|
"integrity": "sha512-xo22GCUCGcPtNGIdDpLPrp9ms3atXmzX8AF4y3aIBEwK5KlvGe+ZhcoQ2xEOCPQGBr7NB7AO6rwT8gRoziAHVg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tensorflow/tfjs-backend-cpu": "3.2.0",
|
"@tensorflow/tfjs-backend-cpu": "3.3.0",
|
||||||
"@tensorflow/tfjs-backend-webgl": "3.2.0",
|
"@tensorflow/tfjs-backend-webgl": "3.3.0",
|
||||||
"@tensorflow/tfjs-converter": "3.2.0",
|
"@tensorflow/tfjs-converter": "3.3.0",
|
||||||
"@tensorflow/tfjs-core": "3.2.0",
|
"@tensorflow/tfjs-core": "3.3.0",
|
||||||
"@tensorflow/tfjs-data": "3.2.0",
|
"@tensorflow/tfjs-data": "3.3.0",
|
||||||
"@tensorflow/tfjs-layers": "3.2.0",
|
"@tensorflow/tfjs-layers": "3.3.0",
|
||||||
"argparse": "^1.0.10",
|
"argparse": "^1.0.10",
|
||||||
"chalk": "^4.1.0",
|
"chalk": "^4.1.0",
|
||||||
"core-js": "3",
|
"core-js": "3",
|
||||||
|
@ -223,9 +222,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tensorflow/tfjs-backend-cpu": {
|
"node_modules/@tensorflow/tfjs-backend-cpu": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-3.3.0.tgz",
|
||||||
"integrity": "sha512-L3Pp7FHO92BaeG8Uuc/RJMJ/e61UrIbKgFHS3MKr0zcbmEsqGfos6/5yR1EHj7SoYG2nPlC5+6HxbYy0zp22IA==",
|
"integrity": "sha512-DLctv+PUZni26kQW1hq8jwQQ8u+GGc/p764WQIC4/IDagGtfGAUW1mHzWcTxtni2l4re1VrwE41ogWLhv4sGHg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/seedrandom": "2.4.27",
|
"@types/seedrandom": "2.4.27",
|
||||||
|
@ -235,7 +234,7 @@
|
||||||
"yarn": ">= 1.3.2"
|
"yarn": ">= 1.3.2"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@tensorflow/tfjs-core": "3.2.0"
|
"@tensorflow/tfjs-core": "3.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom": {
|
"node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom": {
|
||||||
|
@ -245,25 +244,25 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@tensorflow/tfjs-backend-wasm": {
|
"node_modules/@tensorflow/tfjs-backend-wasm": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-wasm/-/tfjs-backend-wasm-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-wasm/-/tfjs-backend-wasm-3.3.0.tgz",
|
||||||
"integrity": "sha512-gXxhJWRCmkcwSNatG7eGrmHKmjJC/AxvQdToHymkp1KtRazrsMWFrROoj1HuHwK1hCZyGa90ldmXlY9QdzFkuQ==",
|
"integrity": "sha512-1mU3+GuCc0tPzG65qIVwlJoIOyOOvVVkNl1NsId7PTt/PwE/QwiofsCmfPDqH47rTMxBzhvnHZTi+Nj9VBaz1g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tensorflow/tfjs-backend-cpu": "3.2.0",
|
"@tensorflow/tfjs-backend-cpu": "3.3.0",
|
||||||
"@types/emscripten": "~0.0.34"
|
"@types/emscripten": "~0.0.34"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@tensorflow/tfjs-core": "3.2.0"
|
"@tensorflow/tfjs-core": "3.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tensorflow/tfjs-backend-webgl": {
|
"node_modules/@tensorflow/tfjs-backend-webgl": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-3.3.0.tgz",
|
||||||
"integrity": "sha512-WORXpDt5Ey5/+a4NioyrJkfbJUlleaSELpHnxeDsGt6BpRC2P/1pVJS1IjnBD/f4QlOm3mhouN2Oq28dRhRvqA==",
|
"integrity": "sha512-GWCtXbrjPTyye3ooId9GlcNDwnIMskZarUpNIQ5g/zeISLfwEQoutA/UqJF+HzuEHgGMsWFkmaO3xKVT7UMpdg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tensorflow/tfjs-backend-cpu": "3.2.0",
|
"@tensorflow/tfjs-backend-cpu": "3.3.0",
|
||||||
"@types/offscreencanvas": "~2019.3.0",
|
"@types/offscreencanvas": "~2019.3.0",
|
||||||
"@types/seedrandom": "2.4.27",
|
"@types/seedrandom": "2.4.27",
|
||||||
"@types/webgl-ext": "0.0.30",
|
"@types/webgl-ext": "0.0.30",
|
||||||
|
@ -274,7 +273,7 @@
|
||||||
"yarn": ">= 1.3.2"
|
"yarn": ">= 1.3.2"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@tensorflow/tfjs-core": "3.2.0"
|
"@tensorflow/tfjs-core": "3.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tensorflow/tfjs-backend-webgl/node_modules/seedrandom": {
|
"node_modules/@tensorflow/tfjs-backend-webgl/node_modules/seedrandom": {
|
||||||
|
@ -284,18 +283,18 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@tensorflow/tfjs-converter": {
|
"node_modules/@tensorflow/tfjs-converter": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-3.3.0.tgz",
|
||||||
"integrity": "sha512-iE2Q0naHR8OVcMc9RluebMObsPysru7X1y+mWtkPNnYlNUJORxfkEitrMbVDAKw6lsivIfo4Ar5UcstiG8/ckQ==",
|
"integrity": "sha512-k57wN4yelePhmO9orcT/wzGMIuyedrMpVtg0FhxpV6BQu0+TZ/ti3W4Kb97GWJsoHKXMoing9SnioKfVnBW6hw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@tensorflow/tfjs-core": "3.2.0"
|
"@tensorflow/tfjs-core": "3.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tensorflow/tfjs-core": {
|
"node_modules/@tensorflow/tfjs-core": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-3.3.0.tgz",
|
||||||
"integrity": "sha512-MZnTk9wcJai5lTfkC8T1rr6/M9C4eO0DfojZghopZXDflCTndLPIKcudx6E8qfrmZOkRSqMIwB7A8UFs7f+3Kg==",
|
"integrity": "sha512-6G+LcCiQBl4Kza5mDbWbf8QSWBTW3l7SDjGhQzMO1ITtQatHzxkuHGHcJ4CTUJvNA0JmKf4QJWOvlFqEmxwyLQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/offscreencanvas": "~2019.3.0",
|
"@types/offscreencanvas": "~2019.3.0",
|
||||||
|
@ -315,36 +314,36 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@tensorflow/tfjs-data": {
|
"node_modules/@tensorflow/tfjs-data": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-3.3.0.tgz",
|
||||||
"integrity": "sha512-fG4rYJlxh/B9fzgc+/qdj5gPI485RsDUM99mErxovlh3UMIdRgMeHHdFse44VlyAShEAgsOehuWovhY5520kEw==",
|
"integrity": "sha512-0x28tRe6RJu5GmYq3IYN2GNnOgXU0nY+o6zZrlijkK+W3vjSTJlZzaBSifoeD6J8gzVpjs8W8qd/JKHQ1MQp8w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/node-fetch": "^2.1.2",
|
"@types/node-fetch": "^2.1.2",
|
||||||
"node-fetch": "~2.6.1"
|
"node-fetch": "~2.6.1"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@tensorflow/tfjs-core": "3.2.0",
|
"@tensorflow/tfjs-core": "3.3.0",
|
||||||
"seedrandom": "~2.4.3"
|
"seedrandom": "~2.4.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tensorflow/tfjs-layers": {
|
"node_modules/@tensorflow/tfjs-layers": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-3.3.0.tgz",
|
||||||
"integrity": "sha512-TgTpH6RI+NmL4s8pQ76wkq15p79SfSQLOfFL2rGmJgatQRuA/mxLlH5GLir5HwwER3a0Vj8lMbexxCAGTqr2Xg==",
|
"integrity": "sha512-qO+TL2I29vWUiuFcQJXNyayWFYagwR+SIfbex8p5jjYaCGHGwE5GQcrH+ngoCgKZxm5tdMvYJsJPnih2M3fYzQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@tensorflow/tfjs-core": "3.2.0"
|
"@tensorflow/tfjs-core": "3.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tensorflow/tfjs-node": {
|
"node_modules/@tensorflow/tfjs-node": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node/-/tfjs-node-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node/-/tfjs-node-3.3.0.tgz",
|
||||||
"integrity": "sha512-4k8HvT+lFauy30EMoKhLvXykQ4xKfi5yTs0EdWue80z9XNNDIMG3932owBpWMeaRb5P0ONUuv9MSu+pi17rNnA==",
|
"integrity": "sha512-grRgaXereQt5mQnu31gHCPkzA6SGReXW94b5FEMk1Psenmb0APnT7MGgZbujiMruQ81vG0/8gYA28uyZeZKcJw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tensorflow/tfjs": "3.2.0",
|
"@tensorflow/tfjs": "3.3.0",
|
||||||
"adm-zip": "^0.4.11",
|
"adm-zip": "^0.4.11",
|
||||||
"google-protobuf": "^3.9.2",
|
"google-protobuf": "^3.9.2",
|
||||||
"https-proxy-agent": "^2.2.1",
|
"https-proxy-agent": "^2.2.1",
|
||||||
|
@ -358,13 +357,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tensorflow/tfjs-node-gpu": {
|
"node_modules/@tensorflow/tfjs-node-gpu": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node-gpu/-/tfjs-node-gpu-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node-gpu/-/tfjs-node-gpu-3.3.0.tgz",
|
||||||
"integrity": "sha512-zAQPT9RwA5KOFFtkRzUGXE+9loJeJWbxkw2OnIPdB8+18c8s6/ICsHpN9nYLhelR+9wl877aaN4wQVR5T7iQDw==",
|
"integrity": "sha512-a641ugrLvVjz2p0eGD0V+jyh9mtxrUSxVvX+aH2aQvOnz4BTFv/zOlPPCI/7D8zIiLBzSJCXMB5DdI3qg92n8Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tensorflow/tfjs": "3.2.0",
|
"@tensorflow/tfjs": "3.3.0",
|
||||||
"adm-zip": "^0.4.11",
|
"adm-zip": "^0.4.11",
|
||||||
"google-protobuf": "^3.9.2",
|
"google-protobuf": "^3.9.2",
|
||||||
"https-proxy-agent": "^2.2.1",
|
"https-proxy-agent": "^2.2.1",
|
||||||
|
@ -420,9 +419,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "14.14.32",
|
"version": "14.14.33",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.32.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.33.tgz",
|
||||||
"integrity": "sha512-/Ctrftx/zp4m8JOujM5ZhwzlWLx22nbQJiVqz8/zE15gOeEW+uly3FSX4fGFpcfEvFzXcMCJwq9lGVWgyARXhg==",
|
"integrity": "sha512-oJqcTrgPUF29oUP8AsUqbXGJNuPutsetaa9kTQAQce5Lx5dTYWV02ScBiT/k1BX/Z7pKeqedmvp39Wu4zR7N7g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@types/node-fetch": {
|
"node_modules/@types/node-fetch": {
|
||||||
|
@ -460,13 +459,13 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||||
"version": "4.16.1",
|
"version": "4.17.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.16.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.17.0.tgz",
|
||||||
"integrity": "sha512-SK777klBdlkUZpZLC1mPvyOWk9yAFCWmug13eAjVQ4/Q1LATE/NbcQL1xDHkptQkZOLnPmLUA1Y54m8dqYwnoQ==",
|
"integrity": "sha512-/fKFDcoHg8oNan39IKFOb5WmV7oWhQe1K6CDaAVfJaNWEhmfqlA24g+u1lqU5bMH7zuNasfMId4LaYWC5ijRLw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/experimental-utils": "4.16.1",
|
"@typescript-eslint/experimental-utils": "4.17.0",
|
||||||
"@typescript-eslint/scope-manager": "4.16.1",
|
"@typescript-eslint/scope-manager": "4.17.0",
|
||||||
"debug": "^4.1.1",
|
"debug": "^4.1.1",
|
||||||
"functional-red-black-tree": "^1.0.1",
|
"functional-red-black-tree": "^1.0.1",
|
||||||
"lodash": "^4.17.15",
|
"lodash": "^4.17.15",
|
||||||
|
@ -492,15 +491,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/experimental-utils": {
|
"node_modules/@typescript-eslint/experimental-utils": {
|
||||||
"version": "4.16.1",
|
"version": "4.17.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.16.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.17.0.tgz",
|
||||||
"integrity": "sha512-0Hm3LSlMYFK17jO4iY3un1Ve9x1zLNn4EM50Lia+0EV99NdbK+cn0er7HC7IvBA23mBg3P+8dUkMXy4leL33UQ==",
|
"integrity": "sha512-ZR2NIUbnIBj+LGqCFGQ9yk2EBQrpVVFOh9/Kd0Lm6gLpSAcCuLLe5lUCibKGCqyH9HPwYC0GIJce2O1i8VYmWA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/json-schema": "^7.0.3",
|
"@types/json-schema": "^7.0.3",
|
||||||
"@typescript-eslint/scope-manager": "4.16.1",
|
"@typescript-eslint/scope-manager": "4.17.0",
|
||||||
"@typescript-eslint/types": "4.16.1",
|
"@typescript-eslint/types": "4.17.0",
|
||||||
"@typescript-eslint/typescript-estree": "4.16.1",
|
"@typescript-eslint/typescript-estree": "4.17.0",
|
||||||
"eslint-scope": "^5.0.0",
|
"eslint-scope": "^5.0.0",
|
||||||
"eslint-utils": "^2.0.0"
|
"eslint-utils": "^2.0.0"
|
||||||
},
|
},
|
||||||
|
@ -516,14 +515,14 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser": {
|
"node_modules/@typescript-eslint/parser": {
|
||||||
"version": "4.16.1",
|
"version": "4.17.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.16.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.17.0.tgz",
|
||||||
"integrity": "sha512-/c0LEZcDL5y8RyI1zLcmZMvJrsR6SM1uetskFkoh3dvqDKVXPsXI+wFB/CbVw7WkEyyTKobC1mUNp/5y6gRvXg==",
|
"integrity": "sha512-KYdksiZQ0N1t+6qpnl6JeK9ycCFprS9xBAiIrw4gSphqONt8wydBw4BXJi3C11ywZmyHulvMaLjWsxDjUSDwAw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/scope-manager": "4.16.1",
|
"@typescript-eslint/scope-manager": "4.17.0",
|
||||||
"@typescript-eslint/types": "4.16.1",
|
"@typescript-eslint/types": "4.17.0",
|
||||||
"@typescript-eslint/typescript-estree": "4.16.1",
|
"@typescript-eslint/typescript-estree": "4.17.0",
|
||||||
"debug": "^4.1.1"
|
"debug": "^4.1.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -543,13 +542,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/scope-manager": {
|
"node_modules/@typescript-eslint/scope-manager": {
|
||||||
"version": "4.16.1",
|
"version": "4.17.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.16.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.17.0.tgz",
|
||||||
"integrity": "sha512-6IlZv9JaurqV0jkEg923cV49aAn8V6+1H1DRfhRcvZUrptQ+UtSKHb5kwTayzOYTJJ/RsYZdcvhOEKiBLyc0Cw==",
|
"integrity": "sha512-OJ+CeTliuW+UZ9qgULrnGpPQ1bhrZNFpfT/Bc0pzNeyZwMik7/ykJ0JHnQ7krHanFN9wcnPK89pwn84cRUmYjw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "4.16.1",
|
"@typescript-eslint/types": "4.17.0",
|
||||||
"@typescript-eslint/visitor-keys": "4.16.1"
|
"@typescript-eslint/visitor-keys": "4.17.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^8.10.0 || ^10.13.0 || >=11.10.1"
|
"node": "^8.10.0 || ^10.13.0 || >=11.10.1"
|
||||||
|
@ -560,9 +559,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/types": {
|
"node_modules/@typescript-eslint/types": {
|
||||||
"version": "4.16.1",
|
"version": "4.17.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.17.0.tgz",
|
||||||
"integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==",
|
"integrity": "sha512-RN5z8qYpJ+kXwnLlyzZkiJwfW2AY458Bf8WqllkondQIcN2ZxQowAToGSd9BlAUZDB5Ea8I6mqL2quGYCLT+2g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^8.10.0 || ^10.13.0 || >=11.10.1"
|
"node": "^8.10.0 || ^10.13.0 || >=11.10.1"
|
||||||
|
@ -573,13 +572,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/typescript-estree": {
|
"node_modules/@typescript-eslint/typescript-estree": {
|
||||||
"version": "4.16.1",
|
"version": "4.17.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.16.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.17.0.tgz",
|
||||||
"integrity": "sha512-m8I/DKHa8YbeHt31T+UGd/l8Kwr0XCTCZL3H4HMvvLCT7HU9V7yYdinTOv1gf/zfqNeDcCgaFH2BMsS8x6NvJg==",
|
"integrity": "sha512-lRhSFIZKUEPPWpWfwuZBH9trYIEJSI0vYsrxbvVvNyIUDoKWaklOAelsSkeh3E2VBSZiNe9BZ4E5tYBZbUczVQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "4.16.1",
|
"@typescript-eslint/types": "4.17.0",
|
||||||
"@typescript-eslint/visitor-keys": "4.16.1",
|
"@typescript-eslint/visitor-keys": "4.17.0",
|
||||||
"debug": "^4.1.1",
|
"debug": "^4.1.1",
|
||||||
"globby": "^11.0.1",
|
"globby": "^11.0.1",
|
||||||
"is-glob": "^4.0.1",
|
"is-glob": "^4.0.1",
|
||||||
|
@ -600,12 +599,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/visitor-keys": {
|
"node_modules/@typescript-eslint/visitor-keys": {
|
||||||
"version": "4.16.1",
|
"version": "4.17.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.16.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.17.0.tgz",
|
||||||
"integrity": "sha512-s/aIP1XcMkEqCNcPQtl60ogUYjSM8FU2mq1O7y5cFf3Xcob1z1iXWNB6cC43Op+NGRTFgGolri6s8z/efA9i1w==",
|
"integrity": "sha512-WfuMN8mm5SSqXuAr9NM+fItJ0SVVphobWYkWOwQ1odsfC014Vdxk/92t4JwS1Q6fCA/ABfCKpa3AVtpUKTNKGQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "4.16.1",
|
"@typescript-eslint/types": "4.17.0",
|
||||||
"eslint-visitor-keys": "^2.0.0"
|
"eslint-visitor-keys": "^2.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -1244,9 +1243,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/esbuild": {
|
"node_modules/esbuild": {
|
||||||
"version": "0.8.57",
|
"version": "0.9.0",
|
||||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.57.tgz",
|
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.9.0.tgz",
|
||||||
"integrity": "sha512-j02SFrUwFTRUqiY0Kjplwjm1psuzO1d6AjaXKuOR9hrY0HuPsT6sV42B6myW34h1q4CRy+Y3g4RU/cGJeI/nNA==",
|
"integrity": "sha512-IqYFO7ZKHf0y4uJpJfGqInmSRn8jMPMbyI1W0Y2PSjSjJcVP538tC8TleJAS4Y8QeqwajqBTwFKayWVzYlMIgg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
|
@ -3244,10 +3243,11 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/seedrandom": {
|
"node_modules/seedrandom": {
|
||||||
"version": "3.0.5",
|
"version": "2.4.4",
|
||||||
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-2.4.4.tgz",
|
||||||
"integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==",
|
"integrity": "sha512-9A+PDmgm+2du77B5i0Ip2cxOqqHjgNxnBgglxLcX78A2D6c2rTo61z4jnVABpF4cKeDMDG+cmXXvdnqse2VqMA==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"peer": true
|
||||||
},
|
},
|
||||||
"node_modules/semver": {
|
"node_modules/semver": {
|
||||||
"version": "7.3.4",
|
"version": "7.3.4",
|
||||||
|
@ -3929,9 +3929,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@babel/highlight": {
|
"@babel/highlight": {
|
||||||
"version": "7.13.8",
|
"version": "7.13.10",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.8.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz",
|
||||||
"integrity": "sha512-4vrIhfJyfNf+lCtXC2ck1rKSzDwciqF7IWFhXXrSOUC2O5DrVp+w4c6ed4AllTxhTkUP5x2tYj41VaxdVMMRDw==",
|
"integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/helper-validator-identifier": "^7.12.11",
|
"@babel/helper-validator-identifier": "^7.12.11",
|
||||||
|
@ -4050,17 +4050,17 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@tensorflow/tfjs": {
|
"@tensorflow/tfjs": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-3.3.0.tgz",
|
||||||
"integrity": "sha512-rgcHHhzI+JVl206eMbYO8WzBW3DO9pinEbgtUWdxjfk+a4ojlqvJ34RPEISMSQZRR5KRCA7E/dHFv9+EULfqmw==",
|
"integrity": "sha512-xo22GCUCGcPtNGIdDpLPrp9ms3atXmzX8AF4y3aIBEwK5KlvGe+ZhcoQ2xEOCPQGBr7NB7AO6rwT8gRoziAHVg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@tensorflow/tfjs-backend-cpu": "3.2.0",
|
"@tensorflow/tfjs-backend-cpu": "3.3.0",
|
||||||
"@tensorflow/tfjs-backend-webgl": "3.2.0",
|
"@tensorflow/tfjs-backend-webgl": "3.3.0",
|
||||||
"@tensorflow/tfjs-converter": "3.2.0",
|
"@tensorflow/tfjs-converter": "3.3.0",
|
||||||
"@tensorflow/tfjs-core": "3.2.0",
|
"@tensorflow/tfjs-core": "3.3.0",
|
||||||
"@tensorflow/tfjs-data": "3.2.0",
|
"@tensorflow/tfjs-data": "3.3.0",
|
||||||
"@tensorflow/tfjs-layers": "3.2.0",
|
"@tensorflow/tfjs-layers": "3.3.0",
|
||||||
"argparse": "^1.0.10",
|
"argparse": "^1.0.10",
|
||||||
"chalk": "^4.1.0",
|
"chalk": "^4.1.0",
|
||||||
"core-js": "3",
|
"core-js": "3",
|
||||||
|
@ -4069,9 +4069,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@tensorflow/tfjs-backend-cpu": {
|
"@tensorflow/tfjs-backend-cpu": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-3.3.0.tgz",
|
||||||
"integrity": "sha512-L3Pp7FHO92BaeG8Uuc/RJMJ/e61UrIbKgFHS3MKr0zcbmEsqGfos6/5yR1EHj7SoYG2nPlC5+6HxbYy0zp22IA==",
|
"integrity": "sha512-DLctv+PUZni26kQW1hq8jwQQ8u+GGc/p764WQIC4/IDagGtfGAUW1mHzWcTxtni2l4re1VrwE41ogWLhv4sGHg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/seedrandom": "2.4.27",
|
"@types/seedrandom": "2.4.27",
|
||||||
|
@ -4087,22 +4087,22 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@tensorflow/tfjs-backend-wasm": {
|
"@tensorflow/tfjs-backend-wasm": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-wasm/-/tfjs-backend-wasm-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-wasm/-/tfjs-backend-wasm-3.3.0.tgz",
|
||||||
"integrity": "sha512-gXxhJWRCmkcwSNatG7eGrmHKmjJC/AxvQdToHymkp1KtRazrsMWFrROoj1HuHwK1hCZyGa90ldmXlY9QdzFkuQ==",
|
"integrity": "sha512-1mU3+GuCc0tPzG65qIVwlJoIOyOOvVVkNl1NsId7PTt/PwE/QwiofsCmfPDqH47rTMxBzhvnHZTi+Nj9VBaz1g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@tensorflow/tfjs-backend-cpu": "3.2.0",
|
"@tensorflow/tfjs-backend-cpu": "3.3.0",
|
||||||
"@types/emscripten": "~0.0.34"
|
"@types/emscripten": "~0.0.34"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@tensorflow/tfjs-backend-webgl": {
|
"@tensorflow/tfjs-backend-webgl": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-3.3.0.tgz",
|
||||||
"integrity": "sha512-WORXpDt5Ey5/+a4NioyrJkfbJUlleaSELpHnxeDsGt6BpRC2P/1pVJS1IjnBD/f4QlOm3mhouN2Oq28dRhRvqA==",
|
"integrity": "sha512-GWCtXbrjPTyye3ooId9GlcNDwnIMskZarUpNIQ5g/zeISLfwEQoutA/UqJF+HzuEHgGMsWFkmaO3xKVT7UMpdg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@tensorflow/tfjs-backend-cpu": "3.2.0",
|
"@tensorflow/tfjs-backend-cpu": "3.3.0",
|
||||||
"@types/offscreencanvas": "~2019.3.0",
|
"@types/offscreencanvas": "~2019.3.0",
|
||||||
"@types/seedrandom": "2.4.27",
|
"@types/seedrandom": "2.4.27",
|
||||||
"@types/webgl-ext": "0.0.30",
|
"@types/webgl-ext": "0.0.30",
|
||||||
|
@ -4119,16 +4119,16 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@tensorflow/tfjs-converter": {
|
"@tensorflow/tfjs-converter": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-3.3.0.tgz",
|
||||||
"integrity": "sha512-iE2Q0naHR8OVcMc9RluebMObsPysru7X1y+mWtkPNnYlNUJORxfkEitrMbVDAKw6lsivIfo4Ar5UcstiG8/ckQ==",
|
"integrity": "sha512-k57wN4yelePhmO9orcT/wzGMIuyedrMpVtg0FhxpV6BQu0+TZ/ti3W4Kb97GWJsoHKXMoing9SnioKfVnBW6hw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
"@tensorflow/tfjs-core": {
|
"@tensorflow/tfjs-core": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-3.3.0.tgz",
|
||||||
"integrity": "sha512-MZnTk9wcJai5lTfkC8T1rr6/M9C4eO0DfojZghopZXDflCTndLPIKcudx6E8qfrmZOkRSqMIwB7A8UFs7f+3Kg==",
|
"integrity": "sha512-6G+LcCiQBl4Kza5mDbWbf8QSWBTW3l7SDjGhQzMO1ITtQatHzxkuHGHcJ4CTUJvNA0JmKf4QJWOvlFqEmxwyLQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/offscreencanvas": "~2019.3.0",
|
"@types/offscreencanvas": "~2019.3.0",
|
||||||
|
@ -4147,9 +4147,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@tensorflow/tfjs-data": {
|
"@tensorflow/tfjs-data": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-3.3.0.tgz",
|
||||||
"integrity": "sha512-fG4rYJlxh/B9fzgc+/qdj5gPI485RsDUM99mErxovlh3UMIdRgMeHHdFse44VlyAShEAgsOehuWovhY5520kEw==",
|
"integrity": "sha512-0x28tRe6RJu5GmYq3IYN2GNnOgXU0nY+o6zZrlijkK+W3vjSTJlZzaBSifoeD6J8gzVpjs8W8qd/JKHQ1MQp8w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/node-fetch": "^2.1.2",
|
"@types/node-fetch": "^2.1.2",
|
||||||
|
@ -4157,19 +4157,19 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@tensorflow/tfjs-layers": {
|
"@tensorflow/tfjs-layers": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-3.3.0.tgz",
|
||||||
"integrity": "sha512-TgTpH6RI+NmL4s8pQ76wkq15p79SfSQLOfFL2rGmJgatQRuA/mxLlH5GLir5HwwER3a0Vj8lMbexxCAGTqr2Xg==",
|
"integrity": "sha512-qO+TL2I29vWUiuFcQJXNyayWFYagwR+SIfbex8p5jjYaCGHGwE5GQcrH+ngoCgKZxm5tdMvYJsJPnih2M3fYzQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
"@tensorflow/tfjs-node": {
|
"@tensorflow/tfjs-node": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node/-/tfjs-node-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node/-/tfjs-node-3.3.0.tgz",
|
||||||
"integrity": "sha512-4k8HvT+lFauy30EMoKhLvXykQ4xKfi5yTs0EdWue80z9XNNDIMG3932owBpWMeaRb5P0ONUuv9MSu+pi17rNnA==",
|
"integrity": "sha512-grRgaXereQt5mQnu31gHCPkzA6SGReXW94b5FEMk1Psenmb0APnT7MGgZbujiMruQ81vG0/8gYA28uyZeZKcJw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@tensorflow/tfjs": "3.2.0",
|
"@tensorflow/tfjs": "3.3.0",
|
||||||
"adm-zip": "^0.4.11",
|
"adm-zip": "^0.4.11",
|
||||||
"google-protobuf": "^3.9.2",
|
"google-protobuf": "^3.9.2",
|
||||||
"https-proxy-agent": "^2.2.1",
|
"https-proxy-agent": "^2.2.1",
|
||||||
|
@ -4191,12 +4191,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@tensorflow/tfjs-node-gpu": {
|
"@tensorflow/tfjs-node-gpu": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node-gpu/-/tfjs-node-gpu-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node-gpu/-/tfjs-node-gpu-3.3.0.tgz",
|
||||||
"integrity": "sha512-zAQPT9RwA5KOFFtkRzUGXE+9loJeJWbxkw2OnIPdB8+18c8s6/ICsHpN9nYLhelR+9wl877aaN4wQVR5T7iQDw==",
|
"integrity": "sha512-a641ugrLvVjz2p0eGD0V+jyh9mtxrUSxVvX+aH2aQvOnz4BTFv/zOlPPCI/7D8zIiLBzSJCXMB5DdI3qg92n8Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@tensorflow/tfjs": "3.2.0",
|
"@tensorflow/tfjs": "3.3.0",
|
||||||
"adm-zip": "^0.4.11",
|
"adm-zip": "^0.4.11",
|
||||||
"google-protobuf": "^3.9.2",
|
"google-protobuf": "^3.9.2",
|
||||||
"https-proxy-agent": "^2.2.1",
|
"https-proxy-agent": "^2.2.1",
|
||||||
|
@ -4236,9 +4236,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "14.14.32",
|
"version": "14.14.33",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.32.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.33.tgz",
|
||||||
"integrity": "sha512-/Ctrftx/zp4m8JOujM5ZhwzlWLx22nbQJiVqz8/zE15gOeEW+uly3FSX4fGFpcfEvFzXcMCJwq9lGVWgyARXhg==",
|
"integrity": "sha512-oJqcTrgPUF29oUP8AsUqbXGJNuPutsetaa9kTQAQce5Lx5dTYWV02ScBiT/k1BX/Z7pKeqedmvp39Wu4zR7N7g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/node-fetch": {
|
"@types/node-fetch": {
|
||||||
|
@ -4276,13 +4276,13 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@typescript-eslint/eslint-plugin": {
|
"@typescript-eslint/eslint-plugin": {
|
||||||
"version": "4.16.1",
|
"version": "4.17.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.16.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.17.0.tgz",
|
||||||
"integrity": "sha512-SK777klBdlkUZpZLC1mPvyOWk9yAFCWmug13eAjVQ4/Q1LATE/NbcQL1xDHkptQkZOLnPmLUA1Y54m8dqYwnoQ==",
|
"integrity": "sha512-/fKFDcoHg8oNan39IKFOb5WmV7oWhQe1K6CDaAVfJaNWEhmfqlA24g+u1lqU5bMH7zuNasfMId4LaYWC5ijRLw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@typescript-eslint/experimental-utils": "4.16.1",
|
"@typescript-eslint/experimental-utils": "4.17.0",
|
||||||
"@typescript-eslint/scope-manager": "4.16.1",
|
"@typescript-eslint/scope-manager": "4.17.0",
|
||||||
"debug": "^4.1.1",
|
"debug": "^4.1.1",
|
||||||
"functional-red-black-tree": "^1.0.1",
|
"functional-red-black-tree": "^1.0.1",
|
||||||
"lodash": "^4.17.15",
|
"lodash": "^4.17.15",
|
||||||
|
@ -4292,55 +4292,55 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typescript-eslint/experimental-utils": {
|
"@typescript-eslint/experimental-utils": {
|
||||||
"version": "4.16.1",
|
"version": "4.17.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.16.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.17.0.tgz",
|
||||||
"integrity": "sha512-0Hm3LSlMYFK17jO4iY3un1Ve9x1zLNn4EM50Lia+0EV99NdbK+cn0er7HC7IvBA23mBg3P+8dUkMXy4leL33UQ==",
|
"integrity": "sha512-ZR2NIUbnIBj+LGqCFGQ9yk2EBQrpVVFOh9/Kd0Lm6gLpSAcCuLLe5lUCibKGCqyH9HPwYC0GIJce2O1i8VYmWA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/json-schema": "^7.0.3",
|
"@types/json-schema": "^7.0.3",
|
||||||
"@typescript-eslint/scope-manager": "4.16.1",
|
"@typescript-eslint/scope-manager": "4.17.0",
|
||||||
"@typescript-eslint/types": "4.16.1",
|
"@typescript-eslint/types": "4.17.0",
|
||||||
"@typescript-eslint/typescript-estree": "4.16.1",
|
"@typescript-eslint/typescript-estree": "4.17.0",
|
||||||
"eslint-scope": "^5.0.0",
|
"eslint-scope": "^5.0.0",
|
||||||
"eslint-utils": "^2.0.0"
|
"eslint-utils": "^2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typescript-eslint/parser": {
|
"@typescript-eslint/parser": {
|
||||||
"version": "4.16.1",
|
"version": "4.17.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.16.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.17.0.tgz",
|
||||||
"integrity": "sha512-/c0LEZcDL5y8RyI1zLcmZMvJrsR6SM1uetskFkoh3dvqDKVXPsXI+wFB/CbVw7WkEyyTKobC1mUNp/5y6gRvXg==",
|
"integrity": "sha512-KYdksiZQ0N1t+6qpnl6JeK9ycCFprS9xBAiIrw4gSphqONt8wydBw4BXJi3C11ywZmyHulvMaLjWsxDjUSDwAw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@typescript-eslint/scope-manager": "4.16.1",
|
"@typescript-eslint/scope-manager": "4.17.0",
|
||||||
"@typescript-eslint/types": "4.16.1",
|
"@typescript-eslint/types": "4.17.0",
|
||||||
"@typescript-eslint/typescript-estree": "4.16.1",
|
"@typescript-eslint/typescript-estree": "4.17.0",
|
||||||
"debug": "^4.1.1"
|
"debug": "^4.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typescript-eslint/scope-manager": {
|
"@typescript-eslint/scope-manager": {
|
||||||
"version": "4.16.1",
|
"version": "4.17.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.16.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.17.0.tgz",
|
||||||
"integrity": "sha512-6IlZv9JaurqV0jkEg923cV49aAn8V6+1H1DRfhRcvZUrptQ+UtSKHb5kwTayzOYTJJ/RsYZdcvhOEKiBLyc0Cw==",
|
"integrity": "sha512-OJ+CeTliuW+UZ9qgULrnGpPQ1bhrZNFpfT/Bc0pzNeyZwMik7/ykJ0JHnQ7krHanFN9wcnPK89pwn84cRUmYjw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@typescript-eslint/types": "4.16.1",
|
"@typescript-eslint/types": "4.17.0",
|
||||||
"@typescript-eslint/visitor-keys": "4.16.1"
|
"@typescript-eslint/visitor-keys": "4.17.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typescript-eslint/types": {
|
"@typescript-eslint/types": {
|
||||||
"version": "4.16.1",
|
"version": "4.17.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.17.0.tgz",
|
||||||
"integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==",
|
"integrity": "sha512-RN5z8qYpJ+kXwnLlyzZkiJwfW2AY458Bf8WqllkondQIcN2ZxQowAToGSd9BlAUZDB5Ea8I6mqL2quGYCLT+2g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@typescript-eslint/typescript-estree": {
|
"@typescript-eslint/typescript-estree": {
|
||||||
"version": "4.16.1",
|
"version": "4.17.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.16.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.17.0.tgz",
|
||||||
"integrity": "sha512-m8I/DKHa8YbeHt31T+UGd/l8Kwr0XCTCZL3H4HMvvLCT7HU9V7yYdinTOv1gf/zfqNeDcCgaFH2BMsS8x6NvJg==",
|
"integrity": "sha512-lRhSFIZKUEPPWpWfwuZBH9trYIEJSI0vYsrxbvVvNyIUDoKWaklOAelsSkeh3E2VBSZiNe9BZ4E5tYBZbUczVQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@typescript-eslint/types": "4.16.1",
|
"@typescript-eslint/types": "4.17.0",
|
||||||
"@typescript-eslint/visitor-keys": "4.16.1",
|
"@typescript-eslint/visitor-keys": "4.17.0",
|
||||||
"debug": "^4.1.1",
|
"debug": "^4.1.1",
|
||||||
"globby": "^11.0.1",
|
"globby": "^11.0.1",
|
||||||
"is-glob": "^4.0.1",
|
"is-glob": "^4.0.1",
|
||||||
|
@ -4349,12 +4349,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typescript-eslint/visitor-keys": {
|
"@typescript-eslint/visitor-keys": {
|
||||||
"version": "4.16.1",
|
"version": "4.17.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.16.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.17.0.tgz",
|
||||||
"integrity": "sha512-s/aIP1XcMkEqCNcPQtl60ogUYjSM8FU2mq1O7y5cFf3Xcob1z1iXWNB6cC43Op+NGRTFgGolri6s8z/efA9i1w==",
|
"integrity": "sha512-WfuMN8mm5SSqXuAr9NM+fItJ0SVVphobWYkWOwQ1odsfC014Vdxk/92t4JwS1Q6fCA/ABfCKpa3AVtpUKTNKGQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@typescript-eslint/types": "4.16.1",
|
"@typescript-eslint/types": "4.17.0",
|
||||||
"eslint-visitor-keys": "^2.0.0"
|
"eslint-visitor-keys": "^2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -4841,9 +4841,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"esbuild": {
|
"esbuild": {
|
||||||
"version": "0.8.57",
|
"version": "0.9.0",
|
||||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.57.tgz",
|
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.9.0.tgz",
|
||||||
"integrity": "sha512-j02SFrUwFTRUqiY0Kjplwjm1psuzO1d6AjaXKuOR9hrY0HuPsT6sV42B6myW34h1q4CRy+Y3g4RU/cGJeI/nNA==",
|
"integrity": "sha512-IqYFO7ZKHf0y4uJpJfGqInmSRn8jMPMbyI1W0Y2PSjSjJcVP538tC8TleJAS4Y8QeqwajqBTwFKayWVzYlMIgg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"escalade": {
|
"escalade": {
|
||||||
|
@ -6379,10 +6379,11 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"seedrandom": {
|
"seedrandom": {
|
||||||
"version": "3.0.5",
|
"version": "2.4.4",
|
||||||
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-2.4.4.tgz",
|
||||||
"integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==",
|
"integrity": "sha512-9A+PDmgm+2du77B5i0Ip2cxOqqHjgNxnBgglxLcX78A2D6c2rTo61z4jnVABpF4cKeDMDG+cmXXvdnqse2VqMA==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"peer": true
|
||||||
},
|
},
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "7.3.4",
|
"version": "7.3.4",
|
||||||
|
|
30
package.json
30
package.json
|
@ -43,25 +43,24 @@
|
||||||
"blazeface",
|
"blazeface",
|
||||||
"blazepose"
|
"blazepose"
|
||||||
],
|
],
|
||||||
"peerDependencies": {},
|
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tensorflow/tfjs": "^3.2.0",
|
"@tensorflow/tfjs": "^3.3.0",
|
||||||
"@tensorflow/tfjs-backend-cpu": "^3.2.0",
|
"@tensorflow/tfjs-backend-cpu": "^3.3.0",
|
||||||
"@tensorflow/tfjs-backend-wasm": "^3.2.0",
|
"@tensorflow/tfjs-backend-wasm": "^3.3.0",
|
||||||
"@tensorflow/tfjs-backend-webgl": "^3.2.0",
|
"@tensorflow/tfjs-backend-webgl": "^3.3.0",
|
||||||
"@tensorflow/tfjs-converter": "^3.2.0",
|
"@tensorflow/tfjs-converter": "^3.3.0",
|
||||||
"@tensorflow/tfjs-core": "^3.2.0",
|
"@tensorflow/tfjs-core": "^3.3.0",
|
||||||
"@tensorflow/tfjs-data": "^3.2.0",
|
"@tensorflow/tfjs-data": "^3.3.0",
|
||||||
"@tensorflow/tfjs-layers": "^3.2.0",
|
"@tensorflow/tfjs-layers": "^3.3.0",
|
||||||
"@tensorflow/tfjs-node": "^3.2.0",
|
"@tensorflow/tfjs-node": "^3.3.0",
|
||||||
"@tensorflow/tfjs-node-gpu": "^3.2.0",
|
"@tensorflow/tfjs-node-gpu": "^3.3.0",
|
||||||
"@types/node": "^14.14.32",
|
"@types/node": "^14.14.33",
|
||||||
"@typescript-eslint/eslint-plugin": "^4.16.1",
|
"@typescript-eslint/eslint-plugin": "^4.17.0",
|
||||||
"@typescript-eslint/parser": "^4.16.1",
|
"@typescript-eslint/parser": "^4.17.0",
|
||||||
"@vladmandic/pilogger": "^0.2.14",
|
"@vladmandic/pilogger": "^0.2.14",
|
||||||
"chokidar": "^3.5.1",
|
"chokidar": "^3.5.1",
|
||||||
"dayjs": "^1.10.4",
|
"dayjs": "^1.10.4",
|
||||||
"esbuild": "^0.8.57",
|
"esbuild": "^0.9.0",
|
||||||
"eslint": "^7.21.0",
|
"eslint": "^7.21.0",
|
||||||
"eslint-config-airbnb-base": "^14.2.1",
|
"eslint-config-airbnb-base": "^14.2.1",
|
||||||
"eslint-plugin-import": "^2.22.1",
|
"eslint-plugin-import": "^2.22.1",
|
||||||
|
@ -69,7 +68,6 @@
|
||||||
"eslint-plugin-node": "^11.1.0",
|
"eslint-plugin-node": "^11.1.0",
|
||||||
"eslint-plugin-promise": "^4.3.1",
|
"eslint-plugin-promise": "^4.3.1",
|
||||||
"rimraf": "^3.0.2",
|
"rimraf": "^3.0.2",
|
||||||
"seedrandom": "^3.0.5",
|
|
||||||
"simple-git": "^2.36.1",
|
"simple-git": "^2.36.1",
|
||||||
"tslib": "^2.1.0",
|
"tslib": "^2.1.0",
|
||||||
"typescript": "^4.2.3"
|
"typescript": "^4.2.3"
|
||||||
|
|
|
@ -1,20 +1,18 @@
|
||||||
#!/usr/bin/env -S node --trace-warnings
|
#!/usr/bin/env -S node --trace-warnings
|
||||||
|
|
||||||
const fs = require('fs');
|
|
||||||
const log = require('@vladmandic/pilogger');
|
const log = require('@vladmandic/pilogger');
|
||||||
const esbuild = require('esbuild');
|
const esbuild = require('esbuild');
|
||||||
const ts = require('typescript');
|
const ts = require('typescript');
|
||||||
|
|
||||||
// keeps esbuild service instance cached
|
// keeps esbuild service instance cached
|
||||||
let es;
|
|
||||||
let busy = false;
|
let busy = false;
|
||||||
const banner = `
|
const banner = { js: `
|
||||||
/*
|
/*
|
||||||
Human library
|
Human library
|
||||||
homepage: <https://github.com/vladmandic/human>
|
homepage: <https://github.com/vladmandic/human>
|
||||||
author: <https://github.com/vladmandic>'
|
author: <https://github.com/vladmandic>'
|
||||||
*/
|
*/
|
||||||
`;
|
` };
|
||||||
|
|
||||||
// tsc configuration for building types only
|
// tsc configuration for building types only
|
||||||
const tsconfig = {
|
const tsconfig = {
|
||||||
|
@ -46,6 +44,7 @@ const config = {
|
||||||
tsconfig: 'server/tfjs-tsconfig.json',
|
tsconfig: 'server/tfjs-tsconfig.json',
|
||||||
bundle: true,
|
bundle: true,
|
||||||
logLevel: 'error',
|
logLevel: 'error',
|
||||||
|
metafile: true,
|
||||||
},
|
},
|
||||||
debug: {
|
debug: {
|
||||||
minifyWhitespace: false,
|
minifyWhitespace: false,
|
||||||
|
@ -68,7 +67,6 @@ const targets = {
|
||||||
tfjs: {
|
tfjs: {
|
||||||
platform: 'node',
|
platform: 'node',
|
||||||
format: 'cjs',
|
format: 'cjs',
|
||||||
metafile: 'dist/tfjs.esm.json',
|
|
||||||
entryPoints: ['src/tfjs/tf-node.ts'],
|
entryPoints: ['src/tfjs/tf-node.ts'],
|
||||||
outfile: 'dist/tfjs.esm.js',
|
outfile: 'dist/tfjs.esm.js',
|
||||||
external: ['@tensorflow'],
|
external: ['@tensorflow'],
|
||||||
|
@ -76,7 +74,6 @@ const targets = {
|
||||||
node: {
|
node: {
|
||||||
platform: 'node',
|
platform: 'node',
|
||||||
format: 'cjs',
|
format: 'cjs',
|
||||||
metafile: 'dist/human.node.json',
|
|
||||||
entryPoints: ['src/human.ts'],
|
entryPoints: ['src/human.ts'],
|
||||||
outfile: 'dist/human.node.js',
|
outfile: 'dist/human.node.js',
|
||||||
external: ['@tensorflow'],
|
external: ['@tensorflow'],
|
||||||
|
@ -86,7 +83,6 @@ const targets = {
|
||||||
tfjs: {
|
tfjs: {
|
||||||
platform: 'node',
|
platform: 'node',
|
||||||
format: 'cjs',
|
format: 'cjs',
|
||||||
metafile: 'dist/tfjs.esm.json',
|
|
||||||
entryPoints: ['src/tfjs/tf-node-gpu.ts'],
|
entryPoints: ['src/tfjs/tf-node-gpu.ts'],
|
||||||
outfile: 'dist/tfjs.esm.js',
|
outfile: 'dist/tfjs.esm.js',
|
||||||
external: ['@tensorflow'],
|
external: ['@tensorflow'],
|
||||||
|
@ -94,7 +90,6 @@ const targets = {
|
||||||
node: {
|
node: {
|
||||||
platform: 'node',
|
platform: 'node',
|
||||||
format: 'cjs',
|
format: 'cjs',
|
||||||
metafile: 'dist/human.node.json',
|
|
||||||
entryPoints: ['src/human.ts'],
|
entryPoints: ['src/human.ts'],
|
||||||
outfile: 'dist/human.node-gpu.js',
|
outfile: 'dist/human.node-gpu.js',
|
||||||
external: ['@tensorflow'],
|
external: ['@tensorflow'],
|
||||||
|
@ -105,7 +100,6 @@ const targets = {
|
||||||
tfjs: {
|
tfjs: {
|
||||||
platform: 'browser',
|
platform: 'browser',
|
||||||
format: 'esm',
|
format: 'esm',
|
||||||
metafile: 'dist/tfjs.esm.json',
|
|
||||||
entryPoints: ['src/tfjs/tf-browser.ts'],
|
entryPoints: ['src/tfjs/tf-browser.ts'],
|
||||||
outfile: 'dist/tfjs.esm.js',
|
outfile: 'dist/tfjs.esm.js',
|
||||||
external: ['fs', 'buffer', 'util', 'os', '@tensorflow'],
|
external: ['fs', 'buffer', 'util', 'os', '@tensorflow'],
|
||||||
|
@ -113,7 +107,6 @@ const targets = {
|
||||||
esm: {
|
esm: {
|
||||||
platform: 'browser',
|
platform: 'browser',
|
||||||
format: 'esm',
|
format: 'esm',
|
||||||
metafile: 'dist/human.esm.json',
|
|
||||||
entryPoints: ['src/human.ts'],
|
entryPoints: ['src/human.ts'],
|
||||||
outfile: 'dist/human.esm-nobundle.js',
|
outfile: 'dist/human.esm-nobundle.js',
|
||||||
external: ['fs', 'buffer', 'util', 'os', '@tensorflow'],
|
external: ['fs', 'buffer', 'util', 'os', '@tensorflow'],
|
||||||
|
@ -123,7 +116,6 @@ const targets = {
|
||||||
tfjs: {
|
tfjs: {
|
||||||
platform: 'browser',
|
platform: 'browser',
|
||||||
format: 'esm',
|
format: 'esm',
|
||||||
metafile: 'dist/tfjs.esm.json',
|
|
||||||
entryPoints: ['src/tfjs/tf-browser.ts'],
|
entryPoints: ['src/tfjs/tf-browser.ts'],
|
||||||
outfile: 'dist/tfjs.esm.js',
|
outfile: 'dist/tfjs.esm.js',
|
||||||
external: ['fs', 'buffer', 'util', 'os'],
|
external: ['fs', 'buffer', 'util', 'os'],
|
||||||
|
@ -132,15 +124,13 @@ const targets = {
|
||||||
platform: 'browser',
|
platform: 'browser',
|
||||||
format: 'iife',
|
format: 'iife',
|
||||||
globalName: 'Human',
|
globalName: 'Human',
|
||||||
metafile: 'dist/human.iife.json',
|
|
||||||
entryPoints: ['src/human.ts'],
|
entryPoints: ['src/human.ts'],
|
||||||
outfile: 'dist/human.ts',
|
outfile: 'dist/human.js',
|
||||||
external: ['fs', 'buffer', 'util', 'os'],
|
external: ['fs', 'buffer', 'util', 'os'],
|
||||||
},
|
},
|
||||||
esm: {
|
esm: {
|
||||||
platform: 'browser',
|
platform: 'browser',
|
||||||
format: 'esm',
|
format: 'esm',
|
||||||
metafile: 'dist/human.esm.json',
|
|
||||||
entryPoints: ['src/human.ts'],
|
entryPoints: ['src/human.ts'],
|
||||||
outfile: 'dist/human.esm.js',
|
outfile: 'dist/human.esm.js',
|
||||||
external: ['fs', 'buffer', 'util', 'os'],
|
external: ['fs', 'buffer', 'util', 'os'],
|
||||||
|
@ -148,7 +138,6 @@ const targets = {
|
||||||
demo: {
|
demo: {
|
||||||
platform: 'browser',
|
platform: 'browser',
|
||||||
format: 'esm',
|
format: 'esm',
|
||||||
metafile: 'dist/demo-browser-index.json',
|
|
||||||
entryPoints: ['demo/browser.js'],
|
entryPoints: ['demo/browser.js'],
|
||||||
outfile: 'dist/demo-browser-index.js',
|
outfile: 'dist/demo-browser-index.js',
|
||||||
external: ['fs', 'buffer', 'util', 'os'],
|
external: ['fs', 'buffer', 'util', 'os'],
|
||||||
|
@ -156,13 +145,10 @@ const targets = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
async function getStats(metafile) {
|
async function getStats(json) {
|
||||||
const stats = {};
|
const stats = {};
|
||||||
if (!fs.existsSync(metafile)) return stats;
|
if (json && json.metafile?.inputs && json.metafile?.outputs) {
|
||||||
const data = fs.readFileSync(metafile);
|
for (const [key, val] of Object.entries(json.metafile.inputs)) {
|
||||||
const json = JSON.parse(data.toString());
|
|
||||||
if (json && json.inputs && json.outputs) {
|
|
||||||
for (const [key, val] of Object.entries(json.inputs)) {
|
|
||||||
if (key.startsWith('node_modules')) {
|
if (key.startsWith('node_modules')) {
|
||||||
stats.modules = (stats.modules || 0) + 1;
|
stats.modules = (stats.modules || 0) + 1;
|
||||||
stats.moduleBytes = (stats.moduleBytes || 0) + val.bytes;
|
stats.moduleBytes = (stats.moduleBytes || 0) + val.bytes;
|
||||||
|
@ -172,7 +158,7 @@ async function getStats(metafile) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const files = [];
|
const files = [];
|
||||||
for (const [key, val] of Object.entries(json.outputs)) {
|
for (const [key, val] of Object.entries(json.metafile.outputs)) {
|
||||||
if (!key.endsWith('.map')) {
|
if (!key.endsWith('.map')) {
|
||||||
files.push(key);
|
files.push(key);
|
||||||
stats.outputBytes = (stats.outputBytes || 0) + val.bytes;
|
stats.outputBytes = (stats.outputBytes || 0) + val.bytes;
|
||||||
|
@ -214,7 +200,6 @@ async function build(f, msg, dev = false) {
|
||||||
}
|
}
|
||||||
busy = true;
|
busy = true;
|
||||||
log.info('Build: file', msg, f, 'type:', dev ? 'debug' : 'production', 'config:', dev ? config.debug : config.production);
|
log.info('Build: file', msg, f, 'type:', dev ? 'debug' : 'production', 'config:', dev ? config.debug : config.production);
|
||||||
if (!es) es = await esbuild.startService();
|
|
||||||
// common build options
|
// common build options
|
||||||
try {
|
try {
|
||||||
// rebuild all target groups and types
|
// rebuild all target groups and types
|
||||||
|
@ -222,9 +207,12 @@ async function build(f, msg, dev = false) {
|
||||||
for (const [targetName, targetOptions] of Object.entries(targetGroup)) {
|
for (const [targetName, targetOptions] of Object.entries(targetGroup)) {
|
||||||
// if triggered from watch mode, rebuild only browser bundle
|
// if triggered from watch mode, rebuild only browser bundle
|
||||||
// if ((require.main !== module) && (targetGroupName !== 'browserBundle')) continue;
|
// if ((require.main !== module) && (targetGroupName !== 'browserBundle')) continue;
|
||||||
if (dev) await es.build({ ...config.common, ...config.debug, ...targetOptions });
|
const meta = dev
|
||||||
else await es.build({ ...config.common, ...config.production, ...targetOptions });
|
// @ts-ignore
|
||||||
const stats = await getStats(targetOptions.metafile);
|
? await esbuild.build({ ...config.common, ...config.debug, ...targetOptions })
|
||||||
|
// @ts-ignore
|
||||||
|
: await esbuild.build({ ...config.common, ...config.production, ...targetOptions });
|
||||||
|
const stats = await getStats(meta);
|
||||||
log.state(`Build for: ${targetGroupName} type: ${targetName}:`, stats);
|
log.state(`Build for: ${targetGroupName} type: ${targetName}:`, stats);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,8 +97,8 @@ export class Pipeline {
|
||||||
box.startPoint[0] / this.meshWidth, box.endPoint[1] / this.meshHeight,
|
box.startPoint[0] / this.meshWidth, box.endPoint[1] / this.meshHeight,
|
||||||
box.endPoint[0] / this.meshWidth,
|
box.endPoint[0] / this.meshWidth,
|
||||||
]], [0], [this.irisSize, this.irisSize]);
|
]], [0], [this.irisSize, this.irisSize]);
|
||||||
if (flip) {
|
if (flip && tf.ENV.flags.IS_BROWSER) {
|
||||||
crop = tf.image.flipLeftRight(crop);
|
crop = tf.image.flipLeftRight(crop); // flipLeftRight is not defined for tfjs-node
|
||||||
}
|
}
|
||||||
return { box, boxSize, crop };
|
return { box, boxSize, crop };
|
||||||
}
|
}
|
||||||
|
@ -185,12 +185,12 @@ export class Pipeline {
|
||||||
let face;
|
let face;
|
||||||
let angle = 0;
|
let angle = 0;
|
||||||
let rotationMatrix;
|
let rotationMatrix;
|
||||||
if (config.face.detector.rotation && config.face.mesh.enabled) {
|
if (config.face.detector.rotation && config.face.mesh.enabled && tf.ENV.flags.IS_BROWSER) {
|
||||||
const [indexOfMouth, indexOfForehead] = (box.landmarks.length >= LANDMARKS_COUNT) ? MESH_KEYPOINTS_LINE_OF_SYMMETRY_INDICES : BLAZEFACE_KEYPOINTS_LINE_OF_SYMMETRY_INDICES;
|
const [indexOfMouth, indexOfForehead] = (box.landmarks.length >= LANDMARKS_COUNT) ? MESH_KEYPOINTS_LINE_OF_SYMMETRY_INDICES : BLAZEFACE_KEYPOINTS_LINE_OF_SYMMETRY_INDICES;
|
||||||
angle = util.computeRotation(box.landmarks[indexOfMouth], box.landmarks[indexOfForehead]);
|
angle = util.computeRotation(box.landmarks[indexOfMouth], box.landmarks[indexOfForehead]);
|
||||||
const faceCenter = bounding.getBoxCenter({ startPoint: box.startPoint, endPoint: box.endPoint });
|
const faceCenter = bounding.getBoxCenter({ startPoint: box.startPoint, endPoint: box.endPoint });
|
||||||
const faceCenterNormalized = [faceCenter[0] / input.shape[2], faceCenter[1] / input.shape[1]];
|
const faceCenterNormalized = [faceCenter[0] / input.shape[2], faceCenter[1] / input.shape[1]];
|
||||||
const rotatedImage = tf.image.rotateWithOffset(input, angle, 0, faceCenterNormalized);
|
const rotatedImage = tf.image.rotateWithOffset(input, angle, 0, faceCenterNormalized); // rotateWithOffset is not defined for tfjs-node
|
||||||
rotationMatrix = util.buildRotationMatrix(-angle, faceCenter);
|
rotationMatrix = util.buildRotationMatrix(-angle, faceCenter);
|
||||||
face = bounding.cutBoxFromImageAndResize({ startPoint: box.startPoint, endPoint: box.endPoint }, rotatedImage, [this.meshHeight, this.meshWidth]).div(255);
|
face = bounding.cutBoxFromImageAndResize({ startPoint: box.startPoint, endPoint: box.endPoint }, rotatedImage, [this.meshHeight, this.meshWidth]).div(255);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1,69 +0,0 @@
|
||||||
import { log } from '../log';
|
|
||||||
import * as tf from '../../dist/tfjs.esm.js';
|
|
||||||
import * as profile from '../profile';
|
|
||||||
|
|
||||||
export class FaceBoxes {
|
|
||||||
enlarge: number;
|
|
||||||
model: any;
|
|
||||||
config: any;
|
|
||||||
|
|
||||||
constructor(model, config) {
|
|
||||||
this.enlarge = 1.1;
|
|
||||||
this.model = model;
|
|
||||||
this.config = config;
|
|
||||||
}
|
|
||||||
|
|
||||||
async estimateFaces(input, config) {
|
|
||||||
if (config) this.config = config;
|
|
||||||
const results: Array<{ confidence: number, box: any, boxRaw: any, image: any }> = [];
|
|
||||||
const resizeT = tf.image.resizeBilinear(input, [this.config.face.detector.inputSize, this.config.face.detector.inputSize]);
|
|
||||||
const castT = resizeT.toInt();
|
|
||||||
let scores;
|
|
||||||
let boxes;
|
|
||||||
if (!config.profile) {
|
|
||||||
const [scoresT, boxesT, numT] = await this.model.executeAsync(castT);
|
|
||||||
scores = scoresT.dataSync();
|
|
||||||
const squeezeT = boxesT.squeeze();
|
|
||||||
boxes = squeezeT.arraySync();
|
|
||||||
scoresT.dispose();
|
|
||||||
boxesT.dispose();
|
|
||||||
squeezeT.dispose();
|
|
||||||
numT.dispose();
|
|
||||||
} else {
|
|
||||||
const profileData = await tf.profile(() => this.model.executeAsync(castT));
|
|
||||||
scores = profileData.result[0].dataSync();
|
|
||||||
const squeezeT = profileData.result[1].squeeze();
|
|
||||||
boxes = squeezeT.arraySync();
|
|
||||||
profileData.result.forEach((t) => t.dispose());
|
|
||||||
profile.run('faceboxes', profileData);
|
|
||||||
}
|
|
||||||
castT.dispose();
|
|
||||||
resizeT.dispose();
|
|
||||||
for (const i in boxes) {
|
|
||||||
if (scores[i] && scores[i] > this.config.face.detector.minConfidence) {
|
|
||||||
const crop = [boxes[i][0] / this.enlarge, boxes[i][1] / this.enlarge, boxes[i][2] * this.enlarge, boxes[i][3] * this.enlarge];
|
|
||||||
const boxRaw = [crop[1], crop[0], (crop[3]) - (crop[1]), (crop[2]) - (crop[0])];
|
|
||||||
const box = [
|
|
||||||
parseInt((boxRaw[0] * input.shape[2]).toString()),
|
|
||||||
parseInt((boxRaw[1] * input.shape[1]).toString()),
|
|
||||||
parseInt((boxRaw[2] * input.shape[2]).toString()),
|
|
||||||
parseInt((boxRaw[3] * input.shape[1]).toString())];
|
|
||||||
const resized = tf.image.cropAndResize(input, [crop], [0], [this.config.face.detector.inputSize, this.config.face.detector.inputSize]);
|
|
||||||
const image = resized.div([255]);
|
|
||||||
resized.dispose();
|
|
||||||
results.push({ confidence: scores[i], box, boxRaw, image });
|
|
||||||
// add mesh, meshRaw, annotations,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return results;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function load(config) {
|
|
||||||
const model = await tf.loadGraphModel(config.face.detector.modelPath);
|
|
||||||
if (config.debug) log(`load model: ${config.face.detector.modelPath.match(/\/(.*)\./)[1]}`);
|
|
||||||
const faceboxes = new FaceBoxes(model, config);
|
|
||||||
if (config.face.mesh.enabled && config.debug) log(`load model: ${config.face.mesh.modelPath.match(/\/(.*)\./)[1]}`);
|
|
||||||
if (config.face.iris.enabled && config.debug) log(`load model: ${config.face.iris.modelPath.match(/\/(.*)\./)[1]}`);
|
|
||||||
return faceboxes;
|
|
||||||
}
|
|
|
@ -3,7 +3,6 @@ import * as sysinfo from './sysinfo';
|
||||||
import * as tf from '../dist/tfjs.esm.js';
|
import * as tf from '../dist/tfjs.esm.js';
|
||||||
import * as backend from './tfjs/backend';
|
import * as backend from './tfjs/backend';
|
||||||
import * as facemesh from './blazeface/facemesh';
|
import * as facemesh from './blazeface/facemesh';
|
||||||
import * as faceboxes from './faceboxes/faceboxes';
|
|
||||||
import * as age from './age/age';
|
import * as age from './age/age';
|
||||||
import * as gender from './gender/gender';
|
import * as gender from './gender/gender';
|
||||||
import * as emotion from './emotion/emotion';
|
import * as emotion from './emotion/emotion';
|
||||||
|
@ -154,7 +153,6 @@ class Human {
|
||||||
if (this.config.debug) log('tf flags:', this.tf.ENV.flags);
|
if (this.config.debug) log('tf flags:', this.tf.ENV.flags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const face = this.config.face.detector.modelPath.includes('faceboxes') ? faceboxes : facemesh;
|
|
||||||
if (this.config.async) {
|
if (this.config.async) {
|
||||||
[
|
[
|
||||||
this.models.face,
|
this.models.face,
|
||||||
|
@ -166,7 +164,7 @@ class Human {
|
||||||
this.models.posenet,
|
this.models.posenet,
|
||||||
this.models.blazepose,
|
this.models.blazepose,
|
||||||
] = await Promise.all([
|
] = await Promise.all([
|
||||||
this.models.face || (this.config.face.enabled ? face.load(this.config) : null),
|
this.models.face || (this.config.face.enabled ? facemesh.load(this.config) : null),
|
||||||
this.models.age || ((this.config.face.enabled && this.config.face.age.enabled) ? age.load(this.config) : null),
|
this.models.age || ((this.config.face.enabled && this.config.face.age.enabled) ? age.load(this.config) : null),
|
||||||
this.models.gender || ((this.config.face.enabled && this.config.face.gender.enabled) ? gender.load(this.config) : null),
|
this.models.gender || ((this.config.face.enabled && this.config.face.gender.enabled) ? gender.load(this.config) : null),
|
||||||
this.models.emotion || ((this.config.face.enabled && this.config.face.emotion.enabled) ? emotion.load(this.config) : null),
|
this.models.emotion || ((this.config.face.enabled && this.config.face.emotion.enabled) ? emotion.load(this.config) : null),
|
||||||
|
@ -176,7 +174,7 @@ class Human {
|
||||||
this.models.posenet || (this.config.body.enabled && this.config.body.modelType.startsWith('blazepose') ? blazepose.load(this.config) : null),
|
this.models.posenet || (this.config.body.enabled && this.config.body.modelType.startsWith('blazepose') ? blazepose.load(this.config) : null),
|
||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
if (this.config.face.enabled && !this.models.face) this.models.face = await face.load(this.config);
|
if (this.config.face.enabled && !this.models.face) this.models.face = await facemesh.load(this.config);
|
||||||
if (this.config.face.enabled && this.config.face.age.enabled && !this.models.age) this.models.age = await age.load(this.config);
|
if (this.config.face.enabled && this.config.face.age.enabled && !this.models.age) this.models.age = await age.load(this.config);
|
||||||
if (this.config.face.enabled && this.config.face.gender.enabled && !this.models.gender) this.models.gender = await gender.load(this.config);
|
if (this.config.face.enabled && this.config.face.gender.enabled && !this.models.gender) this.models.gender = await gender.load(this.config);
|
||||||
if (this.config.face.enabled && this.config.face.emotion.enabled && !this.models.emotion) this.models.emotion = await emotion.load(this.config);
|
if (this.config.face.enabled && this.config.face.emotion.enabled && !this.models.emotion) this.models.emotion = await emotion.load(this.config);
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
export declare class FaceBoxes {
|
|
||||||
enlarge: number;
|
|
||||||
model: any;
|
|
||||||
config: any;
|
|
||||||
constructor(model: any, config: any);
|
|
||||||
estimateFaces(input: any, config: any): Promise<{
|
|
||||||
confidence: number;
|
|
||||||
box: any;
|
|
||||||
boxRaw: any;
|
|
||||||
image: any;
|
|
||||||
}[]>;
|
|
||||||
}
|
|
||||||
export declare function load(config: any): Promise<FaceBoxes>;
|
|
Loading…
Reference in New Issue