updated embedding notes

master
Vladimir Mandic 2020-11-23 08:40:01 -05:00
parent 64516d31f0
commit 6a8806585c
2 changed files with 14 additions and 4 deletions

@ -1,7 +1,7 @@
# @vladmandic/human # @vladmandic/human
Version: **0.9.9** Version: **0.9.10**
Description: **Human: 3D Face Detection, Face Embedding & Recognition, Body Pose Tracking, Hand & Finger Tracking, Iris Analysis, Age & Gender & Emotion Prediction & Gesture Recognition** Description: **Human: 3D Face Detection, Face Embedding & Recognition, Body Pose Tracking, Hand & Finger Tracking, Iris Analysis, Age & Gender & Emotion Prediction & Gesture Recognition**
Author: **Vladimir Mandic <mandic00@live.com>** Author: **Vladimir Mandic <mandic00@live.com>**
@ -10,7 +10,10 @@ Repository: **<git+https://github.com/vladmandic/human.git>**
## Changelog ## Changelog
### **HEAD -> main, origin/main, origin/HEAD** 2020/11/21 mandic00@live.com ### **HEAD -> main, origin/main, origin/HEAD** 2020/11/23 mandic00@live.com
### **0.9.10** 2020/11/21 mandic00@live.com
- changed build for optimized node & browser
### **0.9.9** 2020/11/21 mandic00@live.com ### **0.9.9** 2020/11/21 mandic00@live.com
- new screenshots - new screenshots

@ -36,5 +36,12 @@ Embedding vectors are calulated values uniquely identifying a given face and pre
They can be stored as normal arrays and reused as needed They can be stored as normal arrays and reused as needed
Simmilarity function is based on Eucilidean distance between all points in vector Simmilarity function is based on *Eucilidean distance* between all points in vector
*Eucilidean distance is a square root of sum of squared distances between each point in (each value in 192-member array)* *Eucliean distance is limited case of Minkowski distance with order of 2*
*[Minkowski distance](https://en.wikipedia.org/wiki/Minkowski_distance) is a nth root of sum of nth powers of distances between each point in (each value in 192-member array)*
Changing `order` can make simmilarity matching more or less sensitive:
```js
const distance = ((firstEmbedding.map((val, i) => (val - secondEmbedding[i])).reduce((dist, diff) => dist + (diff ** order), 0) ** (1 / order)));
```