Best Way to Get Camera Data into Jetson

I wanted to create a discussion on what everyone has done to get high volume camera data into the Jetson.

Currently, we have created a camera-based navigation system. We have resorted to using 1 ZED and 3 Realsense D435i to accomplish this. However, I would like to created a system that takes advantage of the CSI-2 lanes on the Jetson.

How I have done it

My setup uses data from 4 stereo cameras (1 ZED and 3 RealSense D435i cameras). When using the TX2, I used a PCIe USB 3.0 expansion hub with 4 USB 3.0 host controllers and can support the bandwidth required from these 4 cameras.

The USB 3.0 Hub: https://www.amazon.com/StarTech-com-Express-SuperSpeed-Dedicated-Channels/dp/B00HJZEA2S

How to do it better?

1. CPU Consumption

Because I’m using these cameras over USB, simply capturing data consumes a large chunk of the CPU. Is there a better way to do this?

2. Using CSI-2 lanes is expensive

I understand that there are a few solutions (Leopard Imaging, e-con, etc.) out there that allow you to take advantage of the CSI-2 lanes, but their price points are ridiculous. What has the community done, to get a cheap(er) solution to take advantage of the CSI-2 lanes on the Jetson line?

Pi camera V2 may be a solution. However need HW rework to connect to Xavier.
Have a reference to below topic to Pi camera on Xavier.

https://devtalk.nvidia.com/default/topic/1050127/jetson-agx-xavier/how-to-connect-raspberry-pi-camera-v2-to-jetson-xavier/

https://devtalk.nvidia.com/default/topic/1066142/jetson-agx-xavier/pi-camera-v2-1-with-agx-xavier/