Spaces:
Runtime error
Runtime error
s194649
commited on
Commit
·
ea11ea1
1
Parent(s):
15045a2
outlier filtering
Browse files- inference.py +18 -0
inference.py
CHANGED
|
@@ -11,6 +11,23 @@ import pandas as pd
|
|
| 11 |
import plotly.express as px
|
| 12 |
import matplotlib.pyplot as plt
|
| 13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
|
| 15 |
def map_image_range(depth, min_value, max_value):
|
| 16 |
"""
|
|
@@ -239,6 +256,7 @@ class DepthPredictor:
|
|
| 239 |
points, _ = PCL(mask, depth)
|
| 240 |
idxs = np.random.choice(len(points), int(n_samples))
|
| 241 |
points = points[idxs]
|
|
|
|
| 242 |
for point in points:
|
| 243 |
cube = o3d.geometry.TriangleMesh.create_box(
|
| 244 |
width=cube_size, height=cube_size, depth=cube_size
|
|
|
|
| 11 |
import plotly.express as px
|
| 12 |
import matplotlib.pyplot as plt
|
| 13 |
|
| 14 |
+
def remove_outliers(point_cloud, threshold=3.0):
|
| 15 |
+
# Calculate mean and standard deviation along each dimension
|
| 16 |
+
mean = np.mean(point_cloud, axis=0)
|
| 17 |
+
std = np.std(point_cloud, axis=0)
|
| 18 |
+
|
| 19 |
+
# Define lower and upper bounds for each dimension
|
| 20 |
+
lower_bounds = mean - threshold * std
|
| 21 |
+
upper_bounds = mean + threshold * std
|
| 22 |
+
|
| 23 |
+
# Create a boolean mask for points within the bounds
|
| 24 |
+
mask = np.all((point_cloud >= lower_bounds) & (point_cloud <= upper_bounds), axis=1)
|
| 25 |
+
|
| 26 |
+
# Filter out outlier points
|
| 27 |
+
filtered_point_cloud = point_cloud[mask]
|
| 28 |
+
|
| 29 |
+
return filtered_point_cloud
|
| 30 |
+
|
| 31 |
|
| 32 |
def map_image_range(depth, min_value, max_value):
|
| 33 |
"""
|
|
|
|
| 256 |
points, _ = PCL(mask, depth)
|
| 257 |
idxs = np.random.choice(len(points), int(n_samples))
|
| 258 |
points = points[idxs]
|
| 259 |
+
points = remove_outliers(points)
|
| 260 |
for point in points:
|
| 261 |
cube = o3d.geometry.TriangleMesh.create_box(
|
| 262 |
width=cube_size, height=cube_size, depth=cube_size
|