Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
A simple and lightweight package for state of the art face detection with GPU support.
This repository includes:
NOTE This implementation can only be used for inference of a selection of models and all training scripts are removed. If you want to finetune any models, we recommend you to use the original source code.
You can install this repository with pip (requires python>=3.6);
pip install git+https://github.com/hukkelas/DSFD-Pytorch-Inference.git
You can also install with the setup.py
python3 setup.py install
Run
python3 test.py
This will look for images in the images/
folder, and save the results in the same folder with an ending _out.jpg
To perform detection you can simple use the following lines:
import cv2
import face_detection
print(face_detection.available_detectors)
detector = face_detection.build_detector(
"DSFDDetector", confidence_threshold=.5, nms_iou_threshold=.3)
# BGR to RGB
im = cv2.imread("path_to_im.jpg")[:, :, ::-1]
detections = detector.detect(im)
This will return a tensor with shape [N, 5]
, where N is number of faces and the five elements are [xmin, ymin, xmax, ymax, detection_confidence]
import numpy as np
import face_detection
print(face_detection.available_detectors)
detector = face_detection.build_detector(
"DSFDDetector", confidence_threshold=.5, nms_iou_threshold=.3)
# [batch size, height, width, 3]
images_dummy = np.zeros((2, 512, 512, 3))
detections = detector.batched_detect(im)
For the original source code, see here.
time
(Measured on a V100-32GB GPU).The main improvements in inference time comes from:
init_priors
in the SSD model to cache previous prior sizes (no need to generate this per forward pass).Detect
in utils.py
to perform confidence thresholding before non-maximum suppressionFor the original source code, see here.
We've done the following improvements:
torch.no_grad
).This is very roughly estimated on a 1024x687 image. The reported time is the average over 1000 forward passes on a single image. (With no cudnn benchmarking and no fp16 computation).
DSFDDetector | RetinaNetResNet50 | RetinaNetMobileNetV1 | |
---|---|---|---|
CPU (Intel 2.2GHz i7) * | 17,496 ms (0.06 FPS) | 2970ms (0.33 FPS) | 270ms (3.7 FPS) |
NVIDIA V100-32GB | 100ms (10 FPS) | ||
NVIDIA GTX 1060 6GB | 341ms (2.9 FPS) | 76.6ms (13 FPS) | 48.2ms (20.7 FPS) |
NVIDIA T4 16 GB | 482 ms (2.1 FPS) | 181ms (5.5 FPS) | 178ms (5.6 FPS) |
*Done over 100 forward passes on a MacOS Mid 2014, 15-Inch.
You can run RetinaFace ResNet-50 with TensorRT:
from face_detection.retinaface.tensorrt_wrap import TensorRTRetinaFace
inference_imshape =(480, 640) # Input to the CNN
input_imshape = (1080, 1920) # Input for original video source
detector = TensorRTRetinaFace(input_imshape, imshape)
boxes, landmarks, scores = detector.infer(image)
If you find this code useful, remember to cite the original authors:
@inproceedings{li2018dsfd,
title={DSFD: Dual Shot Face Detector},
author={Li, Jian and Wang, Yabiao and Wang, Changan and Tai, Ying and Qian, Jianjun and Yang, Jian and Wang, Chengjie and Li, Jilin and Huang, Feiyue},
booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
year={2019}
}
@inproceedings{deng2019retinaface,
title={RetinaFace: Single-stage Dense Face Localisation in the Wild},
author={Deng, Jiankang and Guo, Jia and Yuxiang, Zhou and Jinke Yu and Irene Kotsia and Zafeiriou, Stefanos},
booktitle={arxiv},
year={2019}
FAQs
A simple and lightweight package for state of the art face detection with GPU support.
We found that face-detection 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.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.