Thanaphit commited on
Commit
a6e2c31
1 Parent(s): 6d3b2af

Update Damage Severity Detection

Browse files
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=['car part segmentation', 'car damage detection']
 
 
 
 
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