Items with no label
3335 Discussions

SR300 Device is Offline : senseManager.AcquireFrame(true) returns PXCM_STATUS_DEVICE_LOST

idata
Employee
1,420 Views

In SR300, senseManager.AcquireFrame(true) returns PXCM_STATUS_DEVICE_LOST which means that the device is offline. But SR300 is connected and listed under imaging devices in Device manager and other SDK samples also can be run on it...Pls help me to solve this....

0 Kudos
7 Replies
MartyG
Honored Contributor III
377 Views

The documentation for AcquireFrame states that - as you said - the camera is being regarded as being disconnected. Normally I would diagnose that the problem may be with camera signal disconnections caused by power fluctuations on the USB port. The fact that you can successfully run other samples suggests though that the USB port is not the problem.

Could you please provide more information please on what you are doing to get this error (for example, running a script you have written, or running a particular sample program). Thanks!

idata
Employee
377 Views

Thank you so much for your kind reply..i was really helpless with this matter...im running a person tracking code sample..its working very well with r200 but since emotion recognition is not supported in r200 now i have to use sr300 for my research..when i run that sample using sr300 only a window comes up... no streaming at all.

This is the output when i run the code.. so i was searching the error through the code..here's a code part where i think the problem is residing...the output shows what it returns for sensemanager.AcquireFrame(true) is PXCM_STATUS_DEVICE_LOST..pls help me to solve this.

private void Update()

{

Debug.WriteLine("ENTER UPDATE");

Debug.WriteLine(pxcmStatus.PXCM_STATUS_NO_ERROR);

Debug.WriteLine(sm.AcquireFrame(true));

// Start AcquireFrame-ReleaseFrame loop

while (sm.AcquireFrame(true) >= pxcmStatus.PXCM_STATUS_NO_ERROR)

{

Debug.WriteLine("ENTER WHILE");

// Acquire color image data

PXCMCapture.Sample sample = sm.QuerySample();

Bitmap colorBitmap;

PXCMImage.ImageData colorData;

sample.color.AcquireAccess(PXCMImage.Access.ACCESS_READ, PXCMImage.PixelFormat.PIXEL_FORMAT_RGB32, out colorData);

colorBitmap = colorData.ToBitmap(0, sample.color.info.width, sample.color.info.height);

// if (colorBitmap == null)

// Debug.WriteLine("null");

// Create an instance of MyTrackedPerson

MyTrackedPerson myTrackedPerson = new MyTrackedPerson();

// Acquire person tracking data

personData = personModule.QueryOutput();

0 Kudos
MartyG
Honored Contributor III
377 Views

Person Tracking is listed in the RealSense SDK's release notes as only being present in the '2016 R2' version of the SDK (not the current '2016 R3 Essentials' SDK), and only for the R200 camera.

Regarding emotion recognition, it has not been supported in the SDK for any camera model since 2015, as it was a third-party component not made by Intel but by a company called Emotient that was purchased by Apple.

There are other ways to recognize emotion with the camera if you would like more information on that.

0 Kudos
idata
Employee
377 Views

But as it is mentioned in the documentation person tracking is supported by both r200 and sr300

And also in the documentation they have mentioned about emotion recognition also..somehow now i need to track the person and detect the emotion or facial expressions using the same device but none of the r200 and sr300 are supporting...A big help if you could give me a solution

0 Kudos
MartyG
Honored Contributor III
377 Views

I remember that there has always been some confusion about whether the SDK supports Person Tracking for the SR300. The R3 release notes deny it, yet - like you say - the documentation indicates that it is supported on the SR300. I recently found a video of Person Tracking that was claimed to be running on an SR300, but that is the only example I have ever seen of the feature on SR300.

https://vimeo.com/166142848 RealSense SR300 Person Tracking Preview from .NET on Vimeo

The 2016 R3 version of the documentation has no mention of Person Tracking at all, though - as you quoted - it is in the R2 version's documentation. This suggests that Person Tracking can only be accessed in the R2 SDK and has been totally removed from the R3 version.

https://software.intel.com/sites/landingpage/realsense/camera-sdk/v2016r3/documentation/html/index.html?doc_devguide_introduction.html Intel® RealSense™ SDK 2016 R3 Documentation

So you would have to use the R2 SDK for Person Tracking, if you are not doing so already. Checking the R2 version's release notes, it confirms that SR300 support for Person Tracking is present in that version. I apologize for the confusion surrounding this feature.

Regarding another way to do emotion detection ... it is possible but requires some labor to achieve. I created a custom system called CamAnims that moves objects with the face controls and works out the emotions from those objects' rotation angles using logic statements. Here's a blog entry I recently wrote about CamAnims.

A quote from the article:

"Another application of control value analysis in projects where the player character's facial expressions are controllable is the detection of the player's current emotional state ... if the player's eyebrow CamAnim has a value near '0' then they are likely to be happy, because the brows are barely moved from their fully-raised starting position. If the CamAnim value is near or at '1' though then the player is likely to be sad, because their real-life frown is mirrored in the timeline position of the eyebrow animation clip".

"Facial CamAnim values can also be combined together for more complex emotional analysis. If only the mouth = '1' then the player may be 'Sad'. as their lips are fully downturned. If the mouth CamAnim = '1' and the eyebrow CamAnim also = '1' though then they are likely to be in an 'Angry' emotional state, because their mouth is down and their eyebrows fully furrowed. The same methodology can be used to work out the physical pose that the player's body is in, by analyzing the CamAnims of the waist, neck, arm and leg joints."

0 Kudos
idata
Employee
377 Views

Thank you very much for the reply...i really wonder how intel include those features in documentation without even knowing that it is capable of doing those..they have put code samples in SDK.. do you know any way to get the code definition used by the intel in the sdk...will see for a solution...thank you again for helping me!

0 Kudos
MartyG
Honored Contributor III
377 Views

It looks like the page that you saw was this one.

https://www.intel.com/content/www/us/en/support/emerging-technologies/000006099.html Recognition Capabilities of the Intel® RealSense™ Camera

As it is a promotional piece for the features of RealSense rather than support documentation, the author probably did not know that the Emotient emotion detection feature had been removed.

The old SDK that contained the Emotient system is no longer available, so your options for emotion detection are unfortunately limited, other than the CamAnims angle analysis method described above.

0 Kudos
Reply