Assume your model artifact now runs on Qualcomm Dragonwing. That is necessary, but it is rarely the whole product. Most Jetson edge AI products are applications wrapped around a model:
Port the pipeline, not just the neural net.In the running case study, this is where the YOLO context binary stops being a standalone model artifact and becomes part of the live camera, metadata, overlay, encode, and health-monitoring application. Before you start:
Why a model-only port is not enough
A model can pass every tensor-level validation gate and still fail inside the product. Common causes:The DeepStream-to-IM SDK map
A practical mapping looks like this:
This is not a one-to-one replacement for every property. It is a starting map so the team can identify which code disappears, which config moves, and which behavior needs a new validation check. Current IM SDK examples use
qticamsrc; older examples may show qtiqmmfsrc. Check gst-inspect-1.0 on your image before copying a pipeline.
Start with a file, then move to a camera
The cheapest path is to remove live-camera variability at first. Use the same input video on Jetson and Qualcomm:A minimal Qualcomm camera AI pipeline
A simplified IM SDK-style pipeline for a live camera detector looks like this. It follows the current IM SDK object-detection examples, but exact properties are model- and release-specific; verify them withgst-inspect-1.0 qticamsrc qtiqmmfsrc qtimlqnn qtimlpostprocess on your image. On the IQ-9075 lab image used for this series, qtiqmmfsrc is present and qticamsrc is not, so treat the source element as image-dependent:
Keep preprocessing boring
Most migration bugs hide in preprocessing. For every model, record these fields in a model-side config file:Treat postprocessing as application code
For YOLO-style models, keeping NMS outside the graph is often the simplest migration path. Postprocessing usually includes:Metadata replaces glue code
DeepStream applications often depend on metadata attached to buffers. IM SDK has the same broad idea: inference produces tensors, postprocessing converts tensors into metadata or masks, and downstream elements use that metadata for tracking, overlay, streaming, or another inference stage. A common pattern:Multi-stream is where Qualcomm can shine
Jetson apps often rely on one GPU for inference, CUDA preprocessing, display, and encode. Qualcomm Dragonwing devices have a more heterogeneous pipeline: camera ISP, HTP/NPU, Adreno GPU, video encode/decode, CPU, and DSP resources can each carry different pieces. That does not make performance automatic. It gives you more placement choices. For multi-stream products, measure:Deployment bundle
A model-only bundle is too small for a real multimedia app. Bundle the contract around the model:Validation checklist
Before calling the app migrated, make these checks boring:gst-launch-1.0 command. The production version should still keep the same pipeline shape, just with better configuration, logging, service management, and update behavior.

