MATLAB Answers

human detection in a room

21 views (last 30 days)
Mahmoud Al-Faris
Mahmoud Al-Faris on 10 Feb 2016
Commented: Walter Roberson on 14 Feb 2016
Dear all,
I am trying to detect human inside a room and I 've tried HOG, Background subtraction, and Viola-Jones.
now, the problem is, I am trying to detect the human continuously as well as he still in the room even if he changes his pose or still constant without any move.
the above techniques depend on the specific status such upright for HOG, motion for background subtraction, and front or back view for Viola-Jones.
any suggestion please?
thanks a lot

Answers (3)

Image Analyst
Image Analyst on 10 Feb 2016
Try taking a shot of an empty room, then subtracting the images. Differences will show up but whether the difference is a human or a dog or a clock or simply a change in illumination level requires further steps.

  4 Comments

Show 1 older comment
Image Analyst
Image Analyst on 10 Feb 2016
Well yes but you have to define what you consider to be background. I suggested an empty room, not one with someone sitting still in it.
Mahmoud Al-Faris
Mahmoud Al-Faris on 12 Feb 2016
yes, I ll get a picture as a background with no body there, but the problem that I want to know if there is someone still in the room after I detect the motion of the human or even the body of the human, you told me the body will disappear if he stay for a while without moving.
Walter Roberson
Walter Roberson on 12 Feb 2016
If you can train against an image of the room with no human, then you can detect changes relative to that background and it is not required that you have the detector "learn" to ignore new items that do not move for a time. You still have the problem of detecting whether the non-background item is a human or not. As I remarked to one poster who dismissed that problem, "So you are designing your system to fail at science fiction conventions."

Sign in to comment.


Anand
Anand on 10 Feb 2016
Can you say more about what you've tried - what worked and what didn't work?
It looks like you need to try a combination of vision.PeopleDetector, vision.CascadeObjectDetector and vision.ForegroundDetector (background subtraction).
For example, if the person is not moving, they can still be detected with the vision.PeopleDetector, even if the vision.ForegroundDetector misses them.

  3 Comments

Mahmoud Al-Faris
Mahmoud Al-Faris on 10 Feb 2016
thnak you, that is good idea I will do it
I just was afraid if the human for example sit on sofa and being in the side view of camera, this will cancel the vision.PeopleDetector and vision.CascadeObjectDetector in addition to the background subtraction if he still for a while.
right?
Anand
Anand on 11 Feb 2016
The vision.CascadeObjectDetector has a classification model trained for profile faces. You could use this to augment the algorithms ability to detect people in side view.
Mahmoud Al-Faris
Mahmoud Al-Faris on 12 Feb 2016
Thanks Anand,
can I ask you about your previous answer, did you mean the combination of features for each method? for example vision.peopledetector and cascade.objectdetection.
many thanks

Sign in to comment.


Walter Roberson
Walter Roberson on 11 Feb 2016

  5 Comments

Show 2 older comments
Mahmoud Al-Faris
Mahmoud Al-Faris on 14 Feb 2016
Thanks Walter,
for my system I ll work in an uncrowded area with specific number of people that may do my work easier. in fact there is nothing moving just people so if I detect him and can find him even with out moving inside the camera zone, my work done.
Image Analyst
Image Analyst on 14 Feb 2016
Yes, it would, and you could use the background subtraction method to identify blobs that are not part of empty room, like Walter and I both suggested. Did you try that? Or, you could use a thermal camera to detect warm things. Though if someone enters the room in a well insulated down parka, you might not see him. Sometimes I have trouble getting the doors to our building to automatically rotate and let me out if I have my coat and hood on, and I need to expose at least my head to get it to see me and rotate the revolving door.
Walter Roberson
Walter Roberson on 14 Feb 2016
If you can have different lighting conditions then you will need to train on one picture of the room for each major difference in lighting conditions. For example if you were to train only with overhead lights on then if you were to present a picture of the same room in sunlight then the system could end up detecting the sunlight as a "new" object.
With the lighting accounted for, you can use background subtraction to detect objects that were not previously present. You cannot, however, detect if the objects are human or not. For example if someone brought in a bag of groceries, your system would be able to detect that but not whether the bag was a human or not. (Can you really tell from the center picture above that the camouflaged object is in fact a human and not a doll or a bit of paper and a pair of shoes?) As soon as you say "Well, the system should learn to ignore the bag of groceries because it doesn't move", then you are telling the system to learn to ignore a human who does not move.

Sign in to comment.

Sign in to answer this question.

Tags

No tags entered yet.


Translated by