What are the basic computer vision algorithms to start with for a beginner, which can be implemented as JAVA project?
-
I am just graduated and confused about my majors for MS. I just wanna get a feel of computer vision algorithm, so i want to start implementing some algorithm. I have a basic knowledge of SIFT and RANSAC, but have no clue about implementation details. Can anyone guide me, with which algorithms should i start and what can be a basic project to start with in computer vision? I was thinking of a project like a simple object path tracking or converting series of images into panaroma view. Can anyone help me what can be a basic one month project for a beginner with insight of computer vision?
-
Answer:
1. Implementing Harris Corner Detection would be a good choice to begin with, as it deals you with a lot matrix theory, feature extraction mechanisms, convolution theorem and all other good stuff to get you familiar with basic Computer Vision concepts. Instead of using readily available tools, one should compute all gradients, eigenvalues himself to get into the notion of how a feature detector works. This magical algorithm has given a big inspiration for further research in the field. 2. Then go for Shi & Tommasi feature detection which mostly relies on Harris but reduces the computation cost mostly and gives better results with some images and videos. 3. After Shi & Tommasi, you can look for Shi & Tommasi feature tracker, which detects a Shi & Tommasi corner in the first frame and tracks them all in subsequent frames. This will be funnier than above 2 as you will find yourself in front of the webcam swinging when evaluating your implementation. Check Lukas & Kanade tracker. 4. Simple object tracking requires to detect a simple object and track it in subsequent frames which now you are familiar with. You can develop a blob detector & tracker by imitating regionProps command in Matlab. You can detect a circle like area -which is the green ball you use for example - in the frame and track it by template matching.
Mert Kilickaya at Quora Visit the source
Other answers
All Rights Reserved©. Nothing is more important than Passion! MATLAB® is the first recommendation platform, and C/C++ are also known to have related libraries like OpenCV and stuff. I come across this nice book written by a Microsoft® Research Vision Guru. And the best part, the digital version is free for grab on http://www.springerlink.com/content/m54153/®( or via your university library ). http://szeliski.org/Book/ It covers many great and up-to-date topics with detailed supplementary. And here comes my quick advice: 1. Panorama Stitching 1.1 Harris Detection.( or SIFT or anything that you wanna play with ) orientation SIFT looks like this in the book: 1.2 RANSAC.( many variations, pick one you like or make your own ) 1.3 Transform those images. 1.4 Merge with Blending. 1.5 Enjoy! 2. K-means, mean-shift Segmentation 3. Spectral Clustering 4. to be continue if you want.. Hope that jogs your passion and helps! Acknowledgement: Adobe® Data-set.
Yanliang Han
Read this: http://programmingcomputervision.com
Michael May
Note: If your goal is tracking objects through multiple frames, follow the suggestions of . My suggestion are only for additional exercises, as these won't be useful for object tracking at all. Hough transform, and Canny edge detection are very basic fundamental algorithms which you can implement on your own. The hysteresis thresholding in Canny edge detection will be slightly more involved, because it may require a connected-component algorithm depending on your choice of technique. Binary (foreground only) connected component is also a very useful exercise. Learn about the Union-Find algorithm (Disjoint-Set data structure) which is necessary to get a connected component running at a decent speed. http://en.wikipedia.org/wiki/Disjoint-set_data_structure Connected component contour is another very useful technique. Finally convex hull.
Ryan Wong
Related Q & A:
- What is a great idea for an Android or Java project?Best solution by 1000projects.org
- Which is harder to learn for a beginner - skiing or snowboarding?Best solution by Yahoo! Answers
- Can you suggest me some project for computer science?Best solution by Yahoo! Answers
- Which skis should I buy for a beginner?Best solution by Yahoo! Answers
- Is there a way I can improve my vision?Best solution by doctoroz.com
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.