The method interpolates the spectral data instead of measuring it. Thus it is a mock-hyperspectral data conversion from RGB to a plausible hypercube. Plausible means a linear solution with internal consistency.
@@claudioabado3317 I would like to know which part of my comment you have trouble aggreeing with: 1) Do you agree that tha regular RGB camera is incapable of capturing an image in more than three spectral channels no mater how much one postprocesses the signal ? 2) Do you agree that the solutions that this method builds are mock-ups of the real hyperspectral sygnal ? 3) Do you agree that the solutions this method builds are linear interpolations ? The (1) is hardest for me to expand upon and most futile if you don't agree. The most effective way would have been a reproducible counter-example experimant that one can repeat untill they get the point. So that they would argue not with me, but with the counter-example.
Hi. I want to try this method and have few roadblocks. I didn't understand the concept of linearizing of RGB matrix. Also where can I get the values of M ? Is it something I construct myself or available to use?
Hey Harsha, So you have to fit a relationship between the Y/Y0 (Y is the tristimulus value of the neutral samples and Y0 is the tristimulus values of the light source. ) of the neutral samples of your color chart and their corresponding digit count for each channel separately. This is usually a polynomial equation. Lets say this is for red channel: Y/Y0 = b2 + b1(R/Rmax) + b0(R/Rmax)^2. Now you have to put all the RGB values of other patches on you color chart through this equation, replacing them with R/Rmax, which result in their values being linearized. Matrix M is obtained through R ×pinv( RGBlin), where the Matrix containing the spectral reflectance of the color chart is being multiplied by the pseudo-inverse of the matrix containing the linearized RGB camera response! I hope this answers your question. If not, please email me and I could share with you some papers.
I think it's DOI 10.1002/col.22231 A Wiley research article called "A strategy toward spectral and colorimetric color reproduction using ordinary digital cameras" 🤯
Hi, I am keen to have a go at this method myself, however, I have a question about the matrix multiplication. In the video you state M = R * pinv(RGBlin) ; this is a multiplication of 24x31 and 3x24 matrix (not possible!). Do you mean M = pinv(RGBlin) * R ? Resulting in M being a 3x31 matrix to convert from 3 to 31 bands? Still a really good video however! :) Thanks
Yes, I might have made a mistake. You just have to make the size right so the size of matrix M becomes 3 by 31, as you said! Thank you so much for pointing that out!
@@SwithinFeely All methods are indeed… you have to be cautious with choosing a good training data. The training data should be a good representative of the testing data. That way, the amount of loss goes down.
You are simply incredible Morteza.
The method interpolates the spectral data instead of measuring it. Thus it is a mock-hyperspectral data conversion from RGB to a plausible hypercube.
Plausible means a linear solution with internal consistency.
Can you expand?
@@claudioabado3317 I would like to know which part of my comment you have trouble aggreeing with:
1) Do you agree that tha regular RGB camera is incapable of capturing an image in more than three spectral channels no mater how much one postprocesses the signal ?
2) Do you agree that the solutions that this method builds are mock-ups of the real hyperspectral sygnal ?
3) Do you agree that the solutions this method builds are linear interpolations ?
The (1) is hardest for me to expand upon and most futile if you don't agree. The most effective way would have been a reproducible counter-example experimant that one can repeat untill they get the point. So that they would argue not with me, but with the counter-example.
Very informative!!
Hi. I want to try this method and have few roadblocks. I didn't understand the concept of linearizing of RGB matrix. Also where can I get the values of M ? Is it something I construct myself or available to use?
Hey Harsha,
So you have to fit a relationship between the Y/Y0 (Y is the tristimulus value of the neutral samples and Y0 is the tristimulus values of the light source. ) of the neutral samples of your color chart and their corresponding digit count for each channel separately. This is usually a polynomial equation. Lets say this is for red channel: Y/Y0 = b2 + b1(R/Rmax) + b0(R/Rmax)^2. Now you have to put all the RGB values of other patches on you color chart through this equation, replacing them with R/Rmax, which result in their values being linearized. Matrix M is obtained through R ×pinv( RGBlin), where the Matrix containing the spectral reflectance of the color chart is being multiplied by the pseudo-inverse of the matrix containing the linearized RGB camera response! I hope this answers your question. If not, please email me and I could share with you some papers.
I think it's DOI 10.1002/col.22231
A Wiley research article called "A strategy toward spectral and colorimetric color reproduction using ordinary digital cameras" 🤯
@@007hansen That is actually my own paper! Thanks for looking it up :)
Hi, I am keen to have a go at this method myself, however, I have a question about the matrix multiplication. In the video you state M = R * pinv(RGBlin) ; this is a multiplication of 24x31 and 3x24 matrix (not possible!). Do you mean M = pinv(RGBlin) * R ? Resulting in M being a 3x31 matrix to convert from 3 to 31 bands?
Still a really good video however! :) Thanks
Yes, I might have made a mistake. You just have to make the size right so the size of matrix M becomes 3 by 31, as you said! Thank you so much for pointing that out!
surely this is still lossy?
@@SwithinFeely All methods are indeed… you have to be cautious with choosing a good training data. The training data should be a good representative of the testing data. That way, the amount of loss goes down.
thanks for nice explanation but it really upsets me!
How can we turn an ordinary digital camera into a hyperspectral camera? Give some other title.
Thank you for the comment!! What should the title be you think?