Alessio Grancini
commited on
Update app.py
Browse files
app.py
CHANGED
@@ -277,11 +277,13 @@ def get_detection_data(image_data):
|
|
277 |
# get model size and confidence threshold
|
278 |
model_size = image_data.get("model_size", "Small - Better performance and less accuracy")
|
279 |
confidence_threshold = image_data.get("confidence_threshold", 0.1) # Default from Lens Studio
|
|
|
280 |
else:
|
281 |
full_data_url = image_data
|
282 |
|
283 |
model_size = "Small - Better performance and less accuracy" # Fallback default
|
284 |
confidence_threshold = 0.6 # Fallback default
|
|
|
285 |
|
286 |
if not full_data_url:
|
287 |
return {"error": "No base64 data found in input."}
|
@@ -335,18 +337,31 @@ def get_detection_data(image_data):
|
|
335 |
# Convert BGR to RGB
|
336 |
color_rgb = (int(color_bgr[2]), int(color_bgr[1]), int(color_bgr[0]))
|
337 |
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
|
349 |
-
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
350 |
|
351 |
response = {
|
352 |
"detections": detections,
|
|
|
277 |
# get model size and confidence threshold
|
278 |
model_size = image_data.get("model_size", "Small - Better performance and less accuracy")
|
279 |
confidence_threshold = image_data.get("confidence_threshold", 0.1) # Default from Lens Studio
|
280 |
+
distance_threshold = image_data.get("distance_threshold", 10.0) # Default to 10 meters
|
281 |
else:
|
282 |
full_data_url = image_data
|
283 |
|
284 |
model_size = "Small - Better performance and less accuracy" # Fallback default
|
285 |
confidence_threshold = 0.6 # Fallback default
|
286 |
+
distance_threshold = 10.0 # Default to 10 meters
|
287 |
|
288 |
if not full_data_url:
|
289 |
return {"error": "No base64 data found in input."}
|
|
|
337 |
# Convert BGR to RGB
|
338 |
color_rgb = (int(color_bgr[2]), int(color_bgr[1]), int(color_bgr[0]))
|
339 |
|
340 |
+
# detections.append({
|
341 |
+
# "class_id": cls_id,
|
342 |
+
# "class_name": cls_name,
|
343 |
+
# "bounding_box": {
|
344 |
+
# "vertices": get_box_vertices([x1, y1, x2, y2])
|
345 |
+
# },
|
346 |
+
# "center_2d": center,
|
347 |
+
# "distance": float(real_distance),
|
348 |
+
# "color": color_rgb,
|
349 |
+
# "confidence": float(confidence)
|
350 |
|
351 |
+
#})
|
352 |
+
# Filter based on distance threshold
|
353 |
+
if real_distance <= distance_threshold:
|
354 |
+
detections.append({
|
355 |
+
"class_id": cls_id,
|
356 |
+
"class_name": cls_name,
|
357 |
+
"bounding_box": {"vertices": get_box_vertices([x1, y1, x2, y2])},
|
358 |
+
"center_2d": center,
|
359 |
+
"distance": float(real_distance),
|
360 |
+
"color": color_rgb,
|
361 |
+
"confidence": float(confidence)
|
362 |
+
})
|
363 |
+
else:
|
364 |
+
print(f"Debug - Object {idx} filtered out: Distance {real_distance} exceeds threshold {distance_threshold}")
|
365 |
|
366 |
response = {
|
367 |
"detections": detections,
|