Make split_and_compare_prnus_of_subgroups.py
compatible with RAW images
#59
Labels
No Label
bug
Context-Adaptive Interpolator
duplicate
enhancement
epic
help wanted
high priority
invalid
left for future work
low priority
medium
medium priority
meta
question
quick
wontfix
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Benjamin_Loison/Robust_image_source_identification_on_modern_smartphones#59
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Trying to focus on 23/04/24 Rafael images, verifying that there are 253 as claimed.
3552 - 3294 + 1 = 259.
So a bit more than claimed but it is the same order of magnitude.
Let us check my notes and manually check if I notice differences. There is nothing to declare both in my notes and after having manually checked for this range of images.
Estimated PRNU with wavelet denoiser:
Modified brightness and contrast:
We observe small circles and greater ones specific to the lens but as before (see issues/49#issuecomment-1693) lines artifacts but here also blocks, maybe due to the denoiser method, I am running other denoisers to investigate. Note that small circles match with those that we see on initial images.
Also note that we notice lens circle on the initial images, here
DSC03552.JPG
:Estimated PRNU with mean denoiser:
Similar results except no more blocks:
Modified contrast and brightness:
Estimated PRNU with bilateral denoiser:
Modified contrast and brightness:
Avoid precising in b0fa01c6c4e2a6d0afb6cbd096e49c4a522e638d:
At least the two consecutive executions returned an identical list.
shows that the program is
Killed
probably because of insufficient RAM.I verified the usage of
subgroupIterativeMean = subgroupsIterativeMean[subgroupIndex]
with:When will compare 2 devices estimated PRNUs the resolution will matter, could for instance consider only the minimal resolution of both devices. Note that corners may introduce a bias as for one device using the minimal resolution may contain all the corners and not for the other.
Concerning what is planned, that is RAISE flat-field and Rafael 23/04/24:
Interesting fields found manually seem to be:
Should check actually with
rawpy
.RAISE flat-field:
(3280, 4948)
Rafael 23/04/24:
(4024, 6024)
RMS between estimated PRNU of 2 subgroups of raise flat-field TIF using wavelet denoiser:
PRNU subgroup 0:
Contrast and brightness modified:
PRNU subgroup 1:
So the blocking artifacts maybe comes from TIF usage.
Forgot to add to 80a33428d6993bcd25c107bf4461d40df7d5244b:
Related to Benjamin_Loison/rawpy/issues/3.
Maybe
mergeSingleColorChannelImagesAccordingToBayerFilter
is not optimized.RAISE flat-field raw images wavelet denoiser PRNU estimation among 2 subgroups:
RAISE flat-field raw images bilateral denoiser PRNU estimation among 2 subgroups:
Not the same y axis scale but seems smoother.
A bit surprising that do not have as good estimated PRNUs as expected.
In fact it seems that it is because I forgot the [0, 1] rescaling before denoising. Also suspicious that do not have low y-axis values as above.
Otherwise denoting on the x-axis the images considered could help, also for reproducibility and better comparison. Well in fact there are 2 subgroups with different images each, so it is not as clean as I initially had in mind.
RAISE flat-field raw images bilateral right green denoiser PRNU estimation among 2 subgroups:
With corrected RAW image denoiser:
RAISE flat-field raw images wavelet denoiser PRNU estimation among 2 subgroups:
Modified contrast and brightness:
RAISE flat-field raw images bilateral denoiser PRNU estimation among 2 subgroups: