7 ms·
Sir, there's a cat in your mirror dimension
- deadbabe 2y agoIs there a way to reliably scrub an image of any possible hidden watermarks that can be created like this?
- topherclay 2y agoOf course. the first image of the blog post shows that you can "paint over" the largely unused area and you don't lose much of your original image. The hidden watermarks make use of this unused area so you can just paint over that area with blank data in order to "scrub" any hidden watermarks.
- forgotusername6 2y agoI'm pretty sure you could also layer the cat noise evenly over the image without significantly damaging the woman. The DCT puts all the importantly information top left, but there is nothing stopping you adding a step to distribute that information across the whole image, or using another transform that didn't have the same concentration effect
- topherclay 2y agoWell sure, but whatever extra step you use to encode you will also need as an extra step to decode.
- tsukikage 2y ago"Reliably" is a difficult word. If you understand how a specific watermark works, then yes, absolutely. If you want a fully general method that counters every possible thing you might come across... well. That's hard. "Imperceptible" watermarks work by altering detail humans don't notice or pay attention to. So your scrubber would need to reliably remove or change all such detail. Removing such detail is absolutely something we can do - the article mentions one way, other commenters make other suggestions, and also lossy image compression in general works by losing exactly such details from the compressed image so there's that as well. But /reliably/ get rid of /everything/, so you can be /completely certain/ no watermarks encoded in ways imperceptible to a human can possibly be left, without knowledge of the specific watermarks you want to remove or at least a way to test for their presence? You're looking at some drastic technique, in the realm of "theoretically possible but impractical"; e.g. one way might be to hand the image to a human artist, commission them to paint a copy, scan that in and use that. Note how, in the article, it's still possible to pick out the cat even as the jpeg compression level increases. If someone found a way to avoid encoding that information without degrading original image in ways noticeable to human observers, we'd all be all over that, because it would give us a way to make image files even smaller than we can now. This is an active area of research, precisely because it is key to getting better compression for sound and video to better understand how humans perceive things, what they notice and what they do not, so that we can reliably avoid storing information that humans will not notice the absence of / changes to, while still storing everything humans do notice. It is possible that we will one day have a complete enough understanding of human perception to make some kind of general guarantees here. But that day is not today, and tomorrow doesn't look good either.
- deleted 2y ago[deleted]
- deleted 2y ago[deleted]
- deleted 2y ago[deleted]
- kiernanmcgowan 2y agoA great example of the time-frequency (or space-frequency in this case) duality of fourier transforms. The math of the FT doesn't care about the "direction" that your going for the transform, so function that look similar in time/frequency will have similar FT in the frequency/time space. In this case, embedding the frequency plot of the cat in the space plot of the women means that the FT of the women will cause the cat to appear, and vis-versa.
- jessetemp 2y agoThat post just gets better all the way through. I can't believe I never realized the frequency domain can be used for image compression. It's so obvious after seeing it. Is that how most image compression algorithms work? Just wipe out the quieter parts of the frequency domain?
- abetusk 2y agoYep, this is how both MP3 (and Ogg-Vorbis) and JPEG all work. Picking the weights for which frequencies to keep is, presumably, chosen based on some psychoacoustic model but the coarse description is literally throwing away high order frequency information.
- dylan604 2y ago> chosen based on some psychoacoustic model Does audio encoding use a similar method of using matrices to pick which frequencies get thrown away? Some video encoders allow you to change the matrices so you can tweak them based on content.
- astrange 2y agoAudio is one dimensional, so it doesn't use matrices but just arrays (called subbands). And you can't get too hard into psychoacoustic coding, because people will play compressed audio through all kinds of speakers or EQs that will unhide everything you tried to hide with the psychoacoustics. But yes, it's similar. (IIRC, the #1 mp3 encoder LAME was mostly tuned by listening to it on laptop speakers.)
- dylan604 2y agoI know one mix studio that has a large selection of monitors to listen to a mix through ranging from the highest of high end studio monitors, mid-level monitors, home bookshelf speakers, and even a collection of headphones and earbuds. So when you say "check it on whatever you have available", you have to be a bit more specific with this guy's setup
- toast0 2y agoI'm a little bit slow with all this stuff, can somebody confirm this is the process: a) take photo of woman and photo of cat b) DCT cat into the frequency domain c) composite the frequency domain cat into the visual image of the woman d) if you DCT the composite image, you get the cat back? (or more specifically, you get the visual cat and the frequency domain woman composited; but the visual cat dominates)
- readthenotes1 2y agoThis article makes the case that "steganography" should be renamed to "catography"
- tzot 2y ago“Stegatography” can be an even more appropriate choice if you speak one of the languages born around the European side of the Mediterranean sea.
- selimthegrim 2y agohttps://stegato.com/ https://stegato.com/
- hi-v-rocknroll 2y agoIt's clearly a startup in Los Gatos. Herding is the premium add-on.
- ryandrake 2y agoIt's a very cool and interesting steganographic application! Want to hide an illicit image inside an innocent image? Just convert it to frequency domain and composite it onto the other image. As long as the viewer knows how to transform it back, you have a covert way to send images that is potentially hard to detect.
- bee_rider 2y agoIt would be hard to detect if the other party didn’t know what to look for, but easy if they did. If you combined your hidden image with a one-time-pad it should be indistinguishable from noise, right? And noise would be expected in a lossily compressed image. I wonder if anyone has done that. It seems like we’d probably never know unless they told us!
- cvwright 2y agoThere were worries after 9/11 that terrorists were using stego to plot attacks, posting their messages “hidden in plain sight” inside images on public websites. Someone (Niels Provos?) did a pretty thorough search and analysis of images on eBay and came up with nothing. Apparently it was just post-9/11 paranoia.
- woopsn 2y agoIn most photos with a recognizable subject, spectral energy will be concentrated around the origin (the upper left corner) as it is here https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89dea704-5264-47a5-a8c7-a8a7765d1cc2_1600x800.jpeg https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_pr... The same is true for the DCT of the woman. Meanwhile, the subject of a photo is typically located towards the frame's center. This helps minimize interference between the space and frequency domain data in the composite, thus preserving kitty's expression when the transform is inverted https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb815ef-c780-4dfb-ad6e-bdd84a1f3814_800x800.png https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_... (and vice versa for the woman)
- jameshart 2y agoAnd this is only true of the DCT - 2D Fourier transforms of images usually concentrate the data near the center of the image.
- whimsicalism 2y agoits the same fundamental effect
- nico 2y agoIt makes me think how the lens of the camera, is focusing the light/image at the center of the sensor, so it would make sense that data is also denser at the center, where the lens concentrated more light
- jameshart 2y agoSo… I think you’re a bit confused about how lenses work and what they do (they don’t focus all the light into the middle, they focus light from one plane onto another one. They only focus light from the center of the frame onto the center of the image - that’s why it’s an image) But… there is something interesting about what ‘focusing’ looks like in the frequency domain, and the difference between the frequency-space-transform of a sharply focused image and a blurred image - or of the same image focused at different focal planes - shows up as a predictable transformation in the frequency space; which means you can apply transformations in frequency space that cause focus changes in the image domain like a lens does.
- whimsicalism 2y agoIf the cat were more focused in the upper left, I don't think this demo would work as well. DCT will have lots of high magnitude low frequency components which will drown out the cat if it is near the top left.
- lucianbr 2y agoAlso the fact that JPEG throws away a lot of data without us noticing is hardly a discovery, rather the stated purpose of the compression algorithm.
- rmnclmnt 2y agoFrom what I remember from some student project many years ago, this technique is the basis for robust digital watermarking for any kind of signals, be it images or audio. Of course the main application is to detect copyrighted material even after signals being heavily processed (e.g. ripped or cam’d movies, provided by JPEG-2000). If anyone in the movie industry can provide some more technical details, I’m all ears!
- phyzome 2y agoI once tested a watermarking system (Digimarc?) and found that while it was robust against all sorts of noise and scaling, it failed with even a 1% rotation of the image. I wonder if it was a Fourier Transform based algorithm.
- dookahku 2y agothis reminds me of Hough transformations.
- ziofill 2y agoOne interesting thing is that in the quantum description of position and frequency (i.e. position and momentum if you account for hbar), it is not possible to cram two different functions into one in this way because functions that differ by a position-dependent phase are different quantum states.
- baobabKoodaa 2y agoCan someone please ELI5 for me? I don't understand how the cat is encoded in the image that has both woman and cat. I assume the visible pixels are in some way slightly altered to encode the cat?
- pwg 2y ago@toast0 answered your question here: https://news.ycombinator.com/item?id=40357927 https://news.ycombinator.com/item?id=40357927
- baobabKoodaa 2y ago"DCT cat into the frequency domain" is not really a "ELI5" level explanation.
- GloriousKoji 2y agoThere's a magical math operation called DCT (discreet cosine transformation) which can turns things into dust (frequency domain) and back (spatial domain). So you DCT a woman and you get woman-dust. If you DCT the woman-dust you get the woman back. So what you do is DCT a cat to get cat-dust and sprinkle it on the woman. It's hard to see the cat-dust but if you look really closely you can see it (upper left corner of the image). We now have a dusty woman. Then you DCT the dusty woman and get a dusty cat! Look in the upper left and you can see the woman-dust. Apply the DCT again to this image and we're back to the dusty woman. Just apply DCT all day long to swap between a dusty cat and a dusty woman! You must be wondering why does this work? It's due to the properties of dust and human perception. When we DCT the woman and cat you'll notice most of the dust is in the upper left corner. That's where all the heavy dust is. It's fine to lose the lighter dust further out or even add more dust out there since most of the weight is in the upper left, the DCT will get you close enough.
- xuhu 2y agoHow is the DCT of the two images done here exactly ? Clearly 8x8 tiles like in JPEG are not used, otherwise the similar blurry background tiles would still look similar in the DCT composite. Are the 2D DCT basis functions not a thing in this case ?
- doetoe 2y agoThe 8x8 is just a choice made for jpeg, the DCT can be done for any m x n array (or m x n x k x ...). Here the full image is transformed
- TZubiri 2y ago[flagged]
- sim7c00 2y agoi know nothing of this stuff, but it reminds me of aphex twin and venetian snares encoding images into their sounds. is that a similar thing somehow? i thinknfor venetian snares the track was something like song for my cat. if you'd use certain tools, the frequencies would show a picture of a cat. edit: venetian snares was an album, songs about my cats. you can find it on youtube, unsure if i can link it.
- tiagod 2y agoYes it's a similar thing, as mentioned in the article. The spectrogram is the frequency-domain, your wave file is the time domain.
- jontutcher 2y agoA similar fun trick was used by Aphex Twin (and others) to make a weird face appear in the audio spectrogram of one of his tracks: https://news.ycombinator.com/item?id=8509105 https://news.ycombinator.com/item?id=8509105
- sim7c00 2y agolove this, venetian snares too. thanks for confirming haha, i wasnt sure how they did it! cool memories =) thx! didnt know which one it was from aphex twin. these guys are magicians :D
- TheOtherHobbes 2y agoMetaSynth has been around since the late 90s and combines time (samples) and frequency (image) transforms of audio with Photoshop-style filters of the images. https://uisoftware.com/metasynth/ https://uisoftware.com/metasynth/
- gjm11 2y agoI wonder whether this was inspired by https://xkcd.com/26/ https://xkcd.com/26/. (I'm guessing not since there's no mention of it. But it's a nice coincidence.)
- Animats 2y agoJPEG 2000 is even weirder. That's a wavelet transform. If you truncate a JPEG 2000 file, you can still recover a lower resolution image. At some file length, the image goes to greyscale, as the color information disappears.
- birracerveza 2y agoHow is that weird? That seems like a feature.
- ActorNightly 2y ago>In MATLAB, you can do the following: Why
- kwhitefoot 2y agoDoes anyone know how to do this in Octave or some other free software rather than Matlab?
- kwhitefoot 2y agoIn case anyone else wants to know the solution is: >> woman = imread("~/Downloads/woman-with-cat.png"); >> colormap('gray'); >> imagesc(woman, [0 255]); >> pkg load signal >> cat = dct2(woman); >> pkg load image >> imagesc(imsmooth(cat, "Gaussian", 1), [-4 4]); dct2 is unimplemented in the image package but exists in the signal package.