I am currently evaluating an application’s feasibility and approach, the application is to trigger a proximity alarm when a (human)hand is close to a specific surface.
I think I can get spacial information and surfaces using the Zedi camera and also use a pose model to get the location and position of body parts. Currently, I am struggling with the view of which level should the information be combined to get this said application. As I am only interested in getting information when a set of conditions for proximity are triggered.
Looking forward to some direction.
Thanks in advance for engaging.
Indeed, using the Skeleton tracking module of the SDK, you can detect and track the position of the hands of the persons in the scene (the wrist to be more precise).
How do you plan to define the surface/area of interest? Is is a specific space in the room or something more specific?
Thank you for your response.
One example could be: handrails.
As we dont have an AI model to detect handrails. One idea was to manually draw a 3D BBox (going the length of the handrails) and then set proximity condition for when there is a person the hand should be in in such and such position.
Looking at the documentation, I am struggling with with incorporating ML solution for handrail detection or manually drawing the BBox.
Currently, I would really appreciate, direction of which platform would be more rubust to build a prototype.
I have a Jetson Orin and Zedi 2 setup, but i am starting on Ubuntu Desktop to try out existing projects a bit easily.
@BenjaminV Just wanted to check if you have any further comments,
also, I can across the following sample, and I was wondering if there is a way to draw/set arbitrary BBox in this application or similar sample application to set the proximity alarm. I am still struggling with where such a feature should be implemented.
If the camera is static, you can compute the 3d position of the box by using the 2d → 3d conversion functions (detailed here : https://support.stereolabs.com/hc/en-us/articles/4554115218711-How-can-I-convert-3D-world-coordinates-to-2D-image-coordinates-and-viceversa-).
With that you can convert the pixel coordinate in the image that correspond to your bounding box to 3D coordinate.
Then, you can check if the person is inside this box (in 3d space).
For the drawing, it depends if you want to draw in the image or in the 3D view.
@BenjaminV Thanks for your reply. The conversion function is now clear, reagrding the drawing I want to draw in 3D view. I am still strugling to get this done, is there an example (for drawing the BBox in 3D for one of the examples that) I can follow.
Do you want to draw 3D bboxes on the Image or in the 3D scene with the Point Cloud ?
The first one is using Opencv and the second one, OpenGL which is very different.
For Opencv, you may find a lot of tutorials online on how to draw lines (you can even look at our sample).
I want to draw 3D scene with the Point Cloud, so openGL. I am using link as base.