diff --git a/Change-Log.md b/Change-Log.md index 1f22746..c190164 100644 --- a/Change-Log.md +++ b/Change-Log.md @@ -1,7 +1,7 @@ # @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** Author: **Vladimir Mandic ** @@ -10,7 +10,10 @@ Repository: **** ## 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 - new screenshots diff --git a/Embedding.md b/Embedding.md index 3af894c..f9e46ef 100644 --- a/Embedding.md +++ b/Embedding.md @@ -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 -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)* +Simmilarity function is based on *Eucilidean distance* between all points in vector +*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))); +```