Alessio Grancini commited on
Commit
ebd552a
·
verified ·
1 Parent(s): 8bda905

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -5
app.py CHANGED
@@ -264,15 +264,24 @@ def get_detection_data(image_data):
264
  cls_id, cls_name, center, mask, color_bgr, confidence = obj
265
  x1, y1, x2, y2 = get_bbox_from_mask(mask)
266
 
267
- depth_value = depth_at_center(depthmap, [x1, y1, x2, y2])
268
 
269
  # Debug: Log original center and vertices (1536x1024)
270
  print(f"Debug - Object {idx}: Original Center = {center}, Original Vertices = {get_box_vertices([x1, y1, x2, y2])}")
271
 
272
  # Handle invalid or NaN depth values
273
- if depth_value is None or np.isnan(depth_value) or not isinstance(depth_value, (int, float)) or depth_value <= 0:
274
- print(f"Warning: Invalid depth value ({depth_value}) for Object {idx}. Using default depth of 1.0...")
275
- depth_value = 1.0 # Default to 1.0 if depth is invalid or NaN
 
 
 
 
 
 
 
 
 
276
 
277
 
278
  # Scale from 1536x1024 to 1512x1008, ensuring values fit within bounds
@@ -313,7 +322,8 @@ def get_detection_data(image_data):
313
  "vertices": get_box_vertices([x1, y1, x2, y2])
314
  },
315
  "center_2d": center, # Add 2D center in screen space
316
- "distance": depth_value, # Depth in meters
 
317
  "color": color_rgb,
318
  "confidence": float(confidence)
319
 
 
264
  cls_id, cls_name, center, mask, color_bgr, confidence = obj
265
  x1, y1, x2, y2 = get_bbox_from_mask(mask)
266
 
267
+ #depth_value = depth_at_center(depthmap, [x1, y1, x2, y2])
268
 
269
  # Debug: Log original center and vertices (1536x1024)
270
  print(f"Debug - Object {idx}: Original Center = {center}, Original Vertices = {get_box_vertices([x1, y1, x2, y2])}")
271
 
272
  # Handle invalid or NaN depth values
273
+ #if depth_value is None or np.isnan(depth_value) or not isinstance(depth_value, (int, float)) or depth_value <= 0:
274
+ #print(f"Warning: Invalid depth value ({depth_value}) for Object {idx}. Using default depth of 1.0...")
275
+ #depth_value = 1.0 # Default to 1.0 if depth is invalid or NaN
276
+
277
+ # Use get_masked_depth to get mean depth directly from depthmap and mask
278
+ masked_depth_map, mean_depth = utils.get_masked_depth(depthmap, mask)
279
+ debugLog(f"Debug - Object {idx}: Masked depth min/max: {masked_depth_map.min()}, {masked_depth_map.max()}, Mean depth: {mean_depth}")
280
+
281
+ # Handle invalid or NaN mean_depth
282
+ if (np.isnan(mean_depth) or not isinstance(mean_depth, (int, float)) or mean_depth <= 0):
283
+ debugLog(f"Warning: Invalid mean depth ({mean_depth}) for Object {idx}. Using default depth of 1.0...")
284
+ mean_depth = 1.0 # Fallback to 1.0 meter
285
 
286
 
287
  # Scale from 1536x1024 to 1512x1008, ensuring values fit within bounds
 
322
  "vertices": get_box_vertices([x1, y1, x2, y2])
323
  },
324
  "center_2d": center, # Add 2D center in screen space
325
+ "distance": float(mean_depth), # Depth in meters
326
+ #"distance": depth_value, # Depth in meters
327
  "color": color_rgb,
328
  "confidence": float(confidence)
329