On Sun, Feb 5, 2017 at 2:35 AM, Ingo Liebhardt <ingo.liebha...@ziggo.nl> wrote:
> Hi all, > > Thanks again for the feedback, especially to J Liles, which helped me a > lot to find out some issues concerning the filter design. > In the meanwhile, I managed to get rid of the hue shift and of the > textile artifacts. > > A new commit from today is in the (still very experimental) fork at: > https://github.com/ILiebhardt/darktable.git > For trying, just compile, deactivate openCL (only C code thus far), and > choose ‚1 pass Markesteijn‘ as demosaicking method (doesn’t work for > 3-pass, and wouldn’t really yield advantages, either). > > Compared to the previous one, the following issues are addressed: > 1. Hue shift / lack of overall saturation > 2. Textile artefact > 3. For speed, I noticed that only six filters are required, exploiting > mathematical dependencies of the conversion matrix. It’s still very slow, > but speed optimization is for later… > > You will also see a commit from earlier in January with some first > improvements in the filters. > Using these earlier filters, it is possible to avoid aliasing in the > original problematic picture completely: https://www. > dropbox.com/s/jtgmvuhtuc8uqth/wide_filters.jpg?dl=0 > > But this comes at the price of very pronounced colour bleeding. > > The latest set of filters, which are trained from a reference image, is a > much better compromise: https://www.dropbox.com/s/ge98px15qm1zpxm/ > narrower_filters.jpg?dl=0 > Although it has a bit of moiré, it is tolerable, and the colour bleeding > is much less with this latest set of filters. > The latest filter set (the trained one) really gives the best compromise > between colour bleeding / false colour suppression. > It also manages really well my hardest test image, where high frequency > changes in luminance were causing severe problems in chroma: > https://www.dropbox.com/s/pgo2scu7o5243ga/L_best_shot.jpg?dl=0 > > To compare this to three pass Markesteijn with five times colour > smoothing: https://www.dropbox.com/s/wkv2xlyh9sgw69x/MS3pass.jpg?dl=0 > > Finally, w.r.t. the high iso test image from J Liles, it looks much better > now, too. To note that the serial number of the dollar note are not deeply > green, but this is a price to pay with this CFA and this approach. > > Have fun trying. Looking forward to your feedback. If you’d like to try > the older (broader) filter set, you can go back to the my commit of early > January in the above mentioned git. > > Cheers, > Ingo > > > > Am 28.12.2016 um 00:35 schrieb J. Liles <malnour...@gmail.com>: > > > > On Wed, Dec 21, 2016 at 11:27 AM, J. Liles <malnour...@gmail.com> wrote: > >> >> >> On Wed, Dec 21, 2016 at 11:20 AM, J. Liles <malnour...@gmail.com> wrote: >> >>> >>> >>> On Wed, Dec 21, 2016 at 11:17 AM, Ingo Liebhardt < >>> ingo.liebha...@ziggo.nl> wrote: >>> >>>> Ah, and by the way @J Liles: could you please explain me a bit more >>>> what you mean by ‚textile like artifact‘, I’d like to investigate that one >>>> a bit more in-depth. >>>> Thx >>>> >>>> >>>> Am 21.12.2016 um 20:10 schrieb Ingo Liebhardt <ingo.liebha...@ziggo.nl >>>> >: >>>> >>>> Hi all, >>>> >>>> Thanks a lot for the feedback, and no worries if it takes you a while >>>> testing it. >>>> As you see, I’m also progressing rather slowly on my side… >>>> >>>> It’s still a proof-of-concept and I have quite some items on my to do >>>> list, most notably: >>>> - the literature mentions training the filters based on reference >>>> images, and I’m slowly working on this, hoping that it would further >>>> increase image quality. So far, the filters are designed using the window >>>> design method. >>>> - trying to find out where the hue shifts come from - I already noticed >>>> them, too. >>>> >>>> Other things like performance improvements will be for later… >>>> >>>> I’ll let you know as soon as I make progress on the filters. >>>> >>>> Cheers, >>>> Ingo >>>> >>>> >>>> >>>> Am 21.12.2016 um 01:14 schrieb J. Liles <malnour...@gmail.com>: >>>> >>>> >>>> >>>> On Mon, Dec 19, 2016 at 7:40 PM, J. Liles <malnour...@gmail.com> wrote: >>>> >>>>> >>>>> >>>>> On Mon, Dec 12, 2016 at 10:40 AM, Ingo Liebhardt < >>>>> ingo.liebha...@ziggo.nl> wrote: >>>>> >>>>>> Hi all, >>>>>> >>>>>> Maybe you still remember that I tried an alternative approach to >>>>>> X-Trans demosaicking (using guided filtering) in March / April this year… >>>>>> In the end, I was not satisfied, and I gave up on that approach. The >>>>>> problems were comparable to the Markesteijn algorithm, and the >>>>>> improvements >>>>>> marginal. >>>>>> >>>>>> After giving up on that approach, I was again browsing conference >>>>>> papers trying to get some inspiration. >>>>>> I came across the work of E. Dubois, which looked promising. >>>>>> It is promising, not so much when applied alone, but very much so >>>>>> when combined with a gradient based approach like Markesteijn. >>>>>> >>>>>> I like Jo’s xtrans fringes profile a lot, but the colors get somewhat >>>>>> muted, overall. >>>>>> >>>>>> Contrary to my first approach, this one finally seems to give >>>>>> reasonable results. >>>>>> I managed to get good output for the redline bug #10333. >>>>>> You can have a look here: dropbox link >>>>>> <https://www.dropbox.com/sh/un1y11uimbqxjjk/AAD3L-Rs9-ztwyBIm4rnCzK-a?dl=0> >>>>>> >>>>>> This is the output just with demosaic + base curve, nothing else. >>>>>> >>>>>> If you want to try some nasty X-Trans images yourself, I made a >>>>>> little proof-of-concept. >>>>>> This in form of a fork of darktable, which you can find here: >>>>>> https://github.com/ILiebhardt/darktable.git >>>>>> For trying, just compile, deactivate openCL (only C code thus far), >>>>>> and choose ‚1 pass Markesteijn‘ as demosaicking method (doesn’t work for >>>>>> 3-pass, and wouldn’t really yield advantages, either). >>>>>> >>>>>> Have fun trying, and let me know if you think that this one’s worth >>>>>> pursuing further (only quick hack so far, and the used correlation >>>>>> filters >>>>>> are a slow, naive implementation O(m n p q)). >>>>>> >>>>>> If you’d like to read some basics concerning the idea, I made a >>>>>> mini-blog here: http://xtransdemosaicking.blogspot.nl >>>>>> >>>>>> Cheers, >>>>>> Ingo >>>>>> >>>>>> >>>>>> P.S.: concerning my previous approach, J Liles spotted single >>>>>> pixel artifacts. I found out that these are not related tot the >>>>>> demosaicking as such. X-Trans 2 and X-Trans 3 have hybrid AF, and the >>>>>> pixels used for phase detection show higher noise. These are all green >>>>>> pixels of a 4-group of pixels; never a red or blue, and never a solitary >>>>>> green. But solving this would be a whole different project... >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> ___________________________________________________________________________ >>>>>> darktable developer mailing list to unsubscribe send a mail to >>>>>> darktable-dev+unsubscr...@lists.darktable.org >>>>>> >>>>> >>>>> Ingo, >>>>> >>>>> Great to hear you're still working on this! >>>>> >>>>> I haven't reviewed the code of the algorithm, but I did give it a try >>>>> on a few images. >>>>> >>>>> Here's one in particular (lots of sharpening added to make the >>>>> differences more obvious.) >>>>> >>>>> http://www.nevermindhim.com/liebhardt-test >>>>> >>>>> Direct image links: >>>>> >>>>> http://www.nevermindhim.com/files/liebhardt-test/6acffe60-09 >>>>> c5-11e6-93d7-178612e3e7eb_E1_VNG.png >>>>> http://www.nevermindhim.com/files/liebhardt-test/6acffe60-09 >>>>> c5-11e6-93d7-178612e3e7eb_E1_Markesteijn.png >>>>> http://www.nevermindhim.com/files/liebhardt-test/6acffe60-09 >>>>> c5-11e6-93d7-178612e3e7eb_E1_Liebhardt.png >>>>> >>>>> >>>>> My first impressions are: >>>>> >>>>> 1) (obviously you know this) It's slow >>>>> 2) It introduces a hue shift >>>>> 3) It does a better job of controlling color noise than VNG or >>>>> Markesteijn. >>>>> 4) Artifacts are similar in structure to Markesteijn (maze-like) >>>>> 5) There is an additional textile like artifact that Markesteijn >>>>> doesn't exhibit. >>>>> 6) It overshoots in interpolating across gradients, but not as much as >>>>> VNG does. >>>>> >>>>> If you can get rid of the textile effect and, color cast, and speed it >>>>> up, this looks like it would be an improvement over Markesteijn (with no >>>>> color smoothing/noise reduction). It's already looking more "film like" >>>>> >>>>> >>>>> >>>> Replying to myself here... >>>> >>>> Added another set of images to: >>>> >>>> http://www.nevermindhim.com/liebhardt-test >>>> >>>> (TEST IMAGE 2) >>>> >>>> This time correcting for the hue shift (with auto white balance). >>>> >>>> I wanted to illustrate how it deals with a high ISO (12800) image, with >>>> and without noise reduction and sharpening. >>>> >>>> As you can see, the result is a definite improvement, especially the >>>> noise reduced version. There may be a slight loss of sharpness, but for me >>>> it's worth it to get rid of those crusty false colors. >>>> >>>> However, whether or not even this is better than the SOOC JPEG (NR -4, >>>> Sharpness 0) is debatable. It seems like using the maximum NR in darktable >>>> is required to produce a similar result as the minimum NR in camera... >>>> >>>> >>>> >>>> ___________________________________________________________________________ >>>> darktable developer mailing list to unsubscribe send a mail to >>>> darktable-dev+unsubscr...@lists.darktable.org >>>> >>>> >>>> >>> In TEST IMAGE 1, look at the blue TV screen behind the subject's head. >>> You can see a textile/grid type effect that wasn't really there. This >>> effect doesn't appear with VNG or Markesteijn. It looks like the your >>> weightings might be off causing the X-Trans pattern to show through when >>> interpolating solid colors. >>> >>> >> Just to add to this, other points of interest in this image for finding >> artifacts are the saturated purple lights in the upper right, and the edges >> of the TV screen and the subject's hair. Of particular interest is the >> serial number on the dollar bill. It should be dark green (the same color >> as the stamp/seal above). Too-aggressive chroma denoising may make it turn >> light gray/green like the rest of the bill. >> >> > > Continuing my habit of replying to myself, I was curious how your > algorithm would handle the dreaded X-Trans II/III "purple flare/grid > artifact" problem (which, AFAICT, remains an unsolved problem everywhere). > The result is interesting. Your algorithm completely removes the purple > color cast of the flare, resulting in, IMHO, a much more pleasing > appearance. However, the grid aspect remains: > > http://www.nevermindhim.com/files/liebhardt-test/a75767d6- > cc7c-11e6-95bd-739c86278d6a_E1_Liebhardt.png > > > Ingo, The colors are looking better now and indeed the textile artifact appears to be remedied (and that high ISO example is looking pretty good!). However I'm seeing what I would consider to be excessive color bleeding/halos. Observe this image: http://www.nevermindhim.com/files/liebhardt-test/bf2e0f63ffa932e34701b47ed0a5a238_liebhardt2.png It almost looks like chromatic aberration (but isn't). As a control, here's the same image processed with VNG + a bilateral filter on the chroma channel (not enough to get rid of the moire on the tie though...) http://www.nevermindhim.com/files/liebhardt-test/bf2e0f63ffa932e34701b47ed0a5a238_vngbilateral.png The problem with the tree branch torture test is that the subject is too monochrome to show these kinds of issues. ___________________________________________________________________________ darktable developer mailing list to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.org