Is it possible to detect human body parts from images? - opencv

Is it possible to detect body parts such as head, shoulder, hand, leg, foot from a single image with OpenCV or other image processing libraries?
Front
Side
If possible please provide examples or tutorials, thanks in advance.

Human body part detection is an open field in research. Therefore it is not as easy as adding some magic method from opencv. However there are some approaches that work reasonably well.
Here are some examples: http://202.118.75.4/lu/Paper/T-IP/Pose%20Estimation%20with%20Segmentation%20Consistency.pdf, http://www.wineyard.in/Abstract/mtech/DIP/2015/bp/15D013.pdf,
https://lirias.kuleuven.be/bitstream/123456789/511304/2/3962_postprint.pdf
Anyways it is definitely tricky to get this right and it will certainly fail in some cases.

Related

How can I go forward with this image processing task?

I am totally new to Image processing. I just started my Master thesis in the area of Computer vision and Machine learning. My background is Informatics. Now, my first task is to register the images of some fishes(Image registration) as they come out of water. I have got stream of images and I want to come up with a model of the fish by aligning the temporally different images of a fish. As, I can understand, I will have to fist of all remove the background and water from the images to work on just fishes, am I right?
Can anyone give me a brief idea of how I should go forward or the things I should read first before I can understand the things. For example, should I read the basics of Image Processing, Feature detection, Image segmentation....? and regarding the programming language I can use - one where I can find good libraries, forums, other help.
I would be really grateful, if anyone can help. Thanks.

Applying various effects to images

I know how to apply two effects to images -- blurring and making them grayscale. However, I would like to expand my knowledge further and learn more things of this nature.
I decided to Google them but found out that I do not even know what they are called.
I would like to ask: How do I progress further into image processing?
Image processing is a very big area with many applications.
These applications go from medical imaging, data compression and many
commercial applications like the ones you find in photoshop.
Without knowing where you are going to apply image processing, I assume
that you want to learn for the sake of curiosity :).
Today we have lots of online courses that make learning more easy.
I did an image processing course by Guilhermo Sapiro on the coursera
website that helped a lot https://www.coursera.org/course/images .
The course has already ended but the video classes are also available
on youtube. http://www.youtube.com/watch?v=GWCB3pKi2ko ( One about histogram equalization
you can see others on the related videos)
Another source is the amazing book by Rafael gonzales calle Digital Image Processing.
If you're looking for a website solution this is a good guide to how to use the css filter effect: http://www.html5rocks.com/en/tutorials/filters/understanding-css/
If you're looking for something else, I think more detail on your application is needed.

How to compare a webcam image/video to a specific image/video?

I am basically just starting out in computer programming; mostly fluent in basic Java. I have an idea of creating an ASL (American Sign Language) to English, and my initial problem is how to identify hand movement from a webcam then comparing them to Signs that is already stored as an image or another video. If the problem is a bit too advanced for me then please list any major concepts that I can learn. Please and thank you.
You clearly have a challenging problem ^^. Try to explain all you need to solve your problem would be very hard, mainly because there many ways to do this. I advice you to read a nice book about image processing (Gonzalez' book is a nice choice) and the OpenCV documentation (but it is implemented in C, C++ and has Python bindings; although it's a library that implements a lot of image processing techniques). Maybe you should focus your study on feature detection, motion analysis and object tracking. As sign language uses not just hand sign (static state) but also hand moviments (dynamic state) to express something, object tracking may be a good way to describe the signs.I hope these informations help you, at least a little -^.^- Bye bye.
Look at OpenCV. They have a lot of libraries that you might find handy.
http://opencv.willowgarage.com/wiki/

Open Source way to real-time image processing OCR application? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I have an application in mind that I want to produce. We have wall-mounted schedule boards that are divided into small rectangles using black lines on a white background. Magnetic name tags are placed into a particular partition to indicate this person is to work in that cell. This system works very well for communication among people, but I would like an automatic way of saving this schedule information into a database automatically.
I am envisioning a system where a camera is set in a fix position focusing on the schedule board. Periodically the camera will take a picture of the board. I want to write some code to decipher which name tags are in which area. This would require some OCR or symbol recognition. There are big numbers on each name tag that I will use to identify the person whose name tag it is.
I naturally go to Python when tackling a new programming problem. I found this post -> python image recognition which looks like a good place to start (with PIL and numpy).
Do you know a good way to do this?
Update: I have tried SimpleCV and it seems good for now.
This is actually a pretty hard problem, even though it looks quite simple. But you can make it a lot easier by doing some stuff to your image to make this manageable. I have the following suggestions:
Try to make it so that your camera is looking straight at the board with a reasonable lens so that there is minimal distortion of the image on the edges, and no perspective distortion.
Given that you'll be shooting the occasional image for analysis I think performance is in no way an issue, so shoot high-resolution images, with a flash or with a long exposure time (because everything you're shooting is stationary) to get the best possible picture quality.
If the number of different tags you expect is not too large you might find it easier to just try to match reference images of these tags in your image through template matching rather than going for full OCR of numbers. This is a lot easier to get working if your image is good enough. The python opencv interface is very complete.
High Performance Mark has a good comment to your question about including barcodes on the tags. I would add the option of QR codes, but that is just the same thing. Both are easy to detect and there are good libraries to help you read them.
If you decide you do need OCR, you should look into available OCR packages and not try to roll your own. Try pytesser for the tesseract engine or the OCRopus python interface.
Since you mentioned that you would like to use Python for this problem, perhaps you could take a look at SimpleCV. It will provides you an easy way to grab the image from the camera and do basic image processing.
I strongly agree with jilles de witt that OCR would be an extremely hard image analysis task to develop from scratch. Code reading would be a better option, but that also will be difficult to program and will require sophisticated or somewhat challenging imaging as others have noted. However, for this app you really do not need to implement OCR or formal bar codes, QR or other 2d codes.
Since your application is constrained to a limited number of targets, perhaps you could make your own simple code. For example, you could place 0 to 4 big dots in a 2x2 array after each person's name. This simple example code uniquely identifies 16 unique tags, and the features will be much easier to image, extract and decode than formal codes. Add a locator line if the code position is not consistent.

Player/Stage Path Planning

So I have map and config files that represent the world in which my robot is going to be trying to get through. My robot has to get from the top left corner to the bottom right corner of the map without hitting any of the obstacles. I am allowed to work with the map data before sending the robot on it's journey to try and implement path planning.
I have done some research and understand the whole 'Minkowski Sum' concept, as well as the 'Cell Decomposition' techniques, however I am not exactly sure how to work with the map and config data provided by player stage and apply these concepts and use them to get through the maps.
As far as what the robot is, there are 3 different robots. A point robot, and then two more robots (one with 2 degrees of freedom and one with 3), that are rectangular in shape.
Can anyone point me to some example code or something that explains this from a player/stage standpoint? So far I can only find real general things which help me grasp the concepts but not how I would implement them in player/stage.
Thanks guys,
Scott
Scott I'm writing a Motion Planning library that will incorporate pretty much everything you've stated. So far it's using a Coarse (a.k.a Grid) Decomposition. It is written in ActionScript3 and is in very early stages but hopefully it will help. Take a look: http://code.google.com/p/moterpolate/

Resources