处理过程1.补全00061数据集原有的00061数据集缺少朝向类别表orientation.txt和排除朝向类别表no_orientation.txt两个文件需要补全。sofa沙发有正面其余归类为不判断正面2.完善pictures_12代码以适配00061数据集。复制pictures_12并重命名为pictures_zj_1进行修改修改情况如下1.文件顶部注释修改修改成00061的实际结构2.默认输入输出目录修改输入输出3.深度图读取方式4.深度图、位姿、深度内参路径深度图位姿深度内参原本每帧是去camera_poses/0.info.txt找现在新增也就是使用 data/00061/intrinsic/intrinsic_depth.txt5.三维反投影函数的参数名称原本color_intrinsic现在intrinsic实际传入的是intrinsic_depth.txt6.run_point3d_projection()的内参来源和深度单位原流程读 0.info.txt→ 解析 m_calibrationDepthIntrinsic→ 解析 m_depthShift现在读 intrinsic/intrinsic_depth.txt→ 直接读 4×4 矩阵→ 固定 depth_shift 1000.0同时删掉了原本的info_cache用于缓存.info.txt00061用不到7.点云输出 JSON 的说明文字原本相机信息来自每帧 .info.txt深度比例来自 m_depthShift现在相机信息来源intrinsic/intrinsic_depth.txt深度比例来源ScanNet PNG 深度1000 单位等于 1 米8. OBB 朝向阶段读取 RGB 内参和位姿位姿路径RGB内参现在直接读取intrinsic/intrinsic_color.txt在物体朝向阶段会调用9. QA 阶段读取深度图这部分用于空间关系中的深度遮挡、物体前后关系、可见表面距离等判断。这里直接除以1000.0因此 QA 使用的深度值已经是米10. QA 阶段读取 RGB 内参原来load_color_intrinsic()会解析.info.txt中的m_calibrationColorIntrinsic现在直接读取intrinsic/intrinsic_color.txt并取左上角3x3相机内参11. QA 阶段读取位姿和内参路径原本:pose_dir resolve_scan_data_dir(data_root, camera_poses) pose_path pose_dir / f{frame_id}.pose.txt info_path pose_dir / f{frame_id}.info.txt camera_intrinsic load_color_intrinsic(info_path)现在pose_dir data_root / pose color_intrinsic_path ( data_root / intrinsic / intrinsic_color.txt ) pose_path pose_dir / f{frame_id}.txt camera_intrinsic load_color_intrinsic(color_intrinsic_path)QA 阶段不再依赖任何.info.txt3.分割主代码在修整后的pictures_zj_1的基础上将代码分割成两部分第一部分是pictures_zj_1_1负责空间关系生成前的全部工作,余下部分是pictures_zj_2_1。后续修改时重命名会对末尾数字进行改动思路pictures_zj_1_1.py负责的流程类别标签→ VLM 实例识别→ SAM 2 二维分割→ 2D mask 导出与预览→ 三维点云反投影→ 点云清洗→ OBB→ VLM 物体朝向会生成并更新outputs/00061/├─ label.json├─ 2D_segment/├─ 3D_point/├─ 3D_point_clean/├─ 3D_OBB/└─ pipeline_timing.txtpictures_zj_2_1.py负责流程读取第一部分已有结果//需要第一部分提供:outputs/00061/├─ 2D_segment/instances_2d.json├─ 2D_segment/merged_masks/├─ 3D_point_clean/object_3d_points_clean/└─ 3D_OBB/→ 生成空间关系→ 生成 QA→ 输出 QA 汇总和计时最后输出outputs/00061/qa/├─ 帧名_spatial_relationships.json├─ 帧名_qa.json└─ generation_summary.json实现过程按“功能边界”分割pictures_zj_1.py │ ├─ 前半部分 │ 输入、VLM、SAM 2、点云、清洗、OBB、朝向 │ └─ 后半部分 空间关系规则、QA 生成规则具体做法找到空间关系代码的开始位置# Integrated spatial-QA policy for pictures_12 (self-contained)这段之后就是空间关系、拓扑判断、距离题、排序题和 QA 生成代码。创建pictures_zj_1_1.py它保留从文件开头到run_obb_pipeline(...)为止的所有代码。并删除了run_obb_pipeline()末尾原本的generate_inline_spatial_qa(...)所以第一部分完成 OBB 朝向后就结束。修改第一部分的main()原来--qa_only → 直接生成空间关系与 QA现在改为提示空间关系与 QA 已拆到 pictures_zj_2_1.py避免第一部分再去调用已被移走的函数。创建pictures_zj_2_1.py它保留原文件的空间关系和 QA 代码包括evaluate_topology_geometry(...) _generate_wy_zj_spatial_qa(...) apply_cxm2_qa_rules(...) generate_inline_spatial_qa(...)这些函数仍然完整保留在第二部分。第二部分导入第一部分在pictures_zj_2_1.py开头import pictures_zj_1_1 as upstream然后复用第一部分已有的公共内容路径配置 00061 的深度和内参适配 点云与 OBB 数据结构 JSON 工具函数 计时器 相机和几何工具函数给第二部分写了独立main()第二部分启动时只检查data/00061 是否存在 outputs/00061/3D_OBB 是否存在 outputs/00061/2D_segment/instances_2d.json 是否存在检查通过后只执行generate_inline_spatial_qa(...)因此它不会加载 SAM 2、不请求 VLM、不重新生成点云或 OBB。补充关于计时文件第一部分pipeline_timing.txt第二部分pipeline_timing_qa.txt上一步补全代码时遗漏了 处理读取info_path的问题现做修改两处第一部分info_path: str(info_path) if info_path.exists() else ,改为info_path: ,第二部分source_camera_info: str(info_path)改为source_camera_info: 4.在服务器上的操作记录1.上传项目文件夹2.搭建环境1.创建虚拟环境conda create --name SAM2_zj python3.102.激活虚拟环境conda activate SAM2_zjShell 终端没有自动加载 Conda 初始化脚本重新激活source /opt/conda/etc/profile.d/conda.sh conda activate SAM2_zj3.查看支持的cuda版本conda search cudatoolkit --infourl : https://conda.anaconda.org/conda-forge/linux-64/cudatoolkit-11.8.0-h4ba93d1_13.conda4.下载 cudatoolkit wget https://conda.anaconda.org/conda-forge/linux-64/cudatoolkit-11.8.0-h4ba93d1_13.conda 5.安装cudatoolkitconda install ./cudatoolkit-11.8.0-h4ba93d1_13.conda检查是否安装成功conda list cudatoolkit6.安装cudnn查看支持版本conda search cudnn --info下载wget https://conda.anaconda.org/conda-forge/linux-64/cudnn-9.3.0.75-hc149ed2_0.conda安装conda install ./cudnn-9.3.0.75-hc149ed2_0.conda检查安装成功conda list cudnn7.torch安装pip install --isolated --retries 5 --timeout 120 torch2.5.1 torchvision0.20.1 --index-url https://download.pytorch.org/whl/cu118检查conda list | grep -E torch|torchvision|torchmetrics8.其他依赖env -u PIP_EXTRA_INDEX_URL PIP_CONFIG_FILE/dev/null pip install -r requirements.txt -i https://pypi.org/simple 3.确认SAM2源码正确导入PYTHONPATH./models python -c from sam2.build_sam import build_sam2; from sam2.sam2_image_predictor import SAM2ImagePredictor; print(SAM2 导入成功)至此环境、PyTorch、CUDA、SAM2 依赖全部正常4.pictures_zj_1_1的运行加载并初始化 Conda 环境source /opt/conda/etc/profile.d/conda.sh激活名为SAM2_zj的虚拟环境:conda activate SAM2_zj切换当前工作目录:cd /djtu48/SAM2_zj/SAM2_zj打印当前工作目录pwd应显示/djtu48/SAM2_zj/SAM2_zj在当前目录下创建一个名为outputs的文件夹并在里面再创建一个名为00061的子文件夹:记录输出mkdir -p outputs/00061启动当前任务指定使用第一块显卡在后台静默运行一个 Python 脚本处理图像并将结果输出到指定的文件夹中CUDA_VISIBLE_DEVICES0 nohup python -u tools/pictures/pictures_zj_1_1.py --scan_root data/00061 --output_dir outputs/00061 --skip_label_generation --label_file outputs/00061/label.json --device cuda:0 --log_level INFO outputs/00061/server_stage.log 21 查看日志tail -f outputs/00061/server_stage.log下一次重新进入shell查看进度source /opt/conda/etc/profile.d/conda.shconda activate SAM2_zjcd /djtu48/SAM2_zj/SAM2_zjtail -f outputs/00061/server_stage.log如果想确认任务是否还在运行ps -p 22075 -o pid,stat,cmd结果输出outputs/00061/├─ label.json├─ 2D_segment/│ └─ instances_2d.json├─ 3D_point/├─ 3D_point_clean/│ └─ object_3d_points_clean.json├─ 3D_OBB/├─ pipeline_timing.txt└─ server_stage.log5.本机操作记录空间关系问答对E:\project\3D\sam2-main_2 - 副本测试环境.\.venv\Scripts\python.exe tools\pictures\pictures_zj_2_1.py --help执行命令.\.venv\Scripts\python.exe tools\pictures\pictures_zj_2_1.py --scan_root data\00061 --output_dir outputs\00061 --log_level INFO读取outputs/00061/2D_segment/outputs/00061/3D_point_clean/outputs/00061/3D_OBB/输出outputs/00061/qa/outputs/00061/pipeline_timing_qa.txt筛选人工每类抽取20条考虑到不是每类都是100这里取最小数题型当前数量multi_between80multi_single_anchor_positional_topological20order_object_center_distance67order_object_visible_surface_distance67为适配数据集这部分做了一些小调整具体如下shaixuan_qa_zj_1.py原内容改为说明为pictures_12、每类 100 条00061、每类 20 条outputs/pictures_14outputs/00061输入outputs/pictures_14/qa/qa_pairs.jsonoutputs/00061/qa/qa_pairs.json输出outputs/pictures_14/evaluation/evaluation_qa.jsonoutputs/00061/evaluation/evaluation_qa.jsonRGB 路径data/pictures/colordata/00061/coloroverlay 路径outputs/pictures_14/2D_segment/overlayoutputs/00061/2D_segment/overlaySAMPLES_PER_TYPE 100SAMPLES_PER_TYPE 2020x18条题目抽取.\.venv\Scripts\python.exe tools\qa\shaixuan_qa_zj_1.py人工审核原位置/内容新内容data/picturesdata/00061outputs/pictures_12outputs/00061默认评测目录outputs/00061/evaluation默认 RGB 图目录data/00061/color默认 overlay 目录outputs/00061/2D_segment/overlay默认评测文件说明中的“全部子类、分组文件”改为“00061 的全部待审核题目”左右关系辅助文件的查找目录outputs/pictures_12/qaoutputs/00061/qa重绘审核叠加图时读取的2D_segment目录outputs/00061/2D_segment文件选择框标题、命令行帮助、路径解析说明中pictures_12全部改为00061manifest 的旧数据集说明改为 00061 不使用 manifest.\.venv\Scripts\python.exe tools\view\manual_answer_3.py --input outputs\00061\evaluation\evaluation_qa.json
企业数字化 ERP 产品动态
相关推荐
企业内部知识库管理软件怎么选?Confluence、Notion、飞书、坚果云四类方案对比 文章目录一、知识库软件的四种类型二、四种方案逐一分析2.1 Wiki型(Confluence / 语雀)2.2 模块型(Notion)2.3 聊天驱动型(飞书文档 / 钉钉文档)2.4 文件同步型(坚果云 本地编辑器)… · 2026/11/6 6:37:15
局域网文件传输工具盘点:LocalSend、飞秋、AirDrop、坚果云LAN加速怎么选 文章目录一、什么时候需要局域网传输二、五种局域网传输方案对比2.1 LocalSend —— 开源跨平台传输工具2.2 飞秋(FeiQ)—— 老牌局域网即时通讯2.3 AirDrop —— 苹果生态专属2.4 Windows共享文件夹 —— 系统自带2.5 坚果云 LAN Sync —— 持续同步的局… · 2026/11/7 8:55:27
03-数据会不会丢:RDB、AOF 与内存管理的真实边界 数据会不会丢:RDB、AOF 与内存管理的真实边界一、重启之后,购物车少了一大截
第 02 篇结尾留了个问题:缓存丢了可以重建,那存储层的数据丢了怎么办。我们很快撞上了,丢的不是缓存,是被当成存储的那部分。
购… · 2026/11/6 6:37:15
退休电工证在哪里办理?考前押题攻略全在这 退休电工证在哪里办理?考前押题攻略全在这 不知道去哪报名怕被中介坑,尤其是像你这样已经退休但还想继续发挥技能的老电工,找对地方真的太关键了。退休电工证在哪里办理,是很多老电工最关心的问题,而且一旦选错报名机构,不仅浪费时间,还可能被坑钱。本… · 2026/11/7 8:54:43
报考特种工的人实操考试心里没底怕挂科?全国通用证书怎么考更稳妥 报考特种工的人实操考试心里没底怕挂科?全国通用证书怎么考更稳妥 实操考试心里没底怕挂科,这是报考特种工的人最担心的问题。特别是在高压电工、焊工、高处作业这些高风险工种,实操考不过不仅影响证书进度,还可能耽误项目进度,甚至影响收入。作为劳务班… · 2026/11/7 8:54:43
电工证找人办理条件千万别踩坑 证书过期了不知道怎么复审延期怎么办 电工证找人办理条件千万别踩坑 证书过期了不知道怎么复审延期怎么办 证书过期了不知道怎么复审延期,你是不是也遇到过这种焦虑?别急,这篇文章就帮你梳理清楚【电工证找人办理条件】,避免你掉进那些“找人办理”的坑里,耽误时间又浪费钱。… · 2026/11/7 8:54:43
考电工证流程河南证全国通用吗 河南电工证报考流程2026最新政策解读 你缺的不是机会,是张特种作业证,找工作、换岗位、升职都卡在证件上。2026年河南最新政策明确,电工证办理流程、考试方式、证书效力等都有了新变化,特别是电子证书的推行,让取证更便捷。下面围绕“考电工证流… · 2026/11/7 8:54:43
珠海电工证年检在哪年复审延期怎么办理 多久拿证全解析 珠海电工证年检在哪年复审延期怎么办理 多久拿证全解析 实操考试心里没底怕挂科,这是很多准备考电工证的朋友的真实写照。特别是珠海的学员,由于年检和复审时间每年都在变化,很多人担心自己会错过时间节点,影响工作和收入。而拿到证书后,多久拿证这个问… · 2026/11/7 8:54:43
惠安县报考特种工证怎么搞?工地太忙根本没时间复习考试 惠安县报考特种工证怎么搞?工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,这是很多一线特种作业人员的共同困扰。2026年河南最新政策对特种作业操作证的报考、考试和复审提出了更严格的要求,尤其是 惠安县报考特种工证… · 2026/11/7 8:53:43
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 10:29:23
澳洲水电工证考试:证书过期了不知道怎么复审延期?电子证书怎么弄? 澳洲水电工证考试:证书过期了不知道怎么复审延期?电子证书怎么弄? 证书过期了不知道怎么复审延期?别慌,很多人在拿到【澳洲水电工证考试】的电子证书后,一不小心就忽略了复审时间,结果证书失效,工作受阻,甚至被单位追责。今天就从【澳洲水电工证考试… · 2026/11/7 0:00:41
电工作业提示版通过率揭秘:怎么考才能一次过? 电工作业提示版通过率揭秘:怎么考才能一次过? 怕考不过白交培训费?别急,今天我就从驻马店应届工程类毕业生的视角,带你全面了解电工作业提示版的考试流程、备考要点和真实通过率,帮你少走弯路、提高一次通过率。… · 2026/11/7 0:00:41
电工证年审报名千万别踩坑 外省证转过来要搞清这几点 电工证年审报名千万别踩坑 外省证转过来要搞清这几点 之前考的证在外省能不能转过来?这个问题是很多电工从业者最关心的,特别是像你这样在商丘从事公路工程的人员,经常需要跨省流动,证书的 有效性 和 可迁移性… · 2026/11/7 0:00:41
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 10:29:23