Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Delete push.yml #7

Open
wants to merge 28 commits into
base: Golang
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
93805f0
Delete push.yml
RicardoValladares May 27, 2023
f6a9a67
Delete modelos directory
RicardoValladares May 27, 2023
e2f2917
Delete Dockerfile
RicardoValladares May 27, 2023
6c9d365
Delete main.go
RicardoValladares May 27, 2023
0ad6164
Delete go.sum
RicardoValladares May 27, 2023
4320970
Delete go.mod
RicardoValladares May 27, 2023
9390392
Delete docker-compose.yml
RicardoValladares May 27, 2023
12a8580
Update Makefile
RicardoValladares May 27, 2023
4f49ac0
Update Makefile
RicardoValladares May 27, 2023
01c4118
Update README.md
RicardoValladares May 27, 2023
d791e37
Add files via upload
RicardoValladares May 27, 2023
9a5467f
Add files via upload
RicardoValladares May 27, 2023
741ecf9
sáb 27 may 2023 16:00:40 CST
RicardoValladares May 27, 2023
db0183e
Update README.md
RicardoValladares May 27, 2023
d3c4a8d
Update README.md
RicardoValladares May 27, 2023
be4f9b0
Add files via upload
RicardoValladares May 31, 2023
4b0112f
Add files via upload
RicardoValladares May 31, 2023
018391b
Update README.md
RicardoValladares May 31, 2023
8d8ea7c
Update README.md
RicardoValladares May 31, 2023
927c2cc
Add files via upload
RicardoValladares May 31, 2023
623cacc
Update README.md
RicardoValladares May 31, 2023
4c1f7cd
Add files via upload
RicardoValladares May 31, 2023
f6da909
Update README.md
RicardoValladares May 31, 2023
312dfe5
Delete dlib_face_recognition_resnet_model_v1match.png
RicardoValladares May 31, 2023
4839c1e
Delete dlib_face_recognition_resnet_model_v1nomatch.png
RicardoValladares May 31, 2023
5cbb54b
Add files via upload
RicardoValladares May 31, 2023
72db2bc
Update README.md
RicardoValladares May 31, 2023
7f3b680
Se incremento la tolerancia para ser menos estricto en el match
RicardoValladares Jun 3, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 15 additions & 20 deletions Dockerfile
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
FROM ubuntu:22.04
FROM python:3.10.3-slim-bullseye

LABEL maintainer="Ricardo Antonio Valladares Renderos <[email protected]>"

RUN apt-get update && apt-get install -y \
RUN apt-get -y update
RUN apt-get install -y --fix-missing \
build-essential \
cmake \
curl \
gfortran \
git \
gcc \
g++ \
git \
wget \
curl \
graphicsmagick \
libgraphicsmagick1-dev \
libatlas-base-dev \
libavcodec-dev \
libavformat-dev \
libboost-all-dev \
libgtk2.0-dev \
libjpeg-dev \
liblapack-dev \
libswscale-dev \
pkg-config \
python3-dev \
python3-numpy \
software-properties-common \
zip \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
&& apt-get clean && rm -rf /tmp/* /var/tmp/*

WORKDIR /

Expand All @@ -35,23 +35,18 @@ RUN mkdir -p dlib/build
RUN (cd dlib/build && cmake .. && cmake --build . --config Release && make install)
RUN rm -rf *.tar.gz /dlib/build

RUN wget -P /tmp "https://dl.google.com/go/go1.19.2.linux-amd64.tar.gz"
RUN tar -C /usr/local -xzf "/tmp/go1.19.2.linux-amd64.tar.gz"
RUN rm "/tmp/go1.19.2.linux-amd64.tar.gz"
ENV GOPATH /go
ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH
RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH"
RUN pip3 install Flask

WORKDIR /docker
RUN pip3 install dlib

COPY . .
RUN pip3 install face_recognition

COPY go.mod ./
RUN pip3 install face_recognition_models

RUN go mod download
WORKDIR /docker

RUN go build -o main .
COPY . .

EXPOSE 5001

CMD ["./main"]
CMD python3 ./main.py
13 changes: 3 additions & 10 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,8 @@ push:
git status
git add .
git commit -m "$$(date)"
git pull origin Golang
git push origin Golang

gorun:
go run main.go
git pull origin Python
git push origin Python

run:
./main

compile:
go build main.go

python main.py
41 changes: 30 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
# Rostro Biométrico
Este proyecto es un servidor web hecho para la detección y reconocimiento de rostros; implementando un conjunto de herramientas escritas en golang, javascript y C++. Para poder ejecutar este proyecto de manera mas fácil, evitando el tedioso trabajo de instalar las dependencias para compilar, puedes ejecutar los siguientes comandos, para los cuales solo necesitaras tener instalado docker:
Este proyecto es un servidor web hecho para la detección y reconocimiento de rostros; implementando un conjunto de herramientas escritas en python, javascript y C++. Para poder ejecutar este proyecto de manera mas fácil, evitando el tedioso trabajo de instalar las dependencias para compilar, puedes ejecutar los siguientes comandos, para los cuales solo necesitaras tener instalado docker:

```bash
docker pull ghcr.io/ricardovalladares/facedetect:latest
docker run --publish 5001:5001 ghcr.io/ricardovalladares/facedetect
docker-compose up
```

<p align="center">
<img alt="Light" src="https://raw.githubusercontent.com/RicardoValladares/FaceDetect/facedetection/desktop.png" width="50%">
<img alt="Light" src="https://raw.githubusercontent.com/RicardoValladares/FaceDetect/Python/desktop.png" width="50%">
&nbsp; &nbsp; &nbsp; &nbsp;
<img alt="Dark" src="https://raw.githubusercontent.com/RicardoValladares/FaceDetect/facedetection/celphone.png" width="15%">
<img alt="Dark" src="https://raw.githubusercontent.com/RicardoValladares/FaceDetect/Python/celphone.png" width="15%">
</p>


Librerías usadas:
- OpenCV (https://docs.opencv.org/3.4/d5/d10/tutorial_js_root.html)
- Go-Recognizer (https://github.com/leandroveronezi/go-recognizer)
- Face Recognition (https://github.com/ageitgey/face_recognition)
- Dlib (http://dlib.net/)

Modelos entrenados para el reconocimiento, detección y predicción de rostros:
Expand All @@ -28,11 +27,31 @@ Modelos entrenados para el reconocimiento, detección y predicción de rostros:

## Notas de: @davisking (https://github.com/davisking/dlib-models)

### Reconocimiento - dlib_face_recognition_resnet_model_v1.dat
La red se entrenó desde cero con un conjunto de datos de aproximadamente 3 millones de rostros. Este conjunto de datos se deriva de dos conjuntos de datos. El conjunto de datos de face scrub (http://vintage.winklerbros.net/facescrub.html) y el conjunto de datos de VGG (http://www.robots.ox.ac.uk/~vgg/data/vgg_face/). Se hizo este modelo entrenando una CNN de reconocimiento facial y luego usando métodos de agrupación de gráficos y mucha revisión manual para limpiar el conjunto de datos. Al final, aproximadamente la mitad de las imágenes son de VGG y face scrub. Además, el número total de identidades individuales en el conjunto de datos es 7485. Se evitaron superposiciones de identidades en LFW.

### Detección - mmod_human_face_detector.dat
### mmod_human_face_detector.dat
Este modelo está entrenado con el conjunto de datos: http://dlib.net/files/data/dlib_face_detection_dataset-2016-09-30.tar.gz. Se creó el conjunto de datos encontrando imágenes de rostros en muchos conjuntos de datos de imágenes disponibles públicamente (excluyendo el conjunto de datos FDDB). En particular, hay imágenes de ImageNet, AFLW, Pascal VOC, el conjunto de datos VGG, WIDER y face scrub. Todas las anotaciones en el conjunto de datos fueron creadas usando la herramienta imglab de dlib.

### Predicción - shape_predictor_5_face_landmarks.dat
<p align="center">
<img alt="Light" src="https://raw.githubusercontent.com/RicardoValladares/FaceDetect/Python/mmod_human_face_detector.png" width="100%">
</p>

### shape_predictor_5_face_landmarks.dat
Este es un modelo de referencia de 5 puntos que identifica las esquinas de los ojos y la parte inferior de la nariz. Se entrenó con el conjunto de datos que se encuentra en http://dlib.net/files/data/dlib_faces_5points.tar, que consta de 7198 rostros. Se creó este conjunto de datos descargando imágenes de Internet y anotándolas con la herramienta imglab de dlib. Este modelo está diseñado para funcionar bien con el detector de rostros HOG de dlib y el detector de rostros CNN (mmod_human_face_detector.dat).

<p align="center">
<img alt="Light" src="https://raw.githubusercontent.com/RicardoValladares/FaceDetect/Python/shape_predictor_5_face_landmarks.png" width="50%">
</p>

### shape_predictor_68_face_landmarks.dat
Este modelo está entrenado en el conjunto de datos ibug 300-W (https://ibug.doc.ic.ac.uk/resources/facial-point-annotations/). La licencia de este conjunto de datos excluye el uso comercial y Stefanos Zafeiriou, uno de los creadores del conjunto de datos, pidió que incluyera una nota aquí diciendo que el modelo entrenado no se puede usar en un producto comercial. Por lo tanto, debe comunicarse con un abogado o hablar con el Imperial College London para averiguar si está bien que use este modelo en un producto comercial.

<p align="center">
<img alt="Light" src="https://raw.githubusercontent.com/RicardoValladares/FaceDetect/Python/shape_predictor_68_face_landmarks.png" width="50%">
</p>

### dlib_face_recognition_resnet_model_v1.dat
La red se entrenó desde cero con un conjunto de datos de aproximadamente 3 millones de rostros. Este conjunto de datos se deriva de dos conjuntos de datos. El conjunto de datos de face scrub (http://vintage.winklerbros.net/facescrub.html) y el conjunto de datos de VGG (http://www.robots.ox.ac.uk/~vgg/data/vgg_face/). Se hizo este modelo entrenando una CNN de reconocimiento facial y luego usando métodos de agrupación de gráficos y mucha revisión manual para limpiar el conjunto de datos. Al final, aproximadamente la mitad de las imágenes son de VGG y face scrub. Además, el número total de identidades individuales en el conjunto de datos es 7485. Se evitaron superposiciones de identidades en LFW.

<p align="center">
<img alt="Light" src="https://raw.githubusercontent.com/RicardoValladares/FaceDetect/Python/dlib_face_recognition_resnet_model_v1.png" width="100%">
</p>

Binary file added dlib_face_recognition_resnet_model_v1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified docker-compose.yml
100755 → 100644
Empty file.
13 changes: 0 additions & 13 deletions go.mod

This file was deleted.

37 changes: 0 additions & 37 deletions go.sum

This file was deleted.

176 changes: 0 additions & 176 deletions main.go

This file was deleted.

Loading