Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Accidental Pinhole and Pinspeck Cameras (2014) (csail.mit.edu)
147 points by arseny-n on Sept 2, 2020 | hide | past | favorite | 33 comments


Relatedly, the fact that light is reversible (behaves the same forward in time/direction as backwards) means you can swap the light source and camera of an image (if just one point lightsource). I.e. you can render the scene from the perspective of the light source as if light were emitted by the camera. I recall seeing a neat demo of this but I can't find it on google. Anyone know it?



Figure 12 is wild. They take an image from overhead a scene - a box which contains a mirror (perpendicular to the camera so you can't see the surface) and some other objects. They illuminate from the side (shining into the mirror) and are able to reconstruct that view. That is an image facing the mirror whose surface the camera can't see and it correctly shows reflections.


Did you see Figure 16?? The camera is pointed at the back of a playing card (like, from a 52-card deck), and the front is faintly reflecting light onto a book, and they're able to reconstruct a shockingly clear image of the front of the card (King of Hearts, spoilers).


Did someone achieve a picture with the sun as camera?

I would guess it may be blurry?


I haven't fully read through the paper, but it looks like an important part of the technique is that the light acts like a point light at each point in time. For example, the projector will emit certain patterns of light, like in Figure 6 of the paper, to illuminate a localized group of pixels in the camera. Varying this pattern over time, it's possible to reconstruct how a small amount of light exiting the light source affects a small amount of light captured by the camera.

And even with "point" light sources and the parallelized light patterns, the whole scanning takes a while:

> This image is 578x680 pixels and was acquired in a little over 2 hours.

The swapped image has the same resolution as the projector, so it seems yes, you'd get a very low resolution image if you used a large light source like the sun. You can see this in the "Accidental Pinhole" supplemental video. The reconstructed image is very low resolution, but the quality is slightly better when the light comes in via a smaller area (a mostly closed window).


Thank you!


This is how path-tracing graphics engines like Blender's Cycles work. They fire rays from the camera and record whether they hit light sources, which allows simulating far fewer rays.


The demo I saw had a projector scanning a room, pixel by pixel, and a single light sensor. This was adequate for taking lousy photos for 10x the cost of a camera.

It was neat, though!


Every analog headphone or other speaker can also be used as a microphone.


s/analog/passive/

A speaker with an in-amplifier is still an analog speaker, but not a passive one.


Similarly, a typical LED can be used as a photometer.


>> you can render the scene from the perspective of the light source as if light were emitted by the camera

A slide projector. A 35mm slide is exposed from one side, in a camera, to create the image. Then it is lit from the other side, in a projector, to render the scene. Do this with polaroid-type film and one device could be both camera and projector, possibly with only one or two moving parts.


That was my first thought as well, that analog media are generally reversible, but if I understand the parent post it isn’t really what he’s talking about - rather that the image from a camera is enough to render the scene from the perspective of the lamp that lit the initial image. That’s very different from a projector, or say the way a mic and speaker are essentially the same thing.


This reminds me of how early mechanical television cameras worked. Scenes like these [1] were recorded with a flying spot camera that scanned a dark room with a narrow beam of light. Photocells placed around the room picked up the reflected light. Such a photocell appears to "illuminate" the area around it in the footage.

[1] https://youtu.be/2W8SrgJ1hVM

There is probably a more illustrative video but I can't find it at the moment.



Incredible. And with the various upscaling/denoising neural networks kicking around, I imagine we can clean all these novel methods of seeing around/inside/through things up to where they're nearly perfect.

I don't know why this strikes me as so incredible, but it does.


Your optical mouse sensor is also a low res camera. In older models you could dump the picture through a debug mode.

Also, LEDs can also act as light sensors. Food for thought.


The 8-Bit Guy recently did this in a video. The whole thing is worth a watch, but the image he read from a mouse is here: https://youtu.be/xWB9dP1AtDU?t=490


A word of warning: 8-Bit Guy has some interesting videos, but his restorations of vintage hardware are really damaging to the hardware and generally poor quality (even if the final result looks fine). I guess it's fine if he sticks to a 2600 or something, but some of the stuff he's done destroys rare hardware with real historical significance.


Can you give an example? How are the restorations damaging?


I guess I should have.

- He uses retrobrite frequently. This is a controversial practice (personally, I'm against it). Basically, restoring a yellowed case to a closer-to-original color. The long term effects of this process are unknown (some speculation is that it makes plastic brittle, which is bad enough already on some of this older hardware) - it's probably okay to do it to an Apple II, but maybe not rarer hardware.

- His work is shoddy - frequently, he powers on 30+ year old machines without inspecting the caps. He uses a screwdriver on metal to clear adhesive. When a component is malfunctioning, he does't have the capability to examine it with a scope - sometimes, it's just a bad joint you know?

- He runs an entertainment channel. This means he moves fast. It leads to the above shoddy work but also means that he needs a complete project for video views - 8bg will spraypaint a faded case to a new color and call it done.

- RaspberryPi conversions. Man, I hate these. Let the thing be the thing that it was and let a Pi be a Pi.

And you know, this is probably fine for commodity hardware like TRS80s and Apple IIs. And, he does a good job of cutting videos showing logical progression to make them easier to watch. But, you'll notice that he never does workstation, graphics, or other esoteric hardware - that stuff is a legitimate challenge to restore aside from cleaning goop and retrobriting the case.


> Also, LEDs can also act as light sensors. Food for thought.

As an undergrad, I had to write a 'chat-program' where two LEDs on Arduinos were used for communication; essentially blinking at each other, acting both as sender and receiver. Fun times!


Additionally, you can power solar panels and they'll emit light! It can be used as a quick visual inspection that all the panels are working if you have a ton of them.


> Also, LEDs can also act as light sensors. Food for thought.

Makes me wonder if our eyes could be made to project light.


Some recent research results indicate that the human body is already mildly bioluminescent:

https://www.livescience.com/7799-strange-humans-glow-visible...


There was also a piece of software in the early days of optical mouse sensors that let you use your mouse as a scanner.


I had this happen when I put up some shutters in my room. There were about six ventilation holes at the top of each one, and the scene outside was projected onto my wall on a bright morning. It was unexpected, and unexpectedly beautiful.



> A shadow is the negative picture of the environment around the object producing it.

Just screams to be the plot for a mystery novel/movie of some sort.


this brings to mind the scene in BLADE RUNNER where Deckard analyzes the photograph


I'd never heard of anti-pinholes before. It's a fantastic concept.


Is there a recent follow up work?




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

Search: