# Image segmentation

The **gst-ai-segmentation** application allows you to divide an image into different and meaningful parts or segments and assign a label to each homogeneous segment based on the similarity of the attributes. The application uses Qualcomm Neural Processing SDK runtime, Qualcomm AI Engine direct runtime, and LiteRT for image segmentation.

The following figure shows the pipeline, which receives the input from a live camera feed, file, or an RTSP stream, preprocesses the video data, runs inferences using AI hardware, and displays the segmented data on the screen.

For information about the plugins used in the pipeline flow, see [Pipeline flow](https://docs.qualcomm.com/doc/80-80022-55/topic/gst-ai-segmentation.html#section-xb4-p1s-lbc).

<!--?xml version="1.0" encoding="UTF-8"?-->
<svg xmlns="http://www.w3.org/2000/svg" width="1302.5443115234375" height="424" viewbox="0 0 1302.5443115234375 424" aria-label="../../_images/gst_ai_segmentation_pipeline.svg">
  <g id="Layer_2" data-name="Layer 2">
    <g>
      <rect x=".500244140625" y=".499847412109403" width="1301.54443359375" height="423.00048828125" rx="7.499999999999999" ry="7.499999999999999" style="fill: #fafafa;"></rect>
      <path d="M1294.5443115234375,1c3.85986328125,0,7,3.140167236328125,7,7v408c0,3.859832763671875-3.14013671875,7-7,7H8c-3.859832763671875,0-7-3.140167236328125-7-7V8c0-3.859832763671875,3.140167236328125-7,7-7h1286.5443115234375M1294.5443115234375,0H8C3.581817626953125,0,0,3.581666946411133,0,8v408c0,4.4183349609375,3.581817626953125,8,8,8h1286.5443115234375c4.41815185546875,0,8-3.5816650390625,8-8V8c0-4.418333053588867-3.58184814453125-8-8-8h0Z" style="fill: #d2d7e1;"></path>
    </g>
  </g>
  <g id="Layer_3" data-name="Layer 3">
    <g>
      <g>
        <g>
          <text transform="translate(1109.232940673828125 404.228233337402344)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Qualcomm </tspan></text>
          <rect x="1088.981932954719014" y="392.136734455021724" width="16" height="16" rx="2" ry="2" style="fill: #2a2aea;"></rect>
        </g>
        <g>
          <text transform="translate(1207.814712524414062 404.228233337402344)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Open source</tspan></text>
          <rect x="1187.563714367572175" y="392.136734455021724" width="16" height="16" rx="2" ry="2" style="fill: #007884;"></rect>
        </g>
      </g>
      <rect x="1063.544330343544061" y="15.863265544978276" width="104.000000000003638" height="359.273468910043448" rx="8" ry="8" style="fill: #2a2aea;"></rect>
      <g>
        <line x1="1167.5443115234375" y1="189.83355712890625" x2="1180.1875" y2="189.83355712890625" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1179.02032470703125 193.8226318359375 1185.92852783203125 189.83355712890625 1179.02032470703125 185.844497680664062 1179.02032470703125 193.8226318359375"></polygon>
      </g>
      <line x1="1235.997806833402137" y1="161.742486620694763" x2="1235.997806833402137" y2="146.24620386359129" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <text transform="translate(1072.792236328125 199.591644287109375)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtivcomposer</tspan></text>
      <g>
        <rect x="1185.997806833400318" y="162.446491809498184" width="100.000000000003638" height="54.774142029076756" rx="4" ry="4" style="fill: #007884;"></rect>
        <text transform="translate(1194.900390625 193.924407958984375)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Waylandsink </tspan></text>
      </g>
      <g>
        <g>
          <rect x="1214.997806833402137" y="105.587166995032021" width="42" height="29.400000000001455" rx="4" ry="4" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></rect>
          <line x1="1227.597806833397044" y1="143.387166995029474" x2="1244.397806833394498" y2="143.387166995029474" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></line>
        </g>
        <line x1="1235.997806833402137" y1="134.987166995033476" x2="1235.997806833402137" y2="143.387166995029474" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></line>
      </g>
      <g>
        <g>
          <path d="M46.851192190033544,185.521277102798194h-9l-4.5,5.400000000001455h-5.400000000001455c-1.988224983215332,0-3.599999999998545,1.611775016783213-3.599999999998545,3.599999999998545v16.200000000000728c0,1.988226699828374,1.611775016783213,3.600000000002183,3.599999999998545,3.600000000002183h28.80000000000291c1.988226699828374,0,3.599999999998545-1.611773300173809,3.599999999998545-3.600000000002183v-16.200000000000728c0-1.988224983215332-1.611773300170171-3.599999999998545-3.599999999998545-3.599999999998545h-5.400000000001455l-4.5-5.400000000001455Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
          <circle cx="42.351192190033544" cy="199.92127710279965" r="5.400000000001455" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></circle>
        </g>
        <rect x="73.916518424694004" y="171.92127710279965" width="86" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <g>
          <line x1="159.91650390625" y1="221.921279907226562" x2="591.442916870117188" y2="221.921279907226562" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="590.275726318359375 225.91033935546875 597.18389892578125 221.921279907226562 590.275726318359375 217.932220458984375 590.275726318359375 225.91033935546875"></polygon>
        </g>
        <line x1="61.247555725591155" y1="201.92127710279965" x2="73.916518424694004" y2="201.92127710279965" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <rect x="597.183900873971652" y="191.92127710279965" width="120.000000000007276" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <g>
          <line x1="717.18389892578125" y1="221.921279907226562" x2="729.82708740234375" y2="221.921279907226562" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="728.659912109375 225.91033935546875 735.568084716796875 221.921279907226562 728.659912109375 217.932220458984375 728.659912109375 225.91033935546875"></polygon>
        </g>
        <rect x="735.637377363831547" y="191.92127710279965" width="110.000000000003638" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <g>
          <line x1="845.63739013671875" y1="221.921279907226562" x2="858.28057861328125" y2="221.921279907226562" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="857.113372802734375 225.91033935546875 864.02154541015625 221.921279907226562 857.113372802734375 217.932220458984375 857.113372802734375 225.91033935546875"></polygon>
        </g>
        <rect x="864.090853853687804" y="191.92127710279965" width="145.000000000003638" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <g>
          <line x1="1009.09088134765625" y1="221.921279907226562" x2="1057.73406982421875" y2="221.921279907226562" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="1056.56683349609375 225.91033935546875 1063.47503662109375 221.921279907226562 1056.56683349609375 217.932220458984375 1056.56683349609375 225.91033935546875"></polygon>
        </g>
        <text transform="translate(80.631378173828125 205.443267822265625)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtiqmmfsrc</tspan></text>
        <text transform="translate(608.64532470703125 226.012298583984375)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlvconverter</tspan></text>
        <text transform="translate(757.8450927734375 209.212371826171875)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimltflite/</tspan><tspan x="-2.73095703125" y="16.7998046875">qtimlsnpe/ </tspan><tspan x="3.55810546875" y="33.60009765625">qtimlqnn </tspan></text>
        <text transform="translate(882.09832763671875 226.012298583984375)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
        <text transform="translate(1013.854248046875 216.344329833984375)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_1</tspan></text>
        <g>
          <line x1="159.91650390625" y1="181.921279907226562" x2="1057.73406982421875" y2="181.921279907226562" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="1056.56683349609375 185.91033935546875 1063.47503662109375 181.921279907226562 1056.56683349609375 177.932220458984375 1056.56683349609375 185.91033935546875"></polygon>
        </g>
        <text transform="translate(1013.85443115234375 175.3946533203125)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_0</tspan></text>
      </g>
      <g>
        <rect x="73.916518424694004" y="314.614165271797901" width="86" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
        <g>
          <line x1="159.91650390625" y1="344.614166259765625" x2="172.559707641601562" y2="344.614166259765625" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="171.39251708984375 348.603240966796875 178.300689697265625 344.614166259765625 171.39251708984375 340.625091552734375 171.39251708984375 348.603240966796875"></polygon>
        </g>
        <line x1="61.247555725591155" y1="344.614165271797901" x2="73.916518424694004" y2="344.614165271797901" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <rect x="178.369994914549352" y="314.614165271797901" width="95" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
        <g>
          <line x1="273.369995117186591" y1="344.614166259765625" x2="286.01318359375" y2="344.614166259765625" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="284.845993041992188 348.603240966796875 291.754165649414062 344.614166259765625 284.845993041992188 340.625091552734375 284.845993041992188 348.603240966796875"></polygon>
        </g>
        <rect x="291.8234714044047" y="314.614165271797901" width="95" height="60" rx="3.999999999999999" ry="3.999999999999999" style="fill: #007884;"></rect>
        <g>
          <line x1="386.823471069335938" y1="344.614166259765625" x2="399.466665267944336" y2="344.614166259765625" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="398.299472808837891 348.603240966796875 405.207649230957031 344.614166259765625 398.299472808837891 340.625091552734375 398.299472808837891 348.603240966796875"></polygon>
        </g>
        <rect x="405.276947894260957" y="314.614165271797901" width="95" height="60" rx="3.999999999999999" ry="3.999999999999999" style="fill: #007884;"></rect>
        <g>
          <line x1="500.276947021484375" y1="344.614166259765625" x2="512.920143127441406" y2="344.614166259765625" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="511.752952575683594 348.603240966796875 518.661125183105469 344.614166259765625 511.752952575683594 340.625091552734375 511.752952575683594 348.603240966796875"></polygon>
        </g>
        <g>
          <line x1="578.730422973632812" y1="344.614166259765625" x2="591.373611450195312" y2="344.614166259765625" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="590.206420898438409 348.603240966796875 597.114608764648438 344.614166259765625 590.206420898438409 340.625091552734375 590.206420898438409 348.603240966796875"></polygon>
        </g>
        <rect x="597.183900873971652" y="314.614165271797901" width="120.000000000007276" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <g>
          <line x1="717.18389892578125" y1="344.614166259765625" x2="729.82708740234375" y2="344.614166259765625" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="728.659912109375 348.603240966796875 735.568084716796875 344.614166259765625 728.659912109375 340.625091552734375 728.659912109375 348.603240966796875"></polygon>
        </g>
        <rect x="735.637377363831547" y="314.614165271797901" width="110.000000000003638" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <g>
          <line x1="845.63739013671875" y1="344.614166259765625" x2="858.28057861328125" y2="344.614166259765625" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="857.113372802734375 348.603240966796875 864.02154541015625 344.614166259765625 857.113372802734375 340.625091552734375 857.113372802734375 348.603240966796875"></polygon>
        </g>
        <rect x="864.090853853687804" y="314.614165271797901" width="145.000000000003638" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <g>
          <line x1="1009.09088134765625" y1="344.614166259765625" x2="1057.73406982421875" y2="344.614166259765625" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="1056.56683349609375 348.603240966796875 1063.47503662109375 344.614166259765625 1056.56683349609375 340.625091552734375 1056.56683349609375 348.603240966796875"></polygon>
        </g>
        <text transform="translate(93.349639892578125 348.136260986328125)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">rtspsrc </tspan></text>
        <text transform="translate(199.906890869140625 341.305816650390625)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">rtph264 </tspan><tspan x="5.52685546875" y="16.7998046875">depay </tspan></text>
        <text transform="translate(306.254783630371094 348.705718994140625)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">h264parse</tspan></text>
        <text transform="translate(411.795318603515625 348.705535888671875)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">V4l2h264dec</tspan></text>
        <g>
          <rect x="518.730424384115395" y="294.614165271797901" width="60.000000000001819" height="80.522569183223823" rx="4" ry="4" style="fill: #007884;"></rect>
          <text transform="translate(539.026824951171875 338.966644287109375)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">tee</tspan></text>
        </g>
        <text transform="translate(608.64532470703125 348.120941162109375)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlvconverter</tspan></text>
        <text transform="translate(757.8450927734375 331.905731201171875)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimltflite/</tspan><tspan x="-2.73095703125" y="16.7998046875">qtimlsnpe/ </tspan><tspan x="3.55810546875" y="33.60009765625">qtimlqnn </tspan></text>
        <text transform="translate(882.09832763671875 348.705413818359375)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
        <text transform="translate(1013.854248046875 338.065643310546875)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_1</tspan></text>
        <g>
          <line x1="578.730422973632812" y1="304.616455078125" x2="1057.73406982421875" y2="304.616455078125" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="1056.56683349609375 308.60552978515625 1063.47503662109375 304.616455078125 1056.56683349609375 300.627410888671875 1056.56683349609375 308.60552978515625"></polygon>
        </g>
        <text transform="translate(1013.85443115234375 299.937286376953125)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_0</tspan></text>
        <g>
          <path d="M38.75119219003318,340.964165271794627c.001393890381223-.745582866666155.606937980652219-1.348867893218994,1.352521705628533-1.347474002834133.248203468321663.000463485717773.491475105285645.069345188137959.703078651427859.199073982235859l6.595199203491575,4.048200130462646c.635238075255984.390344238281614.833762741087412,1.221743202209836.443418502807617,1.85698127746582-.110953330993652.180562019348145-.262856483459473.332465171813965-.443418502807617.443418502807617l-6.595199203491575,4.05000000000291c-.63563804626574.389691925047373-1.466832733154661.190314102170305-1.856524658203853-.445323944091797-.130368232727051-.212645530700684-.199274826049077-.457250976563955-.199075698852539-.706676673891707v-8.098199272157217Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
          <path d="M33.351192190033544,364.814165271798629h18" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
          <rect x="24.351192190033544" y="332.414165271797174" width="36" height="25.199999999998909" rx="2" ry="2" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></rect>
        </g>
      </g>
      <g>
        <g>
          <rect x="518.730424384115395" y="29.53075786431873" width="60.000000000001819" height="80.522569183223823" rx="4" ry="4" style="fill: #007884;"></rect>
          <text transform="translate(539.026824951171875 73.88330078125)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">tee</tspan></text>
        </g>
        <g>
          <path d="M49.101192190033544,55.553327047542552h-20.25c-2.485281229017346,0-4.5,2.014718770980835-4.5,4.5v36c0,2.485283374786377,2.014718770982654,4.5,4.5,4.5h27c2.485283374786377,0,4.5-2.014716625213623,4.5-4.5v-29.25l-11.25-11.25Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
          <path d="M46.851192190033544,55.553327047542552v9c0,2.485281229019165,2.014718770980835,4.5,4.5,4.5h9" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
          <path d="M37.851192190033544,75.803327047542552l11.25,6.75-11.25,6.75v-13.5Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
        </g>
        <rect x="73.916518424694004" y="48.053327047542552" width="86" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
        <g>
          <line x1="159.91650390625" y1="78.053329467773438" x2="172.559707641601562" y2="78.053329467773438" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="171.39251708984375 82.042388916015625 178.300689697265625 78.053329467773438 171.39251708984375 74.064262390136719 171.39251708984375 82.042388916015625"></polygon>
        </g>
        <line x1="61.247555725591155" y1="78.053327047542552" x2="73.916518424694004" y2="78.053327047542552" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <rect x="178.369994914549352" y="48.053327047542552" width="95" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
        <g>
          <line x1="273.369995117186591" y1="78.053329467773438" x2="286.01318359375" y2="78.053329467773438" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="284.845993041992188 82.042388916015625 291.754165649414062 78.053329467773438 284.845993041992188 74.064262390136719 284.845993041992188 82.042388916015625"></polygon>
        </g>
        <rect x="291.8234714044047" y="48.053327047542552" width="95" height="60" rx="3.999999999999999" ry="3.999999999999999" style="fill: #007884;"></rect>
        <g>
          <line x1="386.823471069335938" y1="78.053329467773438" x2="399.466665267944336" y2="78.053329467773438" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="398.299472808837891 82.042388916015625 405.207649230957031 78.053329467773438 398.299472808837891 74.064262390136719 398.299472808837891 82.042388916015625"></polygon>
        </g>
        <rect x="405.276947894260957" y="48.053327047542552" width="95" height="60" rx="3.999999999999999" ry="3.999999999999999" style="fill: #007884;"></rect>
        <g>
          <line x1="500.276947021484375" y1="78.053329467773438" x2="512.920143127441406" y2="78.053329467773438" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="511.752952575683594 82.042388916015625 518.661125183105469 78.053329467773438 511.752952575683594 74.064262390136719 511.752952575683594 82.042388916015625"></polygon>
        </g>
        <g>
          <line x1="578.730422973632812" y1="78.053329467773438" x2="591.373611450195312" y2="78.053329467773438" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="590.206420898438409 82.042388916015625 597.114608764648438 78.053329467773438 590.206420898438409 74.064262390136719 590.206420898438409 82.042388916015625"></polygon>
        </g>
        <rect x="597.183900873971652" y="48.053327047542552" width="120.000000000007276" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <g>
          <line x1="717.18389892578125" y1="78.053329467773438" x2="729.82708740234375" y2="78.053329467773438" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="728.659912109375 82.042388916015625 735.568084716796875 78.053329467773438 728.659912109375 74.064262390136719 728.659912109375 82.042388916015625"></polygon>
        </g>
        <rect x="735.637377363831547" y="48.053327047542552" width="110.000000000003638" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <g>
          <line x1="845.63739013671875" y1="78.053329467773438" x2="858.28057861328125" y2="78.053329467773438" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="857.113372802734375 82.042388916015625 864.02154541015625 78.053329467773438 857.113372802734375 74.064262390136719 857.113372802734375 82.042388916015625"></polygon>
        </g>
        <rect x="864.090853853687804" y="48.053327047542552" width="145.000000000003638" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <g>
          <line x1="1009.09088134765625" y1="78.053329467773438" x2="1057.73406982421875" y2="78.053329467773438" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="1056.56683349609375 82.042388916015625 1063.47503662109375 78.053329467773438 1056.56683349609375 74.064262390136719 1056.56683349609375 82.042388916015625"></polygon>
        </g>
        <text transform="translate(97.738311767578125 81.57550048828125)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">filesrc</tspan></text>
        <text transform="translate(198.485015869140625 82.14508056640625)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtdemux</tspan></text>
        <text transform="translate(306.254783630371094 82.14495849609375)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">h264parse</tspan></text>
        <text transform="translate(411.795318603515625 82.144775390625)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">V4l2h264dec</tspan></text>
        <text transform="translate(608.64532470703125 81.5601806640625)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlvconverter</tspan></text>
        <text transform="translate(757.8450927734375 65.344940185546875)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimltflite/</tspan><tspan x="-2.73095703125" y="16.7998046875">qtimlsnpe/ </tspan><tspan x="3.55810546875" y="33.60009765625">qtimlqnn </tspan></text>
        <text transform="translate(882.09832763671875 82.1446533203125)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
        <text transform="translate(1013.854248046875 71.5048828125)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_1</tspan></text>
        <g>
          <line x1="578.730422973632812" y1="38.051326751708984" x2="1057.73406982421875" y2="38.051326751708984" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="1056.56683349609375 42.040390014648438 1063.47503662109375 38.051326751708984 1056.56683349609375 34.062263488769531 1056.56683349609375 42.040390014648438"></polygon>
        </g>
        <text transform="translate(1013.85443115234375 33.530792236328125)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_0</tspan></text>
      </g>
      <text transform="translate(16.239166259765625 38.5308837890625)" style="font-family: Roboto-Bold, Roboto; font-size: 14px; font-weight: 700;"><tspan x="0" y="0">File (default)</tspan></text>
      <text transform="translate(16.239166259765625 159.55029296875)" style="font-family: Roboto-Bold, Roboto; font-size: 14px; font-weight: 700;"><tspan x="0" y="0">Camera (optional)</tspan></text>
      <g>
        <line x1="16.239349365234375" y1="129.654373168945312" x2="20.239349365234375" y2="129.654373168945312" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <line x1="24.252105712890625" y1="129.654373168945312" x2="1057.5379638671875" y2="129.654373168945312" style="fill: none; stroke: #000; stroke-dasharray: 8.025521278381348 4.012760639190674; stroke-miterlimit: 10;"></line>
        <line x1="1059.5443115234375" y1="129.654373168945312" x2="1063.5443115234375" y2="129.654373168945312" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      </g>
      <g>
        <line x1="16.239349365234375" y1="265.159393310546875" x2="20.239349365234375" y2="265.159393310546875" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <line x1="24.252105712890625" y1="265.159393310546875" x2="1057.5379638671875" y2="265.159393310546875" style="fill: none; stroke: #000; stroke-dasharray: 8.025521278381348 4.012760639190674; stroke-miterlimit: 10;"></line>
        <line x1="1059.5443115234375" y1="265.159393310546875" x2="1063.5443115234375" y2="265.159393310546875" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      </g>
      <text transform="translate(24.3509521484375 302.937591552734375)" style="font-family: Roboto-Bold, Roboto; font-size: 14px; font-weight: 700;"><tspan x="0" y="0">RTSP (optional)</tspan></text>
    </g>
  </g>
</svg>

**Figure : gst-ai-segmentation pipeline**

## Input and output capabilities

The following table summarizes the input and output capabilities supported by the sample application:

| Config | Input | Input | Input | Input | Output | Output | Output |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Config | File src | RTSP | USB camera | MIPI camera | File | Display | RTSP |
| Config #1 | Yes | Yes | No | No | No | Yes | No |
| Config #2 | Yes | Yes | No | Yes | No | Yes | No |
|  |  |  |  |  |  |  |  |

## Sample model and label files

| Runtime | Model files | Label files |
| --- | --- | --- |
| Qualcomm Neural Processing SDK | deeplabv3\_plus\_mobilenet.dlc | deeplabv3\_resnet50.json |
| LiteRT | deeplabv3\_plus\_mobilenet\_quantized.tflite | deeplabv3\_resnet50.json |
| Qualcomm AI Engine direct | deeplabv3\_plus\_mobilenet\_quantized.bin | deeplabv3\_resnet50.json |
|  |  |  |
|  |  |  |

## Run the application on the target device

The sample application uses the `/etc/configs/config_segmentation.json` file to read the input parameters.

To create your own config JSON file, use [config_segmentation.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-segmentation/config_segmentation.json?ref_type=heads) as a reference.

1. Ensure that you complete the [Prerequisites](https://docs.qualcomm.com/doc/80-80022-55/topic/download-model-and-label-files.html).
2. Update the config JSON file based on the model, input stream, and other properties. For more information, see [Config JSON field description](https://docs.qualcomm.com/doc/80-80022-55/topic/gst-ai-segmentation.html#section-ict-rdr-32c).
3. Use the following format of the `config_segmentation.json` file:

{
          "file-path": "<input-video-path>",
          "ml-framework": "<snpe, tflite, or qnn framework>",
          "model": "<path-to-model-file>",
          "labels": "<path-to-label-file>",
          "runtime": "<dsp, gpu, or cpu runtime>"
        }
        Copy to clipboard

    An example format file for Config #2 and Config #1 is as follows:

Tab Config #2
Tab Config #1

For example, run the application using LiteRT, input video file, custom model, custom label file, DSP runtime:

{
         "file-path": "/etc/media/video.mp4",
         "ml-framework": "tflite",
         "model": "/etc/models/deeplabv3_plus_mobilenet_quantized.tflite",
         "labels": "/etc/labels/deeplabv3_resnet50.json",
         "runtime": "dsp"
        }
        Copy to clipboard

For example, run the application using LiteRT, input video file, custom model, custom label file, CPU runtime:

{
        "file-path": "/etc/media/video.mp4",
        "ml-framework": "tflite",
        "model": "/etc/models/deeplabv3_plus_mobilenet_quantized.tflite",
        "labels": "/etc/labels/deeplabv3_resnet50.json",
        "runtime": "cpu"
        }
        Copy to clipboard

Note

Config #1 supports only LiteRT models and the CPU runtime.
4. Run the gst-ai-segmentation application:

gst-ai-segmentation --config-file=/etc/configs/config_segmentation.json
        Copy to clipboard
5. To display the available help options, run the following command in the SSH shell:

gst-ai-segmentation -h
        Copy to clipboard
6. To stop the use case, use **CTRL + C**.

## Expected output

The segmented data is displayed on the local display.

![../../_images/gst-ai-segmentation.png](data:image/png;base64,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)

**Figure : Expected output for gst-ai-segmentation application**

## Pipeline flow

The following table lists the plugins used in the image segmentation pipeline:

| Plugin | Description |
| --- | --- |
| Camera source: [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-80022-50/topic/qtiqmmfsrc.html) | <ul class="simple"><br><li><p>Captures the live stream from camera.</p></li><br><li><p>Uses tee to split the stream for inferencing.</p></li><br></ul> |
| File source: filesrc | <ul class="simple"><br><li><p>Captures the video stream using filesrc, followed by qtdemux, which demultiplexes the stream.</p></li><br><li><p>Uses tee to split the stream for inferencing.</p></li><br></ul> |
| RTSP source: rtspsrc | <ul class="simple"><br><li><p>Captures the RTSP stream using rtspsrc, followed by rtph264depay for video extraction.</p></li><br><li><p>Uses tee to split the stream for inferencing.</p></li><br></ul> |
| h264parse | Parses the H.264 video. |
| [v4l2h264dec](https://docs.qualcomm.com/doc/80-80022-50/topic/v4l2h264dec.html) | Decodes the video. |
| [qtimlvconverter](https://docs.qualcomm.com/doc/80-80022-50/topic/qtimlvconverter.html) | <ol class="arabic simple"><br><li><p>Receives the video stream on its sink pad.</p></li><br><li><p>Performs the following preprocessing on the stream data. This preprocessing is done when the model expects floating-point values as input.</p><ol class="arabic simple"><br><li><p>Color conversion</p></li><br><li><p>Scaling (up or down)</p></li><br><li><p>Normalization</p></li><br></ol><br></li><br><li><p>Converts the preprocessed video stream to a tensor stream on its source pad.</p></li><br></ol><br><br>The tensor stream is used for inferencing in the later stages of the pipeline. |
| Inferencing plugins:<br><ul class="simple"><br><li><p><a href="https://docs.qualcomm.com/doc/80-80022-50/topic/qtimlsnpe.html" rel="noopener noreferrer" target="_blank" class="xref cursorpointer" onclick="Window.BookmapComponent.navigateExternalFile('https://docs.qualcomm.com/doc/80-80022-50/topic/qtimlsnpe.html')">qtimlsnpe</a></p></li><br><li><p><a href="https://docs.qualcomm.com/doc/80-80022-50/topic/qtimltflite.html" rel="noopener noreferrer" target="_blank" class="xref cursorpointer" onclick="Window.BookmapComponent.navigateExternalFile('https://docs.qualcomm.com/doc/80-80022-50/topic/qtimltflite.html')">qtimltflite</a></p></li><br><li><p><a href="https://docs.qualcomm.com/doc/80-80022-50/topic/qtimlqnn.html" rel="noopener noreferrer" target="_blank" class="xref cursorpointer" onclick="Window.BookmapComponent.navigateExternalFile('https://docs.qualcomm.com/doc/80-80022-50/topic/qtimlqnn.html')">qtimlqnn</a></p></li><br></ul> | <ol class="arabic simple"><br><li><p>After the inference runtime receives the tensor stream on its sink pad, it runs the inference.</p></li><br><li><p>Produces a tensor stream with the inference results on its source pad.</p></li><br></ol> |
| [qtimlpostprocess](https://docs.qualcomm.com/doc/80-80022-50/topic/qtimlpostprocess.html) | Converts the inference tensors received on sink pad into video formats that the multimedia plugins use for further processing. |
| [qtivcomposer](https://docs.qualcomm.com/doc/80-80022-50/topic/qtivcomposer.html) | <ol class="arabic simple"><br><li><p>Composes frames by combining content from its sink pads.</p></li><br><li><p>Pushes the GStreamer buffers containing these composed frames to its source pad.</p></li><br></ol> |
| [waylandsink](https://docs.qualcomm.com/doc/80-80022-50/topic/waylandsink.html) | <ol class="arabic simple"><br><li><p>Forwards the video stream received on its sink pad to Weston.</p></li><br><li><p>Weston renders the video stream on a local display.</p></li><br></ol> |

## Config JSON field description

The different parameters available to configure the JSON file and run the use case are as follows:

Table : Field description–config_segmentation.json file

| Field | Values/description |
| --- | --- |
| **ml-framework** | Enable and use one of the following models:<br><ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">snpe</span></code>: Qualcomm Neural Processing SDK</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">tflite</span></code>: LiteRT</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qnn</span></code>: Qualcomm AI Engine direct</p></li><br></ul> |
| **runtime** | Enable and use one of the following runtimes:<br><ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">cpu</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">gpu</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">dsp</span></code></p></li><br></ul> |
| **Input source** | Enable and use one of the following input sources:<br><ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">camera</span></code>: Primary (0) or secondary (1).</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">file-path</span></code>: The directory path to the video file.</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">rtsp-ip-port</span></code>: The address of the RTSP stream: <em>rtsp://&lt;ip&gt;:&lt;port&gt;/&lt;stream&gt;</em>.</p></li><br></ul> |

## Related information

- [Image segmentation and display with LiteRT](https://docs.qualcomm.com/doc/80-80022-50/topic/single-camera-stream-with-image-segmentation-and-display.html)
- [Image segmentation and encode with LiteRT](https://docs.qualcomm.com/doc/80-80022-50/topic/single-camera-stream-with-image-segmentation-and-encode.html)
- [Image segmentation and display with Neural Processing SDK](https://docs.qualcomm.com/doc/80-80022-50/topic/single-camera-stream-with-image-segmentation-and-display-with-deeplabv3-quantized.html)
- [Image segmentation and encode with Neural Processing SDK](https://docs.qualcomm.com/doc/80-80022-50/topic/single-camera-stream-with-image-segmentation-and-encode-with-deeplabv3-quantized.html)

Last Published: May 17, 2026

[Previous Topic
Pose detection](https://docs.qualcomm.com/bundle/publicresource/80-80022-55/topics/gst-ai-pose-detection.md) [Next Topic
Image segmentation using Python with container](https://docs.qualcomm.com/bundle/publicresource/80-80022-55/topics/image-segmentation-using-python.md)

Source: [https://docs.qualcomm.com/doc/80-80022-55/topic/gst-ai-segmentation.html](https://docs.qualcomm.com/doc/80-80022-55/topic/gst-ai-segmentation.html)