Hello! I just saw your project and am delighted to work on it. I just completed a similar work on palette based image recolouring for a project and offering an improvement on time scale. Your clear description seems serious business, and I'm interested in working on it.
I have selected Yang et al and Zhang et al for your project.
Regarding your project:
1) segmentation_module(#colors) We shall use PCA to extract primary colors of the source image, that is, which contain most of the information and represent each pixel color intensity faithfully. The #colors form the output palette.
2) palette_module(user_choice) User selects the palette or any other color replace the palette's correspondence
3) recolouring_module(user_palette) The pixel values in output image is a summation of weights and palette colors (weighted sum) . To maintain non-negative values we penalize <0 values. We solve the optimization problem with RANSAC or BFGD, if normal equation is possible (invertibility issue), shall look into it
Deliverables:
code + assistance , we shall use opencv with node.js as the current best practice (let me know your thoughts)
About me:
Just another research student in images processing and machine learning, C++, OpenCV, Python and MATLAB, occasionally JavaScript (not used in application development these days, just deployment)
Kindly let me know, message me whenever you're free. If I'm not online shall reply ASAP.
Thank you! Have a great day!