green atifacts with denoise profiled
Attached is a CR2 with the corresponding .xmp.
The image has some noise. When a wavelet denoise profile is activated there is lot of green appearing on the fur of the gorilla.
Don't think this is expected. Looks like a bug to me.
It has been reported by a friend using 1.6.8 and I have been able to reproduce with the Git master version.
Note that I have deactivate the 7D denoise data and recompiled dt to use the generic profile and I have the same issue. So it does not look like an issue with the specific profile for the 7D.
denoiseprofile: fix anscombe transform
processed_maximum does NOT always holds the white balance multipliers.
Sometimes, all 3 processed_maximum values are equal to the higher multiplier.
We want to have an anscombe transform adaptive, that takes white balance into account.
Indeed, a white balance coeff >1 on blue means that the blue is affected by the noise
like if the shot was taken at an higher ISO value that the current one.
The code now take into account such differences that occur between the channels.
Considering the "2.0" coeff that was here in wavelets mode:
the noise distribution is independent of the number of pixels, thus we should not
have such coeff, even if there are 2 times more green pixels than red or blue on
a bayer matrix.
#1 Updated by Joe Giampaoli over 3 years ago
- File Screenshot - 12162015 - 03_56_08 PM.png added
I have this very same issue with self made profiles on my Canon SX510. I noticed it at first on the fur of a Squirrel. I just thought maybe it's my profile, not perfect. My profiles denoise very well actually, but now that I saw this bug report it got me thinking. One small work around is that if I choose "linearRec 709" on the input color profile these green artifacts seem to diminish a bit, then I can increase the saturation and colors because that input profile is very flat.
And yes, this only happens with wavelets denoising.
Attaching screenshot of what I see. Just above the eye of the squirrel and on the head you can see that greenish tint artifacts.
#4 Updated by Joe Giampaoli over 3 years ago
- File Screenshot - 12222015 - 03_30_49 PM.png added
Pedro Côrte-Real wrote:
Do you happen to have opencl enabled? Does it change if you disable it?
In my case it seems it's enabled but I can't disable it. The check-mark is like greyed out but active. I believe I have openCL installed right in Debian, but maybe the openCL packages are too old?
#6 Updated by Joe Giampaoli over 3 years ago
Pascal Obry wrote:
If it's gray out and ticked it means that it has been activated at some point but it is not activated now. Meaning that you're missing some OpenCL libraries now.
OK, I see, well I tried starting DT with -d opencl -d perf and got the following:
[opencl_init] opencl related configuration options: [opencl_init] [opencl_init] opencl: 1 [opencl_init] opencl_library: '' [opencl_init] opencl_memory_requirement: 768 [opencl_init] opencl_memory_headroom: 300 [opencl_init] opencl_device_priority: '*/!0,*/*/*' [opencl_init] opencl_size_roundup: 16 [opencl_init] opencl_async_pixelpipe: 0 [opencl_init] opencl_synch_cache: 0 [opencl_init] opencl_number_event_handles: 25 [opencl_init] opencl_micro_nap: 1000 [opencl_init] opencl_use_pinned_memory: 0 [opencl_init] opencl_use_cpu_devices: 0 [opencl_init] opencl_avoid_atomics: 0 [opencl_init] opencl_omit_whitebalance: 0 [opencl_init] [opencl_init] found opencl runtime library 'libOpenCL' [opencl_init] opencl library 'libOpenCL' found on your system and loaded [opencl_init] found 2 platforms [opencl_init] found 2 devices [opencl_init] device 0 `GeForce 210' doesn't have sm_20 support. [opencl_init] discarding device 0 `GeForce 210' due to insufficient global memory (511MB). [opencl_init] discarding CPU device 1 `AMD Athlon(tm) II X3 450 Processor'. [opencl_init] no suitable devices found. [opencl_init] FINALLY: opencl is NOT AVAILABLE on this system. [opencl_init] initial status of opencl enabled flag is OFF.
It does seem to work with 3d rendering program I use, "luxrender" I used to get an error about not finding openCL, when I installed the Debian libraries it stopped showing that error but really have not tested fully render times in it now that I installed it.
Doesn't really matter, it would be nice to have that extra speed during export but I guess I can live without it, I think it has to do with my card's sm_20 support, I'll figure it out, I don't want to drive this report to another direction....
Thanks anyway, I appreciate it!
#9 Updated by Pedro Côrte-Real over 3 years ago
- Status changed from Closed: won't fix to New
The bug isn't about an opencl issue, it's about green artifacts with denoise. The fact that opencl doesn't work isn't really a resolution, it just means that if there's a bug it's in the CPU code path or possibly in both.
#12 Updated by Pedro Côrte-Real over 3 years ago
- Affected Version changed from 1.6.8 to git development version
- File ProfiledDenoiseOff.png added
- File ProfiledDenoiseOn.png added
- File DSC01698.ARW added
- File DSC01698.ARW.xmp added
- Status changed from New to Confirmed
- % Done changed from 0 to 10
- System changed from Debian to all
I've reproduced this with one of my images. This time it's the grey coat of a donkey :) It seems easy to trigger in a very visible way by using wavelet mode and HSV color blending which is the suggested way of eliminating chroma noise (and usually works quite well).
#13 Updated by Joe Giampaoli over 3 years ago
By looking at our previous examples, it seems to me that when there's more green value in an image these artifacts become more noticeable. All previous shots have green grass in the background. Here's another test with a dog in an interior of a pharmacy, you can see that the artifacts aren't as exaggerated as the previous ones, and this one is shot at a reasonably high ISO. Attaching both RAW and sidecard.
#14 Updated by Pedro Côrte-Real over 3 years ago
- File ProfiledDenoiseOn2.png added
- File ProfiledDenoiseOff2.png added
- Subject changed from green atifacts with denoise profile on Canon 7D to green atifacts with denoise profiled
Found a pretty extreme case when testing out a Nikon D810 ISO 12800 file. It's almost as if the green channel noise isn't being eliminated or is even being enhanced.
#17 Updated by Joe Giampaoli over 3 years ago
Thanks Pedro, just wanted to compare with my RAW's. Nice shot BTW.
This is what I get when purging the history stack to original and just basic corrections. Using linearRec709 as input color profile does seem to help a little, even adding extra saturation later, but not 100% effective. This is pretty much how I have been doing it since I saw this green artifacts, as I mentioned before, I thought my denoising profiles or using a CHDK RAW made file had something to do with it. I have also tried exporting to 16bit tiff with no denoising at all and then try to apply the denoising to the tiff but unfortunately it's not as effective as doing it directly on the RAW. I'll attach my xmp version of your RAW if you want to see pretty much what I do. Later I apply something like a low-pass filter with extra saturation in multiply mode to bring out those colors...
#18 Updated by Maximilian Trescher over 3 years ago
I experienced the same issues with shots from a Canon 60D.
Curiously there are no green artifacts when I use the equalizer module and apply some chroma denoise.
(I can provide the Raw and xmp files if needed, right now I don"t have access to them).
#19 Updated by Johannes Hanika about 3 years ago
- File img_0001_02.jpg added
here's my jpg of the green artifact wall. it is really touchy at these noise levels.. using a second instance of profiled denoising with lightness doesn't work, but using HSV lightness performs a lot better. i think maybe the numbers are so small that the colour space transforms become unstable? given this interesting variation in outcome based on the blend mode maybe the culprit is blending and not denoising?
#20 Updated by Pascal Obry over 2 years ago
- % Done changed from 10 to 100
- Status changed from Confirmed to Fixed
I think this issue is fixed. I suppose this is due to Roman's work on the low level sensor data fixes done recently. Can someone confirm this is also fixed?
I cannot reproduce with attached DSC01698.ARW nor with my original sample IMG_4365.CR2.
#27 Updated by Joe Giampaoli over 2 years ago
Here's a screenshot from today, same DNG with the embedded color profile of the file, maybe it's a bit less than my older screenshot, but if you look carefully, you will see some greenish artifacts on the head and part of the tail. This is now in latest 2.0.6.
The only de-noising at the moment on this sample is the one expanded on the screenshot which is wavelet on the color channel, HSV color gives me pretty much same results, also you will see that I purged out any automatic applied curves from the start on my history stack, I always do that...
#32 Updated by Joe Giampaoli over 2 years ago
OK, here are both, since it's a CHDK DNG it shouldn't be to big to upload here, I hope...
The XMP is just a basic edit to make those artifacts appear, not much processing but basic corrections.
#34 Updated by Joe Giampaoli over 2 years ago
- File Screenshot - 10182016 - 03_14_08 PM.png added
OK, yes, it's a bit better. I can still see a little bit of it but not as bad as before with the embedded color profile. Still if I change the input color profile it always gives me better results here on latest stable, I usually use linear rec 709 or linear rec 2020, I think I will get better results now with these profiles and the results you get.
Here's a sample of what I get with linear rec 709 and saturation bumped to 100% so it's almost similar to your screenshot, but like I said, yours is with the embedded profile, which in my case always gives me a lot more of those artifacts.
So to keep it simple, not precisely fixed I think, but better!
Thanks for trying my RAW with your version
#35 Updated by Björn Sonnenschein 5 months ago
This issue still persists for me.
In the mailing list, Rawfiner mentioned the following:
Is this related?
#36 Updated by rawfiner - 3 months ago
- Status changed from Confirmed to Fixed
- % Done changed from 10 to 100
Applied in changeset darktable|9e366113e3ecd701cc0e39983b55f053e1a3d40c.