通过“自动标注 + 人工标注”训练CAD AI的思考
训练 CAD AI,最难的往往不是“模型怎么选”,而是——。在 CAD 场景下,怎么把“人工标记”和“自动标记”结合起来,用最小的人工成本,得到质量足够高的训练数据集,是我们必须要思考的问题。
训练 CAD AI,最难的往往不是“模型怎么选”,而是——标签从哪儿来。
在 CAD 场景下,怎么把“人工标记”和“自动标记”结合起来,用最小的人工成本,得到质量足够高的训练数据集,是我们必须要思考的问题。
1. 先搞清楚:CAD AI 需要什么样的“标签”?
比起图像分类那种“猫 / 狗 / 车”级别的标签,CAD 的标签要复杂得多,大致可以分三层:
1)模型级标签(整体是什么)
-
零件类别:螺栓、支架、壳体、法兰、轴、齿轮…
-
功能用途:承力件、传动件、定位件、密封件…
-
工艺属性:铸件、钣金件、机加工件、焊接件…
-
业务属性:是否标准件、属于哪条产品线、用在哪个总成上…
-
。。。
2)几何 / 特征级标签(局部是什么)
-
某一段圆柱是“轴颈”;
-
这个孔是“通孔 / 盲孔 / 螺纹孔”;
-
某一圈特征是“加强筋”;
-
某些面是“装配基准 / 定位面”;
-
。。。
3)业务语义标签(工程师脑子里的东西)
-
哪些是“可替代零件”;
-
哪些是“高风险特征”(应力集中、加工困难);
-
哪些是“典型设计模式”(比如某个公司惯用的电机支架方案);
-
。。。
这些信息,没有工程师“点头”,AI 是不可能自己悟出来的——至少在相当长一段时间内都很难。
2. 为什么不能只靠自动标记?也不能只靠人工标记?
1)只靠自动:快,省心,但不可靠
在 CAD 环境里,确实有很多“自动”信息可以挖:
-
文件夹路径:
汽车/底盘/悬架/连杆/…; -
文件名:
Rear_Arm_STD_M12_80.SLDPRT; -
CAD 属性:材料、规格、标准号、设计者、创建日期…;
-
PDM / BOM:上级总成、零件号、使用场景。
这些都可以写代码自动抓出来,形成所谓的“弱标签”。
问题是:
-
文件命名不规范、复制粘贴、历史遗留乱七八糟;
-
同一种零件,在不同项目里被叫不同名字;
-
很多属性压根没填,或者填得随意。
自动标记可以“以量取胜”,但不能当做“金标准”。
2)只靠人工:准,但太贵
如果完全靠工程师一个模型一个模型地标:
-
10 万个 3D 模型;
-
每个看 1 分钟,还不算犹豫和讨论;
-
就是 100,000 分钟 ≈ 1667 小时 ≈ 200 个工作日。
现实是:工程师还要干正事,没法全天帮你“做标注员”。
人工标记必须“用在刀刃上”,只做最有价值、机器干不了的那部分。
3. 人机协同方法的思考
用自动标记铺数据量,用人工标记定标准、校错误。
放在一个简化流程里,看起来大概这样:
1)先自动挖“弱标签”
-
从文件名、文件夹、CAD 属性、BOM 等系统里,一次性扫出一堆标签;
-
不要要求“全对”,先把大部分能猜的都猜出来。
2)让工程师在“小样本”上做“精标”
-
选一两千个典型零件,工程师认真标;
-
顺便把“标签体系”讨论清楚:类别名是什么,边界怎么划。
3)用小样本 + 弱标签做一个“初始分类器 / 规则集”
-
比如一个简单的零件分类模型;
-
或者一套基于几何规则的“孔 / 凸台 / 肋板”识别算法。
4)让模型 / 规则去给“大量模型”自动打标签,并给每个标签一个“置信度”
-
例如:“这是连杆类零件,置信度 0.95”。
5)人工只盯住几类“关键样本”
-
置信度低的样本;
-
业务价值高的样本(关键零件、常用件);
-
模型看起来“很不确定”的边界情况。
6)把人工修正过的结果再喂回去,迭代一轮训练
-
越训越准,人工工作量越来越小。
7)整个过程持续迭代
-
每次多一点新数据、新标签,就继续跑这一套。
这其实就是一个半监督 / 弱监督 + 人工校正的闭环。
4. 自动标记
CAD 场景里,可用的“自动标签来源”,大致有这些:
1)从文件夹 / 文件名里挖分类
成本极低、覆盖率高、错误也不少,但非常适合做“第一轮粗标签”。
2)利用 CAD 自带属性和 PMI
很多 CAD 模板里已经约定了属性字段,比如:
-
材料;
-
标准号;
-
重量;
-
版本;
-
公差、表面粗糙度(语义PMI);
-
。。。
代码可以把这些字段全部读出来,直接作为标签或特征。
3)利用 PLM / ERP / BOM 的结构关系
这些系统里通常有:
-
产品树;
-
总成 / 子总成 / 零件之间的装配关系;
-
零件在不同型号中的使用频率。
这些都非常有价值,需要和企业现有系统做集成。
4)几何规则 + 脚本:自动识别基础特征
如果我们有访问 BREP / 拓扑结构的能力,可以写一套简单规则,例如:
-
检测所有“圆柱面 + 贯穿两个平面”的结构 → 候选“通孔”;
-
圆柱面 + 一侧封闭 → 候选“盲孔”;
-
一个边界上连续的圆角面 → 候选“倒角 / 圆角”;
-
一组平行加强肋 → 候选“加强筋”。
或者通过功能强大的商用文件解析器,可在解析3D模型文件时获取特征树。这类“特征级标签”,人工逐个标不现实,但用程序识别出来,再由工程师抽检、修正,成本就可控了。
5)聚类 / 相似度:帮你“捆绑标注”
如果我们已经能算模型之间的“相似度”(比如基于 BREP 编码、图结构、专用AI小模型等),可以先做一件事:
-
把相似度高的一堆零件分成一簇一簇;
-
人工只需要给“这一簇”起个名字,一次标几十个。
对于 CAD 这种专业领域来说,模型选型、算法框架当然重要,但往往不是决定性的。真正拉开差距的是:
-
谁有更成体系的标签标准;
-
谁把“自动 + 人工”结合得更顺;
-
谁能把工程师的经验持续沉淀到标签里。
如果我们准备做自己的 CAD AI,可以尝试落地的三个动作:
-
先写代码或者脚本,把现有CAD / PDM里的“弱标签”挖出来;
-
动员 2–3 个最懂业务,愿意配合的工程师,花一两周时间,把标签体系和标注规范定下来;
-
做一个简单、顺手的 3D 标注小工具,把“精标 + 复核 + 抽检”这套流程跑起来。
我大胆的预估CAD AI 的 80%工作和成本在“标签工程”,只有 20% 在“算法工程”。模型可以慢慢换、慢慢升级,但这套“标签生产线”一旦跑通,就是自己的 CAD AI 长期护城河。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)