Hacker News new | past | comments | ask | show | jobs | submit login
How much information can a small image contain? (camerongordon.site)
38 points by iciac on Oct 3, 2021 | hide | past | favorite | 26 comments



Many moons ago, I wondered what it would look like if you iteratively generated every possible image. It doesn't sound very useful at all (and it certainly isn't) but I learned C++ and SDL that way.

This is probably terrible code by anybody's standards but maybe someone wants to take a look: https://github.com/svenstaro/infinerator


I've thought about this as well; it's one of those weird things where you realize that with enough pixel count and shading options, every image you can think of exists within the total set of generated images.


"enough" hides a surprising amount of work. Mobilise the entire planet's computers for a decade, assuming a generous Moore's law increase as well, and you might count through seventeen 8-bit grayscale pixels in that decade.

Annihilate the Sun and you won't get enough energy to drive a simple counter through thirty 8-bit grayscale pixels.

https://security.stackexchange.com/a/6149/


A story about the text version of this concept: https://en.wikipedia.org/wiki/The_Library_of_Babel



An an online version based on that story: https://libraryofbabel.info/


I think about it from the perspective of ideas, once we figure out something (how to fly, electricity) we know it. How do you brute force find that info through random/massive computation. Specifically to find the next things we don't know like jumping dimensions or FTL, etc...


Very very misleading.

First, article tried to assess information capacity in Shannon style, completely disregarding what signal is (a) two-dimensional and (b) highly redundant, that is, ignoring the traits of being an image.

Second, article taken too much liberties while mixing photorealistic and pixel-art images. The latter is really an art, since there is no formally defined ("machine") transform between these two types. And last but not least these types have significantly different information density profiles.

No DSP curiosity here.


The introduction has lost me completely: such a long winded way to say that 32x32x3 bytes can represent 2^(32x32x3x8) different values.


I think the point of the article is that there isn't 2^(32x32x3x8) meaningful images that can be encoded - there's far less than that because so many of the possible arrangements of the data are just meaningless noise, or millions of versions of the same thing with slightly altered color values etc.

The article is saying that neural networks are cool, because part of what they do is finding which images actually contain meaningful visual information.


But they don't, they often conflate noise with actual features, as long as the noise has some statistical bias, which given enough random generations, will. Try it yourself, generate random images using a uniform distribution (not gaussian) and run a SOTA classifier on them. Eventually you'll hit some minor false positives.

It errs in the same way we often see objects in clouds or constellations.


I got the point quickly enough (from the title and initial table of snapshots?), but author has lost me as a reader due to saying little with too many words before they could elaborate on the point.


I sort of came at the combinations of small images from a slightly different angle when I was a teenager, I was imagining that if there was a movie of your life (and everyone elses, in fact every possible life you could live) then you could produce every still image of that video if you restricted the bounds of the image to something small but understandable. I was very quickly was disappointed at how big the numbers get :)


Up to infinity ? (depends of person interpreting it - "a picture is worth a thousand words")


I was hoping this was an article about packing different executables into images like I saw on Twitter.


wonderful, it looks like people are talking with Zoom, kidding. a image can contain lot more information if it is designed by an professional artist. an image have an message for everyone.


Would this be a good way to avoid censorship. Encode an image by mixing it with a private key image, maybe xor the cells or something like that. Post online. Anyone with the key image can decode.


This is encryption and/or steganography.


N^M, clearly.


Amateur.

Use the whole space [32x32x3 bytes = 3072 bytes] to encode a Busy Beaver.


It's still at most n^m different images.


True, but the posed question was "how much information can a small image contain", not "how many unique images are there"



What's the distinction?

Specifying an element from a set of 2^n members seems equivalent to encoding n bits of information.


> "Machine learning tries to do by math what we are able to do by instinct"

...except that we also do it by math. It is just so fast and optimized, that we refer to it as instinct.


That's like saying gravity works because it uses math. No, we just applied our version of math to it




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: