Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Readme
Face detection and recognition library that focuses on speed and ease of use. This is a stripped down version of timesler's facenet repo with some improvements notably on memory overflows. This repository is actively developed and used in production.
MTCNN is used for face detection and FaceNet is used for generating face embeddings.
Both algorithms can be used directly by copying the source file into your code base. They are single file and single model implementations with no interdependence.
Alternatively you can install with pip3 install dface
command. Weights will be downloaded from github automatically in the first run.
This implementation takes a list of frames and returns a list of detected faces. The input and output lists always have the same size. If no face is detected for a frame, the corresponding list element is returned None
, otherwise it's a tuple of three elements; (bounding_boxes, probabilities, landmarks)
.
mtcnn = MTCNN('cuda')
...
result = mtcnn.detect(frames)
for res in result:
if res is None:
continue
boxes, probs, lands = res
Bounding boxes is a list of four coordinates (x1, y1, x2, y2)
for each face detected in the frame. Probabilities is a list of confidence scores between 0 and 1 for each face. Landmarks is a list of facial landmark points. There are five points for each face.
The implementation is at mtcnn.py
This implementation takes a list of cropped faces and returns a list of face embedding vector of 512 dimensions. These embeddings then can be used for detecting facial similarities, clustering identities and so on.
facenet = FaceNet('cuda')
...
embeds = facenet.embedding(faces)
The implementation is at facenet.py
Both algorithms accept model path as the second argument if you want to load models from a custom location.
The repo contains an example script that uses both MTCNN and Facenet to read a video and cluster the faces. It uses OpenCV to read video frames and DBSCAN to cluster faces.
You can run the example by simply typing: python3 example.py video.mp4
. A directory will be created with the same name as video that contains clustered identities. The following is an example image.
The implementation is at example.py
FAQs
Face detection and recognition library that focuses on speed and ease of use.
We found that dface demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.