Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
RetinaFace (Single-stage Dense Face Localisation in the Wild, 2019) implemented (ResNet50, MobileNetV2 trained on single GPU) in Tensorflow 2.0+. This is an unofficial implementation. With Colab.
| Date | Stars |
|---|---|
| 2026-07-24 | 280 |
| 2026-07-25 | 280 |
| 2026-07-28 | 280 |
| 2026-07-30 | 280 |
| 2026-08-06 | 280 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# [retinaface-tf2](https://github.com/peteryuX/retinaface-tf2)
[](https://lgtm.com/projects/g/peteryuX/retinaface-tf2/context:python)



[](https://colab.research.google.com/github/peteryuX/retinaface-tf2/blob/master/notebooks/colab-github-demo.ipynb)
:fire: RetinaFace (RetinaFace: Single-stage Dense Face Localisation in the Wild, published in 2019) implemented (ResNet50, MobileNetV2 trained on single GPU) in Tensorflow 2.0+. This is an unofficial implementation. :fire:
> RetinaFace presents a robust single-stage face detector, which performs pixel-wise face localisation on various scales of faces by taking advantages of joint extra-supervised and self-supervised multi-task learning(manually annotate five facial landmarks on the WIDER FACE). On the WIDER FACE hard test set, RetinaFace outperforms the state of the art average precision (AP) by 1.1% (achieving AP equal to 91.4%).
Original Paper: [Arxiv](https://arxiv.org/abs/1905.00641)
Offical Implementation: [MXNet](https://github.com/deepinsight/insightface/tree/master/RetinaFace)
:: Results from this reporepository. ::
<img src="photo/0_Parade_marchingband_1_149.jpg">
****
## Contents
:bookmark_tabs:
* [Installation](#Installation)
* [Data Preparing](#Data-Preparing)
* [Training and Testing](#Training-and-Testing)
* [Benchmark](#Benchmark)
* [Models](#Models)
* [References](#References)
***
## Installation
:pizza:
Create a new python virtual environment by [Anaconda](https://www.anaconda.com/) or just use pip in your python environment and then clone this repository as following.
### Clone this repo
```bash
git clone https://github.com/peteryuX/retinaface-tf2.git
cd retinaface-tf2
```
### Conda
```bash
conda env create -f environment.yml
conda activate retinaface-tf2
```
### Pip
```bash
pip install -r requirements.txt
```
****
## Data Preparing
:beer:
**Step 1**: Download the [WIDER FACE](http://shuoyang1213.me/WIDERFACE/index.html) dataset images from the download links bellow.
| Dataset Name | Link |
|:------------:|:----------:|
| WIDER Face Training Images | [Google Drive](https://drive.google.com/file/d/0B6eKvaijfFUDQUUwd21EckhUbWs/view?usp=sharing) |
| WIDER Face Validation Images | [Google Drive](https://drive.google.com/file/d/0B6eKvaijfFUDd3dIRmpvSk8tLUk/view?usp=sharing) |
**Step 2**: Download the [Retinaface official annotations](https://github.com/deepinsight/insightface/tree/master/RetinaFace#Data) (face bounding boxes & five facial landmarks) from the download links bellow.
| Dataset Name | Link |
|:------------:|:----------:|
| Retinaface Annotations | [Google Drive](https://drive.google.com/file/d/1vgCABX1JI3NGBzsHxwBXlmRjaLV3NIsG/view?usp=sharing) / [Dropbox](https://www.dropbox.com/s/7j70r3eeepe4r2g/retinaface_gt_v1.1.zip?dl=0) |
**Step 3**: Extract downloaded files into `./data/widerface/`. The directory structure should be like bellow.
```
./data/widerface/
train/
images/
label.txt
val/
images/
label.txt
```
**Step 4**: Convert the training images and annotations to tfrecord file with the the script bellow.
```bash
# Binary Image (recommend): need additional space
python data/convert_train_tfrecord.py --output_path="./data/widerface_train_bin.tfrecord" --is_binary=True
# Online Image Loading:
python data/convert_train_tfrecord.py --output_path="./data/widerface_train.tfrecord" --is_binary=False
```
Note:
- You can run `python ./dataset_checker.py` to check if the dataloader work. Please modify the inside setting (in [./dataset_checker.py](https://github.com/peteryuX/retinaface-tf2/Excerpt of 9,871 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:b7f19d57d6172c84, topic:tensorflow