Hello, everyone!
I’m working on my thesis, which involves using artificial intelligence with Edge Impulse to monitor a robotic arm. The goal of the project is to detect the presence of a hand during monitoring, and upon detection, send a digital signal to an output pin on the embedded system.
Currently, I’m facing difficulties implementing the code to make this detection work. Here’s the relevant code snippet I’m using:
if (result.bounding_boxes[0].value > 0.90) {
Serial.print("-------------OBJECT DETECTED------------- \r\n");
digitalWrite(interferencia, HIGH);
}
However, this code is not functioning as expected. Here are some considerations and what I’ve tried so far:
-
Detection Confidence: The confidence value (
result.bounding_boxes[0].value
) doesn’t always seem to reflect the hand detection correctly. -
Bounding Box Position: The object of interest (the hand) may not always be in the
[0]
position of thebounding_boxes[]
array, which could be causing detection issues. -
Detection Label: I’m using
strcmp(bb.label, "hand")
to check if the detected object is a hand, but I’m unsure if the label is correct.
I’d appreciate any suggestions on how to:
- Properly check for hand detection in the bounding boxes array.
- Trigger the digital signal correctly based on detection.
- Improve the logic for identifying the hand.
Thanks in advance for the help! I’m open to any suggestions!