From 80ccd9784ad0b145a5c6864280cf094c56f396ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BE=99=E6=BE=B3?= Date: Sun, 29 Dec 2024 16:00:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0nvidia=20docker=E5=91=BD?= =?UTF-8?q?=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +-- odm_preprocess.py | 42 +++++++++++++++++++++--------------------- utils/odm_monitor.py | 2 +- 3 files changed, 23 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 98cbe9f..facf8a2 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,6 @@ pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple ## TODO -- 过滤算法需要更新 -- 合并obj影像需要更新 - command_runner中rerun需要更新 +- grid要动态分割大小 - 任务队列 diff --git a/odm_preprocess.py b/odm_preprocess.py index 8702fbb..a07da57 100644 --- a/odm_preprocess.py +++ b/odm_preprocess.py @@ -177,23 +177,23 @@ class ImagePreprocessor: self.visualizer.visualize_filter_step( self.gps_points, previous_points, "3-Isolated Points") - # 过滤密集点 - previous_points = self.gps_points.copy() - self.logger.info( - f"开始过滤密集点(网格大小: {self.config.filter_grid_size}, " - f"距离阈值: {self.config.filter_dense_distance_threshold})" - ) - self.gps_points = filter.filter_dense_points( - self.gps_points, - grid_size=self.config.filter_grid_size, - distance_threshold=self.config.filter_dense_distance_threshold, - time_threshold=self.config.filter_time_threshold, - ) - self.logger.info(f"密集点过滤后剩余 {len(self.gps_points)} 个GPS点") + # # 过滤密集点 + # previous_points = self.gps_points.copy() + # self.logger.info( + # f"开始过滤密集点(网格大小: {self.config.filter_grid_size}, " + # f"距离阈值: {self.config.filter_dense_distance_threshold})" + # ) + # self.gps_points = filter.filter_dense_points( + # self.gps_points, + # grid_size=self.config.filter_grid_size, + # distance_threshold=self.config.filter_dense_distance_threshold, + # time_threshold=self.config.filter_time_threshold, + # ) + # self.logger.info(f"密集点过滤后剩余 {len(self.gps_points)} 个GPS点") - # 可视化密集点过滤结果 - self.visualizer.visualize_filter_step( - self.gps_points, previous_points, "4-Dense Points") + # # 可视化密集点过滤结果 + # self.visualizer.visualize_filter_step( + # self.gps_points, previous_points, "4-Dense Points") return self.gps_points @@ -253,7 +253,7 @@ class ImagePreprocessor: self.extract_gps() self.cluster() # self.filter_time_group_overlap() - # self.filter_points() + self.filter_points() grid_points = self.divide_grids() self.copy_images(grid_points) self.logger.info("预处理任务完成") @@ -270,8 +270,8 @@ class ImagePreprocessor: if __name__ == "__main__": # 创建配置 config = PreprocessConfig( - image_dir=r"E:\datasets\UAV\1009\project\images", - output_dir=r"G:\ODM_output\1009", + image_dir=r"E:\datasets\UAV\1815\images", + output_dir=r"G:\ODM_output\1815", cluster_eps=0.01, cluster_min_samples=5, @@ -287,8 +287,8 @@ if __name__ == "__main__": filter_dense_distance_threshold=10, filter_time_threshold=timedelta(minutes=5), - grid_size=300, - grid_overlap=0.03, + grid_size=500, + grid_overlap=0.05, mode="重建模式", diff --git a/utils/odm_monitor.py b/utils/odm_monitor.py index 9705523..6029586 100644 --- a/utils/odm_monitor.py +++ b/utils/odm_monitor.py @@ -27,7 +27,7 @@ class ODMProcessMonitor: # 构建Docker命令 grid_dir = grid_dir[0].lower()+grid_dir[1:].replace('\\', '/') docker_command = ( - f"docker run -ti --rm " + f"docker run --gpus all -ti --rm " f"-v {grid_dir}:/datasets " f"opendronemap/odm " f"--project-path /datasets project "