One Camera Leaves Gaps. Five Cameras Reveal the World.
A depth camera doesn't take a photograph. It builds a world — a dense cloud of points in 3D space, each one a precise distance measurement. Every surface, every edge, every object reduced to its position in space.
It's a remarkable way to see. The problem is the gaps.
A single camera captures what's directly in front of it. Everything else — the far side of an object, the space behind a surface, anything outside its field of view — simply doesn't exist in its picture of the world. Those invisible regions aren't a minor inconvenience. They're the difference between a system that understands a scene and one that only thinks it does.
That was true right up until multi-camera fusion stopped being a research problem — for a rig with its camera poses already known, it became a setup measured in minutes.
Why One Camera Is Never Enough
For a warehouse robot, an inspection rig, or any sensor array that needs a coherent model of its surroundings, a forward-facing view is only part of the scene — and the missing part is often exactly where the risk is.
The obvious answer has always been: add more cameras. The reason most teams haven't done it comes down to one word: plumbing. Synchronizing multiple cameras closely enough that their frames represent the same moment. Figuring out where each camera sits in space relative to the others. Fusing their individual views into a single coherent 3D picture. Each step is solvable — but together they can add up to weeks of engineering before you see a single useful point cloud. And underneath all of it sits a compute bill most edge platforms can't cover — fusing that many depth streams live isn't free.
We wanted to see what happens when that plumbing disappears.
Five Cameras in a Horseshoe Cover 225° Without Extra Hardware
We connected five RealSense D457 cameras to the AVerMedia D331 Carrier Board — built for the NVIDIA Jetson Thor module — and mounted them on a custom jig.
The jig shape comes from a regular octagon with three consecutive sides replaced by a flat edge, leaving a horseshoe-shaped arc. Each camera sits at the midpoint of one of the five remaining sides, pointing outward to capture the surrounding environment. Because the sides of a regular octagon are 45° apart, the five cameras are evenly spaced through a 225° arc — wide enough to cover the platform's forward arc and both flanks, with the open flat side leaving a clear path for access.

The D457 was the right camera for this for a couple of specific reasons. Its global shutter avoids the rolling-shutter distortion that would otherwise skew depth geometry in a moving scene. And its industrial chassis means it handles the temperature swings and physical stress that come with anything outside a lab.
GMSL Turns Camera Sync Into a Setting, Not a Wiring Job
Get the timing wrong on a multi-camera rig and a moving scene shows it immediately — frames captured even a few milliseconds apart turn into ghosting and seams where the point clouds should line up.
We used the D457's GMSL/FAKRA variant, where the sync trigger rides the same coaxial cable as power and depth data. Scaled to five cameras, that's the difference between one thin cable per camera and the alternative: a USB hub to aggregate the data, plus a separate sync harness threaded between all five. That harness runs its own exposed sync wire, which can pick up electrical noise and false-trigger a camera. GMSL folds all of that into cabling you'd already need to run.
The GMSL board on the D331 is doing more than that USB hub would, too. It aggregates each camera's stream back to the Jetson Thor, just like a hub would. But it also fans the D331's own sync trigger back down those same cables to every camera, and gives each camera its own dedicated link instead of a shared bus five devices are all fighting for. AVerMedia's camera driver handles the deserializer-side signaling underneath all of this, so none of that complexity reaches the application layer.
What's left for the user is one setting: switch each camera's Inter Cam Sync Mode to 3 in the RealSense Viewer, and all five lock to hardware frame sync, with measured inter-camera frame alignment within about 30 microseconds. The frames are aligned in hardware, not approximated after the fact — which is what keeps the fused point cloud clean at 30 fps.
Open the App. Click a Few Buttons. See 3D.
RealSense's SDK is open source. We built a custom viewer on top of it that handles everything else that used to be the hard part. It collects one hardware-aligned frame from each camera into a matched set, transforms each camera's depth data from its own point of view into a shared coordinate frame using its known pose, and merges everything into a single live point cloud.
The user experience on the other end of all that: open the viewer, connect the cameras, click a few buttons. A fused 3D reconstruction of the scene appears, updating in real time at 30 fps.

No command line. No scripts. No code.
The viewer supports both RGB and colorized-depth modes, toggled per camera. Depth color maps distance to a color gradient — making surface geometry and occlusion gaps visible at a glance, without having to interpret a raw point cloud.


For the fixed jig, the camera poses are precomputed from the known geometry — no calibration step needed. For a custom arrangement, you supply the camera poses — X, Y, Z, roll, pitch, yaw — and the viewer handles the rest. Deriving those values is outside the viewer itself, but a common approach is placing an AprilTag in the shared field of view: each camera estimates its own pose relative to the tag, which you can then convert into the relative camera-to-camera poses the viewer expects.

Once those poses are set, the rig needs to stay mechanically fixed. If a camera shifts, its point cloud no longer lines up correctly until the pose is corrected. The final seams also depend on how well neighboring views overlap and on the depth accuracy of each camera.
Five Cameras Fill In What One Camera Always Missed
When the fusion is running, the point cloud covers what any single camera would miss — what's to the left, what's at 45 degrees, the full sweep of the environment that fell outside any one camera's field of view.

It's one of those things that's more striking in person than it sounds in a description. Place the platform in a scene and the system immediately reconstructs the surrounding environment in 3D — not a single forward-facing slice, but a synchronized 225° reconstruction of the scene around it.
The D331 runs the full pipeline — five cameras, coordinate transforms, merge, display — live at 30 fps.
What Changes When Blind Spots Shrink
The gap between partial and complete 3D vision isn't incremental. It changes what a system can actually do.
Take an AMR navigating a warehouse. With one forward-facing camera, it knows what's directly ahead. The pallet to its left, the forklift approaching from 45 degrees, the narrow gap it's about to thread — those either need extra sensors, or simply don't exist in its model of the world. With 225° of fused depth coverage, that same AMR carries a far more complete picture of its surroundings. The edge cases that cause stops, replanning, and failures get smaller.
The same logic applies to inspection systems catching defects on hidden surfaces, or collaborative robots tracking a hand through occlusion without losing it. In each case, the limiting factor was never the algorithms making the decision. It was incomplete geometry feeding them.
Five cameras don't change the problem — they finally reveal its full shape.
The Real Bottleneck Was Never the Cameras
Not the five cameras — the compute underneath them. Multi-camera depth fusion is hungry work: five parallel depth streams, then coordinate transforms, then the merge, continuously, at 30 fps. Most edge platforms are already compute-bound by that workload, leaving little processing headroom for anything else.
The NVIDIA Jetson Thor module on the D331 Carrier Board handles the full pipeline at full rate, with processing headroom left for additional workloads such as detection or planning.
Try It on Your Own Rig
Build the array around the number of D457 cameras your application calls for. In the five-camera setup shown in this post, a single D331 carries the full fusion pipeline at 30 fps. Start from the open-source SDK on GitHub if you want to build your own sync, calibration, and fusion layer. Or skip the plumbing entirely: the custom viewer shown in this demo is available on request — tell us your camera count and use case, and we'll help you evaluate the reconstruction workflow for your rig.
If you're evaluating the D331 for a multi-sensor application, the product page has the full spec.