# 人脸检测

Source: [https://docs.qualcomm.com/doc/80-70022-50SC/topic/gst-ai-face-detection.html](https://docs.qualcomm.com/doc/80-70022-50SC/topic/gst-ai-face-detection.html)

**gst-ai-face-detection** 应用程序从摄像头、文件或 RTSP 流中采集实时视频输入，并使用 Qualcomm AI Engine direct 和 LiteRT 人脸检测模型生成预览，在 HDMI 显示器上叠加显示 AI 模型输出。

Note: 此应用程序在 Ubuntu Server 上不受支持。

下图展示了一个 pipeline：接收输入，对其进行预处理，在 AI 硬件上运行推理，并在屏幕上显示结果。

有关 pipeline 流中使用的插件的信息，请参见 [Pipeline 流](https://docs.qualcomm.com/doc/80-70022-50SC/topic/gst-ai-face-detection.html#gst-ai-face-detection__section_kjz_ll3_4dc)。

Figure : gst-ai-face-detection pipeline
            
            <!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->

<!-- Generated by Microsoft Visio, SVG Export gst_ai_face_detection_pipeline.svg gst_ai_face_detection_pipeline -->
<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="13.5208in" height="4.125in" viewbox="0 0 973.498 297" xml:space="preserve" color-interpolation-filters="sRGB" class="st15"><v:documentproperties v:langid="1033" v:viewmarkup="false"></v:documentproperties>
<style>.svg-1 .st1 { fill: #fafafa; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st2 { fill: #d2d7e1; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st3 { fill: #007884; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st4 { fill: #ffffff; font-family: Roboto; font-size: 0.874992em }
.svg-1 .st5 { fill: #2a2aea; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st6 { stroke: #000000; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st7 { fill: #000000; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st8 { fill: none; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-1 .st9 { stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-1 .st10 { fill: none }
.svg-1 .st11 { font-size: 1em }
.svg-1 .st12 { fill: none; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st13 { fill: #000000; font-family: Roboto; font-size: 0.874992em }
.svg-1 .st14 { fill: #000000; font-family: SimHei; font-size: 0.874992em }
.svg-1 .st15 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<g v:mid="0" v:index="1" v:groupcontext="foregroundPage">	<title>gst_ai_face_detection_pipeline</title>	<v:pageproperties v:drawingscale="1" v:pagescale="1" v:drawingunits="19" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<g id="group2-1" v:mid="2" v:groupcontext="group">		<title>Sheet.2</title>		<g id="shape3-2" v:mid="3" v:groupcontext="shape" transform="translate(0.375092,-0.375298)">			<title>Sheet.3</title>			<path d="M0 291.37 A5.62513 5.62513 -180 0 0 5.62 297 L967.12 297 A5.62513 5.62513 -180 0 0 972.75 291.37 L972.75						 6.38 A5.62513 5.62513 -180 0 0 967.12 0.75 L5.62 0.75 A5.62513 5.62513 -180 0 0 -0 6.38 L0 291.37 Z" class="st1"></path>		</g>		<g id="shape4-4" v:mid="4" v:groupcontext="shape">			<title>Sheet.4</title>			<path d="M967.5 0.75 C970.39 0.75 972.75 3.11 972.75 6 L972.75 291 C972.75 293.89 970.39 296.25 967.5 296.25 L6 296.25						 C3.11 296.25 0.75 293.89 0.75 291 L0.75 6 C0.75 3.11 3.11 0.75 6 0.75 L967.5 0.75 ZM967.5 0 L6 0 C2.69						 0 0 2.69 0 6 L0 291 C0 294.31 2.69 297 6 297 L967.5 297 C970.81 297 973.5 294.31 973.5 291 L973.5 6						 C973.5 2.69 970.81 0 967.5 0 Z" class="st2"></path>		</g>	</g>	<g id="shape13-6" v:mid="13" v:groupcontext="shape" transform="translate(386.569,-42.1384)">		<title>Sheet.13</title>		<desc>tee</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="22.5" cy="177.138" width="45.01" height="239.723"></v:textrect>		<path d="M0 294 A3.00007 3.00007 -180 0 0 3 297 L42 297 A3.00007 3.00007 -180 0 0 45 294 L45 60.28 A3.00007 3.00007 -180					 0 0 42 57.28 L3 57.28 A3.00007 3.00007 -180 0 0 0 60.28 L0 294 Z" class="st3"></path>		<text x="15.22" y="180.74" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>tee</text>		</g>	<g id="shape14-9" v:mid="14" v:groupcontext="shape" transform="translate(757.482,-42.1384)">		<title>Sheet.14</title>		<desc>qtimetamux</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="39" cy="177.138" width="78.01" height="239.723"></v:textrect>		<path d="M0 291 A6.00014 6.00014 -180 0 0 6 297 L72 297 A6.00014 6.00014 -180 0 0 78 291 L78 63.28 A6.00014 6.00014 -180					 0 0 72 57.28 L6 57.28 A6.00014 6.00014 -180 0 0 0 63.28 L0 291 Z" class="st5"></path>		<text x="10.98" y="180.74" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimetamux</text>		</g>	<g id="group15-12" transform="translate(835.482,-159.008)" v:mid="15" v:groupcontext="group">		<title>Sheet.15</title>		<g id="shape16-13" v:mid="16" v:groupcontext="shape" transform="translate(0,-2.99179)">			<title>Sheet.16</title>			<path d="M0 297 L9.48 297" class="st6"></path>		</g>		<g id="shape17-16" v:mid="17" v:groupcontext="shape" transform="translate(8.60701,0)">			<title>Sheet.17</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="group18-18" transform="translate(880.956,-127.335)" v:mid="18" v:groupcontext="group">		<title>Sheet.18</title>		<g id="shape19-19" v:mid="19" v:groupcontext="shape" transform="translate(299.992,283.212) rotate(90)">			<title>Sheet.19</title>			<path d="M0 297 L9.48 297" class="st6"></path>		</g>		<g id="shape20-22" v:mid="20" v:groupcontext="shape">			<title>Sheet.20</title>			<path d="M0 291.82 L2.99 297 L5.98 291.82 L0 291.82 Z" class="st7"></path>		</g>	</g>	<g id="shape21-24" v:mid="21" v:groupcontext="shape" transform="translate(918.626,-106.459) rotate(0.000147008)">		<title>Sheet.21</title>		<path d="M0 297 L10.42 297" class="st6"></path>	</g>	<g id="shape22-27" v:mid="22" v:groupcontext="shape" transform="translate(849.27,-85.9185)">		<title>Sheet.22</title>		<desc>Waylandsink</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="34.6778" cy="276.46" width="69.36" height="41.0806"></v:textrect>		<path d="M0 294 A3.00007 3.00007 -180 0 0 3 297 L66.36 297 A3.00007 3.00007 -180 0 0 69.36 294 L69.36 258.92 A3.00007					 3.00007 -180 0 0 66.36 255.92 L3 255.92 A3.00007 3.00007 -180 0 0 -0 258.92 L0 294 Z" class="st3"></path>		<text x="5.15" y="280.06" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Waylandsink</text>		</g>	<g id="shape26-30" v:mid="26" v:groupcontext="shape" transform="translate(849.27,-141.46)">		<title>Sheet.26</title>		<desc>qtivoverlay</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="34.6778" cy="276.46" width="69.36" height="41.0806"></v:textrect>		<path d="M0 294 A3.00007 3.00007 -180 0 0 3 297 L66.36 297 A3.00007 3.00007 -180 0 0 69.36 294 L69.36 258.92 A3.00007					 3.00007 -180 0 0 66.36 255.92 L3 255.92 A3.00007 3.00007 -180 0 0 -0 258.92 L0 294 Z" class="st5"></path>		<text x="9.45" y="280.06" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtivoverlay</text>		</g>	<g id="group28-33" transform="translate(930.781,-92.0656)" v:mid="28" v:groupcontext="group">		<title>Sheet.28</title>		<g id="group29-34" v:mid="29" v:groupcontext="group">			<title>Sheet.29</title>			<g id="shape30-35" v:mid="30" v:groupcontext="shape" transform="translate(0,-5.4)">				<title>Sheet.30</title>				<path d="M0 294 A3.00007 3.00007 -180 0 0 3 297 L24 297 A3.00007 3.00007 -180 0 0 27 294 L27 281.1 A3.00007 3.00007							 -180 0 0 24 278.1 L3 278.1 A3.00007 3.00007 -180 0 0 -0 281.1 L0 294 Z" class="st8"></path>			</g>			<g id="shape31-37" v:mid="31" v:groupcontext="shape" transform="translate(8.1,0)">				<title>Sheet.31</title>				<path d="M0 297 L10.8 297" class="st9"></path>			</g>		</g>		<g id="shape32-40" v:mid="32" v:groupcontext="shape" transform="translate(310.5,291.6) rotate(90)">			<title>Sheet.32</title>			<path d="M0 297 L5.4 297" class="st9"></path>		</g>	</g>	<g id="group33-43" transform="translate(15.7846,-232.001)" v:mid="33" v:groupcontext="group">		<title>Sheet.33</title>		<g id="shape34-44" v:mid="34" v:groupcontext="shape">			<title>Sheet.34</title>			<path d="M16.87 275.4 L10.12 275.4 L6.75 279.45 L2.7 279.45 C1.21 279.45 0 280.66 0 282.15 L0 294.3 C0 295.79 1.21						 297 2.7 297 L24.3 297 C25.79 297 27 295.79 27 294.3 L27 282.15 C27 280.66 25.79 279.45 24.3 279.45 L20.25						 279.45 L16.87 275.4 Z" class="st8"></path>		</g>		<g id="shape35-46" v:mid="35" v:groupcontext="shape" transform="translate(9.45,-6.75)">			<title>Sheet.35</title>			<ellipse cx="4.05" cy="292.95" rx="4.05" ry="4.05" class="st8"></ellipse>		</g>	</g>	<g id="group36-48" transform="translate(15.7846,-136.095)" v:mid="36" v:groupcontext="group">		<title>Sheet.36</title>		<g id="shape37-49" v:mid="37" v:groupcontext="shape">			<title>Sheet.37</title>			<path d="M18.56 263.25 L3.37 263.25 C1.51 263.25 0 264.76 0 266.63 L0 293.63 C0 295.49 1.51 297 3.37 297 L23.62 297						 C25.49 297 27 295.49 27 293.63 L27 271.69 L18.56 263.25 Z" class="st8"></path>		</g>		<g id="shape38-51" v:mid="38" v:groupcontext="shape" transform="translate(16.875,-23.625)">			<title>Sheet.38</title>			<path d="M0 286.88 L0 293.63 C0 295.49 1.51 297 3.37 297 L10.12 297 L0 286.88 Z" class="st10"></path>			<path d="M0 286.88 L0 293.63 C0 295.49 1.51 297 3.37 297 L10.12 297" class="st9"></path>		</g>		<g id="shape39-54" v:mid="39" v:groupcontext="shape" transform="translate(10.125,-8.4375)">			<title>Sheet.39</title>			<path d="M0 286.88 L8.44 291.94 L0 297 L0 286.88 Z" class="st8"></path>		</g>	</g>	<g id="shape41-56" v:mid="41" v:groupcontext="shape" transform="translate(52.9586,-42.1384)">		<title>Sheet.41</title>		<desc>rtspsrc</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="32.25" cy="274.5" width="64.51" height="45"></v:textrect>		<path d="M0 294 A3.00007 3.00007 -180 0 0 3 297 L61.5 297 A3.00007 3.00007 -180 0 0 64.5 294 L64.5 255 A3.00007 3.00007					 -180 0 0 61.5 252 L3 252 A3.00007 3.00007 -180 0 0 -0 255 L0 294 Z" class="st3"></path>		<text x="15.87" y="278.1" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>rtspsrc</text>		</g>	<g id="group42-59" transform="translate(117.459,-61.6466)" v:mid="42" v:groupcontext="group">		<title>Sheet.42</title>		<g id="shape43-60" v:mid="43" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.43</title>			<path d="M0 297 L9.48 297" class="st6"></path>		</g>		<g id="shape44-63" v:mid="44" v:groupcontext="shape" transform="translate(8.60701,-5.68434E-14)">			<title>Sheet.44</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape45-65" v:mid="45" v:groupcontext="shape" transform="translate(43.4569,-64.6384)">		<title>Sheet.45</title>		<path d="M0 297 L9.5 297" class="st6"></path>	</g>	<g id="shape46-68" v:mid="46" v:groupcontext="shape" transform="translate(131.299,-42.1384)">		<title>Sheet.46</title>		<desc>rtph264 depay</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="35.625" cy="274.5" width="71.26" height="45"></v:textrect>		<path d="M0 294 A3.00007 3.00007 -180 0 0 3 297 L68.25 297 A3.00007 3.00007 -180 0 0 71.25 294 L71.25 255 A3.00007 3.00007					 -180 0 0 68.25 252 L3 252 A3.00007 3.00007 -180 0 0 -0 255 L0 294 Z" class="st3"></path>		<text x="17.45" y="271.12" class="st4" v:langid="1033"><v:paragraph v:spline="-1" v:horizalign="1"></v:paragraph><v:tablist></v:tablist>rtph264<v:newlinechar></v:newlinechar><tspan x="21.6" dy="1.107em" class="st11">depay</tspan></text>		</g>	<g id="group47-72" transform="translate(202.549,-61.6466)" v:mid="47" v:groupcontext="group">		<title>Sheet.47</title>		<g id="shape48-73" v:mid="48" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.48</title>			<path d="M0 297 L9.48 297" class="st6"></path>		</g>		<g id="shape49-76" v:mid="49" v:groupcontext="shape" transform="translate(8.607,-5.68434E-14)">			<title>Sheet.49</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape50-78" v:mid="50" v:groupcontext="shape" transform="translate(216.389,-42.1384)">		<title>Sheet.50</title>		<desc>h264parse</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="35.625" cy="274.5" width="71.26" height="45"></v:textrect>		<path d="M0 294 A3.00007 3.00007 -180 0 0 3 297 L68.25 297 A3.00007 3.00007 -180 0 0 71.25 294 L71.25 255 A3.00007 3.00007					 -180 0 0 68.25 252 L3 252 A3.00007 3.00007 -180 0 0 -0 255 L0 294 Z" class="st3"></path>		<text x="10.82" y="278.1" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>h264parse</text>		</g>	<g id="group51-81" transform="translate(287.639,-61.6466)" v:mid="51" v:groupcontext="group">		<title>Sheet.51</title>		<g id="shape52-82" v:mid="52" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.52</title>			<path d="M0 297 L9.48 297" class="st6"></path>		</g>		<g id="shape53-85" v:mid="53" v:groupcontext="shape" transform="translate(8.607,-5.68434E-14)">			<title>Sheet.53</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape54-87" v:mid="54" v:groupcontext="shape" transform="translate(301.479,-42.1384)">		<title>Sheet.54</title>		<desc>V4l2h264dec</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="35.625" cy="274.5" width="71.26" height="45"></v:textrect>		<path d="M0 294 A3.00007 3.00007 -180 0 0 3 297 L68.25 297 A3.00007 3.00007 -180 0 0 71.25 294 L71.25 255 A3.00007 3.00007					 -180 0 0 68.25 252 L3 252 A3.00007 3.00007 -180 0 0 -0 255 L0 294 Z" class="st3"></path>		<text x="4.89" y="278.1" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>V4l2h264dec</text>		</g>	<g id="group55-90" transform="translate(372.729,-61.6466)" v:mid="55" v:groupcontext="group">		<title>Sheet.55</title>		<g id="shape56-91" v:mid="56" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.56</title>			<path d="M0 297 L9.48 297" class="st6"></path>		</g>		<g id="shape57-94" v:mid="57" v:groupcontext="shape" transform="translate(8.607,-5.68434E-14)">			<title>Sheet.57</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="group62-96" transform="translate(15.7846,-49.4884)" v:mid="62" v:groupcontext="group">		<title>Sheet.62</title>		<g id="shape63-97" v:mid="63" v:groupcontext="shape" transform="translate(10.7999,-10.6576)">			<title>Sheet.63</title>			<path d="M0 289.77 C0 289.21 0.46 288.76 1.01 288.76 C1.2 288.76 1.38 288.81 1.54 288.91 L6.49 291.94 C6.96 292.24						 7.11 292.86 6.82 293.34 C6.74 293.47 6.62 293.59 6.49 293.67 L1.54 296.71 C1.07 297 0.44 296.85 0.15						 296.37 C0.05 296.21 0 296.03 0 295.84 L0 289.77 Z" class="st8"></path>		</g>		<g id="shape64-99" v:mid="64" v:groupcontext="shape" transform="translate(6.75,0)">			<title>Sheet.64</title>			<path d="M0 297 L13.5 297 L0 297 Z" class="st10"></path>			<path d="M0 297 L13.5 297" class="st9"></path>		</g>		<g id="shape65-102" v:mid="65" v:groupcontext="shape" transform="translate(1.51879E-13,-5.4)">			<title>Sheet.65</title>			<path d="M0 295.5 A1.50003 1.50003 -180 0 0 1.5 297 L25.5 297 A1.50003 1.50003 -180 0 0 27 295.5 L27 279.6 A1.50003						 1.50003 -180 0 0 25.5 278.1 L1.5 278.1 A1.50003 1.50003 -180 0 0 -0 279.6 L0 295.5 Z" class="st8"></path>		</g>	</g>	<g id="shape66-104" v:mid="66" v:groupcontext="shape" transform="translate(52.9586,-130.47)">		<title>Sheet.66</title>		<desc>filesrc</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="32.25" cy="274.5" width="64.5" height="45"></v:textrect>		<path d="M0 294 A3.00007 3.00007 -180 0 0 3 297 L61.5 297 A3.00007 3.00007 -180 0 0 64.5 294 L64.5 255 A3.00007 3.00007					 -180 0 0 61.5 252 L3 252 A3.00007 3.00007 -180 0 0 -0 255 L0 294 Z" class="st3"></path>		<text x="17.87" y="278.1" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>filesrc</text>		</g>	<g id="group67-107" transform="translate(117.459,-149.978)" v:mid="67" v:groupcontext="group">		<title>Sheet.67</title>		<g id="shape68-108" v:mid="68" v:groupcontext="shape" transform="translate(0,-2.99179)">			<title>Sheet.68</title>			<path d="M0 297 L9.48 297" class="st6"></path>		</g>		<g id="shape69-111" v:mid="69" v:groupcontext="shape" transform="translate(8.60701,0)">			<title>Sheet.69</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape70-113" v:mid="70" v:groupcontext="shape" transform="translate(43.4569,-152.97)">		<title>Sheet.70</title>		<path d="M0 297 L9.5 297" class="st6"></path>	</g>	<g id="shape71-116" v:mid="71" v:groupcontext="shape" transform="translate(131.299,-130.47)">		<title>Sheet.71</title>		<desc>qtdemux</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="35.625" cy="274.5" width="71.26" height="45"></v:textrect>		<path d="M0 294 A3.00007 3.00007 -180 0 0 3 297 L68.25 297 A3.00007 3.00007 -180 0 0 71.25 294 L71.25 255 A3.00007 3.00007					 -180 0 0 68.25 252 L3 252 A3.00007 3.00007 -180 0 0 -0 255 L0 294 Z" class="st3"></path>		<text x="15.09" y="278.1" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtdemux</text>		</g>	<g id="group72-119" transform="translate(202.549,-149.978)" v:mid="72" v:groupcontext="group">		<title>Sheet.72</title>		<g id="shape73-120" v:mid="73" v:groupcontext="shape" transform="translate(0,-2.99179)">			<title>Sheet.73</title>			<path d="M0 297 L9.48 297" class="st6"></path>		</g>		<g id="shape74-123" v:mid="74" v:groupcontext="shape" transform="translate(8.607,0)">			<title>Sheet.74</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape75-125" v:mid="75" v:groupcontext="shape" transform="translate(216.389,-130.47)">		<title>Sheet.75</title>		<desc>h264parse</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="35.625" cy="274.5" width="71.26" height="45"></v:textrect>		<path d="M0 294 A3.00007 3.00007 -180 0 0 3 297 L68.25 297 A3.00007 3.00007 -180 0 0 71.25 294 L71.25 255 A3.00007 3.00007					 -180 0 0 68.25 252 L3 252 A3.00007 3.00007 -180 0 0 -0 255 L0 294 Z" class="st3"></path>		<text x="10.82" y="278.1" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>h264parse</text>		</g>	<g id="group76-128" transform="translate(287.639,-149.978)" v:mid="76" v:groupcontext="group">		<title>Sheet.76</title>		<g id="shape77-129" v:mid="77" v:groupcontext="shape" transform="translate(0,-2.99179)">			<title>Sheet.77</title>			<path d="M0 297 L9.48 297" class="st6"></path>		</g>		<g id="shape78-132" v:mid="78" v:groupcontext="shape" transform="translate(8.607,0)">			<title>Sheet.78</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape79-134" v:mid="79" v:groupcontext="shape" transform="translate(301.479,-130.47)">		<title>Sheet.79</title>		<desc>V4l2h264dec</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="35.625" cy="274.5" width="71.26" height="45"></v:textrect>		<path d="M0 294 A3.00007 3.00007 -180 0 0 3 297 L68.25 297 A3.00007 3.00007 -180 0 0 71.25 294 L71.25 255 A3.00007 3.00007					 -180 0 0 68.25 252 L3 252 A3.00007 3.00007 -180 0 0 -0 255 L0 294 Z" class="st3"></path>		<text x="4.89" y="278.1" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>V4l2h264dec</text>		</g>	<g id="group80-137" transform="translate(372.729,-149.978)" v:mid="80" v:groupcontext="group">		<title>Sheet.80</title>		<g id="shape81-138" v:mid="81" v:groupcontext="shape" transform="translate(0,-2.99179)">			<title>Sheet.81</title>			<path d="M0 297 L9.48 297" class="st6"></path>		</g>		<g id="shape82-141" v:mid="82" v:groupcontext="shape" transform="translate(8.607,0)">			<title>Sheet.82</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape87-143" v:mid="87" v:groupcontext="shape" transform="translate(52.9586,-218.801)">		<title>Sheet.87</title>		<desc>qtiqmmfsrc</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="32.25" cy="274.5" width="64.5" height="45"></v:textrect>		<path d="M0 294 A3.00007 3.00007 -180 0 0 3 297 L61.5 297 A3.00007 3.00007 -180 0 0 64.5 294 L64.5 255 A3.00007 3.00007					 -180 0 0 61.5 252 L3 252 A3.00007 3.00007 -180 0 0 -0 255 L0 294 Z" class="st5"></path>		<text x="5.04" y="278.1" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtiqmmfsrc</text>		</g>	<g id="group88-146" transform="translate(117.459,-238.309)" v:mid="88" v:groupcontext="group">		<title>Sheet.88</title>		<g id="shape89-147" v:mid="89" v:groupcontext="shape" transform="translate(0,-2.9918)">			<title>Sheet.89</title>			<path d="M0 297 L264.75 297" class="st6"></path>		</g>		<g id="shape90-150" v:mid="90" v:groupcontext="shape" transform="translate(263.877,0)">			<title>Sheet.90</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape91-152" v:mid="91" v:groupcontext="shape" transform="translate(43.4569,-241.301)">		<title>Sheet.91</title>		<path d="M0 297 L9.5 297" class="st6"></path>	</g>	<g id="group94-155" transform="translate(431.569,-238.309)" v:mid="94" v:groupcontext="group">		<title>Sheet.94</title>		<g id="shape95-156" v:mid="95" v:groupcontext="shape" transform="translate(0,-2.9918)">			<title>Sheet.95</title>			<path d="M0 297 L9.48 297" class="st6"></path>		</g>		<g id="shape96-159" v:mid="96" v:groupcontext="shape" transform="translate(8.607,-1.7053E-13)">			<title>Sheet.96</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="group97-161" transform="translate(431.569,-263.685)" v:mid="97" v:groupcontext="group">		<title>Sheet.97</title>		<g id="shape98-162" v:mid="98" v:groupcontext="shape" transform="translate(0,-2.99179)">			<title>Sheet.98</title>			<path d="M0 297 L321.55 297" class="st6"></path>		</g>		<g id="shape99-165" v:mid="99" v:groupcontext="shape" transform="translate(320.679,-1.7053E-13)">			<title>Sheet.99</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape100-167" v:mid="100" v:groupcontext="shape" transform="translate(445.409,-222.551)">		<title>Sheet.100</title>		<desc>qtimlvconverter</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="278.25" width="90.01" height="37.5"></v:textrect>		<path d="M0 294 A3.00007 3.00007 -180 0 0 3 297 L87 297 A3.00007 3.00007 -180 0 0 90 294 L90 262.5 A3.00007 3.00007 -180					 0 0 87 259.5 L3 259.5 A3.00007 3.00007 -180 0 0 0 262.5 L0 294 Z" class="st5"></path>		<text x="8.6" y="281.85" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvconverter</text>		</g>	<g id="group101-170" transform="translate(535.409,-238.309)" v:mid="101" v:groupcontext="group">		<title>Sheet.101</title>		<g id="shape102-171" v:mid="102" v:groupcontext="shape" transform="translate(0,-2.9918)">			<title>Sheet.102</title>			<path d="M0 297 L9.48 297" class="st6"></path>		</g>		<g id="shape103-174" v:mid="103" v:groupcontext="shape" transform="translate(8.60701,-1.7053E-13)">			<title>Sheet.103</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape104-176" v:mid="104" v:groupcontext="shape" transform="translate(549.249,-222.551)">		<title>Sheet.104</title>		<desc>qtimlqnn</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="33.5495" cy="278.25" width="67.1" height="37.5"></v:textrect>		<path d="M0 294 A3.00007 3.00007 -180 0 0 3 297 L64.1 297 A3.00007 3.00007 -180 0 0 67.1 294 L67.1 262.5 A3.00007 3.00007					 -180 0 0 64.1 259.5 L3 259.5 A3.00007 3.00007 -180 0 0 -0 262.5 L0 294 Z" class="st5"></path>		<text x="12.92" y="281.85" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlqnn</text>		</g>	<g id="group105-179" transform="translate(616.348,-238.309)" v:mid="105" v:groupcontext="group">		<title>Sheet.105</title>		<g id="shape106-180" v:mid="106" v:groupcontext="shape" transform="translate(0,-2.9918)">			<title>Sheet.106</title>			<path d="M0 297 L9.48 297" class="st6"></path>		</g>		<g id="shape107-183" v:mid="107" v:groupcontext="shape" transform="translate(8.60701,-1.7053E-13)">			<title>Sheet.107</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape108-185" v:mid="108" v:groupcontext="shape" transform="translate(630.188,-222.551)">		<title>Sheet.108</title>		<desc>qtimlpostprocess</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45.4766" cy="278.25" width="90.96" height="37.5"></v:textrect>		<path d="M0 294 A3.00007 3.00007 -180 0 0 3 297 L87.95 297 A3.00007 3.00007 -180 0 0 90.95 294 L90.95 262.5 A3.00007					 3.00007 -180 0 0 87.95 259.5 L3 259.5 A3.00007 3.00007 -180 0 0 0 262.5 L0 294 Z" class="st5"></path>		<text x="4.61" y="281.85" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlpostprocess</text>		</g>	<g id="group109-188" transform="translate(721.142,-238.309)" v:mid="109" v:groupcontext="group">		<title>Sheet.109</title>		<g id="shape110-189" v:mid="110" v:groupcontext="shape" transform="translate(0,-2.9918)">			<title>Sheet.110</title>			<path d="M0 297 L31.98 297" class="st6"></path>		</g>		<g id="shape111-192" v:mid="111" v:groupcontext="shape" transform="translate(31.107,-1.7053E-13)">			<title>Sheet.111</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape115-194" v:mid="115" v:groupcontext="shape" transform="translate(724.714,-242.333)">		<title>Sheet.115</title>		<desc>sink_1</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="31.5" cy="290.7" width="63.01" height="12.6"></v:textrect>		<rect x="0" y="284.4" width="63" height="12.6" class="st12"></rect>		<text x="0" y="293.85" class="st13" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>sink_1</text>		</g>	<g id="shape116-197" v:mid="116" v:groupcontext="shape" transform="translate(724.714,-269.296)">		<title>Sheet.116</title>		<desc>sink_0</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="31.5" cy="290.7" width="63.01" height="12.6"></v:textrect>		<rect x="0" y="284.4" width="63" height="12.6" class="st12"></rect>		<text x="0" y="293.85" class="st13" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>sink_0</text>		</g>	<g id="group118-200" transform="translate(431.569,-149.988)" v:mid="118" v:groupcontext="group">		<title>Sheet.118</title>		<g id="shape119-201" v:mid="119" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.119</title>			<path d="M0 297 L9.48 297" class="st6"></path>		</g>		<g id="shape120-204" v:mid="120" v:groupcontext="shape" transform="translate(8.607,0)">			<title>Sheet.120</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="group121-206" transform="translate(431.569,-175.364)" v:mid="121" v:groupcontext="group">		<title>Sheet.121</title>		<g id="shape122-207" v:mid="122" v:groupcontext="shape" transform="translate(0,-2.99179)">			<title>Sheet.122</title>			<path d="M0 297 L321.55 297" class="st6"></path>		</g>		<g id="shape123-210" v:mid="123" v:groupcontext="shape" transform="translate(320.679,0)">			<title>Sheet.123</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape124-212" v:mid="124" v:groupcontext="shape" transform="translate(445.409,-134.229)">		<title>Sheet.124</title>		<desc>qtimlvconverter</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="278.25" width="90.01" height="37.5"></v:textrect>		<path d="M-0 294 A3.00007 3.00007 -180 0 0 3 297 L87 297 A3.00007 3.00007 -180 0 0 90 294 L90 262.5 A3.00007 3.00007					 -180 0 0 87 259.5 L3 259.5 A3.00007 3.00007 -180 0 0 0 262.5 L0 294 Z" class="st5"></path>		<text x="8.6" y="281.85" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvconverter</text>		</g>	<g id="group125-215" transform="translate(535.409,-149.988)" v:mid="125" v:groupcontext="group">		<title>Sheet.125</title>		<g id="shape126-216" v:mid="126" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.126</title>			<path d="M0 297 L9.48 297" class="st6"></path>		</g>		<g id="shape127-219" v:mid="127" v:groupcontext="shape" transform="translate(8.60701,0)">			<title>Sheet.127</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape128-221" v:mid="128" v:groupcontext="shape" transform="translate(549.249,-134.229)">		<title>Sheet.128</title>		<desc>qtimlqnn</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="33.5495" cy="278.25" width="67.1" height="37.5"></v:textrect>		<path d="M-0 294 A3.00007 3.00007 -180 0 0 3 297 L64.1 297 A3.00007 3.00007 -180 0 0 67.1 294 L67.1 262.5 A3.00007 3.00007					 -180 0 0 64.1 259.5 L3 259.5 A3.00007 3.00007 -180 0 0 0 262.5 L0 294 Z" class="st5"></path>		<text x="12.92" y="281.85" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlqnn</text>		</g>	<g id="group129-224" transform="translate(616.348,-149.988)" v:mid="129" v:groupcontext="group">		<title>Sheet.129</title>		<g id="shape130-225" v:mid="130" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.130</title>			<path d="M0 297 L9.48 297" class="st6"></path>		</g>		<g id="shape131-228" v:mid="131" v:groupcontext="shape" transform="translate(8.60701,0)">			<title>Sheet.131</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape132-230" v:mid="132" v:groupcontext="shape" transform="translate(630.188,-134.229)">		<title>Sheet.132</title>		<desc>qtimlpostprocess</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45.4766" cy="278.25" width="90.96" height="37.5"></v:textrect>		<path d="M0 294 A3.00007 3.00007 -180 0 0 3 297 L87.95 297 A3.00007 3.00007 -180 0 0 90.95 294 L90.95 262.5 A3.00007					 3.00007 -180 0 0 87.95 259.5 L3 259.5 A3.00007 3.00007 -180 0 0 0 262.5 L0 294 Z" class="st5"></path>		<text x="4.61" y="281.85" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlpostprocess</text>		</g>	<g id="group133-233" transform="translate(721.142,-149.988)" v:mid="133" v:groupcontext="group">		<title>Sheet.133</title>		<g id="shape134-234" v:mid="134" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.134</title>			<path d="M0 297 L31.98 297" class="st6"></path>		</g>		<g id="shape135-237" v:mid="135" v:groupcontext="shape" transform="translate(31.107,0)">			<title>Sheet.135</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape139-239" v:mid="139" v:groupcontext="shape" transform="translate(724.714,-154.012)">		<title>Sheet.139</title>		<desc>sink_1</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="31.5" cy="290.7" width="63.01" height="12.6"></v:textrect>		<rect x="0" y="284.4" width="63" height="12.6" class="st12"></rect>		<text x="0" y="293.85" class="st13" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>sink_1</text>		</g>	<g id="shape140-242" v:mid="140" v:groupcontext="shape" transform="translate(724.714,-180.974)">		<title>Sheet.140</title>		<desc>sink_0</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="31.5" cy="290.7" width="63.01" height="12.6"></v:textrect>		<rect x="0" y="284.4" width="63" height="12.6" class="st12"></rect>		<text x="0" y="293.85" class="st13" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>sink_0</text>		</g>	<g id="group142-245" transform="translate(431.569,-61.9965)" v:mid="142" v:groupcontext="group">		<title>Sheet.142</title>		<g id="shape143-246" v:mid="143" v:groupcontext="shape" transform="translate(0,-2.99178)">			<title>Sheet.143</title>			<path d="M0 297 L9.48 297" class="st6"></path>		</g>		<g id="shape144-249" v:mid="144" v:groupcontext="shape" transform="translate(8.607,-5.68434E-14)">			<title>Sheet.144</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="group145-251" transform="translate(431.569,-87.3729)" v:mid="145" v:groupcontext="group">		<title>Sheet.145</title>		<g id="shape146-252" v:mid="146" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.146</title>			<path d="M0 297 L321.55 297" class="st6"></path>		</g>		<g id="shape147-255" v:mid="147" v:groupcontext="shape" transform="translate(320.679,5.68434E-14)">			<title>Sheet.147</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape148-257" v:mid="148" v:groupcontext="shape" transform="translate(445.409,-46.2383)">		<title>Sheet.148</title>		<desc>qtimlvconverter</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="278.25" width="90.01" height="37.5"></v:textrect>		<path d="M-0 294 A3.00007 3.00007 -180 0 0 3 297 L87 297 A3.00007 3.00007 -180 0 0 90 294 L90 262.5 A3.00007 3.00007					 -180 0 0 87 259.5 L3 259.5 A3.00007 3.00007 -180 0 0 0 262.5 L0 294 Z" class="st5"></path>		<text x="8.6" y="281.85" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvconverter</text>		</g>	<g id="group149-260" transform="translate(535.409,-61.9965)" v:mid="149" v:groupcontext="group">		<title>Sheet.149</title>		<g id="shape150-261" v:mid="150" v:groupcontext="shape" transform="translate(0,-2.99178)">			<title>Sheet.150</title>			<path d="M0 297 L9.48 297" class="st6"></path>		</g>		<g id="shape151-264" v:mid="151" v:groupcontext="shape" transform="translate(8.60701,-5.68434E-14)">			<title>Sheet.151</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape152-266" v:mid="152" v:groupcontext="shape" transform="translate(549.249,-46.2383)">		<title>Sheet.152</title>		<desc>qtimlqnn</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="33.5495" cy="278.25" width="67.1" height="37.5"></v:textrect>		<path d="M-0 294 A3.00007 3.00007 -180 0 0 3 297 L64.1 297 A3.00007 3.00007 -180 0 0 67.1 294 L67.1 262.5 A3.00007 3.00007					 -180 0 0 64.1 259.5 L3 259.5 A3.00007 3.00007 -180 0 0 -0 262.5 L0 294 Z" class="st5"></path>		<text x="12.92" y="281.85" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlqnn</text>		</g>	<g id="group153-269" transform="translate(616.348,-61.9965)" v:mid="153" v:groupcontext="group">		<title>Sheet.153</title>		<g id="shape154-270" v:mid="154" v:groupcontext="shape" transform="translate(0,-2.99178)">			<title>Sheet.154</title>			<path d="M0 297 L9.48 297" class="st6"></path>		</g>		<g id="shape155-273" v:mid="155" v:groupcontext="shape" transform="translate(8.60701,-5.68434E-14)">			<title>Sheet.155</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape156-275" v:mid="156" v:groupcontext="shape" transform="translate(630.188,-46.2383)">		<title>Sheet.156</title>		<desc>qtimlpostprocess</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45.4766" cy="278.25" width="90.96" height="37.5"></v:textrect>		<path d="M0 294 A3.00007 3.00007 -180 0 0 3 297 L87.95 297 A3.00007 3.00007 -180 0 0 90.95 294 L90.95 262.5 A3.00007					 3.00007 -180 0 0 87.95 259.5 L3 259.5 A3.00007 3.00007 -180 0 0 0 262.5 L0 294 Z" class="st5"></path>		<text x="4.61" y="281.85" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlpostprocess</text>		</g>	<g id="group157-278" transform="translate(721.142,-61.9965)" v:mid="157" v:groupcontext="group">		<title>Sheet.157</title>		<g id="shape158-279" v:mid="158" v:groupcontext="shape" transform="translate(0,-2.99178)">			<title>Sheet.158</title>			<path d="M0 297 L31.98 297" class="st6"></path>		</g>		<g id="shape159-282" v:mid="159" v:groupcontext="shape" transform="translate(31.107,-5.68434E-14)">			<title>Sheet.159</title>			<path d="M0 297 L5.18 294.01 L0 291.02 L0 297 Z" class="st7"></path>		</g>	</g>	<g id="shape163-284" v:mid="163" v:groupcontext="shape" transform="translate(724.714,-67.4998)">		<title>Sheet.163</title>		<desc>sink_1</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="31.5" cy="290.7" width="63.01" height="12.6"></v:textrect>		<rect x="0" y="284.4" width="63" height="12.6" class="st12"></rect>		<text x="0" y="293.85" class="st13" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>sink_1</text>		</g>	<g id="shape164-287" v:mid="164" v:groupcontext="shape" transform="translate(724.714,-92.3501)">		<title>Sheet.164</title>		<desc>sink_0</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="31.5" cy="290.7" width="63.01" height="12.6"></v:textrect>		<rect x="0" y="284.4" width="63" height="12.6" class="st12"></rect>		<text x="0" y="293.85" class="st13" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>sink_0</text>		</g>	<g id="group165-290" transform="translate(847.656,-14.7814)" v:mid="165" v:groupcontext="group">		<title>Sheet.165</title>		<g id="shape7-291" v:mid="7" v:groupcontext="shape" transform="translate(15.1882,0)">			<title>Sheet.7</title>			<desc>Qualcomm</desc>			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="26.2616" cy="290.7" width="52.53" height="12.6"></v:textrect>			<rect x="0" y="284.4" width="52.5232" height="12.6" class="st12"></rect>			<text x="0" y="293.85" class="st13" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>Qualcomm  </text>			</g>		<g id="shape8-294" v:mid="8" v:groupcontext="shape" transform="translate(6.29496E-14,-0.218619)">			<title>Sheet.8</title>			<path d="M0 295.5 A1.50003 1.50003 -180 0 0 1.5 297 L10.5 297 A1.50003 1.50003 -180 0 0 12 295.5 L12 286.5 A1.50003						 1.50003 -180 0 0 10.5 285 L1.5 285 A1.50003 1.50003 -180 0 0 -0 286.5 L0 295.5 Z" class="st5"></path>		</g>		<g id="shape10-296" v:mid="10" v:groupcontext="shape" transform="translate(89.1246,0)">			<title>Sheet.10</title>			<desc>开源</desc>			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="10.5" cy="290.7" width="21" height="12.6"></v:textrect>			<rect x="0" y="284.4" width="21" height="12.6" class="st12"></rect>			<text x="0" y="294.19" class="st14" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>开源</text>			</g>		<g id="shape11-299" v:mid="11" v:groupcontext="shape" transform="translate(73.9363,-0.218619)">			<title>Sheet.11</title>			<path d="M0 295.5 A1.50003 1.50003 -180 0 0 1.5 297 L10.5 297 A1.50003 1.50003 -180 0 0 12 295.5 L12 286.5 A1.50003						 1.50003 -180 0 0 10.5 285 L1.5 285 A1.50003 1.50003 -180 0 0 -0 286.5 L0 295.5 Z" class="st3"></path>		</g>	</g></g>
</svg>

## 示例模型和标签文件

| Runtime | 模型文件 | 标签文件 |
| --- | --- | --- |
| LiteRT | <var class="keyword varname">face_det_lite_quantized.tflite</var> | <var class="keyword varname">face_detection.json</var> |
| Qualcomm AI Engine Direct | <var class="keyword varname">face_det_lite_quantized.bin</var> | <var class="keyword varname">face_detection.json</var> |
|  |  |  |

## 在目标设备上运行应用程序

示例应用程序使用 `/etc/configs/config_face_detection.json`文件读取输入参数。

要创建自己的 config JSON 文件，请使用 [config_face_detection.json](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/blob/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-face-detection/config_face_detection.json?ref_type=heads) 作为参考。

1. 确保您已完成[前提条件](https://docs.qualcomm.com/doc/80-70022-50SC/topic/download-model-and-label-files.html)。
2. 根据模型、输入流和其他属性更新 config JSON 文件。关于更多详细信息，请参阅 [Config JSON 字段说明](https://docs.qualcomm.com/doc/80-70022-50SC/topic/gst-ai-face-detection.html#gst-ai-face-detection__section_txh_cm4_q2c)。
3. 使用以下格式的 `config_face_detection.json`文件：

        {
        "file-path": "<input-video-path>",
        "ml-framework": "<tflite or qnn framework>", 
        "model": "<path-to-model-file",
        "labels": "<path-to-label-file",
        "threshold": <post-processing threshold, integer value from 1-100>, 
        "runtime": ""<cpu, gpu or dsp runtime>"
        }Copy to clipboard

    例如，使用 LiteRT、输入视频文件、自定义模型、自定义标签文件、DSP runtime 和自定义阈值来运行应用程序：

        {
        "file-path": "/etc/media/video.mp4", 
        "ml-framework": "tflite", 
        "model":"/etc/models/face_det_lite_quantized.tflite", 
        "labels": "/etc/labels/face_detection.json",
        "threshold": 51,
        "runtime": "dsp"
        }Copy to clipboard
4. 运行 gst-ai-face-detection 应用程序：

        gst-ai-face-detection --config-file=/etc/configs/config_face_detection.jsonCopy to clipboard
5. 请在 SSH shell 中运行以下命令，以显示可用的帮助选项：

        gst-ai-face-detection -hCopy to clipboard
6. 要停止用例，请按 CTRL + C。

## Pipeline 流

下表列出了人脸检测 pipeline 中使用的插件：

| 插件 | 说明 |
| --- | --- |
| 摄像头源：[qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtiqmmfsrc.html) | <ul class="ul" id="gst-ai-face-detection__ul_zyl_gj1_mcc"><br>                                    <li class="li">从摄像头采集实时流。</li><br><br>                                    <li class="li">使用 tee 拆分流进行推理。</li><br><br>                                </ul> |
| RTSP 源：rtspsrc | <ul class="ul" id="gst-ai-face-detection__ul_vsj_2r4_tbc"><br>                                    <li class="li">使用 rtspsrc 采集 RTSP 流，然后使用 rtph264depay 进行视频提取。</li><br><br>                                    <li class="li">使用 tee 拆分流进行推理。</li><br><br>                                </ul> |
| h264parse | 渲染 H.264 视频。 |
| [v4l2h264dec](https://docs.qualcomm.com/doc/80-70022-50SC/topic/v4l2h264dec.html) | 解码视频 |
| [qtimlvconverter](https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimlvconverter.html) | <ol class="ol" id="gst-ai-face-detection__ol_j34_ddg_q1c"><br>                                    <li class="li">在其接收端口上接收视频流。</li><br><br>                                    <li class="li">对流数据执行以下预处理。当模型需要浮点值作为输入时，会执行此预处理。<ol class="ol" type="a" id="gst-ai-face-detection__ol_m5z_cpr_lbc"><br>                                            <li class="li">颜色转换</li><br><br>                                            <li class="li">缩放（放大或缩小）</li><br><br>                                            <li class="li">归一化</li><br><br>                                        </ol><br></li><br><br>                                    <li class="li">将预处理的视频流转换为其发送端口上的张量数据流。 </li><br><br>                                </ol><br><br>                                <br>张量数据流用于 pipeline 后期的推理。 |
| <ul class="ul"><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimltflite.html">qtimltflite</a></li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimlqnn.html">qtimlqnn</a></li><br><br>                                </ul> | 用作推理插件。<ol class="ol" id="gst-ai-face-detection__ol_mbk_pl3_4dc"><br>                                    <li class="li">推理 runtime 在其接收端口上接收到张量数据后，插件将运行推理。</li><br><br>                                    <li class="li">生成一个张量数据流，并在其发送端口上显示推理结果。</li><br><br>                                </ol> |
| qtimlpostprocess | <ul class="ul" id="gst-ai-face-detection__ul_lwr_xl3_4dc"><br>                                    <li class="li">处理来自任何人脸检测模型的推理结果。</li><br><br>                                    <li class="li">将阈值应用于所选结果数。</li><br><br>                                </ul> |
| [qtimetamux](https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimetamux.html) | 接收基于字符串的后处理输出文本及视频帧，并对其进行复用。 |
| [qtivoverlay](https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtioverlay.html) | <ol class="ol" id="gst-ai-face-detection__ol_wst_y5l_vbc"><br>                                    <li class="li">接收复用流。</li><br><br>                                    <li class="li">将边界框叠加在流上。</li><br><br>                                </ol> |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70022-50SC/topic/waylandsink.html) | <ol class="ol" id="gst-ai-face-detection__ol_kjr_fvr_lbc"><br>                                    <li class="li">Waylandsink 将其接收端口上接收的视频流提交给 Weston。</li><br><br>                                    <li class="li">Weston 在本地显示器上渲染视频流。</li><br><br>                                </ol> |

## Config JSON 字段说明

可用于配置 JSON 文件和运行用例的不同参数如下：

Table : 字段说明 – gst-ai-face-detection 文件

| 字段 | 值/描述 |
| --- | --- |
| **ml-framework** | 请使用以下模型之一：<br><ul class="ul" id="gst-ai-face-detection__ul_ucy_cm4_q2c"><br>                                    <li class="li"><code class="ph codeph">tflite</code>：LiteRT</li><br><br>                                    <li class="li"><code class="ph codeph">qnn</code>：Qualcomm AI Engine direct</li><br><br>                                </ul> |
| **runtime** | 请使用以下 runtime 之一：<br><ul class="ul" id="gst-ai-face-detection__ul_vcy_cm4_q2c"><br>                                    <li class="li"><code class="ph codeph">cpu</code></li><br><br>                                    <li class="li"><code class="ph codeph">gpu</code></li><br><br>                                    <li class="li"><code class="ph codeph">dsp</code></li><br><br>                                </ul> |
| **Input source** | 请使用以下输入源之一：<br><ul class="ul" id="gst-ai-face-detection__ul_wcy_cm4_q2c"><br>                                    <li class="li"><code class="ph codeph">camera</code>：主 (0) 或辅助 (1)。</li><br><br>                                    <li class="li"><code class="ph codeph">file-path</code>：视频文件的目录路径。</li><br><br>                                    <li class="li"><code class="ph codeph">rtsp-ip-port</code>：RTSP<br>                                                  流地址：<em class="ph i"><u class="ph u"><code class="ph codeph">rtsp://&lt;ip&gt;:&lt;port&gt;/&lt;stream&gt;</code></u></em>。</li><br><br>                                </ul> |

## 已知问题

如果人脸远离摄像头，检测准确度会下降。

## 相关信息

[目标检测](https://docs.qualcomm.com/doc/80-70022-50SC/topic/gst-ai-object-detection.html)

**Parent Topic:** [运行 AI/ML 示例应用程序](https://docs.qualcomm.com/doc/80-70022-50SC/topic/ai-ml-sample-applications.html)

Last Published: Nov 05, 2025

[Previous Topic
AI 智能 codec](https://docs.qualcomm.com/bundle/publicresource/80-70022-50SC/topics/ai-smart-codec.md) [Next Topic
人脸识别](https://docs.qualcomm.com/bundle/publicresource/80-70022-50SC/topics/gst-ai-face-recognition.md)