# 下载源代码以进行开发

需要设置 eSDK (extensible SDK) 才能开发应用程序/插件代码。有关设置 eSDK 以及下载和编译源代码的说明，请参阅 [Qualcomm Intelligent Multimedia 软件开发包 (IM SDK) 快速入门指南](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-51/introduction.html)。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export develop-own-app-imsdk-plugins.svg develop-own-app-imsdk-plugins -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="16.1806in" height="8.06944in" viewbox="0 0 1165 581" xml:space="preserve" color-interpolation-filters="sRGB" class="st15" aria-label="../_images/develop-own-app-imsdk-plugins.svg" svgdefaultwidth="1164"><v:documentproperties v:langid="1033" v:viewmarkup="false">	<v:userdefs>		<v:ud v:nameu="msvNoAutoConnect" v:val="VT0(1):26"></v:ud>	</v:userdefs></v:documentproperties>
<style>.svg-1 .st1 { fill: #ffffff; stroke: #ffffff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st2 { fill: #ffffff; stroke: #7f7f7f; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st3 { fill: #2a2aea; font-family: Microsoft YaHei UI; font-size: 1.33333em; font-weight: bold }
.svg-1 .st4 { fill: #2a2aea; stroke: #2a2aea; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2 }
.svg-1 .st5 { fill: #ffffff; font-family: Roboto; font-size: 1.5em; font-weight: bold }
.svg-1 .st6 { fill: #2a2aea; font-family: Arial; font-size: 1.33333em; font-weight: bold }
.svg-1 .st7 { font-family: Microsoft YaHei UI; font-size: 1em }
.svg-1 .st8 { fill: #ffffff; font-family: Arial; font-size: 1.5em; font-weight: bold }
.svg-1 .st9 { font-family: Microsoft YaHei UI; font-size: 1em; font-weight: normal }
.svg-1 .st10 { font-size: 1em; font-weight: normal }
.svg-1 .st11 { marker-end: url("#mrkr13-55"); stroke: #000000; stroke-linecap: butt; stroke-width: 2 }
.svg-1 .st12 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.52631578947368 }
.svg-1 .st13 { marker-end: url("#mrkr4-61"); stroke: #000000; stroke-linecap: butt; stroke-width: 2 }
.svg-1 .st14 { fill: #ffffff; font-family: Arial; font-size: 1.5em; font-weight: bold; letter-spacing: -0.00555556em }
.svg-1 .st15 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<defs id="Markers">	<g id="lend13">		<path d="M 3 1 L 0 0 L 3 -1 L 3 1 " style="stroke:none"></path>	</g>	<marker id="mrkr13-55" class="st12" v:arrowtype="13" v:arrowsize="1" v:setback="5.7" refx="-5.7" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend13" transform="scale(-1.9,-1.9) "></use>	</marker>	<g id="lend4">		<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"></path>	</g>	<marker id="mrkr4-61" class="st12" v:arrowtype="4" v:arrowsize="1" v:setback="3.8" refx="-3.8" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend4" transform="scale(-1.9,-1.9) "></use>	</marker></defs><g v:mid="18" v:index="6" v:groupcontext="foregroundPage">	<title>develop-own-app-imsdk-plugins</title>	<v:pageproperties v:drawingscale="0.0138889" v:pagescale="0.0138889" v:drawingunits="29" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<v:layer v:name="Connector" v:index="0"></v:layer>	<g id="shape1-1" v:mid="1" v:groupcontext="shape" transform="translate(19,-18)">		<title>Sheet.1</title>		<rect x="0" y="37" width="1128" height="544" rx="8" ry="8" class="st1"></rect>	</g>	<g id="shape2-3" v:mid="2" v:groupcontext="shape" transform="translate(29.5,-390)">		<title>Sheet.2</title>		<desc>预处理</desc>		<v:textblock v:margins="rect(8,8,8,8)" v:verticalalign="0"></v:textblock>		<v:textrect cx="165" cy="502" width="330.01" height="158"></v:textrect>		<rect x="0" y="423" width="330" height="158" rx="4" ry="4" class="st2"></rect>		<text x="8" y="445.6" class="st3" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>预处理</text>		</g>	<g id="shape3-6" v:mid="3" v:groupcontext="shape" transform="translate(47.9397,-406.317)">		<title>Sheet.3</title>		<desc>qtimlvconverter</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>
GA1.4_80-70018-15BY		<v:textrect cx="144.609" cy="545.317" width="289.22" height="71.3667"></v:textrect>		<rect x="0" y="509.633" width="289.219" height="71.3667" rx="4" ry="4" class="st4"></rect>		<text x="80.66" y="550.72" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvconverter</text>		</g>	<g id="shape4-9" v:mid="4" v:groupcontext="shape" transform="translate(421.5,-210)">
		<v:textrect cx="63.6127" cy="367.201" width="127.23" height="28.2876"></v:textrect>		<rect x="0" y="353.057" width="127.225" height="28.2876" class="st2"></rect>		<text x="15.07" y="371.4" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvconverter</text>		</g>	<g id="shape3-6" v:mid="3" v:groupcontext="shape" transform="translate(226.883,-72)">		<title>Sheet.3</title>		<desc>ML inference plugin selected based on model type</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:verticalalign="0"></v:textblock>		<v:textrect cx="118.39" cy="241.003" width="236.79" height="280.683"></v:textrect>		<rect x="0" y="100.661" width="236.781" height="280.683" class="st4"></rect>		<text x="14.2" y="119.06" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist><tspan x="43.72" dy="1.2em" class="st6">根据模型类型</tspan>选择的 ML<tspan x="43.72" dy="1.2em" class="st6">推理插件</tspan> </text>		</g>	<g id="shape4-10" v:mid="4" v:groupcontext="shape" transform="translate(560.261,-72)">
 main		<title>Sheet.4</title>		<desc>ML 推理插件</desc>		<v:textblock v:margins="rect(8,8,8,8)" v:verticalalign="0"></v:textblock>		<v:textrect cx="162.5" cy="411.25" width="325.01" height="339.5"></v:textrect>		<rect x="0" y="241.5" width="325" height="339.5" rx="4" ry="4" class="st2"></rect>		<text x="8" y="267.74" class="st6" v:langid="1033"><v:paragraph v:spline="-1.5"></v:paragraph><v:tablist></v:tablist>ML <tspan class="st7">推理插件</tspan></text>		</g>	<g id="shape5-13" v:mid="5" v:groupcontext="shape" transform="translate(808.951,-28.5)">		<title>Sheet.5</title>		<desc>Qualcomm IM SDK 后处理插件</desc>		<v:textblock v:margins="rect(8,8,8,8)" v:verticalalign="0"></v:textblock>		<v:textrect cx="162.5" cy="321.105" width="325.01" height="519.79"></v:textrect>		<rect x="0" y="61.2096" width="325" height="519.79" rx="4" ry="4" class="st2"></rect>		<text x="8" y="87.45" class="st6" v:langid="1033"><v:paragraph v:spline="-1.5"></v:paragraph><v:tablist></v:tablist>Qualcomm IM SDK <tspan class="st7">后处理插件</tspan> </text>		</g>	<g id="shape6-17" v:mid="6" v:groupcontext="shape" transform="translate(439.891,-225.317)">		<title>Sheet.6</title>		<desc>Qtimlqnn 由 BIN 模型使用</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="144.609" cy="545.317" width="289.22" height="71.3667"></v:textrect>		<rect x="0" y="509.633" width="289.219" height="71.3667" rx="4" ry="4" class="st4"></rect>		<text x="105.12" y="538.38" class="st8" v:langid="1033"><v:paragraph v:spline="-1.5" v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qtimlqnn<v:newlinechar></v:newlinechar><tspan x="79.61" dy="1.515em" class="st9">由</tspan><tspan class="st10"> </tspan><tspan class="st10">BIN </tspan><tspan class="st9">模型使用</tspan></text>		</g>	<g id="shape7-24" v:mid="7" v:groupcontext="shape" transform="translate(439.891,-315.317)">		<title>Sheet.7</title>		<desc>Qtimlsnpe 由 DLC 模型使用</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="144.609" cy="545.317" width="289.22" height="71.3667"></v:textrect>		<rect x="0" y="509.633" width="289.219" height="71.3667" rx="4" ry="4" class="st4"></rect>		<text x="100.6" y="538.38" class="st8" v:langid="1033"><v:paragraph v:spline="-1.5" v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qtimlsnpe<v:newlinechar></v:newlinechar><tspan x="76.6" dy="1.515em" class="st9">由</tspan><tspan class="st10"> </tspan><tspan class="st10">DLC </tspan><tspan class="st9">模型使用</tspan></text>		</g>	<g id="shape8-31" v:mid="8" v:groupcontext="shape" transform="translate(439.891,-406.317)">		<title>Sheet.8</title>		<desc>qtimltflite 由 TFLite 模型使用</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="144.609" cy="545.317" width="289.22" height="71.3667"></v:textrect>		<rect x="0" y="509.633" width="289.219" height="71.3667" rx="4" ry="4" class="st4"></rect>		<text x="104.11" y="538.38" class="st8" v:langid="1033"><v:paragraph v:spline="-1.5" v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimltflite<v:newlinechar></v:newlinechar><tspan x="69.1" dy="1.515em" class="st9">由</tspan><tspan class="st10"> </tspan><tspan class="st10">TFLite </tspan><tspan class="st9">模型使用</tspan></text>		</g>	<g id="shape9-38" v:mid="9" v:groupcontext="shape" transform="translate(827.891,-225.317)">		<title>Sheet.9</title>		<desc>qtimlvsegmentation</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="144.609" cy="545.317" width="289.22" height="71.3667"></v:textrect>		<rect x="0" y="509.633" width="289.219" height="71.3667" rx="4" ry="4" class="st4"></rect>		<text x="59.6" y="550.72" class="st8" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvsegmentation</text>		</g>	<g id="shape10-41" v:mid="10" v:groupcontext="shape" transform="translate(827.891,-315.317)">		<title>Sheet.10</title>		<desc>qtimlvdetection</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="144.609" cy="545.317" width="289.22" height="71.3667"></v:textrect>		<rect x="0" y="509.633" width="289.219" height="71.3667" rx="4" ry="4" class="st4"></rect>		<text x="78.1" y="550.72" class="st8" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvdetection</text>		</g>	<g id="shape11-44" v:mid="11" v:groupcontext="shape" transform="translate(827.891,-406.317)">		<title>Sheet.11</title>		<desc>qtimlvclassification</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="144.609" cy="545.317" width="289.22" height="71.3667"></v:textrect>		<rect x="0" y="509.633" width="289.219" height="71.3667" rx="4" ry="4" class="st4"></rect>		<text x="61.08" y="550.72" class="st8" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvclassification</text>		</g>	<g id="shape12-47" v:mid="12" v:groupcontext="shape" transform="translate(827.891,-135.317)">		<title>Sheet.12</title>		<desc>qtimlvpose</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="144.609" cy="545.317" width="289.22" height="71.3667"></v:textrect>		<rect x="0" y="509.633" width="289.219" height="71.3667" rx="4" ry="4" class="st4"></rect>		<text x="97.1" y="550.72" class="st8" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvpose</text>		</g>	<g id="shape13-50" v:mid="13" v:groupcontext="shape" v:layermember="0" transform="translate(359.5,-429.5)">		<title>Dynamic connector</title>		<path d="M0 568.5 L50.6 568.5" class="st11"></path>	</g>	<g id="shape14-56" v:mid="14" v:groupcontext="shape" transform="translate(746.5,-442)">		<title>Sheet.14</title>		<path d="M0 581 L54.4 581" class="st13"></path>	</g>	<g id="shape15-62" v:mid="15" v:groupcontext="shape" transform="translate(827.891,-45.3166)">		<title>Sheet.15</title>		<desc>qtimlvsuperresolution</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="144.609" cy="545.317" width="289.22" height="71.3667"></v:textrect>		<rect x="0" y="509.633" width="289.219" height="71.3667" rx="4" ry="4" class="st4"></rect>		<text x="51.15" y="550.72" class="st14" v:langid="1033"><v:paragraph v:spbefore="2.95" v:horizalign="1" v:bulletsize="0.166667"></v:paragraph><v:tablist></v:tablist>qtimlvsuperresolution</text>		</g></g>
</svg>

Qualcomm IM SDK 提供以下预处理/后处理 ML 插件。开发者可以使用这些插件来开发用户自己的用例。

| **插件** | **功能** |
| --- | --- |
| qtimlvconverter | 将传入视频缓存中的数据转换为神经网络张量，同时执行所需的格式转换和大小调整。 |
| qtimlvclassification | 对分类用例的输出张量进行后处理。 |
| qtimlvdetection | 对检测用例的输出张量进行后处理。 |
| qtimlvsegmentation | 对像素类用例的输出张量进行后处理，例如图像分割、深度图处理等。 |
| qtimlvpose | 对姿势估计用例的输出张量进行后处理。 |
| qtimlvsuperresolution | 对视频超分辨率用例的输出张量进行后处理。 |

Qualcomm IM SDK 支持以下用例和相关模型。

| **Qualcomm IM SDK 支持的用例** | **支持的模型** |
| --- | --- |
| 分类 | Mobilenet 等模型。目前 Qualcomm AI Hub 已支持 11 种分类模型。新的模型将会不断添加到 AI Hub 中。 |
| 检测 | ssd-mobilenet、yolov5、yolo-nas 和 yolov8 等模型 |
| 分割 | deeplabv3\_resnet 和 ffnet 等模型 |
| 姿势检测 | posenet\_mobilenet 等模型 |
| 超分辨率 | QuickSRNet、XLSR 等模型。 |

Note

Qualcomm AI Hub 的已验证模型列表可在 [在应用程序中集成 AI Hub 模型](https://docs.qualcomm.com/doc/80-70018-15BY/topic/integrate-ai-hub-models.html) 中找到。

您可以使用许多具有类似后处理要求的其他模型，但建议先验证相关 Qualcomm IM SDK 插件是否支持后处理，然后再集成自己的模型。

Last Published: Oct 23, 2025

[Previous Topic
使用 Qualcomm IM SDK 开发您自己的 AI/ML 应用程序](https://docs.qualcomm.com/bundle/publicresource/80-70018-15BY/topics/develop-your-own-application-im-sdk.md) [Next Topic
在应用程序集成定制的 AI 模型](https://docs.qualcomm.com/bundle/publicresource/80-70018-15BY/topics/integrate-custom-model.md)