Asked

Looking To Improve Face Tracking Esp32 Cam

Looking for some advice on face tracking.

My setup is using a esp32 Cam. It's connected to ARC via wifi. I have an IO-tiny as well. Current setup has the esp32 running AP mode and both SBC and IO-tiny connect to it.

I've got the robot tracking but I'm looking on any advice on how potentially I could improve things. I've searched and found the initial setup videos got me to where I am now but I'm unsure on where I could look to make improvements.

First a video of how its reacting.

My setup is as follows

Camera is set to 160,120 I've found that setting this to 320,240 I have a hard time trying to find settings that work well. Is this because it buts to much work on the processor?

Face detection options that are working.

Min 26 pixels Max 120 pixels Min detection Cnt 2

I came to this by trial and error, my understanding is reducing the Min increases CPU usage. But if I increase I very quickly lose detection, and reducing below 25 seems to have the same effect?

I noticed with this setup my FPS is pretty steady at 11. Not sure how this factors in. Should I be looking to achieve a higher FPS?

Movement settings I found that initially the head would move too fast, I reviewed the advanced settings and made the following changes

Increment steps 3 Velocity 1 Speed 1 Acceleration 0

I'd like to try and improve things if I can but I'm not sure what's my limiting factor here, wifi connection, camera my understanding of the settings.

Any advice welcome.


Related Hardware ESP32 Cam
Related Control Robot Skill to Camera

ARC Pro

Upgrade to ARC Pro

Unleash your robot's full potential with the cutting-edge features and intuitive programming offered by Synthiam ARC Pro.

PRO
Canada
#1  

It's great to hear that you have your robot tracking with the ESP32 Cam and the robot skill to Camera by Synthiam Inc. Here are some suggestions that may help you improve your setup:

  1. Camera Resolution: The resolution of the camera can affect the performance of the face detection algorithm. Lowering the resolution can help reduce the processing load on the ESP32 Cam. However, if you increase the resolution, you may need to adjust the settings to find the optimal balance between performance and accuracy.

  2. Face Detection Settings: The settings you have chosen seem to be working well for you. However, you can experiment with different values to see if you can improve the performance. For example, you can try increasing the minimum detection count to reduce false positives or decreasing the maximum size to improve accuracy.

  3. FPS: The FPS (frames per second) rate can affect the smoothness of the tracking. Increasing the FPS can help improve the tracking, but it may also increase the processing load on the ESP32 Cam. You can experiment with different FPS rates to find the optimal balance between performance and smoothness.

  4. Movement Settings: The movement settings you have chosen seem to be working well for you. However, you can experiment with different values to see if you can improve the movement of the robot. For example, you can try increasing the acceleration to make the movement more responsive or decreasing the velocity to make the movement smoother.

  5. WiFi Connection: The stability of the WiFi connection can affect the performance of the robot. If the connection is unstable, it can cause delays or interruptions in the video stream, which can affect the tracking. You can try moving the ESP32 Cam closer to the router or using a WiFi extender to improve the connection.

I hope these suggestions help you improve your setup. If you have any further questions or concerns, please feel free to ask.


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
PRO
Synthiam
#2  

The max setting determines how big to stop looking for a face. So you’ll have to consider how big your face is within the image. So if your face is half the resolution, it’ll be fine. But if your face is closer than the value needs to be higher.

PRO
Synthiam
#3  

Oh also lighting is important. I was just thinking that I forgot to mention it

#4  

Thanks DJ

Can the FPS be used as a benchmark for how the settings effecting the processor?

When I get back home I'm going to look at some object training for BD-1 but I'm also thinking of adding this capability to chopper. I can add a usb Camera in that case but I'm not sure what kind of resolution I need.

PRO
Synthiam
#5  

The fps will lower if the tracking type is using a lot of cpu. Each frame may take longer to process and that will lower the frame rate. That won’t affect the tracking accuracy though.