Items with no label
3335 Discussions

person recognition problem using R200

BVaga
Beginner
3,514 Views

Dear Sir,

I am doing person tracking using R200 and ROS package in linux.

Problem: First i have recognized and registered a person using GUI command as defined in real-sense person tracking package in Linux. Then I have saved that recognized data using rosservice. now i start tracking to that person who is in FOV of camera using GUI command and it is working fine but Now problem is when that person is going out from FOV of camera and another new person (not registered and recognized and also not saved to database) comes to in FOV of camera then that recognized id assign to that person and also still tracking is working so that we don't want to track that newly unregistered and unrecognized person.

So is there any solution for that ?

0 Kudos
22 Replies
MartyG
Honored Contributor III
765 Views

Hi there! Are you using the Person Tracking feature in the RealSense SDK For Linux?

0 Kudos
BVaga
Beginner
765 Views

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.

0 Kudos
MartyG
Honored Contributor III
765 Views

My experience with this module is limited, but I will try to provide some useful insights.

With RealSense face recognition in general, if an ID that has been assigned to someone is re-assigned to another person when they enter the FOV, it is because the first person was not registered to the database. If they are registered then they should keep their ID even if they leave the camera view and a new person entering the FOV should be assigned a different ID.

Also bear in mind that when a face is first registered, the database is stored in the computer's memory and so newly registered faces will be lost when the application is closed. To store those face IDs permanently so that they will be in the database the next time that the program is run, you need to save the recognition database to a file.

0 Kudos
BVaga
Beginner
765 Views

Dear Sir,

I have already registered and save database to my folder using following command:

rosservice call /person_tracking/save_recognition "Path of my defined folder". and then it gives result "True" then i checked my database file size which was also modified.

but still it gives that same register id to another newly person.

0 Kudos
MartyG
Honored Contributor III
765 Views

Have you loaded in the database file when starting the program? Otherwise it would just start with a new empty database.

0 Kudos
BVaga
Beginner
765 Views

Dear Sir,

My program is already running. i didn't quit program and again start.

so is it require to load database after save database during same running program?

Because during running program i saved data to database and still problem occurred same running program. i didn't quit program and again start.

0 Kudos
MartyG
Honored Contributor III
765 Views

I went back to the GitHub link that you provided earlier. It confirmed to me that you are using the Intel RealSense For Linux person tracking module, and not just a ROS module in Linux. The Intel RealSense For Linux SDK was designed for the RealSense ZR300 camera model, whilst you are using the older R200 camera model.

Although the ZR300's IR components are identical to the R200's, I cannot eliminate the possibility that the problems you are having are because you are using the RealSense SDK For Linux with a camera model that it was not designed to support (as it is a ZR300 SDK).

0 Kudos
BVaga
Beginner
765 Views

Ok sir,

We also check person tracking application from intel realsense sdk sample browser (C++ ) in window . In that also there is same issue of re-assign id to non-registered user.

So would you tell me where is root of problem in camera selection or source code ?

0 Kudos
MartyG
Honored Contributor III
765 Views

The same principles of face recognition that I listed above also apply to the Windows face recognition module (register a face to the database, save the database to a file, etc). I guess you are using the '2016 R2' version of the RealSense SDK for Windows, since the '2016 R3' version does not support the R200?

If you are using an R200 with the '2016 R2' SDK, which is compatible with the R200, then the problem is probably in the scripting instead of the camera this time.

The easiest way to test whether the camera is working properly is to use the 'Face Tracking' sample program that comes with the 2016 R2 SDK. When the SDK is installed, it places a folder on the Windows desktop called 'Intel RealSense SDK Gold'. inside this folder is an application called the Sample Browser.

Run the Sample Browser and click on the 'Common' option at the top of its window, then find a program in the list called 'Face Tracking (C++)'. Click the 'Run' button to run the program.

When it is running, place a tick in the 'Recognition' box to tell the program that you want to use the face recognition mode, then click 'Start' to start the camera and make the 'Register' and 'Unregister' buttons available to be selected.

Use the 'Register' button to register a face, and the 'Unregister' button to remove the registration.

0 Kudos
BVaga
Beginner
765 Views

Dear Sir,

yes we are using R200 with '2016 R2' Version.

I have run both face tracking and person tracking application.

1) In face tracking ,it gives better result occasionally.

2)But In person tracking , it re-assign recognition id to unregistered newly person frequently. so problem is not resolve in same.

0 Kudos
MartyG
Honored Contributor III
765 Views

Have you clicked on the 'Register' button whilst the person's face is in view of the camera so that they are registered into the database?

Is the person's face looking straight at the camera when you click the Register button?

Also please check that you are not too close to the camera or too far from it in order for the camera to be able to successfully register the ID by reading the facial landmarks.

0 Kudos
BVaga
Beginner
765 Views

Yes Sir,

I have clicked on the 'Register' button whilst the person's face is in view of the camera so that they are registered into the database. after that only there is registered id generated and assign to that person. and also i have taken care about person is not far or too near to camera. but still problem is occurred.

0 Kudos
MartyG
Honored Contributor III
765 Views

I recalled a case that was similar to your problem. This may be of some help

0 Kudos
BVaga
Beginner
765 Views

Dear Sir,

I have checked your given link but it is for windows version.

And I have also try to find word like REGISTRATION_MODE_CONTINUOUS or REGISTRATION_MODE_ON_DEMAND in Ros person tracking package in linux.

but i couldn't find it.

So if you know then please guide me.

0 Kudos
MartyG
Honored Contributor III
765 Views

You were using the '2016 R2' Windows SDK. Please let me know if you have now changed back to trying to use the ROS module in RealSense SDK for Linux. Thank you.

0 Kudos
BVaga
Beginner
765 Views

Dear Sir,

I am using this package https://github.com/IntelRealSense/realsense_samples_ros/tree/kinetic-devel/realsense_ros_person realsense_samples_ros/realsense_ros_person at kinetic-devel · IntelRealSense/realsense_samples_ros · GitHub .

0 Kudos
MartyG
Honored Contributor III
765 Views

Ok, so you have gone back to using the RealSense SDK For Linux and its ROS Person Tracking module. Thanks for letting me know. As I said earlier, I cannot guarantee that it will work perfectly with your R200 camera, as this SDK was designed for the newer ZR300 camera model.

Unfortunately I do not know what else to suggest to you regarding using your R200 with the RealSense SDK for Linux. If you have to use ROS and you only need to track people and do not need to record their ID into a database, the ROS 'People Detection' module may be suitable for your needs.

https://github.com/spencer-project/spencer_people_tracking GitHub - spencer-project/spencer_people_tracking: Multi-modal ROS-based people detection and tracking framework for mobi…

0 Kudos
BVaga
Beginner
765 Views

Dear Sir,

Thanks for your quick response.

I am using RealSense SDK for Linux and also i will only use that in future.

I am just verifying person tracking application in windows. and i found that in both linux and window version the false identification problem is occurred (Re-assign same id to another non registered person).

I am planning to buy ZR300 camera but only if that it resolve this false identification problem.

So would to tell me that the problem false identification will be resolved by ZR300 camera?

0 Kudos
MartyG
Honored Contributor III
765 Views

I could not say with certainty that using a ZR300 would get you the results you need. All I can say is that it would increase your chances of doing so, since the RealSense SDK For Linux is designed for use with the ZR300. So you should get a ZR300 if you were planning to buy one anyway. Otherwise you may end up being disappointed if you purchase it just to see how well facial recognition works with it.

0 Kudos
BVaga
Beginner
740 Views
0 Kudos
Reply