human detection in a room
3 views (last 30 days)
Show older comments
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
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
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."
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
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.
Walter Roberson
on 11 Feb 2016
What you are asking for cannot be done with just the visual spectrum.
5 Comments
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
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.
See Also
Categories
Find more on Image Processing and Computer Vision in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!