Live data from Hacker News

Learning to See in the Dark (2018)

github.com

151–160 of 179 posts

Re: Learning to See in the Dark (2018)

#151
post #51

Earlier quoted context omitted.

Counterpoint: The human brain converting a 2D image to a 3D model is educated-guesswork too :)

This hits on an interesting point. There is an entropy limit to the message, but the message isn't actually the only data. One thing humans are great at is integrating existing knowledge into a messy situation and intuiting more than is available just from the raw message. I.e. The message has an entropy limit, but the message isn't the whole dataset.

This doesn't quite match Information Theory.

First of all, if you were to use the image as a communication channel, how much you could theoretically communicate is exactly the entropy of messages (by definition), and optimal communication means maximum entropy. Information theory already assumes shared existing knowledge in the form of codes; the codes essentially encode all this knowledge, which you could make an analogy in images to digits and shapes, etc. -- what makes them decodable is there is statistical redundancy, shapes do not occur arbitrarily (i.e. not every possible shape occurs, at least not with equal probability) and exhibit dependence between different pixels of a shape and even between shapes elsewhere in the image. Again the dependence is (generally) based on the statistics of the distribution of all possible images -- it essentially encodes all prior knowledge.

This redundancy allows reconstruction of losses in on part of the image from data elsewhere. It's the same principle used in error correcting codes, except codes are designed, while shapes are mostly natural (except things like alphabets, which are designed and indeed follow some principles of codes). But because they're not designed there's not guarantee of having a unique/reliable decoding (i.e. you can get a distribution).

I think that's a significant issue, because if your estimate doesn't match reality it could have important consequences for the use of the image: perhaps text goes from 'X is good' to 'X sucks'.

In this case a few things could be done:

1) Have some kind of watermark indicating the image was enhanced by a neural network, and possibly contains false information;

2) Have some kind of indication of reliability of the image: it should encode the multimodality/confidence of the decoding distribution -- how many different solutions does this have. If it is more or less unique, it would show as high confidence; otherwise it would show a low confidence indicator;

3) Instead of trying to convey uncertainty, the system could simply give up in cases where there is too much uncertainty, i.e. leaving the image dark. This could be done locally or globally, although locally it introduces a lightning consistency problem.

---

There's another important observation w.r.t. Information Theory/Statistics: it essentially assumes unbounded computational power (since this distribution could require analyzing arbitrarily large datasets). Of course this isn't true in reality. For example, the entropy of an encrypted of a redundant text is exactly the entropy of the plaintext string plus the entropy of the key (given an encryption ensamble or encryption prior) -- the process of (e.g. through brute force) finding the key doesn't concern statistics. However, with reasonable computational power, the (properly) encrypted stream is indistinguishable from a random string, hence it would have maximum entropy. So there are further computational limits beside statistical limits. In the case of encryption the function is again designed (to be not tractable), while in natural images the correlations are of simpler and hopefully more tractable nature (although I'm sure not always the case).

Re: Learning to See in the Dark (2018)

#153
post #141

Hi, I'm a developer at NexOptic[0] and we are a company that was deeply inspired by this paper when it was first published. We had a lot of early success when attempting to replicate the results on our own and ended up running with it, and extending it into our own product line under our ALIIS brand of AI powered solutions. For those curious, our current approach differs in some very significant ways to the author's…

Sounds like you have taken this pretty far, do you have any example outputs? The only one I found via your website was a PDF with a low res image with no context.

Sure, we have a short deck[0] that gives an intro to our noise reduction, and also here is a folder[1] that shows off a calibration target we captured with a actual camera (20ms, f22) in low-light conditions: (original, 100x gain, 100x gain + ALIIS)

We also have some more raw data[2] where there is the original bayer data available as .npy files with 40db analog gain applied, however I think the calibration targets show off what we are able to accomplish more dramatically. Finally, we have a short youtube video[3] that shows off how it works when applied to video.

[0] https://www.dropbox.com/s/0bm4dpxhn35vkhe/ALLIS_Investor_Int...

[1] https://www.dropbox.com/sh/k861saentyq1cs6/AADmO7X_L49nUkEI_...

[2] https://www.dropbox.com/sh/fv8omdf4fbx59m9/AABDnf6sdvv7rtIml...

[3] https://youtu.be/99Cq1bWCmMM

Re: Learning to See in the Dark (2018)

#154
post #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?

The problem is the amount of pictures you'd need. It's much easier to use available datasets if you know how to preprocess the data.

Re: Learning to See in the Dark (2018)

#155
post #133
post #127

Earlier quoted context omitted.

What jpg? they are using raw data.

Image on Github is JPEG made from RAW. Since RAW file has more dynamic range and contains a lot more information than JPEG you can take that photo in an editor and crank up the brightness. You will get a noisy image but it will be a lot brighter and will probably resemble the image with the high ISO in the middle. Then in an editor you can apply some de-noiser to get results similar to the last one. So presumably thi…

The *PNG is there just to show the results produced by the CNN, if you watch the linked video they do exactly what you are suggesting and then compare both results.

Re: Learning to See in the Dark (2018)

#156

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.

I'm also not a fan of how the only part actually readable in the (a) original, which is part of the title in the front book, becomes completely whitewashed in (c). Where the model actually had the most information, it completely removed it in the result...

But wouldn't that level of glare be what would actually happen if you took the original image, and shot it in the amount of light required to make it look like the output image?

It's not trying to make things readable; it's trying to make things look like there was more light in the room when they were shot. In rooms with high lighting, some objects have glare. That's "correct"—it's what would appear in the training data.

Re: Learning to See in the Dark (2018)

#157

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.

Counterpoint: The human brain converting a 2D image to a 3D model is educated-guesswork too :)

Two 2D Images. The brain doesn't have to guess much when it can use the parallax effect created by both eyes. That's why quite a few animals have two eyes. And I believe that's why we have two ears, too.

Re: Learning to See in the Dark (2018)

#159
post #136

Earlier quoted context omitted.

Agreed. It gets to an important point of the purpose of the photo. Photo as a record versus photo as an aesthetic piece. This hurts the photo as a record but improves the photo as an aesthetic piece. This would be a bad addition to a security camera, but perhaps a good addition to an instagram pipeline. There are plenty of other issues there, like is it good/healthy for stuff like instagram to be diverging away from…

Photographs have never been faithful records. The map never the territory. There are always judgement calls. The whole concept of JPEG is to throw away information.

Nothing's a perfect record, but a thing's purpose can be to serve as a record. Like if you stick seismometer readings into an academic paper, everyone will know there's noise, but that's okay. You did your best. But there are some changes we can agree are bad there. Now, if you stuck your seismometer into an autotuner and sync'd it with led zeppelin, that's okay. Just not if you're putting that into your paper.

For a long time, photographs were typically used as records. Even when they were art, they were typically records of something. Soon, we'll be typically doing so much more with them and will have to accept that photos can, but frequently won't serve as records.

Re: Learning to See in the Dark (2018)

#160
post #141

Hi, I'm a developer at NexOptic[0] and we are a company that was deeply inspired by this paper when it was first published. We had a lot of early success when attempting to replicate the results on our own and ended up running with it, and extending it into our own product line under our ALIIS brand of AI powered solutions. For those curious, our current approach differs in some very significant ways to the author's…

It would be really cool if you could feed the network a photo with flash that it could use for gathering more information, but then recreated a photo without flash from the non-flash raw.

Often flash is not the look people are going for, but would be okay with the flash firing in order to improve the non-flash photo.

Post reply on HN