Spaces:
Running
Running
white label
Browse files
comic_panel_extractor/config.py
CHANGED
|
@@ -61,7 +61,7 @@ class Config:
|
|
| 61 |
|
| 62 |
# Derive YOLO_MODEL_NAME if empty
|
| 63 |
if not self.YOLO_MODEL_NAME:
|
| 64 |
-
self.YOLO_MODEL_NAME = f"
|
| 65 |
|
| 66 |
# Derived paths
|
| 67 |
self.yolo_base_model_path = os.path.join(self.current_path, f"{self.YOLO_BASE_MODEL_NAME}.pt")
|
|
|
|
| 61 |
|
| 62 |
# Derive YOLO_MODEL_NAME if empty
|
| 63 |
if not self.YOLO_MODEL_NAME:
|
| 64 |
+
self.YOLO_MODEL_NAME = f"final_model_{self.YOLO_BASE_MODEL_NAME}"
|
| 65 |
|
| 66 |
# Derived paths
|
| 67 |
self.yolo_base_model_path = os.path.join(self.current_path, f"{self.YOLO_BASE_MODEL_NAME}.pt")
|
comic_panel_extractor/config.toml
CHANGED
|
@@ -4,6 +4,6 @@ BATCH = 10
|
|
| 4 |
RESUME_TRAIN = true
|
| 5 |
RECREATE_DATASET = true
|
| 6 |
YOLO_BASE_MODEL_NAME = "yolo11s-seg"
|
| 7 |
-
YOLO_MODEL_NAME = "
|
| 8 |
IMAGE_SOURCE_PATH = "images"
|
| 9 |
YOLO_MODEL_REMOTE_URL = "https://huggingface.co/mosesb/best-comic-panel-detection/resolve/main/best.pt"
|
|
|
|
| 4 |
RESUME_TRAIN = true
|
| 5 |
RECREATE_DATASET = true
|
| 6 |
YOLO_BASE_MODEL_NAME = "yolo11s-seg"
|
| 7 |
+
YOLO_MODEL_NAME = "final_model_yolo11s-seg"
|
| 8 |
IMAGE_SOURCE_PATH = "images"
|
| 9 |
YOLO_MODEL_REMOTE_URL = "https://huggingface.co/mosesb/best-comic-panel-detection/resolve/main/best.pt"
|
comic_panel_extractor/config.toml.bak
CHANGED
|
@@ -3,5 +3,5 @@ DEFAULT_IMAGE_SIZE=640
|
|
| 3 |
BATCH=10
|
| 4 |
RESUME_TRAIN="true"
|
| 5 |
YOLO_BASE_MODEL_NAME="yolo11s-seg"
|
| 6 |
-
YOLO_MODEL_NAME="
|
| 7 |
IMAGE_SOURCE_PATH="images"
|
|
|
|
| 3 |
BATCH=10
|
| 4 |
RESUME_TRAIN="true"
|
| 5 |
YOLO_BASE_MODEL_NAME="yolo11s-seg"
|
| 6 |
+
YOLO_MODEL_NAME="final_model_yolo11s-seg"
|
| 7 |
IMAGE_SOURCE_PATH="images"
|
comic_panel_extractor/main.py
CHANGED
|
@@ -43,40 +43,7 @@ class ComicPanelExtractor:
|
|
| 43 |
return None, None, all_path
|
| 44 |
except Exception as e:
|
| 45 |
print(f'{str(e)} {traceback.format_exc()}')
|
| 46 |
-
|
| 47 |
-
processed_image_path = self.image_processor.group_colors(self.config.input_path)
|
| 48 |
-
|
| 49 |
-
processed_image_path = BorderPanelExtractor(self.config).main(processed_image_path)
|
| 50 |
-
|
| 51 |
-
self.config.black_overlay_input_path = processed_image_path
|
| 52 |
-
|
| 53 |
-
_, _, processed_image_path = self.image_processor.preprocess_image(processed_image_path)
|
| 54 |
-
|
| 55 |
-
processed_image_path = self.image_processor.thin_image_borders(processed_image_path)
|
| 56 |
-
|
| 57 |
-
processed_image_path = self.image_processor.remove_diagonal_lines_and_set_white(processed_image_path)
|
| 58 |
-
|
| 59 |
-
processed_image_path = self.image_processor.remove_dangling_lines(processed_image_path)
|
| 60 |
-
|
| 61 |
-
processed_image_path = self.image_processor.remove_diagonal_only_cells(processed_image_path)
|
| 62 |
-
|
| 63 |
-
processed_image_path = self.image_processor.thick_black(processed_image_path)
|
| 64 |
-
|
| 65 |
-
processed_image_path = self.image_processor.remove_small_regions(processed_image_path)
|
| 66 |
-
|
| 67 |
-
processed_image_path = self.image_processor.remove_small_regions(processed_image_path)
|
| 68 |
-
|
| 69 |
-
# processed_image_path = self.image_processor.connect_horizontal_vertical_gaps(processed_image_path)
|
| 70 |
-
|
| 71 |
-
processed_image_path = self.image_processor.detect_small_objects_and_set_white(processed_image_path)
|
| 72 |
-
|
| 73 |
-
processed_image_path = self.image_processor.thin_image_borders(processed_image_path)
|
| 74 |
-
|
| 75 |
-
panel_images, panel_data, all_panel_path = self.panel_extractor.extract_panels(
|
| 76 |
-
processed_image_path
|
| 77 |
-
)
|
| 78 |
-
|
| 79 |
-
return panel_images, panel_data, all_panel_path
|
| 80 |
|
| 81 |
def cleanup(self):
|
| 82 |
"""Clean up temporary files if needed."""
|
|
|
|
| 43 |
return None, None, all_path
|
| 44 |
except Exception as e:
|
| 45 |
print(f'{str(e)} {traceback.format_exc()}')
|
| 46 |
+
raise
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
|
| 48 |
def cleanup(self):
|
| 49 |
"""Clean up temporary files if needed."""
|