# 下載原始碼進行開發

需要設置eSDK（可擴展SDK）來開發應用程序/外掛程式代碼。請參閱 [Qualcomm智慧多媒體軟體開發工具包（IM SDK）快速入門指南](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-51/introduction.html) ，了解設置eSDK以及下載和編譯原始碼的說明。

<?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 -->
<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="st11" 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: Roboto; 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 { font-size: 1em; font-weight: normal }
.svg-1 .st7 { marker-end: url("#mrkr13-44"); stroke: #000000; stroke-linecap: butt; stroke-width: 2 }
.svg-1 .st8 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.52631578947368 }
.svg-1 .st9 { marker-end: url("#mrkr4-50"); stroke: #000000; stroke-linecap: butt; stroke-width: 2 }
.svg-1 .st10 { fill: #ffffff; font-family: Roboto; font-size: 1.5em; font-weight: bold; letter-spacing: -0.00555556em }
.svg-1 .st11 { 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-44" class="st8" 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-50" class="st8" 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="5" v:index="1" v:groupcontext="foregroundPage">	<title>develop-own-app</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="shape2-1" v:mid="2" v:groupcontext="shape" transform="translate(18.5,-18.5)">		<title>Sheet.2</title>		<rect x="0" y="37" width="1128" height="544" rx="8" ry="8" class="st1"></rect>	</g>	<g id="shape14-3" v:mid="14" v:groupcontext="shape" transform="translate(29,-390.5)">		<title>Sheet.14</title>		<desc>Preprocessing</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.4" class="st3" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>Preprocessing</text>		</g>	<g id="shape1-6" v:mid="1" v:groupcontext="shape" transform="translate(47.4397,-406.817)">		<title>Sheet.1</title>		<desc>qtimlvconverter</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="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="shape3-9" v:mid="3" v:groupcontext="shape" transform="translate(421,-210.5)">		<title>Sheet.3</title>		<desc>ML inference plugins</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" 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.5" class="st3" v:langid="1033"><v:paragraph v:spline="-1.5"></v:paragraph><v:tablist></v:tablist>ML inference plugins</text>		</g>	<g id="shape4-12" v:mid="4" v:groupcontext="shape" transform="translate(808.451,-29)">		<title>Sheet.4</title>		<desc>Qualcomm IM SDK postprocessing plugins</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" 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.21" class="st3" v:langid="1033"><v:paragraph v:spline="-1.5"></v:paragraph><v:tablist></v:tablist>Qualcomm IM SDK postprocessing plugins  </text>		</g>	<g id="shape5-15" v:mid="5" v:groupcontext="shape" transform="translate(439.391,-225.817)">		<title>Sheet.5</title>		<desc>Qtimlqnn Used by BIN models</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="107.63" y="538.57" class="st5" 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="64.14" dy="1.5em" class="st6">Used by BIN models</tspan></text>		</g>	<g id="shape6-19" v:mid="6" v:groupcontext="shape" transform="translate(439.391,-315.817)">		<title>Sheet.6</title>		<desc>Qtimlsnpe Used by DLC models</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="103.19" y="538.57" class="st5" 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="62.01" dy="1.5em" class="st6">Used by DLC models</tspan></text>		</g>	<g id="shape7-23" v:mid="7" v:groupcontext="shape" transform="translate(439.391,-406.817)">		<title>Sheet.7</title>		<desc>qtimltflite Used by TFLite models</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.98" y="538.57" class="st5" 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="53.53" dy="1.5em" class="st6">Used by TFLite models</tspan></text>		</g>	<g id="shape8-27" v:mid="8" v:groupcontext="shape" transform="translate(827.391,-225.817)">		<title>Sheet.8</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="63.62" y="550.72" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvsegmentation</text>		</g>	<g id="shape9-30" v:mid="9" v:groupcontext="shape" transform="translate(827.391,-315.817)">		<title>Sheet.9</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="81.28" y="550.72" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvdetection</text>		</g>	<g id="shape10-33" v:mid="10" v:groupcontext="shape" transform="translate(827.391,-406.817)">		<title>Sheet.10</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="65.14" y="550.72" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvclassification</text>		</g>	<g id="shape11-36" v:mid="11" v:groupcontext="shape" transform="translate(827.391,-135.817)">		<title>Sheet.11</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="99.72" y="550.72" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvpose</text>		</g>	<g id="shape24-39" v:mid="24" v:groupcontext="shape" v:layermember="0" transform="translate(359,-430)">		<title>Dynamic connector</title>		<path d="M0 568.5 L50.6 568.5" class="st7"></path>	</g>	<g id="shape26-45" v:mid="26" v:groupcontext="shape" transform="translate(746,-442.5)">		<title>Sheet.26</title>		<path d="M0 581 L54.4 581" class="st9"></path>	</g>	<g id="shape27-51" v:mid="27" v:groupcontext="shape" transform="translate(827.391,-45.8166)">		<title>Sheet.27</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="56.7" y="550.72" class="st10" 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等模型。 |

備註

Qualcomm AI Hub中的經過驗證的模型列表可在 [在應用程序中集成AI Hub模型](https://docs.qualcomm.com/doc/80-70018-15BT/topic/integrate-ai-hub-models.html) 中找到。

您可以使用許多其他具有類似後處理要求的模型，但建議在集成自己的模型之前，先驗證相關Qualcomm IM SDK外掛程式中的後處理支持。

Last Published: Oct 15, 2025

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