Need help with facial recognition software in robot

Hello,

So I am trying to create a robot where if I stand in front of it, the robot will be able to see my facial expression and react back to it. Now the problem is that I am doing my robot exactly like this one Making of mini hash humanoid robot | Hash Robotics - YouTube, but there isn't any type of facial recognition software in it. How can I do this in the ESP32 that I have, I have already ordered the parts and I want to utilize the parts that I have ordered:

• 2x AA batteries (5V or max 6V)
• 2x AA battery holder
• 1x ESP32 DEV module
• 1x PCA9685 servo driver
• 9x MG995 servo motor
• 1x 128x64 OLED display

These parts are based on the video.

I have done some research and there is a ESP32-CAM, but how can I attach that to a PCA9685 servo driver?

Please I am really stressing and stuck because I am new to this.

Sorry I think you are way out of your depth. The project you are trying to do normally needs a much more powerful processor than you have. You need a camera and some sort of display. The display you have has to low a resolution than you need.

but how can I attach that to a PCA9685

Simple you can't and you don't. You attach the PCA9685 to your processor and you connect the camera to your processor. Then you can control the servo motor by software based on what you get when you look at the pixels the camera returns.

the robot will be able to see my facial expression and react back to it.

In what way react?

react like for example If the person smiles, the robot will smile back for example. If this whole idea is not going to work, what can i do then? Because I am stuck and struggling.

So how can I go on about trying to do something like this for my project, where I can have some facial software and the robot can also have movement with the servo motors?

I would use a Raspberry Pi computer and a software library called openCV.

ah okay so with that what other components can I use with that? Can I use the materials that I have listed with that or will I need some sorta camera too? Sorry im new to all this.

For facial recognition you need some sort of camera, otherwise how is the computer supposed to see things? With the Raspberry Pi you can use their cameras, but the resolution is quite high. Or you can use any camera with a USB connector on it, something you can't do with your ESP32.

Search for Raspberry Pi tutorials for examples of what people have done. But this is not an entry level project, there will be a learning steep curve.

so this will work with the servo motors and the servo as well right?

so this will work with the servo motors and the servo as well right?

Yes.

So I can still attach the PCA9685 servo driver with the 9 servos to the Raspberry Pi?

So I can still attach the PCA9685 servo driver with the 9 servos to the Raspberry Pi?

Yes, you will need an external power supply for that no matter what processor you use.

I have looking at Raspberry Pi and there are a lot of versions of it? Which one would be ideal for this project. Also they seem quite expensive.

The Model 4 is the best for this project.
They are a lot cheaper than other boards like the Beagle Bone.

These two links might give you a flavor of what is involved.
How to install openCV
and
https://www.pyimagesearch.com/

Thank you so much!

I just wanted to ask is it impossible to attach a ESP32-CAM to an Arduino Uno itself? Because I know that I can attach the servo driver to the Arduino Uno, but what about with the ESP32-CAM? just curious.

Too recognize faces, software wise you can use either TensorFlow lite or Linear Regression. Each method will require a 32 bit MCU, real doubles are required.

I, have, for the last several months been predicting the air pressure for the next 5 days with +.98 accuracy with Linear Regression (LR) on a ESP32.

It takes 96 hours to train the LR, for my application.

For a face, A few Tensor's or a few stored trained LR models stored on board the ESP32 may do the trick.

I, recently started using the RPi for Linear Regression, it takes a few moments to train the RPi to predict the air pressure.

I'd use TensorFlow for facial recognition.

Yes, there is not enough memory on an Arduino Uno to show anything but a ridiculously small and useless image.

interesting I have never hear about this? What is TensorFlow lite or Linear Regression?

The ESP32-CAM can take pictures and post them for use on its own. An Uno, and 8 bit machine cannot do Facial Recognition with modern tools. TensorFlow and Linear Regression require 32 bit machines.

oh so I wouldn't be able to do like a live video the on the ESP32-CAM then?

I wasn't too impressed when I used TensorFlow for voice recognition on a Nano 33 BLE sense.