add new_added_pts compute
This commit is contained in:
parent
16d1f8ab67
commit
7b28cf9e91
5
app.py
5
app.py
@ -177,6 +177,9 @@ def get_frame_data():
|
||||
|
||||
frame_data['new_point_cloud'] = sampled_point_cloud.tolist()
|
||||
frame_data['combined_point_cloud'] = combined_point_cloud.tolist()
|
||||
new_added_pts = ReconstructionUtil.get_new_added_points(combined_point_cloud, sampled_point_cloud)
|
||||
frame_data["new_added_pts"] = new_added_pts.tolist()
|
||||
|
||||
combined_point_cloud = np.concatenate([combined_point_cloud, sampled_point_cloud], axis=0)
|
||||
|
||||
combined_point_cloud = PtsUtil.voxel_downsample_point_cloud(combined_point_cloud, 0.01)
|
||||
@ -218,6 +221,8 @@ def parse_to_frame_data(inference_result):
|
||||
coverage_rate = inference_result["coverage_rate_seq"][idx]
|
||||
frame_data['new_point_cloud'] = target_pts.tolist()
|
||||
frame_data['combined_point_cloud'] = combined_point_cloud.tolist()
|
||||
new_added_pts = ReconstructionUtil.get_new_added_points(combined_point_cloud, target_pts)
|
||||
frame_data["new_added_pts"] = new_added_pts.tolist()
|
||||
combined_point_cloud = np.concatenate([combined_point_cloud, target_pts], axis=0)
|
||||
frame_data["coverage_rate"] = float(coverage_rate)
|
||||
delta_CR = frame_data["coverage_rate"] - last_CR
|
||||
|
2
pts.py
2
pts.py
@ -19,6 +19,8 @@ class PtsUtil:
|
||||
|
||||
@staticmethod
|
||||
def random_downsample_point_cloud(point_cloud, num_points):
|
||||
if point_cloud.shape[0] == 0:
|
||||
return point_cloud
|
||||
idx = np.random.choice(len(point_cloud), num_points, replace=True)
|
||||
return point_cloud[idx]
|
||||
|
||||
|
@ -31,6 +31,18 @@ class ReconstructionUtil:
|
||||
|
||||
return filtered_sampled_points[:, :3]
|
||||
|
||||
@staticmethod
|
||||
def get_new_added_points(old_combined_pts, new_pts, threshold=0.005):
|
||||
if old_combined_pts.size == 0:
|
||||
return new_pts
|
||||
if new_pts.size == 0:
|
||||
return np.array([])
|
||||
|
||||
tree = cKDTree(old_combined_pts)
|
||||
distances, _ = tree.query(new_pts, k=1)
|
||||
new_added_points = new_pts[distances > threshold]
|
||||
return new_added_points
|
||||
|
||||
if __name__ == "__main__":
|
||||
import os
|
||||
root = "/media/hofee/data/project/python/nbv_reconstruction/nbv_rec_visualize/data/sample/"
|
||||
|
Loading…
x
Reference in New Issue
Block a user