Spaces:
Runtime error
Runtime error
Update Damage Severity Detection
Browse files- app.py +21 -3
- sample/car-damage-sev-det/sample-1.jpg +0 -0
- sample/car-damage-sev-det/sample-2.jpg +0 -0
- sample/car-damage-sev-det/sample-3.jpg +0 -0
- sample/car-damage-sev-det/sample-4.jpg +0 -0
- sample/car-damage-sev-det/sample-5.jpg +0 -0
- sample/car-damage-sev-det/sample-6.jpg +0 -0
- utils/__init__.py +7 -1
app.py
CHANGED
@@ -1,10 +1,11 @@
|
|
1 |
import gradio as gr
|
2 |
from utils import Predictor, setup
|
3 |
|
4 |
-
CAR_PART_SEG_OUT, CAR_DAM_DET_OUT, SAMPLE = setup()
|
5 |
|
6 |
car_part_predictor = Predictor(CAR_PART_SEG_OUT)
|
7 |
car_dam_detector = Predictor(CAR_DAM_DET_OUT)
|
|
|
8 |
|
9 |
car_part_ui = gr.Interface(
|
10 |
fn=car_part_predictor.transform,
|
@@ -32,7 +33,24 @@ car_dam_ui = gr.Interface(
|
|
32 |
cache_examples=False,
|
33 |
)
|
34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
gr.TabbedInterface(
|
36 |
-
[car_part_ui, car_dam_ui],
|
37 |
-
tab_names=[
|
|
|
|
|
|
|
|
|
38 |
).queue().launch()
|
|
|
1 |
import gradio as gr
|
2 |
from utils import Predictor, setup
|
3 |
|
4 |
+
CAR_PART_SEG_OUT, CAR_DAM_DET_OUT, CAR_SEV_DET_OUT, SAMPLE = setup()
|
5 |
|
6 |
car_part_predictor = Predictor(CAR_PART_SEG_OUT)
|
7 |
car_dam_detector = Predictor(CAR_DAM_DET_OUT)
|
8 |
+
car_sev_detector = Predictor(CAR_SEV_DET_OUT)
|
9 |
|
10 |
car_part_ui = gr.Interface(
|
11 |
fn=car_part_predictor.transform,
|
|
|
33 |
cache_examples=False,
|
34 |
)
|
35 |
|
36 |
+
car_sev_ui = gr.Interface(
|
37 |
+
fn=car_sev_detector.transform,
|
38 |
+
inputs=[
|
39 |
+
gr.components.Image(type="filepath", label="Input Image"),
|
40 |
+
gr.components.Checkbox(value=True, label="Annotate Boxes"),
|
41 |
+
gr.components.Checkbox(value=False, label="Annotate Masks"),
|
42 |
+
],
|
43 |
+
outputs=gr.components.Image(type="numpy", label="Output Image"),
|
44 |
+
title="Car Damage Severity Detector",
|
45 |
+
# examples=SAMPLE["car-dam-det"],
|
46 |
+
cache_examples=False,
|
47 |
+
)
|
48 |
+
|
49 |
gr.TabbedInterface(
|
50 |
+
[car_part_ui, car_dam_ui, car_sev_ui],
|
51 |
+
tab_names=[
|
52 |
+
'car part segmentation',
|
53 |
+
'car damage detection',
|
54 |
+
'car damage severity detection'
|
55 |
+
]
|
56 |
).queue().launch()
|
sample/car-damage-sev-det/sample-1.jpg
ADDED
sample/car-damage-sev-det/sample-2.jpg
ADDED
sample/car-damage-sev-det/sample-3.jpg
ADDED
sample/car-damage-sev-det/sample-4.jpg
ADDED
sample/car-damage-sev-det/sample-5.jpg
ADDED
sample/car-damage-sev-det/sample-6.jpg
ADDED
utils/__init__.py
CHANGED
@@ -10,9 +10,11 @@ from ultralytics.utils.ops import scale_image
|
|
10 |
def setup():
|
11 |
CAR_PART_SEG_URL = "https://drive.google.com/uc?id=1I_LKds9obElNIZcW_DM8zyknrwRmrASj"
|
12 |
CAR_DAM_DET_URL = "https://drive.google.com/uc?id=1AXDyFoEuNqXSaDNUHBp8H9AVjICvsUpz"
|
|
|
13 |
|
14 |
CAR_PART_SEG_OUT = "weight/yolov8-car-part-seg.pt"
|
15 |
CAR_DAM_DET_OUT = "weight/yolov8-car-damage-detection.pt"
|
|
|
16 |
|
17 |
SAMPLE = {
|
18 |
"car-parts-seg" : [ [f"{root}/{file}"] \
|
@@ -30,8 +32,12 @@ def setup():
|
|
30 |
if not os.path.exists(CAR_DAM_DET_OUT):
|
31 |
os.makedirs("weight", exist_ok=True)
|
32 |
gdown.download(CAR_DAM_DET_URL, CAR_DAM_DET_OUT, quiet=True)
|
|
|
|
|
|
|
|
|
33 |
|
34 |
-
return CAR_PART_SEG_OUT, CAR_DAM_DET_OUT, SAMPLE
|
35 |
|
36 |
class Predictor:
|
37 |
|
|
|
10 |
def setup():
|
11 |
CAR_PART_SEG_URL = "https://drive.google.com/uc?id=1I_LKds9obElNIZcW_DM8zyknrwRmrASj"
|
12 |
CAR_DAM_DET_URL = "https://drive.google.com/uc?id=1AXDyFoEuNqXSaDNUHBp8H9AVjICvsUpz"
|
13 |
+
CAR_SEV_DET_URL = "https://drive.google.com/uc?id=1An7QGjbL-UEu7LOT7Xh59itBE854vy4U"
|
14 |
|
15 |
CAR_PART_SEG_OUT = "weight/yolov8-car-part-seg.pt"
|
16 |
CAR_DAM_DET_OUT = "weight/yolov8-car-damage-detection.pt"
|
17 |
+
CAR_SEV_DET_OUT = "weight/yolov8-car-damage-serverity-detection.pt"
|
18 |
|
19 |
SAMPLE = {
|
20 |
"car-parts-seg" : [ [f"{root}/{file}"] \
|
|
|
32 |
if not os.path.exists(CAR_DAM_DET_OUT):
|
33 |
os.makedirs("weight", exist_ok=True)
|
34 |
gdown.download(CAR_DAM_DET_URL, CAR_DAM_DET_OUT, quiet=True)
|
35 |
+
|
36 |
+
if not os.path.exists(CAR_SEV_DET_URL):
|
37 |
+
os.makedirs("weight", exist_ok=True)
|
38 |
+
gdown.download(CAR_SEV_DET_URL, CAR_SEV_DET_OUT, quiet=True)
|
39 |
|
40 |
+
return CAR_PART_SEG_OUT, CAR_DAM_DET_OUT, CAR_SEV_DET_OUT, SAMPLE
|
41 |
|
42 |
class Predictor:
|
43 |
|