File size: 3,353 Bytes
507214e
 
 
 
 
 
 
 
 
 
b376db3
83cc83a
507214e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6619af4
 
507214e
 
 
83cc83a
 
507214e
8ccc1d9
 
 
6619af4
 
 
 
8ccc1d9
 
 
507214e
 
8ccc1d9
 
507214e
 
a89aba1
507214e
 
 
 
b376db3
8ccc1d9
 
 
 
a89aba1
 
 
8ccc1d9
 
 
 
 
 
a89aba1
8ccc1d9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
507214e
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
import gradio as gr
from PIL import Image
import numpy as np
import os
import uuid

def inference(input_img):
    temp = uuid.uuid4()
    shell = f"python yolov9/detect.py --source {input_img} --img 640 --device cpu --weights yolov9/runs/train/exp/weights/best.pt --name {temp}"
    os.system(shell)
    return f"yolov9/runs/detect/{temp}/{input_img.split('/')[-1]}"
    #return "yolov9/runs/detect/f807164a-496b-413c-bb47-f5daf8803dcd/cut_a_1.mp4"

def inference_video(input_img):
    org_img = input_img
    return input_img

with gr.Blocks() as demo:
    gr.Markdown(
        """
        # Vehicle detection using Yolo-v9
        """
    )

    with gr.Tab("Video"):
        gr.Markdown(
            """
            Upload video file and detect vehicles present in the video.
            Inferencing is done using CPU therefore it takes more time.
            """
        )
        with gr.Row():
            img_input = [gr.PlayableVideo(label="Input Image", autoplay=True,  width=300, height=300)]
            pred_outputs = [gr.PlayableVideo(label="Output Image",width=640, autoplay=True, height=640)]
        
        gr.Markdown("## Examples")

        with gr.Row(): 
            gr.Examples([ 
                'cut_a_2.mp4',
                'cut_b_1.mp4','tresa.mp4'], 
                inputs=img_input, fn=inference)
        
            image_button = gr.Button("Predict")
            image_button.click(inference, inputs=img_input, outputs=pred_outputs)

    with gr.Tab("Image"):
        
        
        gr.Markdown(
            """
            Upload image file and detect vehicles present in the image.
            """
        )
        with gr.Row():
            img_input = [gr.Image(type="filepath",label="Input Image",width=300, height=300)]
            pred_outputs = [gr.Image(label="Output Image",width=640, height=640)]

        gr.Markdown("## Examples")

        with gr.Row(): 
            gr.Examples([ 
                         'rohan.jpg',
                         'lamborghini-aventador-2932196_1280.jpg', 
                         '0KL1ICR33YYZ.jpg',
                         '0RVD53V60NOM.jpg',
                         '0RW4I2NTAH8K.jpg',
                         '1CSLEJ2UJD3G.jpg',
                         '1E4CD5K13UXO.jpg',
                         '2.jpg',
                         'truck.jpg',
                         '3BXRTQZ70A7M.jpg',
                         '3GVLVIQ2J4P2.jpg',
                         '3RIYE11PE0VK.jpg',
                         '4AS6VDRS3Y07.jpg',
                         '4DM206U83T3B.jpg',
                         '05U2U2R2K6DN.jpg',
                         '6LBV93O0MWUY.jpg',
                         '6MFW23QQFW3E.jpg',
                         '6V4OYHB47QOX.jpg',
                         '6VOUS49LKRLI.jpg',
                         '6VOUS49LKRLI.jpg',
                         '7L1KFQDNLCBY.jpg',
                         '23BNPRMYV2RT.jpg',
                         '24IHCQ74TBML.jpg',
                         '38EE8ZBTSGD1.jpg',
                         '05U2U2R2K6DN.jpg',
                         '0KL1ICR33YYZ.jpg'
                         ], 
                        inputs=img_input, fn=inference)
            image_button = gr.Button("Predict")
            image_button.click(inference, inputs=img_input, outputs=pred_outputs)

        



demo.launch(share=True)