资讯动态

基于AI大模型的建筑立面巡检半自动化航线生成方案

发布时间:2026/10/20 11:16:51 来源:尧图企业网站定制
目录一、业务痛点分析1. 纯自动化方案落地难2. 纯人工绘制工作量大3. 多类型建筑适配问题二、整体技术路线三、关键模块详细设计3.1 大模型实例分割模块3.2 轮廓智能预处理模块核心代码几何清洗去孔洞 / 保角点平滑 / 凹凸识别3.3 立面Zig-Zag航线规划算法核心代码弧长参数化 → 柱面展开 → 竖向往复扫描 → 逆映射法线偏移3.4 最终效果图3.5 人机协同交互设计本方案核心创新点四、适用场景与边界五、方案优势总结摘要在建筑无人机立面巡检场景传统全自动航线方案如3DGS重建占用网格自动规划技术上可实现但落地痛点突出复杂异形建筑、外立面凹凸构件、现场遮挡会导致自动规划航线频繁失效一线巡检人员习惯基于二维影像人工勾勒轮廓的交互模式全自动方案学习成本高自动输出结果仍需大量手工编辑。本文提出一套大模型辅助的半自动化立面Zig-Zag巡检航线方案。核心思想不是完全替代人工而是将「轮廓提取、轮廓预处理、立面几何推理」交给大模型与实例分割能力完成人工负责校验、约束调整与最终航线确认航线采用立面直上直下竖向Zig-Zag牛耕扫描兼顾全覆盖巡检需求和业务人员的操作习惯。方案兼容常规粗建模流程同时支持仅依靠正射影像快速生成航线初稿提升现场作业效率。一、业务痛点分析1. 纯自动化方案落地难基于3D高斯重建构建占用网格做全自动航线规划依赖完整三维重建成果。遇到外立面支架、幕墙凹凸、树木遮挡重建会产生畸变生成的航线容易出现碰撞风险、漏扫区域。即便算法生成航线现场工程师几乎都要逐段编辑自动化产出的初稿可用率偏低。2. 纯人工绘制工作量大传统手动工作流在正射影像上手工打点描绘建筑外轮廓轮廓平滑、剔除多余噪点设置建筑高度拉伸生成立面在立面布设Zig-Zag航线其中人工勾勒轮廓最耗时大面积异形建筑打点数量多轮廓精度受操作人员经验影响。3. 多类型建筑适配问题圆形场馆、不规则弧形建筑、组合多边形建筑人工描边难度更高单纯固定模板航线无法自适应建筑外边界。方案定位AI负责生成高质量轮廓初稿人做决策与约束校验人机协同半自动化输出Zig-Zag立面巡检航线。二、整体技术路线整体链路影像输入 → 大模型实例分割提取建筑轮廓 → 大模型轮廓智能预处理 → 轮廓拉伸生成立面几何面 → 立面Zig-Zag航线自动布点 → 人工交互编辑与安全约束校验 → 输出可执行无人机航线各环节说明影像输入航拍正射影像/卫星影像框选目标建筑区域也可接入粗建模得到的三维点云作为高度参考。大模型实例分割调用大模型驱动的实例分割能力识别目标建筑剔除阴影、地面植被、周边附属构筑物输出建筑二值Mask。轮廓智能预处理大模型能力大模型识别Mask中噪点、空洞自动平滑轮廓区分主建筑本体和附属小构件支持自动拆分多连体建筑输出标准化GeoJSON矢量轮廓。人工可选操作轮廓局部微调、删减多余面、补充分割遗漏区域。立面构建以二维轮廓为底面参考粗建模三维成果/人工设定高度向上拉伸生成封闭竖向立面。立面携带外法线信息用于后续航线偏移计算。Zig-Zag航线规划核心在立面表面生成竖向直上直下牛耕往复航线。沿着建筑底面轮廓做弧长参数化将闭合立面展开为二维矩形平面横轴建筑环向弧长纵轴建筑高度在展开平面布设航线沿高度方向垂直扫描直上直下到达顶部/底部边界后沿环向前进一个扫描步距反向垂直扫描重复该过程完成整个立面全覆盖。将平面航点映射回三维空间沿立面外法线向外偏移固定安全距离得到建筑外侧巡检航点航点附带相机朝向镜头对准建筑立面。人工交互校验操作人员可视化检查航线修改扫描步距、安全距离、局部避让区域删除危险航点。导出航线输出无人机可识别的航点任务文件。✅航线特点每一段主航段严格垂直直上直下仅在上下端点做环向短步进不是螺旋不是斜向不是横向扫描。完美匹配立面病害全覆盖巡检。三、关键模块详细设计3.1 大模型实例分割模块区别于传统分割模型采用多模态大模型做前置理解。输入框选后的影像截图附带自然语言提示词——“识别图中的主体建筑不要阴影、树木、地面附属设施输出建筑边界mask。”能力理解复杂场景语义区分建筑本体与阴影解决传统分割容易把阴影划入建筑轮廓的问题自动识别多个独立建筑实例分开输出轮廓输出Mask转换为GeoJSON矢量直接导入GIS/航线规划引擎。3.2 轮廓智能预处理模块传统分割Mask常带有锯齿、孔洞人工修复繁琐。由大模型辅助做几何清洗过滤微小噪点消除Mask零散碎块轮廓平滑保留建筑主体拐点不丢失关键转角识别轮廓内凹/外凸标记高风险区域后续航线可预留更大安全距离。人工干预入口一键编辑矢量轮廓增删顶点。核心代码几何清洗去孔洞 / 保角点平滑 / 凹凸识别importmathimportnumpyasnpfromshapely.geometryimportPolygon,MultiPolygonfromshapely.opsimportunary_unionfromshapelyimportmake_validdefclean_contour(geom,min_hole_area_m25.0):去内孔(空洞)与细碎自交返回干净的单/多多边形。ifnotgeom.is_valid:geommake_valid(geom)partsgeom.geomsifisinstance(geom,MultiPolygon)else[geom]out[]forpinparts:ifp.is_emptyorp.area1e-6:continueholes[hforhinp.interiorsifPolygon(h).areamin_hole_area_m2]# 丢弃小孔洞out.append(Polygon(p.exterior,holes))returnunary_union(out)defsmooth_contour_preserve_corners(coords,smooth_iter3,corner_angle_deg150.0): 类Chaikin平滑但保留关键拐点(转角阈值不削角)。 coords: (N,2) 环不含重复闭合点 返回: (M,2) 平滑后环 Pnp.asarray(coords,dtypefloat)protectnp.zeros(len(P),dtypebool)foriinrange(len(P)):aP[(i-1)%len(P)];bP[i];cP[(i1)%len(P)]v1,v2a-b,c-b n1,n2np.linalg.norm(v1),np.linalg.norm(v2)ifn11e-9orn21e-9:continueangmath.degrees(math.acos(np.clip(np.dot(v1,v2)/(n1*n2),-1,1)))protect[i]angcorner_angle_deg# 尖角保护curP.copy()for_inrange(smooth_iter):new[]nlen(cur)foriinrange(n):ifprotect[i%len(protect)]:new.append(cur[i]);continuep0,p1cur[i],cur[(i1)%n]new.append(0.75*p00.25*p1)new.append(0.25*p00.75*p1)curnp.array(new)returncurdefclassify_concavity(coords): 标记每个顶点的内凹/外凸(假设CCW)。返回 1 外凸 / -1 内凹。 用于对内凹(高风险)区域预留更大安全距离。 Pnp.asarray(coords,float)nlen(P)signnp.zeros(n,dtypeint)foriinrange(n):a,b,cP[(i-1)%n],P[i],P[(i1)%n]crossnp.cross(b-a,c-b)# CCW下 cross0 为外凸sign[i]1ifcross0else-1returnsign3.3 立面Zig-Zag航线规划算法对底面闭合轮廓做离散采样计算轮廓弧长建立弧长-平面坐标映射将柱面展开为矩形。Y轴建筑高度X轴沿建筑外壁的环向弧长。在展开矩形生成扫描路径起点矩形左下角向上直行扫描至矩形顶部到达顶部X方向前进一个扫描带宽步进向下直行扫描至矩形底部到达底部X方向继续步进循环直至覆盖整个矩形。逆映射回三维利用弧长反向定位底面位置高度由Y值确定利用多边形外法线向外偏移安全距离得到航点。相机姿态每个航点相机视线指向建筑立面保证影像正对墙面。算法优势扫描行是纯竖向直线照片拍摄方向稳定后期影像拼接、病害识别更友好。核心代码弧长参数化 → 柱面展开 → 竖向往复扫描 → 逆映射法线偏移importmathimportnumpyasnpdefresample_ring(coords,ds): 把闭合环按等弧长 ds 重采样。 返回: samples (M,2), cum_s (M,), total_len, normals (M,2)[向外] Pnp.asarray(coords,float)ifnotnp.allclose(P[0],P[-1]):Pnp.vstack([P,P[0]])# 闭合成环segnp.diff(P,axis0)seg_lennp.linalg.norm(seg,axis1)cumnp.concatenate([[0.0],np.cumsum(seg_len)])totalcum[-1]snp.arange(0.0,total,ds)ptsnp.empty((len(s),2))fori,siinenumerate(s):knp.searchsorted(cum,si,sideright)-1kmin(k,len(seg_len)-1)t(si-cum[k])/max(seg_len[k],1e-9)pts[i]P[k]t*seg[k]# 外法线: 单位切向旋转-90°, 指向CCW轮廓外侧tangnp.gradient(pts,axis0)tang/(np.linalg.norm(tang,axis1,keepdimsTrue)1e-12)normalsnp.column_stack([tang[:,1],-tang[:,0]])# CCW外法线returnpts,s,total,normalsdefplan_facade_zigzag(coords,building_height,scan_step_m8.0,ascend_step_m2.0,safe_dist_m15.0,margin_bottom_m0.0,margin_top_m0.0): 立面竖向 Zig-Zag 牛耕扫描核心。 coords : (N,2) 底面闭合轮廓(CCW) building_height: 立面高度 H (m) scan_step_m : 环向扫描步距(相邻竖向航带间距) ascend_step_m : 同一竖带内上下航点垂直间距 safe_dist_m : 沿外法线向外偏移的安全距离 margin_* : 上下留边 返回: waypoints (K,3) 三维航点, wp_normals (K,2), total_len pts,s,total_len,normalsresample_ring(coords,dsscan_step_m)z_lomargin_bottom_m z_hibuilding_height-margin_top_m z_lo,z_himin(z_lo,z_hi),max(z_lo,z_hi)waypoints,wp_normals[],[]# 沿环向逐条竖带扫描, 相邻带上下方向交替 端点处短步进(牛耕)foridxinrange(len(pts)):basepts[idx]nornormals[idx]upward(idx%20)# 偶带向上, 奇带向下z_levelsnp.arange(z_lo,z_hi1e-6,ascend_step_m)ifnotupward:z_levelsz_levels[::-1]forzinz_levels:wpbasenor*safe_dist_m# 沿外法线外偏移waypoints.append([wp[0],wp[1],z])wp_normals.append(nor)returnnp.asarray(waypoints),np.asarray(wp_normals),total_lendefstep_from_overlap(altitude_agl,fov_deg,overlap0.7,aspect1.0): 由高度和FOV估算步距(替代拍脑袋取值)。 footprint 2*altitude*tan(fov/2); step footprint*(1-overlap) 返回: (行距行向, 列距列向) 单位m footprint2*altitude_agl*math.tan(math.radians(fov_deg/2))returnfootprint*(1-overlap),footprint*aspect*(1-overlap)关键点主航段仅z变化带内base、nor固定严格直上直下换带仅在上下端点做一次环向scan_step_m平移——不是螺旋、不是斜向、不是横向。3.4 最终效果图3.5 人机协同交互设计本方案核心创新点AI优先输出初稿人工做约束AI负责重活轮廓提取、清洗、生成航线人工负责业务决策不用从零打点。分层编辑能力全局参数调整统一修改安全距离、扫描重叠率、飞行速度局部约束人工绘制禁飞区AI自动避让自动裁剪航线。双模式兼容模式A快速模式仅依靠正射影像大模型分割轮廓人工输入高度快速生成航线初稿适合应急巡检模式B高精度模式结合粗建模三维模型读取真实建筑高度自动调整立面起伏适合高精度检测。四、适用场景与边界✅适合场馆、筒仓、矩形高层建筑等竖向立面为主的建筑外观巡检定期外立面病害普查、幕墙巡检。⚠️边界对于极度复杂悬挑结构、大量交叉遮挡建筑仍然需要人工重点干预轮廓和航线。五、方案优势总结贴合一线业务习惯保留轮廓→立面→航线熟悉操作流程AI只做轮廓自动提取学习成本低容易落地降低工作量省去人工描轮廓的重复劳动轮廓初稿秒出只需要少量修正航线成像质量更优竖向直上直下Zig-Zag扫描相机朝向稳定立面影像重叠均匀便于后续AI病害识别场景兼容性更强支持有无三维模型两种作业模式应急巡检和精细巡检都可覆盖安全可控人工拥有最终审核权避免全自动算法在复杂场景下输出危险航线。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑