JuliaImages / Images.jl

An image library for Julia
http://juliaimages.org/
Other
533 stars 141 forks source link

Contribute to JuliaImages through GSoC 2019 #774

Closed Deepank308 closed 4 years ago

Deepank308 commented 5 years ago

Hello All, I am Deepank Agrawal, a 2nd year undergrad. student at Indian Institute of Technology Kharagpur, India. I am very much interested in contributing to JuliaImages as my GSoC 2019 project. I propose to work on implementing Image Processing and Computer Vision algorithms in Julia language. Can also contribute on any other interesting related idea. I have some experience with Image Processing and Computer Vision in OpenCV with Python and C++. Currently, I am learning how to use Julia. How should I start with the project? Please help @zygmuntszpak @timholy Thank you.

timholy commented 5 years ago

Welcome Deepank! We'd love to have you. The best place to learn about what's available is at https://juliaimages.org/latest/. I'd then suggest playing around with some demos in an area related to your interests. As far as building towards a GSoC project goes, there could be two outcomes of that:

Either of these would let you get your feet wet with regards to contributing to the ecosystem. I look forward to seeing what you come up with!

Deepank308 commented 5 years ago

I was going through the JuliaImages GitHub. I found ImageTracking.jl to currently have only two algorithms implemented. I have a keen interest in contributing to tracking package. I also have a good interest in Stereo matching and will love to contribute to it too! So, how should I start with them? ping @timholy @zygmuntszpak

zygmuntszpak commented 5 years ago

Hi Deepank,

thanks for your interest and enthusiasm. We could certainly use your help with the ImageTracking.jl package. For example, there is a rough outline of a MedianFlow implementation which was written for Julia 0.6 which needs to be brought up-to-date and probably refactored considerably. You could use the current pull-request for MedianFlow as a basis for a new implementation. Having said that, I think that the MedianFlow algorithm is relatively complicated and may not be the best thing to start with if you are new to Julia.

My suggestion is that you start by contributing some convenience functions. For example, in the README file I have a few lines of code which produce a visualisation of dense flow vectors in HSV space. That functionality should go into its own function in some kind of utility.jl file.

There is also currently no convenience function for computing the error between the ground-truth flow and the estimated flow. There are a few standard ways of comparing the error in the literature, so you might start by implementing a few of those.

It would also be very helpful to have some way of plotting the flow vectors as a quiver plot. Perhaps there is a way to do this with the Makie.jl package. I haven't had time to investigate this and would appreciate it very much if you could figure out how to do this and perhaps write a convenience function for that as well.

Deepank308 commented 5 years ago

@zygmuntszpak I was going through the ways of computing the errors between the ground-truth flow and the estimated flow, I came across 4 such standard ways(as mentioned here) namely: 1) endpoint error, 2) angle error, 3) interpolation error, 4) normalized interpolation error. I read here that endpoint error estimation is used mainly for Computer Vision tasks while the interpolation error is used in video encoding. So I should implement endpoint and angle error only, right? I am referring here to get an idea of standard error computation ways.

Deepank308 commented 5 years ago

I am applying for Google Summer of Code 2019 in JuliaImages. I have prepared the first draft of my proposal. Here is the link to the proposal. I’m still deciding about the timeline. I request all the developers to kindly take some of their valuable time to review it and suggest changes. Any feedback regarding the proposal is welcomed and will be highly appreciated. Ping @timholy @zygmuntszpak @juliohm @arijitkar98 @tejus-gupta

johnnychen94 commented 5 years ago

Hi, I found this in https://julialang.org/soc/guidelines/, not sure if you’re aware of this, but I think it’s worth pointing out.

Our organization does not have page or formatting requirements, but we recommend building a formal PDF document of less than 10 pages which is formatted using Word or LaTeX.

BTW, Your proposal looks really nice!

Deepank308 commented 5 years ago

Thanks @johnnychen94 for sparing some time and having a look into it!! I am already aware of the guidelines, but unfortunately was unable to compress it within 10 pages or so.

BTW previous year proposals(which I have seen) were also quite lengthy(~20 pages) so I don't think there will be a problem with the length.

Thanks for the compliment btw!!