Hello it’s me again. I am currently working on a research project and i thought i would share my research. I am going to be talking about image source identification. For the sake of discretion i will only be scratching the surface of my work. Just a short exposition of what it is about.
Now, Imagine, an ongoing court case and the prosecution presents, as evidence, some images that allegedly places the defendant at the scene of the crime, or worse, holding the murder weapon. The defending council is then faced with the task of certifying the authenticity of that image. It is decided that, as a way to achieve this, the source of the images be ascertained. That is, identifying which camera or cameras that took those images.
The problem of image source identification has gained a lot of attention over the years as it serves as a viable means of authenticating images in the field of image forensics. To this effect, various methodologies have been developed to solve this problem, all of which are based on different aspects of the image processing pipeline.
There has been several methodologies developed to solve this problem most of which have focused on 2 aspects of the digital camera which are the image sensor – that converts analog light signals to digital electrical signals – and the Color filter array. My work is focused on the image sensor.
Because of some impurities present in the silicon wafers used to make image sensors, some imperfections or noise are introduced into images as they are generated and some methodologies have used these noises as a way to map images to their source camera. Research has shown that some of these noises are actually unique to manufacturers and sometimes even to models of the same manufacturer.
I will explain my methodology in as simply as i can since, like i said before, i am trying to maintain discretion. Traditionally the most dominant of the noises called the Photo response non-uniformity (PRNU) is extracted from the image and is compared to a reference Pattern of different cameras. The pattern that is most similar to the extracted PRNU is the camera that most likely took that image. Now some of the ways the PRNU is extracted include Maximum Likelihood Estimation and Wavelet denoising.
In my work, i am trying to group images together such that images in the same group are most likely taken by the same camera. I am extracting the PRNU, from each of the images in my dataset, and using it alongside the other noises present which is called (contaminated-PRNU or POL-PRNU) and i am extracting it using a wavelet denoising filter. After the extraction i will then compare the each of the extracted POL-PRNUs with the other ones assigning a score that depicts how similar they are. This will yeild a matrix of correlation that will then be used to cluster (group) the images accordingly.
I chose to implement this in python because it has a lot of useful libraries such as Scikit-Image, OpenCV, Scikit-Learn, Seaborn and so on.
I hope to publish my work soon as i am done with it.
Now i realize this all might be a little technical but that is entirely my fault. I am not too good at explaining technical stuff.
Well thanks for reading.