I am not sure why you would need to cover the RGB sensor. If you wanted an RGB scan then you would produce an RGB color stream, and if you wanted an IR scan then you would produce an IR stream. Sorry if I'm being dense!
I want to do the face analysis in night conditions so I can't use the RGB sensor. I know how to stream with the IR sensor but not how to use the SDK to detect the face without the RGB sensor...
However, the app that the SDK provides works fine without the RGB sensor. For that I'm asking how to extract the face information using just the IR sensor.
So the problem basically is that you need the RGB sensor to be able to see the face but it will not activate because it is too dark to see the face?
Yuneec flight drones equipped with the R200 camera can do night-vision fine, so it must be feasible to see in the dark. The issue is likely that in your particular case, you need a reaction when the face is detected by the camera.
I admit I've looked at many possibilities and I'm stuck. The only thing that comes to mind is Blob Tracking. If the camera sees a general large flat-ish surface area filling its view - it does not have to recognize it as a face, as Blob Tracking is not that sophisticated - then it may trigger.
No, I'm able to see the face without the RGB sensor, just with the IR camera, but I don't know how actívate the SDK functions for that as the same way that I do with the RGB.
RealSense can analyze a person's pulse through IR. The scripts included in this guide may give you some useful clues.
You could maybe even use that scripting directly as your face activator. If pulse > 0 then there is a living person in front of the camera.
It doesn't work the pulse detection, I don't know why
This is my code:
PXCSenseManager *psm = PXCSenseManager::CreateInstance();
int sts = psm->EnableFace();
SampleReader* reader = SampleReader::Activate(psm);
UtilRender *renderIR = new UtilRender(L"3D IR STREAM");
reader->EnableStream(StreamType::STREAM_TYPE_IR, 640, 480);
PXCFaceModule* faceAnalyzer = psm->QueryFace();
FaceData* outputData = faceAnalyzer->CreateOutput();
FaceConfiguration* config = faceAnalyzer->CreateActiveConfiguration();
// Enable face tracking
FaceModule *face = FaceModule::Activate(psm);
FaceData *data = face->CreateOutput();
while (psm->AcquireFrame(true) >= Status::STATUS_NO_ERROR)
cout << data->QueryNumberOfDetectedFaces();
If I cover the RGB sensor, QueryNumberOfDetectedFaces returns 0... So I don't know why or what I'm doing wrong...
This message was posted on behalf of Intel Corporation
Thanks for your interest in the Intel Realsense Platform.
Did you try MartyG suggestion to use the Person Tracking? If you did could you be so kind to share your results.
Also the code you share in your previous reply, was this created by you? Or are you using an example?
I will be waiting for your reply, have a great day!
Yes I tried the example of MartyG, but it didn't work. The code that I put was writed by me with the help of the Intel tutorial. (/RSSDK/doc/PDF/sdkmanual-face.pdf)
Thanks for answering
This reminds me of a forum discussion I was working on at the weekend, where people could not get Person Tracking to work with their R200.
Because development on R200 features in the SDK stopped after the 2016 R2 SDK, it is unlikely that the problem will be fixed now if it cannot be done without creating new code.
1 of 1 people found this helpful
I forgot add the line " config->ApplyChanges();" at the end.
Thanks for the help!
Great news, MQMQ! Good luck!