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.
Related
First, you need to know that I'm a beginner in this subject. Initially, I'm an Embedded System Developpers but I never worked with image recognition.
Let me expose my main goal:
I would like to create my own database of Logos and be able to
recognize them in a larger image. Typical application would be, for
example, to make a database of pepsi logos and coca-cola logos and
when I take a photo of a bottle of Soda, it tells me if it one of
them or an another.
So, here is my problem:
I first wanted to use the Auto ML Kit of Google. I gave him my
databases so it could train itself on it. My first attempt was to
take photos of bottle entirely and then compare. It was ok but not
too efficient. I then tried to give him only logos but after
training, it couldnt recognize anything in the whole image of a
bottle.
I think I didn't give enough images in the first case. But I'd prefer to use the second case (by giving only logo) so that the machine would search something similar in the image.
Finally, my questions:
If you've worked with ML Kit from Google, were you able to train a
model by giving images that should be recognized in a larger image?
If yes, do you have any hints to give me?
Do you know reliable software that could help me to perform tests of this kind? I thought about Azure Machine Learning Studio from
Microsoft (since I develop on Visual Studio).
In a first time, I'd like to code as few as I can just for testing. Maybe later I could try to code my own Machine Learning System but I think it's a big challenge.
I also thought that I would need to split my image in smaller image and then send each of this images into the Machine but it would be time consuming and I need a fast reaction (like < 2 seconds).
Thanks in advance for your answer. I don't need complete answer with full tutorial (Stack Overflow is not intended for that anyway ^^) but just some advices would already be good.
Have a good day!
Azure’s Custom Vision is great for this: https://www.customvision.ai
Let’s say you want to detect a pepsi logo. Upload 70 images of products with the logo on them. Use Custom Vision to draw a box around the logo for each photo. Click “train”, and you get a tensorflow model with code.
Look up any tutorial for it, it’s pretty incredible and really easy to use.
I am trying to make a photo editing application for iOS, but am not sure where to start looking. I have attached an image made in Word... that hopefully simply depicts what I am trying to achieve. It will involved manipulating individual pixels of a shape/image and masking/clipping. WHow should I start and what resources are available to me other than the developer docs?
Cheers
If you are not new to programming I would suggest a trial and run kind of approach. If it was me, I would follow a approach like this
Figuring out what to do/ what not to do
Do I need to develop the tech I want from scratch or can I use some pods ?
What are the good reads and example apps - (Try this)
Development approach
Build a photo gallery to pick images from
Build a EDIT mode screen
Get set of template overlay images
Figure out how to overlay them on top of each other
Export the final picture as one picture
The developer documentation is essential when it comes to learning new APIs, but sometimes it can be a little overwhelming. You can try reading raywenderlich.com tutorials on Core Image first to get an idea (link here) or find a book on computer graphics. It is essential to understand at least the underlying techniques to efficiently program image processing code. In many cases you'll find there is a more elegant technique than just looping on pixels and modifying one-by-one.
Then you can continue with reading on image compositing using core image for example.
I have been investigation a little about image recognition, But Haven't found something useful for me yet.
For my Wife who Is a Dentist that has to make his Tesis, I need to make an App that recognize all teeth Shape from a picture taken at standard conditions.
I need to find the best match based on teeth pattern predefined to categorize and see which match best. I know this is a big issue and not a simple solution.
Does someone know an image recognition software that makes me able to give it a a number of patterns, and then have an image and see wich pattern fits the best? Or maybe just some orientation to start searching and working on solving this problem.
Thanks!
OpenCV would be the way to go here but let me give you the facts before you start ripping your hair out.
I don't know your development experience but although OpenCV has an iOS wrapper you will be working with low-level, C libraries. If that makes you uncomfortable then turn back now. Furthermore, you will be writing the majority of the recognition/detection algorithms yourself and it takes a lot of time and patience to get these to the point where they work to an extent. Additionally, don't expect the end product to be all that reliable, professional image recognition/manipulation tools take years of development by teams of experts in computer vision. No disrespect but something that has been hacked together over a few weeks by one person will be sub-par and lacking.
Nonetheless if you want to go ahead, you can download OpenCV for iOS here:
http://docs.opencv.org/2.4/doc/tutorials/introduction/ios_install/ios_install.html
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.
I'm making an online display of the output of a computer vision algorithm. After running the algorithm I am left with a folder of about 1000 16 bit .tiff files. I need to put those on the website in a list for so that the researchers can click through and find the list. Also there needs to be an image frame with an "animated gif" feel that can be started stopped and played in reverse. Any ideas on the best way to do this? What language to use? I made a simple website in Ruby on Rails but I don't know if it has the capabilities to do what I require.
ImageMagick is the answer to both parts of your question. Here's a tutorial on how to make an animated gif with it.