Live data from Hacker News

Learning to See in the Dark (2018)

github.com

121–130 of 179 posts

Re: Learning to See in the Dark (2018)

#121
post #90

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?

Take pictures at night with a tripod mounted camera with different exposure brackets?

Re: Learning to See in the Dark (2018)

#122
post #31

Earlier 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.

The A7g image is used for comparison rather than input data, as that camera is widely regard as the state of the art for low-light photography on a non-scientific/military budget.

Re: Learning to See in the Dark (2018)

#124
post #50

Earlier 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.

Not to harp on this, but the point is that, as I understand it, both “systems” are using exogenous information to extrapolate more data than is actually present in the source image.

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)

#125
post #4

I 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 dynamic range of the human eye is better than that of the lens in your phone. https://en.wikipedia.org/wiki/Human_eye#Dynamic_range:

”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)

#126

The 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…

Using these processed images for evidence purposes sounds like precisely what the parent comment is concerned about.

Re: Learning to See in the Dark (2018)

#127

Earlier 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…

What jpg? they are using raw data.

Re: Learning to See in the Dark (2018)

#128

Earlier 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…

Of course, but what are the odds that the algorithm just lucked into the correct book title and other cover text? It doesn't have a dictionary or semantic network.

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)

#129

It'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…

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.

Re: Learning to See in the Dark (2018)

#130

Earlier 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.

I implemented neural networks before the advent of the good python frameworks. It sucked. And CNNs existed for decades before AlexNet. Honestly, the software and hardware engineers are the real heroes of the deep learning revolution.

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.

Post reply on HN