pull/50/head
Vladimir Mandic 2020-12-17 21:09:25 -05:00
parent 09478a5b9c
commit a19b0e9482
16 changed files with 83 additions and 101 deletions

View File

@ -26,7 +26,7 @@ const ui = {
busy: false, busy: false,
facing: true, facing: true,
useWorker: false, useWorker: false,
worker: 'demo/worker.js', worker: 'worker.js',
samples: ['../assets/sample6.jpg', '../assets/sample1.jpg', '../assets/sample4.jpg', '../assets/sample5.jpg', '../assets/sample3.jpg', '../assets/sample2.jpg'], samples: ['../assets/sample6.jpg', '../assets/sample1.jpg', '../assets/sample4.jpg', '../assets/sample5.jpg', '../assets/sample3.jpg', '../assets/sample2.jpg'],
compare: '../assets/sample-me.jpg', compare: '../assets/sample-me.jpg',
drawBoxes: true, drawBoxes: true,
@ -252,6 +252,7 @@ function webWorker(input, image, canvas, timestamp) {
// create new webworker and add event handler only once // create new webworker and add event handler only once
log('creating worker thread'); log('creating worker thread');
worker = new Worker(ui.worker, { type: 'module' }); worker = new Worker(ui.worker, { type: 'module' });
console.log('worker', worker);
// after receiving message from webworker, parse&draw results and send new frame for processing // after receiving message from webworker, parse&draw results and send new frame for processing
worker.addEventListener('message', (msg) => { worker.addEventListener('message', (msg) => {
if (msg.data.result.performance && msg.data.result.performance.total) ui.detectFPS.push(1000 / msg.data.result.performance.total); if (msg.data.result.performance && msg.data.result.performance.total) ui.detectFPS.push(1000 / msg.data.result.performance.total);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -17,7 +17,7 @@
"imports": [] "imports": []
}, },
"demo/browser.js": { "demo/browser.js": {
"bytes": 25450, "bytes": 25480,
"imports": [ "imports": [
{ {
"path": "dist/human.esm.js" "path": "dist/human.esm.js"
@ -38,7 +38,7 @@
"dist/demo-browser-index.js.map": { "dist/demo-browser-index.js.map": {
"imports": [], "imports": [],
"inputs": {}, "inputs": {},
"bytes": 2199810 "bytes": 2199861
}, },
"dist/demo-browser-index.js": { "dist/demo-browser-index.js": {
"imports": [], "imports": [],
@ -57,10 +57,10 @@
"bytesInOutput": 7382 "bytesInOutput": 7382
}, },
"demo/browser.js": { "demo/browser.js": {
"bytesInOutput": 19539 "bytesInOutput": 19563
} }
}, },
"bytes": 1886053 "bytes": 1886077
} }
} }
} }

File diff suppressed because one or more lines are too long

2
dist/human.esm.js vendored

File diff suppressed because one or more lines are too long

2
dist/human.esm.json vendored
View File

@ -358,7 +358,7 @@
"imports": [] "imports": []
}, },
"package.json": { "package.json": {
"bytes": 2324, "bytes": 2314,
"imports": [] "imports": []
}, },
"src/human.js": { "src/human.js": {

2
dist/human.js vendored

File diff suppressed because one or more lines are too long

2
dist/human.json vendored
View File

@ -358,7 +358,7 @@
"imports": [] "imports": []
}, },
"package.json": { "package.json": {
"bytes": 2324, "bytes": 2314,
"imports": [] "imports": []
}, },
"src/human.js": { "src/human.js": {

File diff suppressed because one or more lines are too long

2
dist/human.node.js vendored

File diff suppressed because one or more lines are too long

View File

@ -358,7 +358,7 @@
"imports": [] "imports": []
}, },
"package.json": { "package.json": {
"bytes": 2324, "bytes": 2314,
"imports": [] "imports": []
}, },
"src/human.js": { "src/human.js": {

10
dist/tfjs.esm.json vendored
View File

@ -1,23 +1,23 @@
{ {
"inputs": { "inputs": {
"node_modules/@tensorflow/tfjs/package.json": { "node_modules/@tensorflow/tfjs/package.json": {
"bytes": 5249, "bytes": 5126,
"imports": [] "imports": []
}, },
"node_modules/@tensorflow/tfjs-core/package.json": { "node_modules/@tensorflow/tfjs-core/package.json": {
"bytes": 4971, "bytes": 5047,
"imports": [] "imports": []
}, },
"node_modules/@tensorflow/tfjs-data/package.json": { "node_modules/@tensorflow/tfjs-data/package.json": {
"bytes": 3880, "bytes": 3892,
"imports": [] "imports": []
}, },
"node_modules/@tensorflow/tfjs-layers/package.json": { "node_modules/@tensorflow/tfjs-layers/package.json": {
"bytes": 3768, "bytes": 3780,
"imports": [] "imports": []
}, },
"node_modules/@tensorflow/tfjs-converter/package.json": { "node_modules/@tensorflow/tfjs-converter/package.json": {
"bytes": 4754, "bytes": 4766,
"imports": [] "imports": []
}, },
"node_modules/@tensorflow/tfjs-core/dist/backends/backend.js": { "node_modules/@tensorflow/tfjs-core/dist/backends/backend.js": {

115
package-lock.json generated
View File

@ -5,18 +5,18 @@
"requires": true, "requires": true,
"dependencies": { "dependencies": {
"@babel/code-frame": { "@babel/code-frame": {
"version": "7.10.4", "version": "7.12.11",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
"integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/highlight": "^7.10.4" "@babel/highlight": "^7.10.4"
} }
}, },
"@babel/helper-validator-identifier": { "@babel/helper-validator-identifier": {
"version": "7.10.4", "version": "7.12.11",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
"integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true "dev": true
}, },
"@babel/highlight": { "@babel/highlight": {
@ -109,6 +109,12 @@
"ms": "2.1.2" "ms": "2.1.2"
} }
}, },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
"strip-json-comments": { "strip-json-comments": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@ -134,6 +140,12 @@
"requires": { "requires": {
"ms": "2.1.2" "ms": "2.1.2"
} }
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
} }
} }
}, },
@ -160,49 +172,6 @@
"core-js": "3", "core-js": "3",
"regenerator-runtime": "^0.13.5", "regenerator-runtime": "^0.13.5",
"yargs": "^16.0.3" "yargs": "^16.0.3"
},
"dependencies": {
"@tensorflow/tfjs-converter": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-2.7.0.tgz",
"integrity": "sha512-SBpKYn/MkN8US7DeTcnvqHpvp/WKcwzpdgkQF+eHMHEbS1lXSlt4BHhOFgRdLPzy1gEC9+6P0VdTE8NQ737t/Q==",
"dev": true
},
"@tensorflow/tfjs-core": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-2.7.0.tgz",
"integrity": "sha512-4w5zjK6C5nkLatHpzARVQNd5QKtIocJRwjZIwWcScT9z2z1dX4rVmDoUpYg1cdD4H+yRRdI0awRaI3SL34yy8Q==",
"dev": true,
"requires": {
"@types/offscreencanvas": "~2019.3.0",
"@types/seedrandom": "2.4.27",
"@types/webgl-ext": "0.0.30",
"node-fetch": "~2.6.1",
"seedrandom": "2.4.3"
}
},
"@tensorflow/tfjs-data": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-2.7.0.tgz",
"integrity": "sha512-gsVklCwqqlxhykI7U2Uy5c2hjommQCAi+3y2/LER4TNtzQTzWaGKyIXvuLuL0tE896yuzXILIMZhkUjDmUiGxA==",
"dev": true,
"requires": {
"@types/node-fetch": "^2.1.2",
"node-fetch": "~2.6.1"
}
},
"@tensorflow/tfjs-layers": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-2.7.0.tgz",
"integrity": "sha512-78zsD2LLrHQuDYv0EeV83LiF0M69lKsBfuTB3FIBgS85gapZPyHh4wooKda2Y4H9EtLogU+C6bArZuDo8PaX+g==",
"dev": true
},
"seedrandom": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-2.4.3.tgz",
"integrity": "sha1-JDhQTa0zkXMUv/GKxNeU8W1qrsw=",
"dev": true
}
} }
}, },
"@tensorflow/tfjs-backend-cpu": { "@tensorflow/tfjs-backend-cpu": {
@ -366,9 +335,9 @@
"dev": true "dev": true
}, },
"@types/node": { "@types/node": {
"version": "14.14.13", "version": "14.14.14",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.13.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.14.tgz",
"integrity": "sha512-vbxr0VZ8exFMMAjCW8rJwaya0dMCDyYW2ZRdTyjtrCvJoENMpdUHOT/eTzvgyA5ZnqRZ/sI0NwqAxNHKYokLJQ==", "integrity": "sha512-UHnOPWVWV1z+VV8k6L1HhG7UbGBgIdghqF3l9Ny9ApPghbjICXkUJSd/b9gOgQfjM1r+37cipdw/HJ3F6ICEnQ==",
"dev": true "dev": true
}, },
"@types/node-fetch": { "@types/node-fetch": {
@ -920,6 +889,12 @@
"ms": "2.1.2" "ms": "2.1.2"
} }
}, },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
"semver": { "semver": {
"version": "7.3.4", "version": "7.3.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
@ -1591,9 +1566,9 @@
} }
}, },
"is-negative-zero": { "is-negative-zero": {
"version": "2.0.0", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
"integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==",
"dev": true "dev": true
}, },
"is-number": { "is-number": {
@ -1795,9 +1770,9 @@
} }
}, },
"ms": { "ms": {
"version": "2.1.2", "version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true "dev": true
}, },
"natural-compare": { "natural-compare": {
@ -1931,9 +1906,9 @@
"dev": true "dev": true
}, },
"object-inspect": { "object-inspect": {
"version": "1.8.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz",
"integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==",
"dev": true "dev": true
}, },
"object-keys": { "object-keys": {
@ -2301,9 +2276,9 @@
"dev": true "dev": true
}, },
"simple-git": { "simple-git": {
"version": "2.28.0", "version": "2.31.0",
"resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.28.0.tgz", "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.31.0.tgz",
"integrity": "sha512-cpwdCH/uRmpuBn1pBOfTYUBK5A9cmjvl8jLm++sWM0IbkH0xH/gCnAji45U8MEoljFuEbW9lWNaXCMM5yX+31g==", "integrity": "sha512-/+rmE7dYZMbRAfEmn8EUIOwlM2G7UdzpkC60KF86YAfXGnmGtsPrKsym0hKvLBdFLLW019C+aZld1+6iIVy5xA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@kwsites/file-exists": "^1.1.1", "@kwsites/file-exists": "^1.1.1",
@ -2319,6 +2294,12 @@
"requires": { "requires": {
"ms": "2.1.2" "ms": "2.1.2"
} }
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
} }
} }
}, },
@ -2392,9 +2373,9 @@
} }
}, },
"spdx-license-ids": { "spdx-license-ids": {
"version": "3.0.6", "version": "3.0.7",
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz",
"integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==", "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==",
"dev": true "dev": true
}, },
"sprintf-js": { "sprintf-js": {

View File

@ -22,16 +22,16 @@
"dependencies": {}, "dependencies": {},
"peerDependencies": {}, "peerDependencies": {},
"devDependencies": { "devDependencies": {
"@tensorflow/tfjs": "^2.7.0", "@tensorflow/tfjs": "2.7.0",
"@tensorflow/tfjs-backend-cpu": "^2.7.0", "@tensorflow/tfjs-backend-cpu": "2.7.0",
"@tensorflow/tfjs-backend-wasm": "^2.7.0", "@tensorflow/tfjs-backend-wasm": "2.7.0",
"@tensorflow/tfjs-backend-webgl": "^2.7.0", "@tensorflow/tfjs-backend-webgl": "2.7.0",
"@tensorflow/tfjs-converter": "^2.7.0", "@tensorflow/tfjs-converter": "2.7.0",
"@tensorflow/tfjs-core": "^2.7.0", "@tensorflow/tfjs-core": "2.7.0",
"@tensorflow/tfjs-data": "^2.7.0", "@tensorflow/tfjs-data": "2.7.0",
"@tensorflow/tfjs-layers": "^2.7.0", "@tensorflow/tfjs-layers": "2.7.0",
"@tensorflow/tfjs-node": "^2.7.0", "@tensorflow/tfjs-node": "2.7.0",
"@tensorflow/tfjs-node-gpu": "^2.7.0", "@tensorflow/tfjs-node-gpu": "2.7.0",
"@vladmandic/pilogger": "^0.2.10", "@vladmandic/pilogger": "^0.2.10",
"chokidar": "^3.4.3", "chokidar": "^3.4.3",
"dayjs": "^1.9.7", "dayjs": "^1.9.7",

2
wiki

@ -1 +1 @@
Subproject commit 489063ec16cf35ff3c91e3f90d44fa8351210aea Subproject commit 70b1aadc1b00fe59c454bc73baf413289961f28b