# RetinaFace Face Detection *author: David Wang*
## Description This operator detects faces in the images by using [RetinaFace](https://arxiv.org/abs/1905.00641) Detector. It will return the bounding box positions and the confidence scores of detected faces. This repository is an adaptation from [biubug6/Pytorch_Retinaface](https://github.com/biubug6/Pytorch_Retinaface).
## Code Example Load an image from path './turing.png' and use the pre-trained RetinaFace model to generate face bounding boxes and confidence scores. *Write a pipeline with explicit inputs/outputs name specifications:* ```python from towhee import pipe, ops, DataCollection p = ( pipe.input('path') .map('path', 'img', ops.image_decode()) .map('img', ('bbox','score'), ops.face_detection.retinaface()) .map(('img', 'bbox'),'crop', ops.image_crop()) .output('img', 'crop', 'bbox', 'score') ) DataCollection(p('turing.png')).show() ``` result2
## Factory Constructor Create the operator via the following factory method: ***face_detection.retinaface()***
## Interface A face detection operator takes an image as input. It generates the bounding box positions and confidence scores in ndarray. **Parameters:** ​ ***img:*** *towhee.types.Image (a sub-class of numpy.ndarray)* ​ the image to detect faces from. ​ supported types: numpy.ndarray **Returns:** *List[(int, int, int, int)]* ​ The position of the bounding boxes for the faces detected. *List[float]* ​ The confidence scores for the face detected in the bounding boxes. # More Resources - [Zilliz Triumphed in Billion-Scale ANN Search Challenge of NeurIPS 2021 - Zilliz Newsroom; Zilliz Triumphed in Billion-Scale ANN Search Challenge of NeurIPS 2021](https://zilliz.com/news/zilliz-triumphed-Neurips-2021): Zilliz team has won the first place in the Disk-based ANN Search track in NeurIPS 2021. The performance of BBAnn developed by Zilliz research team peaked during the search in the SimSearchNet++ dataset. - [Hugging Face Inference Endpoints & Zilliz Cloud](https://zilliz.com/product/integrations/hugging-face): nan - [Understanding Computer Vision - Zilliz blog](https://zilliz.com/learn/what-is-computer-vision): Computer Vision is a field of Artificial Intelligence that enables machines to capture and interpret visual information from the world just like humans do. - [What is a Convolutional Neural Network? An Engineer's Guide](https://zilliz.com/glossary/convolutional-neural-network): Convolutional Neural Network is a type of deep neural network that processes images, speeches, and videos. Let's find out more about CNN. - [Using Vector Search to Better Understand Computer Vision Data - Zilliz blog](https://zilliz.com/blog/use-vector-search-to-better-understand-computer-vision-data): How Vector Search improves your understanding of Computer Vision Data - [Comparing Vector Databases: Milvus vs. Chroma DB - Zilliz blog](https://zilliz.com/blog/milvus-vs-chroma): Comparing Milvus and Chroma vector database regarding the scalability, functionality, ease of use, and purpose-built features. - [What are Vision Transformers (ViT)? - Zilliz blog](https://zilliz.com/learn/understanding-vision-transformers-vit): Vision Transformers (ViTs) are neural network models that use transformers to perform computer vision tasks like object detection and image classification. - [Zilliz partnership with PyTorch - View image search solution tutorial](https://zilliz.com/partners/pytorch): Zilliz partnership with PyTorch