# Multi model daisychain detection classification

Source: [https://docs.qualcomm.com/doc/80-70023-50/topic/multi-model-daisychain-detection-classification.html](https://docs.qualcomm.com/doc/80-70023-50/topic/multi-model-daisychain-detection-classification.html)

The use case uses a sequential pipeline design to detect objects and classify up to
        four of the detected objects.

The following figure shows the flow of the use case execution:
Figure : Pipeline for multi model daisychain detection classification
                
                <!--?xml version="1.0" encoding="UTF-8"?-->
<svg xmlns="http://www.w3.org/2000/svg" width="1280" height="825" viewbox="0 0 1280 825">
  <defs>
    <style>.svg-1 .cls-1,.svg-1 .cls-2,.svg-1 .cls-3,.svg-1 .cls-4,.svg-1 .cls-5,.svg-1 .cls-6,.svg-1 .cls-7,.svg-1 .cls-8,.svg-1 .cls-9,.svg-1 .cls-10,.svg-1 .cls-11,.svg-1 .cls-12,.svg-1 .cls-13,.svg-1 .cls-14 { fill: none }
.svg-1 .cls-1,.svg-1 .cls-2,.svg-1 .cls-3,.svg-1 .cls-4,.svg-1 .cls-5,.svg-1 .cls-6,.svg-1 .cls-7,.svg-1 .cls-8,.svg-1 .cls-9,.svg-1 .cls-12,.svg-1 .cls-13,.svg-1 .cls-14 { stroke: #000 }
.svg-1 .cls-1,.svg-1 .cls-2,.svg-1 .cls-3,.svg-1 .cls-4,.svg-1 .cls-5,.svg-1 .cls-6,.svg-1 .cls-8,.svg-1 .cls-9,.svg-1 .cls-10,.svg-1 .cls-11,.svg-1 .cls-12,.svg-1 .cls-13,.svg-1 .cls-14 { stroke-miterlimit: 10 }
.svg-1 .cls-15 { fill: #fff }
.svg-1 .cls-15,.svg-1 .cls-16,.svg-1 .cls-17,.svg-1 .cls-18 { font-family: Roboto-Regular, Roboto }
.svg-1 .cls-15,.svg-1 .cls-17 { font-size: 16px }
.svg-1 .cls-2 { stroke-dasharray: 4.030996799468994 2.015498399734497 }
.svg-1 .cls-3 { stroke-dasharray: 4.560437202453613 2.280218601226807 }
.svg-1 .cls-4 { stroke-dasharray: 4.13008451461792 2.06504225730896 }
.svg-1 .cls-5 { stroke-dasharray: 4.065596580505371 2.032798290252686 }
.svg-1 .cls-19 { fill: #007884 }
.svg-1 .cls-20 { fill: #d2d7e1 }
.svg-1 .cls-16 { font-size: 15px }
.svg-1 .cls-6 { stroke-dasharray: 3.968349933624268 1.984174966812134 }
.svg-1 .cls-21 { fill: #2a2aea }
.svg-1 .cls-7 { stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px }
.svg-1 .cls-18 { font-size: 14px }
.svg-1 .cls-8,.svg-1 .cls-11 { stroke-dasharray: 4 2 }
.svg-1 .cls-9 { stroke-dasharray: 4.02751636505127 2.013758182525635 }
.svg-1 .cls-10,.svg-1 .cls-11 { stroke: #fff; stroke-width: 2.5px }
.svg-1 .cls-12 { stroke-dasharray: 4.038442134857178 2.019221067428589 }
.svg-1 .cls-22 { fill: #fafafa }
.svg-1 .cls-13 { stroke-dasharray: 4.011918544769287 2.005959272384644 }
.svg-1 .cls-14 { stroke-dasharray: 3.969567060470581 1.984783530235291 }</style>
  </defs>
  <g id="Layer_2" data-name="Layer 2">
    <g>
      <rect class="cls-22" x=".49981689453125" y=".500213623046875" width="1279" height="824" rx="7.499999999999999" ry="7.499999999999999"></rect>
      <path class="cls-20" d="M1272,1c3.85980224609375,0,7,3.140167236328125,7,7v809c0,3.859832763671875-3.14019775390625,7-7,7H8c-3.85986328125,0-7-3.140167236328125-7-7V8c0-3.859832763671875,3.14013671875-7,7-7h1264M1272,0H8C3.5816650390625,0,0,3.5816650390625,0,8v809c0,4.4183349609375,3.5816650390625,8,8,8h1264c4.4183349609375,0,8-3.5816650390625,8-8V8c0-4.4183349609375-3.5816650390625-8-8-8h0Z"></path>
    </g>
  </g>
  <g id="Layer_3" data-name="Layer 3">
    <g>
      <text class="cls-18" transform="translate(1059.665244579315186 790.156433343887329)"><tspan x="0" y="0">Qualcomm </tspan></text>
      <rect class="cls-21" x="1037.388455961505315" y="776.855306831577764" width="17.600000000000364" height="17.599999999998545" rx="2" ry="2"></rect>
      <text class="cls-18" transform="translate(1165.059317827224731 790.156433343887329)"><tspan x="0" y="0">Open source</tspan></text>
      <rect class="cls-19" x="1142.783042534609194" y="776.855306831577764" width="17.600000000000364" height="17.599999999998545" rx="2" ry="2"></rect>
      <path class="cls-21" d="M1032.1743214722228,748.726656566221209h-118.261904020349903c-5.55288306069815,0-10.054384196555475-3.93989420149228-10.054384196555475-8.799999999999272l.36591737550043-345.699645005815c0-4.86010579851245,4.501501135859144-8.800000000001091,10.054384196551837-8.800000000001091h118.261904020353541c5.552883060696331,0,10.054384196551837,3.939894201488642,10.054384196551837,8.800000000001091l-.365917375498611,345.699645005815c0,4.860105798506993-4.501501135860963,8.799999999999272-10.054384196553656,8.799999999999272Z"></path>
      <path class="cls-21" d="M146.908804782182415,748.726656566221209H44.61835275341582c-4.802957664573114,0-8.696524149987454-3.93989420149228-8.696524149987454-8.799999999999272l.316499671261226-345.699645005815c0-4.86010579851245,3.893566485415249-8.800000000001091,8.696524149984725-8.800000000001091h102.290452028769323c4.802957664572205,0,8.696524149984725,3.939894201488642,8.696524149984725,8.800000000001091l-.316499671259407,345.699645005815c0,4.860105798506993-3.893566485417068,8.799999999999272-8.696524149986544,8.799999999999272Z"></path>
      <text class="cls-15" transform="translate(67.836019039154053 571.752450942993164)"><tspan x="0" y="0">qtivsplit</tspan></text>
      <rect class="cls-20" x="982.725097425784043" y="124.295143207499677" width="142.750575763066081" height="88.000000000001819" rx="7.999999999999999" ry="7.999999999999999"></rect>
      <text class="cls-17" transform="translate(1000.288050651550293 145.075519323348999)"><tspan x="0" y="0">module: yolov8</tspan><tspan x="-7.40234375" y="19.2001953125">label: yolov8.json</tspan><tspan x="-5.16015625" y="38.39990234375">confidence: 75.0</tspan><tspan x="25.3671875" y="57.60009765625">result: 4</tspan></text>
      <rect class="cls-20" x="700.410491800355885" y="271.844031424177047" width="220" height="88.000000000001819" rx="7.999999999999997" ry="7.999999999999997"></rect>
      <text class="cls-16" transform="translate(718.858363151550293 292.624835729598999)"><tspan x="0" y="0">module: mobilenet-softmax</tspan><tspan x="11.4365234375" y="18">label: classification.json</tspan><tspan x="36.265625" y="36">confidence: 60.0</tspan><tspan x="64.8857421875" y="54">result: 3</tspan></text>
      <text class="cls-15" transform="translate(924.36683464050293 571.752614259719849)"><tspan x="0" y="0">qtivcomposer</tspan></text>
      <rect class="cls-19" x="189.169991324324656" y="401.824457691694079" width="75.692223749998448" height="75.692223749996629" rx="4" ry="4"></rect>
      <text class="cls-15" transform="translate(215.925257682800293 444.432941198348999)"><tspan x="0" y="0">tee</tspan></text>
      <g>
        <line class="cls-1" x1="264.862213134765625" y1="409.003337860107422" x2="898.117034912109375" y2="409.003337860107422"></line>
        <polygon points="896.949859619140625 412.992401123046875 903.8580322265625 409.003337860107422 896.949859619140625 405.014272689819336 896.949859619140625 412.992401123046875"></polygon>
      </g>
      <rect class="cls-21" x="289.862215074323103" y="419.291893941693161" width="141.22848494516802" height="58.224787499997547" rx="4.000000000000001" ry="4.000000000000001"></rect>
      <rect class="cls-21" x="456.090700019491123" y="419.291893941693161" width="114.314325445684517" height="58.224787499997547" rx="4" ry="4"></rect>
      <g>
        <line class="cls-1" x1="570.405029296875" y1="448.404289245605469" x2="589.664047241210938" y2="448.404289245605469"></line>
        <polygon points="588.496856689453125 452.393348693847656 595.405029296875 448.404289245605469 588.496856689453125 444.41522216796875 588.496856689453125 452.393348693847656"></polygon>
      </g>
      <rect class="cls-21" x="595.40502546517564" y="419.291893941693161" width="148" height="58.224787499997547" rx="4" ry="4"></rect>
      <g>
        <line class="cls-1" x1="743.405029296875" y1="458.108421325683594" x2="898.117034912109375" y2="458.108421325683594"></line>
        <polygon points="896.949859619140625 462.097480773925781 903.8580322265625 458.108421325683594 896.949859619140625 454.119354248046875 896.949859619140625 462.097480773925781"></polygon>
      </g>
      <g>
        <polyline class="cls-11" points="743.40502546517564 438.700156441692343 770.207211999249921 438.700156441692343 770.207211999249921 359.844031424178866"></polyline>
        <g>
          <line class="cls-1" x1="743.405029296875" y1="438.700157165527344" x2="745.405029296875" y2="438.700157165527344"></line>
          <line class="cls-3" x1="747.68524169921875" y1="438.700157165527344" x2="767.067108154296875" y2="438.700157165527344"></line>
          <polyline class="cls-1" points="768.20721435546875 438.700157165527344 770.20721435546875 438.700157165527344 770.20721435546875 436.700157165527344"></polyline>
          <line class="cls-5" x1="770.20721435546875" y1="434.6673583984375" x2="770.20721435546875" y2="368.601414680480957"></line>
          <line class="cls-1" x1="770.20721435546875" y1="367.585015296936035" x2="770.20721435546875" y2="365.585015296936035"></line>
          <polygon points="774.1962890625 366.75220775604248 770.20721435546875 359.844032287597656 766.2181396484375 366.75220775604248 774.1962890625 366.75220775604248"></polygon>
        </g>
      </g>
      <g>
        <polyline class="cls-11" points="743.40502546517564 529.103481483201904 797.009398533318745 529.103481483201904 797.009398533318745 359.844031424178866"></polyline>
        <g>
          <line class="cls-1" x1="743.405029296875" y1="529.103485107421875" x2="745.405029296875" y2="529.103485107421875"></line>
          <line class="cls-6" x1="747.389190673828125" y1="529.103485107421875" x2="794.017303466796875" y2="529.103485107421875"></line>
          <polyline class="cls-1" points="795.0093994140625 529.103485107421875 797.0093994140625 529.103485107421875 797.0093994140625 527.103485107421875"></polyline>
          <line class="cls-12" x1="797.0093994140625" y1="525.084259033203125" x2="797.0093994140625" y2="368.594626426696777"></line>
          <line class="cls-1" x1="797.0093994140625" y1="367.585015296936035" x2="797.0093994140625" y2="365.585015296936035"></line>
          <polygon points="800.99847412109375 366.75220775604248 797.0093994140625 359.844032287597656 793.02032470703125 366.75220775604248 800.99847412109375 366.75220775604248"></polygon>
        </g>
      </g>
      <g>
        <polyline class="cls-11" points="743.40502546517564 619.506806524710555 823.811585067393025 619.506806524710555 823.811585067393025 359.844031424178866"></polyline>
        <g>
          <line class="cls-1" x1="743.405029296875" y1="619.506805419921875" x2="745.405029296875" y2="619.506805419921875"></line>
          <line class="cls-4" x1="747.470062255859375" y1="619.506805419921875" x2="820.779052734375" y2="619.506805419921875"></line>
          <polyline class="cls-1" points="821.81158447265625 619.506805419921875 823.81158447265625 619.506805419921875 823.81158447265625 617.506805419921875"></polyline>
          <line class="cls-2" x1="823.81158447265625" y1="615.491302490234375" x2="823.81158447265625" y2="368.592764854431152"></line>
          <line class="cls-1" x1="823.81158447265625" y1="367.585015296936035" x2="823.81158447265625" y2="365.585015296936035"></line>
          <polygon points="827.8006591796875 366.75220775604248 823.81158447265625 359.844032287597656 819.822509765625 366.75220775604248 827.8006591796875 366.75220775604248"></polygon>
        </g>
      </g>
      <g>
        <polyline class="cls-11" points="743.40502546517564 709.910131566222844 850.613771601461849 709.910131566222844 850.613771601461849 359.844031424178866"></polyline>
        <g>
          <line class="cls-1" x1="743.405029296875" y1="709.910125732421875" x2="745.405029296875" y2="709.910125732421875"></line>
          <line class="cls-14" x1="747.389801025390625" y1="709.910125732421875" x2="847.621368408203125" y2="709.910125732421875"></line>
          <polyline class="cls-1" points="848.61376953125 709.910125732421875 850.61376953125 709.910125732421875 850.61376953125 707.910125732421875"></polyline>
          <line class="cls-9" x1="850.61376953125" y1="705.8963623046875" x2="850.61376953125" y2="368.591894149780273"></line>
          <line class="cls-1" x1="850.61376953125" y1="367.585015296936035" x2="850.61376953125" y2="365.585015296936035"></line>
          <polygon points="854.60284423828125 366.75220775604248 850.61376953125 359.844032287597656 846.62469482421875 366.75220775604248 854.60284423828125 366.75220775604248"></polygon>
        </g>
      </g>
      <text class="cls-15" transform="translate(305.003800392150879 453.166339635848999)"><tspan x="0" y="0">qtimlvconverter</tspan></text>
      <text class="cls-15" transform="translate(477.667445182800293 453.168292760848999)"><tspan x="0" y="0">qtimltflite</tspan></text>
      <text class="cls-15" transform="translate(607.127680778503418 452.904620885848999)"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
      <rect class="cls-19" x="189.169991324324656" y="492.22778273320273" width="75.692223749998448" height="75.692223749997538" rx="4" ry="4"></rect>
      <text class="cls-15" transform="translate(215.925257682800293 534.575031042098999)"><tspan x="0" y="0">tee</tspan></text>
      <g>
        <line class="cls-1" x1="155.921813964842841" y1="530.073898315429688" x2="182.861221313476562" y2="530.073898315429688"></line>
        <polygon points="181.694030761717841 534.062957763671875 188.602203369140625 530.073898315429688 181.694030761717841 526.084823608398438 181.694030761717841 534.062957763671875"></polygon>
      </g>
      <g>
        <line class="cls-1" x1="155.921813964842841" y1="439.670570373535156" x2="182.861221313476562" y2="439.670570373535156"></line>
        <polygon points="181.694030761717841 443.659629821777344 188.602203369140625 439.670570373535156 181.694030761717841 435.681507110595703 181.694030761717841 443.659629821777344"></polygon>
      </g>
      <g>
        <line class="cls-1" x1="264.862213134765625" y1="499.406661987304688" x2="898.117034912109375" y2="499.406661987304688"></line>
        <polygon points="896.949859619140625 503.395729064942316 903.8580322265625 499.406661987304688 896.949859619140625 495.417594909667969 896.949859619140625 503.395729064942316"></polygon>
      </g>
      <rect class="cls-21" x="289.862215074323103" y="509.695218983203631" width="141.22848494516802" height="58.224787499996637" rx="4.000000000000002" ry="4.000000000000002"></rect>
      <rect class="cls-21" x="456.090700019491123" y="509.695218983203631" width="114.314325445684517" height="58.224787499996637" rx="3.999999999999999" ry="3.999999999999999"></rect>
      <g>
        <line class="cls-1" x1="570.405029296875" y1="538.8076171875" x2="589.664047241210938" y2="538.8076171875"></line>
        <polygon points="588.496856689453125 542.796676635742188 595.405029296875 538.8076171875 588.496856689453125 534.81854248046875 588.496856689453125 542.796676635742188"></polygon>
      </g>
      <rect class="cls-21" x="595.40502546517564" y="509.695218983203631" width="148" height="58.224787499996637" rx="3.999999999999998" ry="3.999999999999998"></rect>
      <g>
        <line class="cls-1" x1="743.405029296875" y1="548.511749267578125" x2="898.117034912109375" y2="548.511749267578125"></line>
        <polygon points="896.949859619140625 552.500808715820312 903.8580322265625 548.511749267578125 896.949859619140625 544.522674560546875 896.949859619140625 552.500808715820312"></polygon>
      </g>
      <text class="cls-15" transform="translate(305.003800392150879 543.572101354598999)"><tspan x="0" y="0">qtimlvconverter</tspan></text>
      <text class="cls-15" transform="translate(477.667445182800293 543.572101354598999)"><tspan x="0" y="0">qtimltflite</tspan></text>
      <text class="cls-15" transform="translate(607.127680778503418 543.308429479598999)"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
      <rect class="cls-19" x="189.169991324324656" y="582.631107774712291" width="75.692223749998448" height="75.692223750000267" rx="3.999999999999904" ry="3.999999999999904"></rect>
      <text class="cls-15" transform="translate(215.925257682800293 625.242023229598999)"><tspan x="0" y="0">tee</tspan></text>
      <g>
        <line class="cls-1" x1="155.921813964842841" y1="620.477218627929688" x2="182.861221313476562" y2="620.477218627929688"></line>
        <polygon points="181.694030761717841 624.466278076171875 188.602203369140625 620.477218627929688 181.694030761717841 616.4881591796875 181.694030761717841 624.466278076171875"></polygon>
      </g>
      <g>
        <line class="cls-1" x1="264.862213134765625" y1="589.809982299804688" x2="898.117034912109375" y2="589.809982299804688"></line>
        <polygon points="896.949859619140625 593.799057006835938 903.8580322265625 589.809982299804688 896.949859619140625 585.8209228515625 896.949859619140625 593.799057006835938"></polygon>
      </g>
      <rect class="cls-21" x="289.862215074323103" y="600.098544024713192" width="141.22848494516802" height="58.224787499999366" rx="4.000000000000002" ry="4.000000000000002"></rect>
      <rect class="cls-21" x="456.090700019491123" y="600.098544024713192" width="114.314325445684517" height="58.224787499999366" rx="4" ry="4"></rect>
      <g>
        <line class="cls-1" x1="570.405029296875" y1="629.2109375" x2="589.664047241210938" y2="629.2109375"></line>
        <polygon points="588.496856689453125 633.199996948242188 595.405029296875 629.2109375 588.496856689453125 625.221878051757812 588.496856689453125 633.199996948242188"></polygon>
      </g>
      <rect class="cls-21" x="595.40502546517564" y="600.098544024713192" width="148" height="58.224787499999366" rx="4" ry="4"></rect>
      <g>
        <line class="cls-1" x1="743.405029296875" y1="638.915069580078125" x2="898.117034912109375" y2="638.915069580078125"></line>
        <polygon points="896.949859619140625 642.904144287109375 903.8580322265625 638.915069580078125 896.949859619140625 634.925994873046875 896.949859619140625 642.904144287109375"></polygon>
      </g>
      <text class="cls-15" transform="translate(305.003800392150879 633.975421667098999)"><tspan x="0" y="0">qtimlvconverter</tspan></text>
      <text class="cls-15" transform="translate(477.667445182800293 633.975421667098999)"><tspan x="0" y="0">qtimltflite</tspan></text>
      <text class="cls-15" transform="translate(607.127680778503418 633.975421667098999)"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
      <rect class="cls-19" x="189.169991324324656" y="673.034432816220942" width="75.692223749998448" height="75.692223750000267" rx="3.999999999999904" ry="3.999999999999904"></rect>
      <text class="cls-15" transform="translate(215.925257682800293 715.644366979598999)"><tspan x="0" y="0">tee</tspan></text>
      <g>
        <line class="cls-1" x1="155.921813964842841" y1="710.88055419921875" x2="182.861221313476562" y2="710.88055419921875"></line>
        <polygon points="181.694030761717841 714.869598388671875 188.602203369140625 710.88055419921875 181.694030761717841 706.8914794921875 181.694030761717841 714.869598388671875"></polygon>
      </g>
      <g>
        <line class="cls-1" x1="264.862213134765625" y1="680.21331787109375" x2="898.117034912109375" y2="680.21331787109375"></line>
        <polygon points="896.949859619140625 684.202362060546875 903.8580322265625 680.21331787109375 896.949859619140625 676.2242431640625 896.949859619140625 684.202362060546875"></polygon>
      </g>
      <rect class="cls-21" x="289.862215074323103" y="690.501869066221843" width="141.22848494516802" height="58.224787499999366" rx="4.000000000000002" ry="4.000000000000002"></rect>
      <rect class="cls-21" x="456.090700019491123" y="690.501869066221843" width="114.314325445684517" height="58.224787499999366" rx="4" ry="4"></rect>
      <g>
        <line class="cls-1" x1="570.405029296875" y1="719.6142578125" x2="589.664047241210938" y2="719.6142578125"></line>
        <polygon points="588.496856689453125 723.60333251953125 595.405029296875 719.6142578125 588.496856689453125 715.625213623046875 588.496856689453125 723.60333251953125"></polygon>
      </g>
      <g>
        <line class="cls-1" x1="431.090700149536133" y1="719.6142578125" x2="450.349716186523438" y2="719.6142578125"></line>
        <polygon points="449.182523727416992 723.60333251953125 456.090700149536133 719.6142578125 449.182523727416992 715.625213623046875 449.182523727416992 723.60333251953125"></polygon>
      </g>
      <g>
        <line class="cls-1" x1="431.090700149536133" y1="629.2109375" x2="450.349716186523438" y2="629.2109375"></line>
        <polygon points="449.182523727416992 633.199996948242188 456.090700149536133 629.2109375 449.182523727416992 625.221878051757812 449.182523727416992 633.199996948242188"></polygon>
      </g>
      <g>
        <line class="cls-1" x1="431.090700149536133" y1="538.8076171875" x2="450.349716186523438" y2="538.8076171875"></line>
        <polygon points="449.182523727416992 542.796676635742188 456.090700149536133 538.8076171875 449.182523727416992 534.81854248046875 449.182523727416992 542.796676635742188"></polygon>
      </g>
      <g>
        <line class="cls-1" x1="431.090700149536133" y1="448.404289245605469" x2="450.349716186523438" y2="448.404289245605469"></line>
        <polygon points="449.182523727416992 452.393348693847656 456.090700149536133 448.404289245605469 449.182523727416992 444.41522216796875 449.182523727416992 452.393348693847656"></polygon>
      </g>
      <g>
        <line class="cls-1" x1="264.862213134765625" y1="448.404289245605469" x2="284.121231079101562" y2="448.404289245605469"></line>
        <polygon points="282.954040527342841 452.393348693847656 289.862213134765625 448.404289245605469 282.954040527342841 444.41522216796875 282.954040527342841 452.393348693847656"></polygon>
      </g>
      <g>
        <line class="cls-1" x1="264.862213134765625" y1="538.8076171875" x2="284.121231079101562" y2="538.8076171875"></line>
        <polygon points="282.954040527342841 542.796676635742188 289.862213134765625 538.8076171875 282.954040527342841 534.81854248046875 282.954040527342841 542.796676635742188"></polygon>
      </g>
      <g>
        <line class="cls-1" x1="264.862213134765625" y1="629.2109375" x2="284.121231079101562" y2="629.2109375"></line>
        <polygon points="282.954040527342841 633.199996948242188 289.862213134765625 629.2109375 282.954040527342841 625.221878051757812 282.954040527342841 633.199996948242188"></polygon>
      </g>
      <g>
        <line class="cls-1" x1="264.862213134765625" y1="719.6142578125" x2="284.121231079101562" y2="719.6142578125"></line>
        <polygon points="282.954040527342841 723.60333251953125 289.862213134765625 719.6142578125 282.954040527342841 715.625213623046875 282.954040527342841 723.60333251953125"></polygon>
      </g>
      <rect class="cls-21" x="595.40502546517564" y="690.501869066221843" width="148" height="58.224787499999366" rx="4" ry="4"></rect>
      <g>
        <line class="cls-1" x1="743.405029296875" y1="729.318389892578125" x2="898.117034912109375" y2="729.318389892578125"></line>
        <polygon points="896.949859619140625 733.307464599609375 903.8580322265625 729.318389892578125 896.949859619140625 725.329315185546875 896.949859619140625 733.307464599609375"></polygon>
      </g>
      <text class="cls-15" transform="translate(305.003800392150879 724.376788854598999)"><tspan x="0" y="0">qtimlvconverter</tspan></text>
      <text class="cls-15" transform="translate(477.667445182800293 724.377765417098999)"><tspan x="0" y="0">qtimltflite</tspan></text>
      <text class="cls-15" transform="translate(607.127680778503418 724.376788854598999)"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
      <rect class="cls-7" x="1210.696733010905518" y="549.464948029859443" width="45" height="31.500000000007276" rx="4" ry="4"></rect>
      <line class="cls-7" x1="1224.196733010894604" y1="589.964948029863081" x2="1242.196733010890966" y2="589.964948029863081"></line>
      <line class="cls-7" x1="1233.196733010903699" y1="580.964948029866719" x2="1233.196733010903699" y2="589.964948029863081"></line>
      <g>
        <line class="cls-1" x1="1042.59466552734375" y1="567.076828002929688" x2="1063.19586181640625" y2="567.076828002929688"></line>
        <polygon points="1062.0286865234375 571.065902709960938 1068.93682861328125 567.076828002929688 1062.0286865234375 563.0877685546875 1062.0286865234375 571.065902709960938"></polygon>
      </g>
      <line class="cls-1" x1="1185.696733010905518" y1="567.076834063314891" x2="1210.696733010905518" y2="567.076834063314891"></line>
      <rect class="cls-19" x="1069.05256092637137" y="535.781780286899448" width="116.644172084534148" height="62.590107552827249" rx="4" ry="4"></rect>
      <text class="cls-15" transform="translate(1083.472640991210938 571.752464294433594)"><tspan x="0" y="0">waylandsink</tspan></text>
      <rect class="cls-21" x="281.672356448971186" y="141.00243908126231" width="140.055508508910862" height="55" rx="4" ry="4"></rect>
      <text class="cls-15" transform="translate(296.227458477020264 172.913898229598999)"><tspan x="0" y="0">qtimlvconverter</tspan></text>
      <rect class="cls-21" x="721.727864957882048" y="103.52728380175995" width="165" height="55" rx="4" ry="4"></rect>
      <text class="cls-15" transform="translate(741.951136589050293 135.438312292098999)"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
      <rect class="cls-21" x="721.727864957882048" y="178.47759436076467" width="165" height="55" rx="4" ry="4"></rect>
      <text class="cls-15" transform="translate(741.951136589050293 210.388995885848999)"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
      <rect class="cls-21" x="446.727864957882048" y="141.00243908126231" width="140" height="55" rx="4" ry="4"></rect>
      <text class="cls-15" transform="translate(478.547816276550293 172.913898229598999)"><tspan x="0" y="0">qtimltflite</tspan></text>
      <path class="cls-7" d="M92.272799999998824,33.044675106109025h-22.499999999997272c-2.761423587798163,0-5.000000000000909,2.238576412200928-5.000000000000909,5v39.999999999999091c0,2.761425971986682,2.238576412202747,5.000000000000909,5.000000000000909,5.000000000000909h29.999999999997272c2.761425971985773,0,5.000000000001819-2.238574028014227,5.000000000001819-5.000000000000909v-32.5l-12.500000000001819-12.499999999999091Z"></path>
      <path class="cls-7" d="M89.772800000000643,33.044675106109025v10c0,2.761423587799982,2.238576412200018,5.000000000000909,5.000000000000909,5.000000000000909h9.999999999999091"></path>
      <path class="cls-7" d="M79.772800000000643,55.544675106109935l12.499999999998181,7.5-12.499999999998181,7.500000000000909v-15.000000000000909Z"></path>
      <g>
        <line class="cls-1" x1="227.777770996092841" y1="58.044677734375" x2="247.036788940429688" y2="58.044677734375"></line>
        <polygon points="245.869598388671875 62.03375244140625 252.777770996092841 58.044677734375 245.869598388671875 54.05560302734375 245.869598388671875 62.03375244140625"></polygon>
      </g>
      <g>
        <line class="cls-1" x1="421.727865219116211" y1="168.50244140625" x2="440.986880779266357" y2="168.50244140625"></line>
        <polygon points="439.81968879699707 172.491500854492188 446.727865219116211 168.50244140625 439.81968879699707 164.513381958007812 439.81968879699707 172.491500854492188"></polygon>
      </g>
      <g>
        <line class="cls-1" x1="586.727859497070312" y1="168.50244140625" x2="605.98687744140625" y2="168.50244140625"></line>
        <polygon points="604.819686889648438 172.491500854492188 611.727859497070312 168.50244140625 604.819686889648438 164.513381958007812 604.819686889648438 172.491500854492188"></polygon>
      </g>
      <g>
        <polyline class="cls-1" points="688.727859497070312 159.335769653320312 702.29034423828125 159.335769653320312 702.29034423828125 131.02728271484375 715.98687744140625 131.02728271484375"></polyline>
        <polygon points="714.8197021484375 135.016342163085938 721.727874755859375 131.02728271484375 714.8197021484375 127.038223266601562 714.8197021484375 135.016342163085938"></polygon>
      </g>
      <g>
        <polyline class="cls-1" points="688.727859497070312 179.636810302733466 702.29034423828125 179.636810302733466 702.29034423828125 207.945297241210938 715.98687744140625 207.945297241210938"></polyline>
        <polygon points="714.8197021484375 211.934356689453125 721.727874755859375 207.945297241210938 714.8197021484375 203.95623779296875 714.8197021484375 211.934356689453125"></polygon>
      </g>
      <line class="cls-1" x1="105.143108494759872" y1="58.044675106109025" x2="129.800250284390131" y2="58.044675106109025"></line>
      <rect class="cls-19" x="252.777773240717579" y="30.544675106109025" width="108.07774843088373" height="55" rx="4.000000000000003" ry="4.000000000000003"></rect>
      <g>
        <line class="cls-1" x1="360.855522155761719" y1="58.044677734375" x2="380.114536285400391" y2="58.044677734375"></line>
        <polygon points="378.947345733642578 62.03375244140625 385.855522155761719 58.044677734375 378.947345733642578 54.05560302734375 378.947345733642578 62.03375244140625"></polygon>
      </g>
      <rect class="cls-19" x="386.802263113575464" y="30.544675106109025" width="106.053258558025846" height="55" rx="3.999999999999999" ry="3.999999999999999"></rect>
      <g>
        <line class="cls-1" x1="492.855522155761719" y1="58.044677734375" x2="512.114540100097656" y2="58.044677734375"></line>
        <polygon points="510.947341918945312 62.03375244140625 517.855522155761719 58.044677734375 510.947341918945312 54.05560302734375 510.947341918945312 62.03375244140625"></polygon>
      </g>
      <rect class="cls-19" x="517.855521671601309" y="30.544675106109025" width="115" height="55" rx="4" ry="4"></rect>
      <g>
        <line class="cls-1" x1="632.855514526367188" y1="58.044677734375" x2="652.114532470703125" y2="58.044677734375"></line>
        <polygon points="650.947341918945312 62.03375244140625 657.855514526367188 58.044677734375 650.947341918945312 54.05560302734375 650.947341918945312 62.03375244140625"></polygon>
      </g>
      <g>
        <line class="cls-1" x1="1093.46600341796875" y1="58.044677734375" x2="1112.72503662109375" y2="58.044677734375"></line>
        <polygon points="1111.55780029296875 62.03375244140625 1118.46600341796875 58.044677734375 1111.55780029296875 54.05560302734375 1111.55780029296875 62.03375244140625"></polygon>
      </g>
      <rect class="cls-19" x="129.289011762553855" y="30.544675106109025" width="99" height="55" rx="4" ry="4"></rect>
      <text class="cls-15" transform="translate(156.871546745300293 62.455890417098999)"><tspan x="0" y="0">filesrc</tspan></text>
      <text class="cls-15" transform="translate(275.519768714904785 62.455890417098999)"><tspan x="0" y="0">qtdemux</tspan></text>
      <text class="cls-15" transform="translate(402.03568172454834 62.455890417098999)"><tspan x="0" y="0">h264parse</tspan></text>
      <text class="cls-15" transform="translate(528.519672393798828 62.455890417098999)"><tspan x="0" y="0">V4l2h264dec</tspan></text>
      <g>
        <line class="cls-1" x1="734.85552978515625" y1="58.044677734375" x2="968.461181640625" y2="58.044677734375"></line>
        <polygon points="967.2939453125 62.03375244140625 974.2021484375 58.044677734375 967.2939453125 54.05560302734375 967.2939453125 62.03375244140625"></polygon>
      </g>
      <rect class="cls-21" x="974.202142543106675" y="30.544675106109025" width="119.263856942263374" height="55" rx="4" ry="4"></rect>
      <text class="cls-15" transform="translate(991.131070137023926 62.455890417098999)"><tspan x="0" y="0">qtimetamux</tspan></text>
      <rect class="cls-19" x="1118.465999485370048" y="30.544675106109025" width="77" height="55" rx="4" ry="4"></rect>
      <text class="cls-15" transform="translate(1145.875941276550293 62.455890417098999)"><tspan x="0" y="0">tee</tspan></text>
      <rect class="cls-19" x="657.855521671601309" y="30.544675106109025" width="77" height="55" rx="4" ry="4"></rect>
      <text class="cls-15" transform="translate(685.265589714050293 62.455890417098999)"><tspan x="0" y="0">tee</tspan></text>
      <rect class="cls-19" x="611.727864957882048" y="141.00243908126231" width="77" height="55" rx="4" ry="4"></rect>
      <text class="cls-15" transform="translate(639.137660026550293 172.913898229598999)"><tspan x="0" y="0">tee</tspan></text>
      <g>
        <polyline class="cls-1" points="886.727874755859375 115.345733642578125 1033.83404541015625 115.345733642578125 1033.83404541015625 91.28564453125"></polyline>
        <polygon points="1037.8231201171875 92.452850341796875 1033.83404541015625 85.544677734375 1029.84503173828125 92.452850341796875 1037.8231201171875 92.452850341796875"></polygon>
      </g>
      <g>
        <line class="cls-8" x1="886.727874755859375" y1="191.40875244140625" x2="976.984130859375" y2="191.40875244140625"></line>
        <polygon points="975.81689453125 195.3978271484375 982.72509765625 191.40875244140625 975.81689453125 187.419692993164062 975.81689453125 195.3978271484375"></polygon>
      </g>
      <g>
        <line class="cls-1" x1="886.727874755859375" y1="145.181533813476562" x2="888.727874755859375" y2="145.181533813476562"></line>
        <line class="cls-13" x1="890.73382568359375" y1="145.181533813476562" x2="973.98114013671875" y2="145.181533813476562"></line>
        <line class="cls-1" x1="974.984130859375" y1="145.181533813476562" x2="976.984130859375" y2="145.181533813476562"></line>
        <polygon points="975.81689453125 149.17059326171875 982.72509765625 145.181533813476562 975.81689453125 141.192459106445312 975.81689453125 149.17059326171875"></polygon>
      </g>
      <g>
        <polyline class="cls-1" points="886.727874755859375 215.144256591796875 950.10357666015625 215.144256591796875 950.10357666015625 379.686027526855469"></polyline>
        <polygon points="946.114501953125 378.518835544586182 950.10357666015625 385.427011489868164 954.0926513671875 378.518835544586182 946.114501953125 378.518835544586182"></polygon>
      </g>
      <g>
        <polyline class="cls-10" points="95.921828603428366 385.198964928801615 95.921828603428366 255.848407056923861 1156.965999485370048 256.109296712563264 1156.965999485370048 85.544675106109025"></polyline>
        <g>
          <polyline class="cls-1" points="95.921813964842841 379.457980871200562 95.921813964842841 255.848403930664062 1156.96600341796875 256.109298706054688 1156.96600341796875 85.544677734375"></polyline>
          <polygon points="99.910888671875 378.290788918733597 95.921813964842841 385.198965072631836 91.932769775390625 378.290788918733597 99.910888671875 378.290788918733597"></polygon>
        </g>
      </g>
      <g>
        <polyline class="cls-1" points="1156.96600341796875 256.109298706054688 1156.96600341796875 300.285636901855469 996.34912109375 300.285636901855469 996.34912109375 379.686027526855469"></polyline>
        <polygon points="992.36004638671875 378.518835544586182 996.34912109375 385.427011489868164 1000.338134765625 378.518835544586182 992.36004638671875 378.518835544586182"></polygon>
      </g>
    </g>
    <g>
      <polyline class="cls-1" points="696.35552978515625 85.544677734375 696.35552978515625 106.046875 351.700111389160156 106.046875 351.700111389160156 135.979080200195312"></polyline>
      <polygon points="348.209678649902344 134.957778930664062 351.700111389160156 141.00244140625 355.190544128417969 134.957778930664062 348.209678649902344 134.957778930664062"></polygon>
    </g>
  </g>
</svg>

This pipeline involves two sequential stages, each leveraging a set of specialized
            plugins to process video frames and extract meaningful information.
1. Object detection:
    1. The filesrc plugin facilitates reading video data from a file. The
                            decoder plugins then convert the video into raw formats such as NV12
                            (YUV).
    2. tee splits the NV12 video into two streams. qtimlvconverter and
                            qtimetamux receive one video stream each.
    3. The qtimlvconverter sequentially processes the NV12 video frame and
                            converts it into RGB tensor of 640 × 640.
    4. The qtimltflite performs inference using the YOLOX model, generating
                            three output tensors that are further split using tee. The YOLOv8 module
                            processes one stream to produce bounding boxes. Another stream attaches
                            to the qtimetamux, which further performs classification.
2. Object classification:
    1. The NV12 video from the qtimetamux is further split using tee. One
                            stream attaches to the original video frame using the qtivcomposer. The
                            other frame uses the qtivsplit to split the stream into total four
                            output streams, indicating a maximum of four detected objects classified
                            in a frame.
    2. The qtimlvconverter preprocesses all the four streams to the convert the
                            NV12 frame into a RGB tensor of dimension 224 × 224. The qtimltflite
                            performs inference using the Inceptionv3 model and generates single
                            output tensor for all the four video streams in parallel.
    3. The qtimlpostprocess parses the output tensor of all four video streams
                            using MobileNet-softmax module to produce classification labels, which
                            attach to the original video using the qtivcomposer.
    4. The Waylandsink renders video frames with ML overlays directly on the
                            screen using Wayland display server.

Run the use case on the target
            device:

    export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1Copy to clipboard

    gst-launch-1.0 -e \
    qtimltflite name=tflite_detect delegate=external external-delegate-path=libQnnTFLiteDelegate.so external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/etc/models/yolox_quantized.tflite \
    qtimltflite name=tflite_Mobilenet_1 delegate=external external-delegate-path=libQnnTFLiteDelegate.so external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/etc/models/inception_v3_quantized.tflite \
    qtimltflite name=tflite_Mobilenet_2 delegate=external external-delegate-path=libQnnTFLiteDelegate.so external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/etc/models/inception_v3_quantized.tflite \
    qtimltflite name=tflite_Mobilenet_3 delegate=external external-delegate-path=libQnnTFLiteDelegate.so external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/etc/models/inception_v3_quantized.tflite \
    qtimltflite name=tflite_Mobilenet_4 delegate=external external-delegate-path=libQnnTFLiteDelegate.so external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/etc/models/inception_v3_quantized.tflite \
    qtimlvconverter name=ml_convert_0 ! queue ! tflite_detect. tflite_detect. ! queue ! tee name=t_split_1 \
    qtivcomposer name=mixer \
    sink_0::position="<0, 0>" sink_0::dimensions="<1280, 720>" \
    sink_1::position="<0, 0>" sink_1::dimensions="<1280, 720>" \
    sink_2::position="<0, 0>" sink_2::dimensions="<384, 216>" \
    sink_3::position="<896, 0>" sink_3::dimensions="<384, 216>" \
    sink_4::position="<0, 504>" sink_4::dimensions="<384, 216>" \
    sink_5::position="<896, 504>" sink_5::dimensions="<384, 216>" \
    sink_6::position="<0, 0>" sink_6::dimensions="<384, 40>" \
    sink_7::position="<896, 0>" sink_7::dimensions="<384, 40>" \
    sink_8::position="<0, 504>" sink_8::dimensions="<384, 40>" \
    sink_9::position="<896, 504>" sink_9::dimensions="<384, 40>" \
    mixer. ! waylandsink fullscreen=true \
    filesrc location=/etc/media/video.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=dmabuf output-io-mode=dmabuf ! video/x-raw,format=NV12 ! queue ! tee name=v_split_1 ! queue ! metamux1. v_split_1. ! queue ! ml_convert_0. \
    t_split_1. ! queue ! qtimlpostprocess settings="{\"confidence\": 75.0}" results=4 module=yolov8 labels=/etc/labels/yolox.json ! text/x-raw ! queue ! qtimetamux name=metamux1 ! queue ! tee name=t_split_2 ! queue ! mixer. \
    t_split_1. ! queue ! qtimlpostprocess settings="{\"confidence\": 75.0}" results=4 module=yolov8 labels=/etc/labels/yolox.json ! video/x-raw,width=512,height=288 ! queue ! mixer. \
    t_split_2. ! queue ! qtivsplit name=vsplit1 src_0::mode=single-roi-meta src_1::mode=single-roi-meta src_2::mode=single-roi-meta src_3::mode=single-roi-meta \
    vsplit1. ! queue ! tee name=split_1 ! queue ! ml_convert_1. split_1. ! queue ! mixer. \
    vsplit1. ! queue ! tee name=split_2 ! queue ! ml_convert_2. split_2. ! queue ! mixer. \
    vsplit1. ! queue ! tee name=split_3 ! queue ! ml_convert_3. split_3. ! queue ! mixer. \
    vsplit1. ! queue ! tee name=split_4 ! queue ! ml_convert_4. split_4. ! queue ! mixer. \
    qtimlvconverter name=ml_convert_1 ! queue ! tflite_Mobilenet_1. tflite_Mobilenet_1. ! queue ! mlclass_1. \
    qtimlvconverter name=ml_convert_2 ! queue ! tflite_Mobilenet_2. tflite_Mobilenet_2. ! queue ! mlclass_2. \
    qtimlvconverter name=ml_convert_3 ! queue ! tflite_Mobilenet_3. tflite_Mobilenet_3. ! queue ! mlclass_3. \
    qtimlvconverter name=ml_convert_4 ! queue ! tflite_Mobilenet_4. tflite_Mobilenet_4. ! queue ! mlclass_4. \
    qtimlpostprocess name=mlclass_1 settings="{\"confidence\": 60.0}" results=3 module=mobilenet-softmax labels=/etc/labels/classification.json  ! video/x-raw,width=384,height=40 ! queue ! mixer. \
    qtimlpostprocess name=mlclass_2 settings="{\"confidence\": 60.0}" results=3 module=mobilenet-softmax labels=/etc/labels/classification.json  ! video/x-raw,width=384,height=40 ! queue ! mixer. \
    qtimlpostprocess name=mlclass_3 settings="{\"confidence\": 60.0}" results=3 module=mobilenet-softmax labels=/etc/labels/classification.json  ! video/x-raw,width=384,height=40 ! queue ! mixer. \
    qtimlpostprocess name=mlclass_4 settings="{\"confidence\": 60.0}" results=3 module=mobilenet-softmax labels=/etc/labels/classification.json  ! video/x-raw,width=384,height=40 ! queue ! mixer.Copy to clipboard

To stop the use case, use CTRL + C.

The following table provides the sequential processing stages of the pipeline
                execution:

| Process | Description |
| --- | --- |
| filesrc | <ol class="ol"><br>                                    <li class="li">Reads data from a file and pushes it downstream in the<br>                                        pipeline. </li><br><br>                                    <li class="li">Uses location property to set the path of file to read.</li><br><br>                                </ol> |
| h264parse | <ol class="ol"><br>                                    <li class="li">Parses and prepares the H.264 stream for decoding.</li><br><br>                                    <li class="li">Adds necessary headers and ensures proper frame<br>                                        alignment.</li><br><br>                                </ol><br>. |
| v4l2h264dec | <ol class="ol"><br>                                    <li class="li">Uses V4L2 interface and acts as a hardware accelerated H.264<br>                                        decoder.</li><br><br>                                    <li class="li">Uses DMA buffer to share the memory.</li><br><br>                                </ol> |
| tee | Splits the stream. |
| **Preprocessing** | **Preprocessing** |
| [qtimlvconverter](https://docs.qualcomm.com/doc/80-70023-50/topic/qtimlvconverter.html) | <ol class="ol" id="multi_model_daisychain_detection_classification__ol_xsf_q5l_vbc"><br>                                    <li class="li">transforms the incoming video buffer into neural network<br>                                        tensors. </li><br><br>                                    <li class="li">Performs necessary format conversion and resizing.</li><br><br>                                </ol> |
| **Inferencing** | **Inferencing** |
| [qtimltflite](https://docs.qualcomm.com/doc/80-70023-50/topic/qtimltflite.html) | <ol class="ol" id="multi_model_daisychain_detection_classification__ol_bwn_s5l_vbc"><br>                                    <li class="li">Loads and runs the LiteRT model.</li><br><br>                                    <li class="li">Uses delegate property to set on which core model inference<br>                                        is executed. </li><br><br>                                    <li class="li">Has model property to set path of model.</li><br><br>                                </ol> |
| **Postprocessing** | **Postprocessing** |
| qtimlpostprocess | <ol class="ol" id="multi_model_daisychain_detection_classification__ol_gr1_w5l_vbc"><br>                                    <li class="li">Post-processes the tensor output of the inference plugin. </li><br><br>                                    <li class="li">Parses the tensor and generates the list of predicted output<br>                                        nodes.</li><br><br>                                </ol> |
| [qtimetamux](https://docs.qualcomm.com/doc/80-70023-50/topic/qtimetamux.html) | Attaches the AI inference results to the original NV12 video<br>                                frame. |
| [qtivsplit](https://docs.qualcomm.com/doc/80-70023-50/topic/qtivsplit.html) | Splits the single input video stream into multiple output<br>                                streams. |
| [qtivcomposer](https://docs.qualcomm.com/doc/80-70023-50/topic/qtivcomposer.html) | <ol class="ol"><br>                                    <li class="li">Uses GPU hardware to merge several input video streams into<br>                                        single output stream.</li><br><br>                                    <li class="li">Uses position and dimension properties to set the<br>                                        co-ordinates and size of the destination rectangle.</li><br><br>                                </ol> |
| **Output** | **Output** |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70023-50/topic/waylandsink.html) | <ol class="ol" id="multi_model_daisychain_detection_classification__ol_wx3_3lh_tfc"><br>                                    <li class="li">Renders video frames to a display using the Wayland<br>                                        protocol.</li><br><br>                                    <li class="li">Acts as an ouptut component in the gstreamer pipeline for<br>                                        systems running on Wayland.</li><br><br>                                </ol> |

**Parent Topic:** [Custom Gstreamer pipeline use cases](https://docs.qualcomm.com/doc/80-70023-50/topic/custom-gstreamer-pipeline-use-cases.html)

Last Published: Mar 27, 2026

[Previous Topic
Custom Gstreamer pipeline use cases](https://docs.qualcomm.com/bundle/publicresource/80-70023-50/topics/custom-gstreamer-pipeline-use-cases.md) [Next Topic
Publish metadata to RedisSink](https://docs.qualcomm.com/bundle/publicresource/80-70023-50/topics/publish-metadata-redissink.md)