Face Recognition Project using Jetson Nano Board.

Hello,
I am a student currently pursuing B. Tech. CSE. I am making a project of Face Recognition which, of course, recognize faces in a given room, and then categorize each face in different categories. For example: Manager, Client, Worker, Visitor, etc. Also if any intruder comes in the room, then it will raise an alarm and alert the security team. I have designed the software and tested it on my laptop, but it was not that fast and powerful to do such complex things. And that’s why i am here to find a suitable board for my project.

I have found the NVIDIA Jetson Nano board perfect for this kind of work. ( I think so because the specs says so…) but i don’t know that whether it can handle this complex job in which it have to analyze each frame of a live feed so fast, that it does not lag. So, my questions are:

Whether it can process these kind of things…?

How can i connect it to the internet without connecting the board with the Ethernet ?(through WiFi… because i have seen that this board does not have WiFi in-built)

Do you think that this board is enough…? or do you recommend me another one…?

Thanks.

Hi singh.bharat, you might be interested in this Smart Doorbell project for Nano which performs face recognition: https://medium.com/@ageitgey/build-a-hardware-based-face-recognition-system-for-150-with-the-nvidia-jetson-nano-and-python-a25cb8c891fd

You could achieve better performance using TensorRT for the DNN inferencing, but that is a good start.
For WiFi, you could check USB dongle or M.2 Key-E modules from the Supported Components List.

I recently did my own face recognition task on a jetson nano for my Masters degree. First I started with the Doorbell too but it was not satisfying. The Dlib models worked too slow on the Jetson in my opinion.

For face detection I adapted this TRT-MTCNN https://github.com/PKUZHOU/MTCNN_FaceDetection_TensorRT to my Jetson.
For Recognition I use:

  1. Dlib face embeddings as feature extraction (dlib_face_recognition_model)
  2. dlib SVMs for classification

I can run the Pipeline on camera images or on images from disk. I trained and tested it on my family and I created a BBT dataset for training/testing. Its trained on 7 Classes and it works quite well. I can detect and classify an image with 10 faces with ~10 FPS (see attachement). In my implementation adding more Classes will decrease the speed. I wouldn’t use more than ~10 classes.
here is my Project https://github.com/Daniel595/Jetson_nano_face_recognition
and testdata https://github.com/Daniel595/testdata