diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f3f7869..9838b8c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # @vladmandic/human -Version: **2.0.2** +Version: **2.0.3** Description: **Human: AI-powered 3D Face Detection & Rotation Tracking, Face Description & Recognition, Body Pose Tracking, 3D Hand & Finger Tracking, Iris Analysis, Age & Gender & Emotion Prediction, Gesture Recognition** Author: **Vladimir Mandic ** @@ -9,11 +9,17 @@ Repository: **** ## Changelog +### **2.0.3** 2021/06/18 mandic00@live.com + + +### **origin/main** 2021/06/16 mandic00@live.com + +- fix demo paths +- added multithreaded demo + ### **2.0.2** 2021/06/14 mandic00@live.com - -### **origin/main** 2021/06/14 mandic00@live.com - +- reorganize demos - fix centernet box width & height - add body segmentation sample diff --git a/dist/human.esm-nobundle.js b/dist/human.esm-nobundle.js index 9c34890f..2c09cf77 100644 --- a/dist/human.esm-nobundle.js +++ b/dist/human.esm-nobundle.js @@ -730,5 +730,5 @@ AAAAAAJAAAAAAAAAAAAAABAJEAAAAAAAAAAAAAAAIEoBKAAAAAAAAAAAAAAABAlAAAAAAAIAAAAA BAkBAkBAkBAlACEgMZjdjbFW8bWrEx8YWANb6Fp+bfwab+vLDKMFK9qxH5L0bAr8OPRPKz2AY7J2 SbAjYZAI2E7AIEgIEgIEgMdkSy2NgY7MdlmyNoBXsxmFuyNgVTVjNV3KjlBRNTlXTVHKCrlIqt5T lBhEMohlFerLlBjEMohMVTEARDKCITsAk2AEgAAAkAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAD/ -2Q==`;var le="2.0.2";var T0,k0,I0,c0,d0,P0,e5,N0,t5,n5,o5,s5,r2=class{constructor(e){K(this,T0,void 0);K(this,k0,void 0);K(this,I0,void 0);K(this,c0,void 0);K(this,d0,void 0);K(this,P0,void 0);this.analyze=(...e)=>{if(!C(this,k0))return;let t=this.tf.engine().state.numTensors,o=C(this,T0);_(this,T0,t);let n=t-o;n!==0&&g(...e,n)};K(this,e5,e=>{if(!C(this,I0))return null;if(!e)return"input is not defined";if(this.tf.ENV.flags.IS_NODE&&!(e instanceof s.Tensor))return"input must be a tensor";try{this.tf.getBackend()}catch(t){return"backend not loaded"}return null});K(this,N0,async(e=!1)=>{var t;if(this.config.backend&&this.config.backend.length>0&&e||this.tf.getBackend()!==this.config.backend){let o=N();if(this.state="backend",this.config.backend&&this.config.backend.length>0){if(typeof window=="undefined"&&typeof WorkerGlobalScope!="undefined"&&this.config.debug&&g("running inside web worker"),this.tf.ENV.flags.IS_BROWSER&&this.config.backend==="tensorflow"&&(this.config.backend="webgl"),this.tf.ENV.flags.IS_NODE&&(this.config.backend==="webgl"||this.config.backend==="humangl")&&(this.config.backend="tensorflow"),this.config.debug&&g("setting backend:",this.config.backend),this.config.backend==="wasm"){if(this.config.debug&&g("wasm path:",this.config.wasmPath),typeof((t=this.tf)==null?void 0:t.setWasmPaths)!="undefined")this.tf.setWasmPaths(this.config.wasmPath);else throw new Error("Human: WASM backend is not loaded");let n=await this.tf.env().getAsync("WASM_HAS_SIMD_SUPPORT"),x=await this.tf.env().getAsync("WASM_HAS_MULTITHREAD_SUPPORT");this.config.debug&&g(`wasm execution: ${n?"SIMD":"no SIMD"} ${x?"multithreaded":"singlethreaded"}`),this.config.debug&&!n&&g("warning: wasm simd support is not enabled")}this.config.backend==="humangl"&&cA();try{await this.tf.setBackend(this.config.backend)}catch(n){g("error: cannot set backend:",this.config.backend,n)}}if(this.tf.enableProdMode(),this.tf.getBackend()==="webgl"||this.tf.getBackend()==="humangl"){this.tf.ENV.set("CHECK_COMPUTATION_FOR_ERRORS",!1),this.tf.ENV.set("WEBGL_CPU_FORWARD",!0),this.tf.ENV.set("WEBGL_PACK_DEPTHWISECONV",!0),typeof this.config.deallocate!="undefined"&&this.config.deallocate&&(g("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:",!0),this.tf.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",0));let n=await this.tf.backend().getGPGPUContext().gl;this.config.debug&&g(`gl version:${n.getParameter(n.VERSION)} renderer:${n.getParameter(n.RENDERER)}`)}await this.tf.ready(),this.performance.backend=Math.trunc(N()-o)}});this.next=e=>xe(e||this.result);K(this,t5,async e=>{if(this.config.cacheSensitivity===0)return!1;let t=32,o=e.resizeBilinear([Math.trunc(e.shape[1]/t),Math.trunc(e.shape[2]/t)]),n=o.dataSync(),x=0;for(let y=0;y10*this.config.cacheSensitivity?0:r),a});K(this,n5,async()=>{let e=(n,x="application/octet-stream")=>fetch(`data:${x};base64,${n}`).then(r=>r.blob()),t,o;switch(this.config.warmup){case"face":t=await e($0);break;case"full":t=await e(A5);break;default:t=null}if(t){let n=await createImageBitmap(t);o=await this.detect(n,this.config),n.close()}return o});K(this,o5,async()=>new Promise(e=>{let t,o=0;switch(this.config.warmup){case"face":o=256,t="data:image/jpeg;base64,"+$0;break;case"full":case"body":o=1200,t="data:image/jpeg;base64,"+A5;break;default:t=null}let n=new Image;n.onload=async()=>{let x=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(o,o):document.createElement("canvas");x.width=n.naturalWidth,x.height=n.naturalHeight;let r=x.getContext("2d");r==null||r.drawImage(n,0,0);let a=await this.detect(x,this.config);e(a)},t?n.src=t:e(null)}));K(this,s5,async()=>{let e=n=>Buffer.from(n,"base64"),t;if(this.config.warmup==="face"&&(t=e($0)),(this.config.warmup==="body"||this.config.warmup==="full")&&(t=e(A5)),!t)return null;let o;if(typeof s.node!="undefined"){let n=s.node.decodeJpeg(t),x=n.expandDims(0);this.tf.dispose(n),o=await this.detect(x,this.config),this.tf.dispose(x)}else this.config.debug&&g("Warmup tfjs-node not loaded");return o});this.config=J(yA,e||{}),this.tf=s,this.draw=sA,this.version=le,this.state="idle",_(this,T0,0),_(this,k0,!1),_(this,I0,!1),_(this,c0,!0),_(this,P0,0),this.performance={backend:0,load:0,image:0,frames:0,cached:0,changed:0,total:0,draw:0},this.models={face:null,posenet:null,blazepose:null,efficientpose:null,movenet:null,handpose:null,age:null,gender:null,emotion:null,embedding:null,nanodet:null,centernet:null,faceres:null,segmentation:null},this.image=t=>l0(t,this.config),this.faceTriangulation=zA,this.faceUVMap=EA,this.sysinfo=lA(),_(this,d0,1)}similarity(e,t){return T5(e,t)}segmentation(e,t){return ye(e,t,this.config)}enhance(e){return P5(e)}match(e,t,o=0){return wA(e,t,o)}async load(e){this.state="load";let t=N();e&&(this.config=J(this.config,e)),C(this,c0)&&(this.config.debug&&g(`version: ${this.version}`),this.config.debug&&g(`tfjs version: ${this.tf.version_core}`),this.config.debug&&g("platform:",this.sysinfo.platform),this.config.debug&&g("agent:",this.sysinfo.agent),await C(this,N0).call(this,!0),this.tf.ENV.flags.IS_BROWSER&&(this.config.debug&&g("configuration:",this.config),this.config.debug&&g("tf flags:",this.tf.ENV.flags))),this.config.async?[this.models.face,this.models.emotion,this.models.handpose,this.models.posenet,this.models.blazepose,this.models.efficientpose,this.models.movenet,this.models.nanodet,this.models.centernet,this.models.faceres,this.models.segmentation]=await Promise.all([this.models.face||(this.config.face.enabled?m5(this.config):null),this.models.emotion||(this.config.face.enabled&&this.config.face.emotion.enabled?p5(this.config):null),this.models.handpose||(this.config.hand.enabled?Z5(this.config):null),this.models.posenet||(this.config.body.enabled&&this.config.body.modelPath.includes("posenet")?k5(this.config):null),this.models.blazepose||(this.config.body.enabled&&this.config.body.modelPath.includes("blazepose")?Y0(this.config):null),this.models.efficientpose||(this.config.body.enabled&&this.config.body.modelPath.includes("efficientpose")?QA(this.config):null),this.models.movenet||(this.config.body.enabled&&this.config.body.modelPath.includes("movenet")?Y5(this.config):null),this.models.nanodet||(this.config.object.enabled&&this.config.object.modelPath.includes("nanodet")?Q5(this.config):null),this.models.centernet||(this.config.object.enabled&&this.config.object.modelPath.includes("centernet")?eA(this.config):null),this.models.faceres||(this.config.face.enabled&&this.config.face.description.enabled?M5(this.config):null),this.models.segmentation||(this.config.segmentation.enabled?_0(this.config):null)]):(this.config.face.enabled&&!this.models.face&&(this.models.face=await m5(this.config)),this.config.face.enabled&&this.config.face.emotion.enabled&&!this.models.emotion&&(this.models.emotion=await p5(this.config)),this.config.hand.enabled&&!this.models.handpose&&(this.models.handpose=await Z5(this.config)),this.config.body.enabled&&!this.models.posenet&&this.config.body.modelPath.includes("posenet")&&(this.models.posenet=await k5(this.config)),this.config.body.enabled&&!this.models.blazepose&&this.config.body.modelPath.includes("blazepose")&&(this.models.blazepose=await Y0(this.config)),this.config.body.enabled&&!this.models.efficientpose&&this.config.body.modelPath.includes("efficientpose")&&(this.models.efficientpose=await Y0(this.config)),this.config.body.enabled&&!this.models.movenet&&this.config.body.modelPath.includes("movenet")&&(this.models.movenet=await Y5(this.config)),this.config.object.enabled&&!this.models.nanodet&&this.config.object.modelPath.includes("nanodet")&&(this.models.nanodet=await Q5(this.config)),this.config.object.enabled&&!this.models.centernet&&this.config.object.modelPath.includes("centernet")&&(this.models.centernet=await eA(this.config)),this.config.face.enabled&&this.config.face.description.enabled&&!this.models.faceres&&(this.models.faceres=await M5(this.config)),this.config.segmentation.enabled&&!this.models.segmentation&&(this.models.segmentation=await _0(this.config))),C(this,c0)&&(this.config.debug&&g("tf engine state:",this.tf.engine().state.numBytes,"bytes",this.tf.engine().state.numTensors,"tensors"),_(this,c0,!1));let o=Math.trunc(N()-t);o>(this.performance.load||0)&&(this.performance.load=o)}async detect(e,t){return new Promise(async o=>{this.state="config";let n,x;this.config=J(this.config,t),this.state="check";let r=C(this,e5).call(this,e);r&&(g(r,e),o({error:r}));let a=N();await C(this,N0).call(this),await this.load(),n=N();let y=l0(e,this.config);if(this.performance.image=Math.trunc(N()-n),this.analyze("Get Image:"),this.config.segmentation.enabled&&y&&y.tensor&&(this.analyze("Start Segmentation:"),this.state="run:segmentation",n=N(),await iA(y),x=Math.trunc(N()-n),x>0&&(this.performance.segmentation=x),y.canvas&&(y.tensor.dispose(),y=l0(y.canvas,this.config)),this.analyze("End Segmentation:")),!y||!y.tensor){g("could not convert input to tensor"),o({error:"could not convert input to tensor"});return}n=N(),this.config.skipFrame=await C(this,t5).call(this,y.tensor),this.performance.frames||(this.performance.frames=0),this.performance.cached||(this.performance.cached=0),this.performance.frames++,this.config.skipFrame&&this.performance.cached++,this.performance.changed=Math.trunc(N()-n),this.analyze("Check Changed:");let i,c,l,f;this.config.async?(i=this.config.face.enabled?z5(this,y.tensor):[],this.performance.face&&delete this.performance.face):(this.state="run:face",n=N(),i=this.config.face.enabled?await z5(this,y.tensor):[],x=Math.trunc(N()-n),x>0&&(this.performance.face=x)),this.analyze("Start Body:"),this.config.async?(this.config.body.modelPath.includes("posenet")?c=this.config.body.enabled?W5(y.tensor,this.config):[]:this.config.body.modelPath.includes("blazepose")?c=this.config.body.enabled?V5(y.tensor,this.config):[]:this.config.body.modelPath.includes("efficientpose")?c=this.config.body.enabled?q5(y.tensor,this.config):[]:this.config.body.modelPath.includes("movenet")&&(c=this.config.body.enabled?G5(y.tensor,this.config):[]),this.performance.body&&delete this.performance.body):(this.state="run:body",n=N(),this.config.body.modelPath.includes("posenet")?c=this.config.body.enabled?await W5(y.tensor,this.config):[]:this.config.body.modelPath.includes("blazepose")?c=this.config.body.enabled?await V5(y.tensor,this.config):[]:this.config.body.modelPath.includes("efficientpose")?c=this.config.body.enabled?await q5(y.tensor,this.config):[]:this.config.body.modelPath.includes("movenet")&&(c=this.config.body.enabled?await G5(y.tensor,this.config):[]),x=Math.trunc(N()-n),x>0&&(this.performance.body=x)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.config.async?(l=this.config.hand.enabled?H5(y.tensor,this.config):[],this.performance.hand&&delete this.performance.hand):(this.state="run:hand",n=N(),l=this.config.hand.enabled?await H5(y.tensor,this.config):[],x=Math.trunc(N()-n),x>0&&(this.performance.hand=x)),this.analyze("End Hand:"),this.analyze("Start Object:"),this.config.async?(this.config.object.modelPath.includes("nanodet")?f=this.config.object.enabled?_5(y.tensor,this.config):[]:this.config.object.modelPath.includes("centernet")&&(f=this.config.object.enabled?tA(y.tensor,this.config):[]),this.performance.object&&delete this.performance.object):(this.state="run:object",n=N(),this.config.object.modelPath.includes("nanodet")?f=this.config.object.enabled?await _5(y.tensor,this.config):[]:this.config.object.modelPath.includes("centernet")&&(f=this.config.object.enabled?await tA(y.tensor,this.config):[]),x=Math.trunc(N()-n),x>0&&(this.performance.object=x)),this.analyze("End Object:"),this.config.async&&([i,c,l,f]=await Promise.all([i,c,l,f]));let u=[];this.config.gesture.enabled&&(n=N(),u=[...$A(i),..._A(c),...ee(l),...Ae(i)],this.config.async?this.performance.gesture&&delete this.performance.gesture:this.performance.gesture=Math.trunc(N()-n)),this.performance.total=Math.trunc(N()-a),this.state="idle",this.result={face:i,body:c,hand:l,gesture:u,object:f,performance:this.performance,canvas:y.canvas,timestamp:Date.now(),get persons(){var z;return ae(i,c,l,u,(z=y==null?void 0:y.tensor)==null?void 0:z.shape)}},s.dispose(y.tensor),o(this.result)})}async warmup(e){let t=N();if(e&&(this.config=J(this.config,e)),!this.config.warmup||this.config.warmup==="none")return{error:"null"};let o;typeof createImageBitmap=="function"?o=await C(this,n5).call(this):typeof Image!="undefined"?o=await C(this,o5).call(this):o=await C(this,s5).call(this);let n=N();return this.config.debug&&g("Warmup",this.config.warmup,Math.round(n-t),"ms",o),o}};T0=new WeakMap,k0=new WeakMap,I0=new WeakMap,c0=new WeakMap,d0=new WeakMap,P0=new WeakMap,e5=new WeakMap,N0=new WeakMap,t5=new WeakMap,n5=new WeakMap,o5=new WeakMap,s5=new WeakMap;export{r2 as Human,r2 as default}; +2Q==`;var le="2.0.3";var T0,k0,I0,c0,d0,P0,e5,N0,t5,n5,o5,s5,r2=class{constructor(e){K(this,T0,void 0);K(this,k0,void 0);K(this,I0,void 0);K(this,c0,void 0);K(this,d0,void 0);K(this,P0,void 0);this.analyze=(...e)=>{if(!C(this,k0))return;let t=this.tf.engine().state.numTensors,o=C(this,T0);_(this,T0,t);let n=t-o;n!==0&&g(...e,n)};K(this,e5,e=>{if(!C(this,I0))return null;if(!e)return"input is not defined";if(this.tf.ENV.flags.IS_NODE&&!(e instanceof s.Tensor))return"input must be a tensor";try{this.tf.getBackend()}catch(t){return"backend not loaded"}return null});K(this,N0,async(e=!1)=>{var t;if(this.config.backend&&this.config.backend.length>0&&e||this.tf.getBackend()!==this.config.backend){let o=N();if(this.state="backend",this.config.backend&&this.config.backend.length>0){if(typeof window=="undefined"&&typeof WorkerGlobalScope!="undefined"&&this.config.debug&&g("running inside web worker"),this.tf.ENV.flags.IS_BROWSER&&this.config.backend==="tensorflow"&&(this.config.backend="webgl"),this.tf.ENV.flags.IS_NODE&&(this.config.backend==="webgl"||this.config.backend==="humangl")&&(this.config.backend="tensorflow"),this.config.debug&&g("setting backend:",this.config.backend),this.config.backend==="wasm"){if(this.config.debug&&g("wasm path:",this.config.wasmPath),typeof((t=this.tf)==null?void 0:t.setWasmPaths)!="undefined")this.tf.setWasmPaths(this.config.wasmPath);else throw new Error("Human: WASM backend is not loaded");let n=await this.tf.env().getAsync("WASM_HAS_SIMD_SUPPORT"),x=await this.tf.env().getAsync("WASM_HAS_MULTITHREAD_SUPPORT");this.config.debug&&g(`wasm execution: ${n?"SIMD":"no SIMD"} ${x?"multithreaded":"singlethreaded"}`),this.config.debug&&!n&&g("warning: wasm simd support is not enabled")}this.config.backend==="humangl"&&cA();try{await this.tf.setBackend(this.config.backend)}catch(n){g("error: cannot set backend:",this.config.backend,n)}}if(this.tf.enableProdMode(),this.tf.getBackend()==="webgl"||this.tf.getBackend()==="humangl"){this.tf.ENV.set("CHECK_COMPUTATION_FOR_ERRORS",!1),this.tf.ENV.set("WEBGL_CPU_FORWARD",!0),this.tf.ENV.set("WEBGL_PACK_DEPTHWISECONV",!0),typeof this.config.deallocate!="undefined"&&this.config.deallocate&&(g("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:",!0),this.tf.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",0));let n=await this.tf.backend().getGPGPUContext().gl;this.config.debug&&g(`gl version:${n.getParameter(n.VERSION)} renderer:${n.getParameter(n.RENDERER)}`)}await this.tf.ready(),this.performance.backend=Math.trunc(N()-o)}});this.next=e=>xe(e||this.result);K(this,t5,async e=>{if(this.config.cacheSensitivity===0)return!1;let t=32,o=e.resizeBilinear([Math.trunc(e.shape[1]/t),Math.trunc(e.shape[2]/t)]),n=o.dataSync(),x=0;for(let y=0;y10*this.config.cacheSensitivity?0:r),a});K(this,n5,async()=>{let e=(n,x="application/octet-stream")=>fetch(`data:${x};base64,${n}`).then(r=>r.blob()),t,o;switch(this.config.warmup){case"face":t=await e($0);break;case"full":t=await e(A5);break;default:t=null}if(t){let n=await createImageBitmap(t);o=await this.detect(n,this.config),n.close()}return o});K(this,o5,async()=>new Promise(e=>{let t,o=0;switch(this.config.warmup){case"face":o=256,t="data:image/jpeg;base64,"+$0;break;case"full":case"body":o=1200,t="data:image/jpeg;base64,"+A5;break;default:t=null}let n=new Image;n.onload=async()=>{let x=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(o,o):document.createElement("canvas");x.width=n.naturalWidth,x.height=n.naturalHeight;let r=x.getContext("2d");r==null||r.drawImage(n,0,0);let a=await this.detect(x,this.config);e(a)},t?n.src=t:e(null)}));K(this,s5,async()=>{let e=n=>Buffer.from(n,"base64"),t;if(this.config.warmup==="face"&&(t=e($0)),(this.config.warmup==="body"||this.config.warmup==="full")&&(t=e(A5)),!t)return null;let o;if(typeof s.node!="undefined"){let n=s.node.decodeJpeg(t),x=n.expandDims(0);this.tf.dispose(n),o=await this.detect(x,this.config),this.tf.dispose(x)}else this.config.debug&&g("Warmup tfjs-node not loaded");return o});this.config=J(yA,e||{}),this.tf=s,this.draw=sA,this.version=le,this.state="idle",_(this,T0,0),_(this,k0,!1),_(this,I0,!1),_(this,c0,!0),_(this,P0,0),this.performance={backend:0,load:0,image:0,frames:0,cached:0,changed:0,total:0,draw:0},this.models={face:null,posenet:null,blazepose:null,efficientpose:null,movenet:null,handpose:null,age:null,gender:null,emotion:null,embedding:null,nanodet:null,centernet:null,faceres:null,segmentation:null},this.image=t=>l0(t,this.config),this.faceTriangulation=zA,this.faceUVMap=EA,this.sysinfo=lA(),_(this,d0,1)}similarity(e,t){return T5(e,t)}segmentation(e,t){return ye(e,t,this.config)}enhance(e){return P5(e)}match(e,t,o=0){return wA(e,t,o)}async load(e){this.state="load";let t=N();e&&(this.config=J(this.config,e)),C(this,c0)&&(this.config.debug&&g(`version: ${this.version}`),this.config.debug&&g(`tfjs version: ${this.tf.version_core}`),this.config.debug&&g("platform:",this.sysinfo.platform),this.config.debug&&g("agent:",this.sysinfo.agent),await C(this,N0).call(this,!0),this.tf.ENV.flags.IS_BROWSER&&(this.config.debug&&g("configuration:",this.config),this.config.debug&&g("tf flags:",this.tf.ENV.flags))),this.config.async?[this.models.face,this.models.emotion,this.models.handpose,this.models.posenet,this.models.blazepose,this.models.efficientpose,this.models.movenet,this.models.nanodet,this.models.centernet,this.models.faceres,this.models.segmentation]=await Promise.all([this.models.face||(this.config.face.enabled?m5(this.config):null),this.models.emotion||(this.config.face.enabled&&this.config.face.emotion.enabled?p5(this.config):null),this.models.handpose||(this.config.hand.enabled?Z5(this.config):null),this.models.posenet||(this.config.body.enabled&&this.config.body.modelPath.includes("posenet")?k5(this.config):null),this.models.blazepose||(this.config.body.enabled&&this.config.body.modelPath.includes("blazepose")?Y0(this.config):null),this.models.efficientpose||(this.config.body.enabled&&this.config.body.modelPath.includes("efficientpose")?QA(this.config):null),this.models.movenet||(this.config.body.enabled&&this.config.body.modelPath.includes("movenet")?Y5(this.config):null),this.models.nanodet||(this.config.object.enabled&&this.config.object.modelPath.includes("nanodet")?Q5(this.config):null),this.models.centernet||(this.config.object.enabled&&this.config.object.modelPath.includes("centernet")?eA(this.config):null),this.models.faceres||(this.config.face.enabled&&this.config.face.description.enabled?M5(this.config):null),this.models.segmentation||(this.config.segmentation.enabled?_0(this.config):null)]):(this.config.face.enabled&&!this.models.face&&(this.models.face=await m5(this.config)),this.config.face.enabled&&this.config.face.emotion.enabled&&!this.models.emotion&&(this.models.emotion=await p5(this.config)),this.config.hand.enabled&&!this.models.handpose&&(this.models.handpose=await Z5(this.config)),this.config.body.enabled&&!this.models.posenet&&this.config.body.modelPath.includes("posenet")&&(this.models.posenet=await k5(this.config)),this.config.body.enabled&&!this.models.blazepose&&this.config.body.modelPath.includes("blazepose")&&(this.models.blazepose=await Y0(this.config)),this.config.body.enabled&&!this.models.efficientpose&&this.config.body.modelPath.includes("efficientpose")&&(this.models.efficientpose=await Y0(this.config)),this.config.body.enabled&&!this.models.movenet&&this.config.body.modelPath.includes("movenet")&&(this.models.movenet=await Y5(this.config)),this.config.object.enabled&&!this.models.nanodet&&this.config.object.modelPath.includes("nanodet")&&(this.models.nanodet=await Q5(this.config)),this.config.object.enabled&&!this.models.centernet&&this.config.object.modelPath.includes("centernet")&&(this.models.centernet=await eA(this.config)),this.config.face.enabled&&this.config.face.description.enabled&&!this.models.faceres&&(this.models.faceres=await M5(this.config)),this.config.segmentation.enabled&&!this.models.segmentation&&(this.models.segmentation=await _0(this.config))),C(this,c0)&&(this.config.debug&&g("tf engine state:",this.tf.engine().state.numBytes,"bytes",this.tf.engine().state.numTensors,"tensors"),_(this,c0,!1));let o=Math.trunc(N()-t);o>(this.performance.load||0)&&(this.performance.load=o)}async detect(e,t){return new Promise(async o=>{this.state="config";let n,x;this.config=J(this.config,t),this.state="check";let r=C(this,e5).call(this,e);r&&(g(r,e),o({error:r}));let a=N();await C(this,N0).call(this),await this.load(),n=N();let y=l0(e,this.config);if(this.performance.image=Math.trunc(N()-n),this.analyze("Get Image:"),this.config.segmentation.enabled&&y&&y.tensor&&(this.analyze("Start Segmentation:"),this.state="run:segmentation",n=N(),await iA(y),x=Math.trunc(N()-n),x>0&&(this.performance.segmentation=x),y.canvas&&(y.tensor.dispose(),y=l0(y.canvas,this.config)),this.analyze("End Segmentation:")),!y||!y.tensor){g("could not convert input to tensor"),o({error:"could not convert input to tensor"});return}n=N(),this.config.skipFrame=await C(this,t5).call(this,y.tensor),this.performance.frames||(this.performance.frames=0),this.performance.cached||(this.performance.cached=0),this.performance.frames++,this.config.skipFrame&&this.performance.cached++,this.performance.changed=Math.trunc(N()-n),this.analyze("Check Changed:");let i,c,l,f;this.config.async?(i=this.config.face.enabled?z5(this,y.tensor):[],this.performance.face&&delete this.performance.face):(this.state="run:face",n=N(),i=this.config.face.enabled?await z5(this,y.tensor):[],x=Math.trunc(N()-n),x>0&&(this.performance.face=x)),this.analyze("Start Body:"),this.config.async?(this.config.body.modelPath.includes("posenet")?c=this.config.body.enabled?W5(y.tensor,this.config):[]:this.config.body.modelPath.includes("blazepose")?c=this.config.body.enabled?V5(y.tensor,this.config):[]:this.config.body.modelPath.includes("efficientpose")?c=this.config.body.enabled?q5(y.tensor,this.config):[]:this.config.body.modelPath.includes("movenet")&&(c=this.config.body.enabled?G5(y.tensor,this.config):[]),this.performance.body&&delete this.performance.body):(this.state="run:body",n=N(),this.config.body.modelPath.includes("posenet")?c=this.config.body.enabled?await W5(y.tensor,this.config):[]:this.config.body.modelPath.includes("blazepose")?c=this.config.body.enabled?await V5(y.tensor,this.config):[]:this.config.body.modelPath.includes("efficientpose")?c=this.config.body.enabled?await q5(y.tensor,this.config):[]:this.config.body.modelPath.includes("movenet")&&(c=this.config.body.enabled?await G5(y.tensor,this.config):[]),x=Math.trunc(N()-n),x>0&&(this.performance.body=x)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.config.async?(l=this.config.hand.enabled?H5(y.tensor,this.config):[],this.performance.hand&&delete this.performance.hand):(this.state="run:hand",n=N(),l=this.config.hand.enabled?await H5(y.tensor,this.config):[],x=Math.trunc(N()-n),x>0&&(this.performance.hand=x)),this.analyze("End Hand:"),this.analyze("Start Object:"),this.config.async?(this.config.object.modelPath.includes("nanodet")?f=this.config.object.enabled?_5(y.tensor,this.config):[]:this.config.object.modelPath.includes("centernet")&&(f=this.config.object.enabled?tA(y.tensor,this.config):[]),this.performance.object&&delete this.performance.object):(this.state="run:object",n=N(),this.config.object.modelPath.includes("nanodet")?f=this.config.object.enabled?await _5(y.tensor,this.config):[]:this.config.object.modelPath.includes("centernet")&&(f=this.config.object.enabled?await tA(y.tensor,this.config):[]),x=Math.trunc(N()-n),x>0&&(this.performance.object=x)),this.analyze("End Object:"),this.config.async&&([i,c,l,f]=await Promise.all([i,c,l,f]));let u=[];this.config.gesture.enabled&&(n=N(),u=[...$A(i),..._A(c),...ee(l),...Ae(i)],this.config.async?this.performance.gesture&&delete this.performance.gesture:this.performance.gesture=Math.trunc(N()-n)),this.performance.total=Math.trunc(N()-a),this.state="idle",this.result={face:i,body:c,hand:l,gesture:u,object:f,performance:this.performance,canvas:y.canvas,timestamp:Date.now(),get persons(){var z;return ae(i,c,l,u,(z=y==null?void 0:y.tensor)==null?void 0:z.shape)}},s.dispose(y.tensor),o(this.result)})}async warmup(e){let t=N();if(e&&(this.config=J(this.config,e)),!this.config.warmup||this.config.warmup==="none")return{error:"null"};let o;typeof createImageBitmap=="function"?o=await C(this,n5).call(this):typeof Image!="undefined"?o=await C(this,o5).call(this):o=await C(this,s5).call(this);let n=N();return this.config.debug&&g("Warmup",this.config.warmup,Math.round(n-t),"ms",o),o}};T0=new WeakMap,k0=new WeakMap,I0=new WeakMap,c0=new WeakMap,d0=new WeakMap,P0=new WeakMap,e5=new WeakMap,N0=new WeakMap,t5=new WeakMap,n5=new WeakMap,o5=new WeakMap,s5=new WeakMap;export{r2 as Human,r2 as default}; //# sourceMappingURL=human.esm-nobundle.js.map diff --git a/dist/human.esm.js b/dist/human.esm.js index ff2cfc35..e5ebc3cd 100644 --- a/dist/human.esm.js +++ b/dist/human.esm.js @@ -5012,7 +5012,7 @@ AAAAAAJAAAAAAAAAAAAAABAJEAAAAAAAAAAAAAAAIEoBKAAAAAAAAAAAAAAABAlAAAAAAAIAAAAA BAkBAkBAkBAlACEgMZjdjbFW8bWrEx8YWANb6Fp+bfwab+vLDKMFK9qxH5L0bAr8OPRPKz2AY7J2 SbAjYZAI2E7AIEgIEgIEgMdkSy2NgY7MdlmyNoBXsxmFuyNgVTVjNV3KjlBRNTlXTVHKCrlIqt5T lBhEMohlFerLlBjEMohMVTEARDKCITsAk2AEgAAAkAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAD/ -2Q==`;var h_="2.0.2";var Du,Ch,Eh,ki,Ii,Fu,I0,$h,S0,T0,N0,C0,hwe=class{constructor(t){Ir(this,Du,void 0);Ir(this,Ch,void 0);Ir(this,Eh,void 0);Ir(this,ki,void 0);Ir(this,Ii,void 0);Ir(this,Fu,void 0);this.analyze=(...t)=>{if(!Fn(this,Ch))return;let n=this.tf.engine().state.numTensors,r=Fn(this,Du);Qr(this,Du,n);let s=n-r;s!==0&&me(...t,s)};Ir(this,I0,t=>{if(!Fn(this,Eh))return null;if(!t)return"input is not defined";if(this.tf.ENV.flags.IS_NODE&&!(t instanceof Tt))return"input must be a tensor";try{this.tf.getBackend()}catch(n){return"backend not loaded"}return null});Ir(this,$h,async(t=!1)=>{var n;if(this.config.backend&&this.config.backend.length>0&&t||this.tf.getBackend()!==this.config.backend){let r=at();if(this.state="backend",this.config.backend&&this.config.backend.length>0){if(typeof window=="undefined"&&typeof WorkerGlobalScope!="undefined"&&this.config.debug&&me("running inside web worker"),this.tf.ENV.flags.IS_BROWSER&&this.config.backend==="tensorflow"&&(this.config.backend="webgl"),this.tf.ENV.flags.IS_NODE&&(this.config.backend==="webgl"||this.config.backend==="humangl")&&(this.config.backend="tensorflow"),this.config.debug&&me("setting backend:",this.config.backend),this.config.backend==="wasm"){if(this.config.debug&&me("wasm path:",this.config.wasmPath),typeof((n=this.tf)==null?void 0:n.setWasmPaths)!="undefined")this.tf.setWasmPaths(this.config.wasmPath);else throw new Error("Human: WASM backend is not loaded");let s=await this.tf.env().getAsync("WASM_HAS_SIMD_SUPPORT"),a=await this.tf.env().getAsync("WASM_HAS_MULTITHREAD_SUPPORT");this.config.debug&&me(`wasm execution: ${s?"SIMD":"no SIMD"} ${a?"multithreaded":"singlethreaded"}`),this.config.debug&&!s&&me("warning: wasm simd support is not enabled")}this.config.backend==="humangl"&&p$();try{await this.tf.setBackend(this.config.backend)}catch(s){me("error: cannot set backend:",this.config.backend,s)}}if(this.tf.enableProdMode(),this.tf.getBackend()==="webgl"||this.tf.getBackend()==="humangl"){this.tf.ENV.set("CHECK_COMPUTATION_FOR_ERRORS",!1),this.tf.ENV.set("WEBGL_CPU_FORWARD",!0),this.tf.ENV.set("WEBGL_PACK_DEPTHWISECONV",!0),typeof this.config.deallocate!="undefined"&&this.config.deallocate&&(me("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:",!0),this.tf.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",0));let s=await this.tf.backend().getGPGPUContext().gl;this.config.debug&&me(`gl version:${s.getParameter(s.VERSION)} renderer:${s.getParameter(s.RENDERER)}`)}await this.tf.ready(),this.performance.backend=Math.trunc(at()-r)}});this.next=t=>c_(t||this.result);Ir(this,S0,async t=>{if(this.config.cacheSensitivity===0)return!1;let n=32,r=t.resizeBilinear([Math.trunc(t.shape[1]/n),Math.trunc(t.shape[2]/n)]),s=r.dataSync(),a=0;for(let l=0;l10*this.config.cacheSensitivity?0:o),i});Ir(this,T0,async()=>{let t=(s,a="application/octet-stream")=>fetch(`data:${a};base64,${s}`).then(o=>o.blob()),n,r;switch(this.config.warmup){case"face":n=await t(w0);break;case"full":n=await t(k0);break;default:n=null}if(n){let s=await createImageBitmap(n);r=await this.detect(s,this.config),s.close()}return r});Ir(this,N0,async()=>new Promise(t=>{let n,r=0;switch(this.config.warmup){case"face":r=256,n="data:image/jpeg;base64,"+w0;break;case"full":case"body":r=1200,n="data:image/jpeg;base64,"+k0;break;default:n=null}let s=new Image;s.onload=async()=>{let a=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(r,r):document.createElement("canvas");a.width=s.naturalWidth,a.height=s.naturalHeight;let o=a.getContext("2d");o==null||o.drawImage(s,0,0);let i=await this.detect(a,this.config);t(i)},n?s.src=n:t(null)}));Ir(this,C0,async()=>{let t=s=>Buffer.from(s,"base64"),n;if(this.config.warmup==="face"&&(n=t(w0)),(this.config.warmup==="body"||this.config.warmup==="full")&&(n=t(k0)),!n)return null;let r;if(typeof void 0!="undefined"){let s=(void 0).decodeJpeg(n),a=s.expandDims(0);this.tf.dispose(s),r=await this.detect(a,this.config),this.tf.dispose(a)}else this.config.debug&&me("Warmup tfjs-node not loaded");return r});this.config=lr(F3,t||{}),this.tf=bh,this.draw=g3,this.version=h_,this.state="idle",Qr(this,Du,0),Qr(this,Ch,!1),Qr(this,Eh,!1),Qr(this,ki,!0),Qr(this,Fu,0),this.performance={backend:0,load:0,image:0,frames:0,cached:0,changed:0,total:0,draw:0},this.models={face:null,posenet:null,blazepose:null,efficientpose:null,movenet:null,handpose:null,age:null,gender:null,emotion:null,embedding:null,nanodet:null,centernet:null,faceres:null,segmentation:null},this.image=n=>wi(n,this.config),this.faceTriangulation=T$,this.faceUVMap=N$,this.sysinfo=M3(),Qr(this,Ii,1)}similarity(t,n){return Db(t,n)}segmentation(t,n){return d_(t,n,this.config)}enhance(t){return Fb(t)}match(t,n,r=0){return $$(t,n,r)}async load(t){this.state="load";let n=at();t&&(this.config=lr(this.config,t)),Fn(this,ki)&&(this.config.debug&&me(`version: ${this.version}`),this.config.debug&&me(`tfjs version: ${this.tf.version_core}`),this.config.debug&&me("platform:",this.sysinfo.platform),this.config.debug&&me("agent:",this.sysinfo.agent),await Fn(this,$h).call(this,!0),this.tf.ENV.flags.IS_BROWSER&&(this.config.debug&&me("configuration:",this.config),this.config.debug&&me("tf flags:",this.tf.ENV.flags))),this.config.async?[this.models.face,this.models.emotion,this.models.handpose,this.models.posenet,this.models.blazepose,this.models.efficientpose,this.models.movenet,this.models.nanodet,this.models.centernet,this.models.faceres,this.models.segmentation]=await Promise.all([this.models.face||(this.config.face.enabled?Tb(this.config):null),this.models.emotion||(this.config.face.enabled&&this.config.face.emotion.enabled?Eb(this.config):null),this.models.handpose||(this.config.hand.enabled?Xb(this.config):null),this.models.posenet||(this.config.body.enabled&&this.config.body.modelPath.includes("posenet")?Ub(this.config):null),this.models.blazepose||(this.config.body.enabled&&this.config.body.modelPath.includes("blazepose")?g0(this.config):null),this.models.efficientpose||(this.config.body.enabled&&this.config.body.modelPath.includes("efficientpose")?J$(this.config):null),this.models.movenet||(this.config.body.enabled&&this.config.body.modelPath.includes("movenet")?s3(this.config):null),this.models.nanodet||(this.config.object.enabled&&this.config.object.modelPath.includes("nanodet")?l3(this.config):null),this.models.centernet||(this.config.object.enabled&&this.config.object.modelPath.includes("centernet")?h3(this.config):null),this.models.faceres||(this.config.face.enabled&&this.config.face.description.enabled?Rb(this.config):null),this.models.segmentation||(this.config.segmentation.enabled?v0(this.config):null)]):(this.config.face.enabled&&!this.models.face&&(this.models.face=await Tb(this.config)),this.config.face.enabled&&this.config.face.emotion.enabled&&!this.models.emotion&&(this.models.emotion=await Eb(this.config)),this.config.hand.enabled&&!this.models.handpose&&(this.models.handpose=await Xb(this.config)),this.config.body.enabled&&!this.models.posenet&&this.config.body.modelPath.includes("posenet")&&(this.models.posenet=await Ub(this.config)),this.config.body.enabled&&!this.models.blazepose&&this.config.body.modelPath.includes("blazepose")&&(this.models.blazepose=await g0(this.config)),this.config.body.enabled&&!this.models.efficientpose&&this.config.body.modelPath.includes("efficientpose")&&(this.models.efficientpose=await g0(this.config)),this.config.body.enabled&&!this.models.movenet&&this.config.body.modelPath.includes("movenet")&&(this.models.movenet=await s3(this.config)),this.config.object.enabled&&!this.models.nanodet&&this.config.object.modelPath.includes("nanodet")&&(this.models.nanodet=await l3(this.config)),this.config.object.enabled&&!this.models.centernet&&this.config.object.modelPath.includes("centernet")&&(this.models.centernet=await h3(this.config)),this.config.face.enabled&&this.config.face.description.enabled&&!this.models.faceres&&(this.models.faceres=await Rb(this.config)),this.config.segmentation.enabled&&!this.models.segmentation&&(this.models.segmentation=await v0(this.config))),Fn(this,ki)&&(this.config.debug&&me("tf engine state:",this.tf.engine().state.numBytes,"bytes",this.tf.engine().state.numTensors,"tensors"),Qr(this,ki,!1));let r=Math.trunc(at()-n);r>(this.performance.load||0)&&(this.performance.load=r)}async detect(t,n){return new Promise(async r=>{this.state="config";let s,a;this.config=lr(this.config,n),this.state="check";let o=Fn(this,I0).call(this,t);o&&(me(o,t),r({error:o}));let i=at();await Fn(this,$h).call(this),await this.load(),s=at();let l=wi(t,this.config);if(this.performance.image=Math.trunc(at()-s),this.analyze("Get Image:"),this.config.segmentation.enabled&&l&&l.tensor&&(this.analyze("Start Segmentation:"),this.state="run:segmentation",s=at(),await A3(l),a=Math.trunc(at()-s),a>0&&(this.performance.segmentation=a),l.canvas&&(l.tensor.dispose(),l=wi(l.canvas,this.config)),this.analyze("End Segmentation:")),!l||!l.tensor){me("could not convert input to tensor"),r({error:"could not convert input to tensor"});return}s=at(),this.config.skipFrame=await Fn(this,S0).call(this,l.tensor),this.performance.frames||(this.performance.frames=0),this.performance.cached||(this.performance.cached=0),this.performance.frames++,this.config.skipFrame&&this.performance.cached++,this.performance.changed=Math.trunc(at()-s),this.analyze("Check Changed:");let u,c,d,h;this.config.async?(u=this.config.face.enabled?Ob(this,l.tensor):[],this.performance.face&&delete this.performance.face):(this.state="run:face",s=at(),u=this.config.face.enabled?await Ob(this,l.tensor):[],a=Math.trunc(at()-s),a>0&&(this.performance.face=a)),this.analyze("Start Body:"),this.config.async?(this.config.body.modelPath.includes("posenet")?c=this.config.body.enabled?Vb(l.tensor,this.config):[]:this.config.body.modelPath.includes("blazepose")?c=this.config.body.enabled?Zb(l.tensor,this.config):[]:this.config.body.modelPath.includes("efficientpose")?c=this.config.body.enabled?e3(l.tensor,this.config):[]:this.config.body.modelPath.includes("movenet")&&(c=this.config.body.enabled?a3(l.tensor,this.config):[]),this.performance.body&&delete this.performance.body):(this.state="run:body",s=at(),this.config.body.modelPath.includes("posenet")?c=this.config.body.enabled?await Vb(l.tensor,this.config):[]:this.config.body.modelPath.includes("blazepose")?c=this.config.body.enabled?await Zb(l.tensor,this.config):[]:this.config.body.modelPath.includes("efficientpose")?c=this.config.body.enabled?await e3(l.tensor,this.config):[]:this.config.body.modelPath.includes("movenet")&&(c=this.config.body.enabled?await a3(l.tensor,this.config):[]),a=Math.trunc(at()-s),a>0&&(this.performance.body=a)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.config.async?(d=this.config.hand.enabled?Kb(l.tensor,this.config):[],this.performance.hand&&delete this.performance.hand):(this.state="run:hand",s=at(),d=this.config.hand.enabled?await Kb(l.tensor,this.config):[],a=Math.trunc(at()-s),a>0&&(this.performance.hand=a)),this.analyze("End Hand:"),this.analyze("Start Object:"),this.config.async?(this.config.object.modelPath.includes("nanodet")?h=this.config.object.enabled?u3(l.tensor,this.config):[]:this.config.object.modelPath.includes("centernet")&&(h=this.config.object.enabled?p3(l.tensor,this.config):[]),this.performance.object&&delete this.performance.object):(this.state="run:object",s=at(),this.config.object.modelPath.includes("nanodet")?h=this.config.object.enabled?await u3(l.tensor,this.config):[]:this.config.object.modelPath.includes("centernet")&&(h=this.config.object.enabled?await p3(l.tensor,this.config):[]),a=Math.trunc(at()-s),a>0&&(this.performance.object=a)),this.analyze("End Object:"),this.config.async&&([u,c,d,h]=await Promise.all([u,c,d,h]));let p=[];this.config.gesture.enabled&&(s=at(),p=[...e_(u),...Q$(c),...n_(d),...t_(u)],this.config.async?this.performance.gesture&&delete this.performance.gesture:this.performance.gesture=Math.trunc(at()-s)),this.performance.total=Math.trunc(at()-i),this.state="idle",this.result={face:u,body:c,hand:d,gesture:p,object:h,performance:this.performance,canvas:l.canvas,timestamp:Date.now(),get persons(){var f;return u_(u,c,d,p,(f=l==null?void 0:l.tensor)==null?void 0:f.shape)}},Ve(l.tensor),r(this.result)})}async warmup(t){let n=at();if(t&&(this.config=lr(this.config,t)),!this.config.warmup||this.config.warmup==="none")return{error:"null"};let r;typeof createImageBitmap=="function"?r=await Fn(this,T0).call(this):typeof Image!="undefined"?r=await Fn(this,N0).call(this):r=await Fn(this,C0).call(this);let s=at();return this.config.debug&&me("Warmup",this.config.warmup,Math.round(s-n),"ms",r),r}};Du=new WeakMap,Ch=new WeakMap,Eh=new WeakMap,ki=new WeakMap,Ii=new WeakMap,Fu=new WeakMap,I0=new WeakMap,$h=new WeakMap,S0=new WeakMap,T0=new WeakMap,N0=new WeakMap,C0=new WeakMap;export{hwe as Human,hwe as default}; +2Q==`;var h_="2.0.3";var Du,Ch,Eh,ki,Ii,Fu,I0,$h,S0,T0,N0,C0,hwe=class{constructor(t){Ir(this,Du,void 0);Ir(this,Ch,void 0);Ir(this,Eh,void 0);Ir(this,ki,void 0);Ir(this,Ii,void 0);Ir(this,Fu,void 0);this.analyze=(...t)=>{if(!Fn(this,Ch))return;let n=this.tf.engine().state.numTensors,r=Fn(this,Du);Qr(this,Du,n);let s=n-r;s!==0&&me(...t,s)};Ir(this,I0,t=>{if(!Fn(this,Eh))return null;if(!t)return"input is not defined";if(this.tf.ENV.flags.IS_NODE&&!(t instanceof Tt))return"input must be a tensor";try{this.tf.getBackend()}catch(n){return"backend not loaded"}return null});Ir(this,$h,async(t=!1)=>{var n;if(this.config.backend&&this.config.backend.length>0&&t||this.tf.getBackend()!==this.config.backend){let r=at();if(this.state="backend",this.config.backend&&this.config.backend.length>0){if(typeof window=="undefined"&&typeof WorkerGlobalScope!="undefined"&&this.config.debug&&me("running inside web worker"),this.tf.ENV.flags.IS_BROWSER&&this.config.backend==="tensorflow"&&(this.config.backend="webgl"),this.tf.ENV.flags.IS_NODE&&(this.config.backend==="webgl"||this.config.backend==="humangl")&&(this.config.backend="tensorflow"),this.config.debug&&me("setting backend:",this.config.backend),this.config.backend==="wasm"){if(this.config.debug&&me("wasm path:",this.config.wasmPath),typeof((n=this.tf)==null?void 0:n.setWasmPaths)!="undefined")this.tf.setWasmPaths(this.config.wasmPath);else throw new Error("Human: WASM backend is not loaded");let s=await this.tf.env().getAsync("WASM_HAS_SIMD_SUPPORT"),a=await this.tf.env().getAsync("WASM_HAS_MULTITHREAD_SUPPORT");this.config.debug&&me(`wasm execution: ${s?"SIMD":"no SIMD"} ${a?"multithreaded":"singlethreaded"}`),this.config.debug&&!s&&me("warning: wasm simd support is not enabled")}this.config.backend==="humangl"&&p$();try{await this.tf.setBackend(this.config.backend)}catch(s){me("error: cannot set backend:",this.config.backend,s)}}if(this.tf.enableProdMode(),this.tf.getBackend()==="webgl"||this.tf.getBackend()==="humangl"){this.tf.ENV.set("CHECK_COMPUTATION_FOR_ERRORS",!1),this.tf.ENV.set("WEBGL_CPU_FORWARD",!0),this.tf.ENV.set("WEBGL_PACK_DEPTHWISECONV",!0),typeof this.config.deallocate!="undefined"&&this.config.deallocate&&(me("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:",!0),this.tf.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",0));let s=await this.tf.backend().getGPGPUContext().gl;this.config.debug&&me(`gl version:${s.getParameter(s.VERSION)} renderer:${s.getParameter(s.RENDERER)}`)}await this.tf.ready(),this.performance.backend=Math.trunc(at()-r)}});this.next=t=>c_(t||this.result);Ir(this,S0,async t=>{if(this.config.cacheSensitivity===0)return!1;let n=32,r=t.resizeBilinear([Math.trunc(t.shape[1]/n),Math.trunc(t.shape[2]/n)]),s=r.dataSync(),a=0;for(let l=0;l10*this.config.cacheSensitivity?0:o),i});Ir(this,T0,async()=>{let t=(s,a="application/octet-stream")=>fetch(`data:${a};base64,${s}`).then(o=>o.blob()),n,r;switch(this.config.warmup){case"face":n=await t(w0);break;case"full":n=await t(k0);break;default:n=null}if(n){let s=await createImageBitmap(n);r=await this.detect(s,this.config),s.close()}return r});Ir(this,N0,async()=>new Promise(t=>{let n,r=0;switch(this.config.warmup){case"face":r=256,n="data:image/jpeg;base64,"+w0;break;case"full":case"body":r=1200,n="data:image/jpeg;base64,"+k0;break;default:n=null}let s=new Image;s.onload=async()=>{let a=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(r,r):document.createElement("canvas");a.width=s.naturalWidth,a.height=s.naturalHeight;let o=a.getContext("2d");o==null||o.drawImage(s,0,0);let i=await this.detect(a,this.config);t(i)},n?s.src=n:t(null)}));Ir(this,C0,async()=>{let t=s=>Buffer.from(s,"base64"),n;if(this.config.warmup==="face"&&(n=t(w0)),(this.config.warmup==="body"||this.config.warmup==="full")&&(n=t(k0)),!n)return null;let r;if(typeof void 0!="undefined"){let s=(void 0).decodeJpeg(n),a=s.expandDims(0);this.tf.dispose(s),r=await this.detect(a,this.config),this.tf.dispose(a)}else this.config.debug&&me("Warmup tfjs-node not loaded");return r});this.config=lr(F3,t||{}),this.tf=bh,this.draw=g3,this.version=h_,this.state="idle",Qr(this,Du,0),Qr(this,Ch,!1),Qr(this,Eh,!1),Qr(this,ki,!0),Qr(this,Fu,0),this.performance={backend:0,load:0,image:0,frames:0,cached:0,changed:0,total:0,draw:0},this.models={face:null,posenet:null,blazepose:null,efficientpose:null,movenet:null,handpose:null,age:null,gender:null,emotion:null,embedding:null,nanodet:null,centernet:null,faceres:null,segmentation:null},this.image=n=>wi(n,this.config),this.faceTriangulation=T$,this.faceUVMap=N$,this.sysinfo=M3(),Qr(this,Ii,1)}similarity(t,n){return Db(t,n)}segmentation(t,n){return d_(t,n,this.config)}enhance(t){return Fb(t)}match(t,n,r=0){return $$(t,n,r)}async load(t){this.state="load";let n=at();t&&(this.config=lr(this.config,t)),Fn(this,ki)&&(this.config.debug&&me(`version: ${this.version}`),this.config.debug&&me(`tfjs version: ${this.tf.version_core}`),this.config.debug&&me("platform:",this.sysinfo.platform),this.config.debug&&me("agent:",this.sysinfo.agent),await Fn(this,$h).call(this,!0),this.tf.ENV.flags.IS_BROWSER&&(this.config.debug&&me("configuration:",this.config),this.config.debug&&me("tf flags:",this.tf.ENV.flags))),this.config.async?[this.models.face,this.models.emotion,this.models.handpose,this.models.posenet,this.models.blazepose,this.models.efficientpose,this.models.movenet,this.models.nanodet,this.models.centernet,this.models.faceres,this.models.segmentation]=await Promise.all([this.models.face||(this.config.face.enabled?Tb(this.config):null),this.models.emotion||(this.config.face.enabled&&this.config.face.emotion.enabled?Eb(this.config):null),this.models.handpose||(this.config.hand.enabled?Xb(this.config):null),this.models.posenet||(this.config.body.enabled&&this.config.body.modelPath.includes("posenet")?Ub(this.config):null),this.models.blazepose||(this.config.body.enabled&&this.config.body.modelPath.includes("blazepose")?g0(this.config):null),this.models.efficientpose||(this.config.body.enabled&&this.config.body.modelPath.includes("efficientpose")?J$(this.config):null),this.models.movenet||(this.config.body.enabled&&this.config.body.modelPath.includes("movenet")?s3(this.config):null),this.models.nanodet||(this.config.object.enabled&&this.config.object.modelPath.includes("nanodet")?l3(this.config):null),this.models.centernet||(this.config.object.enabled&&this.config.object.modelPath.includes("centernet")?h3(this.config):null),this.models.faceres||(this.config.face.enabled&&this.config.face.description.enabled?Rb(this.config):null),this.models.segmentation||(this.config.segmentation.enabled?v0(this.config):null)]):(this.config.face.enabled&&!this.models.face&&(this.models.face=await Tb(this.config)),this.config.face.enabled&&this.config.face.emotion.enabled&&!this.models.emotion&&(this.models.emotion=await Eb(this.config)),this.config.hand.enabled&&!this.models.handpose&&(this.models.handpose=await Xb(this.config)),this.config.body.enabled&&!this.models.posenet&&this.config.body.modelPath.includes("posenet")&&(this.models.posenet=await Ub(this.config)),this.config.body.enabled&&!this.models.blazepose&&this.config.body.modelPath.includes("blazepose")&&(this.models.blazepose=await g0(this.config)),this.config.body.enabled&&!this.models.efficientpose&&this.config.body.modelPath.includes("efficientpose")&&(this.models.efficientpose=await g0(this.config)),this.config.body.enabled&&!this.models.movenet&&this.config.body.modelPath.includes("movenet")&&(this.models.movenet=await s3(this.config)),this.config.object.enabled&&!this.models.nanodet&&this.config.object.modelPath.includes("nanodet")&&(this.models.nanodet=await l3(this.config)),this.config.object.enabled&&!this.models.centernet&&this.config.object.modelPath.includes("centernet")&&(this.models.centernet=await h3(this.config)),this.config.face.enabled&&this.config.face.description.enabled&&!this.models.faceres&&(this.models.faceres=await Rb(this.config)),this.config.segmentation.enabled&&!this.models.segmentation&&(this.models.segmentation=await v0(this.config))),Fn(this,ki)&&(this.config.debug&&me("tf engine state:",this.tf.engine().state.numBytes,"bytes",this.tf.engine().state.numTensors,"tensors"),Qr(this,ki,!1));let r=Math.trunc(at()-n);r>(this.performance.load||0)&&(this.performance.load=r)}async detect(t,n){return new Promise(async r=>{this.state="config";let s,a;this.config=lr(this.config,n),this.state="check";let o=Fn(this,I0).call(this,t);o&&(me(o,t),r({error:o}));let i=at();await Fn(this,$h).call(this),await this.load(),s=at();let l=wi(t,this.config);if(this.performance.image=Math.trunc(at()-s),this.analyze("Get Image:"),this.config.segmentation.enabled&&l&&l.tensor&&(this.analyze("Start Segmentation:"),this.state="run:segmentation",s=at(),await A3(l),a=Math.trunc(at()-s),a>0&&(this.performance.segmentation=a),l.canvas&&(l.tensor.dispose(),l=wi(l.canvas,this.config)),this.analyze("End Segmentation:")),!l||!l.tensor){me("could not convert input to tensor"),r({error:"could not convert input to tensor"});return}s=at(),this.config.skipFrame=await Fn(this,S0).call(this,l.tensor),this.performance.frames||(this.performance.frames=0),this.performance.cached||(this.performance.cached=0),this.performance.frames++,this.config.skipFrame&&this.performance.cached++,this.performance.changed=Math.trunc(at()-s),this.analyze("Check Changed:");let u,c,d,h;this.config.async?(u=this.config.face.enabled?Ob(this,l.tensor):[],this.performance.face&&delete this.performance.face):(this.state="run:face",s=at(),u=this.config.face.enabled?await Ob(this,l.tensor):[],a=Math.trunc(at()-s),a>0&&(this.performance.face=a)),this.analyze("Start Body:"),this.config.async?(this.config.body.modelPath.includes("posenet")?c=this.config.body.enabled?Vb(l.tensor,this.config):[]:this.config.body.modelPath.includes("blazepose")?c=this.config.body.enabled?Zb(l.tensor,this.config):[]:this.config.body.modelPath.includes("efficientpose")?c=this.config.body.enabled?e3(l.tensor,this.config):[]:this.config.body.modelPath.includes("movenet")&&(c=this.config.body.enabled?a3(l.tensor,this.config):[]),this.performance.body&&delete this.performance.body):(this.state="run:body",s=at(),this.config.body.modelPath.includes("posenet")?c=this.config.body.enabled?await Vb(l.tensor,this.config):[]:this.config.body.modelPath.includes("blazepose")?c=this.config.body.enabled?await Zb(l.tensor,this.config):[]:this.config.body.modelPath.includes("efficientpose")?c=this.config.body.enabled?await e3(l.tensor,this.config):[]:this.config.body.modelPath.includes("movenet")&&(c=this.config.body.enabled?await a3(l.tensor,this.config):[]),a=Math.trunc(at()-s),a>0&&(this.performance.body=a)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.config.async?(d=this.config.hand.enabled?Kb(l.tensor,this.config):[],this.performance.hand&&delete this.performance.hand):(this.state="run:hand",s=at(),d=this.config.hand.enabled?await Kb(l.tensor,this.config):[],a=Math.trunc(at()-s),a>0&&(this.performance.hand=a)),this.analyze("End Hand:"),this.analyze("Start Object:"),this.config.async?(this.config.object.modelPath.includes("nanodet")?h=this.config.object.enabled?u3(l.tensor,this.config):[]:this.config.object.modelPath.includes("centernet")&&(h=this.config.object.enabled?p3(l.tensor,this.config):[]),this.performance.object&&delete this.performance.object):(this.state="run:object",s=at(),this.config.object.modelPath.includes("nanodet")?h=this.config.object.enabled?await u3(l.tensor,this.config):[]:this.config.object.modelPath.includes("centernet")&&(h=this.config.object.enabled?await p3(l.tensor,this.config):[]),a=Math.trunc(at()-s),a>0&&(this.performance.object=a)),this.analyze("End Object:"),this.config.async&&([u,c,d,h]=await Promise.all([u,c,d,h]));let p=[];this.config.gesture.enabled&&(s=at(),p=[...e_(u),...Q$(c),...n_(d),...t_(u)],this.config.async?this.performance.gesture&&delete this.performance.gesture:this.performance.gesture=Math.trunc(at()-s)),this.performance.total=Math.trunc(at()-i),this.state="idle",this.result={face:u,body:c,hand:d,gesture:p,object:h,performance:this.performance,canvas:l.canvas,timestamp:Date.now(),get persons(){var f;return u_(u,c,d,p,(f=l==null?void 0:l.tensor)==null?void 0:f.shape)}},Ve(l.tensor),r(this.result)})}async warmup(t){let n=at();if(t&&(this.config=lr(this.config,t)),!this.config.warmup||this.config.warmup==="none")return{error:"null"};let r;typeof createImageBitmap=="function"?r=await Fn(this,T0).call(this):typeof Image!="undefined"?r=await Fn(this,N0).call(this):r=await Fn(this,C0).call(this);let s=at();return this.config.debug&&me("Warmup",this.config.warmup,Math.round(s-n),"ms",r),r}};Du=new WeakMap,Ch=new WeakMap,Eh=new WeakMap,ki=new WeakMap,Ii=new WeakMap,Fu=new WeakMap,I0=new WeakMap,$h=new WeakMap,S0=new WeakMap,T0=new WeakMap,N0=new WeakMap,C0=new WeakMap;export{hwe as Human,hwe as default}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. diff --git a/dist/human.js b/dist/human.js index 4cff214b..528227e0 100644 --- a/dist/human.js +++ b/dist/human.js @@ -5012,7 +5012,7 @@ AAAAAAJAAAAAAAAAAAAAABAJEAAAAAAAAAAAAAAAIEoBKAAAAAAAAAAAAAAABAlAAAAAAAIAAAAA BAkBAkBAkBAlACEgMZjdjbFW8bWrEx8YWANb6Fp+bfwab+vLDKMFK9qxH5L0bAr8OPRPKz2AY7J2 SbAjYZAI2E7AIEgIEgIEgMdkSy2NgY7MdlmyNoBXsxmFuyNgVTVjNV3KjlBRNTlXTVHKCrlIqt5T lBhEMohlFerLlBjEMohMVTEARDKCITsAk2AEgAAAkAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAD/ -2Q==`;var h_="2.0.2";var Du,Ch,Eh,ki,Ii,Fu,I0,$h,S0,T0,N0,C0,p_=class{constructor(t){Ir(this,Du,void 0);Ir(this,Ch,void 0);Ir(this,Eh,void 0);Ir(this,ki,void 0);Ir(this,Ii,void 0);Ir(this,Fu,void 0);this.analyze=(...t)=>{if(!Fn(this,Ch))return;let n=this.tf.engine().state.numTensors,r=Fn(this,Du);Qr(this,Du,n);let s=n-r;s!==0&&me(...t,s)};Ir(this,I0,t=>{if(!Fn(this,Eh))return null;if(!t)return"input is not defined";if(this.tf.ENV.flags.IS_NODE&&!(t instanceof Tt))return"input must be a tensor";try{this.tf.getBackend()}catch(n){return"backend not loaded"}return null});Ir(this,$h,async(t=!1)=>{var n;if(this.config.backend&&this.config.backend.length>0&&t||this.tf.getBackend()!==this.config.backend){let r=at();if(this.state="backend",this.config.backend&&this.config.backend.length>0){if(typeof window=="undefined"&&typeof WorkerGlobalScope!="undefined"&&this.config.debug&&me("running inside web worker"),this.tf.ENV.flags.IS_BROWSER&&this.config.backend==="tensorflow"&&(this.config.backend="webgl"),this.tf.ENV.flags.IS_NODE&&(this.config.backend==="webgl"||this.config.backend==="humangl")&&(this.config.backend="tensorflow"),this.config.debug&&me("setting backend:",this.config.backend),this.config.backend==="wasm"){if(this.config.debug&&me("wasm path:",this.config.wasmPath),typeof((n=this.tf)==null?void 0:n.setWasmPaths)!="undefined")this.tf.setWasmPaths(this.config.wasmPath);else throw new Error("Human: WASM backend is not loaded");let s=await this.tf.env().getAsync("WASM_HAS_SIMD_SUPPORT"),a=await this.tf.env().getAsync("WASM_HAS_MULTITHREAD_SUPPORT");this.config.debug&&me(`wasm execution: ${s?"SIMD":"no SIMD"} ${a?"multithreaded":"singlethreaded"}`),this.config.debug&&!s&&me("warning: wasm simd support is not enabled")}this.config.backend==="humangl"&&p$();try{await this.tf.setBackend(this.config.backend)}catch(s){me("error: cannot set backend:",this.config.backend,s)}}if(this.tf.enableProdMode(),this.tf.getBackend()==="webgl"||this.tf.getBackend()==="humangl"){this.tf.ENV.set("CHECK_COMPUTATION_FOR_ERRORS",!1),this.tf.ENV.set("WEBGL_CPU_FORWARD",!0),this.tf.ENV.set("WEBGL_PACK_DEPTHWISECONV",!0),typeof this.config.deallocate!="undefined"&&this.config.deallocate&&(me("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:",!0),this.tf.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",0));let s=await this.tf.backend().getGPGPUContext().gl;this.config.debug&&me(`gl version:${s.getParameter(s.VERSION)} renderer:${s.getParameter(s.RENDERER)}`)}await this.tf.ready(),this.performance.backend=Math.trunc(at()-r)}});this.next=t=>c_(t||this.result);Ir(this,S0,async t=>{if(this.config.cacheSensitivity===0)return!1;let n=32,r=t.resizeBilinear([Math.trunc(t.shape[1]/n),Math.trunc(t.shape[2]/n)]),s=r.dataSync(),a=0;for(let l=0;l10*this.config.cacheSensitivity?0:o),i});Ir(this,T0,async()=>{let t=(s,a="application/octet-stream")=>fetch(`data:${a};base64,${s}`).then(o=>o.blob()),n,r;switch(this.config.warmup){case"face":n=await t(w0);break;case"full":n=await t(k0);break;default:n=null}if(n){let s=await createImageBitmap(n);r=await this.detect(s,this.config),s.close()}return r});Ir(this,N0,async()=>new Promise(t=>{let n,r=0;switch(this.config.warmup){case"face":r=256,n="data:image/jpeg;base64,"+w0;break;case"full":case"body":r=1200,n="data:image/jpeg;base64,"+k0;break;default:n=null}let s=new Image;s.onload=async()=>{let a=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(r,r):document.createElement("canvas");a.width=s.naturalWidth,a.height=s.naturalHeight;let o=a.getContext("2d");o==null||o.drawImage(s,0,0);let i=await this.detect(a,this.config);t(i)},n?s.src=n:t(null)}));Ir(this,C0,async()=>{let t=s=>Buffer.from(s,"base64"),n;if(this.config.warmup==="face"&&(n=t(w0)),(this.config.warmup==="body"||this.config.warmup==="full")&&(n=t(k0)),!n)return null;let r;if(typeof void 0!="undefined"){let s=(void 0).decodeJpeg(n),a=s.expandDims(0);this.tf.dispose(s),r=await this.detect(a,this.config),this.tf.dispose(a)}else this.config.debug&&me("Warmup tfjs-node not loaded");return r});this.config=lr(F3,t||{}),this.tf=bh,this.draw=y3,this.version=h_,this.state="idle",Qr(this,Du,0),Qr(this,Ch,!1),Qr(this,Eh,!1),Qr(this,ki,!0),Qr(this,Fu,0),this.performance={backend:0,load:0,image:0,frames:0,cached:0,changed:0,total:0,draw:0},this.models={face:null,posenet:null,blazepose:null,efficientpose:null,movenet:null,handpose:null,age:null,gender:null,emotion:null,embedding:null,nanodet:null,centernet:null,faceres:null,segmentation:null},this.image=n=>wi(n,this.config),this.faceTriangulation=T$,this.faceUVMap=N$,this.sysinfo=M3(),Qr(this,Ii,1)}similarity(t,n){return Fb(t,n)}segmentation(t,n){return d_(t,n,this.config)}enhance(t){return Mb(t)}match(t,n,r=0){return $$(t,n,r)}async load(t){this.state="load";let n=at();t&&(this.config=lr(this.config,t)),Fn(this,ki)&&(this.config.debug&&me(`version: ${this.version}`),this.config.debug&&me(`tfjs version: ${this.tf.version_core}`),this.config.debug&&me("platform:",this.sysinfo.platform),this.config.debug&&me("agent:",this.sysinfo.agent),await Fn(this,$h).call(this,!0),this.tf.ENV.flags.IS_BROWSER&&(this.config.debug&&me("configuration:",this.config),this.config.debug&&me("tf flags:",this.tf.ENV.flags))),this.config.async?[this.models.face,this.models.emotion,this.models.handpose,this.models.posenet,this.models.blazepose,this.models.efficientpose,this.models.movenet,this.models.nanodet,this.models.centernet,this.models.faceres,this.models.segmentation]=await Promise.all([this.models.face||(this.config.face.enabled?Nb(this.config):null),this.models.emotion||(this.config.face.enabled&&this.config.face.emotion.enabled?$b(this.config):null),this.models.handpose||(this.config.hand.enabled?Zb(this.config):null),this.models.posenet||(this.config.body.enabled&&this.config.body.modelPath.includes("posenet")?Hb(this.config):null),this.models.blazepose||(this.config.body.enabled&&this.config.body.modelPath.includes("blazepose")?g0(this.config):null),this.models.efficientpose||(this.config.body.enabled&&this.config.body.modelPath.includes("efficientpose")?J$(this.config):null),this.models.movenet||(this.config.body.enabled&&this.config.body.modelPath.includes("movenet")?a3(this.config):null),this.models.nanodet||(this.config.object.enabled&&this.config.object.modelPath.includes("nanodet")?u3(this.config):null),this.models.centernet||(this.config.object.enabled&&this.config.object.modelPath.includes("centernet")?p3(this.config):null),this.models.faceres||(this.config.face.enabled&&this.config.face.description.enabled?Db(this.config):null),this.models.segmentation||(this.config.segmentation.enabled?v0(this.config):null)]):(this.config.face.enabled&&!this.models.face&&(this.models.face=await Nb(this.config)),this.config.face.enabled&&this.config.face.emotion.enabled&&!this.models.emotion&&(this.models.emotion=await $b(this.config)),this.config.hand.enabled&&!this.models.handpose&&(this.models.handpose=await Zb(this.config)),this.config.body.enabled&&!this.models.posenet&&this.config.body.modelPath.includes("posenet")&&(this.models.posenet=await Hb(this.config)),this.config.body.enabled&&!this.models.blazepose&&this.config.body.modelPath.includes("blazepose")&&(this.models.blazepose=await g0(this.config)),this.config.body.enabled&&!this.models.efficientpose&&this.config.body.modelPath.includes("efficientpose")&&(this.models.efficientpose=await g0(this.config)),this.config.body.enabled&&!this.models.movenet&&this.config.body.modelPath.includes("movenet")&&(this.models.movenet=await a3(this.config)),this.config.object.enabled&&!this.models.nanodet&&this.config.object.modelPath.includes("nanodet")&&(this.models.nanodet=await u3(this.config)),this.config.object.enabled&&!this.models.centernet&&this.config.object.modelPath.includes("centernet")&&(this.models.centernet=await p3(this.config)),this.config.face.enabled&&this.config.face.description.enabled&&!this.models.faceres&&(this.models.faceres=await Db(this.config)),this.config.segmentation.enabled&&!this.models.segmentation&&(this.models.segmentation=await v0(this.config))),Fn(this,ki)&&(this.config.debug&&me("tf engine state:",this.tf.engine().state.numBytes,"bytes",this.tf.engine().state.numTensors,"tensors"),Qr(this,ki,!1));let r=Math.trunc(at()-n);r>(this.performance.load||0)&&(this.performance.load=r)}async detect(t,n){return new Promise(async r=>{this.state="config";let s,a;this.config=lr(this.config,n),this.state="check";let o=Fn(this,I0).call(this,t);o&&(me(o,t),r({error:o}));let i=at();await Fn(this,$h).call(this),await this.load(),s=at();let l=wi(t,this.config);if(this.performance.image=Math.trunc(at()-s),this.analyze("Get Image:"),this.config.segmentation.enabled&&l&&l.tensor&&(this.analyze("Start Segmentation:"),this.state="run:segmentation",s=at(),await x3(l),a=Math.trunc(at()-s),a>0&&(this.performance.segmentation=a),l.canvas&&(l.tensor.dispose(),l=wi(l.canvas,this.config)),this.analyze("End Segmentation:")),!l||!l.tensor){me("could not convert input to tensor"),r({error:"could not convert input to tensor"});return}s=at(),this.config.skipFrame=await Fn(this,S0).call(this,l.tensor),this.performance.frames||(this.performance.frames=0),this.performance.cached||(this.performance.cached=0),this.performance.frames++,this.config.skipFrame&&this.performance.cached++,this.performance.changed=Math.trunc(at()-s),this.analyze("Check Changed:");let u,c,d,h;this.config.async?(u=this.config.face.enabled?Pb(this,l.tensor):[],this.performance.face&&delete this.performance.face):(this.state="run:face",s=at(),u=this.config.face.enabled?await Pb(this,l.tensor):[],a=Math.trunc(at()-s),a>0&&(this.performance.face=a)),this.analyze("Start Body:"),this.config.async?(this.config.body.modelPath.includes("posenet")?c=this.config.body.enabled?Ub(l.tensor,this.config):[]:this.config.body.modelPath.includes("blazepose")?c=this.config.body.enabled?Yb(l.tensor,this.config):[]:this.config.body.modelPath.includes("efficientpose")?c=this.config.body.enabled?t3(l.tensor,this.config):[]:this.config.body.modelPath.includes("movenet")&&(c=this.config.body.enabled?o3(l.tensor,this.config):[]),this.performance.body&&delete this.performance.body):(this.state="run:body",s=at(),this.config.body.modelPath.includes("posenet")?c=this.config.body.enabled?await Ub(l.tensor,this.config):[]:this.config.body.modelPath.includes("blazepose")?c=this.config.body.enabled?await Yb(l.tensor,this.config):[]:this.config.body.modelPath.includes("efficientpose")?c=this.config.body.enabled?await t3(l.tensor,this.config):[]:this.config.body.modelPath.includes("movenet")&&(c=this.config.body.enabled?await o3(l.tensor,this.config):[]),a=Math.trunc(at()-s),a>0&&(this.performance.body=a)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.config.async?(d=this.config.hand.enabled?Xb(l.tensor,this.config):[],this.performance.hand&&delete this.performance.hand):(this.state="run:hand",s=at(),d=this.config.hand.enabled?await Xb(l.tensor,this.config):[],a=Math.trunc(at()-s),a>0&&(this.performance.hand=a)),this.analyze("End Hand:"),this.analyze("Start Object:"),this.config.async?(this.config.object.modelPath.includes("nanodet")?h=this.config.object.enabled?c3(l.tensor,this.config):[]:this.config.object.modelPath.includes("centernet")&&(h=this.config.object.enabled?f3(l.tensor,this.config):[]),this.performance.object&&delete this.performance.object):(this.state="run:object",s=at(),this.config.object.modelPath.includes("nanodet")?h=this.config.object.enabled?await c3(l.tensor,this.config):[]:this.config.object.modelPath.includes("centernet")&&(h=this.config.object.enabled?await f3(l.tensor,this.config):[]),a=Math.trunc(at()-s),a>0&&(this.performance.object=a)),this.analyze("End Object:"),this.config.async&&([u,c,d,h]=await Promise.all([u,c,d,h]));let p=[];this.config.gesture.enabled&&(s=at(),p=[...e_(u),...Q$(c),...n_(d),...t_(u)],this.config.async?this.performance.gesture&&delete this.performance.gesture:this.performance.gesture=Math.trunc(at()-s)),this.performance.total=Math.trunc(at()-i),this.state="idle",this.result={face:u,body:c,hand:d,gesture:p,object:h,performance:this.performance,canvas:l.canvas,timestamp:Date.now(),get persons(){var f;return u_(u,c,d,p,(f=l==null?void 0:l.tensor)==null?void 0:f.shape)}},Ve(l.tensor),r(this.result)})}async warmup(t){let n=at();if(t&&(this.config=lr(this.config,t)),!this.config.warmup||this.config.warmup==="none")return{error:"null"};let r;typeof createImageBitmap=="function"?r=await Fn(this,T0).call(this):typeof Image!="undefined"?r=await Fn(this,N0).call(this):r=await Fn(this,C0).call(this);let s=at();return this.config.debug&&me("Warmup",this.config.warmup,Math.round(s-n),"ms",r),r}};Du=new WeakMap,Ch=new WeakMap,Eh=new WeakMap,ki=new WeakMap,Ii=new WeakMap,Fu=new WeakMap,I0=new WeakMap,$h=new WeakMap,S0=new WeakMap,T0=new WeakMap,N0=new WeakMap,C0=new WeakMap;return pwe;})(); +2Q==`;var h_="2.0.3";var Du,Ch,Eh,ki,Ii,Fu,I0,$h,S0,T0,N0,C0,p_=class{constructor(t){Ir(this,Du,void 0);Ir(this,Ch,void 0);Ir(this,Eh,void 0);Ir(this,ki,void 0);Ir(this,Ii,void 0);Ir(this,Fu,void 0);this.analyze=(...t)=>{if(!Fn(this,Ch))return;let n=this.tf.engine().state.numTensors,r=Fn(this,Du);Qr(this,Du,n);let s=n-r;s!==0&&me(...t,s)};Ir(this,I0,t=>{if(!Fn(this,Eh))return null;if(!t)return"input is not defined";if(this.tf.ENV.flags.IS_NODE&&!(t instanceof Tt))return"input must be a tensor";try{this.tf.getBackend()}catch(n){return"backend not loaded"}return null});Ir(this,$h,async(t=!1)=>{var n;if(this.config.backend&&this.config.backend.length>0&&t||this.tf.getBackend()!==this.config.backend){let r=at();if(this.state="backend",this.config.backend&&this.config.backend.length>0){if(typeof window=="undefined"&&typeof WorkerGlobalScope!="undefined"&&this.config.debug&&me("running inside web worker"),this.tf.ENV.flags.IS_BROWSER&&this.config.backend==="tensorflow"&&(this.config.backend="webgl"),this.tf.ENV.flags.IS_NODE&&(this.config.backend==="webgl"||this.config.backend==="humangl")&&(this.config.backend="tensorflow"),this.config.debug&&me("setting backend:",this.config.backend),this.config.backend==="wasm"){if(this.config.debug&&me("wasm path:",this.config.wasmPath),typeof((n=this.tf)==null?void 0:n.setWasmPaths)!="undefined")this.tf.setWasmPaths(this.config.wasmPath);else throw new Error("Human: WASM backend is not loaded");let s=await this.tf.env().getAsync("WASM_HAS_SIMD_SUPPORT"),a=await this.tf.env().getAsync("WASM_HAS_MULTITHREAD_SUPPORT");this.config.debug&&me(`wasm execution: ${s?"SIMD":"no SIMD"} ${a?"multithreaded":"singlethreaded"}`),this.config.debug&&!s&&me("warning: wasm simd support is not enabled")}this.config.backend==="humangl"&&p$();try{await this.tf.setBackend(this.config.backend)}catch(s){me("error: cannot set backend:",this.config.backend,s)}}if(this.tf.enableProdMode(),this.tf.getBackend()==="webgl"||this.tf.getBackend()==="humangl"){this.tf.ENV.set("CHECK_COMPUTATION_FOR_ERRORS",!1),this.tf.ENV.set("WEBGL_CPU_FORWARD",!0),this.tf.ENV.set("WEBGL_PACK_DEPTHWISECONV",!0),typeof this.config.deallocate!="undefined"&&this.config.deallocate&&(me("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:",!0),this.tf.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",0));let s=await this.tf.backend().getGPGPUContext().gl;this.config.debug&&me(`gl version:${s.getParameter(s.VERSION)} renderer:${s.getParameter(s.RENDERER)}`)}await this.tf.ready(),this.performance.backend=Math.trunc(at()-r)}});this.next=t=>c_(t||this.result);Ir(this,S0,async t=>{if(this.config.cacheSensitivity===0)return!1;let n=32,r=t.resizeBilinear([Math.trunc(t.shape[1]/n),Math.trunc(t.shape[2]/n)]),s=r.dataSync(),a=0;for(let l=0;l10*this.config.cacheSensitivity?0:o),i});Ir(this,T0,async()=>{let t=(s,a="application/octet-stream")=>fetch(`data:${a};base64,${s}`).then(o=>o.blob()),n,r;switch(this.config.warmup){case"face":n=await t(w0);break;case"full":n=await t(k0);break;default:n=null}if(n){let s=await createImageBitmap(n);r=await this.detect(s,this.config),s.close()}return r});Ir(this,N0,async()=>new Promise(t=>{let n,r=0;switch(this.config.warmup){case"face":r=256,n="data:image/jpeg;base64,"+w0;break;case"full":case"body":r=1200,n="data:image/jpeg;base64,"+k0;break;default:n=null}let s=new Image;s.onload=async()=>{let a=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(r,r):document.createElement("canvas");a.width=s.naturalWidth,a.height=s.naturalHeight;let o=a.getContext("2d");o==null||o.drawImage(s,0,0);let i=await this.detect(a,this.config);t(i)},n?s.src=n:t(null)}));Ir(this,C0,async()=>{let t=s=>Buffer.from(s,"base64"),n;if(this.config.warmup==="face"&&(n=t(w0)),(this.config.warmup==="body"||this.config.warmup==="full")&&(n=t(k0)),!n)return null;let r;if(typeof void 0!="undefined"){let s=(void 0).decodeJpeg(n),a=s.expandDims(0);this.tf.dispose(s),r=await this.detect(a,this.config),this.tf.dispose(a)}else this.config.debug&&me("Warmup tfjs-node not loaded");return r});this.config=lr(F3,t||{}),this.tf=bh,this.draw=y3,this.version=h_,this.state="idle",Qr(this,Du,0),Qr(this,Ch,!1),Qr(this,Eh,!1),Qr(this,ki,!0),Qr(this,Fu,0),this.performance={backend:0,load:0,image:0,frames:0,cached:0,changed:0,total:0,draw:0},this.models={face:null,posenet:null,blazepose:null,efficientpose:null,movenet:null,handpose:null,age:null,gender:null,emotion:null,embedding:null,nanodet:null,centernet:null,faceres:null,segmentation:null},this.image=n=>wi(n,this.config),this.faceTriangulation=T$,this.faceUVMap=N$,this.sysinfo=M3(),Qr(this,Ii,1)}similarity(t,n){return Fb(t,n)}segmentation(t,n){return d_(t,n,this.config)}enhance(t){return Mb(t)}match(t,n,r=0){return $$(t,n,r)}async load(t){this.state="load";let n=at();t&&(this.config=lr(this.config,t)),Fn(this,ki)&&(this.config.debug&&me(`version: ${this.version}`),this.config.debug&&me(`tfjs version: ${this.tf.version_core}`),this.config.debug&&me("platform:",this.sysinfo.platform),this.config.debug&&me("agent:",this.sysinfo.agent),await Fn(this,$h).call(this,!0),this.tf.ENV.flags.IS_BROWSER&&(this.config.debug&&me("configuration:",this.config),this.config.debug&&me("tf flags:",this.tf.ENV.flags))),this.config.async?[this.models.face,this.models.emotion,this.models.handpose,this.models.posenet,this.models.blazepose,this.models.efficientpose,this.models.movenet,this.models.nanodet,this.models.centernet,this.models.faceres,this.models.segmentation]=await Promise.all([this.models.face||(this.config.face.enabled?Nb(this.config):null),this.models.emotion||(this.config.face.enabled&&this.config.face.emotion.enabled?$b(this.config):null),this.models.handpose||(this.config.hand.enabled?Zb(this.config):null),this.models.posenet||(this.config.body.enabled&&this.config.body.modelPath.includes("posenet")?Hb(this.config):null),this.models.blazepose||(this.config.body.enabled&&this.config.body.modelPath.includes("blazepose")?g0(this.config):null),this.models.efficientpose||(this.config.body.enabled&&this.config.body.modelPath.includes("efficientpose")?J$(this.config):null),this.models.movenet||(this.config.body.enabled&&this.config.body.modelPath.includes("movenet")?a3(this.config):null),this.models.nanodet||(this.config.object.enabled&&this.config.object.modelPath.includes("nanodet")?u3(this.config):null),this.models.centernet||(this.config.object.enabled&&this.config.object.modelPath.includes("centernet")?p3(this.config):null),this.models.faceres||(this.config.face.enabled&&this.config.face.description.enabled?Db(this.config):null),this.models.segmentation||(this.config.segmentation.enabled?v0(this.config):null)]):(this.config.face.enabled&&!this.models.face&&(this.models.face=await Nb(this.config)),this.config.face.enabled&&this.config.face.emotion.enabled&&!this.models.emotion&&(this.models.emotion=await $b(this.config)),this.config.hand.enabled&&!this.models.handpose&&(this.models.handpose=await Zb(this.config)),this.config.body.enabled&&!this.models.posenet&&this.config.body.modelPath.includes("posenet")&&(this.models.posenet=await Hb(this.config)),this.config.body.enabled&&!this.models.blazepose&&this.config.body.modelPath.includes("blazepose")&&(this.models.blazepose=await g0(this.config)),this.config.body.enabled&&!this.models.efficientpose&&this.config.body.modelPath.includes("efficientpose")&&(this.models.efficientpose=await g0(this.config)),this.config.body.enabled&&!this.models.movenet&&this.config.body.modelPath.includes("movenet")&&(this.models.movenet=await a3(this.config)),this.config.object.enabled&&!this.models.nanodet&&this.config.object.modelPath.includes("nanodet")&&(this.models.nanodet=await u3(this.config)),this.config.object.enabled&&!this.models.centernet&&this.config.object.modelPath.includes("centernet")&&(this.models.centernet=await p3(this.config)),this.config.face.enabled&&this.config.face.description.enabled&&!this.models.faceres&&(this.models.faceres=await Db(this.config)),this.config.segmentation.enabled&&!this.models.segmentation&&(this.models.segmentation=await v0(this.config))),Fn(this,ki)&&(this.config.debug&&me("tf engine state:",this.tf.engine().state.numBytes,"bytes",this.tf.engine().state.numTensors,"tensors"),Qr(this,ki,!1));let r=Math.trunc(at()-n);r>(this.performance.load||0)&&(this.performance.load=r)}async detect(t,n){return new Promise(async r=>{this.state="config";let s,a;this.config=lr(this.config,n),this.state="check";let o=Fn(this,I0).call(this,t);o&&(me(o,t),r({error:o}));let i=at();await Fn(this,$h).call(this),await this.load(),s=at();let l=wi(t,this.config);if(this.performance.image=Math.trunc(at()-s),this.analyze("Get Image:"),this.config.segmentation.enabled&&l&&l.tensor&&(this.analyze("Start Segmentation:"),this.state="run:segmentation",s=at(),await x3(l),a=Math.trunc(at()-s),a>0&&(this.performance.segmentation=a),l.canvas&&(l.tensor.dispose(),l=wi(l.canvas,this.config)),this.analyze("End Segmentation:")),!l||!l.tensor){me("could not convert input to tensor"),r({error:"could not convert input to tensor"});return}s=at(),this.config.skipFrame=await Fn(this,S0).call(this,l.tensor),this.performance.frames||(this.performance.frames=0),this.performance.cached||(this.performance.cached=0),this.performance.frames++,this.config.skipFrame&&this.performance.cached++,this.performance.changed=Math.trunc(at()-s),this.analyze("Check Changed:");let u,c,d,h;this.config.async?(u=this.config.face.enabled?Pb(this,l.tensor):[],this.performance.face&&delete this.performance.face):(this.state="run:face",s=at(),u=this.config.face.enabled?await Pb(this,l.tensor):[],a=Math.trunc(at()-s),a>0&&(this.performance.face=a)),this.analyze("Start Body:"),this.config.async?(this.config.body.modelPath.includes("posenet")?c=this.config.body.enabled?Ub(l.tensor,this.config):[]:this.config.body.modelPath.includes("blazepose")?c=this.config.body.enabled?Yb(l.tensor,this.config):[]:this.config.body.modelPath.includes("efficientpose")?c=this.config.body.enabled?t3(l.tensor,this.config):[]:this.config.body.modelPath.includes("movenet")&&(c=this.config.body.enabled?o3(l.tensor,this.config):[]),this.performance.body&&delete this.performance.body):(this.state="run:body",s=at(),this.config.body.modelPath.includes("posenet")?c=this.config.body.enabled?await Ub(l.tensor,this.config):[]:this.config.body.modelPath.includes("blazepose")?c=this.config.body.enabled?await Yb(l.tensor,this.config):[]:this.config.body.modelPath.includes("efficientpose")?c=this.config.body.enabled?await t3(l.tensor,this.config):[]:this.config.body.modelPath.includes("movenet")&&(c=this.config.body.enabled?await o3(l.tensor,this.config):[]),a=Math.trunc(at()-s),a>0&&(this.performance.body=a)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.config.async?(d=this.config.hand.enabled?Xb(l.tensor,this.config):[],this.performance.hand&&delete this.performance.hand):(this.state="run:hand",s=at(),d=this.config.hand.enabled?await Xb(l.tensor,this.config):[],a=Math.trunc(at()-s),a>0&&(this.performance.hand=a)),this.analyze("End Hand:"),this.analyze("Start Object:"),this.config.async?(this.config.object.modelPath.includes("nanodet")?h=this.config.object.enabled?c3(l.tensor,this.config):[]:this.config.object.modelPath.includes("centernet")&&(h=this.config.object.enabled?f3(l.tensor,this.config):[]),this.performance.object&&delete this.performance.object):(this.state="run:object",s=at(),this.config.object.modelPath.includes("nanodet")?h=this.config.object.enabled?await c3(l.tensor,this.config):[]:this.config.object.modelPath.includes("centernet")&&(h=this.config.object.enabled?await f3(l.tensor,this.config):[]),a=Math.trunc(at()-s),a>0&&(this.performance.object=a)),this.analyze("End Object:"),this.config.async&&([u,c,d,h]=await Promise.all([u,c,d,h]));let p=[];this.config.gesture.enabled&&(s=at(),p=[...e_(u),...Q$(c),...n_(d),...t_(u)],this.config.async?this.performance.gesture&&delete this.performance.gesture:this.performance.gesture=Math.trunc(at()-s)),this.performance.total=Math.trunc(at()-i),this.state="idle",this.result={face:u,body:c,hand:d,gesture:p,object:h,performance:this.performance,canvas:l.canvas,timestamp:Date.now(),get persons(){var f;return u_(u,c,d,p,(f=l==null?void 0:l.tensor)==null?void 0:f.shape)}},Ve(l.tensor),r(this.result)})}async warmup(t){let n=at();if(t&&(this.config=lr(this.config,t)),!this.config.warmup||this.config.warmup==="none")return{error:"null"};let r;typeof createImageBitmap=="function"?r=await Fn(this,T0).call(this):typeof Image!="undefined"?r=await Fn(this,N0).call(this):r=await Fn(this,C0).call(this);let s=at();return this.config.debug&&me("Warmup",this.config.warmup,Math.round(s-n),"ms",r),r}};Du=new WeakMap,Ch=new WeakMap,Eh=new WeakMap,ki=new WeakMap,Ii=new WeakMap,Fu=new WeakMap,I0=new WeakMap,$h=new WeakMap,S0=new WeakMap,T0=new WeakMap,N0=new WeakMap,C0=new WeakMap;return pwe;})(); /** * @license * Copyright 2017 Google LLC. All Rights Reserved. diff --git a/dist/human.node-gpu.js b/dist/human.node-gpu.js index 60a361e1..297786bf 100644 --- a/dist/human.node-gpu.js +++ b/dist/human.node-gpu.js @@ -11269,7 +11269,7 @@ lBhEMohlFerLlBjEMohMVTEARDKCITsAk2AEgAAAkAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAD/ 2Q==`; // package.json -var version = "2.0.2"; +var version = "2.0.3"; // src/human.ts var _numTensors, _analyzeMemoryLeaks, _checkSanity, _firstRun, _lastInputSum, _lastCacheDiff, _sanity, _checkBackend, _skipFrame, _warmupBitmap, _warmupCanvas, _warmupNode; diff --git a/dist/human.node-wasm.js b/dist/human.node-wasm.js index 816a16f9..4e0f25bf 100644 --- a/dist/human.node-wasm.js +++ b/dist/human.node-wasm.js @@ -11270,7 +11270,7 @@ lBhEMohlFerLlBjEMohMVTEARDKCITsAk2AEgAAAkAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAD/ 2Q==`; // package.json -var version = "2.0.2"; +var version = "2.0.3"; // src/human.ts var _numTensors, _analyzeMemoryLeaks, _checkSanity, _firstRun, _lastInputSum, _lastCacheDiff, _sanity, _checkBackend, _skipFrame, _warmupBitmap, _warmupCanvas, _warmupNode; diff --git a/dist/human.node.js b/dist/human.node.js index 4787209b..d4b65d93 100644 --- a/dist/human.node.js +++ b/dist/human.node.js @@ -11269,7 +11269,7 @@ lBhEMohlFerLlBjEMohMVTEARDKCITsAk2AEgAAAkAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAD/ 2Q==`; // package.json -var version = "2.0.2"; +var version = "2.0.3"; // src/human.ts var _numTensors, _analyzeMemoryLeaks, _checkSanity, _firstRun, _lastInputSum, _lastCacheDiff, _sanity, _checkBackend, _skipFrame, _warmupBitmap, _warmupCanvas, _warmupNode; diff --git a/server/build.js b/server/build.js index 0683708e..2b61ce86 100644 --- a/server/build.js +++ b/server/build.js @@ -255,7 +255,14 @@ if (require.main === module) { if (fs.existsSync(config.buildLog)) fs.unlinkSync(config.buildLog); log.logFile(config.buildLog); log.header(); - log.info(`Toolchain: tfjs: ${tfjs.version} esbuild ${esbuild.version}; typescript ${typings.version}; typedoc: ${typedoc.version} eslint: ${lint.version}`); + const toolchain = { + tfjs: tfjs.version, + esbuild: esbuild.version, + typescript: typings.version, + typedoc: typedoc.version, + eslint: lint.version, + }; + log.info('Toolchain: ', toolchain); clean(); build('all', 'startup'); } else { diff --git a/server/build.log b/server/build.log index d4a39acd..0c37daf7 100644 --- a/server/build.log +++ b/server/build.log @@ -1,22 +1,22 @@ -2021-06-14 10:20:53 INFO:  @vladmandic/human version 2.0.2 -2021-06-14 10:20:53 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.0.0 -2021-06-14 10:20:53 INFO:  Toolchain: tfjs: 3.7.0 esbuild 0.12.8; typescript 4.3.2; typedoc: 0.21.0-beta.2 eslint: 7.28.0 -2021-06-14 10:20:53 INFO:  Clean: ["dist/*","types/*","typedoc/*"] -2021-06-14 10:20:53 INFO:  Build: file startup all type: production config: {"minifyWhitespace":true,"minifyIdentifiers":true,"minifySyntax":true} -2021-06-14 10:20:53 STATE: target: node type: tfjs: {"imports":1,"importBytes":102,"outputBytes":1303,"outputFiles":"dist/tfjs.esm.js"} -2021-06-14 10:20:53 STATE: target: node type: node: {"imports":41,"importBytes":430902,"outputBytes":376695,"outputFiles":"dist/human.node.js"} -2021-06-14 10:20:53 STATE: target: nodeGPU type: tfjs: {"imports":1,"importBytes":110,"outputBytes":1311,"outputFiles":"dist/tfjs.esm.js"} -2021-06-14 10:20:53 STATE: target: nodeGPU type: node: {"imports":41,"importBytes":430910,"outputBytes":376699,"outputFiles":"dist/human.node-gpu.js"} -2021-06-14 10:20:53 STATE: target: nodeWASM type: tfjs: {"imports":1,"importBytes":149,"outputBytes":1378,"outputFiles":"dist/tfjs.esm.js"} -2021-06-14 10:20:53 STATE: target: nodeWASM type: node: {"imports":41,"importBytes":430977,"outputBytes":376771,"outputFiles":"dist/human.node-wasm.js"} -2021-06-14 10:20:53 STATE: target: browserNoBundle type: tfjs: {"imports":1,"importBytes":2817,"outputBytes":1214,"outputFiles":"dist/tfjs.esm.js"} -2021-06-14 10:20:53 STATE: target: browserNoBundle type: esm: {"imports":41,"importBytes":430813,"outputBytes":247896,"outputFiles":"dist/human.esm-nobundle.js"} -2021-06-14 10:20:54 STATE: target: browserBundle type: tfjs: {"modules":1684,"moduleBytes":5720339,"imports":7,"importBytes":2817,"outputBytes":2817783,"outputFiles":"dist/tfjs.esm.js"} -2021-06-14 10:20:55 STATE: target: browserBundle type: iife: {"imports":41,"importBytes":3247382,"outputBytes":1588289,"outputFiles":"dist/human.js"} -2021-06-14 10:20:55 STATE: target: browserBundle type: esm: {"imports":41,"importBytes":3247382,"outputBytes":1588281,"outputFiles":"dist/human.esm.js"} -2021-06-14 10:20:55 INFO:  Running Linter: ["server/","src/","tfjs/","test/","demo/"] -2021-06-14 10:21:20 INFO:  Linter complete: files: 73 errors: 0 warnings: 0 -2021-06-14 10:21:20 INFO:  Generate ChangeLog: ["/home/vlado/dev/human/CHANGELOG.md"] -2021-06-14 10:21:20 INFO:  Generate Typings: ["src/human.ts"] outDir: ["types"] -2021-06-14 10:21:35 INFO:  Generate TypeDocs: ["src/human.ts"] outDir: ["typedoc"] -2021-06-14 10:21:48 INFO:  Documentation generated at /home/vlado/dev/human/typedoc 1 +2021-06-18 07:23:48 INFO:  @vladmandic/human version 2.0.3 +2021-06-18 07:23:49 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.0.0 +2021-06-18 07:23:49 INFO:  Toolchain: {"tfjs":"3.7.0","esbuild":"0.12.9","typescript":"4.3.4","typedoc":"0.21.0","eslint":"7.28.0"} +2021-06-18 07:23:49 INFO:  Clean: ["dist/*","types/*","typedoc/*"] +2021-06-18 07:23:49 INFO:  Build: file startup all type: production config: {"minifyWhitespace":true,"minifyIdentifiers":true,"minifySyntax":true} +2021-06-18 07:23:49 STATE: target: node type: tfjs: {"imports":1,"importBytes":102,"outputBytes":1303,"outputFiles":"dist/tfjs.esm.js"} +2021-06-18 07:23:49 STATE: target: node type: node: {"imports":41,"importBytes":430894,"outputBytes":376695,"outputFiles":"dist/human.node.js"} +2021-06-18 07:23:49 STATE: target: nodeGPU type: tfjs: {"imports":1,"importBytes":110,"outputBytes":1311,"outputFiles":"dist/tfjs.esm.js"} +2021-06-18 07:23:49 STATE: target: nodeGPU type: node: {"imports":41,"importBytes":430902,"outputBytes":376699,"outputFiles":"dist/human.node-gpu.js"} +2021-06-18 07:23:49 STATE: target: nodeWASM type: tfjs: {"imports":1,"importBytes":149,"outputBytes":1378,"outputFiles":"dist/tfjs.esm.js"} +2021-06-18 07:23:49 STATE: target: nodeWASM type: node: {"imports":41,"importBytes":430969,"outputBytes":376771,"outputFiles":"dist/human.node-wasm.js"} +2021-06-18 07:23:49 STATE: target: browserNoBundle type: tfjs: {"imports":1,"importBytes":2817,"outputBytes":1214,"outputFiles":"dist/tfjs.esm.js"} +2021-06-18 07:23:49 STATE: target: browserNoBundle type: esm: {"imports":41,"importBytes":430805,"outputBytes":247896,"outputFiles":"dist/human.esm-nobundle.js"} +2021-06-18 07:23:49 STATE: target: browserBundle type: tfjs: {"modules":1684,"moduleBytes":5720339,"imports":7,"importBytes":2817,"outputBytes":2817783,"outputFiles":"dist/tfjs.esm.js"} +2021-06-18 07:23:49 STATE: target: browserBundle type: iife: {"imports":41,"importBytes":3247374,"outputBytes":1588289,"outputFiles":"dist/human.js"} +2021-06-18 07:23:50 STATE: target: browserBundle type: esm: {"imports":41,"importBytes":3247374,"outputBytes":1588281,"outputFiles":"dist/human.esm.js"} +2021-06-18 07:23:50 INFO:  Running Linter: ["server/","src/","tfjs/","test/","demo/"] +2021-06-18 07:24:07 INFO:  Linter complete: files: 73 errors: 0 warnings: 0 +2021-06-18 07:24:07 INFO:  Generate ChangeLog: ["/home/vlado/dev/human/CHANGELOG.md"] +2021-06-18 07:24:07 INFO:  Generate Typings: ["src/human.ts"] outDir: ["types"] +2021-06-18 07:24:18 INFO:  Generate TypeDocs: ["src/human.ts"] outDir: ["typedoc"] +2021-06-18 07:24:27 INFO:  Documentation generated at /home/vlado/dev/human/typedoc 1 diff --git a/test/test.log b/test/test.log index 66507a76..eec7b025 100644 --- a/test/test.log +++ b/test/test.log @@ -1,169 +1,169 @@ -2021-06-08 07:02:23 INFO:  @vladmandic/human version 2.0.1 -2021-06-08 07:02:23 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.0.0 -2021-06-08 07:02:23 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"] -2021-06-08 07:02:23 INFO:  test-node.js start -2021-06-08 07:02:24 STATE: test-node.js passed: create human -2021-06-08 07:02:24 INFO:  test-node.js human version: 2.0.1 -2021-06-08 07:02:24 INFO:  test-node.js platform: linux x64 agent: NodeJS v16.0.0 -2021-06-08 07:02:24 INFO:  test-node.js tfjs version: 3.7.0 -2021-06-08 07:02:24 STATE: test-node.js passed: set backend: tensorflow -2021-06-08 07:02:24 STATE: test-node.js passed: load models -2021-06-08 07:02:24 STATE: test-node.js result: defined models: 14 loaded models: 7 -2021-06-08 07:02:24 STATE: test-node.js passed: warmup: none default -2021-06-08 07:02:26 STATE: test-node.js passed: warmup: face default -2021-06-08 07:02:26 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.73,"keypoints":5} -2021-06-08 07:02:26 DATA:  test-node.js result: performance: load: 395 total: 1282 -2021-06-08 07:02:27 STATE: test-node.js passed: warmup: body default -2021-06-08 07:02:27 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.93,"keypoints":17} -2021-06-08 07:02:27 DATA:  test-node.js result: performance: load: 395 total: 1188 -2021-06-08 07:02:27 INFO:  test-node.js test body variants -2021-06-08 07:02:28 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] -2021-06-08 07:02:29 STATE: test-node.js passed: detect: samples/ai-body.jpg posenet -2021-06-08 07:02:29 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.96,"keypoints":16} -2021-06-08 07:02:29 DATA:  test-node.js result: performance: load: 395 total: 778 -2021-06-08 07:02:29 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] -2021-06-08 07:02:30 STATE: test-node.js passed: detect: samples/ai-body.jpg movenet -2021-06-08 07:02:30 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.93,"keypoints":17} -2021-06-08 07:02:30 DATA:  test-node.js result: performance: load: 395 total: 209 -2021-06-08 07:02:31 STATE: test-node.js passed: detect: random default -2021-06-08 07:02:31 DATA:  test-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} -2021-06-08 07:02:31 DATA:  test-node.js result: performance: load: 395 total: 672 -2021-06-08 07:02:31 INFO:  test-node.js test: first instance -2021-06-08 07:02:31 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3] -2021-06-08 07:02:32 STATE: test-node.js passed: detect: samples/ai-upper.jpg default -2021-06-08 07:02:32 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.78,"keypoints":7} -2021-06-08 07:02:32 DATA:  test-node.js result: performance: load: 395 total: 1010 -2021-06-08 07:02:32 INFO:  test-node.js test: second instance -2021-06-08 07:02:32 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3] -2021-06-08 07:02:33 STATE: test-node.js passed: detect: samples/ai-upper.jpg default -2021-06-08 07:02:33 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.78,"keypoints":7} -2021-06-08 07:02:33 DATA:  test-node.js result: performance: load: 5 total: 964 -2021-06-08 07:02:33 INFO:  test-node.js test: concurrent -2021-06-08 07:02:33 STATE: test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3] -2021-06-08 07:02:33 STATE: test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3] -2021-06-08 07:02:34 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] -2021-06-08 07:02:35 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] -2021-06-08 07:02:40 STATE: test-node.js passed: detect: samples/ai-face.jpg default -2021-06-08 07:02:40 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.73,"keypoints":17} -2021-06-08 07:02:40 DATA:  test-node.js result: performance: load: 395 total: 4742 -2021-06-08 07:02:40 STATE: test-node.js passed: detect: samples/ai-face.jpg default -2021-06-08 07:02:40 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.73,"keypoints":17} -2021-06-08 07:02:40 DATA:  test-node.js result: performance: load: 5 total: 4742 -2021-06-08 07:02:40 STATE: test-node.js passed: detect: samples/ai-body.jpg default -2021-06-08 07:02:40 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":28.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.93,"keypoints":17} -2021-06-08 07:02:40 DATA:  test-node.js result: performance: load: 395 total: 4742 -2021-06-08 07:02:40 STATE: test-node.js passed: detect: samples/ai-body.jpg default -2021-06-08 07:02:40 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":28.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.93,"keypoints":17} -2021-06-08 07:02:40 DATA:  test-node.js result: performance: load: 5 total: 4742 -2021-06-08 07:02:40 INFO:  test-node.js test complete: 15811 ms -2021-06-08 07:02:40 INFO:  test-node-gpu.js start -2021-06-08 07:02:41 WARN:  test-node-gpu.js stderr: 2021-06-08 07:02:41.016735: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory -2021-06-08 07:02:41 WARN:  test-node-gpu.js stderr: 2021-06-08 07:02:41.155087: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory -2021-06-08 07:02:41 WARN:  test-node-gpu.js stderr: 2021-06-08 07:02:41.155117: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (wyse): /proc/driver/nvidia/version does not exist -2021-06-08 07:02:41 STATE: test-node-gpu.js passed: create human -2021-06-08 07:02:41 INFO:  test-node-gpu.js human version: 2.0.1 -2021-06-08 07:02:41 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v16.0.0 -2021-06-08 07:02:41 INFO:  test-node-gpu.js tfjs version: 3.7.0 -2021-06-08 07:02:41 STATE: test-node-gpu.js passed: set backend: tensorflow -2021-06-08 07:02:41 STATE: test-node-gpu.js passed: load models -2021-06-08 07:02:41 STATE: test-node-gpu.js result: defined models: 14 loaded models: 7 -2021-06-08 07:02:41 STATE: test-node-gpu.js passed: warmup: none default -2021-06-08 07:02:42 STATE: test-node-gpu.js passed: warmup: face default -2021-06-08 07:02:42 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.73,"keypoints":5} -2021-06-08 07:02:42 DATA:  test-node-gpu.js result: performance: load: 328 total: 1264 -2021-06-08 07:02:44 STATE: test-node-gpu.js passed: warmup: body default -2021-06-08 07:02:44 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.93,"keypoints":17} -2021-06-08 07:02:44 DATA:  test-node-gpu.js result: performance: load: 328 total: 1185 -2021-06-08 07:02:44 INFO:  test-node-gpu.js test body variants -2021-06-08 07:02:44 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] -2021-06-08 07:02:45 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg posenet -2021-06-08 07:02:45 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.96,"keypoints":16} -2021-06-08 07:02:45 DATA:  test-node-gpu.js result: performance: load: 328 total: 782 -2021-06-08 07:02:46 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] -2021-06-08 07:02:46 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg movenet -2021-06-08 07:02:46 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.93,"keypoints":17} -2021-06-08 07:02:46 DATA:  test-node-gpu.js result: performance: load: 328 total: 207 -2021-06-08 07:02:47 STATE: test-node-gpu.js passed: detect: random default -2021-06-08 07:02:47 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} -2021-06-08 07:02:47 DATA:  test-node-gpu.js result: performance: load: 328 total: 634 -2021-06-08 07:02:47 INFO:  test-node-gpu.js test: first instance -2021-06-08 07:02:47 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3] -2021-06-08 07:02:48 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default -2021-06-08 07:02:48 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.78,"keypoints":7} -2021-06-08 07:02:48 DATA:  test-node-gpu.js result: performance: load: 328 total: 1032 -2021-06-08 07:02:48 INFO:  test-node-gpu.js test: second instance -2021-06-08 07:02:49 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3] -2021-06-08 07:02:50 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default -2021-06-08 07:02:50 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.78,"keypoints":7} -2021-06-08 07:02:50 DATA:  test-node-gpu.js result: performance: load: 4 total: 996 -2021-06-08 07:02:50 INFO:  test-node-gpu.js test: concurrent -2021-06-08 07:02:50 STATE: test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3] -2021-06-08 07:02:50 STATE: test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3] -2021-06-08 07:02:51 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] -2021-06-08 07:02:52 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] -2021-06-08 07:02:56 STATE: test-node-gpu.js passed: detect: samples/ai-face.jpg default -2021-06-08 07:02:56 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.73,"keypoints":17} -2021-06-08 07:02:56 DATA:  test-node-gpu.js result: performance: load: 328 total: 4448 -2021-06-08 07:02:56 STATE: test-node-gpu.js passed: detect: samples/ai-face.jpg default -2021-06-08 07:02:56 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.73,"keypoints":17} -2021-06-08 07:02:56 DATA:  test-node-gpu.js result: performance: load: 4 total: 4448 -2021-06-08 07:02:56 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default -2021-06-08 07:02:56 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":28.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.93,"keypoints":17} -2021-06-08 07:02:56 DATA:  test-node-gpu.js result: performance: load: 328 total: 4448 -2021-06-08 07:02:56 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default -2021-06-08 07:02:56 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":28.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.93,"keypoints":17} -2021-06-08 07:02:56 DATA:  test-node-gpu.js result: performance: load: 4 total: 4448 -2021-06-08 07:02:56 INFO:  test-node-gpu.js test complete: 15452 ms -2021-06-08 07:02:56 INFO:  test-node-wasm.js start -2021-06-08 07:02:57 STATE: test-node-wasm.js passed: model server: http://localhost:10030/models/ -2021-06-08 07:02:57 STATE: test-node-wasm.js passed: create human -2021-06-08 07:02:57 INFO:  test-node-wasm.js human version: 2.0.1 -2021-06-08 07:02:57 INFO:  test-node-wasm.js platform: linux x64 agent: NodeJS v16.0.0 -2021-06-08 07:02:57 INFO:  test-node-wasm.js tfjs version: 3.7.0 -2021-06-08 07:02:57 STATE: test-node-wasm.js passed: set backend: wasm -2021-06-08 07:02:57 STATE: test-node-wasm.js passed: load models -2021-06-08 07:02:57 STATE: test-node-wasm.js result: defined models: 14 loaded models: 6 -2021-06-08 07:02:57 STATE: test-node-wasm.js passed: warmup: none default -2021-06-08 07:02:57 ERROR: test-node-wasm.js failed: warmup: face default -2021-06-08 07:02:57 ERROR: test-node-wasm.js failed: warmup: body default -2021-06-08 07:02:57 INFO:  test-node-wasm.js test body variants -2021-06-08 07:02:59 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] -2021-06-08 07:03:02 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg posenet -2021-06-08 07:03:02 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"age":28.5,"gender":"female"} {} {"score":0.96,"keypoints":16} -2021-06-08 07:03:02 DATA:  test-node-wasm.js result: performance: load: 763 total: 2943 -2021-06-08 07:03:04 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] -2021-06-08 07:03:06 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg movenet -2021-06-08 07:03:06 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"age":28.5,"gender":"female"} {} {"score":0.93,"keypoints":17} -2021-06-08 07:03:06 DATA:  test-node-wasm.js result: performance: load: 763 total: 1840 -2021-06-08 07:03:07 STATE: test-node-wasm.js passed: detect: random default -2021-06-08 07:03:07 DATA:  test-node-wasm.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} -2021-06-08 07:03:07 DATA:  test-node-wasm.js result: performance: load: 763 total: 1590 -2021-06-08 07:03:07 INFO:  test-node-wasm.js test: first instance -2021-06-08 07:03:08 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3] -2021-06-08 07:03:10 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default -2021-06-08 07:03:10 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"age":29.5,"gender":"female"} {} {"score":0.78,"keypoints":7} -2021-06-08 07:03:10 DATA:  test-node-wasm.js result: performance: load: 763 total: 2053 -2021-06-08 07:03:10 INFO:  test-node-wasm.js test: second instance -2021-06-08 07:03:10 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3] -2021-06-08 07:03:12 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default -2021-06-08 07:03:12 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"age":29.5,"gender":"female"} {} {"score":0.78,"keypoints":7} -2021-06-08 07:03:12 DATA:  test-node-wasm.js result: performance: load: 3 total: 2003 -2021-06-08 07:03:12 INFO:  test-node-wasm.js test: concurrent -2021-06-08 07:03:13 STATE: test-node-wasm.js passed: load image: samples/ai-face.jpg [1,256,256,3] -2021-06-08 07:03:13 STATE: test-node-wasm.js passed: load image: samples/ai-face.jpg [1,256,256,3] -2021-06-08 07:03:14 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] -2021-06-08 07:03:16 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] -2021-06-08 07:03:24 STATE: test-node-wasm.js passed: detect: samples/ai-face.jpg default -2021-06-08 07:03:24 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 0 person: 1 {"age":23.6,"gender":"female"} {} {"score":0.73,"keypoints":17} -2021-06-08 07:03:24 DATA:  test-node-wasm.js result: performance: load: 763 total: 8054 -2021-06-08 07:03:24 STATE: test-node-wasm.js passed: detect: samples/ai-face.jpg default -2021-06-08 07:03:24 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 0 person: 1 {"age":23.6,"gender":"female"} {} {"score":0.73,"keypoints":17} -2021-06-08 07:03:24 DATA:  test-node-wasm.js result: performance: load: 3 total: 8054 -2021-06-08 07:03:24 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default -2021-06-08 07:03:24 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"age":28.5,"gender":"female"} {} {"score":0.93,"keypoints":17} -2021-06-08 07:03:24 DATA:  test-node-wasm.js result: performance: load: 763 total: 8054 -2021-06-08 07:03:24 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default -2021-06-08 07:03:24 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"age":28.5,"gender":"female"} {} {"score":0.93,"keypoints":17} -2021-06-08 07:03:24 DATA:  test-node-wasm.js result: performance: load: 3 total: 8054 -2021-06-08 07:03:24 INFO:  test-node-wasm.js test complete: 27227 ms -2021-06-08 07:03:24 INFO:  status: {"passed":68,"failed":2} +2021-06-18 07:20:42 INFO:  @vladmandic/human version 2.0.3 +2021-06-18 07:20:42 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.0.0 +2021-06-18 07:20:42 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"] +2021-06-18 07:20:42 INFO:  test-node.js start +2021-06-18 07:20:42 STATE: test-node.js passed: create human +2021-06-18 07:20:42 INFO:  test-node.js human version: 2.0.3 +2021-06-18 07:20:42 INFO:  test-node.js platform: linux x64 agent: NodeJS v16.0.0 +2021-06-18 07:20:42 INFO:  test-node.js tfjs version: 3.7.0 +2021-06-18 07:20:43 STATE: test-node.js passed: set backend: tensorflow +2021-06-18 07:20:43 STATE: test-node.js passed: load models +2021-06-18 07:20:43 STATE: test-node.js result: defined models: 14 loaded models: 7 +2021-06-18 07:20:43 STATE: test-node.js passed: warmup: none default +2021-06-18 07:20:43 STATE: test-node.js passed: warmup: face default +2021-06-18 07:20:43 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.73,"keypoints":5} +2021-06-18 07:20:43 DATA:  test-node.js result: performance: load: 212 total: 780 +2021-06-18 07:20:44 STATE: test-node.js passed: warmup: body default +2021-06-18 07:20:44 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.93,"keypoints":17} +2021-06-18 07:20:44 DATA:  test-node.js result: performance: load: 212 total: 728 +2021-06-18 07:20:44 INFO:  test-node.js test body variants +2021-06-18 07:20:45 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] +2021-06-18 07:20:45 STATE: test-node.js passed: detect: samples/ai-body.jpg posenet +2021-06-18 07:20:45 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.96,"keypoints":16} +2021-06-18 07:20:45 DATA:  test-node.js result: performance: load: 212 total: 539 +2021-06-18 07:20:46 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] +2021-06-18 07:20:46 STATE: test-node.js passed: detect: samples/ai-body.jpg movenet +2021-06-18 07:20:46 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.93,"keypoints":17} +2021-06-18 07:20:46 DATA:  test-node.js result: performance: load: 212 total: 138 +2021-06-18 07:20:47 STATE: test-node.js passed: detect: random default +2021-06-18 07:20:47 DATA:  test-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} +2021-06-18 07:20:47 DATA:  test-node.js result: performance: load: 212 total: 402 +2021-06-18 07:20:47 INFO:  test-node.js test: first instance +2021-06-18 07:20:47 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3] +2021-06-18 07:20:48 STATE: test-node.js passed: detect: samples/ai-upper.jpg default +2021-06-18 07:20:48 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.78,"keypoints":7} +2021-06-18 07:20:48 DATA:  test-node.js result: performance: load: 212 total: 568 +2021-06-18 07:20:48 INFO:  test-node.js test: second instance +2021-06-18 07:20:48 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3] +2021-06-18 07:20:48 STATE: test-node.js passed: detect: samples/ai-upper.jpg default +2021-06-18 07:20:48 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.78,"keypoints":7} +2021-06-18 07:20:48 DATA:  test-node.js result: performance: load: 1 total: 587 +2021-06-18 07:20:48 INFO:  test-node.js test: concurrent +2021-06-18 07:20:48 STATE: test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3] +2021-06-18 07:20:48 STATE: test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3] +2021-06-18 07:20:49 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] +2021-06-18 07:20:50 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] +2021-06-18 07:20:52 STATE: test-node.js passed: detect: samples/ai-face.jpg default +2021-06-18 07:20:52 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.73,"keypoints":17} +2021-06-18 07:20:52 DATA:  test-node.js result: performance: load: 212 total: 2523 +2021-06-18 07:20:52 STATE: test-node.js passed: detect: samples/ai-face.jpg default +2021-06-18 07:20:52 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.73,"keypoints":17} +2021-06-18 07:20:52 DATA:  test-node.js result: performance: load: 1 total: 2523 +2021-06-18 07:20:52 STATE: test-node.js passed: detect: samples/ai-body.jpg default +2021-06-18 07:20:52 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":28.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.93,"keypoints":17} +2021-06-18 07:20:52 DATA:  test-node.js result: performance: load: 212 total: 2523 +2021-06-18 07:20:52 STATE: test-node.js passed: detect: samples/ai-body.jpg default +2021-06-18 07:20:52 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":28.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.93,"keypoints":17} +2021-06-18 07:20:52 DATA:  test-node.js result: performance: load: 1 total: 2523 +2021-06-18 07:20:52 INFO:  test-node.js test complete: 9786 ms +2021-06-18 07:20:52 INFO:  test-node-gpu.js start +2021-06-18 07:20:53 WARN:  test-node-gpu.js stderr: 2021-06-18 07:20:53.148859: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory +2021-06-18 07:20:53 WARN:  test-node-gpu.js stderr: 2021-06-18 07:20:53.184866: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory +2021-06-18 07:20:53 WARN:  test-node-gpu.js stderr: 2021-06-18 07:20:53.184909: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (wyse): /proc/driver/nvidia/version does not exist +2021-06-18 07:20:53 STATE: test-node-gpu.js passed: create human +2021-06-18 07:20:53 INFO:  test-node-gpu.js human version: 2.0.3 +2021-06-18 07:20:53 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v16.0.0 +2021-06-18 07:20:53 INFO:  test-node-gpu.js tfjs version: 3.7.0 +2021-06-18 07:20:53 STATE: test-node-gpu.js passed: set backend: tensorflow +2021-06-18 07:20:53 STATE: test-node-gpu.js passed: load models +2021-06-18 07:20:53 STATE: test-node-gpu.js result: defined models: 14 loaded models: 7 +2021-06-18 07:20:53 STATE: test-node-gpu.js passed: warmup: none default +2021-06-18 07:20:54 STATE: test-node-gpu.js passed: warmup: face default +2021-06-18 07:20:54 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.73,"keypoints":5} +2021-06-18 07:20:54 DATA:  test-node-gpu.js result: performance: load: 225 total: 753 +2021-06-18 07:20:54 STATE: test-node-gpu.js passed: warmup: body default +2021-06-18 07:20:54 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.93,"keypoints":17} +2021-06-18 07:20:54 DATA:  test-node-gpu.js result: performance: load: 225 total: 726 +2021-06-18 07:20:54 INFO:  test-node-gpu.js test body variants +2021-06-18 07:20:55 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] +2021-06-18 07:20:56 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg posenet +2021-06-18 07:20:56 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.96,"keypoints":16} +2021-06-18 07:20:56 DATA:  test-node-gpu.js result: performance: load: 225 total: 539 +2021-06-18 07:20:56 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] +2021-06-18 07:20:56 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg movenet +2021-06-18 07:20:56 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.93,"keypoints":17} +2021-06-18 07:20:56 DATA:  test-node-gpu.js result: performance: load: 225 total: 136 +2021-06-18 07:20:57 STATE: test-node-gpu.js passed: detect: random default +2021-06-18 07:20:57 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} +2021-06-18 07:20:57 DATA:  test-node-gpu.js result: performance: load: 225 total: 404 +2021-06-18 07:20:57 INFO:  test-node-gpu.js test: first instance +2021-06-18 07:20:57 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3] +2021-06-18 07:20:58 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default +2021-06-18 07:20:58 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.78,"keypoints":7} +2021-06-18 07:20:58 DATA:  test-node-gpu.js result: performance: load: 225 total: 615 +2021-06-18 07:20:58 INFO:  test-node-gpu.js test: second instance +2021-06-18 07:20:58 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3] +2021-06-18 07:20:59 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default +2021-06-18 07:20:59 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.78,"keypoints":7} +2021-06-18 07:20:59 DATA:  test-node-gpu.js result: performance: load: 3 total: 627 +2021-06-18 07:20:59 INFO:  test-node-gpu.js test: concurrent +2021-06-18 07:20:59 STATE: test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3] +2021-06-18 07:20:59 STATE: test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3] +2021-06-18 07:20:59 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] +2021-06-18 07:21:00 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] +2021-06-18 07:21:03 STATE: test-node-gpu.js passed: detect: samples/ai-face.jpg default +2021-06-18 07:21:03 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.73,"keypoints":17} +2021-06-18 07:21:03 DATA:  test-node-gpu.js result: performance: load: 225 total: 2582 +2021-06-18 07:21:03 STATE: test-node-gpu.js passed: detect: samples/ai-face.jpg default +2021-06-18 07:21:03 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.73,"keypoints":17} +2021-06-18 07:21:03 DATA:  test-node-gpu.js result: performance: load: 3 total: 2582 +2021-06-18 07:21:03 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default +2021-06-18 07:21:03 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":28.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.93,"keypoints":17} +2021-06-18 07:21:03 DATA:  test-node-gpu.js result: performance: load: 225 total: 2582 +2021-06-18 07:21:03 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default +2021-06-18 07:21:03 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":28.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.93,"keypoints":17} +2021-06-18 07:21:03 DATA:  test-node-gpu.js result: performance: load: 3 total: 2582 +2021-06-18 07:21:03 INFO:  test-node-gpu.js test complete: 9935 ms +2021-06-18 07:21:03 INFO:  test-node-wasm.js start +2021-06-18 07:21:03 STATE: test-node-wasm.js passed: model server: http://localhost:10030/models/ +2021-06-18 07:21:03 STATE: test-node-wasm.js passed: create human +2021-06-18 07:21:03 INFO:  test-node-wasm.js human version: 2.0.3 +2021-06-18 07:21:03 INFO:  test-node-wasm.js platform: linux x64 agent: NodeJS v16.0.0 +2021-06-18 07:21:03 INFO:  test-node-wasm.js tfjs version: 3.7.0 +2021-06-18 07:21:03 STATE: test-node-wasm.js passed: set backend: wasm +2021-06-18 07:21:03 STATE: test-node-wasm.js passed: load models +2021-06-18 07:21:03 STATE: test-node-wasm.js result: defined models: 14 loaded models: 6 +2021-06-18 07:21:03 STATE: test-node-wasm.js passed: warmup: none default +2021-06-18 07:21:03 ERROR: test-node-wasm.js failed: warmup: face default +2021-06-18 07:21:03 ERROR: test-node-wasm.js failed: warmup: body default +2021-06-18 07:21:03 INFO:  test-node-wasm.js test body variants +2021-06-18 07:21:05 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] +2021-06-18 07:21:07 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg posenet +2021-06-18 07:21:07 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"age":28.5,"gender":"female"} {} {"score":0.96,"keypoints":16} +2021-06-18 07:21:07 DATA:  test-node-wasm.js result: performance: load: 404 total: 2180 +2021-06-18 07:21:08 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] +2021-06-18 07:21:09 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg movenet +2021-06-18 07:21:09 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"age":28.5,"gender":"female"} {} {"score":0.93,"keypoints":17} +2021-06-18 07:21:09 DATA:  test-node-wasm.js result: performance: load: 404 total: 1389 +2021-06-18 07:21:10 STATE: test-node-wasm.js passed: detect: random default +2021-06-18 07:21:10 DATA:  test-node-wasm.js result: face: 0 body: 1 hand: 0 gesture: 1 object: 0 person: 0 {} {} {"score":0.93,"keypoints":17} +2021-06-18 07:21:10 DATA:  test-node-wasm.js result: performance: load: 404 total: 100 +2021-06-18 07:21:10 INFO:  test-node-wasm.js test: first instance +2021-06-18 07:21:10 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3] +2021-06-18 07:21:10 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default +2021-06-18 07:21:10 DATA:  test-node-wasm.js result: face: 0 body: 1 hand: 0 gesture: 1 object: 0 person: 0 {} {} {"score":0.78,"keypoints":7} +2021-06-18 07:21:10 DATA:  test-node-wasm.js result: performance: load: 404 total: 218 +2021-06-18 07:21:10 INFO:  test-node-wasm.js test: second instance +2021-06-18 07:21:11 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3] +2021-06-18 07:21:12 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default +2021-06-18 07:21:12 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"age":29.5,"gender":"female"} {} {"score":0.78,"keypoints":7} +2021-06-18 07:21:12 DATA:  test-node-wasm.js result: performance: load: 3 total: 1569 +2021-06-18 07:21:12 INFO:  test-node-wasm.js test: concurrent +2021-06-18 07:21:12 STATE: test-node-wasm.js passed: load image: samples/ai-face.jpg [1,256,256,3] +2021-06-18 07:21:12 STATE: test-node-wasm.js passed: load image: samples/ai-face.jpg [1,256,256,3] +2021-06-18 07:21:13 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] +2021-06-18 07:21:15 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] +2021-06-18 07:21:21 STATE: test-node-wasm.js passed: detect: samples/ai-face.jpg default +2021-06-18 07:21:21 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 0 person: 1 {"age":23.6,"gender":"female"} {} {"score":0.73,"keypoints":17} +2021-06-18 07:21:21 DATA:  test-node-wasm.js result: performance: load: 404 total: 6225 +2021-06-18 07:21:21 STATE: test-node-wasm.js passed: detect: samples/ai-face.jpg default +2021-06-18 07:21:21 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 0 person: 1 {"age":23.6,"gender":"female"} {} {"score":0.73,"keypoints":17} +2021-06-18 07:21:21 DATA:  test-node-wasm.js result: performance: load: 3 total: 6225 +2021-06-18 07:21:21 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default +2021-06-18 07:21:21 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"age":28.5,"gender":"female"} {} {"score":0.93,"keypoints":17} +2021-06-18 07:21:21 DATA:  test-node-wasm.js result: performance: load: 404 total: 6225 +2021-06-18 07:21:21 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default +2021-06-18 07:21:21 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"age":28.5,"gender":"female"} {} {"score":0.93,"keypoints":17} +2021-06-18 07:21:21 DATA:  test-node-wasm.js result: performance: load: 3 total: 6225 +2021-06-18 07:21:21 INFO:  test-node-wasm.js test complete: 17896 ms +2021-06-18 07:21:21 INFO:  status: {"passed":68,"failed":2} diff --git a/typedoc/assets/js/search.js b/typedoc/assets/js/search.js index e00df46f..6b2b4ba6 100644 --- a/typedoc/assets/js/search.js +++ b/typedoc/assets/js/search.js @@ -1 +1 @@ -window.searchData = {"kinds":{"128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","65536":"Type literal","4194304":"Type alias","16777216":"Reference"},"rows":[{"id":0,"kind":4194304,"name":"Input","url":"index.html#input","classes":"tsd-kind-type-alias"},{"id":1,"kind":4194304,"name":"Error","url":"index.html#error","classes":"tsd-kind-type-alias"},{"id":2,"kind":65536,"name":"__type","url":"index.html#error.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"Error"},{"id":3,"kind":1024,"name":"error","url":"index.html#error.__type.error-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Error.__type"},{"id":4,"kind":4194304,"name":"TensorFlow","url":"index.html#tensorflow","classes":"tsd-kind-type-alias"},{"id":5,"kind":128,"name":"Human","url":"classes/human.html","classes":"tsd-kind-class"},{"id":6,"kind":512,"name":"constructor","url":"classes/human.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"Human"},{"id":7,"kind":1024,"name":"version","url":"classes/human.html#version","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":8,"kind":1024,"name":"config","url":"classes/human.html#config","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":9,"kind":1024,"name":"result","url":"classes/human.html#result","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":10,"kind":1024,"name":"state","url":"classes/human.html#state","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":11,"kind":1024,"name":"image","url":"classes/human.html#image","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":12,"kind":65536,"name":"__type","url":"classes/human.html#__type-7","classes":"tsd-kind-type-literal tsd-parent-kind-class","parent":"Human"},{"id":13,"kind":1024,"name":"tensor","url":"classes/human.html#__type-7.tensor","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":14,"kind":1024,"name":"canvas","url":"classes/human.html#__type-7.canvas-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":15,"kind":1024,"name":"tf","url":"classes/human.html#tf","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":16,"kind":1024,"name":"draw","url":"classes/human.html#draw","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":17,"kind":65536,"name":"__type","url":"classes/human.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-class","parent":"Human"},{"id":18,"kind":1024,"name":"options","url":"classes/human.html#__type.options","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":19,"kind":1024,"name":"gesture","url":"classes/human.html#__type.gesture","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":20,"kind":65536,"name":"__type","url":"classes/human.html#__type.__type-5","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":21,"kind":1024,"name":"face","url":"classes/human.html#__type.face","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":22,"kind":65536,"name":"__type","url":"classes/human.html#__type.__type-4","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":23,"kind":1024,"name":"body","url":"classes/human.html#__type.body","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":24,"kind":65536,"name":"__type","url":"classes/human.html#__type.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":25,"kind":1024,"name":"hand","url":"classes/human.html#__type.hand","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":26,"kind":65536,"name":"__type","url":"classes/human.html#__type.__type-6","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":27,"kind":1024,"name":"canvas","url":"classes/human.html#__type.canvas","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":28,"kind":65536,"name":"__type","url":"classes/human.html#__type.__type-3","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":29,"kind":1024,"name":"all","url":"classes/human.html#__type.all","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":30,"kind":65536,"name":"__type","url":"classes/human.html#__type.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":31,"kind":1024,"name":"models","url":"classes/human.html#models","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":32,"kind":65536,"name":"__type","url":"classes/human.html#__type-8","classes":"tsd-kind-type-literal tsd-parent-kind-class","parent":"Human"},{"id":33,"kind":1024,"name":"face","url":"classes/human.html#__type-8.face-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":34,"kind":1024,"name":"posenet","url":"classes/human.html#__type-8.posenet","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":35,"kind":1024,"name":"blazepose","url":"classes/human.html#__type-8.blazepose","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":36,"kind":1024,"name":"efficientpose","url":"classes/human.html#__type-8.efficientpose","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":37,"kind":1024,"name":"movenet","url":"classes/human.html#__type-8.movenet","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":38,"kind":1024,"name":"handpose","url":"classes/human.html#__type-8.handpose","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":39,"kind":1024,"name":"age","url":"classes/human.html#__type-8.age","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":40,"kind":1024,"name":"gender","url":"classes/human.html#__type-8.gender","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":41,"kind":1024,"name":"emotion","url":"classes/human.html#__type-8.emotion","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":42,"kind":1024,"name":"embedding","url":"classes/human.html#__type-8.embedding","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":43,"kind":1024,"name":"nanodet","url":"classes/human.html#__type-8.nanodet","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":44,"kind":1024,"name":"centernet","url":"classes/human.html#__type-8.centernet","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":45,"kind":1024,"name":"faceres","url":"classes/human.html#__type-8.faceres","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":46,"kind":1024,"name":"segmentation","url":"classes/human.html#__type-8.segmentation","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":47,"kind":1024,"name":"faceTriangulation","url":"classes/human.html#facetriangulation","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":48,"kind":1024,"name":"faceUVMap","url":"classes/human.html#faceuvmap","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":49,"kind":1024,"name":"sysinfo","url":"classes/human.html#sysinfo","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":50,"kind":65536,"name":"__type","url":"classes/human.html#__type-9","classes":"tsd-kind-type-literal tsd-parent-kind-class","parent":"Human"},{"id":51,"kind":1024,"name":"platform","url":"classes/human.html#__type-9.platform","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":52,"kind":1024,"name":"agent","url":"classes/human.html#__type-9.agent","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":53,"kind":1024,"name":"performance","url":"classes/human.html#performance","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":54,"kind":2048,"name":"similarity","url":"classes/human.html#similarity","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Human"},{"id":55,"kind":2048,"name":"segmentation","url":"classes/human.html#segmentation-1","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Human"},{"id":56,"kind":2048,"name":"enhance","url":"classes/human.html#enhance","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Human"},{"id":57,"kind":2048,"name":"match","url":"classes/human.html#match","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Human"},{"id":58,"kind":2048,"name":"load","url":"classes/human.html#load","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Human"},{"id":59,"kind":2048,"name":"next","url":"classes/human.html#next","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Human"},{"id":60,"kind":2048,"name":"detect","url":"classes/human.html#detect","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Human"},{"id":61,"kind":2048,"name":"warmup","url":"classes/human.html#warmup","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Human"},{"id":62,"kind":16777216,"name":"default","url":"index.html#default","classes":"tsd-kind-reference"},{"id":63,"kind":256,"name":"Config","url":"interfaces/config.html","classes":"tsd-kind-interface"},{"id":64,"kind":1024,"name":"backend","url":"interfaces/config.html#backend","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":65,"kind":1024,"name":"wasmPath","url":"interfaces/config.html#wasmpath","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":66,"kind":1024,"name":"debug","url":"interfaces/config.html#debug","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":67,"kind":1024,"name":"async","url":"interfaces/config.html#async","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":68,"kind":1024,"name":"warmup","url":"interfaces/config.html#warmup","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":69,"kind":1024,"name":"modelBasePath","url":"interfaces/config.html#modelbasepath","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":70,"kind":1024,"name":"cacheSensitivity","url":"interfaces/config.html#cachesensitivity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":71,"kind":1024,"name":"skipFrame","url":"interfaces/config.html#skipframe","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":72,"kind":1024,"name":"filter","url":"interfaces/config.html#filter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":73,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-7","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Config"},{"id":74,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-7.enabled-6","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":75,"kind":1024,"name":"width","url":"interfaces/config.html#__type-7.width","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":76,"kind":1024,"name":"height","url":"interfaces/config.html#__type-7.height","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":77,"kind":1024,"name":"return","url":"interfaces/config.html#__type-7.return-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":78,"kind":1024,"name":"flip","url":"interfaces/config.html#__type-7.flip","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":79,"kind":1024,"name":"brightness","url":"interfaces/config.html#__type-7.brightness","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":80,"kind":1024,"name":"contrast","url":"interfaces/config.html#__type-7.contrast","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":81,"kind":1024,"name":"sharpness","url":"interfaces/config.html#__type-7.sharpness","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":82,"kind":1024,"name":"blur","url":"interfaces/config.html#__type-7.blur","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":83,"kind":1024,"name":"saturation","url":"interfaces/config.html#__type-7.saturation","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":84,"kind":1024,"name":"hue","url":"interfaces/config.html#__type-7.hue","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":85,"kind":1024,"name":"negative","url":"interfaces/config.html#__type-7.negative","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":86,"kind":1024,"name":"sepia","url":"interfaces/config.html#__type-7.sepia","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":87,"kind":1024,"name":"vintage","url":"interfaces/config.html#__type-7.vintage","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":88,"kind":1024,"name":"kodachrome","url":"interfaces/config.html#__type-7.kodachrome","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":89,"kind":1024,"name":"technicolor","url":"interfaces/config.html#__type-7.technicolor","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":90,"kind":1024,"name":"polaroid","url":"interfaces/config.html#__type-7.polaroid","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":91,"kind":1024,"name":"pixelate","url":"interfaces/config.html#__type-7.pixelate","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":92,"kind":1024,"name":"gesture","url":"interfaces/config.html#gesture","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":93,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-8","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Config"},{"id":94,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-8.enabled-7","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":95,"kind":1024,"name":"face","url":"interfaces/config.html#face","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":96,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Config"},{"id":97,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-1.enabled-3","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":98,"kind":1024,"name":"detector","url":"interfaces/config.html#__type-1.detector","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":99,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-1.__type-3","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":100,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type-1.__type-3.modelpath-2","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":101,"kind":1024,"name":"rotation","url":"interfaces/config.html#__type-1.__type-3.rotation","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":102,"kind":1024,"name":"maxDetected","url":"interfaces/config.html#__type-1.__type-3.maxdetected-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":103,"kind":1024,"name":"skipFrames","url":"interfaces/config.html#__type-1.__type-3.skipframes-2","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":104,"kind":1024,"name":"minConfidence","url":"interfaces/config.html#__type-1.__type-3.minconfidence-2","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":105,"kind":1024,"name":"iouThreshold","url":"interfaces/config.html#__type-1.__type-3.iouthreshold","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":106,"kind":1024,"name":"return","url":"interfaces/config.html#__type-1.__type-3.return","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":107,"kind":1024,"name":"mesh","url":"interfaces/config.html#__type-1.mesh","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":108,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-1.__type-6","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":109,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-1.__type-6.enabled-5","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":110,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type-1.__type-6.modelpath-5","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":111,"kind":1024,"name":"iris","url":"interfaces/config.html#__type-1.iris","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":112,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-1.__type-5","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":113,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-1.__type-5.enabled-4","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":114,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type-1.__type-5.modelpath-4","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":115,"kind":1024,"name":"description","url":"interfaces/config.html#__type-1.description","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":116,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-1.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":117,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-1.__type-2.enabled-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":118,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type-1.__type-2.modelpath-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":119,"kind":1024,"name":"skipFrames","url":"interfaces/config.html#__type-1.__type-2.skipframes-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":120,"kind":1024,"name":"minConfidence","url":"interfaces/config.html#__type-1.__type-2.minconfidence-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":121,"kind":1024,"name":"emotion","url":"interfaces/config.html#__type-1.emotion","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":122,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-1.__type-4","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":123,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-1.__type-4.enabled-2","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":124,"kind":1024,"name":"minConfidence","url":"interfaces/config.html#__type-1.__type-4.minconfidence-3","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":125,"kind":1024,"name":"skipFrames","url":"interfaces/config.html#__type-1.__type-4.skipframes-3","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":126,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type-1.__type-4.modelpath-3","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":127,"kind":1024,"name":"body","url":"interfaces/config.html#body","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":128,"kind":65536,"name":"__type","url":"interfaces/config.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Config"},{"id":129,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type.enabled","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":130,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type.modelpath","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":131,"kind":1024,"name":"maxDetected","url":"interfaces/config.html#__type.maxdetected","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":132,"kind":1024,"name":"minConfidence","url":"interfaces/config.html#__type.minconfidence","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":133,"kind":1024,"name":"skipFrames","url":"interfaces/config.html#__type.skipframes","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":134,"kind":1024,"name":"hand","url":"interfaces/config.html#hand","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":135,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-9","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Config"},{"id":136,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-9.enabled-8","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":137,"kind":1024,"name":"rotation","url":"interfaces/config.html#__type-9.rotation-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":138,"kind":1024,"name":"skipFrames","url":"interfaces/config.html#__type-9.skipframes-4","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":139,"kind":1024,"name":"minConfidence","url":"interfaces/config.html#__type-9.minconfidence-4","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":140,"kind":1024,"name":"iouThreshold","url":"interfaces/config.html#__type-9.iouthreshold-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":141,"kind":1024,"name":"maxDetected","url":"interfaces/config.html#__type-9.maxdetected-2","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":142,"kind":1024,"name":"landmarks","url":"interfaces/config.html#__type-9.landmarks","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":143,"kind":1024,"name":"detector","url":"interfaces/config.html#__type-9.detector-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":144,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-9.__type-10","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":145,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type-9.__type-10.modelpath-6","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":146,"kind":1024,"name":"skeleton","url":"interfaces/config.html#__type-9.skeleton","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":147,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-9.__type-11","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":148,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type-9.__type-11.modelpath-7","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":149,"kind":1024,"name":"object","url":"interfaces/config.html#object","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":150,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-12","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Config"},{"id":151,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-12.enabled-9","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":152,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type-12.modelpath-8","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":153,"kind":1024,"name":"minConfidence","url":"interfaces/config.html#__type-12.minconfidence-5","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":154,"kind":1024,"name":"iouThreshold","url":"interfaces/config.html#__type-12.iouthreshold-2","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":155,"kind":1024,"name":"maxDetected","url":"interfaces/config.html#__type-12.maxdetected-3","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":156,"kind":1024,"name":"skipFrames","url":"interfaces/config.html#__type-12.skipframes-5","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":157,"kind":1024,"name":"segmentation","url":"interfaces/config.html#segmentation","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":158,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-13","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Config"},{"id":159,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-13.enabled-10","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":160,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type-13.modelpath-9","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":161,"kind":256,"name":"Result","url":"interfaces/result.html","classes":"tsd-kind-interface"},{"id":162,"kind":1024,"name":"face","url":"interfaces/result.html#face","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Result"},{"id":163,"kind":1024,"name":"body","url":"interfaces/result.html#body","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Result"},{"id":164,"kind":1024,"name":"hand","url":"interfaces/result.html#hand","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Result"},{"id":165,"kind":1024,"name":"gesture","url":"interfaces/result.html#gesture","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Result"},{"id":166,"kind":1024,"name":"object","url":"interfaces/result.html#object","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Result"},{"id":167,"kind":1024,"name":"performance","url":"interfaces/result.html#performance","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Result"},{"id":168,"kind":1024,"name":"canvas","url":"interfaces/result.html#canvas","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Result"},{"id":169,"kind":1024,"name":"timestamp","url":"interfaces/result.html#timestamp","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Result"},{"id":170,"kind":1024,"name":"persons","url":"interfaces/result.html#persons","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Result"},{"id":171,"kind":256,"name":"Face","url":"interfaces/face.html","classes":"tsd-kind-interface"},{"id":172,"kind":1024,"name":"id","url":"interfaces/face.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":173,"kind":1024,"name":"score","url":"interfaces/face.html#score","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":174,"kind":1024,"name":"boxScore","url":"interfaces/face.html#boxscore","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":175,"kind":1024,"name":"faceScore","url":"interfaces/face.html#facescore","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":176,"kind":1024,"name":"box","url":"interfaces/face.html#box","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":177,"kind":1024,"name":"boxRaw","url":"interfaces/face.html#boxraw","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":178,"kind":1024,"name":"mesh","url":"interfaces/face.html#mesh","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":179,"kind":1024,"name":"meshRaw","url":"interfaces/face.html#meshraw","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":180,"kind":1024,"name":"annotations","url":"interfaces/face.html#annotations","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":181,"kind":1024,"name":"age","url":"interfaces/face.html#age","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":182,"kind":1024,"name":"gender","url":"interfaces/face.html#gender","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":183,"kind":1024,"name":"genderScore","url":"interfaces/face.html#genderscore","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":184,"kind":1024,"name":"emotion","url":"interfaces/face.html#emotion","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":185,"kind":1024,"name":"embedding","url":"interfaces/face.html#embedding","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":186,"kind":1024,"name":"iris","url":"interfaces/face.html#iris","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":187,"kind":1024,"name":"rotation","url":"interfaces/face.html#rotation","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":188,"kind":65536,"name":"__type","url":"interfaces/face.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Face"},{"id":189,"kind":1024,"name":"angle","url":"interfaces/face.html#__type.angle","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Face.__type"},{"id":190,"kind":65536,"name":"__type","url":"interfaces/face.html#__type.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Face.__type"},{"id":191,"kind":1024,"name":"roll","url":"interfaces/face.html#__type.__type-1.roll","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Face.__type.__type"},{"id":192,"kind":1024,"name":"yaw","url":"interfaces/face.html#__type.__type-1.yaw","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Face.__type.__type"},{"id":193,"kind":1024,"name":"pitch","url":"interfaces/face.html#__type.__type-1.pitch","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Face.__type.__type"},{"id":194,"kind":1024,"name":"matrix","url":"interfaces/face.html#__type.matrix","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Face.__type"},{"id":195,"kind":1024,"name":"gaze","url":"interfaces/face.html#__type.gaze","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Face.__type"},{"id":196,"kind":65536,"name":"__type","url":"interfaces/face.html#__type.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Face.__type"},{"id":197,"kind":1024,"name":"bearing","url":"interfaces/face.html#__type.__type-2.bearing","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Face.__type.__type"},{"id":198,"kind":1024,"name":"strength","url":"interfaces/face.html#__type.__type-2.strength","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Face.__type.__type"},{"id":199,"kind":1024,"name":"image","url":"interfaces/face.html#image","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":200,"kind":1024,"name":"tensor","url":"interfaces/face.html#tensor","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":201,"kind":256,"name":"Hand","url":"interfaces/hand.html","classes":"tsd-kind-interface"},{"id":202,"kind":1024,"name":"id","url":"interfaces/hand.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Hand"},{"id":203,"kind":1024,"name":"score","url":"interfaces/hand.html#score","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Hand"},{"id":204,"kind":1024,"name":"box","url":"interfaces/hand.html#box","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Hand"},{"id":205,"kind":1024,"name":"boxRaw","url":"interfaces/hand.html#boxraw","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Hand"},{"id":206,"kind":1024,"name":"keypoints","url":"interfaces/hand.html#keypoints","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Hand"},{"id":207,"kind":1024,"name":"annotations","url":"interfaces/hand.html#annotations","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Hand"},{"id":208,"kind":256,"name":"Body","url":"interfaces/body.html","classes":"tsd-kind-interface"},{"id":209,"kind":1024,"name":"id","url":"interfaces/body.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Body"},{"id":210,"kind":1024,"name":"score","url":"interfaces/body.html#score","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Body"},{"id":211,"kind":1024,"name":"box","url":"interfaces/body.html#box","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Body"},{"id":212,"kind":1024,"name":"boxRaw","url":"interfaces/body.html#boxraw","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Body"},{"id":213,"kind":1024,"name":"keypoints","url":"interfaces/body.html#keypoints","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Body"},{"id":214,"kind":256,"name":"Item","url":"interfaces/item.html","classes":"tsd-kind-interface"},{"id":215,"kind":1024,"name":"id","url":"interfaces/item.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Item"},{"id":216,"kind":1024,"name":"score","url":"interfaces/item.html#score","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Item"},{"id":217,"kind":1024,"name":"class","url":"interfaces/item.html#class","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Item"},{"id":218,"kind":1024,"name":"label","url":"interfaces/item.html#label","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Item"},{"id":219,"kind":1024,"name":"box","url":"interfaces/item.html#box","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Item"},{"id":220,"kind":1024,"name":"boxRaw","url":"interfaces/item.html#boxraw","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Item"},{"id":221,"kind":4194304,"name":"Gesture","url":"index.html#gesture","classes":"tsd-kind-type-alias"},{"id":222,"kind":256,"name":"Person","url":"interfaces/person.html","classes":"tsd-kind-interface"},{"id":223,"kind":1024,"name":"id","url":"interfaces/person.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Person"},{"id":224,"kind":1024,"name":"face","url":"interfaces/person.html#face","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Person"},{"id":225,"kind":1024,"name":"body","url":"interfaces/person.html#body","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Person"},{"id":226,"kind":1024,"name":"hands","url":"interfaces/person.html#hands","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Person"},{"id":227,"kind":65536,"name":"__type","url":"interfaces/person.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Person"},{"id":228,"kind":1024,"name":"left","url":"interfaces/person.html#__type.left","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Person.__type"},{"id":229,"kind":1024,"name":"right","url":"interfaces/person.html#__type.right","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Person.__type"},{"id":230,"kind":1024,"name":"gestures","url":"interfaces/person.html#gestures","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Person"},{"id":231,"kind":1024,"name":"box","url":"interfaces/person.html#box","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Person"},{"id":232,"kind":1024,"name":"boxRaw","url":"interfaces/person.html#boxraw","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Person"},{"id":233,"kind":256,"name":"DrawOptions","url":"interfaces/drawoptions.html","classes":"tsd-kind-interface"},{"id":234,"kind":1024,"name":"color","url":"interfaces/drawoptions.html#color","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":235,"kind":1024,"name":"labelColor","url":"interfaces/drawoptions.html#labelcolor","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":236,"kind":1024,"name":"shadowColor","url":"interfaces/drawoptions.html#shadowcolor","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":237,"kind":1024,"name":"font","url":"interfaces/drawoptions.html#font","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":238,"kind":1024,"name":"lineHeight","url":"interfaces/drawoptions.html#lineheight","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":239,"kind":1024,"name":"lineWidth","url":"interfaces/drawoptions.html#linewidth","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":240,"kind":1024,"name":"pointSize","url":"interfaces/drawoptions.html#pointsize","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":241,"kind":1024,"name":"roundRect","url":"interfaces/drawoptions.html#roundrect","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":242,"kind":1024,"name":"drawPoints","url":"interfaces/drawoptions.html#drawpoints","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":243,"kind":1024,"name":"drawLabels","url":"interfaces/drawoptions.html#drawlabels","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":244,"kind":1024,"name":"drawBoxes","url":"interfaces/drawoptions.html#drawboxes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":245,"kind":1024,"name":"drawPolygons","url":"interfaces/drawoptions.html#drawpolygons","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":246,"kind":1024,"name":"drawGaze","url":"interfaces/drawoptions.html#drawgaze","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":247,"kind":1024,"name":"fillPolygons","url":"interfaces/drawoptions.html#fillpolygons","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":248,"kind":1024,"name":"useDepth","url":"interfaces/drawoptions.html#usedepth","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":249,"kind":1024,"name":"useCurves","url":"interfaces/drawoptions.html#usecurves","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":250,"kind":1024,"name":"bufferedOutput","url":"interfaces/drawoptions.html#bufferedoutput","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,51.24]],["parent/0",[]],["name/1",[1,42.767]],["parent/1",[]],["name/2",[2,21.45]],["parent/2",[1,4.176]],["name/3",[1,42.767]],["parent/3",[3,5.003]],["name/4",[4,51.24]],["parent/4",[]],["name/5",[5,22.523]],["parent/5",[]],["name/6",[6,51.24]],["parent/6",[5,2.199]],["name/7",[7,51.24]],["parent/7",[5,2.199]],["name/8",[8,23.308]],["parent/8",[5,2.199]],["name/9",[9,30.871]],["parent/9",[5,2.199]],["name/10",[10,51.24]],["parent/10",[5,2.199]],["name/11",[11,46.131]],["parent/11",[5,2.199]],["name/12",[2,21.45]],["parent/12",[5,2.199]],["name/13",[12,46.131]],["parent/13",[13,2.03]],["name/14",[14,42.767]],["parent/14",[13,2.03]],["name/15",[15,51.24]],["parent/15",[5,2.199]],["name/16",[16,51.24]],["parent/16",[5,2.199]],["name/17",[2,21.45]],["parent/17",[5,2.199]],["name/18",[17,51.24]],["parent/18",[13,2.03]],["name/19",[18,40.254]],["parent/19",[13,2.03]],["name/20",[2,21.45]],["parent/20",[13,2.03]],["name/21",[19,22.908]],["parent/21",[13,2.03]],["name/22",[2,21.45]],["parent/22",[13,2.03]],["name/23",[20,31.781]],["parent/23",[13,2.03]],["name/24",[2,21.45]],["parent/24",[13,2.03]],["name/25",[21,31.781]],["parent/25",[13,2.03]],["name/26",[2,21.45]],["parent/26",[13,2.03]],["name/27",[14,42.767]],["parent/27",[13,2.03]],["name/28",[2,21.45]],["parent/28",[13,2.03]],["name/29",[22,51.24]],["parent/29",[13,2.03]],["name/30",[2,21.45]],["parent/30",[13,2.03]],["name/31",[23,51.24]],["parent/31",[5,2.199]],["name/32",[2,21.45]],["parent/32",[5,2.199]],["name/33",[19,22.908]],["parent/33",[13,2.03]],["name/34",[24,51.24]],["parent/34",[13,2.03]],["name/35",[25,51.24]],["parent/35",[13,2.03]],["name/36",[26,51.24]],["parent/36",[13,2.03]],["name/37",[27,51.24]],["parent/37",[13,2.03]],["name/38",[28,51.24]],["parent/38",[13,2.03]],["name/39",[29,46.131]],["parent/39",[13,2.03]],["name/40",[30,46.131]],["parent/40",[13,2.03]],["name/41",[31,42.767]],["parent/41",[13,2.03]],["name/42",[32,46.131]],["parent/42",[13,2.03]],["name/43",[33,51.24]],["parent/43",[13,2.03]],["name/44",[34,51.24]],["parent/44",[13,2.03]],["name/45",[35,51.24]],["parent/45",[13,2.03]],["name/46",[36,42.767]],["parent/46",[13,2.03]],["name/47",[37,51.24]],["parent/47",[5,2.199]],["name/48",[38,51.24]],["parent/48",[5,2.199]],["name/49",[39,51.24]],["parent/49",[5,2.199]],["name/50",[2,21.45]],["parent/50",[5,2.199]],["name/51",[40,51.24]],["parent/51",[13,2.03]],["name/52",[41,51.24]],["parent/52",[13,2.03]],["name/53",[42,46.131]],["parent/53",[5,2.199]],["name/54",[43,51.24]],["parent/54",[5,2.199]],["name/55",[36,42.767]],["parent/55",[5,2.199]],["name/56",[44,51.24]],["parent/56",[5,2.199]],["name/57",[45,51.24]],["parent/57",[5,2.199]],["name/58",[46,51.24]],["parent/58",[5,2.199]],["name/59",[47,51.24]],["parent/59",[5,2.199]],["name/60",[48,51.24]],["parent/60",[5,2.199]],["name/61",[49,46.131]],["parent/61",[5,2.199]],["name/62",[50,51.24]],["parent/62",[]],["name/63",[8,23.308]],["parent/63",[]],["name/64",[51,51.24]],["parent/64",[8,2.276]],["name/65",[52,51.24]],["parent/65",[8,2.276]],["name/66",[53,51.24]],["parent/66",[8,2.276]],["name/67",[54,51.24]],["parent/67",[8,2.276]],["name/68",[49,46.131]],["parent/68",[8,2.276]],["name/69",[55,51.24]],["parent/69",[8,2.276]],["name/70",[56,51.24]],["parent/70",[8,2.276]],["name/71",[57,51.24]],["parent/71",[8,2.276]],["name/72",[58,51.24]],["parent/72",[8,2.276]],["name/73",[2,21.45]],["parent/73",[8,2.276]],["name/74",[59,30.871]],["parent/74",[60,1.495]],["name/75",[61,51.24]],["parent/75",[60,1.495]],["name/76",[62,51.24]],["parent/76",[60,1.495]],["name/77",[63,46.131]],["parent/77",[60,1.495]],["name/78",[64,51.24]],["parent/78",[60,1.495]],["name/79",[65,51.24]],["parent/79",[60,1.495]],["name/80",[66,51.24]],["parent/80",[60,1.495]],["name/81",[67,51.24]],["parent/81",[60,1.495]],["name/82",[68,51.24]],["parent/82",[60,1.495]],["name/83",[69,51.24]],["parent/83",[60,1.495]],["name/84",[70,51.24]],["parent/84",[60,1.495]],["name/85",[71,51.24]],["parent/85",[60,1.495]],["name/86",[72,51.24]],["parent/86",[60,1.495]],["name/87",[73,51.24]],["parent/87",[60,1.495]],["name/88",[74,51.24]],["parent/88",[60,1.495]],["name/89",[75,51.24]],["parent/89",[60,1.495]],["name/90",[76,51.24]],["parent/90",[60,1.495]],["name/91",[77,51.24]],["parent/91",[60,1.495]],["name/92",[18,40.254]],["parent/92",[8,2.276]],["name/93",[2,21.45]],["parent/93",[8,2.276]],["name/94",[59,30.871]],["parent/94",[60,1.495]],["name/95",[19,22.908]],["parent/95",[8,2.276]],["name/96",[2,21.45]],["parent/96",[8,2.276]],["name/97",[59,30.871]],["parent/97",[60,1.495]],["name/98",[78,46.131]],["parent/98",[60,1.495]],["name/99",[2,21.45]],["parent/99",[60,1.495]],["name/100",[79,31.781]],["parent/100",[80,2.403]],["name/101",[81,42.767]],["parent/101",[80,2.403]],["name/102",[82,40.254]],["parent/102",[80,2.403]],["name/103",[83,36.576]],["parent/103",[80,2.403]],["name/104",[84,36.576]],["parent/104",[80,2.403]],["name/105",[85,42.767]],["parent/105",[80,2.403]],["name/106",[63,46.131]],["parent/106",[80,2.403]],["name/107",[86,46.131]],["parent/107",[60,1.495]],["name/108",[2,21.45]],["parent/108",[60,1.495]],["name/109",[59,30.871]],["parent/109",[80,2.403]],["name/110",[79,31.781]],["parent/110",[80,2.403]],["name/111",[87,46.131]],["parent/111",[60,1.495]],["name/112",[2,21.45]],["parent/112",[60,1.495]],["name/113",[59,30.871]],["parent/113",[80,2.403]],["name/114",[79,31.781]],["parent/114",[80,2.403]],["name/115",[88,51.24]],["parent/115",[60,1.495]],["name/116",[2,21.45]],["parent/116",[60,1.495]],["name/117",[59,30.871]],["parent/117",[80,2.403]],["name/118",[79,31.781]],["parent/118",[80,2.403]],["name/119",[83,36.576]],["parent/119",[80,2.403]],["name/120",[84,36.576]],["parent/120",[80,2.403]],["name/121",[31,42.767]],["parent/121",[60,1.495]],["name/122",[2,21.45]],["parent/122",[60,1.495]],["name/123",[59,30.871]],["parent/123",[80,2.403]],["name/124",[84,36.576]],["parent/124",[80,2.403]],["name/125",[83,36.576]],["parent/125",[80,2.403]],["name/126",[79,31.781]],["parent/126",[80,2.403]],["name/127",[20,31.781]],["parent/127",[8,2.276]],["name/128",[2,21.45]],["parent/128",[8,2.276]],["name/129",[59,30.871]],["parent/129",[60,1.495]],["name/130",[79,31.781]],["parent/130",[60,1.495]],["name/131",[82,40.254]],["parent/131",[60,1.495]],["name/132",[84,36.576]],["parent/132",[60,1.495]],["name/133",[83,36.576]],["parent/133",[60,1.495]],["name/134",[21,31.781]],["parent/134",[8,2.276]],["name/135",[2,21.45]],["parent/135",[8,2.276]],["name/136",[59,30.871]],["parent/136",[60,1.495]],["name/137",[81,42.767]],["parent/137",[60,1.495]],["name/138",[83,36.576]],["parent/138",[60,1.495]],["name/139",[84,36.576]],["parent/139",[60,1.495]],["name/140",[85,42.767]],["parent/140",[60,1.495]],["name/141",[82,40.254]],["parent/141",[60,1.495]],["name/142",[89,51.24]],["parent/142",[60,1.495]],["name/143",[78,46.131]],["parent/143",[60,1.495]],["name/144",[2,21.45]],["parent/144",[60,1.495]],["name/145",[79,31.781]],["parent/145",[80,2.403]],["name/146",[90,51.24]],["parent/146",[60,1.495]],["name/147",[2,21.45]],["parent/147",[60,1.495]],["name/148",[79,31.781]],["parent/148",[80,2.403]],["name/149",[91,46.131]],["parent/149",[8,2.276]],["name/150",[2,21.45]],["parent/150",[8,2.276]],["name/151",[59,30.871]],["parent/151",[60,1.495]],["name/152",[79,31.781]],["parent/152",[60,1.495]],["name/153",[84,36.576]],["parent/153",[60,1.495]],["name/154",[85,42.767]],["parent/154",[60,1.495]],["name/155",[82,40.254]],["parent/155",[60,1.495]],["name/156",[83,36.576]],["parent/156",[60,1.495]],["name/157",[36,42.767]],["parent/157",[8,2.276]],["name/158",[2,21.45]],["parent/158",[8,2.276]],["name/159",[59,30.871]],["parent/159",[60,1.495]],["name/160",[79,31.781]],["parent/160",[60,1.495]],["name/161",[9,30.871]],["parent/161",[]],["name/162",[19,22.908]],["parent/162",[9,3.014]],["name/163",[20,31.781]],["parent/163",[9,3.014]],["name/164",[21,31.781]],["parent/164",[9,3.014]],["name/165",[18,40.254]],["parent/165",[9,3.014]],["name/166",[91,46.131]],["parent/166",[9,3.014]],["name/167",[42,46.131]],["parent/167",[9,3.014]],["name/168",[14,42.767]],["parent/168",[9,3.014]],["name/169",[92,51.24]],["parent/169",[9,3.014]],["name/170",[93,51.24]],["parent/170",[9,3.014]],["name/171",[19,22.908]],["parent/171",[]],["name/172",[94,38.247]],["parent/172",[19,2.237]],["name/173",[95,40.254]],["parent/173",[19,2.237]],["name/174",[96,51.24]],["parent/174",[19,2.237]],["name/175",[97,51.24]],["parent/175",[19,2.237]],["name/176",[98,38.247]],["parent/176",[19,2.237]],["name/177",[99,38.247]],["parent/177",[19,2.237]],["name/178",[86,46.131]],["parent/178",[19,2.237]],["name/179",[100,51.24]],["parent/179",[19,2.237]],["name/180",[101,46.131]],["parent/180",[19,2.237]],["name/181",[29,46.131]],["parent/181",[19,2.237]],["name/182",[30,46.131]],["parent/182",[19,2.237]],["name/183",[102,51.24]],["parent/183",[19,2.237]],["name/184",[31,42.767]],["parent/184",[19,2.237]],["name/185",[32,46.131]],["parent/185",[19,2.237]],["name/186",[87,46.131]],["parent/186",[19,2.237]],["name/187",[81,42.767]],["parent/187",[19,2.237]],["name/188",[2,21.45]],["parent/188",[19,2.237]],["name/189",[103,51.24]],["parent/189",[104,3.734]],["name/190",[2,21.45]],["parent/190",[104,3.734]],["name/191",[105,51.24]],["parent/191",[106,3.734]],["name/192",[107,51.24]],["parent/192",[106,3.734]],["name/193",[108,51.24]],["parent/193",[106,3.734]],["name/194",[109,51.24]],["parent/194",[104,3.734]],["name/195",[110,51.24]],["parent/195",[104,3.734]],["name/196",[2,21.45]],["parent/196",[104,3.734]],["name/197",[111,51.24]],["parent/197",[106,3.734]],["name/198",[112,51.24]],["parent/198",[106,3.734]],["name/199",[11,46.131]],["parent/199",[19,2.237]],["name/200",[12,46.131]],["parent/200",[19,2.237]],["name/201",[21,31.781]],["parent/201",[]],["name/202",[94,38.247]],["parent/202",[21,3.103]],["name/203",[95,40.254]],["parent/203",[21,3.103]],["name/204",[98,38.247]],["parent/204",[21,3.103]],["name/205",[99,38.247]],["parent/205",[21,3.103]],["name/206",[113,46.131]],["parent/206",[21,3.103]],["name/207",[101,46.131]],["parent/207",[21,3.103]],["name/208",[20,31.781]],["parent/208",[]],["name/209",[94,38.247]],["parent/209",[20,3.103]],["name/210",[95,40.254]],["parent/210",[20,3.103]],["name/211",[98,38.247]],["parent/211",[20,3.103]],["name/212",[99,38.247]],["parent/212",[20,3.103]],["name/213",[113,46.131]],["parent/213",[20,3.103]],["name/214",[114,35.145]],["parent/214",[]],["name/215",[94,38.247]],["parent/215",[114,3.432]],["name/216",[95,40.254]],["parent/216",[114,3.432]],["name/217",[115,51.24]],["parent/217",[114,3.432]],["name/218",[116,51.24]],["parent/218",[114,3.432]],["name/219",[98,38.247]],["parent/219",[114,3.432]],["name/220",[99,38.247]],["parent/220",[114,3.432]],["name/221",[18,40.254]],["parent/221",[]],["name/222",[117,32.781]],["parent/222",[]],["name/223",[94,38.247]],["parent/223",[117,3.201]],["name/224",[19,22.908]],["parent/224",[117,3.201]],["name/225",[20,31.781]],["parent/225",[117,3.201]],["name/226",[118,51.24]],["parent/226",[117,3.201]],["name/227",[2,21.45]],["parent/227",[117,3.201]],["name/228",[119,51.24]],["parent/228",[120,4.504]],["name/229",[121,51.24]],["parent/229",[120,4.504]],["name/230",[122,51.24]],["parent/230",[117,3.201]],["name/231",[98,38.247]],["parent/231",[117,3.201]],["name/232",[99,38.247]],["parent/232",[117,3.201]],["name/233",[123,26.117]],["parent/233",[]],["name/234",[124,51.24]],["parent/234",[123,2.55]],["name/235",[125,51.24]],["parent/235",[123,2.55]],["name/236",[126,51.24]],["parent/236",[123,2.55]],["name/237",[127,51.24]],["parent/237",[123,2.55]],["name/238",[128,51.24]],["parent/238",[123,2.55]],["name/239",[129,51.24]],["parent/239",[123,2.55]],["name/240",[130,51.24]],["parent/240",[123,2.55]],["name/241",[131,51.24]],["parent/241",[123,2.55]],["name/242",[132,51.24]],["parent/242",[123,2.55]],["name/243",[133,51.24]],["parent/243",[123,2.55]],["name/244",[134,51.24]],["parent/244",[123,2.55]],["name/245",[135,51.24]],["parent/245",[123,2.55]],["name/246",[136,51.24]],["parent/246",[123,2.55]],["name/247",[137,51.24]],["parent/247",[123,2.55]],["name/248",[138,51.24]],["parent/248",[123,2.55]],["name/249",[139,51.24]],["parent/249",[123,2.55]],["name/250",[140,51.24]],["parent/250",[123,2.55]]],"invertedIndex":[["__type",{"_index":2,"name":{"2":{},"12":{},"17":{},"20":{},"22":{},"24":{},"26":{},"28":{},"30":{},"32":{},"50":{},"73":{},"93":{},"96":{},"99":{},"108":{},"112":{},"116":{},"122":{},"128":{},"135":{},"144":{},"147":{},"150":{},"158":{},"188":{},"190":{},"196":{},"227":{}},"parent":{}}],["age",{"_index":29,"name":{"39":{},"181":{}},"parent":{}}],["agent",{"_index":41,"name":{"52":{}},"parent":{}}],["all",{"_index":22,"name":{"29":{}},"parent":{}}],["angle",{"_index":103,"name":{"189":{}},"parent":{}}],["annotations",{"_index":101,"name":{"180":{},"207":{}},"parent":{}}],["async",{"_index":54,"name":{"67":{}},"parent":{}}],["backend",{"_index":51,"name":{"64":{}},"parent":{}}],["bearing",{"_index":111,"name":{"197":{}},"parent":{}}],["blazepose",{"_index":25,"name":{"35":{}},"parent":{}}],["blur",{"_index":68,"name":{"82":{}},"parent":{}}],["body",{"_index":20,"name":{"23":{},"127":{},"163":{},"208":{},"225":{}},"parent":{"209":{},"210":{},"211":{},"212":{},"213":{}}}],["box",{"_index":98,"name":{"176":{},"204":{},"211":{},"219":{},"231":{}},"parent":{}}],["boxraw",{"_index":99,"name":{"177":{},"205":{},"212":{},"220":{},"232":{}},"parent":{}}],["boxscore",{"_index":96,"name":{"174":{}},"parent":{}}],["brightness",{"_index":65,"name":{"79":{}},"parent":{}}],["bufferedoutput",{"_index":140,"name":{"250":{}},"parent":{}}],["cachesensitivity",{"_index":56,"name":{"70":{}},"parent":{}}],["canvas",{"_index":14,"name":{"14":{},"27":{},"168":{}},"parent":{}}],["centernet",{"_index":34,"name":{"44":{}},"parent":{}}],["class",{"_index":115,"name":{"217":{}},"parent":{}}],["color",{"_index":124,"name":{"234":{}},"parent":{}}],["config",{"_index":8,"name":{"8":{},"63":{}},"parent":{"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"92":{},"93":{},"95":{},"96":{},"127":{},"128":{},"134":{},"135":{},"149":{},"150":{},"157":{},"158":{}}}],["config.__type",{"_index":60,"name":{},"parent":{"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"90":{},"91":{},"94":{},"97":{},"98":{},"99":{},"107":{},"108":{},"111":{},"112":{},"115":{},"116":{},"121":{},"122":{},"129":{},"130":{},"131":{},"132":{},"133":{},"136":{},"137":{},"138":{},"139":{},"140":{},"141":{},"142":{},"143":{},"144":{},"146":{},"147":{},"151":{},"152":{},"153":{},"154":{},"155":{},"156":{},"159":{},"160":{}}}],["config.__type.__type",{"_index":80,"name":{},"parent":{"100":{},"101":{},"102":{},"103":{},"104":{},"105":{},"106":{},"109":{},"110":{},"113":{},"114":{},"117":{},"118":{},"119":{},"120":{},"123":{},"124":{},"125":{},"126":{},"145":{},"148":{}}}],["constructor",{"_index":6,"name":{"6":{}},"parent":{}}],["contrast",{"_index":66,"name":{"80":{}},"parent":{}}],["debug",{"_index":53,"name":{"66":{}},"parent":{}}],["default",{"_index":50,"name":{"62":{}},"parent":{}}],["description",{"_index":88,"name":{"115":{}},"parent":{}}],["detect",{"_index":48,"name":{"60":{}},"parent":{}}],["detector",{"_index":78,"name":{"98":{},"143":{}},"parent":{}}],["draw",{"_index":16,"name":{"16":{}},"parent":{}}],["drawboxes",{"_index":134,"name":{"244":{}},"parent":{}}],["drawgaze",{"_index":136,"name":{"246":{}},"parent":{}}],["drawlabels",{"_index":133,"name":{"243":{}},"parent":{}}],["drawoptions",{"_index":123,"name":{"233":{}},"parent":{"234":{},"235":{},"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"248":{},"249":{},"250":{}}}],["drawpoints",{"_index":132,"name":{"242":{}},"parent":{}}],["drawpolygons",{"_index":135,"name":{"245":{}},"parent":{}}],["efficientpose",{"_index":26,"name":{"36":{}},"parent":{}}],["embedding",{"_index":32,"name":{"42":{},"185":{}},"parent":{}}],["emotion",{"_index":31,"name":{"41":{},"121":{},"184":{}},"parent":{}}],["enabled",{"_index":59,"name":{"74":{},"94":{},"97":{},"109":{},"113":{},"117":{},"123":{},"129":{},"136":{},"151":{},"159":{}},"parent":{}}],["enhance",{"_index":44,"name":{"56":{}},"parent":{}}],["error",{"_index":1,"name":{"1":{},"3":{}},"parent":{"2":{}}}],["error.__type",{"_index":3,"name":{},"parent":{"3":{}}}],["face",{"_index":19,"name":{"21":{},"33":{},"95":{},"162":{},"171":{},"224":{}},"parent":{"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"199":{},"200":{}}}],["face.__type",{"_index":104,"name":{},"parent":{"189":{},"190":{},"194":{},"195":{},"196":{}}}],["face.__type.__type",{"_index":106,"name":{},"parent":{"191":{},"192":{},"193":{},"197":{},"198":{}}}],["faceres",{"_index":35,"name":{"45":{}},"parent":{}}],["facescore",{"_index":97,"name":{"175":{}},"parent":{}}],["facetriangulation",{"_index":37,"name":{"47":{}},"parent":{}}],["faceuvmap",{"_index":38,"name":{"48":{}},"parent":{}}],["fillpolygons",{"_index":137,"name":{"247":{}},"parent":{}}],["filter",{"_index":58,"name":{"72":{}},"parent":{}}],["flip",{"_index":64,"name":{"78":{}},"parent":{}}],["font",{"_index":127,"name":{"237":{}},"parent":{}}],["gaze",{"_index":110,"name":{"195":{}},"parent":{}}],["gender",{"_index":30,"name":{"40":{},"182":{}},"parent":{}}],["genderscore",{"_index":102,"name":{"183":{}},"parent":{}}],["gesture",{"_index":18,"name":{"19":{},"92":{},"165":{},"221":{}},"parent":{}}],["gestures",{"_index":122,"name":{"230":{}},"parent":{}}],["hand",{"_index":21,"name":{"25":{},"134":{},"164":{},"201":{}},"parent":{"202":{},"203":{},"204":{},"205":{},"206":{},"207":{}}}],["handpose",{"_index":28,"name":{"38":{}},"parent":{}}],["hands",{"_index":118,"name":{"226":{}},"parent":{}}],["height",{"_index":62,"name":{"76":{}},"parent":{}}],["hue",{"_index":70,"name":{"84":{}},"parent":{}}],["human",{"_index":5,"name":{"5":{}},"parent":{"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"15":{},"16":{},"17":{},"31":{},"32":{},"47":{},"48":{},"49":{},"50":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{}}}],["human.__type",{"_index":13,"name":{},"parent":{"13":{},"14":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"51":{},"52":{}}}],["id",{"_index":94,"name":{"172":{},"202":{},"209":{},"215":{},"223":{}},"parent":{}}],["image",{"_index":11,"name":{"11":{},"199":{}},"parent":{}}],["input",{"_index":0,"name":{"0":{}},"parent":{}}],["iouthreshold",{"_index":85,"name":{"105":{},"140":{},"154":{}},"parent":{}}],["iris",{"_index":87,"name":{"111":{},"186":{}},"parent":{}}],["item",{"_index":114,"name":{"214":{}},"parent":{"215":{},"216":{},"217":{},"218":{},"219":{},"220":{}}}],["keypoints",{"_index":113,"name":{"206":{},"213":{}},"parent":{}}],["kodachrome",{"_index":74,"name":{"88":{}},"parent":{}}],["label",{"_index":116,"name":{"218":{}},"parent":{}}],["labelcolor",{"_index":125,"name":{"235":{}},"parent":{}}],["landmarks",{"_index":89,"name":{"142":{}},"parent":{}}],["left",{"_index":119,"name":{"228":{}},"parent":{}}],["lineheight",{"_index":128,"name":{"238":{}},"parent":{}}],["linewidth",{"_index":129,"name":{"239":{}},"parent":{}}],["load",{"_index":46,"name":{"58":{}},"parent":{}}],["match",{"_index":45,"name":{"57":{}},"parent":{}}],["matrix",{"_index":109,"name":{"194":{}},"parent":{}}],["maxdetected",{"_index":82,"name":{"102":{},"131":{},"141":{},"155":{}},"parent":{}}],["mesh",{"_index":86,"name":{"107":{},"178":{}},"parent":{}}],["meshraw",{"_index":100,"name":{"179":{}},"parent":{}}],["minconfidence",{"_index":84,"name":{"104":{},"120":{},"124":{},"132":{},"139":{},"153":{}},"parent":{}}],["modelbasepath",{"_index":55,"name":{"69":{}},"parent":{}}],["modelpath",{"_index":79,"name":{"100":{},"110":{},"114":{},"118":{},"126":{},"130":{},"145":{},"148":{},"152":{},"160":{}},"parent":{}}],["models",{"_index":23,"name":{"31":{}},"parent":{}}],["movenet",{"_index":27,"name":{"37":{}},"parent":{}}],["nanodet",{"_index":33,"name":{"43":{}},"parent":{}}],["negative",{"_index":71,"name":{"85":{}},"parent":{}}],["next",{"_index":47,"name":{"59":{}},"parent":{}}],["object",{"_index":91,"name":{"149":{},"166":{}},"parent":{}}],["options",{"_index":17,"name":{"18":{}},"parent":{}}],["performance",{"_index":42,"name":{"53":{},"167":{}},"parent":{}}],["person",{"_index":117,"name":{"222":{}},"parent":{"223":{},"224":{},"225":{},"226":{},"227":{},"230":{},"231":{},"232":{}}}],["person.__type",{"_index":120,"name":{},"parent":{"228":{},"229":{}}}],["persons",{"_index":93,"name":{"170":{}},"parent":{}}],["pitch",{"_index":108,"name":{"193":{}},"parent":{}}],["pixelate",{"_index":77,"name":{"91":{}},"parent":{}}],["platform",{"_index":40,"name":{"51":{}},"parent":{}}],["pointsize",{"_index":130,"name":{"240":{}},"parent":{}}],["polaroid",{"_index":76,"name":{"90":{}},"parent":{}}],["posenet",{"_index":24,"name":{"34":{}},"parent":{}}],["result",{"_index":9,"name":{"9":{},"161":{}},"parent":{"162":{},"163":{},"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{}}}],["return",{"_index":63,"name":{"77":{},"106":{}},"parent":{}}],["right",{"_index":121,"name":{"229":{}},"parent":{}}],["roll",{"_index":105,"name":{"191":{}},"parent":{}}],["rotation",{"_index":81,"name":{"101":{},"137":{},"187":{}},"parent":{}}],["roundrect",{"_index":131,"name":{"241":{}},"parent":{}}],["saturation",{"_index":69,"name":{"83":{}},"parent":{}}],["score",{"_index":95,"name":{"173":{},"203":{},"210":{},"216":{}},"parent":{}}],["segmentation",{"_index":36,"name":{"46":{},"55":{},"157":{}},"parent":{}}],["sepia",{"_index":72,"name":{"86":{}},"parent":{}}],["shadowcolor",{"_index":126,"name":{"236":{}},"parent":{}}],["sharpness",{"_index":67,"name":{"81":{}},"parent":{}}],["similarity",{"_index":43,"name":{"54":{}},"parent":{}}],["skeleton",{"_index":90,"name":{"146":{}},"parent":{}}],["skipframe",{"_index":57,"name":{"71":{}},"parent":{}}],["skipframes",{"_index":83,"name":{"103":{},"119":{},"125":{},"133":{},"138":{},"156":{}},"parent":{}}],["state",{"_index":10,"name":{"10":{}},"parent":{}}],["strength",{"_index":112,"name":{"198":{}},"parent":{}}],["sysinfo",{"_index":39,"name":{"49":{}},"parent":{}}],["technicolor",{"_index":75,"name":{"89":{}},"parent":{}}],["tensor",{"_index":12,"name":{"13":{},"200":{}},"parent":{}}],["tensorflow",{"_index":4,"name":{"4":{}},"parent":{}}],["tf",{"_index":15,"name":{"15":{}},"parent":{}}],["timestamp",{"_index":92,"name":{"169":{}},"parent":{}}],["usecurves",{"_index":139,"name":{"249":{}},"parent":{}}],["usedepth",{"_index":138,"name":{"248":{}},"parent":{}}],["version",{"_index":7,"name":{"7":{}},"parent":{}}],["vintage",{"_index":73,"name":{"87":{}},"parent":{}}],["warmup",{"_index":49,"name":{"61":{},"68":{}},"parent":{}}],["wasmpath",{"_index":52,"name":{"65":{}},"parent":{}}],["width",{"_index":61,"name":{"75":{}},"parent":{}}],["yaw",{"_index":107,"name":{"192":{}},"parent":{}}]],"pipeline":[]}} \ No newline at end of file +window.searchData = {"kinds":{"128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","65536":"Type literal","4194304":"Type alias","16777216":"Reference"},"rows":[{"id":0,"kind":4194304,"name":"Input","url":"modules.html#input","classes":"tsd-kind-type-alias"},{"id":1,"kind":4194304,"name":"Error","url":"modules.html#error","classes":"tsd-kind-type-alias"},{"id":2,"kind":65536,"name":"__type","url":"modules.html#error.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"Error"},{"id":3,"kind":1024,"name":"error","url":"modules.html#error.__type.error-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Error.__type"},{"id":4,"kind":4194304,"name":"TensorFlow","url":"modules.html#tensorflow","classes":"tsd-kind-type-alias"},{"id":5,"kind":128,"name":"Human","url":"classes/human.html","classes":"tsd-kind-class"},{"id":6,"kind":512,"name":"constructor","url":"classes/human.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"Human"},{"id":7,"kind":1024,"name":"version","url":"classes/human.html#version","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":8,"kind":1024,"name":"config","url":"classes/human.html#config","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":9,"kind":1024,"name":"result","url":"classes/human.html#result","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":10,"kind":1024,"name":"state","url":"classes/human.html#state","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":11,"kind":1024,"name":"image","url":"classes/human.html#image","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":12,"kind":65536,"name":"__type","url":"classes/human.html#__type-7","classes":"tsd-kind-type-literal tsd-parent-kind-class","parent":"Human"},{"id":13,"kind":1024,"name":"tensor","url":"classes/human.html#__type-7.tensor","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":14,"kind":1024,"name":"canvas","url":"classes/human.html#__type-7.canvas-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":15,"kind":1024,"name":"tf","url":"classes/human.html#tf","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":16,"kind":1024,"name":"draw","url":"classes/human.html#draw","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":17,"kind":65536,"name":"__type","url":"classes/human.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-class","parent":"Human"},{"id":18,"kind":1024,"name":"options","url":"classes/human.html#__type.options","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":19,"kind":1024,"name":"gesture","url":"classes/human.html#__type.gesture","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":20,"kind":65536,"name":"__type","url":"classes/human.html#__type.__type-5","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":21,"kind":1024,"name":"face","url":"classes/human.html#__type.face","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":22,"kind":65536,"name":"__type","url":"classes/human.html#__type.__type-4","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":23,"kind":1024,"name":"body","url":"classes/human.html#__type.body","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":24,"kind":65536,"name":"__type","url":"classes/human.html#__type.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":25,"kind":1024,"name":"hand","url":"classes/human.html#__type.hand","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":26,"kind":65536,"name":"__type","url":"classes/human.html#__type.__type-6","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":27,"kind":1024,"name":"canvas","url":"classes/human.html#__type.canvas","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":28,"kind":65536,"name":"__type","url":"classes/human.html#__type.__type-3","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":29,"kind":1024,"name":"all","url":"classes/human.html#__type.all","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":30,"kind":65536,"name":"__type","url":"classes/human.html#__type.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":31,"kind":1024,"name":"models","url":"classes/human.html#models","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":32,"kind":65536,"name":"__type","url":"classes/human.html#__type-8","classes":"tsd-kind-type-literal tsd-parent-kind-class","parent":"Human"},{"id":33,"kind":1024,"name":"face","url":"classes/human.html#__type-8.face-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":34,"kind":1024,"name":"posenet","url":"classes/human.html#__type-8.posenet","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":35,"kind":1024,"name":"blazepose","url":"classes/human.html#__type-8.blazepose","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":36,"kind":1024,"name":"efficientpose","url":"classes/human.html#__type-8.efficientpose","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":37,"kind":1024,"name":"movenet","url":"classes/human.html#__type-8.movenet","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":38,"kind":1024,"name":"handpose","url":"classes/human.html#__type-8.handpose","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":39,"kind":1024,"name":"age","url":"classes/human.html#__type-8.age","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":40,"kind":1024,"name":"gender","url":"classes/human.html#__type-8.gender","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":41,"kind":1024,"name":"emotion","url":"classes/human.html#__type-8.emotion","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":42,"kind":1024,"name":"embedding","url":"classes/human.html#__type-8.embedding","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":43,"kind":1024,"name":"nanodet","url":"classes/human.html#__type-8.nanodet","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":44,"kind":1024,"name":"centernet","url":"classes/human.html#__type-8.centernet","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":45,"kind":1024,"name":"faceres","url":"classes/human.html#__type-8.faceres","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":46,"kind":1024,"name":"segmentation","url":"classes/human.html#__type-8.segmentation","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":47,"kind":1024,"name":"faceTriangulation","url":"classes/human.html#facetriangulation","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":48,"kind":1024,"name":"faceUVMap","url":"classes/human.html#faceuvmap","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":49,"kind":1024,"name":"sysinfo","url":"classes/human.html#sysinfo","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":50,"kind":65536,"name":"__type","url":"classes/human.html#__type-9","classes":"tsd-kind-type-literal tsd-parent-kind-class","parent":"Human"},{"id":51,"kind":1024,"name":"platform","url":"classes/human.html#__type-9.platform","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":52,"kind":1024,"name":"agent","url":"classes/human.html#__type-9.agent","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Human.__type"},{"id":53,"kind":1024,"name":"performance","url":"classes/human.html#performance","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Human"},{"id":54,"kind":2048,"name":"similarity","url":"classes/human.html#similarity","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Human"},{"id":55,"kind":2048,"name":"segmentation","url":"classes/human.html#segmentation-1","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Human"},{"id":56,"kind":2048,"name":"enhance","url":"classes/human.html#enhance","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Human"},{"id":57,"kind":2048,"name":"match","url":"classes/human.html#match","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Human"},{"id":58,"kind":2048,"name":"load","url":"classes/human.html#load","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Human"},{"id":59,"kind":2048,"name":"next","url":"classes/human.html#next","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Human"},{"id":60,"kind":2048,"name":"detect","url":"classes/human.html#detect","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Human"},{"id":61,"kind":2048,"name":"warmup","url":"classes/human.html#warmup","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Human"},{"id":62,"kind":16777216,"name":"default","url":"modules.html#default","classes":"tsd-kind-reference"},{"id":63,"kind":256,"name":"Config","url":"interfaces/config.html","classes":"tsd-kind-interface"},{"id":64,"kind":1024,"name":"backend","url":"interfaces/config.html#backend","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":65,"kind":1024,"name":"wasmPath","url":"interfaces/config.html#wasmpath","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":66,"kind":1024,"name":"debug","url":"interfaces/config.html#debug","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":67,"kind":1024,"name":"async","url":"interfaces/config.html#async","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":68,"kind":1024,"name":"warmup","url":"interfaces/config.html#warmup","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":69,"kind":1024,"name":"modelBasePath","url":"interfaces/config.html#modelbasepath","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":70,"kind":1024,"name":"cacheSensitivity","url":"interfaces/config.html#cachesensitivity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":71,"kind":1024,"name":"skipFrame","url":"interfaces/config.html#skipframe","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":72,"kind":1024,"name":"filter","url":"interfaces/config.html#filter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":73,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-7","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Config"},{"id":74,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-7.enabled-6","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":75,"kind":1024,"name":"width","url":"interfaces/config.html#__type-7.width","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":76,"kind":1024,"name":"height","url":"interfaces/config.html#__type-7.height","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":77,"kind":1024,"name":"return","url":"interfaces/config.html#__type-7.return-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":78,"kind":1024,"name":"flip","url":"interfaces/config.html#__type-7.flip","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":79,"kind":1024,"name":"brightness","url":"interfaces/config.html#__type-7.brightness","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":80,"kind":1024,"name":"contrast","url":"interfaces/config.html#__type-7.contrast","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":81,"kind":1024,"name":"sharpness","url":"interfaces/config.html#__type-7.sharpness","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":82,"kind":1024,"name":"blur","url":"interfaces/config.html#__type-7.blur","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":83,"kind":1024,"name":"saturation","url":"interfaces/config.html#__type-7.saturation","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":84,"kind":1024,"name":"hue","url":"interfaces/config.html#__type-7.hue","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":85,"kind":1024,"name":"negative","url":"interfaces/config.html#__type-7.negative","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":86,"kind":1024,"name":"sepia","url":"interfaces/config.html#__type-7.sepia","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":87,"kind":1024,"name":"vintage","url":"interfaces/config.html#__type-7.vintage","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":88,"kind":1024,"name":"kodachrome","url":"interfaces/config.html#__type-7.kodachrome","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":89,"kind":1024,"name":"technicolor","url":"interfaces/config.html#__type-7.technicolor","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":90,"kind":1024,"name":"polaroid","url":"interfaces/config.html#__type-7.polaroid","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":91,"kind":1024,"name":"pixelate","url":"interfaces/config.html#__type-7.pixelate","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":92,"kind":1024,"name":"gesture","url":"interfaces/config.html#gesture","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":93,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-8","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Config"},{"id":94,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-8.enabled-7","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":95,"kind":1024,"name":"face","url":"interfaces/config.html#face","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":96,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Config"},{"id":97,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-1.enabled-3","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":98,"kind":1024,"name":"detector","url":"interfaces/config.html#__type-1.detector","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":99,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-1.__type-3","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":100,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type-1.__type-3.modelpath-2","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":101,"kind":1024,"name":"rotation","url":"interfaces/config.html#__type-1.__type-3.rotation","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":102,"kind":1024,"name":"maxDetected","url":"interfaces/config.html#__type-1.__type-3.maxdetected-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":103,"kind":1024,"name":"skipFrames","url":"interfaces/config.html#__type-1.__type-3.skipframes-2","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":104,"kind":1024,"name":"minConfidence","url":"interfaces/config.html#__type-1.__type-3.minconfidence-2","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":105,"kind":1024,"name":"iouThreshold","url":"interfaces/config.html#__type-1.__type-3.iouthreshold","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":106,"kind":1024,"name":"return","url":"interfaces/config.html#__type-1.__type-3.return","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":107,"kind":1024,"name":"mesh","url":"interfaces/config.html#__type-1.mesh","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":108,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-1.__type-6","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":109,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-1.__type-6.enabled-5","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":110,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type-1.__type-6.modelpath-5","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":111,"kind":1024,"name":"iris","url":"interfaces/config.html#__type-1.iris","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":112,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-1.__type-5","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":113,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-1.__type-5.enabled-4","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":114,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type-1.__type-5.modelpath-4","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":115,"kind":1024,"name":"description","url":"interfaces/config.html#__type-1.description","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":116,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-1.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":117,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-1.__type-2.enabled-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":118,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type-1.__type-2.modelpath-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":119,"kind":1024,"name":"skipFrames","url":"interfaces/config.html#__type-1.__type-2.skipframes-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":120,"kind":1024,"name":"minConfidence","url":"interfaces/config.html#__type-1.__type-2.minconfidence-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":121,"kind":1024,"name":"emotion","url":"interfaces/config.html#__type-1.emotion","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":122,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-1.__type-4","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":123,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-1.__type-4.enabled-2","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":124,"kind":1024,"name":"minConfidence","url":"interfaces/config.html#__type-1.__type-4.minconfidence-3","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":125,"kind":1024,"name":"skipFrames","url":"interfaces/config.html#__type-1.__type-4.skipframes-3","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":126,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type-1.__type-4.modelpath-3","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":127,"kind":1024,"name":"body","url":"interfaces/config.html#body","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":128,"kind":65536,"name":"__type","url":"interfaces/config.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Config"},{"id":129,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type.enabled","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":130,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type.modelpath","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":131,"kind":1024,"name":"maxDetected","url":"interfaces/config.html#__type.maxdetected","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":132,"kind":1024,"name":"minConfidence","url":"interfaces/config.html#__type.minconfidence","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":133,"kind":1024,"name":"skipFrames","url":"interfaces/config.html#__type.skipframes","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":134,"kind":1024,"name":"hand","url":"interfaces/config.html#hand","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":135,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-9","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Config"},{"id":136,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-9.enabled-8","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":137,"kind":1024,"name":"rotation","url":"interfaces/config.html#__type-9.rotation-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":138,"kind":1024,"name":"skipFrames","url":"interfaces/config.html#__type-9.skipframes-4","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":139,"kind":1024,"name":"minConfidence","url":"interfaces/config.html#__type-9.minconfidence-4","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":140,"kind":1024,"name":"iouThreshold","url":"interfaces/config.html#__type-9.iouthreshold-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":141,"kind":1024,"name":"maxDetected","url":"interfaces/config.html#__type-9.maxdetected-2","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":142,"kind":1024,"name":"landmarks","url":"interfaces/config.html#__type-9.landmarks","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":143,"kind":1024,"name":"detector","url":"interfaces/config.html#__type-9.detector-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":144,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-9.__type-10","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":145,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type-9.__type-10.modelpath-6","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":146,"kind":1024,"name":"skeleton","url":"interfaces/config.html#__type-9.skeleton","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":147,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-9.__type-11","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":148,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type-9.__type-11.modelpath-7","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type.__type"},{"id":149,"kind":1024,"name":"object","url":"interfaces/config.html#object","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":150,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-12","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Config"},{"id":151,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-12.enabled-9","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":152,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type-12.modelpath-8","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":153,"kind":1024,"name":"minConfidence","url":"interfaces/config.html#__type-12.minconfidence-5","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":154,"kind":1024,"name":"iouThreshold","url":"interfaces/config.html#__type-12.iouthreshold-2","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":155,"kind":1024,"name":"maxDetected","url":"interfaces/config.html#__type-12.maxdetected-3","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":156,"kind":1024,"name":"skipFrames","url":"interfaces/config.html#__type-12.skipframes-5","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":157,"kind":1024,"name":"segmentation","url":"interfaces/config.html#segmentation","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Config"},{"id":158,"kind":65536,"name":"__type","url":"interfaces/config.html#__type-13","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Config"},{"id":159,"kind":1024,"name":"enabled","url":"interfaces/config.html#__type-13.enabled-10","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":160,"kind":1024,"name":"modelPath","url":"interfaces/config.html#__type-13.modelpath-9","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Config.__type"},{"id":161,"kind":256,"name":"Result","url":"interfaces/result.html","classes":"tsd-kind-interface"},{"id":162,"kind":1024,"name":"face","url":"interfaces/result.html#face","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Result"},{"id":163,"kind":1024,"name":"body","url":"interfaces/result.html#body","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Result"},{"id":164,"kind":1024,"name":"hand","url":"interfaces/result.html#hand","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Result"},{"id":165,"kind":1024,"name":"gesture","url":"interfaces/result.html#gesture","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Result"},{"id":166,"kind":1024,"name":"object","url":"interfaces/result.html#object","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Result"},{"id":167,"kind":1024,"name":"performance","url":"interfaces/result.html#performance","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Result"},{"id":168,"kind":1024,"name":"canvas","url":"interfaces/result.html#canvas","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Result"},{"id":169,"kind":1024,"name":"timestamp","url":"interfaces/result.html#timestamp","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Result"},{"id":170,"kind":1024,"name":"persons","url":"interfaces/result.html#persons","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Result"},{"id":171,"kind":256,"name":"Face","url":"interfaces/face.html","classes":"tsd-kind-interface"},{"id":172,"kind":1024,"name":"id","url":"interfaces/face.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":173,"kind":1024,"name":"score","url":"interfaces/face.html#score","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":174,"kind":1024,"name":"boxScore","url":"interfaces/face.html#boxscore","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":175,"kind":1024,"name":"faceScore","url":"interfaces/face.html#facescore","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":176,"kind":1024,"name":"box","url":"interfaces/face.html#box","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":177,"kind":1024,"name":"boxRaw","url":"interfaces/face.html#boxraw","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":178,"kind":1024,"name":"mesh","url":"interfaces/face.html#mesh","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":179,"kind":1024,"name":"meshRaw","url":"interfaces/face.html#meshraw","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":180,"kind":1024,"name":"annotations","url":"interfaces/face.html#annotations","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":181,"kind":1024,"name":"age","url":"interfaces/face.html#age","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":182,"kind":1024,"name":"gender","url":"interfaces/face.html#gender","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":183,"kind":1024,"name":"genderScore","url":"interfaces/face.html#genderscore","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":184,"kind":1024,"name":"emotion","url":"interfaces/face.html#emotion","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":185,"kind":1024,"name":"embedding","url":"interfaces/face.html#embedding","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":186,"kind":1024,"name":"iris","url":"interfaces/face.html#iris","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":187,"kind":1024,"name":"rotation","url":"interfaces/face.html#rotation","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":188,"kind":65536,"name":"__type","url":"interfaces/face.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Face"},{"id":189,"kind":1024,"name":"angle","url":"interfaces/face.html#__type.angle","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Face.__type"},{"id":190,"kind":65536,"name":"__type","url":"interfaces/face.html#__type.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Face.__type"},{"id":191,"kind":1024,"name":"roll","url":"interfaces/face.html#__type.__type-1.roll","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Face.__type.__type"},{"id":192,"kind":1024,"name":"yaw","url":"interfaces/face.html#__type.__type-1.yaw","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Face.__type.__type"},{"id":193,"kind":1024,"name":"pitch","url":"interfaces/face.html#__type.__type-1.pitch","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Face.__type.__type"},{"id":194,"kind":1024,"name":"matrix","url":"interfaces/face.html#__type.matrix","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Face.__type"},{"id":195,"kind":1024,"name":"gaze","url":"interfaces/face.html#__type.gaze","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Face.__type"},{"id":196,"kind":65536,"name":"__type","url":"interfaces/face.html#__type.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Face.__type"},{"id":197,"kind":1024,"name":"bearing","url":"interfaces/face.html#__type.__type-2.bearing","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Face.__type.__type"},{"id":198,"kind":1024,"name":"strength","url":"interfaces/face.html#__type.__type-2.strength","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Face.__type.__type"},{"id":199,"kind":1024,"name":"image","url":"interfaces/face.html#image","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":200,"kind":1024,"name":"tensor","url":"interfaces/face.html#tensor","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Face"},{"id":201,"kind":256,"name":"Hand","url":"interfaces/hand.html","classes":"tsd-kind-interface"},{"id":202,"kind":1024,"name":"id","url":"interfaces/hand.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Hand"},{"id":203,"kind":1024,"name":"score","url":"interfaces/hand.html#score","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Hand"},{"id":204,"kind":1024,"name":"box","url":"interfaces/hand.html#box","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Hand"},{"id":205,"kind":1024,"name":"boxRaw","url":"interfaces/hand.html#boxraw","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Hand"},{"id":206,"kind":1024,"name":"keypoints","url":"interfaces/hand.html#keypoints","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Hand"},{"id":207,"kind":1024,"name":"annotations","url":"interfaces/hand.html#annotations","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Hand"},{"id":208,"kind":256,"name":"Body","url":"interfaces/body.html","classes":"tsd-kind-interface"},{"id":209,"kind":1024,"name":"id","url":"interfaces/body.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Body"},{"id":210,"kind":1024,"name":"score","url":"interfaces/body.html#score","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Body"},{"id":211,"kind":1024,"name":"box","url":"interfaces/body.html#box","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Body"},{"id":212,"kind":1024,"name":"boxRaw","url":"interfaces/body.html#boxraw","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Body"},{"id":213,"kind":1024,"name":"keypoints","url":"interfaces/body.html#keypoints","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Body"},{"id":214,"kind":256,"name":"Item","url":"interfaces/item.html","classes":"tsd-kind-interface"},{"id":215,"kind":1024,"name":"id","url":"interfaces/item.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Item"},{"id":216,"kind":1024,"name":"score","url":"interfaces/item.html#score","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Item"},{"id":217,"kind":1024,"name":"class","url":"interfaces/item.html#class","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Item"},{"id":218,"kind":1024,"name":"label","url":"interfaces/item.html#label","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Item"},{"id":219,"kind":1024,"name":"box","url":"interfaces/item.html#box","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Item"},{"id":220,"kind":1024,"name":"boxRaw","url":"interfaces/item.html#boxraw","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Item"},{"id":221,"kind":4194304,"name":"Gesture","url":"modules.html#gesture","classes":"tsd-kind-type-alias"},{"id":222,"kind":256,"name":"Person","url":"interfaces/person.html","classes":"tsd-kind-interface"},{"id":223,"kind":1024,"name":"id","url":"interfaces/person.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Person"},{"id":224,"kind":1024,"name":"face","url":"interfaces/person.html#face","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Person"},{"id":225,"kind":1024,"name":"body","url":"interfaces/person.html#body","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Person"},{"id":226,"kind":1024,"name":"hands","url":"interfaces/person.html#hands","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Person"},{"id":227,"kind":65536,"name":"__type","url":"interfaces/person.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Person"},{"id":228,"kind":1024,"name":"left","url":"interfaces/person.html#__type.left","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Person.__type"},{"id":229,"kind":1024,"name":"right","url":"interfaces/person.html#__type.right","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Person.__type"},{"id":230,"kind":1024,"name":"gestures","url":"interfaces/person.html#gestures","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Person"},{"id":231,"kind":1024,"name":"box","url":"interfaces/person.html#box","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Person"},{"id":232,"kind":1024,"name":"boxRaw","url":"interfaces/person.html#boxraw","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Person"},{"id":233,"kind":256,"name":"DrawOptions","url":"interfaces/drawoptions.html","classes":"tsd-kind-interface"},{"id":234,"kind":1024,"name":"color","url":"interfaces/drawoptions.html#color","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":235,"kind":1024,"name":"labelColor","url":"interfaces/drawoptions.html#labelcolor","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":236,"kind":1024,"name":"shadowColor","url":"interfaces/drawoptions.html#shadowcolor","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":237,"kind":1024,"name":"font","url":"interfaces/drawoptions.html#font","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":238,"kind":1024,"name":"lineHeight","url":"interfaces/drawoptions.html#lineheight","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":239,"kind":1024,"name":"lineWidth","url":"interfaces/drawoptions.html#linewidth","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":240,"kind":1024,"name":"pointSize","url":"interfaces/drawoptions.html#pointsize","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":241,"kind":1024,"name":"roundRect","url":"interfaces/drawoptions.html#roundrect","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":242,"kind":1024,"name":"drawPoints","url":"interfaces/drawoptions.html#drawpoints","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":243,"kind":1024,"name":"drawLabels","url":"interfaces/drawoptions.html#drawlabels","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":244,"kind":1024,"name":"drawBoxes","url":"interfaces/drawoptions.html#drawboxes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":245,"kind":1024,"name":"drawPolygons","url":"interfaces/drawoptions.html#drawpolygons","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":246,"kind":1024,"name":"drawGaze","url":"interfaces/drawoptions.html#drawgaze","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":247,"kind":1024,"name":"fillPolygons","url":"interfaces/drawoptions.html#fillpolygons","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":248,"kind":1024,"name":"useDepth","url":"interfaces/drawoptions.html#usedepth","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":249,"kind":1024,"name":"useCurves","url":"interfaces/drawoptions.html#usecurves","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"},{"id":250,"kind":1024,"name":"bufferedOutput","url":"interfaces/drawoptions.html#bufferedoutput","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawOptions"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,51.24]],["parent/0",[]],["name/1",[1,42.767]],["parent/1",[]],["name/2",[2,21.45]],["parent/2",[1,4.176]],["name/3",[1,42.767]],["parent/3",[3,5.003]],["name/4",[4,51.24]],["parent/4",[]],["name/5",[5,22.523]],["parent/5",[]],["name/6",[6,51.24]],["parent/6",[5,2.199]],["name/7",[7,51.24]],["parent/7",[5,2.199]],["name/8",[8,23.308]],["parent/8",[5,2.199]],["name/9",[9,30.871]],["parent/9",[5,2.199]],["name/10",[10,51.24]],["parent/10",[5,2.199]],["name/11",[11,46.131]],["parent/11",[5,2.199]],["name/12",[2,21.45]],["parent/12",[5,2.199]],["name/13",[12,46.131]],["parent/13",[13,2.03]],["name/14",[14,42.767]],["parent/14",[13,2.03]],["name/15",[15,51.24]],["parent/15",[5,2.199]],["name/16",[16,51.24]],["parent/16",[5,2.199]],["name/17",[2,21.45]],["parent/17",[5,2.199]],["name/18",[17,51.24]],["parent/18",[13,2.03]],["name/19",[18,40.254]],["parent/19",[13,2.03]],["name/20",[2,21.45]],["parent/20",[13,2.03]],["name/21",[19,22.908]],["parent/21",[13,2.03]],["name/22",[2,21.45]],["parent/22",[13,2.03]],["name/23",[20,31.781]],["parent/23",[13,2.03]],["name/24",[2,21.45]],["parent/24",[13,2.03]],["name/25",[21,31.781]],["parent/25",[13,2.03]],["name/26",[2,21.45]],["parent/26",[13,2.03]],["name/27",[14,42.767]],["parent/27",[13,2.03]],["name/28",[2,21.45]],["parent/28",[13,2.03]],["name/29",[22,51.24]],["parent/29",[13,2.03]],["name/30",[2,21.45]],["parent/30",[13,2.03]],["name/31",[23,51.24]],["parent/31",[5,2.199]],["name/32",[2,21.45]],["parent/32",[5,2.199]],["name/33",[19,22.908]],["parent/33",[13,2.03]],["name/34",[24,51.24]],["parent/34",[13,2.03]],["name/35",[25,51.24]],["parent/35",[13,2.03]],["name/36",[26,51.24]],["parent/36",[13,2.03]],["name/37",[27,51.24]],["parent/37",[13,2.03]],["name/38",[28,51.24]],["parent/38",[13,2.03]],["name/39",[29,46.131]],["parent/39",[13,2.03]],["name/40",[30,46.131]],["parent/40",[13,2.03]],["name/41",[31,42.767]],["parent/41",[13,2.03]],["name/42",[32,46.131]],["parent/42",[13,2.03]],["name/43",[33,51.24]],["parent/43",[13,2.03]],["name/44",[34,51.24]],["parent/44",[13,2.03]],["name/45",[35,51.24]],["parent/45",[13,2.03]],["name/46",[36,42.767]],["parent/46",[13,2.03]],["name/47",[37,51.24]],["parent/47",[5,2.199]],["name/48",[38,51.24]],["parent/48",[5,2.199]],["name/49",[39,51.24]],["parent/49",[5,2.199]],["name/50",[2,21.45]],["parent/50",[5,2.199]],["name/51",[40,51.24]],["parent/51",[13,2.03]],["name/52",[41,51.24]],["parent/52",[13,2.03]],["name/53",[42,46.131]],["parent/53",[5,2.199]],["name/54",[43,51.24]],["parent/54",[5,2.199]],["name/55",[36,42.767]],["parent/55",[5,2.199]],["name/56",[44,51.24]],["parent/56",[5,2.199]],["name/57",[45,51.24]],["parent/57",[5,2.199]],["name/58",[46,51.24]],["parent/58",[5,2.199]],["name/59",[47,51.24]],["parent/59",[5,2.199]],["name/60",[48,51.24]],["parent/60",[5,2.199]],["name/61",[49,46.131]],["parent/61",[5,2.199]],["name/62",[50,51.24]],["parent/62",[]],["name/63",[8,23.308]],["parent/63",[]],["name/64",[51,51.24]],["parent/64",[8,2.276]],["name/65",[52,51.24]],["parent/65",[8,2.276]],["name/66",[53,51.24]],["parent/66",[8,2.276]],["name/67",[54,51.24]],["parent/67",[8,2.276]],["name/68",[49,46.131]],["parent/68",[8,2.276]],["name/69",[55,51.24]],["parent/69",[8,2.276]],["name/70",[56,51.24]],["parent/70",[8,2.276]],["name/71",[57,51.24]],["parent/71",[8,2.276]],["name/72",[58,51.24]],["parent/72",[8,2.276]],["name/73",[2,21.45]],["parent/73",[8,2.276]],["name/74",[59,30.871]],["parent/74",[60,1.495]],["name/75",[61,51.24]],["parent/75",[60,1.495]],["name/76",[62,51.24]],["parent/76",[60,1.495]],["name/77",[63,46.131]],["parent/77",[60,1.495]],["name/78",[64,51.24]],["parent/78",[60,1.495]],["name/79",[65,51.24]],["parent/79",[60,1.495]],["name/80",[66,51.24]],["parent/80",[60,1.495]],["name/81",[67,51.24]],["parent/81",[60,1.495]],["name/82",[68,51.24]],["parent/82",[60,1.495]],["name/83",[69,51.24]],["parent/83",[60,1.495]],["name/84",[70,51.24]],["parent/84",[60,1.495]],["name/85",[71,51.24]],["parent/85",[60,1.495]],["name/86",[72,51.24]],["parent/86",[60,1.495]],["name/87",[73,51.24]],["parent/87",[60,1.495]],["name/88",[74,51.24]],["parent/88",[60,1.495]],["name/89",[75,51.24]],["parent/89",[60,1.495]],["name/90",[76,51.24]],["parent/90",[60,1.495]],["name/91",[77,51.24]],["parent/91",[60,1.495]],["name/92",[18,40.254]],["parent/92",[8,2.276]],["name/93",[2,21.45]],["parent/93",[8,2.276]],["name/94",[59,30.871]],["parent/94",[60,1.495]],["name/95",[19,22.908]],["parent/95",[8,2.276]],["name/96",[2,21.45]],["parent/96",[8,2.276]],["name/97",[59,30.871]],["parent/97",[60,1.495]],["name/98",[78,46.131]],["parent/98",[60,1.495]],["name/99",[2,21.45]],["parent/99",[60,1.495]],["name/100",[79,31.781]],["parent/100",[80,2.403]],["name/101",[81,42.767]],["parent/101",[80,2.403]],["name/102",[82,40.254]],["parent/102",[80,2.403]],["name/103",[83,36.576]],["parent/103",[80,2.403]],["name/104",[84,36.576]],["parent/104",[80,2.403]],["name/105",[85,42.767]],["parent/105",[80,2.403]],["name/106",[63,46.131]],["parent/106",[80,2.403]],["name/107",[86,46.131]],["parent/107",[60,1.495]],["name/108",[2,21.45]],["parent/108",[60,1.495]],["name/109",[59,30.871]],["parent/109",[80,2.403]],["name/110",[79,31.781]],["parent/110",[80,2.403]],["name/111",[87,46.131]],["parent/111",[60,1.495]],["name/112",[2,21.45]],["parent/112",[60,1.495]],["name/113",[59,30.871]],["parent/113",[80,2.403]],["name/114",[79,31.781]],["parent/114",[80,2.403]],["name/115",[88,51.24]],["parent/115",[60,1.495]],["name/116",[2,21.45]],["parent/116",[60,1.495]],["name/117",[59,30.871]],["parent/117",[80,2.403]],["name/118",[79,31.781]],["parent/118",[80,2.403]],["name/119",[83,36.576]],["parent/119",[80,2.403]],["name/120",[84,36.576]],["parent/120",[80,2.403]],["name/121",[31,42.767]],["parent/121",[60,1.495]],["name/122",[2,21.45]],["parent/122",[60,1.495]],["name/123",[59,30.871]],["parent/123",[80,2.403]],["name/124",[84,36.576]],["parent/124",[80,2.403]],["name/125",[83,36.576]],["parent/125",[80,2.403]],["name/126",[79,31.781]],["parent/126",[80,2.403]],["name/127",[20,31.781]],["parent/127",[8,2.276]],["name/128",[2,21.45]],["parent/128",[8,2.276]],["name/129",[59,30.871]],["parent/129",[60,1.495]],["name/130",[79,31.781]],["parent/130",[60,1.495]],["name/131",[82,40.254]],["parent/131",[60,1.495]],["name/132",[84,36.576]],["parent/132",[60,1.495]],["name/133",[83,36.576]],["parent/133",[60,1.495]],["name/134",[21,31.781]],["parent/134",[8,2.276]],["name/135",[2,21.45]],["parent/135",[8,2.276]],["name/136",[59,30.871]],["parent/136",[60,1.495]],["name/137",[81,42.767]],["parent/137",[60,1.495]],["name/138",[83,36.576]],["parent/138",[60,1.495]],["name/139",[84,36.576]],["parent/139",[60,1.495]],["name/140",[85,42.767]],["parent/140",[60,1.495]],["name/141",[82,40.254]],["parent/141",[60,1.495]],["name/142",[89,51.24]],["parent/142",[60,1.495]],["name/143",[78,46.131]],["parent/143",[60,1.495]],["name/144",[2,21.45]],["parent/144",[60,1.495]],["name/145",[79,31.781]],["parent/145",[80,2.403]],["name/146",[90,51.24]],["parent/146",[60,1.495]],["name/147",[2,21.45]],["parent/147",[60,1.495]],["name/148",[79,31.781]],["parent/148",[80,2.403]],["name/149",[91,46.131]],["parent/149",[8,2.276]],["name/150",[2,21.45]],["parent/150",[8,2.276]],["name/151",[59,30.871]],["parent/151",[60,1.495]],["name/152",[79,31.781]],["parent/152",[60,1.495]],["name/153",[84,36.576]],["parent/153",[60,1.495]],["name/154",[85,42.767]],["parent/154",[60,1.495]],["name/155",[82,40.254]],["parent/155",[60,1.495]],["name/156",[83,36.576]],["parent/156",[60,1.495]],["name/157",[36,42.767]],["parent/157",[8,2.276]],["name/158",[2,21.45]],["parent/158",[8,2.276]],["name/159",[59,30.871]],["parent/159",[60,1.495]],["name/160",[79,31.781]],["parent/160",[60,1.495]],["name/161",[9,30.871]],["parent/161",[]],["name/162",[19,22.908]],["parent/162",[9,3.014]],["name/163",[20,31.781]],["parent/163",[9,3.014]],["name/164",[21,31.781]],["parent/164",[9,3.014]],["name/165",[18,40.254]],["parent/165",[9,3.014]],["name/166",[91,46.131]],["parent/166",[9,3.014]],["name/167",[42,46.131]],["parent/167",[9,3.014]],["name/168",[14,42.767]],["parent/168",[9,3.014]],["name/169",[92,51.24]],["parent/169",[9,3.014]],["name/170",[93,51.24]],["parent/170",[9,3.014]],["name/171",[19,22.908]],["parent/171",[]],["name/172",[94,38.247]],["parent/172",[19,2.237]],["name/173",[95,40.254]],["parent/173",[19,2.237]],["name/174",[96,51.24]],["parent/174",[19,2.237]],["name/175",[97,51.24]],["parent/175",[19,2.237]],["name/176",[98,38.247]],["parent/176",[19,2.237]],["name/177",[99,38.247]],["parent/177",[19,2.237]],["name/178",[86,46.131]],["parent/178",[19,2.237]],["name/179",[100,51.24]],["parent/179",[19,2.237]],["name/180",[101,46.131]],["parent/180",[19,2.237]],["name/181",[29,46.131]],["parent/181",[19,2.237]],["name/182",[30,46.131]],["parent/182",[19,2.237]],["name/183",[102,51.24]],["parent/183",[19,2.237]],["name/184",[31,42.767]],["parent/184",[19,2.237]],["name/185",[32,46.131]],["parent/185",[19,2.237]],["name/186",[87,46.131]],["parent/186",[19,2.237]],["name/187",[81,42.767]],["parent/187",[19,2.237]],["name/188",[2,21.45]],["parent/188",[19,2.237]],["name/189",[103,51.24]],["parent/189",[104,3.734]],["name/190",[2,21.45]],["parent/190",[104,3.734]],["name/191",[105,51.24]],["parent/191",[106,3.734]],["name/192",[107,51.24]],["parent/192",[106,3.734]],["name/193",[108,51.24]],["parent/193",[106,3.734]],["name/194",[109,51.24]],["parent/194",[104,3.734]],["name/195",[110,51.24]],["parent/195",[104,3.734]],["name/196",[2,21.45]],["parent/196",[104,3.734]],["name/197",[111,51.24]],["parent/197",[106,3.734]],["name/198",[112,51.24]],["parent/198",[106,3.734]],["name/199",[11,46.131]],["parent/199",[19,2.237]],["name/200",[12,46.131]],["parent/200",[19,2.237]],["name/201",[21,31.781]],["parent/201",[]],["name/202",[94,38.247]],["parent/202",[21,3.103]],["name/203",[95,40.254]],["parent/203",[21,3.103]],["name/204",[98,38.247]],["parent/204",[21,3.103]],["name/205",[99,38.247]],["parent/205",[21,3.103]],["name/206",[113,46.131]],["parent/206",[21,3.103]],["name/207",[101,46.131]],["parent/207",[21,3.103]],["name/208",[20,31.781]],["parent/208",[]],["name/209",[94,38.247]],["parent/209",[20,3.103]],["name/210",[95,40.254]],["parent/210",[20,3.103]],["name/211",[98,38.247]],["parent/211",[20,3.103]],["name/212",[99,38.247]],["parent/212",[20,3.103]],["name/213",[113,46.131]],["parent/213",[20,3.103]],["name/214",[114,35.145]],["parent/214",[]],["name/215",[94,38.247]],["parent/215",[114,3.432]],["name/216",[95,40.254]],["parent/216",[114,3.432]],["name/217",[115,51.24]],["parent/217",[114,3.432]],["name/218",[116,51.24]],["parent/218",[114,3.432]],["name/219",[98,38.247]],["parent/219",[114,3.432]],["name/220",[99,38.247]],["parent/220",[114,3.432]],["name/221",[18,40.254]],["parent/221",[]],["name/222",[117,32.781]],["parent/222",[]],["name/223",[94,38.247]],["parent/223",[117,3.201]],["name/224",[19,22.908]],["parent/224",[117,3.201]],["name/225",[20,31.781]],["parent/225",[117,3.201]],["name/226",[118,51.24]],["parent/226",[117,3.201]],["name/227",[2,21.45]],["parent/227",[117,3.201]],["name/228",[119,51.24]],["parent/228",[120,4.504]],["name/229",[121,51.24]],["parent/229",[120,4.504]],["name/230",[122,51.24]],["parent/230",[117,3.201]],["name/231",[98,38.247]],["parent/231",[117,3.201]],["name/232",[99,38.247]],["parent/232",[117,3.201]],["name/233",[123,26.117]],["parent/233",[]],["name/234",[124,51.24]],["parent/234",[123,2.55]],["name/235",[125,51.24]],["parent/235",[123,2.55]],["name/236",[126,51.24]],["parent/236",[123,2.55]],["name/237",[127,51.24]],["parent/237",[123,2.55]],["name/238",[128,51.24]],["parent/238",[123,2.55]],["name/239",[129,51.24]],["parent/239",[123,2.55]],["name/240",[130,51.24]],["parent/240",[123,2.55]],["name/241",[131,51.24]],["parent/241",[123,2.55]],["name/242",[132,51.24]],["parent/242",[123,2.55]],["name/243",[133,51.24]],["parent/243",[123,2.55]],["name/244",[134,51.24]],["parent/244",[123,2.55]],["name/245",[135,51.24]],["parent/245",[123,2.55]],["name/246",[136,51.24]],["parent/246",[123,2.55]],["name/247",[137,51.24]],["parent/247",[123,2.55]],["name/248",[138,51.24]],["parent/248",[123,2.55]],["name/249",[139,51.24]],["parent/249",[123,2.55]],["name/250",[140,51.24]],["parent/250",[123,2.55]]],"invertedIndex":[["__type",{"_index":2,"name":{"2":{},"12":{},"17":{},"20":{},"22":{},"24":{},"26":{},"28":{},"30":{},"32":{},"50":{},"73":{},"93":{},"96":{},"99":{},"108":{},"112":{},"116":{},"122":{},"128":{},"135":{},"144":{},"147":{},"150":{},"158":{},"188":{},"190":{},"196":{},"227":{}},"parent":{}}],["age",{"_index":29,"name":{"39":{},"181":{}},"parent":{}}],["agent",{"_index":41,"name":{"52":{}},"parent":{}}],["all",{"_index":22,"name":{"29":{}},"parent":{}}],["angle",{"_index":103,"name":{"189":{}},"parent":{}}],["annotations",{"_index":101,"name":{"180":{},"207":{}},"parent":{}}],["async",{"_index":54,"name":{"67":{}},"parent":{}}],["backend",{"_index":51,"name":{"64":{}},"parent":{}}],["bearing",{"_index":111,"name":{"197":{}},"parent":{}}],["blazepose",{"_index":25,"name":{"35":{}},"parent":{}}],["blur",{"_index":68,"name":{"82":{}},"parent":{}}],["body",{"_index":20,"name":{"23":{},"127":{},"163":{},"208":{},"225":{}},"parent":{"209":{},"210":{},"211":{},"212":{},"213":{}}}],["box",{"_index":98,"name":{"176":{},"204":{},"211":{},"219":{},"231":{}},"parent":{}}],["boxraw",{"_index":99,"name":{"177":{},"205":{},"212":{},"220":{},"232":{}},"parent":{}}],["boxscore",{"_index":96,"name":{"174":{}},"parent":{}}],["brightness",{"_index":65,"name":{"79":{}},"parent":{}}],["bufferedoutput",{"_index":140,"name":{"250":{}},"parent":{}}],["cachesensitivity",{"_index":56,"name":{"70":{}},"parent":{}}],["canvas",{"_index":14,"name":{"14":{},"27":{},"168":{}},"parent":{}}],["centernet",{"_index":34,"name":{"44":{}},"parent":{}}],["class",{"_index":115,"name":{"217":{}},"parent":{}}],["color",{"_index":124,"name":{"234":{}},"parent":{}}],["config",{"_index":8,"name":{"8":{},"63":{}},"parent":{"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"92":{},"93":{},"95":{},"96":{},"127":{},"128":{},"134":{},"135":{},"149":{},"150":{},"157":{},"158":{}}}],["config.__type",{"_index":60,"name":{},"parent":{"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"90":{},"91":{},"94":{},"97":{},"98":{},"99":{},"107":{},"108":{},"111":{},"112":{},"115":{},"116":{},"121":{},"122":{},"129":{},"130":{},"131":{},"132":{},"133":{},"136":{},"137":{},"138":{},"139":{},"140":{},"141":{},"142":{},"143":{},"144":{},"146":{},"147":{},"151":{},"152":{},"153":{},"154":{},"155":{},"156":{},"159":{},"160":{}}}],["config.__type.__type",{"_index":80,"name":{},"parent":{"100":{},"101":{},"102":{},"103":{},"104":{},"105":{},"106":{},"109":{},"110":{},"113":{},"114":{},"117":{},"118":{},"119":{},"120":{},"123":{},"124":{},"125":{},"126":{},"145":{},"148":{}}}],["constructor",{"_index":6,"name":{"6":{}},"parent":{}}],["contrast",{"_index":66,"name":{"80":{}},"parent":{}}],["debug",{"_index":53,"name":{"66":{}},"parent":{}}],["default",{"_index":50,"name":{"62":{}},"parent":{}}],["description",{"_index":88,"name":{"115":{}},"parent":{}}],["detect",{"_index":48,"name":{"60":{}},"parent":{}}],["detector",{"_index":78,"name":{"98":{},"143":{}},"parent":{}}],["draw",{"_index":16,"name":{"16":{}},"parent":{}}],["drawboxes",{"_index":134,"name":{"244":{}},"parent":{}}],["drawgaze",{"_index":136,"name":{"246":{}},"parent":{}}],["drawlabels",{"_index":133,"name":{"243":{}},"parent":{}}],["drawoptions",{"_index":123,"name":{"233":{}},"parent":{"234":{},"235":{},"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"248":{},"249":{},"250":{}}}],["drawpoints",{"_index":132,"name":{"242":{}},"parent":{}}],["drawpolygons",{"_index":135,"name":{"245":{}},"parent":{}}],["efficientpose",{"_index":26,"name":{"36":{}},"parent":{}}],["embedding",{"_index":32,"name":{"42":{},"185":{}},"parent":{}}],["emotion",{"_index":31,"name":{"41":{},"121":{},"184":{}},"parent":{}}],["enabled",{"_index":59,"name":{"74":{},"94":{},"97":{},"109":{},"113":{},"117":{},"123":{},"129":{},"136":{},"151":{},"159":{}},"parent":{}}],["enhance",{"_index":44,"name":{"56":{}},"parent":{}}],["error",{"_index":1,"name":{"1":{},"3":{}},"parent":{"2":{}}}],["error.__type",{"_index":3,"name":{},"parent":{"3":{}}}],["face",{"_index":19,"name":{"21":{},"33":{},"95":{},"162":{},"171":{},"224":{}},"parent":{"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"199":{},"200":{}}}],["face.__type",{"_index":104,"name":{},"parent":{"189":{},"190":{},"194":{},"195":{},"196":{}}}],["face.__type.__type",{"_index":106,"name":{},"parent":{"191":{},"192":{},"193":{},"197":{},"198":{}}}],["faceres",{"_index":35,"name":{"45":{}},"parent":{}}],["facescore",{"_index":97,"name":{"175":{}},"parent":{}}],["facetriangulation",{"_index":37,"name":{"47":{}},"parent":{}}],["faceuvmap",{"_index":38,"name":{"48":{}},"parent":{}}],["fillpolygons",{"_index":137,"name":{"247":{}},"parent":{}}],["filter",{"_index":58,"name":{"72":{}},"parent":{}}],["flip",{"_index":64,"name":{"78":{}},"parent":{}}],["font",{"_index":127,"name":{"237":{}},"parent":{}}],["gaze",{"_index":110,"name":{"195":{}},"parent":{}}],["gender",{"_index":30,"name":{"40":{},"182":{}},"parent":{}}],["genderscore",{"_index":102,"name":{"183":{}},"parent":{}}],["gesture",{"_index":18,"name":{"19":{},"92":{},"165":{},"221":{}},"parent":{}}],["gestures",{"_index":122,"name":{"230":{}},"parent":{}}],["hand",{"_index":21,"name":{"25":{},"134":{},"164":{},"201":{}},"parent":{"202":{},"203":{},"204":{},"205":{},"206":{},"207":{}}}],["handpose",{"_index":28,"name":{"38":{}},"parent":{}}],["hands",{"_index":118,"name":{"226":{}},"parent":{}}],["height",{"_index":62,"name":{"76":{}},"parent":{}}],["hue",{"_index":70,"name":{"84":{}},"parent":{}}],["human",{"_index":5,"name":{"5":{}},"parent":{"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"15":{},"16":{},"17":{},"31":{},"32":{},"47":{},"48":{},"49":{},"50":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{}}}],["human.__type",{"_index":13,"name":{},"parent":{"13":{},"14":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"51":{},"52":{}}}],["id",{"_index":94,"name":{"172":{},"202":{},"209":{},"215":{},"223":{}},"parent":{}}],["image",{"_index":11,"name":{"11":{},"199":{}},"parent":{}}],["input",{"_index":0,"name":{"0":{}},"parent":{}}],["iouthreshold",{"_index":85,"name":{"105":{},"140":{},"154":{}},"parent":{}}],["iris",{"_index":87,"name":{"111":{},"186":{}},"parent":{}}],["item",{"_index":114,"name":{"214":{}},"parent":{"215":{},"216":{},"217":{},"218":{},"219":{},"220":{}}}],["keypoints",{"_index":113,"name":{"206":{},"213":{}},"parent":{}}],["kodachrome",{"_index":74,"name":{"88":{}},"parent":{}}],["label",{"_index":116,"name":{"218":{}},"parent":{}}],["labelcolor",{"_index":125,"name":{"235":{}},"parent":{}}],["landmarks",{"_index":89,"name":{"142":{}},"parent":{}}],["left",{"_index":119,"name":{"228":{}},"parent":{}}],["lineheight",{"_index":128,"name":{"238":{}},"parent":{}}],["linewidth",{"_index":129,"name":{"239":{}},"parent":{}}],["load",{"_index":46,"name":{"58":{}},"parent":{}}],["match",{"_index":45,"name":{"57":{}},"parent":{}}],["matrix",{"_index":109,"name":{"194":{}},"parent":{}}],["maxdetected",{"_index":82,"name":{"102":{},"131":{},"141":{},"155":{}},"parent":{}}],["mesh",{"_index":86,"name":{"107":{},"178":{}},"parent":{}}],["meshraw",{"_index":100,"name":{"179":{}},"parent":{}}],["minconfidence",{"_index":84,"name":{"104":{},"120":{},"124":{},"132":{},"139":{},"153":{}},"parent":{}}],["modelbasepath",{"_index":55,"name":{"69":{}},"parent":{}}],["modelpath",{"_index":79,"name":{"100":{},"110":{},"114":{},"118":{},"126":{},"130":{},"145":{},"148":{},"152":{},"160":{}},"parent":{}}],["models",{"_index":23,"name":{"31":{}},"parent":{}}],["movenet",{"_index":27,"name":{"37":{}},"parent":{}}],["nanodet",{"_index":33,"name":{"43":{}},"parent":{}}],["negative",{"_index":71,"name":{"85":{}},"parent":{}}],["next",{"_index":47,"name":{"59":{}},"parent":{}}],["object",{"_index":91,"name":{"149":{},"166":{}},"parent":{}}],["options",{"_index":17,"name":{"18":{}},"parent":{}}],["performance",{"_index":42,"name":{"53":{},"167":{}},"parent":{}}],["person",{"_index":117,"name":{"222":{}},"parent":{"223":{},"224":{},"225":{},"226":{},"227":{},"230":{},"231":{},"232":{}}}],["person.__type",{"_index":120,"name":{},"parent":{"228":{},"229":{}}}],["persons",{"_index":93,"name":{"170":{}},"parent":{}}],["pitch",{"_index":108,"name":{"193":{}},"parent":{}}],["pixelate",{"_index":77,"name":{"91":{}},"parent":{}}],["platform",{"_index":40,"name":{"51":{}},"parent":{}}],["pointsize",{"_index":130,"name":{"240":{}},"parent":{}}],["polaroid",{"_index":76,"name":{"90":{}},"parent":{}}],["posenet",{"_index":24,"name":{"34":{}},"parent":{}}],["result",{"_index":9,"name":{"9":{},"161":{}},"parent":{"162":{},"163":{},"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{}}}],["return",{"_index":63,"name":{"77":{},"106":{}},"parent":{}}],["right",{"_index":121,"name":{"229":{}},"parent":{}}],["roll",{"_index":105,"name":{"191":{}},"parent":{}}],["rotation",{"_index":81,"name":{"101":{},"137":{},"187":{}},"parent":{}}],["roundrect",{"_index":131,"name":{"241":{}},"parent":{}}],["saturation",{"_index":69,"name":{"83":{}},"parent":{}}],["score",{"_index":95,"name":{"173":{},"203":{},"210":{},"216":{}},"parent":{}}],["segmentation",{"_index":36,"name":{"46":{},"55":{},"157":{}},"parent":{}}],["sepia",{"_index":72,"name":{"86":{}},"parent":{}}],["shadowcolor",{"_index":126,"name":{"236":{}},"parent":{}}],["sharpness",{"_index":67,"name":{"81":{}},"parent":{}}],["similarity",{"_index":43,"name":{"54":{}},"parent":{}}],["skeleton",{"_index":90,"name":{"146":{}},"parent":{}}],["skipframe",{"_index":57,"name":{"71":{}},"parent":{}}],["skipframes",{"_index":83,"name":{"103":{},"119":{},"125":{},"133":{},"138":{},"156":{}},"parent":{}}],["state",{"_index":10,"name":{"10":{}},"parent":{}}],["strength",{"_index":112,"name":{"198":{}},"parent":{}}],["sysinfo",{"_index":39,"name":{"49":{}},"parent":{}}],["technicolor",{"_index":75,"name":{"89":{}},"parent":{}}],["tensor",{"_index":12,"name":{"13":{},"200":{}},"parent":{}}],["tensorflow",{"_index":4,"name":{"4":{}},"parent":{}}],["tf",{"_index":15,"name":{"15":{}},"parent":{}}],["timestamp",{"_index":92,"name":{"169":{}},"parent":{}}],["usecurves",{"_index":139,"name":{"249":{}},"parent":{}}],["usedepth",{"_index":138,"name":{"248":{}},"parent":{}}],["version",{"_index":7,"name":{"7":{}},"parent":{}}],["vintage",{"_index":73,"name":{"87":{}},"parent":{}}],["warmup",{"_index":49,"name":{"61":{},"68":{}},"parent":{}}],["wasmpath",{"_index":52,"name":{"65":{}},"parent":{}}],["width",{"_index":61,"name":{"75":{}},"parent":{}}],["yaw",{"_index":107,"name":{"192":{}},"parent":{}}]],"pipeline":[]}} \ No newline at end of file diff --git a/typedoc/classes/human.html b/typedoc/classes/human.html index 5a04ead5..7eb69701 100644 --- a/typedoc/classes/human.html +++ b/typedoc/classes/human.html @@ -50,7 +50,7 @@
  • - @vladmandic/human + @vladmandic/human
  • Human @@ -72,7 +72,7 @@
    • Configuration object definition: Config
    • Results object definition: Result
    • -
    • Possible inputs: Input
    • +
    • Possible inputs: Input
    param
    @@ -180,7 +180,7 @@

    draw

    -
    draw: { all: (inCanvas: HTMLCanvasElement, result: Result, drawOptions?: DrawOptions) => Promise<void>; body: (inCanvas: HTMLCanvasElement, result: Body[], drawOptions?: DrawOptions) => Promise<void>; canvas: (inCanvas: HTMLCanvasElement, outCanvas: HTMLCanvasElement) => Promise<void>; face: (inCanvas: HTMLCanvasElement, result: Face[], drawOptions?: DrawOptions) => Promise<void>; gesture: (inCanvas: HTMLCanvasElement, result: Gesture[], drawOptions?: DrawOptions) => Promise<void>; hand: (inCanvas: HTMLCanvasElement, result: Hand[], drawOptions?: DrawOptions) => Promise<void>; options: DrawOptions }
    +
    draw: { all: (inCanvas: HTMLCanvasElement, result: Result, drawOptions?: DrawOptions) => Promise<void>; body: (inCanvas: HTMLCanvasElement, result: Body[], drawOptions?: DrawOptions) => Promise<void>; canvas: (inCanvas: HTMLCanvasElement, outCanvas: HTMLCanvasElement) => Promise<void>; face: (inCanvas: HTMLCanvasElement, result: Face[], drawOptions?: DrawOptions) => Promise<void>; gesture: (inCanvas: HTMLCanvasElement, result: Gesture[], drawOptions?: DrawOptions) => Promise<void>; hand: (inCanvas: HTMLCanvasElement, result: Hand[], drawOptions?: DrawOptions) => Promise<void>; options: DrawOptions }
    @@ -305,11 +305,11 @@
  • -
    gesture: (inCanvas: HTMLCanvasElement, result: Gesture[], drawOptions?: DrawOptions) => Promise<void>
    +
    gesture: (inCanvas: HTMLCanvasElement, result: Gesture[], drawOptions?: DrawOptions) => Promise<void>