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
|
||||
// (note: module is not loaded until it is required)
|
||||
detector: {
|
||||
modelPath: '../models/blazeface-back.json', // can be 'blazeface-front', 'blazeface-back' or 'faceboxes'
|
||||
// 'blazeface-front' is blazeface model optimized for large faces such as front-facing camera
|
||||
// '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'
|
||||
modelPath: '../models/blazeface-back.json',
|
||||
inputSize: 256, // fixed value
|
||||
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
|
||||
// this parameter is not valid in nodejs
|
||||
maxFaces: 10, // maximum number of faces detected in the input
|
||||
// should be set to the minimum number for performance
|
||||
skipFrames: 21, // how many frames to go without re-running the face bounding box detector
|
||||
|
@ -136,7 +134,7 @@ export default {
|
|||
|
||||
body: {
|
||||
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
|
||||
maxDetections: 10, // maximum number of people detected in the input
|
||||
// should be set to the minimum number for performance
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 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 text { font-size: 16px; font-family: 'Lato', 'Segoe UI'; dominant-baseline: middle; text-anchor: middle; }
|
||||
#gl-bench .gl-mem { font-size: 12px; fill: white; }
|
||||
|
@ -17,10 +17,10 @@ const UICSS = `
|
|||
|
||||
const UISVG = `
|
||||
<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="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>
|
||||
</svg>
|
||||
<svg viewBox="0 0 14 60" class="gl-cpu-svg">
|
||||
|
@ -163,7 +163,7 @@ class GLBench {
|
|||
const len = chart.length;
|
||||
for (let j = 0; j < len; j++) {
|
||||
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);
|
||||
logger(this.names[i], chart, circularId);
|
||||
|
|
17
demo/node.js
17
demo/node.js
|
@ -15,9 +15,8 @@ const myConfig = {
|
|||
async: false,
|
||||
face: {
|
||||
enabled: true,
|
||||
detector: { modelPath: 'file://models/faceboxes.json', enabled: true, minConfidence: 0.5 },
|
||||
// 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: false }, // depends on blazeface detector
|
||||
detector: { modelPath: 'file://models/blazeface-back.json', enabled: true },
|
||||
mesh: { modelPath: 'file://models/facemesh.json', enabled: true },
|
||||
iris: { modelPath: 'file://models/iris.json', enabled: true },
|
||||
age: { modelPath: 'file://models/age-ssrnet-imdb.json', enabled: true },
|
||||
gender: { modelPath: 'file://models/gender.json', enabled: true },
|
||||
|
@ -58,13 +57,11 @@ async function detect(input) {
|
|||
log.state('Processing:', image.shape);
|
||||
// run actual detection
|
||||
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
|
||||
image.dispose();
|
||||
// print data to console
|
||||
log.data('Face: ', result.face);
|
||||
log.data('Body:', result.body);
|
||||
log.data('Hand:', result.hand);
|
||||
log.data('Gesture:', result.gesture);
|
||||
return result;
|
||||
}
|
||||
|
||||
async function test() {
|
||||
|
@ -74,14 +71,12 @@ async function test() {
|
|||
log.state('Processing embedded warmup image: face');
|
||||
myConfig.warmup = 'face';
|
||||
result = await human.warmup(myConfig);
|
||||
log.data('Face: ', result.face);
|
||||
|
||||
log.state('Processing embedded warmup image: full');
|
||||
myConfig.warmup = 'full';
|
||||
result = await human.warmup(myConfig);
|
||||
log.data('Body:', result.body);
|
||||
log.data('Hand:', result.hand);
|
||||
log.data('Gesture:', result.gesture);
|
||||
// no need to print results as they are printed to console during detection from within the library due to human.config.debug set
|
||||
return result;
|
||||
}
|
||||
|
||||
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",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@tensorflow/tfjs": "^3.2.0",
|
||||
"@tensorflow/tfjs-backend-cpu": "^3.2.0",
|
||||
"@tensorflow/tfjs-backend-wasm": "^3.2.0",
|
||||
"@tensorflow/tfjs-backend-webgl": "^3.2.0",
|
||||
"@tensorflow/tfjs-converter": "^3.2.0",
|
||||
"@tensorflow/tfjs-core": "^3.2.0",
|
||||
"@tensorflow/tfjs-data": "^3.2.0",
|
||||
"@tensorflow/tfjs-layers": "^3.2.0",
|
||||
"@tensorflow/tfjs-node": "^3.2.0",
|
||||
"@tensorflow/tfjs-node-gpu": "^3.2.0",
|
||||
"@types/node": "^14.14.32",
|
||||
"@typescript-eslint/eslint-plugin": "^4.16.1",
|
||||
"@typescript-eslint/parser": "^4.16.1",
|
||||
"@tensorflow/tfjs": "^3.3.0",
|
||||
"@tensorflow/tfjs-backend-cpu": "^3.3.0",
|
||||
"@tensorflow/tfjs-backend-wasm": "^3.3.0",
|
||||
"@tensorflow/tfjs-backend-webgl": "^3.3.0",
|
||||
"@tensorflow/tfjs-converter": "^3.3.0",
|
||||
"@tensorflow/tfjs-core": "^3.3.0",
|
||||
"@tensorflow/tfjs-data": "^3.3.0",
|
||||
"@tensorflow/tfjs-layers": "^3.3.0",
|
||||
"@tensorflow/tfjs-node": "^3.3.0",
|
||||
"@tensorflow/tfjs-node-gpu": "^3.3.0",
|
||||
"@types/node": "^14.14.33",
|
||||
"@typescript-eslint/eslint-plugin": "^4.17.0",
|
||||
"@typescript-eslint/parser": "^4.17.0",
|
||||
"@vladmandic/pilogger": "^0.2.14",
|
||||
"chokidar": "^3.5.1",
|
||||
"dayjs": "^1.10.4",
|
||||
"esbuild": "^0.8.57",
|
||||
"esbuild": "^0.9.0",
|
||||
"eslint": "^7.21.0",
|
||||
"eslint-config-airbnb-base": "^14.2.1",
|
||||
"eslint-plugin-import": "^2.22.1",
|
||||
|
@ -33,7 +33,6 @@
|
|||
"eslint-plugin-node": "^11.1.0",
|
||||
"eslint-plugin-promise": "^4.3.1",
|
||||
"rimraf": "^3.0.2",
|
||||
"seedrandom": "^3.0.5",
|
||||
"simple-git": "^2.36.1",
|
||||
"tslib": "^2.1.0",
|
||||
"typescript": "^4.2.3"
|
||||
|
@ -58,9 +57,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/@babel/highlight": {
|
||||
"version": "7.13.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.8.tgz",
|
||||
"integrity": "sha512-4vrIhfJyfNf+lCtXC2ck1rKSzDwciqF7IWFhXXrSOUC2O5DrVp+w4c6ed4AllTxhTkUP5x2tYj41VaxdVMMRDw==",
|
||||
"version": "7.13.10",
|
||||
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz",
|
||||
"integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@babel/helper-validator-identifier": "^7.12.11",
|
||||
|
@ -201,17 +200,17 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@tensorflow/tfjs": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-3.2.0.tgz",
|
||||
"integrity": "sha512-rgcHHhzI+JVl206eMbYO8WzBW3DO9pinEbgtUWdxjfk+a4ojlqvJ34RPEISMSQZRR5KRCA7E/dHFv9+EULfqmw==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-3.3.0.tgz",
|
||||
"integrity": "sha512-xo22GCUCGcPtNGIdDpLPrp9ms3atXmzX8AF4y3aIBEwK5KlvGe+ZhcoQ2xEOCPQGBr7NB7AO6rwT8gRoziAHVg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@tensorflow/tfjs-backend-cpu": "3.2.0",
|
||||
"@tensorflow/tfjs-backend-webgl": "3.2.0",
|
||||
"@tensorflow/tfjs-converter": "3.2.0",
|
||||
"@tensorflow/tfjs-core": "3.2.0",
|
||||
"@tensorflow/tfjs-data": "3.2.0",
|
||||
"@tensorflow/tfjs-layers": "3.2.0",
|
||||
"@tensorflow/tfjs-backend-cpu": "3.3.0",
|
||||
"@tensorflow/tfjs-backend-webgl": "3.3.0",
|
||||
"@tensorflow/tfjs-converter": "3.3.0",
|
||||
"@tensorflow/tfjs-core": "3.3.0",
|
||||
"@tensorflow/tfjs-data": "3.3.0",
|
||||
"@tensorflow/tfjs-layers": "3.3.0",
|
||||
"argparse": "^1.0.10",
|
||||
"chalk": "^4.1.0",
|
||||
"core-js": "3",
|
||||
|
@ -223,9 +222,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@tensorflow/tfjs-backend-cpu": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-3.2.0.tgz",
|
||||
"integrity": "sha512-L3Pp7FHO92BaeG8Uuc/RJMJ/e61UrIbKgFHS3MKr0zcbmEsqGfos6/5yR1EHj7SoYG2nPlC5+6HxbYy0zp22IA==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-3.3.0.tgz",
|
||||
"integrity": "sha512-DLctv+PUZni26kQW1hq8jwQQ8u+GGc/p764WQIC4/IDagGtfGAUW1mHzWcTxtni2l4re1VrwE41ogWLhv4sGHg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/seedrandom": "2.4.27",
|
||||
|
@ -235,7 +234,7 @@
|
|||
"yarn": ">= 1.3.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@tensorflow/tfjs-core": "3.2.0"
|
||||
"@tensorflow/tfjs-core": "3.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom": {
|
||||
|
@ -245,25 +244,25 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/@tensorflow/tfjs-backend-wasm": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-wasm/-/tfjs-backend-wasm-3.2.0.tgz",
|
||||
"integrity": "sha512-gXxhJWRCmkcwSNatG7eGrmHKmjJC/AxvQdToHymkp1KtRazrsMWFrROoj1HuHwK1hCZyGa90ldmXlY9QdzFkuQ==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-wasm/-/tfjs-backend-wasm-3.3.0.tgz",
|
||||
"integrity": "sha512-1mU3+GuCc0tPzG65qIVwlJoIOyOOvVVkNl1NsId7PTt/PwE/QwiofsCmfPDqH47rTMxBzhvnHZTi+Nj9VBaz1g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@tensorflow/tfjs-backend-cpu": "3.2.0",
|
||||
"@tensorflow/tfjs-backend-cpu": "3.3.0",
|
||||
"@types/emscripten": "~0.0.34"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@tensorflow/tfjs-core": "3.2.0"
|
||||
"@tensorflow/tfjs-core": "3.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@tensorflow/tfjs-backend-webgl": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-3.2.0.tgz",
|
||||
"integrity": "sha512-WORXpDt5Ey5/+a4NioyrJkfbJUlleaSELpHnxeDsGt6BpRC2P/1pVJS1IjnBD/f4QlOm3mhouN2Oq28dRhRvqA==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-3.3.0.tgz",
|
||||
"integrity": "sha512-GWCtXbrjPTyye3ooId9GlcNDwnIMskZarUpNIQ5g/zeISLfwEQoutA/UqJF+HzuEHgGMsWFkmaO3xKVT7UMpdg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@tensorflow/tfjs-backend-cpu": "3.2.0",
|
||||
"@tensorflow/tfjs-backend-cpu": "3.3.0",
|
||||
"@types/offscreencanvas": "~2019.3.0",
|
||||
"@types/seedrandom": "2.4.27",
|
||||
"@types/webgl-ext": "0.0.30",
|
||||
|
@ -274,7 +273,7 @@
|
|||
"yarn": ">= 1.3.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@tensorflow/tfjs-core": "3.2.0"
|
||||
"@tensorflow/tfjs-core": "3.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@tensorflow/tfjs-backend-webgl/node_modules/seedrandom": {
|
||||
|
@ -284,18 +283,18 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/@tensorflow/tfjs-converter": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-3.2.0.tgz",
|
||||
"integrity": "sha512-iE2Q0naHR8OVcMc9RluebMObsPysru7X1y+mWtkPNnYlNUJORxfkEitrMbVDAKw6lsivIfo4Ar5UcstiG8/ckQ==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-3.3.0.tgz",
|
||||
"integrity": "sha512-k57wN4yelePhmO9orcT/wzGMIuyedrMpVtg0FhxpV6BQu0+TZ/ti3W4Kb97GWJsoHKXMoing9SnioKfVnBW6hw==",
|
||||
"dev": true,
|
||||
"peerDependencies": {
|
||||
"@tensorflow/tfjs-core": "3.2.0"
|
||||
"@tensorflow/tfjs-core": "3.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@tensorflow/tfjs-core": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-3.2.0.tgz",
|
||||
"integrity": "sha512-MZnTk9wcJai5lTfkC8T1rr6/M9C4eO0DfojZghopZXDflCTndLPIKcudx6E8qfrmZOkRSqMIwB7A8UFs7f+3Kg==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-3.3.0.tgz",
|
||||
"integrity": "sha512-6G+LcCiQBl4Kza5mDbWbf8QSWBTW3l7SDjGhQzMO1ITtQatHzxkuHGHcJ4CTUJvNA0JmKf4QJWOvlFqEmxwyLQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/offscreencanvas": "~2019.3.0",
|
||||
|
@ -315,36 +314,36 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/@tensorflow/tfjs-data": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-3.2.0.tgz",
|
||||
"integrity": "sha512-fG4rYJlxh/B9fzgc+/qdj5gPI485RsDUM99mErxovlh3UMIdRgMeHHdFse44VlyAShEAgsOehuWovhY5520kEw==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-3.3.0.tgz",
|
||||
"integrity": "sha512-0x28tRe6RJu5GmYq3IYN2GNnOgXU0nY+o6zZrlijkK+W3vjSTJlZzaBSifoeD6J8gzVpjs8W8qd/JKHQ1MQp8w==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/node-fetch": "^2.1.2",
|
||||
"node-fetch": "~2.6.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@tensorflow/tfjs-core": "3.2.0",
|
||||
"@tensorflow/tfjs-core": "3.3.0",
|
||||
"seedrandom": "~2.4.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@tensorflow/tfjs-layers": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-3.2.0.tgz",
|
||||
"integrity": "sha512-TgTpH6RI+NmL4s8pQ76wkq15p79SfSQLOfFL2rGmJgatQRuA/mxLlH5GLir5HwwER3a0Vj8lMbexxCAGTqr2Xg==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-3.3.0.tgz",
|
||||
"integrity": "sha512-qO+TL2I29vWUiuFcQJXNyayWFYagwR+SIfbex8p5jjYaCGHGwE5GQcrH+ngoCgKZxm5tdMvYJsJPnih2M3fYzQ==",
|
||||
"dev": true,
|
||||
"peerDependencies": {
|
||||
"@tensorflow/tfjs-core": "3.2.0"
|
||||
"@tensorflow/tfjs-core": "3.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@tensorflow/tfjs-node": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node/-/tfjs-node-3.2.0.tgz",
|
||||
"integrity": "sha512-4k8HvT+lFauy30EMoKhLvXykQ4xKfi5yTs0EdWue80z9XNNDIMG3932owBpWMeaRb5P0ONUuv9MSu+pi17rNnA==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node/-/tfjs-node-3.3.0.tgz",
|
||||
"integrity": "sha512-grRgaXereQt5mQnu31gHCPkzA6SGReXW94b5FEMk1Psenmb0APnT7MGgZbujiMruQ81vG0/8gYA28uyZeZKcJw==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@tensorflow/tfjs": "3.2.0",
|
||||
"@tensorflow/tfjs": "3.3.0",
|
||||
"adm-zip": "^0.4.11",
|
||||
"google-protobuf": "^3.9.2",
|
||||
"https-proxy-agent": "^2.2.1",
|
||||
|
@ -358,13 +357,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@tensorflow/tfjs-node-gpu": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node-gpu/-/tfjs-node-gpu-3.2.0.tgz",
|
||||
"integrity": "sha512-zAQPT9RwA5KOFFtkRzUGXE+9loJeJWbxkw2OnIPdB8+18c8s6/ICsHpN9nYLhelR+9wl877aaN4wQVR5T7iQDw==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node-gpu/-/tfjs-node-gpu-3.3.0.tgz",
|
||||
"integrity": "sha512-a641ugrLvVjz2p0eGD0V+jyh9mtxrUSxVvX+aH2aQvOnz4BTFv/zOlPPCI/7D8zIiLBzSJCXMB5DdI3qg92n8Q==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@tensorflow/tfjs": "3.2.0",
|
||||
"@tensorflow/tfjs": "3.3.0",
|
||||
"adm-zip": "^0.4.11",
|
||||
"google-protobuf": "^3.9.2",
|
||||
"https-proxy-agent": "^2.2.1",
|
||||
|
@ -420,9 +419,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "14.14.32",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.32.tgz",
|
||||
"integrity": "sha512-/Ctrftx/zp4m8JOujM5ZhwzlWLx22nbQJiVqz8/zE15gOeEW+uly3FSX4fGFpcfEvFzXcMCJwq9lGVWgyARXhg==",
|
||||
"version": "14.14.33",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.33.tgz",
|
||||
"integrity": "sha512-oJqcTrgPUF29oUP8AsUqbXGJNuPutsetaa9kTQAQce5Lx5dTYWV02ScBiT/k1BX/Z7pKeqedmvp39Wu4zR7N7g==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/node-fetch": {
|
||||
|
@ -460,13 +459,13 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||
"version": "4.16.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.16.1.tgz",
|
||||
"integrity": "sha512-SK777klBdlkUZpZLC1mPvyOWk9yAFCWmug13eAjVQ4/Q1LATE/NbcQL1xDHkptQkZOLnPmLUA1Y54m8dqYwnoQ==",
|
||||
"version": "4.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.17.0.tgz",
|
||||
"integrity": "sha512-/fKFDcoHg8oNan39IKFOb5WmV7oWhQe1K6CDaAVfJaNWEhmfqlA24g+u1lqU5bMH7zuNasfMId4LaYWC5ijRLw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/experimental-utils": "4.16.1",
|
||||
"@typescript-eslint/scope-manager": "4.16.1",
|
||||
"@typescript-eslint/experimental-utils": "4.17.0",
|
||||
"@typescript-eslint/scope-manager": "4.17.0",
|
||||
"debug": "^4.1.1",
|
||||
"functional-red-black-tree": "^1.0.1",
|
||||
"lodash": "^4.17.15",
|
||||
|
@ -492,15 +491,15 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/experimental-utils": {
|
||||
"version": "4.16.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.16.1.tgz",
|
||||
"integrity": "sha512-0Hm3LSlMYFK17jO4iY3un1Ve9x1zLNn4EM50Lia+0EV99NdbK+cn0er7HC7IvBA23mBg3P+8dUkMXy4leL33UQ==",
|
||||
"version": "4.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.17.0.tgz",
|
||||
"integrity": "sha512-ZR2NIUbnIBj+LGqCFGQ9yk2EBQrpVVFOh9/Kd0Lm6gLpSAcCuLLe5lUCibKGCqyH9HPwYC0GIJce2O1i8VYmWA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/json-schema": "^7.0.3",
|
||||
"@typescript-eslint/scope-manager": "4.16.1",
|
||||
"@typescript-eslint/types": "4.16.1",
|
||||
"@typescript-eslint/typescript-estree": "4.16.1",
|
||||
"@typescript-eslint/scope-manager": "4.17.0",
|
||||
"@typescript-eslint/types": "4.17.0",
|
||||
"@typescript-eslint/typescript-estree": "4.17.0",
|
||||
"eslint-scope": "^5.0.0",
|
||||
"eslint-utils": "^2.0.0"
|
||||
},
|
||||
|
@ -516,14 +515,14 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/parser": {
|
||||
"version": "4.16.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.16.1.tgz",
|
||||
"integrity": "sha512-/c0LEZcDL5y8RyI1zLcmZMvJrsR6SM1uetskFkoh3dvqDKVXPsXI+wFB/CbVw7WkEyyTKobC1mUNp/5y6gRvXg==",
|
||||
"version": "4.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.17.0.tgz",
|
||||
"integrity": "sha512-KYdksiZQ0N1t+6qpnl6JeK9ycCFprS9xBAiIrw4gSphqONt8wydBw4BXJi3C11ywZmyHulvMaLjWsxDjUSDwAw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/scope-manager": "4.16.1",
|
||||
"@typescript-eslint/types": "4.16.1",
|
||||
"@typescript-eslint/typescript-estree": "4.16.1",
|
||||
"@typescript-eslint/scope-manager": "4.17.0",
|
||||
"@typescript-eslint/types": "4.17.0",
|
||||
"@typescript-eslint/typescript-estree": "4.17.0",
|
||||
"debug": "^4.1.1"
|
||||
},
|
||||
"engines": {
|
||||
|
@ -543,13 +542,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/scope-manager": {
|
||||
"version": "4.16.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.16.1.tgz",
|
||||
"integrity": "sha512-6IlZv9JaurqV0jkEg923cV49aAn8V6+1H1DRfhRcvZUrptQ+UtSKHb5kwTayzOYTJJ/RsYZdcvhOEKiBLyc0Cw==",
|
||||
"version": "4.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.17.0.tgz",
|
||||
"integrity": "sha512-OJ+CeTliuW+UZ9qgULrnGpPQ1bhrZNFpfT/Bc0pzNeyZwMik7/ykJ0JHnQ7krHanFN9wcnPK89pwn84cRUmYjw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "4.16.1",
|
||||
"@typescript-eslint/visitor-keys": "4.16.1"
|
||||
"@typescript-eslint/types": "4.17.0",
|
||||
"@typescript-eslint/visitor-keys": "4.17.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^8.10.0 || ^10.13.0 || >=11.10.1"
|
||||
|
@ -560,9 +559,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/types": {
|
||||
"version": "4.16.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz",
|
||||
"integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==",
|
||||
"version": "4.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.17.0.tgz",
|
||||
"integrity": "sha512-RN5z8qYpJ+kXwnLlyzZkiJwfW2AY458Bf8WqllkondQIcN2ZxQowAToGSd9BlAUZDB5Ea8I6mqL2quGYCLT+2g==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "^8.10.0 || ^10.13.0 || >=11.10.1"
|
||||
|
@ -573,13 +572,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/typescript-estree": {
|
||||
"version": "4.16.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.16.1.tgz",
|
||||
"integrity": "sha512-m8I/DKHa8YbeHt31T+UGd/l8Kwr0XCTCZL3H4HMvvLCT7HU9V7yYdinTOv1gf/zfqNeDcCgaFH2BMsS8x6NvJg==",
|
||||
"version": "4.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.17.0.tgz",
|
||||
"integrity": "sha512-lRhSFIZKUEPPWpWfwuZBH9trYIEJSI0vYsrxbvVvNyIUDoKWaklOAelsSkeh3E2VBSZiNe9BZ4E5tYBZbUczVQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "4.16.1",
|
||||
"@typescript-eslint/visitor-keys": "4.16.1",
|
||||
"@typescript-eslint/types": "4.17.0",
|
||||
"@typescript-eslint/visitor-keys": "4.17.0",
|
||||
"debug": "^4.1.1",
|
||||
"globby": "^11.0.1",
|
||||
"is-glob": "^4.0.1",
|
||||
|
@ -600,12 +599,12 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/visitor-keys": {
|
||||
"version": "4.16.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.16.1.tgz",
|
||||
"integrity": "sha512-s/aIP1XcMkEqCNcPQtl60ogUYjSM8FU2mq1O7y5cFf3Xcob1z1iXWNB6cC43Op+NGRTFgGolri6s8z/efA9i1w==",
|
||||
"version": "4.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.17.0.tgz",
|
||||
"integrity": "sha512-WfuMN8mm5SSqXuAr9NM+fItJ0SVVphobWYkWOwQ1odsfC014Vdxk/92t4JwS1Q6fCA/ABfCKpa3AVtpUKTNKGQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "4.16.1",
|
||||
"@typescript-eslint/types": "4.17.0",
|
||||
"eslint-visitor-keys": "^2.0.0"
|
||||
},
|
||||
"engines": {
|
||||
|
@ -1244,9 +1243,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild": {
|
||||
"version": "0.8.57",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.57.tgz",
|
||||
"integrity": "sha512-j02SFrUwFTRUqiY0Kjplwjm1psuzO1d6AjaXKuOR9hrY0HuPsT6sV42B6myW34h1q4CRy+Y3g4RU/cGJeI/nNA==",
|
||||
"version": "0.9.0",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.9.0.tgz",
|
||||
"integrity": "sha512-IqYFO7ZKHf0y4uJpJfGqInmSRn8jMPMbyI1W0Y2PSjSjJcVP538tC8TleJAS4Y8QeqwajqBTwFKayWVzYlMIgg==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"bin": {
|
||||
|
@ -3244,10 +3243,11 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/seedrandom": {
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz",
|
||||
"integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==",
|
||||
"dev": true
|
||||
"version": "2.4.4",
|
||||
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-2.4.4.tgz",
|
||||
"integrity": "sha512-9A+PDmgm+2du77B5i0Ip2cxOqqHjgNxnBgglxLcX78A2D6c2rTo61z4jnVABpF4cKeDMDG+cmXXvdnqse2VqMA==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/semver": {
|
||||
"version": "7.3.4",
|
||||
|
@ -3929,9 +3929,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"@babel/highlight": {
|
||||
"version": "7.13.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.8.tgz",
|
||||
"integrity": "sha512-4vrIhfJyfNf+lCtXC2ck1rKSzDwciqF7IWFhXXrSOUC2O5DrVp+w4c6ed4AllTxhTkUP5x2tYj41VaxdVMMRDw==",
|
||||
"version": "7.13.10",
|
||||
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz",
|
||||
"integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-validator-identifier": "^7.12.11",
|
||||
|
@ -4050,17 +4050,17 @@
|
|||
}
|
||||
},
|
||||
"@tensorflow/tfjs": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-3.2.0.tgz",
|
||||
"integrity": "sha512-rgcHHhzI+JVl206eMbYO8WzBW3DO9pinEbgtUWdxjfk+a4ojlqvJ34RPEISMSQZRR5KRCA7E/dHFv9+EULfqmw==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-3.3.0.tgz",
|
||||
"integrity": "sha512-xo22GCUCGcPtNGIdDpLPrp9ms3atXmzX8AF4y3aIBEwK5KlvGe+ZhcoQ2xEOCPQGBr7NB7AO6rwT8gRoziAHVg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@tensorflow/tfjs-backend-cpu": "3.2.0",
|
||||
"@tensorflow/tfjs-backend-webgl": "3.2.0",
|
||||
"@tensorflow/tfjs-converter": "3.2.0",
|
||||
"@tensorflow/tfjs-core": "3.2.0",
|
||||
"@tensorflow/tfjs-data": "3.2.0",
|
||||
"@tensorflow/tfjs-layers": "3.2.0",
|
||||
"@tensorflow/tfjs-backend-cpu": "3.3.0",
|
||||
"@tensorflow/tfjs-backend-webgl": "3.3.0",
|
||||
"@tensorflow/tfjs-converter": "3.3.0",
|
||||
"@tensorflow/tfjs-core": "3.3.0",
|
||||
"@tensorflow/tfjs-data": "3.3.0",
|
||||
"@tensorflow/tfjs-layers": "3.3.0",
|
||||
"argparse": "^1.0.10",
|
||||
"chalk": "^4.1.0",
|
||||
"core-js": "3",
|
||||
|
@ -4069,9 +4069,9 @@
|
|||
}
|
||||
},
|
||||
"@tensorflow/tfjs-backend-cpu": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-3.2.0.tgz",
|
||||
"integrity": "sha512-L3Pp7FHO92BaeG8Uuc/RJMJ/e61UrIbKgFHS3MKr0zcbmEsqGfos6/5yR1EHj7SoYG2nPlC5+6HxbYy0zp22IA==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-3.3.0.tgz",
|
||||
"integrity": "sha512-DLctv+PUZni26kQW1hq8jwQQ8u+GGc/p764WQIC4/IDagGtfGAUW1mHzWcTxtni2l4re1VrwE41ogWLhv4sGHg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/seedrandom": "2.4.27",
|
||||
|
@ -4087,22 +4087,22 @@
|
|||
}
|
||||
},
|
||||
"@tensorflow/tfjs-backend-wasm": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-wasm/-/tfjs-backend-wasm-3.2.0.tgz",
|
||||
"integrity": "sha512-gXxhJWRCmkcwSNatG7eGrmHKmjJC/AxvQdToHymkp1KtRazrsMWFrROoj1HuHwK1hCZyGa90ldmXlY9QdzFkuQ==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-wasm/-/tfjs-backend-wasm-3.3.0.tgz",
|
||||
"integrity": "sha512-1mU3+GuCc0tPzG65qIVwlJoIOyOOvVVkNl1NsId7PTt/PwE/QwiofsCmfPDqH47rTMxBzhvnHZTi+Nj9VBaz1g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@tensorflow/tfjs-backend-cpu": "3.2.0",
|
||||
"@tensorflow/tfjs-backend-cpu": "3.3.0",
|
||||
"@types/emscripten": "~0.0.34"
|
||||
}
|
||||
},
|
||||
"@tensorflow/tfjs-backend-webgl": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-3.2.0.tgz",
|
||||
"integrity": "sha512-WORXpDt5Ey5/+a4NioyrJkfbJUlleaSELpHnxeDsGt6BpRC2P/1pVJS1IjnBD/f4QlOm3mhouN2Oq28dRhRvqA==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-3.3.0.tgz",
|
||||
"integrity": "sha512-GWCtXbrjPTyye3ooId9GlcNDwnIMskZarUpNIQ5g/zeISLfwEQoutA/UqJF+HzuEHgGMsWFkmaO3xKVT7UMpdg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@tensorflow/tfjs-backend-cpu": "3.2.0",
|
||||
"@tensorflow/tfjs-backend-cpu": "3.3.0",
|
||||
"@types/offscreencanvas": "~2019.3.0",
|
||||
"@types/seedrandom": "2.4.27",
|
||||
"@types/webgl-ext": "0.0.30",
|
||||
|
@ -4119,16 +4119,16 @@
|
|||
}
|
||||
},
|
||||
"@tensorflow/tfjs-converter": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-3.2.0.tgz",
|
||||
"integrity": "sha512-iE2Q0naHR8OVcMc9RluebMObsPysru7X1y+mWtkPNnYlNUJORxfkEitrMbVDAKw6lsivIfo4Ar5UcstiG8/ckQ==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-3.3.0.tgz",
|
||||
"integrity": "sha512-k57wN4yelePhmO9orcT/wzGMIuyedrMpVtg0FhxpV6BQu0+TZ/ti3W4Kb97GWJsoHKXMoing9SnioKfVnBW6hw==",
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"@tensorflow/tfjs-core": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-3.2.0.tgz",
|
||||
"integrity": "sha512-MZnTk9wcJai5lTfkC8T1rr6/M9C4eO0DfojZghopZXDflCTndLPIKcudx6E8qfrmZOkRSqMIwB7A8UFs7f+3Kg==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-3.3.0.tgz",
|
||||
"integrity": "sha512-6G+LcCiQBl4Kza5mDbWbf8QSWBTW3l7SDjGhQzMO1ITtQatHzxkuHGHcJ4CTUJvNA0JmKf4QJWOvlFqEmxwyLQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/offscreencanvas": "~2019.3.0",
|
||||
|
@ -4147,9 +4147,9 @@
|
|||
}
|
||||
},
|
||||
"@tensorflow/tfjs-data": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-3.2.0.tgz",
|
||||
"integrity": "sha512-fG4rYJlxh/B9fzgc+/qdj5gPI485RsDUM99mErxovlh3UMIdRgMeHHdFse44VlyAShEAgsOehuWovhY5520kEw==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-3.3.0.tgz",
|
||||
"integrity": "sha512-0x28tRe6RJu5GmYq3IYN2GNnOgXU0nY+o6zZrlijkK+W3vjSTJlZzaBSifoeD6J8gzVpjs8W8qd/JKHQ1MQp8w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/node-fetch": "^2.1.2",
|
||||
|
@ -4157,19 +4157,19 @@
|
|||
}
|
||||
},
|
||||
"@tensorflow/tfjs-layers": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-3.2.0.tgz",
|
||||
"integrity": "sha512-TgTpH6RI+NmL4s8pQ76wkq15p79SfSQLOfFL2rGmJgatQRuA/mxLlH5GLir5HwwER3a0Vj8lMbexxCAGTqr2Xg==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-3.3.0.tgz",
|
||||
"integrity": "sha512-qO+TL2I29vWUiuFcQJXNyayWFYagwR+SIfbex8p5jjYaCGHGwE5GQcrH+ngoCgKZxm5tdMvYJsJPnih2M3fYzQ==",
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"@tensorflow/tfjs-node": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node/-/tfjs-node-3.2.0.tgz",
|
||||
"integrity": "sha512-4k8HvT+lFauy30EMoKhLvXykQ4xKfi5yTs0EdWue80z9XNNDIMG3932owBpWMeaRb5P0ONUuv9MSu+pi17rNnA==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node/-/tfjs-node-3.3.0.tgz",
|
||||
"integrity": "sha512-grRgaXereQt5mQnu31gHCPkzA6SGReXW94b5FEMk1Psenmb0APnT7MGgZbujiMruQ81vG0/8gYA28uyZeZKcJw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@tensorflow/tfjs": "3.2.0",
|
||||
"@tensorflow/tfjs": "3.3.0",
|
||||
"adm-zip": "^0.4.11",
|
||||
"google-protobuf": "^3.9.2",
|
||||
"https-proxy-agent": "^2.2.1",
|
||||
|
@ -4191,12 +4191,12 @@
|
|||
}
|
||||
},
|
||||
"@tensorflow/tfjs-node-gpu": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node-gpu/-/tfjs-node-gpu-3.2.0.tgz",
|
||||
"integrity": "sha512-zAQPT9RwA5KOFFtkRzUGXE+9loJeJWbxkw2OnIPdB8+18c8s6/ICsHpN9nYLhelR+9wl877aaN4wQVR5T7iQDw==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node-gpu/-/tfjs-node-gpu-3.3.0.tgz",
|
||||
"integrity": "sha512-a641ugrLvVjz2p0eGD0V+jyh9mtxrUSxVvX+aH2aQvOnz4BTFv/zOlPPCI/7D8zIiLBzSJCXMB5DdI3qg92n8Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@tensorflow/tfjs": "3.2.0",
|
||||
"@tensorflow/tfjs": "3.3.0",
|
||||
"adm-zip": "^0.4.11",
|
||||
"google-protobuf": "^3.9.2",
|
||||
"https-proxy-agent": "^2.2.1",
|
||||
|
@ -4236,9 +4236,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "14.14.32",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.32.tgz",
|
||||
"integrity": "sha512-/Ctrftx/zp4m8JOujM5ZhwzlWLx22nbQJiVqz8/zE15gOeEW+uly3FSX4fGFpcfEvFzXcMCJwq9lGVWgyARXhg==",
|
||||
"version": "14.14.33",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.33.tgz",
|
||||
"integrity": "sha512-oJqcTrgPUF29oUP8AsUqbXGJNuPutsetaa9kTQAQce5Lx5dTYWV02ScBiT/k1BX/Z7pKeqedmvp39Wu4zR7N7g==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/node-fetch": {
|
||||
|
@ -4276,13 +4276,13 @@
|
|||
"dev": true
|
||||
},
|
||||
"@typescript-eslint/eslint-plugin": {
|
||||
"version": "4.16.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.16.1.tgz",
|
||||
"integrity": "sha512-SK777klBdlkUZpZLC1mPvyOWk9yAFCWmug13eAjVQ4/Q1LATE/NbcQL1xDHkptQkZOLnPmLUA1Y54m8dqYwnoQ==",
|
||||
"version": "4.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.17.0.tgz",
|
||||
"integrity": "sha512-/fKFDcoHg8oNan39IKFOb5WmV7oWhQe1K6CDaAVfJaNWEhmfqlA24g+u1lqU5bMH7zuNasfMId4LaYWC5ijRLw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@typescript-eslint/experimental-utils": "4.16.1",
|
||||
"@typescript-eslint/scope-manager": "4.16.1",
|
||||
"@typescript-eslint/experimental-utils": "4.17.0",
|
||||
"@typescript-eslint/scope-manager": "4.17.0",
|
||||
"debug": "^4.1.1",
|
||||
"functional-red-black-tree": "^1.0.1",
|
||||
"lodash": "^4.17.15",
|
||||
|
@ -4292,55 +4292,55 @@
|
|||
}
|
||||
},
|
||||
"@typescript-eslint/experimental-utils": {
|
||||
"version": "4.16.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.16.1.tgz",
|
||||
"integrity": "sha512-0Hm3LSlMYFK17jO4iY3un1Ve9x1zLNn4EM50Lia+0EV99NdbK+cn0er7HC7IvBA23mBg3P+8dUkMXy4leL33UQ==",
|
||||
"version": "4.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.17.0.tgz",
|
||||
"integrity": "sha512-ZR2NIUbnIBj+LGqCFGQ9yk2EBQrpVVFOh9/Kd0Lm6gLpSAcCuLLe5lUCibKGCqyH9HPwYC0GIJce2O1i8VYmWA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/json-schema": "^7.0.3",
|
||||
"@typescript-eslint/scope-manager": "4.16.1",
|
||||
"@typescript-eslint/types": "4.16.1",
|
||||
"@typescript-eslint/typescript-estree": "4.16.1",
|
||||
"@typescript-eslint/scope-manager": "4.17.0",
|
||||
"@typescript-eslint/types": "4.17.0",
|
||||
"@typescript-eslint/typescript-estree": "4.17.0",
|
||||
"eslint-scope": "^5.0.0",
|
||||
"eslint-utils": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"@typescript-eslint/parser": {
|
||||
"version": "4.16.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.16.1.tgz",
|
||||
"integrity": "sha512-/c0LEZcDL5y8RyI1zLcmZMvJrsR6SM1uetskFkoh3dvqDKVXPsXI+wFB/CbVw7WkEyyTKobC1mUNp/5y6gRvXg==",
|
||||
"version": "4.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.17.0.tgz",
|
||||
"integrity": "sha512-KYdksiZQ0N1t+6qpnl6JeK9ycCFprS9xBAiIrw4gSphqONt8wydBw4BXJi3C11ywZmyHulvMaLjWsxDjUSDwAw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@typescript-eslint/scope-manager": "4.16.1",
|
||||
"@typescript-eslint/types": "4.16.1",
|
||||
"@typescript-eslint/typescript-estree": "4.16.1",
|
||||
"@typescript-eslint/scope-manager": "4.17.0",
|
||||
"@typescript-eslint/types": "4.17.0",
|
||||
"@typescript-eslint/typescript-estree": "4.17.0",
|
||||
"debug": "^4.1.1"
|
||||
}
|
||||
},
|
||||
"@typescript-eslint/scope-manager": {
|
||||
"version": "4.16.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.16.1.tgz",
|
||||
"integrity": "sha512-6IlZv9JaurqV0jkEg923cV49aAn8V6+1H1DRfhRcvZUrptQ+UtSKHb5kwTayzOYTJJ/RsYZdcvhOEKiBLyc0Cw==",
|
||||
"version": "4.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.17.0.tgz",
|
||||
"integrity": "sha512-OJ+CeTliuW+UZ9qgULrnGpPQ1bhrZNFpfT/Bc0pzNeyZwMik7/ykJ0JHnQ7krHanFN9wcnPK89pwn84cRUmYjw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@typescript-eslint/types": "4.16.1",
|
||||
"@typescript-eslint/visitor-keys": "4.16.1"
|
||||
"@typescript-eslint/types": "4.17.0",
|
||||
"@typescript-eslint/visitor-keys": "4.17.0"
|
||||
}
|
||||
},
|
||||
"@typescript-eslint/types": {
|
||||
"version": "4.16.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz",
|
||||
"integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==",
|
||||
"version": "4.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.17.0.tgz",
|
||||
"integrity": "sha512-RN5z8qYpJ+kXwnLlyzZkiJwfW2AY458Bf8WqllkondQIcN2ZxQowAToGSd9BlAUZDB5Ea8I6mqL2quGYCLT+2g==",
|
||||
"dev": true
|
||||
},
|
||||
"@typescript-eslint/typescript-estree": {
|
||||
"version": "4.16.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.16.1.tgz",
|
||||
"integrity": "sha512-m8I/DKHa8YbeHt31T+UGd/l8Kwr0XCTCZL3H4HMvvLCT7HU9V7yYdinTOv1gf/zfqNeDcCgaFH2BMsS8x6NvJg==",
|
||||
"version": "4.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.17.0.tgz",
|
||||
"integrity": "sha512-lRhSFIZKUEPPWpWfwuZBH9trYIEJSI0vYsrxbvVvNyIUDoKWaklOAelsSkeh3E2VBSZiNe9BZ4E5tYBZbUczVQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@typescript-eslint/types": "4.16.1",
|
||||
"@typescript-eslint/visitor-keys": "4.16.1",
|
||||
"@typescript-eslint/types": "4.17.0",
|
||||
"@typescript-eslint/visitor-keys": "4.17.0",
|
||||
"debug": "^4.1.1",
|
||||
"globby": "^11.0.1",
|
||||
"is-glob": "^4.0.1",
|
||||
|
@ -4349,12 +4349,12 @@
|
|||
}
|
||||
},
|
||||
"@typescript-eslint/visitor-keys": {
|
||||
"version": "4.16.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.16.1.tgz",
|
||||
"integrity": "sha512-s/aIP1XcMkEqCNcPQtl60ogUYjSM8FU2mq1O7y5cFf3Xcob1z1iXWNB6cC43Op+NGRTFgGolri6s8z/efA9i1w==",
|
||||
"version": "4.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.17.0.tgz",
|
||||
"integrity": "sha512-WfuMN8mm5SSqXuAr9NM+fItJ0SVVphobWYkWOwQ1odsfC014Vdxk/92t4JwS1Q6fCA/ABfCKpa3AVtpUKTNKGQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@typescript-eslint/types": "4.16.1",
|
||||
"@typescript-eslint/types": "4.17.0",
|
||||
"eslint-visitor-keys": "^2.0.0"
|
||||
}
|
||||
},
|
||||
|
@ -4841,9 +4841,9 @@
|
|||
}
|
||||
},
|
||||
"esbuild": {
|
||||
"version": "0.8.57",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.57.tgz",
|
||||
"integrity": "sha512-j02SFrUwFTRUqiY0Kjplwjm1psuzO1d6AjaXKuOR9hrY0HuPsT6sV42B6myW34h1q4CRy+Y3g4RU/cGJeI/nNA==",
|
||||
"version": "0.9.0",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.9.0.tgz",
|
||||
"integrity": "sha512-IqYFO7ZKHf0y4uJpJfGqInmSRn8jMPMbyI1W0Y2PSjSjJcVP538tC8TleJAS4Y8QeqwajqBTwFKayWVzYlMIgg==",
|
||||
"dev": true
|
||||
},
|
||||
"escalade": {
|
||||
|
@ -6379,10 +6379,11 @@
|
|||
"dev": true
|
||||
},
|
||||
"seedrandom": {
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz",
|
||||
"integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==",
|
||||
"dev": true
|
||||
"version": "2.4.4",
|
||||
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-2.4.4.tgz",
|
||||
"integrity": "sha512-9A+PDmgm+2du77B5i0Ip2cxOqqHjgNxnBgglxLcX78A2D6c2rTo61z4jnVABpF4cKeDMDG+cmXXvdnqse2VqMA==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"semver": {
|
||||
"version": "7.3.4",
|
||||
|
|
30
package.json
30
package.json
|
@ -43,25 +43,24 @@
|
|||
"blazeface",
|
||||
"blazepose"
|
||||
],
|
||||
"peerDependencies": {},
|
||||
"devDependencies": {
|
||||
"@tensorflow/tfjs": "^3.2.0",
|
||||
"@tensorflow/tfjs-backend-cpu": "^3.2.0",
|
||||
"@tensorflow/tfjs-backend-wasm": "^3.2.0",
|
||||
"@tensorflow/tfjs-backend-webgl": "^3.2.0",
|
||||
"@tensorflow/tfjs-converter": "^3.2.0",
|
||||
"@tensorflow/tfjs-core": "^3.2.0",
|
||||
"@tensorflow/tfjs-data": "^3.2.0",
|
||||
"@tensorflow/tfjs-layers": "^3.2.0",
|
||||
"@tensorflow/tfjs-node": "^3.2.0",
|
||||
"@tensorflow/tfjs-node-gpu": "^3.2.0",
|
||||
"@types/node": "^14.14.32",
|
||||
"@typescript-eslint/eslint-plugin": "^4.16.1",
|
||||
"@typescript-eslint/parser": "^4.16.1",
|
||||
"@tensorflow/tfjs": "^3.3.0",
|
||||
"@tensorflow/tfjs-backend-cpu": "^3.3.0",
|
||||
"@tensorflow/tfjs-backend-wasm": "^3.3.0",
|
||||
"@tensorflow/tfjs-backend-webgl": "^3.3.0",
|
||||
"@tensorflow/tfjs-converter": "^3.3.0",
|
||||
"@tensorflow/tfjs-core": "^3.3.0",
|
||||
"@tensorflow/tfjs-data": "^3.3.0",
|
||||
"@tensorflow/tfjs-layers": "^3.3.0",
|
||||
"@tensorflow/tfjs-node": "^3.3.0",
|
||||
"@tensorflow/tfjs-node-gpu": "^3.3.0",
|
||||
"@types/node": "^14.14.33",
|
||||
"@typescript-eslint/eslint-plugin": "^4.17.0",
|
||||
"@typescript-eslint/parser": "^4.17.0",
|
||||
"@vladmandic/pilogger": "^0.2.14",
|
||||
"chokidar": "^3.5.1",
|
||||
"dayjs": "^1.10.4",
|
||||
"esbuild": "^0.8.57",
|
||||
"esbuild": "^0.9.0",
|
||||
"eslint": "^7.21.0",
|
||||
"eslint-config-airbnb-base": "^14.2.1",
|
||||
"eslint-plugin-import": "^2.22.1",
|
||||
|
@ -69,7 +68,6 @@
|
|||
"eslint-plugin-node": "^11.1.0",
|
||||
"eslint-plugin-promise": "^4.3.1",
|
||||
"rimraf": "^3.0.2",
|
||||
"seedrandom": "^3.0.5",
|
||||
"simple-git": "^2.36.1",
|
||||
"tslib": "^2.1.0",
|
||||
"typescript": "^4.2.3"
|
||||
|
|
|
@ -1,20 +1,18 @@
|
|||
#!/usr/bin/env -S node --trace-warnings
|
||||
|
||||
const fs = require('fs');
|
||||
const log = require('@vladmandic/pilogger');
|
||||
const esbuild = require('esbuild');
|
||||
const ts = require('typescript');
|
||||
|
||||
// keeps esbuild service instance cached
|
||||
let es;
|
||||
let busy = false;
|
||||
const banner = `
|
||||
const banner = { js: `
|
||||
/*
|
||||
Human library
|
||||
homepage: <https://github.com/vladmandic/human>
|
||||
author: <https://github.com/vladmandic>'
|
||||
*/
|
||||
`;
|
||||
` };
|
||||
|
||||
// tsc configuration for building types only
|
||||
const tsconfig = {
|
||||
|
@ -46,6 +44,7 @@ const config = {
|
|||
tsconfig: 'server/tfjs-tsconfig.json',
|
||||
bundle: true,
|
||||
logLevel: 'error',
|
||||
metafile: true,
|
||||
},
|
||||
debug: {
|
||||
minifyWhitespace: false,
|
||||
|
@ -68,7 +67,6 @@ const targets = {
|
|||
tfjs: {
|
||||
platform: 'node',
|
||||
format: 'cjs',
|
||||
metafile: 'dist/tfjs.esm.json',
|
||||
entryPoints: ['src/tfjs/tf-node.ts'],
|
||||
outfile: 'dist/tfjs.esm.js',
|
||||
external: ['@tensorflow'],
|
||||
|
@ -76,7 +74,6 @@ const targets = {
|
|||
node: {
|
||||
platform: 'node',
|
||||
format: 'cjs',
|
||||
metafile: 'dist/human.node.json',
|
||||
entryPoints: ['src/human.ts'],
|
||||
outfile: 'dist/human.node.js',
|
||||
external: ['@tensorflow'],
|
||||
|
@ -86,7 +83,6 @@ const targets = {
|
|||
tfjs: {
|
||||
platform: 'node',
|
||||
format: 'cjs',
|
||||
metafile: 'dist/tfjs.esm.json',
|
||||
entryPoints: ['src/tfjs/tf-node-gpu.ts'],
|
||||
outfile: 'dist/tfjs.esm.js',
|
||||
external: ['@tensorflow'],
|
||||
|
@ -94,7 +90,6 @@ const targets = {
|
|||
node: {
|
||||
platform: 'node',
|
||||
format: 'cjs',
|
||||
metafile: 'dist/human.node.json',
|
||||
entryPoints: ['src/human.ts'],
|
||||
outfile: 'dist/human.node-gpu.js',
|
||||
external: ['@tensorflow'],
|
||||
|
@ -105,7 +100,6 @@ const targets = {
|
|||
tfjs: {
|
||||
platform: 'browser',
|
||||
format: 'esm',
|
||||
metafile: 'dist/tfjs.esm.json',
|
||||
entryPoints: ['src/tfjs/tf-browser.ts'],
|
||||
outfile: 'dist/tfjs.esm.js',
|
||||
external: ['fs', 'buffer', 'util', 'os', '@tensorflow'],
|
||||
|
@ -113,7 +107,6 @@ const targets = {
|
|||
esm: {
|
||||
platform: 'browser',
|
||||
format: 'esm',
|
||||
metafile: 'dist/human.esm.json',
|
||||
entryPoints: ['src/human.ts'],
|
||||
outfile: 'dist/human.esm-nobundle.js',
|
||||
external: ['fs', 'buffer', 'util', 'os', '@tensorflow'],
|
||||
|
@ -123,7 +116,6 @@ const targets = {
|
|||
tfjs: {
|
||||
platform: 'browser',
|
||||
format: 'esm',
|
||||
metafile: 'dist/tfjs.esm.json',
|
||||
entryPoints: ['src/tfjs/tf-browser.ts'],
|
||||
outfile: 'dist/tfjs.esm.js',
|
||||
external: ['fs', 'buffer', 'util', 'os'],
|
||||
|
@ -132,15 +124,13 @@ const targets = {
|
|||
platform: 'browser',
|
||||
format: 'iife',
|
||||
globalName: 'Human',
|
||||
metafile: 'dist/human.iife.json',
|
||||
entryPoints: ['src/human.ts'],
|
||||
outfile: 'dist/human.ts',
|
||||
outfile: 'dist/human.js',
|
||||
external: ['fs', 'buffer', 'util', 'os'],
|
||||
},
|
||||
esm: {
|
||||
platform: 'browser',
|
||||
format: 'esm',
|
||||
metafile: 'dist/human.esm.json',
|
||||
entryPoints: ['src/human.ts'],
|
||||
outfile: 'dist/human.esm.js',
|
||||
external: ['fs', 'buffer', 'util', 'os'],
|
||||
|
@ -148,7 +138,6 @@ const targets = {
|
|||
demo: {
|
||||
platform: 'browser',
|
||||
format: 'esm',
|
||||
metafile: 'dist/demo-browser-index.json',
|
||||
entryPoints: ['demo/browser.js'],
|
||||
outfile: 'dist/demo-browser-index.js',
|
||||
external: ['fs', 'buffer', 'util', 'os'],
|
||||
|
@ -156,13 +145,10 @@ const targets = {
|
|||
},
|
||||
};
|
||||
|
||||
async function getStats(metafile) {
|
||||
async function getStats(json) {
|
||||
const stats = {};
|
||||
if (!fs.existsSync(metafile)) return stats;
|
||||
const data = fs.readFileSync(metafile);
|
||||
const json = JSON.parse(data.toString());
|
||||
if (json && json.inputs && json.outputs) {
|
||||
for (const [key, val] of Object.entries(json.inputs)) {
|
||||
if (json && json.metafile?.inputs && json.metafile?.outputs) {
|
||||
for (const [key, val] of Object.entries(json.metafile.inputs)) {
|
||||
if (key.startsWith('node_modules')) {
|
||||
stats.modules = (stats.modules || 0) + 1;
|
||||
stats.moduleBytes = (stats.moduleBytes || 0) + val.bytes;
|
||||
|
@ -172,7 +158,7 @@ async function getStats(metafile) {
|
|||
}
|
||||
}
|
||||
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')) {
|
||||
files.push(key);
|
||||
stats.outputBytes = (stats.outputBytes || 0) + val.bytes;
|
||||
|
@ -214,7 +200,6 @@ async function build(f, msg, dev = false) {
|
|||
}
|
||||
busy = true;
|
||||
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
|
||||
try {
|
||||
// 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)) {
|
||||
// if triggered from watch mode, rebuild only browser bundle
|
||||
// if ((require.main !== module) && (targetGroupName !== 'browserBundle')) continue;
|
||||
if (dev) await es.build({ ...config.common, ...config.debug, ...targetOptions });
|
||||
else await es.build({ ...config.common, ...config.production, ...targetOptions });
|
||||
const stats = await getStats(targetOptions.metafile);
|
||||
const meta = dev
|
||||
// @ts-ignore
|
||||
? 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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -97,8 +97,8 @@ export class Pipeline {
|
|||
box.startPoint[0] / this.meshWidth, box.endPoint[1] / this.meshHeight,
|
||||
box.endPoint[0] / this.meshWidth,
|
||||
]], [0], [this.irisSize, this.irisSize]);
|
||||
if (flip) {
|
||||
crop = tf.image.flipLeftRight(crop);
|
||||
if (flip && tf.ENV.flags.IS_BROWSER) {
|
||||
crop = tf.image.flipLeftRight(crop); // flipLeftRight is not defined for tfjs-node
|
||||
}
|
||||
return { box, boxSize, crop };
|
||||
}
|
||||
|
@ -185,12 +185,12 @@ export class Pipeline {
|
|||
let face;
|
||||
let angle = 0;
|
||||
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;
|
||||
angle = util.computeRotation(box.landmarks[indexOfMouth], box.landmarks[indexOfForehead]);
|
||||
const faceCenter = bounding.getBoxCenter({ startPoint: box.startPoint, endPoint: box.endPoint });
|
||||
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);
|
||||
face = bounding.cutBoxFromImageAndResize({ startPoint: box.startPoint, endPoint: box.endPoint }, rotatedImage, [this.meshHeight, this.meshWidth]).div(255);
|
||||
} 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 backend from './tfjs/backend';
|
||||
import * as facemesh from './blazeface/facemesh';
|
||||
import * as faceboxes from './faceboxes/faceboxes';
|
||||
import * as age from './age/age';
|
||||
import * as gender from './gender/gender';
|
||||
import * as emotion from './emotion/emotion';
|
||||
|
@ -154,7 +153,6 @@ class Human {
|
|||
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) {
|
||||
[
|
||||
this.models.face,
|
||||
|
@ -166,7 +164,7 @@ class Human {
|
|||
this.models.posenet,
|
||||
this.models.blazepose,
|
||||
] = 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.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),
|
||||
|
@ -176,7 +174,7 @@ class Human {
|
|||
this.models.posenet || (this.config.body.enabled && this.config.body.modelType.startsWith('blazepose') ? blazepose.load(this.config) : null),
|
||||
]);
|
||||
} 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.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);
|
||||
|
|
|
@ -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