All Projects → cleuton → FaceGuard

cleuton / FaceGuard

Licence: Apache-2.0, MIT licenses found Licenses found Apache-2.0 LICENSE MIT ORIGINAL_LICENSE.md
Face Guard: Machine Learning + IoT Surveillance demo! Face recognition

Programming Languages

python
139335 projects - #7 most used programming language
Jupyter Notebook
11667 projects
matlab
3953 projects
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to FaceGuard

gitlab-runner
GitLab Runner (Docker image) for ARM devices, this is a mirror repository of
Stars: ✭ 17 (+30.77%)
Mutual labels:  raspberry, raspberry-pi-3
RpiANC
Active Noise Control on Raspberry Pi
Stars: ✭ 49 (+276.92%)
Mutual labels:  raspberry, raspberry-pi-3
la-maison-pythonic
Projet didactique du livre "Python, Raspberry-Pi et Flask" avec ESP8266 sous MicroPython
Stars: ✭ 16 (+23.08%)
Mutual labels:  raspberry, raspberry-pi-3
wor-flasher
Legal utility that runs on RPiOS to flash another SD card with Windows 10/11
Stars: ✭ 451 (+3369.23%)
Mutual labels:  raspberry, raspberry-pi-3
Raspberryio
The Raspberry Pi's IO Functionality in an easy-to-use API for Mono/.NET/C#
Stars: ✭ 593 (+4461.54%)
Mutual labels:  raspberry, raspberry-pi-3
RPi-TELEBOT
Python based Telegram bot to monitor and control the raspberry pi
Stars: ✭ 19 (+46.15%)
Mutual labels:  raspberry, raspberry-pi-3
Debian Pi Aarch64
This is the first 64-bit system in the world to support all Raspberry Pi 64-bit hardware!!! (Include: PI400,4B,3B+,3B,3A+,Zero2W)
Stars: ✭ 2,505 (+19169.23%)
Mutual labels:  raspberry, raspberry-pi-3
YoloV3-ncnn-Raspberry-Pi-4
MobileNetV2_YOLOV3 for ncnn framework
Stars: ✭ 20 (+53.85%)
Mutual labels:  raspberry, raspberry-pi-3
warpi
"GUI" script running on a Raspberry Pi 4
Stars: ✭ 29 (+123.08%)
Mutual labels:  raspberry, raspberry-pi-3
Rust Raspberrypi Os Tutorials
📚 Learn to write an embedded OS in Rust 🦀
Stars: ✭ 7,275 (+55861.54%)
Mutual labels:  raspberry, raspberry-pi-3
Three-Factor-Security-Door
What do you get when you mix a Raspberry Pi, a MySQL database, an RFID reader, an LCD touchscreen, a relay switch, an electronic door strike and a Twilio SMS account?
Stars: ✭ 49 (+276.92%)
Mutual labels:  raspberry, raspberry-pi-3
Homekitcam
A project to make a Raspberry Pi driven, HomeKit Enabled camera.
Stars: ✭ 69 (+430.77%)
Mutual labels:  raspberry, raspberry-pi-3
yamete
Yamete - Hentai downloader in PHP CLI - Easy site downloader PHP system
Stars: ✭ 63 (+384.62%)
Mutual labels:  raspberry, raspberry-pi-3
motor-hat
Node Module to control Adafruits MotorHAT for the RaspberryPi
Stars: ✭ 28 (+115.38%)
Mutual labels:  raspberry, raspberry-pi-3
balenaPrint
Managed CUPS on Raspberry Pi devices, running balenaOS
Stars: ✭ 67 (+415.38%)
Mutual labels:  raspberry, raspberry-pi-3
Raspberrypi tempmon
Raspberry pi CPU temperature monitor with many functions such as logging, GPIO output, graphing, email, alarm, notifications and stress testing. Python 3.
Stars: ✭ 52 (+300%)
Mutual labels:  raspberry, raspberry-pi-3
Gitlab
GitLab CE (Docker image) for ARM devices, this is a mirror repository of
Stars: ✭ 121 (+830.77%)
Mutual labels:  raspberry, raspberry-pi-3
Jns
jupyter notebook and lab on Raspberry Pi
Stars: ✭ 228 (+1653.85%)
Mutual labels:  raspberry
nrf24
nrf24l01 linux device driver
Stars: ✭ 20 (+53.85%)
Mutual labels:  raspberry-pi-3
Pikrellcam
Raspberry Pi motion vector detection program with OSD web interface.
Stars: ✭ 211 (+1523.08%)
Mutual labels:  raspberry

OLHAR COMPUTACIONAL

Cleuton Sampaio

Bem vindo ao meu site de estudos sobre visão computacional e suas aplicações. Aqui, tudo é open source.

Welcome to my computer vision research site. Everything here is open source.

Temos vários artigos e farto código sobre reconhecimento facial:

  1. Reconhecimento facial com Java, C++ usando HOG;
  2. Reconhecimento facial com Tensorflow e CNN there is also an english version here

Comparação de impressões digitais

Sim! Agora vou te mostrar como comparar impressões digitais, por exemplo, a digital em um documento com uma digital capturada via dispositivo biométrico!

FingerPrint Scan

CNN demo with dogs & cats

A CNN implementation which can recognize dogs and cats image. CNN

Simple Face Detection and Recognition for webcams

A simple face detection program with a face recognition CNN for use in web and security cams: Face Detection and Recognition

FaceGuard - Face recognition + Machine Learning + IoT Demo

TEXTO EM PORTUGUÊS AQUI!!!

VIDEO

Most of the source code in this demo is a derivative from David Sandberg's work. The original license is included as file ORIGINAL_LICENSE.md.

The source code added by this work is composed of files:

  • photoserver.py: Photo server app, which receives a Photo and uses the Classifier to get a match;
  • Foto.py: Auxiliary class for the Photo server;
  • photoclient.py: Raspberry client, which captures a photo and sends it to the server.

All of the added source code is licensed using Apache 2.0 (included in the project).

Description

This is an implementation of FaceNet using IoT for face recognition. Using a Raspberry PI 3, with a Raspberry camera, a person "shoots" a photo, which will be sent to a remote server for processing. The remote server aligns and loads it into a Classifier to get a match. If it matches more than 60%, then a positive result is sent back to Raspberry PI.

Setup

First, you'll need to create a Python virtual environment for you, using Anaconda! Install Anaconda and run the following command:

conda env create -f ds-env.yml

The file ds-env.yml is in the main repository folder. Any time you want to run this tutorial, activate the environment: "source activate facenet" (for Linux and MacOS) or "activate facenet" (for MS Windows).

You'll need to train a Classifier using LFW public dataset.

You can then train again using your own photos. After that, you can run the photoserver and install and run the photoclient on your Raspberry PI 3.

Raspberry PI circuit

The Raspberry remote device has a camera, a button and 3 leds: Yellow, Red, and Green.

Raspberry device

You point the camera at yourself (or other person), press the switch, the yellow Led lights up and your photo is taken and sent to the RESTfull server. The server aligns and process your photo, returning HTTP Status 200, if it recognizes you (60% match), or 404, if it doesn't recognize you.

The materials list is:

  1. One Raspberry PI 3;
  2. A protoboard;
  3. A Raspberry protoboard connector and flat cable (the long parallel multi color cable);
  4. 3 leds: Yellow, Green, and Red;
  5. 3 330 Ohms resistors;
  6. Some jumper wires of different colors;
  7. A switch (button);
  8. A Raspberry camera.

You can find these materials on any good online store, like Sparkfun or MercadoLivre (Brazil).

Assemble the protoboard circuit:

Protoboard circuit

Plug the Raspberry connector into the protoboard like the picture. Leave the groove exactly in the middle of the connector. It has labels for Raspberry's sockets: GPIOs, GND (ground), Voltage (3.3 or 5 v).

Plug the other side into Raspberry's connector. Pay attention to the right side. If you are unsure, get a Multimeter and check the voltages. According to the picture, the first upper left connection is 3.3v and the bottom left is 5v, measure them.

Ok, now, plug the switch exacly like the picture. The switch has four legs, linked two by two. If you press the button, it will short circuit all of them. Pay attention because it's more tricky than it looks like. Read this article:

Remember to attach a jumper cable to one side of the switch and to one GPIO socket. I used GPIO 18. If you connect to a different socket, then you'll need to change photoclient's code. The other side must be connected to a GND socket (any).

Finally, plug the 3 leds. A led has two legs, one longer and the other shorter. The longer leg is called "anode" and it's connected to the power line or, in our case, the GPIO of your choice. The shorter leg is called "cathode" and it's connected to the ground (GND).

Resistors

We have to protect the Raspberry and the Led from pulling out too much energy. Therefore we connect a 330 Ohm resistor between the GND and the shorter leg of each led, like the picture.

The protoboard has horizontal and vertical circuits. There are two horizontal bands at each end, one market positive (red) and other negative (blue). You can wire a cable between the negative band and any GND socket of the Raspberry. Then, plug one leg of each 330 Ohm resitor into this line.

The other resitor leg must be connected to a vertical circuit, after the red line, exactly like the picture.

Each led must have its longer leg connected (using a jumper cable) to a GPIO socket. I used these sockets (pay attention! If you use different sockets, you'll need to change photoclient's code):

  • Yellow led: GPIO 23
  • Red led: GPIO 25
  • Green led: GPIO 24

Raspberry side

This is Raspberry's side

Pay attention to the connection socket for the flat cable. It must be in the right position, otherwise you may damage your Raspberry. Use a multimeter, like I told before, and check in the protoboard for 3.3 and 5 v.

The camera must be connected to the slot near the HDMI outlet. It has a conector side and a blind side. Be sure to plug in the right position. See this article.

The camera has a fixed positio, so you must rotate it to see what is the up side. Be sure to run raspi-config to enable the camera.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].