# 개발용 소스 코드 다운로드

애플리케이션/플러그인 코드를 개발하려면 eSDK(확장 가능한 SDK)를 설정해야 합니다. eSDK를 설정하고 소스 코드를 다운로드 및 컴파일하는 방법에 대한 지침은 [Qualcomm 지능형 멀티미디어 소프트웨어 개발 키트(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 -->
<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-15BK/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-15BK/topics/develop-your-own-application-im-sdk.md) [Next Topic
애플리케이션에서 커스텀 AI 모델 통합](https://docs.qualcomm.com/bundle/publicresource/80-70018-15BK/topics/integrate-custom-model.md)