Skip to content

GSoC 2014 Siva Prasad Varma Implementation of Image Registration Module

Siva Prasad Varma edited this page Mar 20, 2014 · 4 revisions

Sub-Organization: scikit-image

Contact Information

Name: Siva Prasad Varma Chiluvuri

Email ID: sivapvarma@gmail.com

Telephone: +91-9557020908

Time Zone: UTC+5:30 (IST)

IRC Handle: sivapvarma@irc.freenode.net

GitHub: sivapvarma

Skype Username: shivaprasadvarma

Twitter: sivapvarma

Home Page: http://sivaprasadvarma.in/

Blog: http://skimage-gsoc.blogspot.in/

GSoC Blog RSS Feed: http://skimage-gsoc.blogspot.com/feeds/posts/default

University Information

University: Indian Institute of Technology Roorkee

Major: Electronics & Communication Engineering with Specialization in Wireless Communication

Current Year: Fifth (Final)

Expected Graduation Date: June 2014

Degree: Integrated Dual Degree (Bachelors + Masters)

Contributions to scikit-image:

Proposal Title:

scikit-image: Implementation of Image Registration module

Proposal Abstract

Image Registration is an important part in many image processing applications like Image Stitching, Remote Sensing and Super Resolution. This project aims to add a registration sub-module to scikit-image that implements both spatial domain and transform domain registration methods

Proposal Detailed Description:

Image Registration methods fall under two Categories: Spatial domain & Transform domain methods. Spatial domain methods operate in the image domain, matching intensity patterns or features in Images. Thus spatial methods can further be classified as dense registration and sparse registration. In dense registration methods, similarity metric like SSD, SAD and Normalized Cross Correlation(NCC) can be used with uni-modal images while Mutual Information used for multimodal images (for eg. MR and CT in medical imaging). In sparse registration(feature based methods), the Homography is estimated from correspondences. The correspondences can be found using a Brute Force Matcher (skimage.feature.match_descriptors) or a Nearest Neighbour solver. RANSAC is used to remove the outliers. Transform domain methods find the transformation parameters for registration of the images while working in the transform domain. Phase correlation and log-polar registration fall under transform domain methods.

Deliverables:

  • dense registraion using Mutual Information, NCC, SAD, SSD similarity metrics
  • sparse registration
  • log-polar registration
  • Phase correlation

A majority of these methods are implemented in either [1] or [2].

Implementation Timeline:

Community Bonding Period (21st April - 19th May):

  • Discuss implementation details and decide the communication and reporting protocol with mentors
  • Read papers in references thoroughly
  • Decide on the API of registration sub module.
  • Understand imreg & supreme.register codebases

Week 1, 2 (19th May - 1st June):

  • Implement dense registration
    • SSD, SAD, NCC
    • Mutual Information

Week 3, 4 (2ndJune to 15th June):

  • Implement dense registraion
    • Mutual Information
  • Implement Sparse registration
    • Least square estimation via direct method.
  • Add documentation & examples

Week 5 (16/June to 22/June): Mid Term Evaluation

  • Code clean up
  • Documentation & adding examples
  • Buffer time for backlogs

Week 6, 7, 8 (23rd June - 6th July):

  • Implement Sparse Registration.
    • least square estimation via Iterative method.
  • Implement Phase Correlation[5]

Week 9, 10 (14th July to 27th July):

  • Implementation of log-polar registration[6]

Week 11, 12 (28th July to 10th Aug):

  • Code optimization, cythonize if needed.
  • Add examples and documentation

Week 13,14 (11/Aug to 21/Aug): Final Evaluation

  • code clean up
  • Buffer period to complete backlog

Post GSoC

  • Image Stitching algorithms

Other Schedule Information

I am free for the entire summer except for three days in june when I travel from my college to home and three days in july when I'll go to Bangalore. I'll try to schedule these mostly in weekends, if not possible I'll code during weekends.

Additional Info:

Resume: http://sivaprasadvarma.in/spv_cv.pdf

References

  1. imreg repository on GitHub

  2. supreme repository on GitHub

  3. Viola and Wells, Alignment by Maximization of Mutual Information, IJCV 1997

  4. Szeliski, Image Alignment and Stitching: A Tutorial. TR MSR.

  5. Reddy & Chatterjee, An FFT-based technique for translation, rotation, and scale-invariant image registration

  6. Zokai & Wolberg, Robust Image registration using log-polar transform

  7. Zitova & Flusser, Image registration methods: a survey, 2003

  8. Brown, A Survey of Image Registraion Techniques