Hello,
I have a software-based project of using human recognition algorithm to detect an intruder and be able to differentiate if the intruder is human or non-human.
Any ideas on what recognition algorithms I could use?:)
Thanks!
Hello,
I have a software-based project of using human recognition algorithm to detect an intruder and be able to differentiate if the intruder is human or non-human.
Any ideas on what recognition algorithms I could use?:)
Thanks!
It sound like quite an ambitious project if you don't have an idea of what algorithms to use.
You need to give a bit more information
What kind of recognition :
Camera footage - > simple recogniser or machine learning techniques are possible
Or are you talking about distinguishing between bot behaviour and a human. Here it tends to be repetitiion and efficiency that is the giveaway. And you need to think about what input you are using mouse movement, etc..
Without knowning the algorithm the only hints I can give is if you have a set of human and non-human data you could try reading about either
Hidden Markov models
or Neural Networks
Hello,
I have a software-based project of using human recognition algorithm to detect an intruder and be able to differentiate if the intruder is human or non-human.
Any ideas on what recognition algorithms I could use?:)
Thanks!
This sounds like a computer vision problem. This is an ambitious project, though not at all impossible. Like @tetron suggested, you should do a lot of reading first. Then you might want to check out OpenCV. OpenCV is a powerhouse foss computer vision library that is really great at doing everything from linear algebra, to image processing, to object classification. It includes many machine learning algorithms including decision trees, support vector machines, and neural networks.
Yes :-). It is a very ambitious project. But I am aware of some of the recognition algorithms available, I just can't disern properly which ones would work better for the project. But I will do more reading like you both suggested.
@tetron: But for better clarity, here is a bit more of information. I will use neural net to train both the human data and non-human data to be able to differentiate in that case. But the process just before that is what I need help with... The idea is to:
Using sensors, pref motion detecting &heat-signature, & a camera. When the "intruder" gets into the room, camera records /captures the image. Then processes this image to discern if "intruder" is a real threat or just a dog. So this differentiation process is what I don't know if its image processing or ?
Hope you understand what I am aiming to achieve.
@dusktreader: I will check OpenCV out, sounds very useful.
Thanks for you help guys! (Just require a bit more :$ )
Using sensors, pref motion detecting &heat-signature, & a camera. When the "intruder" gets into the room, camera records /captures the image. Then processes this image to discern if "intruder" is a real threat or just a dog. So this differentiation process is what I don't know if its image processing or ?
If you are trying to identify a person in a situation where they might actively be trying to deceive your sensors then you have a simple shape recognition problem.
In the first instance you need to be able to process your data to convert it into chunks that you can use. Which means avoiding having to write you own codecs
So to modularize your problem it is probably simplest to assume that you have a single frame and want to identify whether there is a human in the picture.
First you have have your motion sensors that tell you that there is something in the room, these have limited recognition benefits but if you are using a neural net it does not hurt to add in a module that tries to decide if it is a person based purely upon the motion sensors.
The other two sensors you have produce a displayable image and it is easiest to use data that you can recognise as your input. This means a single .bmp image either taken from the infra-red or ordinary camera.
Now you can get ordinary cameras that just take a sequence of stills before then converting the output into avi, mpeg etc, this would be the most suitable choice for a surveillance camera so even if you cannot process your camera in real time their are alternative models available. Similarly the average web cam picks up the edge of IR and needs filters to hide the image.
So assume that you are using a web cam and then you convert this into a .bmp now you can use your specialist recognition software. The shape of the intruder is secondary to its size if you want say burglar alarm that doesn't go off for pets.
you want a preprocessor that can eliminate the background image from the foreground. Then for a neural network if you rescale the foreground image and split this into a grid using neural networks you should get about 88% recognition rates. If this is then combined with a scale then this should become much higher.
The neural network could be trained for different parts of the body as modules foot head.
However, the NN won't add much to your system and you may need to do your own implementation. If you want a more sophisticated recogniser so that certain people are ignored then you will need to run face recognition which operates on similar principles.
From a C++ perspective it is converting the camera data into stills and processing in real-time that will be demanding but if you limit your early design for just one type of camera you can get proof of principle results.
@tetron: Thank you very much. I will try that & when in any problems in future, I will let you know.
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.