# Blind source separation on images - with a known source

A camera outputs an image $A$ that is a linear combination of two uncorrelated images $B$ and $C$:

$$A = B + kC$$

Images $A$ and $C$ are known; the unknowns here are $B$ and a scalar coefficient $k$ that varies the intensity of $C$.

Is there a way to retrieve $B$? I could use $A$ and $C$ as separate sources and apply the ICA algorithm, but I think that it's an overkill in this case, and there should be something simpler. Any suggestion? (I'm using OpenCV to process the images, but I can implement non-OpenCV algorithms if I need to.)

## 1 Answer

You already know one of the sources here, so you don't need ICA.

There are infinitely many couples $k$ and $B$ that verify: $$A = B + kC,$$ but in your case if you assume that $B$ and $C$ are uncorrelated, we can choose the solution that minimizes the correlation between $B$ and $C$.

Using the previous equation and the linearity of the correlation operator, we have: $$\text{corr}(A,C) = \text{corr}(B,C) + k \text{corr}(C,C)$$

So you need to find $k$ that minimizes $(\text{corr}(A,C) - k \text{corr}(C,C))^2$, which is simply:

$$k = \frac{\text{corr}(A,C)}{\text{corr}(C,C)}.$$ And finally: $$B = A- \frac{\text{corr}(A,C)}{\text{corr}(C,C)}C$$

• Thanks for your reply LucasR - I implemented it, but I noticed a few strange things and I'd like to check if I've understood your answer correctly.As a corr(X,Y) operator I used Pearson product-moment correlation coefficient, but then corr(C,C) should always be equal to 1, and so it can be canceled from the equation... Also, corr(A,C) returns values between -1 and 1, right? – Vorbis Jun 8 '16 at 17:54