Some questions: - Did they create a special network topology for this problem? - Does the network need to see the entire image, or only an NxN subblock at a time? - How did they obtain the training data? Is it possible to take daylight images and automatically turn them into nighttime images somehow?
Learning to See in the Dark (2018)
121–130 of 179 posts
Re: Learning to See in the Dark (2018)
#122Earlier quoted context omitted.
In the video they reference the Sony A7S II, on Sony's website[1] they claim: >Still images: ISO 100-102400 (expandable to ISO 50-409600), [1]: https://www.sony.co.uk/electronics/interchangeable-lens-came...
Which is extremely lossy, because any ISO other than the sensor's native level is the result of in-camera processing. Unlike film, adjusting the "ISO" in a digital camera doesn't increase sensitivity; that's physically impossible. Instead, very strong overgain processing is applied. So in this instance they're processing lossily on top of an image already processed lossily in-camera.
Re: Learning to See in the Dark (2018)
#123(2018) and a better title that doesn't say CNN, c'mon
Re: Learning to See in the Dark (2018)
#124Earlier quoted context omitted.
Kind of like this well trained CNN is no longer relying entirely on the raw pixel values, but is statistically inferring a brighter image from the baseline.
There's a difference between applying known priors, and making things up based on statistics. Conflating the two isn't helping anyone.
That’s not to say that the same “thing” is happening at the granular level at all.
But this is distinctly different from standard filtering functions, which can only work with entropy already present in the source image. So there’s a neat distinction.
The output from the CNN is essentially an “artist interpretation” of the source image. As such there could be “clarifying details” in the output that were in fact totally invented and not actually present in the source.
Re: Learning to See in the Dark (2018)
#125I was just wondering a couple days ago why the image from my phone is so grainy, while my eyes+brain can see everything clear in the dark (it wasn't completely dark, of course). This seems to replicate the post-processing we do in our brain (which is also a giant neural network). I wonder if the process is similar?
”The human eye can detect a luminance range of 10¹⁴, or one hundred trillion (100,000,000,000,000) (about 46.5 f-stops), from 10−6 cd/m2, or one millionth (0.000001) of a candela per square meter to 10⁸ cd/m2 or one hundred million (100,000,000) candelas per square meter. This range does not include looking at the midday sun (10⁹ cd/m2)[21] or lightning discharge.”
Re: Learning to See in the Dark (2018)
#126The problem with techniques like this is that they fundamentally amount to ‘making a plausible guess as to what the image would look like’, since essentially they can’t extract information that is simply not there. There is a Shannon entropy limit here. Machine learning is really machine-enhanced educated-guesswork, which has its place but also has its limits.
It's more than 'good enough' for most purposes. Matching other shots for Hollywood quality, probably not. For surveillance or the like it's fine. The things it's guessing poorly about are textures or colors. Being able to read the title on the books in the example photo is great; you could rely on the title for evidentiary purposes, the smaller text probably not so much. So for a security camera it would do poorly at…
Re: Learning to See in the Dark (2018)
#127Earlier quoted context omitted.
The comparison is fair because it tries to automate expertise. I'm sure you know exactly how much of which filter to apply for similar results. Laymen like ourselves will need a lot more trial and error. Their contribution here is to provide a push-button, automated mechanism. I would have probably also tried something simple and given up due to the noise. So this is definitely interesting.
This is completely untrue. What you are describing is usually called automatic tone mapping. This is basically noise reduction and possibly color normalization from brightening a dark image. Them showing their black image as the starting point is silly, because jpg will make a mess of the remaining information. What they should show is the raw image brightened by a straight multiplier to show the noisy version that y…
Re: Learning to See in the Dark (2018)
#128Earlier quoted context omitted.
It's more than 'good enough' for most purposes. Matching other shots for Hollywood quality, probably not. For surveillance or the like it's fine. The things it's guessing poorly about are textures or colors. Being able to read the title on the books in the example photo is great; you could rely on the title for evidentiary purposes, the smaller text probably not so much. So for a security camera it would do poorly at…
Reading a license plate seems like precisely the kind of circumstances where spurious 'plausible interpretation' of limited data can cause trouble. You show in a courtroom a CNN-enhanced low light image of a car and it's there, literally 'clear as day' - the jury will find it pretty compelling. But maybe the data really wasn't there in the original image, and the CNN just filled in some blanks based on previous image…
You are right that the raw sensor data should always be preserved. But sticking with the license plate example, you could challenge a picture of a single car with a visible license plate far away in a wooded area, but it would be hard to refute a picture of the same car in a parking lot surrounded by other (non-suspect) vehicles whose presence there at the same time could be independently verified. In other words, if I can show that it accurately read the license plates of 9 other cars, the chances that it got yours wrong go way down.
That's assuming a single photo taken in the dark by an investigator. With a fixed security camera you would have an even larger basis of comparison, with a population of hundreds or thousands of license plates against which to rate it. I predict that before long we'll see preemptive certification for devices warranting the reliability of their image pipeline out to a certain distance at either the manufacturing or installation stage.
Re: Learning to See in the Dark (2018)
#129It's surprising how little code [1] is needed to do this. On the other hand I feel this is quite dependent on the specific camera models and might not work on the RAW data downloaded from my phone. Happy to be corrected. [1] - https://github.com/cchen156/Learning-to-See-in-the-Dark/blob...
It's a huge amount of code, hidden behind the tensorflow import statements. It's common to credit GPUs for the rapid spread of deep learning, but good GPUs were available for quite a few years before deep learning really took off. As someone who wrote * a lot* of OpenCL code, including my own python wrappers, I'm fairly certain this code would be thousands of lines without a computation graph framework library. These…
You're a stupid lemming.
Re: Learning to See in the Dark (2018)
#130Earlier quoted context omitted.
It's a huge amount of code, hidden behind the tensorflow import statements. It's common to credit GPUs for the rapid spread of deep learning, but good GPUs were available for quite a few years before deep learning really took off. As someone who wrote * a lot* of OpenCL code, including my own python wrappers, I'm fairly certain this code would be thousands of lines without a computation graph framework library. These…
This goes to show why we can't take HN seriously: hyping up whatever is blessed by Google, regardless of actual value. What novel thing did exactly TensorFlow bring to the table? Also, has Jeff Dean invented CNNs? You're a stupid lemming.
By way of analogy, David Heinemeier Hansson didn't invent the webapp or even the MVC design pattern. But Ruby on Rails did change the way webapps were built, and enabled a bunch of stuff that wouldn't have been possible otherwise (or, at least, would've taken longer and been more expensive). Lots of websites were built because of Ruby on Rails that probably wouldn't have been built otherwise, even if people would've kept on doing the web thing regardless. We can say the same thing about lisps, about linux, and about a lot of other software infrastructure.
Any high schooler who's capable of learning python and can afford a gaming desktop can build and train a neural network. That's pretty amazing, and definitely wouldn't be the case without computation graph frameworks.
I've never worked for Google or with Jeff, and I'm not a huge fan of the ad tech industry, although I don't understand why either of those things should matter.