Polarization Camera Views The Invisible

Light polarization is an interesting phenomenon that is extremely useful in many situations… but human eyes are blind to detecting any polarization. Luckily, [David] has built a polarization-sensitive camera using a Raspberry Pi and a few off-the-shelf components that allows anyone to view polarization. [David] lists the applications as:

A polarimetric imager to detect invisible pollutants, locate landmines, identify cancerous tissues, and maybe even observe cloaked UFOs!

The build uses a standard Raspberry Pi 2 and a 5 megapixel camera which sits behind a software-controlled electro-optic polarization modulator that was scavenged from an auto-darkening welding mask. The mask is essentially a specialized LCD screen, which is easily electronically controlled. [David] whipped up some scripts on the Pi that control the screen, which is how the camera is able to view various polarizations of light. Since the polarization modulator is software-controlled, light from essentially any angle can be analyzed in any way via the computer.

There is a huge amount of information about this project on the project site, as well as on the project’s official blog. There have been other projects that use polarized light for specific applications, but this is the first we’ve seen of a software-controlled polarizing camera intended for general use that could be made by pretty much anyone.

The 2015 Hackaday Prize is sponsored by:

55 thoughts on “Polarization Camera Views The Invisible

    1. Indeed, I mention in the paper that “Humans have very marginal sensitivity to polarized light as discovered by Haidinger in 1846, but changes in polarization can only be perceived under very specific conditions.” This incidental sensitivity does not give us an advantage over normal vision in any practical target detection task.



    1. An LCD screen sits between 2 crossed polarized filters, in front of a backlight.

      The liquid crystal rotates the light polarization when un-energized, so that light (polarized from the back filter) that would normally be blocked will align with the front filter and get through.

      So the two plastic films are simple polarized filters, which you can get on eBay for not much money.

      OTOH, if you remove only the rear polarizer, the remaining LCD and sheet would give you a selective polarizer: normal light matching the polarization of the front sheet gets through, but when the entire screen is un-energized, normal light at 90 degrees from the front sheet gets through.

      Hmmm… that’s pretty interesting when you think about it.

      Color LCD screens have color filters over each pixel, so use a B&W screen.

      1. Take a look at automotive windows.

        I’ve noticed when wearing polarized sun glasses that curved window glass has visible patterns, which I suspect are caused by the forming process.
        Different makes of cars have different patterns as well. I noticed that the higher market cars tended to have a much more regular grid pattern to the glass, whereas the lower priced car glass often had a somewhat random pattern.

        1. Thanks Josh! That would be a very nice demo for DOLPi. These used to be very distracting to me when driving with polarized glasses. Lately I see them less and less with very bold patterns. I’ll make sure to post pictures when I take DOLPi out to the parking lot.

    1. Hi Jared,

      Indeed, I mention in the paper that “Humans have very marginal sensitivity to polarized light as discovered by Haidinger in 1846, but changes in polarization can only be perceived under very specific conditions.” This incidental sensitivity does not give us an advantage over normal vision in any practical target detection task.



    1. Indeed, I mention in the paper that “Humans have very marginal sensitivity to polarized light as discovered by Haidinger in 1846, but changes in polarization can only be perceived under very specific conditions.” This incidental sensitivity does not give us an advantage over normal vision in any practical target detection task.



  1. Your writeups here indicate that you chose to capture at four different polarizations (every 45°). Why not three angles (every 60°)? (I see why every 90° produces angles of ambiguity)

    Would it be practical to use the RasPi’s sound card in lieu of the 555 and MCP4725 ?

    How fast can you change the polarization of the filter? (Is this practical for real-time video?)

    Do any non-man-made light sources emit/reflect circularly polarized light?

    1. Hi RJ!

      Some polarimetric imagers that use separate polarization sensors (or a rotating polarization analyzer) capture images in 120 degree steps. However, this cannot be done with a single liquid crystal polarizer because it can only retard by a maximum of around 90 degrees. In DOLPi I don’t measure at -45 degrees, However, the -45 degree information is contained in the 0, 45, and 90 degree images, so the -45 degree image is not needed to acquire the complete linear Stokes vector as explained in the paper.

      Regarding the sound card instead of the 555+DAC – maybe. I’ll take a look at the output amplifier to see if it can be made to drive the LCP with no DC bias. A Steve Ciarcia says – “my favorite programming language is a hot soldering iron”, so the hardware solution was easy and reliable for me to implement.

      Regarding natural light sources that reflect circularly-polarized light – yes, they exist, but there aren’t many. Most beetles reflect light as circularly-polarized to some degree. Crysina gloriosa is a strong circular-light reflector.

      1. Ok, neat. The 90° range is a limitation due to using a TN LC polarizer, and although other materials (STN, FSTN) have a larger range, they aren’t as trivially cheap to get a hold of. Thanks for answering my questions!

      2. I only glanced over stuff, so excuse me if this is a silly remark, but can’t you use a polarizing filter and rotate it with a servo to do it cheaply in any angle you wish? While still having electronic control, although of course slightly slower in operation.

        And now that I’m talking tricks, what if you made a stereo version? If the object is seen from 2 angles the polarized portions of the picture might stand out even more since there would be a shift due to the angle, even with the polarizer at the same setting, and reveal more stuff hidden from the eye. (even when I heard somewhere there is this thing called Haidinger’s Brush…). But I”m just rambling now.

        1. Yes it can! In fact, easier than rotating it around its center axis you can use a larger piece of polarizer and attach it by a corner to the servo horn. The two holes in one of my test polarizer films (the screen shot in the description) has two holes exactly because this was the way in which I built the first camera :). The problem besides it being slow is that it causes movement which shows as color fringing in the output. Try one of the simple methods described in the white paper with the liquid crystal panel harvested from the welding mask filter – you won’t be disappointed!

          Regarding stereo, it’s a good idea. It has been investigated as a way of adding the polarization information to a color image. In DOLPi we are substituting color by polarization, but what if you would like to keep the color cues and add polarization? Since we don’t have a distinct polarization sense (and I say this hesitantly, worried that Haidinger comes out of the grave to haunt me), we need to find ways of replacing some mode by the polarization cues to retain other cues that may also be important.

          Something else for the to-do list…

          Thanks for your excellent comments. Hope you enjoy following the project.


  2. Actually this is a great way to actively detect something that is camouflaged. Tank with fake camo netting will stand out like a sore thumb to this kind of camera.

  3. My brother did his PhD at the Royal College on imaging using Polarized IR in the late 80’s. His thesis ended up Classified. His research was used successfully to develop imaging devices to distinguish between dummy tanks and real tanks in the Gulf War. Currently used for landmine detection.

        1. They actually did fool US pilots by putting burning oil drums on tanks making the pilot think that tank was hit already by the black smoke (and heat signature I guess). Worked like a charm until they got wind of the trick, but even then it must have been hard to be sure which is which unless you actually zoom in to get a visual, which requires the attacker to be near and have a stable zoom and be able to not have his vision obscured by the smoke.

    1. Very cool! Could you please point me towards any of your brother’s unclassified publications?

      Standard polarizing film doesn’t work well in the IR (if at all), so I use specialized polarizer glass for work below 600 mm. I still have to check if lie LCP will work in the IR. in fact, my original motivation for working on DOLPi to start with was as a tool for helping me align a nonlinear crystal for generating entangled photons at 810nm (with the RasPi cam looking through a Gen III intensifier). Please take a look at my other stuff under http://www.diyPhysics if interested in diy quantum optics.



  4. I can do the same thing simply by putting on my Foster Grant polarized sunglasses and tilting my head sideways. It’s like having a brightness control on reality. They also reveal spotted patterns in many car windows.

  5. I’m afraid the human eye is incapable of detecting any previously posted comment. So many threads on Haidinger’s brush..

    Using polar filters in photography is quite common. The new idea here is the computer control for that filter. Godd job anyway!

  6. hey ! really good documentation. But do you never hold the cam out of the window during the development ? Why is there only one picture of rectangle boxes ? Is the cam really working ?

    1. Hi! Works very well, but I haven’t taken it out of the lab. However, I’m on my way to the airport for a vacation with the family, and left behind my big glass (f2.8 70-200) to take DOLPi instead. I’ll be posting outdoors pictures soon, and will stop only when my status as a member of the family is threatened by my use of DOLPi during vacations :)

    1. Hi Nick!

      Yes, by taking three pictures with the polarizer rotated to three angles (45 degrees apart).

      The circular polarizer for a digital camera is really a linear polarizer facing the scene followed by a quarter wave plate to circularize the polarization for the camera’s benefit. This circularization is needed in many digital cameras because some autofocus mechanisms have trouble with linearly-polarized light. Film cameras could do well with a simple linear polarizer (which lacks the circularizing quarter wave plate after the linear polarizer).

      So, the long answer is that you can get the same result as DOLPi with a DSLR and a “circular polarizer” by taking three pictures of the same static scene – one with the linear polarizer filter set at 0 degrees, one at 45 degrees, and one at 90 degrees – then converting them to monochrome, and after that passing them through the Matlab code at the end of the DOLPi whitepaper that you can download from http://www.diyphysics.com/wp-content/uploads/2015/07/DOLPi_Polarimetric_Camera_D_Prutchi_2015.pdf.



  7. Neat project! I bet you get some cool photos of clouds. I once saw a dust-devil/thermal only visible through polarized glasses. Should I mention Haidinger so Noirwhal can continue to complain?

  8. Ps Haidinger fans – I made a test target to take with me using 8 pieces of polarizing film oriented 22.5 degrees apart. Not a single person has been able to spot the difference between them without using a polarization analyzer film!

  9. Uploaded a new picture to the project log showing the view from my hotel balcony on the Mediterranean. The picture shows the expected polarization of ocean reflection, and a beautiful transition in sky polarization.
    I’ll upload more pictures as time permits.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.