An Image Processing Library About Calculating Face Golden Ratio, Facial Cosine Similarity and More
The golden face library creates face vectors using biomath principles and calculates the facial golden ratio.
Biomath golden ratio prenciples:
Facial golden ratio analysis of goldenface library:
Ümit Aksoylu 2021 © M.I.T License Please check example.py for practical usage.
pip install GoldenFace
- opencv-python
- opencv-contrib-python==4.4.0.46
Reading a face image as goldenFace object:
umitFace = GoldenFace.goldenFace("umit.png")
Printing face vectors:
print(umitFace.face2Vec())
Printing Geometric Facial Golden Ratio (Between 0-100):
print(umitFace.geometricRatio())
Printing Facial Cosine Similarity With A Golden Face (Between 1.0-0):
print(umitFace.similarityRatio())
Saving a goldenFace objects vectors as json file:
umitFace.saveFaceVec("umitFaceVectors.json")
Reading a face as vectors from json file:
loadedFace = functions.loadFaceVec("face.json")
Calculating face similarity between two face:
print(umitFace.faceSimilarity(loadedFace))
Get all facial landmark points
print(umitFace.getLandmarks())
Get all facial important points
print(umitFace.getFacialPoints())
Get face borders
print(umitFace.getFaceBorder())
Calculate Trichion-Glabella-Subnazale-Menton Deflection on face
print(umitFace.calculateTGSM())
Calculate Column Parsed line Deflection on face
print(umitFace.calculateVFM())
Calculate Trichion-Zygoma-Menton Deflection
print(umitFace.calculateVFM())
Calculate Trichion-Subnazale-Menton Deflection
print(umitFace.calculateTSM())
Calculate Lateral cantus-Chelion Deflection
print(umitFace.calculateLC())
These functions allow you to draw landmarks/ border lines on face
color = (255,255,0)
Draw a cover on face
umitFace.drawFaceCover(color)
Draw border lines on face
umitFace.drawLandmark(color)
Draw Trichion-Zygoma-Menton line on face
umitFace.drawTZM(color)
Draw Trichion-Glabella-Subnazale-Menton line on face
umitFace.drawTGSM(color)
Draw Column Parsed line on face
umitFace.drawVFM(color)
Draw Trichion-Subnazale-Menton line on face
umitFace.drawTSM(color)
Draw Lateral cantus-Chelion
umitFace.drawLC(color)
Draw facial golden ratio mask on face
umitFace.drawMask(color)
Draw facial important points on face
umitFace.drawFacialPoints(color)
Draw all landmark points on face
umitFace.drawLandmarks(color)
umitFace.writeImage("umit_analyzed.jpeg")