human/dist/human.ts.map

8 lines
2.1 MiB
Plaintext
Raw Normal View History

2021-02-08 17:39:09 +01:00
{
"version": 3,
2021-02-19 14:35:41 +01:00
"sources": ["../src/blazeface/facemesh.ts", "../src/posenet/keypoints.ts", "../src/human.ts", "../src/log.ts", "../node_modules/node-fetch/browser.js", "../node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/alea.js", "../node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xor128.js", "../node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xorwow.js", "../node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xorshift7.js", "../node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xor4096.js", "../node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/tychei.js", "(disabled):crypto", "../node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/seedrandom.js", "../node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/index.js", "../node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/alea.js", "../node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xor128.js", "../node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xorwow.js", "../node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xorshift7.js", "../node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xor4096.js", "../node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/tychei.js", "../node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/seedrandom.js", "../node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/index.js", "(disabled):path", "(disabled):worker_threads", "(disabled):perf_hooks", "../node_modules/@tensorflow/tfjs-backend-wasm/wasm-out/tfjs-backend-wasm-threaded-simd.js", "../node_modules/@tensorflow/tfjs-backend-wasm/wasm-out/tfjs-backend-wasm.js", "../node_modules/seedrandom/lib/alea.js", "../node_modules/seedrandom/lib/xor128.js", "../node_modules/seedrandom/lib/xorwow.js", "../node_modules/seedrandom/lib/xorshift7.js", "../node_modules/seedrandom/lib/xor4096.js", "../node_modules/seedrandom/lib/tychei.js", "../node_modules/seedrandom/seedrandom.js", "../node_modules/seedrandom/index.js", "../node_modules/string_decoder/lib/string_decoder.js", "../node_modules/@tensorflow/tfjs-core/src/backends/backend.ts", "../node_modules/@tensorflow/tfjs-core/src/util_base.ts", "../node_modules/@tensorflow/tfjs-core/src/environment.ts", "../node_modules/@tensorflow/tfjs-core/src/global_util.ts", "../node_modules/@tensorflow/tfjs-core/src/kernel_names.ts", "../node_modules/@tensorflow/tfjs-core/src/kernel_registry.ts", "../node_modules/@tensorflow/tfjs-core/src/util.ts", "../node_modules/@tensorflow/tfjs-core/src/profiler.ts", "../node_modules/@tensorflow/tfjs-core/src/tape.ts", "../node_modules/@tensorflow/tfjs-core/src/tensor_format.ts", "../node_modules/@tensorflow/tfjs-core/src/tensor.ts", "../node_modules/@tensorflow/tfjs-core/src/tensor_util.ts", "../node_modules/@tensorflow/tfjs-core/src/types.ts", "../node_modules/@tensorflow/tfjs-core/src/engine.ts", "../node_modules/@tensorflow/tfjs-core/src/device_util.ts", "../node_modules/@tensorflow/tfjs-core/src/flags.ts", "../node_modules/@tensorflow/tfjs-core/src/tensor_util_env.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/operation.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/complex.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/tensor_ops_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/tensor.ts", "../node_modules/@tensorflow/tfjs-core/src/io/types.ts", "../node_modules/@tensorflow/tfjs-core/src/io/io_utils.ts", "../node_modules/@tensorflow/tfjs-core/src/io/router_registry.ts", "../node_modules/@tensorflow/tfjs-core/src/io/indexed_db.ts", "../node_modules/@tensorflow/tfjs-core/src/io/local_storage.ts", "../node_modules/@tensorflow/tfjs-core/src/io/model_management.ts", "../node_modules/@tensorflow/tfjs-core/src/platforms/platform_browser.ts", "../node_modules/@tensorflow/tfjs-core/src/platforms/platform_node.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/buffer.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/cast.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/clone.ts", "../node_mod
2021-03-03 15:59:04 +01:00
"sourcesContent": ["import { log } from '../log';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as blazeface from './blazeface';\nimport * as facepipeline from './facepipeline';\nimport * as coords from './coords';\n\nexport class MediaPipeFaceMesh {\n facePipeline: any;\n config: any;\n\n constructor(blazeFace, blazeMeshModel, irisModel, config) {\n this.facePipeline = new facepipeline.Pipeline(blazeFace, blazeMeshModel, irisModel, config);\n this.config = config;\n }\n\n async estimateFaces(input, config) {\n const predictions = await this.facePipeline.predict(input, config);\n const results: Array<{}> = [];\n for (const prediction of (predictions || [])) {\n if (prediction.isDisposedInternal) continue; // guard against disposed tensors on long running operations such as pause in middle of processing\n const mesh = prediction.coords ? prediction.coords.arraySync() : null;\n const meshRaw = prediction.rawCoords;\n const annotations = {};\n if (mesh && mesh.length > 0) {\n for (const key of Object.keys(coords.MESH_ANNOTATIONS)) annotations[key] = coords.MESH_ANNOTATIONS[key].map((index) => mesh[index]);\n }\n const boxRaw = (config.face.mesh.returnRawData && prediction.box) ? { topLeft: prediction.box.startPoint, bottomRight: prediction.box.endPoint } : null;\n const box = prediction.box ? [\n Math.max(0, prediction.box.startPoint[0]),\n Math.max(0, prediction.box.startPoint[1]),\n Math.min(input.shape[2], prediction.box.endPoint[0]) - prediction.box.startPoint[0],\n Math.min(input.shape[1], prediction.box.endPoint[1]) - prediction.box.startPoint[1],\n ] : 0;\n results.push({\n confidence: prediction.faceConfidence || prediction.boxConfidence || 0,\n boxConfidence: prediction.boxConfidence,\n faceConfidence: prediction.faceConfidence,\n box,\n mesh,\n boxRaw,\n meshRaw,\n annotations,\n image: prediction.image ? tf.clone(prediction.image) : null,\n });\n if (prediction.coords) prediction.coords.dispose();\n if (prediction.image) prediction.image.dispose();\n }\n return results;\n }\n}\n\nlet faceModels = [null, null, null];\nexport async function load(config) {\n // @ts-ignore\n faceModels = await Promise.all([\n (!faceModels[0] && config.face.enabled) ? blazeface.load(config) : null,\n (!faceModels[1] && config.face.mesh.enabled) ? tf.loadGraphModel(config.face.mesh.modelPath, { fromTFHub: config.face.mesh.modelPath.includes('tfhub.dev') }) : null,\n (!faceModels[2] && config.face.iris.enabled) ? tf.loadGraphModel(config.face.iris.modelPath, { fromTFHub: config.face.iris.modelPath.includes('tfhub.dev') }) : null,\n ]);\n const faceMesh = new MediaPipeFaceMesh(faceModels[0], faceModels[1], faceModels[2], config);\n if (config.face.mesh.enabled && config.debug) log(`load model: ${config.face.mesh.modelPath.match(/\\/(.*)\\./)[1]}`);\n if (config.face.iris.enabled && config.debug) log(`load model: ${config.face.iris.modelPath.match(/\\/(.*)\\./)[1]}`);\n return faceMesh;\n}\n\nexports.triangulation = coords.TRI468;\n", "export const partNames = [\n 'nose', 'leftEye', 'rightEye', 'leftEar', 'rightEar', 'leftShoulder',\n 'rightShoulder', 'leftElbow', 'rightElbow', 'leftWrist', 'rightWrist',\n 'leftHip', 'rightHip', 'leftKnee', 'rightKnee', 'leftAnkle', 'rightAnkle',\n];\n\nexport const NUM_KEYPOINTS = exports.partNames.length;\n\nexport const partIds = exports.partNames.reduce((result, jointName, i) => {\n result[jointName] = i;\n return result;\n}, {});\n\nconst connectedPartNames = [\n ['leftHip', 'leftShoulder'], ['leftElbow', 'leftShoulder'],\n ['leftElbow', 'leftWrist'], ['leftHip', 'leftKnee'],\n ['leftKnee', 'leftAnkle'], ['rightHip', 'rightShoulder'],\n ['rightElbow', 'rightShoulder'], ['rightElbow', 'rightWrist'],\n ['rightHip', 'rightKnee'], ['rightKnee', 'rightAnkle'],\n ['leftShoulder', 'rightShoulder'], ['leftHip', 'rightHip'],\n];\nexport const connectedPartIndices = connectedPartName
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,kCAAwB;AAAA,MAI7B,YAAY,WAAW,gBAAgB,WAAW,SAAQ;AACxD,aAAK,eAAe,IAAiB,SAAS,WAAW,gBAAgB,WAAW;AACpF,aAAK,SAAS;AAAA;AAAA,YAGV,cAAc,QAAO,SAAQ;AACjC,cAAM,cAAc,MAAM,KAAK,aAAa,QAAQ,QAAO;AAC3D,cAAM,UAAqB;AAC3B,mBAAW,cAAe,eAAe,IAAK;AAC5C,cAAI,WAAW;AAAoB;AACnC,gBAAM,OAAO,WAAW,SAAS,WAAW,OAAO,cAAc;AACjE,gBAAM,UAAU,WAAW;AAC3B,gBAAM,eAAc;AACpB,cAAI,QAAQ,KAAK,SAAS,GAAG;AAC3B,uBAAW,OAAO,OAAO,KAAY;AAAmB,2BAAY,OAAO,AAAO,iBAAiB,KAAK,IAAI,CAAC,UAAU,KAAK;AAAA;AAE9H,gBAAM,SAAU,QAAO,KAAK,KAAK,iBAAiB,WAAW,MAAO,CAAE,SAAS,WAAW,IAAI,YAAY,aAAa,WAAW,IAAI,YAAa;AACnJ,gBAAM,OAAM,WAAW,MAAM;AAAA,YAC3B,KAAK,IAAI,GAAG,WAAW,IAAI,WAAW;AAAA,YACtC,KAAK,IAAI,GAAG,WAAW,IAAI,WAAW;AAAA,YACtC,KAAK,IAAI,OAAM,MAAM,IAAI,WAAW,IAAI,SAAS,MAAM,WAAW,IAAI,WAAW;AAAA,YACjF,KAAK,IAAI,OAAM,MAAM,IAAI,WAAW,IAAI,SAAS,MAAM,WAAW,IAAI,WAAW;AAAA,cAC/E;AACJ,kBAAQ,KAAK;AAAA,YACX,YAAY,WAAW,kBAAkB,WAAW,iBAAiB;AAAA,YACrE,eAAe,WAAW;AAAA,YAC1B,gBAAgB,WAAW;AAAA,YAC3B;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,OAAO,WAAW,QAAQ,AAAG,MAAM,WAAW,SAAS;AAAA;AAEzD,cAAI,WAAW;AAAQ,uBAAW,OAAO;AACzC,cAAI,WAAW;AAAO,uBAAW,MAAM;AAAA;AAEzC,eAAO;AAAA;AAAA;AAIX,QAAI,aAAa,CAAC,MAAM,MAAM;AAC9B,yBAA2B,SAAQ;AAEjC,mBAAa,MAAM,QAAQ,IAAI;AAAA,QAC5B,CAAC,WAAW,MAAM,QAAO,KAAK,UAAW,AAAU,KAAK,WAAU;AAAA,QAClE,CAAC,WAAW,MAAM,QAAO,KAAK,KAAK,UAAW,AAAG,eAAe,QAAO,KAAK,KAAK,WAAW,CAAE,WAAW,QAAO,KAAK,KAAK,UAAU,SAAS,iBAAkB;AAAA,QAC/J,CAAC,WAAW,MAAM,QAAO,KAAK,KAAK,UAAW,AAAG,eAAe,QAAO,KAAK,KAAK,WAAW,CAAE,WAAW,QAAO,KAAK,KAAK,UAAU,SAAS,iBAAkB;AAAA;AAElK,YAAM,WAAW,IAAI,kBAAkB,WAAW,IAAI,WAAW,IAAI,WAAW,IAAI;AACpF,UAAI,QAAO,KAAK,KAAK,WAAW,QAAO;AAAO,YAAI,eAAe,QAAO,KAAK,KAAK,UAAU,MAAM,YAAY;AAC9G,UAAI,QAAO,KAAK,KAAK,WAAW,QAAO;AAAO,YAAI,eAAe,QAAO,KAAK,KAAK,UAAU,MAAM,YAAY;AAC9G,aAAO;AAAA;AAGT,YAAQ,gBAAuB;AAAA;;;ACjE/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,QAAM,aAAY;AAAA,MACvB;AAAA,MAAQ;AAAA,MAAW;AAAA,MAAY;AAAA,MAAW;AAAA,MAAY;AAAA,MACtD;AAAA,MAAiB;AAAA,MAAa;AAAA,MAAc;AAAA,MAAa;AAAA,MACzD;AAAA,MAAW;AAAA,MAAY;AAAA,MAAY;AAAA,MAAa;AAAA,MAAa;AAAA;AAGxD,QAAM,iBAAgB,QAAQ,UAAU;AAExC,QAAM,WAAU,QAAQ,UAAU,OAAO,CAAC,QAAQ,WAAW,MAAM;AACxE,aAAO,aAAa;AACpB,aAAO;AAAA,OACN;AAEH,QAAM,qBAAqB;AAAA,MACzB,CAAC,WAAW;AAAA,MAAiB,CAAC,aAAa;AAAA,MAC3C,CAAC,aAAa;AAAA,MAAc,CAAC,WAAW;AAAA,MACxC,CAAC,YAAY;AAAA,MAAc,CAAC,YAAY;AAAA,MACxC,CAAC,cAAc;AAAA,MAAkB,CAAC,cAAc;AAAA,MAChD,CAAC,YAAY;AAAA,MAAc,CAAC,aAAa;AAAA,MACzC,CAAC,gBAAgB;AAAA,MAAkB,CAAC,WAAW;AAAA;AAE1C,QAAM,uBAAuB,mBAAmB,IAAI,CAAC,CAAC,YAAY,gBAAiB,CAAC,SAAQ,aAAa,SAAQ;AAEjH,QAAM,aAAY;AAAA,MACvB,CAAC,QAAQ;AAAA,MAAY,CAAC,WAAW;AAAA,MAAY,CAAC,QAAQ;AAAA,MACtD,CAAC,YAAY;AAAA,MAAa,CAAC,QAAQ;AAAA,MACnC,CAAC,gBAAgB;AAAA,MAAc,CAAC,aAAa;AAAA,MAC7C,CAAC,gBAAgB;AAAA,MAAY,CAAC,WAAW;AAAA,MACzC,CAAC,YAAY;AAAA,MAAc,CAAC,QAAQ;AAAA,MACpC,CAAC,iBAAiB;AAAA,MAAe,CAAC,cAAc;AAAA,MAChD,CAAC,iBAAiB;AAAA,MAAa,CAAC,YAAY;AAAA,MAC5C,CAAC,aAAa;AAAA;AAGT,QAAM,eAAe;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;;;AC1DF;AAAA;AAAA;AAAA;;;ACCO,kBAAgB,KAAK;AAC1B,UAAM,KAAK,IAAI;AACf,UAAM,KAAK,GAAG,GAAG,WAAW,WAAW,SAAS,GAAG,QAAQ,GAAG,aAAa,WAAW,SAAS,GAAG,QAAQ,GAAG,aAAa,WAAW,SAAS,GAAG,QAAQ,GAAG,kBAAkB,WAAW,SAAS,GAAG;AAErM,QAAI;AAAK,cAAQ,IAAI,IAAI,UAAU,GAAG;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLxC,MAAA,kBAAA,YAAA,MAAA;;ACAA,MAAA,eAAA,YAAA,CAAA,SAAA,YAAA;AA2BC,IAAA,UAAS,SAAQ,UAAQ,SAAQ;AAElC,oBAAc,MAAM;AAClB,YAAI,KAAK,MAAM,OAAO;AAEtB,WAAG,OAAO,WAAW;AACnB,cAAI,IAAI,UAAU,GAAG,KAAK,GAAG,IAAI;AA
2021-02-08 17:39:09 +01:00
"names": []
}