Dual ISO - massive dynamic range improvement (dual_iso.mo)

Started by a1ex, July 16, 2013, 06:33:50 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

kgv5

Quote from: 1% on July 17, 2013, 04:26:01 AM
Hopefully reg addresses are the same on 6D. I need a reliable way to figure those out.

Go get them 1%  :D
Finally some hope for the 6d owners :)
With almost the same specs and iso performance as 5d3 maybe you could port this in some time. Fingers crossed.
www.pilotmovies.pl   5D Mark III, 6D, 550D

Dns

No hope for poor people like me(550D)? Finger Crossed :(
Canon 70D | Canon 100mm 2.8 macro | Tamron 17-50mm 2.8 Vc | Canon 50mm 1.8 and The Magic Lantern :)

Walter Schulz

Read the White Paper and cry. You're not the only one, that's for sure.
Also linked in the first post of this thread: http://acoutts.com/a1ex/dual_iso.pdf
See 3.1

Ciao, Walter

Braam544

Help me, I need a little tutorial to install this update. thank you guys for helping me.

Thank you

B.

crazyrunner33

Quote from: Braam544 on July 17, 2013, 02:23:53 PM
Help me, I need a little tutorial to install this update. thank you guys for helping me.

Thank you

B.

Keep an eye out on the nightly builds and follow the instructions for installing the RAW video builds.  If you have difficulty doing so, then it would be probably be best to wait for an official release.
5D Mark III, 7D

swinxx


hbr

Thank you! Finally some good news for 7D owners! Is there any build to test out for 7D?

stevefal

First of all, wow, wow, wow!

A few questions. I may have missed this in reading through the doc, so apologies if so. Is it correct that when in this mode, that highlights will always be half-res regardless of the DR of the scene? If this is so, it sounds like we need to be careful when shooting a flat scene (low DR) and exposing to the right. You could end up with a substantial portion of the frame in half-res.

And if that's true, is it possible to perform the dual-ISO trick only as much as the DR of the frame calls for? For lower-DR scenes it seems like maintaining highlight fidelity should be the first priority. As DR increases, I'd want to sacrifice shadow resolution first, and then highlight resolution last. Or maybe the other way. Or maybe symmetrically.

Also, is there something special about 4 stops? I mean how about the option to run 100/6400 for a full 16 stops, understanding that the extra 2 bits will also be at half-res?.

I can't wait to start shooting with this. The few videos I've seen posted so far are like miracles. Soon we'll all be lifting shadows bravely and chuckling over "noise reduction". Which reminds me, care to SHARPEN? Don't mind if I do.
Steve Falcon

brapodam

Quote from: Dns on July 17, 2013, 11:44:45 AM
No hope for poor people like me(550D)? Finger Crossed :(
I'm by no means an expert on this, so take my words with a pinch of salt (or a tablespoon for that matter)  :)

They need to program the ISO for each separate amplifier circuit for this trick to work. If the "poor men's cameras" don't have separate amplifier circuits, they have to find another way to implement this, like maybe somehow finding a way to hack a single amplifier circuit to alternate ISO every two lines, if it's even possible.

I don't know if it has a lot to do with the channel readouts though; all I've read about that was that it helped with higher readout speed and hence higher drive speed and better contrast detect AF.

Steven

It sounds like it was possible to use this feature also as an on sensor gradual nd filter without the resolution loss even.

ajay

Thank again for another brilliant addition to the firmware for the 5DM3. I did some extensive still-shooting with the mod this morning...the dynamic improvement is incredible -- well done!

Just a few comments using the cr2hdr program (These are not complaints/criticisms, just letting you know what I experienced.):

1. Moire is extensive with bird feathers.
2. I'm seeing color artifacts around small, over-exposed areas. (By small, I mean points that are maybe 10 x 10 pixels or less.)

If anyone wants to see samples, let me know.

AJ

a1ex


horshack


bp

A1ex, I know you don't need any more ego stroking, but gotta say, you're a flippin genius man.  Did some testing with this last night.

The extent to which you can push the RAW settings (shadows, highlights, exposure) around without noticeable noise is ASTOUNDING.  For video, however, the aliasing is noticeable enough to push this feature into the "only in extreme emergencies" category, for me at least.  And that's not meant to be a criticism in any way - when you skip lines, that's what will happen.  I will be watching for future developments on this, if you get any brilliant ideas on how to eliminate the aliasing, this would be downright unfair to every other camera on the market

By the way, I was looking around for the "Donate" link - would like to toss more into the kitty.  But couldn't find it anywhere.

ajay

Quote from: a1ex on July 17, 2013, 06:14:22 PM
Yes, some samples will be useful.

a1ex...Here are some 100% cropped images showing the artifacts. The first image shows extensive moire in the feather detail:



The second image shows the color halo effect. (Close-up of an orange.) This reminded me of the halo problem that Canon corrected when both the 5DM2 and 5DM3 were first introduced. It usually reared its ugly head with night-astro shots of stars or xmas lights at night:



If you want the originals, let me know where I can upload them.

Thanks again for all your hard work. --AJ

a1ex

@horshack,

I don't know who theSuede is (he seems to know some stuff though), but please ask him to read the PDF. I'm pretty sure he didn't.

In deep shadows I only use data from the higher ISO, therefore his averaging formula does not apply here.

@ajay,

Of course I need the original files. Use some file sharing service.

@all,

For aliasing, there's nothing you can do to remove it completely; but you can reduce the artifacts by using a better interpolation algorithm. Even the debayering method you use in your raw software matters, so try to fiddle with it.

Or, use less aggressive settings (e.g. ISO 100/400) to minimize the areas where aliasing may appear.

Here's an alternate cr2hdr/raw2dng, with the mean23 interpolation algorithm (see the source code for details). It has more jagged edges in the Batman shot and my other test shots, but should handle trees and power lines a bit better.

cr2hdr_mean23.exe
raw2dng_mean23.exe

You can further reduce shadow aliasing by increasing the overlap amount (you'll get more noise). See the paper and the source code for details.

IliasG

Quote from: stevefal on July 17, 2013, 04:08:30 PM
First of all, wow, wow, wow!

A few questions. I may have missed this in reading through the doc, so apologies if so. Is it correct that when in this mode, that highlights will always be half-res regardless of the DR of the scene? If this is so, it sounds like we need to be careful when shooting a flat scene (low DR) and exposing to the right. You could end up with a substantial portion of the frame in half-res.

And if that's true, is it possible to perform the dual-ISO trick only as much as the DR of the frame calls for? For lower-DR scenes it seems like maintaining highlight fidelity should be the first priority. As DR increases, I'd want to sacrifice shadow resolution first, and then highlight resolution last. Or maybe the other way. Or maybe symmetrically.

Also, is there something special about 4 stops? I mean how about the option to run 100/6400 for a full 16 stops, understanding that the extra 2 bits will also be at half-res?.

I can't wait to start shooting with this. The few videos I've seen posted so far are like miracles. Soon we'll all be lifting shadows bravely and chuckling over "noise reduction". Which reminds me, care to SHARPEN? Don't mind if I do.

I hope the below data will answer your questions.  :) ;)

Based on DXO screen-DR measures


5DIII
       screen  per ISO  Total Gain
  ISO    DR     Gain    from base ISO
0100   10.97    0.00    0.00
0200   10.87    0.90    0.90
0400   10.69    0.82    1.72
0800   10.41    0.72    2.44
1600    9.94    0.53    2.97
3200    9.23    0.29    3.26
6400    8.30    0.07    3.33
12600    7.48    0.18    3.51

7D
       screen  per ISO  Total Gain
  ISO    DR     Gain    from base ISO
0100   11.12    0.00    0.00
0200   11.08    0.96    0.96
0400   10.76    0.68    1.64
0800   10.10    0.34    1.98
1600    9.02   -0.08    1.90
3200    8.26    0.24    2.14
6400    7.09   -0.17    1.97
12600    6.22    0.13    2.10   


As we can see there is no reason to go over ISO 800 for 7D or ISO 3200 for 5DIII. Because we gain negligible DR while we loose a 1 stop range of the "perfect midtones" (where all pixels are used so no resolution loss no artifacts) to the problematic hi and low ranges where only half the pixels are in use.

IMHO for 5DIII I would not sacrifice the range of 1 stop of full sensor use for 1/3 stop DR increase at ISO 3200 not even for the 1/2 stop gain from ISO 1600.

Lets look at it from another side .. for example the 100-1600 case .. the calculated 3 stop gain is valid if we use all the pixels.
In theory, by using only half of the sensor at darks we should have 0.5stop more noise there than a full 1600 ISO shot, so the net gain should be 2.5 stops.

What we see in the samples is not only the better sensor behavior at ISO1600 but also a kind of simplistic denoise (by interpolation - averaging) and the excellent holistic approach of ML team regarding black point regulation, channel imbalance and FPN elimination.

It will be interesting to see the differences between using 100-800 vs 100-1600 ranges with 5DIII ... especially after using a mild denoise in ACR or Rawtherapee ..

Tinnunculus

Would it, if possible, increase DR if the 70D dual photo-diodes were used separately with different iso?

jaybirch

This is about as good as i can get it. I was working between ISO 400 and 1600.... Exposed heavily to the right (I tried about 10 exposures, this was best). Some pretty heavy colour moire and stair stepping in the highlights... But the mids and shadows are pretty good.


NateVolk

This is great alex!  I'm happy to help test with my 5d3, but I'm a mac guy and having some difficulties post processing the files.  Read the pdf, downloaded the zips from page one, but then what?  Sorry for the stupid ?'s...
I searched for a tutorial on using the cr2hdr.exe and the draw.exe but no luck.  Thanks anyone for some direction!

horshack

Quote from: a1ex on July 17, 2013, 07:04:20 PM
@horshack,

I don't know who theSuede is (he seems to know some stuff though), but please ask him to read the PDF. I'm pretty sure he didn't.

In deep shadows I only use data from the higher ISO, therefore his averaging formula does not apply here.

Hi Alex, theSuede is a software developer specializing in high-end color workflow products I believe. He is very knowledgeable on most areas of imaging technology but especially on sensors and color. I'm not sure if he's read through your PDF.

I read through the PDF and I saw the section on deep shadows where you only use the ISO 1600 data, indicating "corresponding data from ISO 100 will be just noise". The ISO 100 lines will have more read noise and tossing them out will improve DR but at the same time will reduce photons collected by half, reducing the shot-noise SNR of those shadows from 22.93:1 to 16.21:1, based on some quick calculations assuming the deep shadows start at around 7EV below ISO 100 saturation. As you descend further into the shadows the read noise represents an increasing percentage of total noise. The cross-over point between read noise and shot noise is about -7EV (ISO 12,800 equiv), so even starting in the deep shadows the shot noise represents 50% of the total noise, so discarding the ISO 100 lines is still significant to the total noise.

sarangiman

Wonderful work, & great white paper!

The funny thing about all this is that this is all a workaround largely b/c of the ADCs being on a separate chip from the image sensor (as surmised by ChipWorks). Essentially: your technique is trying to recover the dynamic range of the CMOS sensor itself, not the sensor & the entire signal processing chain. This'd all be pretty unnecessary on a D600/D800, where there's not much difference between the two (although the higher ISO exposure could help for very very deep shadows that might otherwise suffer from quantization error at ISO 100). The actual CMOS sensors on Canons have a similar DR to that of the best Sony sensors, if we believe the numbers from DXO/Sensorgen.info (though, this doesn't take into account FPN; I'm not sure exactly where in the chain FPN is introduced).

Do you know what the difference between the top & left black bars is? I've seen this & often wondered.

sarangiman

Quote from: horshack on July 17, 2013, 10:33:11 PM
I read through the PDF and I saw the section on deep shadows where you only use the ISO 1600 data, indicating "corresponding data from ISO 100 will be just noise". The ISO 100 lines will have more read noise and tossing them out will improve DR but at the same time will reduce photons collected by half, reducing the shot-noise SNR of those shadows from 22.93:1 to 16.21:1

Hi horshack-- why would you 'reduce photons collected by half'? The exposure at the sensor plane is not changed; there is only one exposure. The ML hack is simply changing what you do with that exposure data, & so should not affect the SNR save for actually increasing it in shadows by reducing the effects of downstream noise (after ISO amplifier) in the ISO 1600 exposure.

The focal plane exposure (in terms of shutter speed/aperture) remains the same for both ISO 100 & ISO 1600 exposures; it's not like two separate exposure are being made (where the ISO 1600 exposure would have 4 stops less exposure which, yes, would increase the effects of shot noise).

Let me know if I'm misunderstanding you.

platu

See here an additional comparison of Normal raw video "Denoised" vs Dual ISO raw video.  https://vimeo.com/70511941


stevefal

Whoa, the moire on high contrast vertical edges is pretty bad.
Steve Falcon