Items with no label
3335 Discussions

Issue of person recogntion and registration in RealSense R200 with ROS.

BVaga
Beginner
1,447 Views

Dear Sir/Madam,

I am using Intel RealSense R200 camera for person tracking using ROS package (https://github.com/IntelRealSense/realsense_samples_ros GitHub - IntelRealSense/realsense_samples_ros: Sample code illustrating how to develop ROS applications using the Intel®… )in Linux system.

Issue: When a person is registered and recognized, a unique User Id and Recognition Id is generated. This ID and RID remains constant till person is in FOV of camera but once the person is out of FOV the same ID and RID are assigned to another person present in view of camera. Further if the first person enters in FOV again he is assigned with the different Id. 

How to solve this problem? 

0 Kudos
4 Replies
MartyG
Honored Contributor III
436 Views

Although the program is displaying a unique ID for the person in the FOV, I wonder if it is registering it to the person database. If a person's face is not registered then you would expect the program to discard that ID when a person leaves the FOV and assign that ID to somebody else.

In the instructions for the 'realsense_ros_person' sample, it says that you must press the left mouse button to register a face to a database. Are you doing this, please?

0 Kudos
BVaga
Beginner
436 Views

Hi MartyG,

Thanks for your reply..

Yes, we followed GUI command for registration and recognition.

Actually by default path provided for database is "/home/elisa/testPT1.db" and parameter loadDb was set to "false".so we also modified that parameter loadDb to "true" and also changed database path since "/home/elisa/testPT1.db" does not exist. After doing so still we were getting same issue and also there is error like failed to load database from given path.

i have attached screenshot. one is registration screenshot in that we have registered by GUI command and another screenshot of database error. please once go through it.

0 Kudos
MartyG
Honored Contributor III
436 Views

The error message suggests that the path is fine but the error is occurring because it cannot find a database file at that path when the program starts up (presumably by setting loadDb to true by default, it is looking for a database file before an ID scan is even taken).

In the Windows version of face recognition, when a database is created it is stored in memory only at first and the database is lost when the program stops running. To save the recorded ID, you need to save the database in memory as a file. Then there should be a database file present at the path for loadDb to read when the program starts up.

The Windows sample takes the approach of providing a Save Database button on its interface.

https://software.intel.com/en-us/articles/code-sample-facial-recognition-using-intel-realsense-sdk Code Sample: Facial Recognition Using Intel® RealSense™ SDK | Intel® Software

In your ROS program, it seems as though the save database function is provided by a file in the 'srv 'folder called SaveRecognitionDB.srv.

If saving to a database file is already supported in the program, I would recommend checking if the path that you are saving the file to is one that can have data written to it (i.e ensure the path is not a protected read-only location).

0 Kudos
BVaga
Beginner
436 Views

Thank you sir very much...

I will try and give you feedback with result...

0 Kudos
Reply