事情是这样的
上个月一个做设备管理的朋友找到我,说他们车间有三四十年的老设备档案室,里面堆了三百多张纸质电路图。有些图纸比我的工龄还老,纸都发黄了,折痕处裂开了口子。这些图纸当年都是手绘的,后来有些用CAD重新画过,但大部分还是原始状态。
“再放下去这些图纸就废了,”他说,”能不能想办法把这些纸上的东西弄到电脑里?”
我心想,扫描成PDF不就行了?他说客户需要的是能编辑的电子版,因为后续设备改造要在原图上改。如果是PDF,改造时还得重新画一遍。那就意味着要做图纸矢量化——把扫描件里的线条、符号、文字都识别出来,转成CAD能打开的格式。
说实话,我一开始想的是找绘图公司外包。一问价格,一张图少说50块,三百张就是一万五,而且周期至少一个月。工厂那边预算就八千,还要两周内搞定。难搞。
试了传统OCR,效果一言难尽
我先试了传统的套路:扫描仪扫成300DPI的TIFF,然后用市面上常见的图纸矢量化软件跑一遍。结果怎么说呢——图面干净的大型配电系统图还行,但那些老旧的手绘图纸、有折痕污渍的、上面还有手写批注的,识别出来简直没法看。线条断断续续的,虚线和点划线全变成了实线,标注文字东倒西歪。
我对着软件生成的DXF文件看了十分钟,最后得出结论:这玩意比我手画还慢。因为每一根线都要手动检查和修正,三百张图干完我头发也掉光了。
转机:用大模型做”预处理”
后来跟一个做计算机视觉的朋友聊,他说你为什么不试试先用AI做一遍图像增强和去污,再走矢量化流程?
我一拍脑袋。对啊,现在的AI图像模型处理这类问题简直就是降维打击。我搭了个简单的流程:
第一步:把扫描件丢给图像AI模型做超分辨率重建和去噪。纸质图纸上的折痕、污渍、泛黄底色全给清了,线条边缘锐化到像刚打印出来的效果。
第二步:用大模型视觉能力做语义识别——让AI识别出图纸里的电气符号(接触器线圈、继电器触点、热继电器、按钮等等),标注出每个符号的类型和位置。这一步其实是最关键的,因为传统的矢量化软件根本不理解”这是个接触器”,它只知道”这是一堆黑色像素”。
第三步:把AI标注好的图像再走矢量化流程,这次识别率高了不知道多少倍。
第四步:最关键的一环——让大模型读取识别后的结果,把文本标注、接线编号、线径标注这些信息归位。老图纸上很多手写体标注,传统OCR识别率不到六成,但大模型看图识字的准确率能做到九成以上。
真正干了才知道坑在哪
听起来挺简单是吧?真正上手干的时候,坑一个接一个。
第一个坑:图纸方向不统一。三百张图纸里,有的横着扫的,有的竖着扫的,有的歪了五度。我一开始没在意,结果AI识别出来的符号坐标全是偏的。后来写了个自动矫正脚本,先检测图纸边框,再根据边框角度做旋转校正。
第二个坑:不同年代的图纸符号标准不一样。七八十年代的国产图纸用的还是老国标,跟现在的符号差别很大。比如老图纸上的”停止按钮”符号画法是开口的,新标准是闭合的。AI一开始把老符号全识别错了。后来我给AI喂了二十张老图纸做样本,把老符号和新符号的对应关系告诉它,才慢慢准确起来。
第三个坑:图纸上的手写修改记录。很多图纸上都有工程师用红笔蓝笔做的修改标记——划掉一根线、在旁边画个新的、写上”改这里”之类的备注。AI一开始把这些手写标记也当成图纸内容去识别,结果生成的CAD图里多了莫名其妙的线条和文字。后来我在提示词里专门加了一句”忽略手写批注和修正标记”,效果好了不少,但有些写得潦草的还是被识别进去了,最后只能人工再过一遍。
第四个坑:图层管理。传统图纸没有”图层”的概念,所有东西都在一张纸上。但CAD里如果你不分层,后面改图的人会疯掉。我在AI识别的输出端做了个后处理——把动力线、控制线、标注文字、符号分别放到不同图层,颜色也按行业习惯分好。这个步骤虽然花了不少时间,但做完了客户赞不绝口。
花了多少钱,用了多少时间
整个项目实际干了9天,比我预计的两周还快了5天。成本账是这样的:
· 扫描仪是工厂自有的,不用花钱
· AI大模型的API调用费,三百张图加起来大概花了380块(主要是超分辨率重建和视觉识别)
· 矢量化软件用了开源的方案,零成本
· 人工检查和修正花了我3天时间
折下来每张图的处理成本不到两块钱。比外包省了将近一万二。而且最后交付的是带图层的DWG文件,客户直接在原图上改起来很顺手。
当然,说实话,识别率不是100%。纯手绘的老图纸,识别准确率大概在85%左右。那些当年就是用CAD打印出来的图纸(扫描件质量好的),识别率能到95%以上。剩下的误差全靠人工修正。但三百张图你让我纯手工画,半年都画不完。现在9天搞定,我觉得很值了。
给想干这活的兄弟们几个建议
如果你也遇到类似的需求,有几点过来人的经验:
1. 别上来就干,先分类。把图纸按年代、绘制方式(手绘/CAD打印)、图纸类型(原理图/接线图/布局图)分好类。不同类型的图纸,AI的处理策略完全不一样。我一上来没分类,结果走了弯路。
2. 样本很重要。如果你要处理的图纸风格统一,先挑5-10张典型的,手工做标注作为样本,喂给AI做few-shot学习。这一步花的时间在后面三百张图里会十倍省回来。
3. 建立质量检查点。我每处理50张图就停下来抽检5张,看看识别质量有没有下滑。有一次发现忽然变差了,查了半天是扫描仪进纸器脏了,后面的图纸都有条纹。
4. 别迷信全自动。AI目前还做不到全自动把老图纸转成完美的CAD。它能帮你省掉80%的工作量,剩下20%的修正工作必须人工做。最合理的模式是”AI处理+人工校对”。
5. 留好原始档案。每张原图扫描件按编号存档,生成的CAD文件跟原图扫描件放在同一个文件夹里,命名一致。后期改图的时候,方便对照原图确认有没有识别错误。
最后说两句
这个项目做完之后我就在想,类似的事情在工厂里其实到处都是——老旧的纸质档案、老师傅脑子里的经验、手写的设备台账。以前要数字化这些东西,成本高得离谱。但现在AI工具越来越便宜,越来越顺手,很多以前”想做但做不起”的事情,现在可以搞了。
我下个项目准备试试用同样的思路处理设备铭牌和说明书——把几十本厚厚的老设备说明书扫码让AI提取关键参数和维修数据。如果搞成了再来跟兄弟们汇报。
你们厂里也有这种压箱底的老图纸吗?是怎么处理的,还是干脆就一直压箱底了?评论区聊聊。