# 使用 LiteRT 进行姿态估计和显示

Source: [https://docs.qualcomm.com/doc/80-70017-50SC/topic/single-camera-stream-with-pose-estimation-and-display.html](https://docs.qualcomm.com/doc/80-70017-50SC/topic/single-camera-stream-with-pose-estimation-and-display.html)

这些用例使用 PoseNet LiteRT 模型通过姿态估计来处理单个摄像头流。

## 变体 1：使用 qtioverlay 插件应用姿态估计叠加层

运行用例：

    gst-launch-1.0 -e \
    qtiqmmfsrc name=camsrc ! video/x-raw\(memory:GBM\),format=NV12,width=1280,height=720,framerate=30/1,compression=ubwc ! queue ! tee name=split \
    split. ! queue ! qtimetamux name=metamux ! queue ! qtioverlay ! queue ! waylandsink fullscreen=true sync=false \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/opt/posenet_mobilenet_v1.tflite ! queue ! qtimlvpose threshold=51.0 results=2 module=posenet labels=/opt/posenet_mobilenet_v1.labels constants="Posenet,q-offsets=<128.0,128.0,117.0>,q-scales=<0.0784313753247261,0.0784313753247261,1.3875764608383179>;" ! text/x-raw ! queue ! metamux.Copy to clipboard

如需停止用例，可按下 CTRL + C。

Figure : 姿态估计叠加的 pipeline
                
                ![](data:image/png;base64,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)

下图显示了用例执行流程：

1. 从摄像头源传来的视频流中识别场景中人物的姿势。
2. 使用 overlaylib 叠加可用的姿势。
3. 显示结果。

pipeline 执行的顺序处理阶段如下表所示：

| 处理过程 | 说明 |
| --- | --- |
| [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70017-50SC/topic/qtiqmmfsrc.html) | <ol class="ol" id="single-camera-stream-with-pose-estimation-and-display__ol_l2f_zgm_vbc"><br>                                    <li class="li">采集视频流（源）并创建源的两个副本：<ol class="ol" type="a" id="single-camera-stream-with-pose-estimation-and-display__ol_m2f_zgm_vbc"><br>                                            <li class="li">一个被发送到 qtimetamux 插件以保留视频流。</li><br><br>                                            <li class="li">另一个被发送到 ML 推理 pipeline。</li><br><br>                                        </ol><br></li><br><br>                                </ol> |
| **预处理** | **预处理** |
| [qtimlvconverter](https://docs.qualcomm.com/doc/80-70017-50SC/topic/qtimlvconverter.html) | <ol class="ol" id="single-camera-stream-with-pose-estimation-and-display__ol_xsf_q5l_vbc"><br>                                    <li class="li">在其接收端上接收视频流。</li><br><br>                                    <li class="li">执行预处理：<ul class="ul" id="single-camera-stream-with-pose-estimation-and-display__ul_ff2_twl_vbc"><br>                                            <li class="li">颜色转换</li><br><br>                                            <li class="li">缩小/放大</li><br><br>                                            <li class="li">在模型需要浮点值作为输入时，对流数据进行归一化</li><br><br>                                        </ul><br></li><br><br>                                    <li class="li">在其发送端上将视频流转换为张量数据。<p class="p">PoseNet 模型使用此张量数据进行推理。</p><br></li><br><br>                                </ol> |
| **推理** | **推理** |
| [qtimltflite](https://docs.qualcomm.com/doc/80-70017-50SC/topic/qtimltflite.html) | <ol class="ol" id="single-camera-stream-with-pose-estimation-and-display__ol_bwn_s5l_vbc"><br>                                    <li class="li">加载 PoseNet 模型。</li><br><br>                                    <li class="li">为选择的 delegate 修改图。</li><br><br>                                    <li class="li">在其接收端上接收张量数据。</li><br><br>                                    <li class="li">运行推理并在其发送端上生成带有姿态估计结果的张量数据。</li><br><br>                                </ol> |
| **后处理** | **后处理** |
| [qtimlvpose](https://docs.qualcomm.com/doc/80-70017-50SC/topic/qtimlvpose.html) | <ol class="ol" id="single-camera-stream-with-pose-estimation-and-display__ol_gr1_w5l_vbc"><br>                                    <li class="li">从其接收端上的 PoseNet 模型接收推理张量。</li><br><br>                                    <li class="li">将张量转换为多媒体插件稍后可以处理的视频或文本等格式。</li><br><br>                                    <li class="li">将阈值应用于所选的结果数。</li><br><br>                                    <li class="li">加载姿态估计模型的相应模块。 <p class="p">在此用例中，qtimlvpose 执行以下操作：</p><ol class="ol" type="a" id="single-camera-stream-with-pose-estimation-and-display__ol_lyh_txn_vbc"><br>                                            <li class="li">加载 PoseNet 子模块。</li><br><br>                                            <li class="li">将结果生成为文本结构。</li><br><br>                                            <li class="li">接着发送到 qtimetamux 的接收端。</li><br><br>                                        </ol><br></li><br><br>                                </ol> |
| [qtimetamux](https://docs.qualcomm.com/doc/80-70017-50SC/topic/qtimetamux.html) | <ol class="ol" id="single-camera-stream-with-pose-estimation-and-display__ol_ll3_x5l_vbc"><br>                                    <li class="li">在其接收端上接收视频流和文本流，以及与视频流相对应的姿态结果。</li><br><br>                                    <li class="li">在其接收端上生成包含视频流内容的 GST 缓冲存。</li><br><br>                                    <li class="li">将姿态从数据接收端添加到其发送端上的 GST 缓存元数据（元数据多路复用）。</li><br><br>                                </ol> |
| [qtioverlay](https://docs.qualcomm.com/doc/80-70017-50SC/topic/qtioverlay.html) | <ol class="ol" id="single-camera-stream-with-pose-estimation-and-display__ol_wst_y5l_vbc"><br>                                    <li class="li">接收多路复用流。</li><br><br>                                    <li class="li">使用 CL 将姿态叠加在 VideoFrame 上。</li><br><br>                                    <li class="li">在其发送端上生成带有叠加层的 GST 缓存。</li><br><br>                                </ol> |
| **输出** | **输出** |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70017-50SC/topic/waylandsink.html) | <ol class="ol" id="single-camera-stream-with-pose-estimation-and-display__ol_pxz_4xn_vbc"><br>                                    <li class="li">在其接收端上接收视频流。</li><br><br>                                    <li class="li">将视频流提交到 Weston。</li><br><br>                                    <li class="li">Weston 在本地显示设备上渲染以下内容：<ol class="ol" type="a" id="single-camera-stream-with-pose-estimation-and-display__ol_uxg_yxn_vbc"><br>                                            <li class="li">从摄像头采集的视频流。</li><br><br>                                            <li class="li">在该场景中为多人生成的姿态。</li><br><br>                                        </ol><br></li><br><br>                                </ol> |

## **变体2：使用 qtivcomposer 混合原始帧与姿态估计掩码**

运行用例：

    gst-launch-1.0 -e --gst-debug=2 \
    qtiqmmfsrc name=camsrc ! video/x-raw\(memory:GBM\),format=NV12,width=1280,height=720,framerate=30/1,compression=ubwc ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer ! queue ! waylandsink fullscreen=true sync=false \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/opt/posenet_mobilenet_v1.tflite ! queue ! qtimlvpose threshold=51.0 results=2 module=posenet labels=/opt/posenet_mobilenet_v1.labels constants="Posenet,q-offsets=<128.0,128.0,117.0>,q-scales=<0.0784313753247261,0.0784313753247261,1.3875764608383179>;" ! video/x-raw,format=BGRA,width=640,height=360 ! queue ! mixer.Copy to clipboard

如需停止用例，可按下 CTRL + C。

Figure : 使用 qtivcomposer 进行姿态估计掩码的 pipeline
                
                ![](data:image/png;base64,UklGRrIdAABXRUJQVlA4TKUdAAAvzgNIAGpR3LaNI+0/dq73+0XEBLB5ZzJm1HZmAQvZohnn+IoWqRnHMA+YTJjv1FMmNXGsdOP/d+Q2DBnKSyFDhgwZIkSIkJ4IGSJEeCHCCxkyRIgQ4YUIESJEiBAhM84sbt/bfWuwezRv5gpifhmj60CmA0YoRI6+KLlItfge1AHNohtVgxnMXAVyqIW2ADlS0ptRBWqA1UhjaQ4z/0bkK/EOM6B5tWyqmAXIe+9NUcq812XqAo3I3WBG3rsafIRs5ZrwUuTCq0W2gX8PLrBtq7Mw/M/nw4dhGIbhcDgchuGHw3AYhmE4DMMwHIazucD+v4sOD4f3/4ZhGIbhMAzDMBz+8PBwGA6H4TAchsPh7NN/SWwjOZLEwI07lxVdff5m0V/Nyf/7kWRpro0dwxgxZowJ14QxYZZ32cta3uUs7/Jdzu6F0JEyqyrrZaqXB0Ha9DPkQFBulRVFudir8SORhQkBsq6gEIgfhB1lT5MQIAQ/3woShEBw8mdL2tIQCEQMStK3hIBAQUhJG5cENORB0L5dEpr5c0BuHQPeHdPItqukji+UQAmUgURSAjKlICMjj7zySSQyMhKJgzDbyN/sUA6hv/VfgttGkiQxsbXoQvWO05W5Z9c+YMTOyOZw/3H/cf9x/3H/aVa7UhmpXLBEjr7IcMMbZm/FiatK3G/xHF3bsM+G7j+drYgnn1BwwBI5vCJguOpMAcXcrZQ7nLgiQT5FWjuHH83O8I0hnJS0dlJVGcZShYAlIo82Xp8HIEycVMThxBVLpLB0Ch/I+xlq7XNAWDoAZzEmxYAPFog5mLkVh65YIQVaOYItEGjpGGHAF9PHLMxbj5PnWzfMWboh7j/uP+6/MeZDtHmIDKdC2oyIzgKiC4SoPBMCbZz+2ihToRACaRM7CSgEuj4oBApIyT4A2jcUIHXVhoI4FQqZIq1JVbhzgMKTgC4PZqQUEFKUz4Q1hQxA+wZNZZZhBgGoY6xhyPnqUrHPBzFUUzYT6gAkfGp/LTwiAM0LVb+jQNIAt2KC4EDU78DSYEkk0ARIWL6qCJdE/e56N+1fagG5ZMRe71+lOtNo25m6/4lnQdRolHNE2yh16zABRPLXIyxLvTbhtSUuHcIAJJ6s5OIyXnWpiVVAqPn+ROmEFBg9u5BLEudET2xKiAAQtaip6gGInJiASNiuAOoxpgKgelDLQiF/TYQHyMtXF+F6qDcIAMKqRHWuElaFeg4VAFEbh7idSRtKvf8HAEjc9oRBAaaiT959qqEQIWodhkPC0lW1AAAA4VScCl5bbav33wSUk5XciqxKdeNVhKnEoe2tgNFjKNqGb/WK5uhKTcgRIiLSRyQUE5x4nfMnGwL+I2IUA50xNWsuC6GqJHZoLRt0JNby9z7nT0DuPcP0sP1Vl5PKDeRfuv+4pEZCIhIX9hC0nIlu/j4mBBjIuVNsAt+CD9gK7obo5ChCaER0b05tK5Fln66FGN8RoljLQIF7zgmVCMQ4wwmtiHV6/DvWEQUkGwYRYYvozhxHuPtr938GNVZEuDWzUVO0eSV92Su74lqZH5AT5T80ypgpjdr1X25XvWp4MSnz16EmcmdLdT0LurEX70ommc0Egn6UUr0S4n/aC435VJGj6J+25sqYEp17vzC7BzQ9WRtCO5vMDVH+AxkTTmHZWClNmdnj5pd+QcilWWtKrFFhQkQXvTJ2RUTnYTU3n3ZcGzPpaLENryZlzjURpefGmOOCiFfGGLuhgRZHY8x1TlzZ3T+X1JSTe3Ne6i36UrdNoHK02JqGqe1HJN6ZotVzZdQ84yZ8hZYIC9N0Hr1VxpgVRhevzLQblfmiibizRh1DoyMh1bhhvArLuLS7q0+q78jTcmL7MkJ3xjjCK/lvL2uVKqNrMNYaWceX/9qBtBbCSdk9fEH9sLfWgr3AB5DGZFUI1hrY4kd3Kvcb95NIgTLdidrooHcvmX6zEzUFFv7czJxTJ/fW7lVNUaaktUpu6T/c67vCUd/0eOi1qFrroNMhlNnxpgCU99JaBbBqQrm3ZQIv+hpqovYFGi7E1bPixoK1CmqKRpDGQjgaq+CRFi8AxhqYWq5CMFbBD1hwKY21sG/4YhISzC/iCsDY8wu/vyj94i91p6orTw6lflO+ABlyCVukEmQT4Qt0nZHWWmkrnkNOnFpTJeoB9S/wyVol/6CLUCpl9/IPjLr/+5HW7sG27aOwY02OL//22y13oJS10P/jWjyDubIVDmft4DAq1b5Ervq6m17a+D6XU7sJv01tew2qjEvVYw5Pcdyu+xyfYEoJH2DdRoe7qYrQnUa5yxVpL4/7X8ZkrzwxrEVv6x1eax1uuZawlUg8GT1JOA9NtoyfrdX6L8Z0yzjt1YHewJ/2h2KKLEHjoitSjCzxL8eWbFb7RJsv7lI2UjqEUihS0N8rX8EPoCgLYUVajeIvjpn6mfjShvnGyN3AWf/lMMIWOVOqux/h8wGPsN8NlbHUriGs+BDKUl/DQx5l9vvXw08qW3I9r6n5tm7juJBXXEmTcMCL6F/qNTWTJWdsvhxyShrKgq+uuRWIz7myYcovUh5jr5avfcnMNZTLo6yRM9hSM5OHW+Q4Mz3q/tu84lLNUVtZRlG9t20O4yLmY1/her9brqQ6YjvJ3bKU201vO+/0mcNXUJMwctJZ91yq/pCGJmcqoYjpordtDrbJ2mVMiwfVMDcq1ExENJxuHhDGOGScXzIoF/aEtuuEXDKXJ/sw+j5QGfxSndey42d4rLIsO9+vUjl5Cf5c7bfD60feoY90BZ3RuOherM0T/UuOLb1Y16J9onxlNnroXTe66BPu6Eau6TxwvoXkCEdTEcVfZxZqZAGFNucSaj7KNXmDV/sRI6IadvEoFxx3cEURzc2ifZFNTLSS640KN0xUyic9QlHl8T1fjKqusiwzfVRBcU/+37E6+lNZkZ77dGOffqKnsJ8Kh7lwmAg57d501wldyTvSpd5HU8/bXssqGq2auIOCNG+6rCpgFV/annD7rVx6p7HVXZaVNmx1aJ+Z8tC2G1jHwiVtvjc7Yce2ArhCxgKKmTurnsm52zPoCxwYnXPImxG8Mc9FK6iZ8lBpLAzAuqmofVBlxOX+MeDfBc7Wi5eS9ylPK/PB5ItEM1SCb2yr7yCOB/zo3taLceUhBI4tIZQvdGykNblcN6LSQ8blr0MjdD42JEKugw9UyBpfZBZv5WpwzhF/lV+QkBO4olFq4g7qmHCuNh5GqtT1Rl4jOUI10nMP0K86zkMQh6IKjjF6317nRZyc2Rfm1qK33DZFev2rthXaF4lX0Fza6webltDEutkDAMzQpPLcjDl7hupn8EbfahtuaMboBo6MQzSqBe5+AnhpnglFNdHMcVkqAFORuz3DkPIQtn/8sd2fyGim7lhbsCkGQ3Rn7ZKGpPIoCNhZwUNdeCOrYBQTNOje2iXFxu7k3IwrQdGxkTp27Alt49i6L/JaFlGqfs/NY8tf5Er41Syq5faNivOi6AGS3Jpt4Y1dFODNXfJ/UnkUDwIa7vbHK5UlqlirLK7hU1HUP8CzUkUGRUwzqJVcF8XWhJ4qkKNR6YirY23BVH7oI21hek3uLDrCigiJl1/hC90vW9ufAsfxcjNBoZ88iekXERIzoTtbGscpjxjiDrbLOI6Xf+dabuQLL70E8XuG6nK21D2iCO2B8H4nYgG3v4wrWMVUyC0REselekAi3sGOTyGJicr9NjX9gYeo278CcRzHh2I/z+em+lVYhvwWNIaM/W6Cpr/vzudTb1Gb/qdr5Elmcfxr5tHhfGuaKCrVz+1/wXqIl9jbIG0F2xgp/uyJ42X6JNf6ZGs8Qs3ozp5otTcdx+ljWcMXjHEr5ye6SK7LOPq1gCsB4QMUFOvtuiJ0Z0l8djxgqYxzq5olc32d5L2sI+bd9Wp4vzChIh3DdwKqNazj+yoU9HhfyvWCcKeM6ZgypUqON9fFYS7raLmxMrk/0RrWi1jP5Ur/DOs23oRQ5OtjHt9nqsc/ncFDHnP2coxOxmjHazFERyWfUP9Nyt09TfKZ43z04JNSD0iexQq2S8ZiHwbSxmT3WCurq+tVHC1ruD6FL23+k3jqzP1A7SPYabKwqqwcp1GCd4k6eArh9KKS+2majLkUXiCXCsaph1doyb2rn0aLtmCu8xLMNE1gNlEj1edpkvuK/p1OTyhuHW2UnCYLHiv7MoGXBVFq4AXJ4RaUF6rglZTTK4RwhTyHmUTQC2Q/9TDpKDHQTyGM+mIO/TRZWXDeQzhNn2DLFVx53v6n0ZBLCSvCGvYN0xHsNIUwM1Ap4cgYleoBD0ZN0yjBYwVKDwWYu1GCbTd7OU2T2Ve4lrvlzudqWcK65QzOo8GdOUiLowSwDVJjAdS1nedpb3Om32Q90xvNmQWAMOP2ycwMeAgBYIuE7yjfURWCSaPyEwA8pUSUhADwyyYa3ntElQV42cKKsJBwzPbrmcW53MXoaPHbHkCtiHBjAGSBEY177yC/zoxm076oUQG85ET0PAcvQUT5CwDIDgkXBQCoDLmSxRlBVbhPiSs5aSK9lgC/FHIVI2lrOsLoT0fmqeXOAEAxD1sd9pcz/SdNtAOA1fRJ83MIALZjXKvdciW/emThHRaMD3vv1Blz65Awz3NNRKjz/KLVGvEixwHbfEHOi0CkxWSo83ZwjiIvR+t9e0fdOtT5ha+OBbkbfzGDu32/ceuEBUJfYTVQm+cLzDU6J67mWyes/wukG6KLPM+RcNA5OhLXv85Rv8iyzfM2YKW1JMSaDSI3sJCbaEAv6O2ZePQDhXljrgcnzk9j3hLS4qeJnBvaXKOvI32BeHGBTtinYoOoT9yx1OYLdLjIF+QlHlDnOZ2dQ3D8oA+v+yIQiSluhAg3AcmIvHk79OW4fWfdCkX467h1AdXdvr8IXuNxPfPRv8bFReS8UEKWj8751jWK6//Gv/5ppolPXmlBATBwd9ycCbNGxDn62vENjLjZb6NB3IU3wZuVhBp8vX307diAdDf+YHQT1M/ZElA1onNiAPFfsX0pfBGcmEyYqpDc+XK8s3yduMDp+4p4z+FfICwQ1jg63yI6cf2LCcREzvkiCPgUK80hIgakDdgwZ0BAIwHtiE1RXoXqWfiZJWhPCjvU15mvt6BU4hdwYs0nJrg9g4QC/AFOiHNCslMkfbfdOv/0A4t4P3LrkAvYzQj7LWCBn3oZucA1RvoJSkZ3ms3i3CnSngGBjQTPyg3RE0BBp9+Tr9ngKRL8++a/HHx/EnXrbHjDS8un/e1LFb2hvfNWsVh+uS7oP87K1vgxmI8CDHtLqkz0v5iyPCGlzKA/8oCPwrD9H/3vmS2N+MdDIxP4bPeVhoEtjfjHQzFt9fJH3+D+4/4b3YbzuqQUp8rBX1KKA7jgI+fO0mHO0gE4y4ldjpkT5dgvx+z+Q9stkUMvNVxNpcncrbzixJXXt1s7m7+xM2JjYVO7tdN0ZODA4kg5yXD/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/jXotPqFeTWOZ9zFv5THc/EV9mpuPGh/rFj/t2WFuq1ez14SYtwXZoJ5N7Ntf3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H+j0uq8yJbyAws/WLaSThY6L7Lh/OAeHQ032VDgWhaWW7QvIc5i4VfvJtuNt8Q9eiUFNpTU4yy0W7Uvj4krUmC7SbW5SFKg7UTIhUxurNoXsCEF2myEdJl8mwkz1uyLJd9Ww/3H/cf9N6ZhiJpG+X8s1FmdE4ZX5ruH+bGOAUFUnglB38FBUQw+UywCsa4m6nxim+LUHQrD169z7xQ9x/q0RWGsBwqBq0FKWE0Zyw1CFOP3rUArQBQChSc92oBCm4OwMx2yMAgjr0xE945z/nud0VIUrMbYDhRSZqB54fJmoMGqycFomJES0PxwNaQ8Addfez0V6SRDYiZE3jRNlSUX0abRRDGje6e5G2ImypuKXlTz8oXNEKtBeG+9a5cI2ZR493ov6lfEzheJ9ASlalTCMOhrGACj5yKMRxlKXPtmKyB1GDNRN9f6aLsH+yeuEB+FOfquc9TtwxaTVUqU9gAPoUqWL1Bxu+v8ZaBp6S5qsWpa3sF8FSASikLhXf/nE4d6pGONpGpIHVFGwdgBh+IYohA0612pCdGh+FtixJlzNeNldf4wQgp/ACGJP6c7IZ7zfQFqQ5mQc+6EpO6sCJg4cgJFTNXXDB16pfmvo+zTiIsJSuYreNiV808dZ/UF5zDx4C/h3eIvKsplqHmzazDgXgt5KO1NGom3yB/Gd099AQIT+Hp7D5etWYsmzhEzMxPFo0Gm5ZIwYmJmQuF9gphpcG5gJsSImaPBOSQxABJHATkJnSMmFEKJXyCKmGn8VLE/jLshYWbk3pD4iTVr1kksgJkprmC3JF4yEhMx+65DAT6qZnn/OyS/tjMUL4m1fLwPKvKtmF6Zk0EcRWJRrM2IxMuY0H/vIuZIFDOh748BHDH77qkvwG1AAjcIvTnn3rtN2z1s/3E656g8nx6vHlfV70pOq/z3K90eHy/W03mzTKZXuGp5JummVUukj3cJ8266m+qIBi6nu6kgiqrzXfk4PSa8eVwfyGEy1cTZ+TR9QKJ0XeweH+/Mvt8xVx+m6UNFdHH8ffXhPCX3hpSg/D90dtP1cMiH9fQKX7brTdnL8EPaPJaUTs3zNH1pcTvdJezJt0b22z9fPsn5+nn81MW/PRySSZrHLqBI9zZkX1qQNYKjtp7uHo8fms2dNH+RrHqssb2r07vp8cD1NK2iGZvuzktylF/dHcoPq+3ddHURIeFxupuSeHDUnd9NjxUj4e7ubvqKhO69V5amSC/dyKWj4YIgOJrIOar34I31fymQsE734WHRQwgAY6EA4AoX56rLpM2j6PDdpniUAADbCMXAa+IGjAGAcLOYIGHCCeo4MQAAnzOuDOxBgpTwskwsAIAtOe1BgXx+U4JpyY7/L5igmcNo04M3VLYFCbL6A7b8DMYCwHYCAPscZ58+H0KQYA1IUM3M8gtUNUiAFYlFXkWDexu2SbY0PsOcI30twRtFIr9JWDUwtRqkBYDrFwmgSp45NDAScQNhvgUFAPBzzvgoNPxHS7+J97DiYSsBQL7kEbq3JoTiluw0nZIF3YnKJTs+LvUuEgqJQ0qUrHT21weste5VhamZHxYjqE36A6Q8tjsVtu25+q/4BS6Z/guuljswmd48qCQBlehNCEWcKJhXhycoliUUSItPIaWhbNqLAl6BKwtPlxeb3vzW5tO3ptXlt3GRjzCv8haDPD5huvbU1NyYy61Fbx3/D3OuWGVPI9KPcNT5GkyFJVwtsNgfuQK4PjQWTJJew+5+dmjTSe20PoedzuczV1BRJaeLoYRxs0hHuWJ0p/T+dB0Z35K8I7dNY2WJHzHlCHfQV3qnoMZK9dVQqvNWKxg3zz3I1eEI6zjtzWEI7YG4hoa3Uh51F0LCW+hzXe4h47lM9KKWNZVynuvNz1Dym0Y60I0lkwTuKCGUBlrSuY0u+oRkthdvCqTt86hI3E4F/EHMCawxHk0bi+SG4wzWzDQ3nnK5k0fEB5PpERJmaheHJyiZOZVhm8gxZW6+r+M0tAdeyXXcQNHqRfrKMtXGhhtmHM3zspG/54tF/rIv9VxVHAWe9v4Z91uD9qRPOOGEZLIna/JA+jyKJg4jr6qY8ZWo6j6Dr0sSfYmiaPqeUJxAHQunz1UTx79DEmufpZaPS3ySTavbTl6f+rsdwhi+1dHI7ou7Tsglc30GEzbRY6t9UCVzdJQFaTO2sUDOMYqPsKM4/f4kiApZcD6qDW/3BTKX8jwPVcXMOzjXc1kuBm5betpXC902n8ac0L1BXqjPxWYhHOiXKlIMXFI2nkCJcnPHmpfKoo/4Qr7hNRwi5GqGR6XZJ4+4giLGaJQLT5yGdqH3U3z5nzZldMSH/lPFSIvQbjp5vSDq4JHjAjK+UxkVIEEYu9T2KVM7mi5e+cMUejQpY/DPZgvjE3Sk2NjcHXf0eDQv7VWsiqcRV7CNkWgm7qCOfY7xEE1SE3ewpmfvbeeqZP4ATeQX5/IxvgyFNr6D3RC60x0209PIX8pNV8u0qnqwvtE2zAm5nsnNqFnw/TMPXEDF0UGO7aE3Kedyuu/kuqXtvqaBK9sndkRCfrZ9vrMAT3lOPPrupqr4jZJtpAMdD1xaisZljzUv7RkPjqbKGTk7jQwKHmguYv59f1nui7iyYRqhwygNrUf39jKT15oomeH/ksc8nBMeoZ+8cZdsZiK/+Z2QprkYzUbwxk4vfumIupd1+Tic6CoeyG94LVW4HydvfDmQewun08nevH+2Mh/Ky8YoTjJGAx9P0I423UETD4JophFElQ1zrqYpBNPwKCdhfEjpDXODH90/X5q9or4aVUUYXwrM66D/Mtv/H244nZuUceClnlQVI7U21F0A0lN4NAXRVyiXHPFyeV/5ZTO7WAgTH+ZvVPyLukeBLi9ExHdvwn+dStqbfBlFvIzpH+behqOK9ao8MoLdEMb16xtKtX4IUx62akfImflchWFLGGdq1MuY48MkH/SkLsS76b3x/VpVTsrJqEHx/YGWeOWZK1y+hna06i4i2sKRltztqhq+4JJ3MC2TAENc7K09EHdyni9jLneHywC/VsZ08ZKa3WU+vlGdhL/v1vyyNdmv99l/Gk+x5NO7k83yRPC45C0UtIwvdk1Lb8H0E4PACO2TLHh5mOQfM3O9PLWIc2vVkWjYypdhSVdQ0yjreNm+QK1XJce/btRPhyO8YLzUu5Wm921BQHfrKA9hW1+DcIBtc3pDtAZZ0MCVgXV93MtNauGlPsI+iwNFjYIRidoXmOriCsxhI/osp9/yLYTHegtyk3uHs/JpNEdYwFj/ocDzLbzKa3lK7QeYdnp90sEW1cbAui4muMaP7h35NJqjTqpt3cP3mnKrXrLfTo30HciSZ0Cu67W0KTdSFvU52ENroPASXGFqYV3UE1y3PwpAriyAWn+bOQL0qQoPix4OnuNMCIt2gpKREmlyckhVDwC2YkpHADAdcwM/zzRwx0jtCDv8iKzXAABTFVfKbiKiBsCki0ICQF/FaSgvzw4k3ALAdWgqTnuApoYtV7CdGWEmgZchU2HLDYCsPBehSpbbGf0Z4Cqu5gAAu5zc7TuDdhIgnB0G3AK87OTUauhntp4U+jYN92k0UAN/y8kNWzUX7hcS/5cBgJ9TpCoEAFi3UZSNAADbNsIfAdw65E2SpM8zlGdJ1WZVi1XXEukkJUdVh3jZ5eQcZhW5WzdwmnRJyoicJ11yyQPp7hLdoJNLckibRHshuc2SrsuZdFa15Ai7pFowVknXHZjaSnhe7O0KDt12SafvVEW4SRKdd2lQaUQ62aDOKiTMkqxNkwvCKtOUJgvCNEkOxIekSyqK8N1xQ0OVJHkhCySdJGmeXSJ2FTlKE03UdhW2VdaSozbZDM5TZF1yiOiGqEq6RMfDEKVdl2Qt48C5lwC9qf8I4NYhMy+fYYaYmZhpYKabG2JCh8yD+EiyIxbyOoyYOULfZ8UZ3Q1xNDhHYpiISUhHzMyEvieGb4iZSQwT+cKcFf450jRDETMREwaUJrSCxDyIU/c6HFhMdoMRMyFG/s9fvytuxbsQC0goKsKBGR2SeMN5CLhbkWBf++61G3wdOYwCEpC/tx8F3DpE5MzjENEhOuG88L7bgBhePjHuKZ/kEnMFp3PBT3eJMdyJYc4MYVI0ePwPQwWVdhsQw/lrDUhyYhm37w7xLrDAIeIJRQXV4r+jAhpQmJrzd+TwFAl+JHDrnOd6xglL91Y4L77PHyMgxymfsz7xfcHxAlO7k8OcreesPw6jnHFiT4GlBcYQaz05yTv7nPUMFOK9PnVRARGGNRTk/EkCApz8nPWPBnwUXvvT5yvs/B1EFQ+9fz2gjb6DKApvydNLxFQG43rqsY1BpbEEPooMAKJv53xEgAz6NspHAeyOtSMC9GMliL9ytF1auvNtju5jrbvS2ArfR9/++ejbErMU5fwYARf50Te4/7j/xrAvdnGFOK6NM7x+K1lfXb+Vi3S0aLahiGtZWGjVvm5i4hqabTewxD3q/MGWcjoLp1u2EjMcSrs60CObw/3H/cf9x/3H/cf9xykQAAA=)

下图显示了用例执行流程：

1. 从摄像头源传来的视频流中识别场景中人物的姿态。
2. 使用 qtivcomposer 合成姿态和视频流。
3. 显示结果。

pipeline 执行的顺序处理阶段如下表所示：

| 处理过程 | 说明 |
| --- | --- |
| [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70017-50SC/topic/qtiqmmfsrc.html) | <ol class="ol" id="single-camera-stream-with-pose-estimation-and-display__ol_gqx_gzn_vbc"><br>                                    <li class="li">采集视频流（源）并创建源的两个副本：<ul class="ul" id="single-camera-stream-with-pose-estimation-and-display__ol_hqx_gzn_vbc"><br>                                            <li class="li">一个被发送到 qtimetamux 插件以保留视频流。</li><br><br>                                            <li class="li">另一个被发送到 ML 推理 pipeline。</li><br><br>                                        </ul><br></li><br><br>                                </ol> |
| **预处理** | **预处理** |
| [qtimlvconverter](https://docs.qualcomm.com/doc/80-70017-50SC/topic/qtimlvconverter.html) | <ol class="ol" id="single-camera-stream-with-pose-estimation-and-display__ol_iqx_gzn_vbc"><br>                                    <li class="li">在其接收端上接收视频流。</li><br><br>                                    <li class="li">执行预处理：<ul class="ul" id="single-camera-stream-with-pose-estimation-and-display__ul_jqx_gzn_vbc"><br>                                            <li class="li">颜色转换</li><br><br>                                            <li class="li">缩小/放大</li><br><br>                                            <li class="li">在模型需要浮点值作为输入时，对流数据进行归一化</li><br><br>                                        </ul><br></li><br><br>                                    <li class="li">在其发送端上将视频流转换为张量数据。<p class="p">PoseNet 模型使用此张量数据进行推理。</p><br></li><br><br>                                </ol> |
| **推理** | **推理** |
| [qtimltflite](https://docs.qualcomm.com/doc/80-70017-50SC/topic/qtimltflite.html) | <ol class="ol" id="single-camera-stream-with-pose-estimation-and-display__ol_kqx_gzn_vbc"><br>                                    <li class="li">加载 PoseNet 模型。</li><br><br>                                    <li class="li">为选择的 delegate 修改图。</li><br><br>                                    <li class="li">在其接收端上接收张量数据。</li><br><br>                                    <li class="li">运行推理并在其发送端上生成带有姿态估计结果的张量数据。</li><br><br>                                </ol> |
| **后处理** | **后处理** |
| [qtimlvpose](https://docs.qualcomm.com/doc/80-70017-50SC/topic/qtimlvpose.html) | <ol class="ol" id="single-camera-stream-with-pose-estimation-and-display__ol_lqx_gzn_vbc"><br>                                    <li class="li">从其接收端上的 PoseNet 模型接收推理张量。</li><br><br>                                    <li class="li">将张量转换为多媒体插件稍后可以处理的视频或文本等格式。</li><br><br>                                    <li class="li">将阈值应用于所选的结果数。</li><br><br>                                    <li class="li">加载姿态估计模型的相应模块。 <p class="p">在此用例中，qtimlvpose 执行以下操作：</p><ol class="ol" type="a" id="single-camera-stream-with-pose-estimation-and-display__ol_mqx_gzn_vbc"><br>                                            <li class="li">加载 PoseNet 子模块。</li><br><br>                                            <li class="li">将结果生成为所绘制姿态的视频帧。</li><br><br>                                            <li class="li">将它们发送至 qtivcomposer 的接收端。</li><br><br>                                        </ol><br></li><br><br>                                </ol> |
| [qtivcomposer](https://docs.qualcomm.com/doc/80-70017-50SC/topic/qtivcomposer.html) | <ol class="ol"><br>                                    <li class="li"> 在接收端上接收原始视频流和姿态视频流。</li><br><br>                                    <li class="li">在其发送端上，生成 GST 缓存，其内容由来自其接收设备的视频流组成。</li><br><br>                                </ol> |
| **输出** | **输出** |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70017-50SC/topic/waylandsink.html) | <ol class="ol" id="single-camera-stream-with-pose-estimation-and-display__ol_pqx_gzn_vbc"><br>                                    <li class="li">在其接收端上接收视频流。</li><br><br>                                    <li class="li">将视频流提交到 Weston。</li><br><br>                                    <li class="li">Weston 在本地显示设备上渲染以下内容：<ol class="ol" type="a" id="single-camera-stream-with-pose-estimation-and-display__ol_qqx_gzn_vbc"><br>                                            <li class="li">从摄像头采集的视频流。</li><br><br>                                            <li class="li">在该场景中为多人生成的姿态。</li><br><br>                                        </ol><br></li><br><br>                                </ol> |

**上一级主题：** [LiteRT 用例](https://docs.qualcomm.com/doc/80-70017-50SC/topic/tensorflow-lite-use-cases.html)

Last Published: Nov 11, 2025

[Previous Topic
使用 LiteRT 进行图像分割和编码](https://docs.qualcomm.com/bundle/publicresource/80-70017-50SC/topics/single-camera-stream-with-image-segmentation-and-encode.md) [Next Topic
使用 LiteRT 进行姿态估计和编码](https://docs.qualcomm.com/bundle/publicresource/80-70017-50SC/topics/single-camera-stream-with-pose-estimation-and-encode.md)