Tricking The Brain Into Seeing Boosted Contrast In Stereo Imagery

Last year a team of researchers published a paper detailing a method of boosting visual contrast and image quality in stereoscopic displays. The method is called Dichoptic Contrast Enhancement (DiCE) and works by showing each eye a slightly different version of an image, tricking the brain into fusing the two views together in a way that boosts perceived image quality. This only works on stereoscopic displays like VR headsets, but it’s computationally simple and easily implemented. This trick could be used to offset some of the limitations of displays used in headsets, for example making them appear capable of deeper contrast levels than they can physically deliver. This is good, because higher contrasts are generally perceived as being more realistic and three-dimensional; important factors in VR headsets and other stereoscopic displays.

Stereoscopic vision works by having the brain fuse together what both eyes see, and this process is called binocular fusion. The small differences between what each eye sees mostly conveys a sense of depth to us, but DiCE uses some of the quirks of binocular fusion to trick the brain into perceiving enhanced contrast in the visuals. This perceived higher contrast in turn leads to a stronger sense of depth and overall image quality.

Example of DiCE-processed images, showing each eye a different dynamic contrast range. The result is greater perceived contrast and image quality when the brain fuses the two together.

To pull off this trick, DiCE displays a different contrast level to both eyes in a way designed to encourage the brain to fuse them together in a positive way. In short, using a separate and different dynamic contrast range for each eye yields an overall greater perceived contrast range in the fused image. That’s simple in theory, but in practice there were a number of problems to solve. Chief among them was the fact that if the difference between what each eyes sees is too great, the result is discomfort due to binocular rivalry. The hard scientific work behind DiCE came from experimentally determining sweet spots, and pre-computing filters independent of viewer and content so that it could be applied in real-time for a consistent result.

Things like this are reminders that we experience the world only through the filter of our senses, and our perception of reality has quirks that can be demonstrated by things like this project and other “sensory fusion” edge cases like the Thermal Grill Illusion, which we saw used as the basis for a replica of the Pain Box from Dune.

A short video overview of the method is embedded below, and a PDF of the publication can be downloaded for further reading. Want a more hands-on approach? The team even made a DiCE plugin (freely) available from the Unity asset store.

Continue reading “Tricking The Brain Into Seeing Boosted Contrast In Stereo Imagery”

Form 3 SLA Printer Teardown, Bunnie Style

[Bunnie Huang] has shared with all of us his utterly detailed teardown on the Form 3 SLA printer from Formlabs (on the left in the image above) and in it he says one of the first things he noticed when he opened it to look inside was a big empty space where he expected to see mirrors and optics. [Bunnie] had avoided any spoilers about the printer design and how it worked, so he was definitely intrigued.

The view inside the Form 3.

Not only does the teardown reveal the kind of thoughtful design and construction that [Bunnie] has come to expect of Formlabs, but it reveals that the Form 3 has gone in an entirely new direction with how it works. Instead of a pair of galvanometers steering a laser beam across a build surface (as seen in the Form 1 and Form 2 printers) the new machine is now built around what Formlabs calls an LPU, or Light Processing Unit, which works in conjunction with a new build tank and flexible build surface. In short, the laser and optics are now housed in a skinny, enviromentally-sealed unit that slides left and right within the printer. A single galvo within steers the laser vertically, as the LPU itself moves horizontally. Payoffs from this method include things such as better laser resolution, the fact that the entire optical system is no longer required to sit directly underneath a vat of liquid resin, and that build sizes can be bigger. In addition, any peeling forces that a model is subjected to are lower thanks to the way the LPU works.

Details about exactly how the Form 3 works are available on Formlabs’ site and you can also see it in action from a practical perspective on Adam Savage’s Tested (video link), but the real joy here is the deeply interesting look at the components and assembly through the eyes of someone with [Bunnie]’s engineering experience. He offers insights from the perspective of function, supply, manufacture, and even points out a bit of NASA humor to be found inside the guts of the LPU.

[Bunnie] knows his hardware and he’s certainly no stranger to Formlabs’ work. His earlier Form 2 teardown was equally detailed as was his Form 1 teardown before that. His takeaway is that the Form 3 and how it works represents an evolutionary change from the earlier designs, one he admits he certainly didn’t see coming.

3D Pens Can Make Ugly Drone Parts That Almost Work

Small hobby aircraft and light plastic parts go hand in hand, and a 3D printing pen makes lightweight plastic things without the overhead of CAD work and running a 3D printer. So could a 3D pen create useful plastic bits for small quadcopters? [Michael Niggel] decided to find out by building his drone parts with a 3D pen loaded with ABS plastic. He mostly discovered that the created objects could politely be said to look like they were sketched by a toddler, but that’s not all he learned.

He found that in general creating an object was harder than the marketing materials implied. As soon as the filament exits the pen’s nozzle, the thin little molten line of plastic cools rapidly and does two things: it has a tendency to curl, and loses its desire to stick to things. [Michael] found the whole affair worked much less like ‘drawing in thin air’ and rather more like piping frosting, or caulking.

An almost functional micro quad frame. The arms aren’t rigid enough to hold the motors vertical when under power.

Nevertheless, [Michael] sought to discover whether a 3D pen could be used to make quick and dirty parts of any use. He created two antenna brackets and one micro quad frame. All three are chaotic messes, but one antenna bracket was perfectly serviceable. The 3D pen was indeed able to create a strangely-shaped part that would have been a nightmare to CAD up. The other antenna part worked, but didn’t do anything a zip tie wouldn’t have done better. The rapid cooling of the plastic from the 3D pen has an advantage: extrusions don’t “droop” like a glob of hot glue does before it hardens.

By now, [Michael] agreed that the best way to create a plastic part of any complexity whatsoever seemed to be to draw sections flat, build them up in layers, then use the pen to weld the pieces together and add bulk. The micro quad frame he made in this way doesn’t look any nicer than the other attempts, but it did hold the parts correctly. Sadly, it would not fly. Once the motors powered up, the arms would twist and the flight controller was unable to compensate for motors that wouldn’t stay straight. This could probably be overcome, but while the end result was dirty it certainly wasn’t quick. The 3D pen’s niche seems restricted to simple, unstressed parts that aren’t permitted to gaze up themselves in a mirror.

If you have a 3D pen, we’d like to remind you of this mini spool design whose parts are welded together with the pen itself. For bigger jobs, a high-temperature hot glue gun can be used to dispense PLA instead.

Tales (and Advice) From Setting Up A Product Line

Making something that has to get into others’ hands involves solving a lot of different problems, many of which have nothing at all to do with actually building the dang things. [Conor Patrick] encountered them when he ran a successful Kickstarter campaign for an open-source USB security key that was not only shipped to backers, but also made available as an ongoing product for sale. There was a lot of manual and tedious work that could have been avoided, and so [Conor] laid out all the things he wishes he had done when first setting up a product line.

Turning these unprogrammed boards into finished products then shipping them is a big job.

If the whole process is a river, then the more “upstream” an issue is, the bigger its potential impact on everything that comes afterwards. One example is the product itself: the simplest and most easily managed product line is one that has only one product with no variations. That not only minimizes errors but makes supply, production, and shipping more straightforward. Striving for a minimum number of products and variations is also an example of something [Conor] didn’t do. In their crowdfunding campaign they offered the SoloKeys USB device — an implementation of the FIDO2 authentication token — as either USB-A or USB-C. There were also two types of key: NFC-capable (for tapping to a smartphone) and USB only. That is four products so far.

Offering keys in an unlocked state for those who want to tamper makes it eight different products. On top of that, they offered color choices which not only adds complexity to production, but also makes it harder to keep track of what everyone ordered. [Conor] also observed that the Kickstarter platform and back end are really not set up like a store, and it is clunky at best to try to offer (and manage) different products and variations from within it.

Another major point is fulfillment and in [Conor]’s opinion, unless the quantities are small, an order fulfillment company is worth partnering with. He says there are a lot of such companies out there, and it can be very time consuming to find the right one, but it will be nothing compared to the time and effort needed to handle, package, address, and ship several hundreds (or thousands!) of orders personally. His team did their own fulfillment for a total of over 2000 units, and found it a long and tedious process filled with hidden costs and challenges.

There’s good advice and background in [Conor]’s writeup, and this isn’t his first rodeo. He also shared his thoughts on taking electronics from design to production and the more general advice remains the same for it all: be honest and be open. Under-promise and over-deliver, especially when it comes to time estimates.

VGA Signal In A Browser Window, Thanks To Reverse Engineering

Epiphan VGA2USB LR VGA-to-USB devices

[Ben Cox] found some interesting USB devices on eBay. The Epiphan VGA2USB LR accepts VGA video on one end and presents it as a USB webcam-like video signal on the other. Never have to haul a VGA monitor out again? Sounds good to us! The devices are old and abandoned hardware, but they do claim Linux support, so one BUY button mash later and [Ben] was waiting patiently for them in the mail.

But when they did arrive, the devices didn’t enumerate as a USB UVC video device as expected. The vendor has a custom driver, support for which ended in Linux 4.9 — meaning none of [Ben]’s machines would run it. By now [Ben] was curious about how all this worked and began digging, aiming to create a userspace driver for the device. He was successful, and with his usual detail [Ben] explains not only the process he followed to troubleshoot the problem but also how these devices (and his driver) work. Skip to the end of the project page for the summary, but the whole thing is worth a read.

The resulting driver is not optimized, but will do about 7 fps. [Ben] even rigged up a small web server inside the driver to present a simple interface for the video in a pinch. It can even record its output to a video file, which is awfully handy. The code is available on his GitHub repository, so give it a look and maybe head to eBay for a bit of bargain-hunting of your own.

Peek Inside These Same-But-Different Power Supplies

When [Kerry Wong] found an Amrel PPS 35-2 Programmable Power Supply from the late 90s on eBay, he recognized it as the single-channel version of another unit he owned, the dual-channel Amrel PPS-2322. Naturally, he purchased it and did a compare and contrast of the two models.

From the outside, they look fairly different but weigh about the same. But the similarities on the inside make it quite clear that they share a common design. There are a few things that grab your eye and the 35-2 doesn’t seem quite as well thought out, with some components being soldered into awkward-looking places. Capacitors bristle like barnacles where they are soldered directly to a connector, and a blob of hot glue anchors two resistors that rise up out of the board like a couple of weeds.

The link above shows some high resolution side-by-side photos between the two models, and [Kerry] thoughtfully provides a link to the manual for the PPS series as well as a dump of the firmware (.zip) for the 35-2. A teardown video is embedded below.

Benchtop power supplies are important tools, but we’ve also seen how modern breadboard power supplies are remarkably full-featured.

Continue reading “Peek Inside These Same-But-Different Power Supplies”

Think You Know CURL? Care To Prove It?

Do you happen to remember a browser-based game “You Can’t JavaScript Under Pressure”? It presented coding tasks of ever-increasing difficulty and challenged the player to complete them as quickly as possible. Inspired by that game, [Ben Cox] re-implemented it as You Can’t cURL Under Pressure!

In it, the user is challenged in their knowledge of how to use the ubiquitous curl in a variety of different ways. Perhaps this doesn’t sound terribly daunting, especially if your knowledge of curl is limited to knowing it is a command-line tool to fetch something from a web server. But curl has a staggering number of features. The man page is over 4500 lines in length. The software’s main site offers a (free) 250+ page guide on how to use curl and libcurl. Reflecting on this is exactly what led [Ben] to create his challenge.

It’s a wonderful piece of work, but things get really interesting once [Ben] starts talking about the infrastructure behind it all. At its core the game works by giving the user a problem and a virtual machine, and catching outgoing HTTP calls to see whether they look correct. If the outgoing HTTP call is the right solution for the problem, terminate the current VM and start up the next one with the next problem. He’s put a lot of work into getting suitable VMs up and running quickly, securely, and properly isolated. The code can be found on the project’s GitHub repository for those who want a closer look.

But that’s not all. [Ben] says that in the past he’s had a bad habit of presenting interactive features in his blog posts that can’t keep up with sudden demand. So to address that, the system auto-scales as needed with a small Linux cluster; small brick-sized PCs are started and shut down automatically to meet demand. Hey, the only thing cooler than a functioning cluster is a cluster doing an actual job, like this one that detects NSFW images.