7 Replies Latest reply on Jul 24, 2017 6:51 AM by MartyG

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

    Ann@Fernando

      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....

        • 1. Re: SR300 Device is Offline : senseManager.AcquireFrame(true) returns PXCM_STATUS_DEVICE_LOST
          MartyG

          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! 

           

          1 of 1 people found this helpful
          • 2. Re: SR300 Device is Offline : senseManager.AcquireFrame(true) returns PXCM_STATUS_DEVICE_LOST
            Ann@Fernando

            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();

            • 3. Re: SR300 Device is Offline : senseManager.AcquireFrame(true) returns PXCM_STATUS_DEVICE_LOST
              MartyG

              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.

              1 of 1 people found this helpful
              • 4. Re: SR300 Device is Offline : senseManager.AcquireFrame(true) returns PXCM_STATUS_DEVICE_LOST
                Ann@Fernando

                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

                • 5. Re: SR300 Device is Offline : senseManager.AcquireFrame(true) returns PXCM_STATUS_DEVICE_LOST
                  MartyG

                  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.

                   

                  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.

                   

                  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.

                   

                  Using The 'CamAnims' Real-Time Game Animation Technique

                   

                  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."

                  1 of 1 people found this helpful
                  • 6. Re: SR300 Device is Offline : senseManager.AcquireFrame(true) returns PXCM_STATUS_DEVICE_LOST
                    Ann@Fernando

                    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!

                    • 7. Re: SR300 Device is Offline : senseManager.AcquireFrame(true) returns PXCM_STATUS_DEVICE_LOST
                      MartyG

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

                       

                      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.

                      1 of 1 people found this helpful