Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -112,16 +112,16 @@ class GPUSatelliteModelGenerator:
|
|
| 112 |
|
| 113 |
@staticmethod
|
| 114 |
@cp.fuse() # Use CuPy's JIT compilation
|
| 115 |
-
def gpu_color_distance_hsv(pixel_hsv, reference_hsv,
|
| 116 |
"""Optimized HSV color distance calculation using CuPy's JIT"""
|
| 117 |
h_diff = cp.minimum(cp.abs(pixel_hsv[0] - reference_hsv[0]),
|
| 118 |
360 - cp.abs(pixel_hsv[0] - reference_hsv[0]))
|
| 119 |
s_diff = cp.abs(pixel_hsv[1] - reference_hsv[1])
|
| 120 |
v_diff = cp.abs(pixel_hsv[2] - reference_hsv[2])
|
| 121 |
|
| 122 |
-
return (h_diff <=
|
| 123 |
-
(s_diff <=
|
| 124 |
-
(v_diff <=
|
| 125 |
|
| 126 |
def generate_tree_vertices(self, tree_mask, base_vertices):
|
| 127 |
"""Generate randomized tree heights and positions"""
|
|
@@ -173,7 +173,9 @@ class GPUSatelliteModelGenerator:
|
|
| 173 |
masks[category] |= self.gpu_color_distance_hsv(
|
| 174 |
cp.stack([h, s, v]),
|
| 175 |
ref_hsv,
|
| 176 |
-
tolerance
|
|
|
|
|
|
|
| 177 |
)
|
| 178 |
|
| 179 |
# Optimized terrain and building detection
|
|
|
|
| 112 |
|
| 113 |
@staticmethod
|
| 114 |
@cp.fuse() # Use CuPy's JIT compilation
|
| 115 |
+
def gpu_color_distance_hsv(pixel_hsv, reference_hsv, hue_tolerance, sat_tolerance, val_tolerance):
|
| 116 |
"""Optimized HSV color distance calculation using CuPy's JIT"""
|
| 117 |
h_diff = cp.minimum(cp.abs(pixel_hsv[0] - reference_hsv[0]),
|
| 118 |
360 - cp.abs(pixel_hsv[0] - reference_hsv[0]))
|
| 119 |
s_diff = cp.abs(pixel_hsv[1] - reference_hsv[1])
|
| 120 |
v_diff = cp.abs(pixel_hsv[2] - reference_hsv[2])
|
| 121 |
|
| 122 |
+
return (h_diff <= hue_tolerance) & \
|
| 123 |
+
(s_diff <= sat_tolerance) & \
|
| 124 |
+
(v_diff <= val_tolerance)
|
| 125 |
|
| 126 |
def generate_tree_vertices(self, tree_mask, base_vertices):
|
| 127 |
"""Generate randomized tree heights and positions"""
|
|
|
|
| 173 |
masks[category] |= self.gpu_color_distance_hsv(
|
| 174 |
cp.stack([h, s, v]),
|
| 175 |
ref_hsv,
|
| 176 |
+
tolerance['hue'],
|
| 177 |
+
tolerance['sat'],
|
| 178 |
+
tolerance['val']
|
| 179 |
)
|
| 180 |
|
| 181 |
# Optimized terrain and building detection
|