要实现一个 AI 程序,能够操控鼠标、截取屏幕、识别刀路(CNC 加工路径)、根据规则顺序点亮刀路,这实际上是一个典型的“视觉-语言-动作”闭环系统。该系统融合了图像识别、多模态大模型推理、以及自动化控制三大模块。下面我将从整体架构、关键技术选型、核心 Prompt 设计、以及具体实现建议四个方面进行详细说明。
一、整体系统架构
整个系统可划分为以下四个层级:
- 屏幕捕获层:使用
pyautogui.screenshot()或OpenCV+mss实时截图; - 图像理解层:利用多模态大模型(如 Qwen3-VL-30B)对截图中的刀路图进行语义解析;
- 规则推理层:通过精心设计的 Prompt 引导 AI 按照加工逻辑(如“先外轮廓后内腔”、“由粗到精”等)生成刀路执行序列;
- 动作执行层:使用
pyautogui控制鼠标依次点击/高亮刀路节点。
此架构与文献
12
中提到的“让工业图纸开口说话”的思路高度一致——不是简单 OCR 提取线条,而是让 AI “理解”刀路背后的工艺意图。
二、关键技术选型建议
1. 屏幕截图与预处理
- 使用
mss库高效截屏(比pyautogui更快); - 若刀路图来自 CAM 软件(如 Mastercam、UG),可直接导出为高清 PNG/PDF,避免屏幕反光或 UI 干扰;
- 可加入超分辨率(如 Real-ESRGAN)提升老旧图纸清晰度
12
。
2. 刀路识别模型
- 首选 Qwen3-VL-30B:支持高分辨率输入,能理解 CAD 图纸中的几何关系、标注、图层语义
12
; - 替代方案:若无 API 权限,可用开源模型如Donut或Pix2Struct微调刀路识别任务;
- 不推荐纯 OCR + 规则引擎:无法处理手绘草图、模糊扫描件或多图层叠加场景
12
。
3. 鼠标控制
- 使用
pyautogui实现点击、移动、拖拽; - 若需更高精度(如亚像素定位),可结合 OpenCV 模板匹配二次校准坐标
1
。
三、核心 Prompt 设计(刀路寻找规则)
这是整个系统成败的关键。Prompt 必须明确告诉 AI:
- 什么是刀路(连续的加工轨迹线);
- 加工优先级规则(工艺知识);
- 输出格式(结构化坐标序列)。
示例 Prompt(适用于 Qwen3-VL-30B):
text
编辑
你是一位资深 CNC 工艺工程师。请分析这张刀路图(G代码可视化结果或CAM软件截图),并按以下规则生成刀具路径的执行顺序: 【规则】 1. 优先加工外轮廓,再加工内腔; 2. 同一类特征中,先加工大尺寸特征,再加工小尺寸特征; 3. 孔加工按直径从大到小排序; 4. 避免空行程过长,尽量就近连续加工; 5. 若存在多个独立区域,按从左到右、从上到下的阅读顺序处理。 【输出要求】 - 识别所有刀路起点(用红色圆圈标记的位置); - 按上述规则排序,输出一个有序列表; - 每项格式为:{"step": 1, "x": 120.5, "y": 85.2, "type": "outer_contour"} - 坐标单位为像素,原点在图像左上角; - 若无法确定类型,标注为 "unknown"; - 不要解释,只输出 JSON 列表。这种 Prompt 结构借鉴了
12
中“提问即编程”的思想——通过自然语言注入领域知识,引导模型做专业推理而非简单图像标注。
四、实现流程与代码框架
python
编辑
import pyautogui import mss import requests # 假设 Qwen3-VL-30B 通过 API 调用 import json # 1. 截图 with mss.mss() as sct: screenshot = sct.grab(sct.monitors[1]) screenshot.save("toolpath.png") # 2. 调用 AI 模型 response = requests.post( "https://api.qwen.ai/v1/vl", headers={"Authorization": "Bearer YOUR_KEY"}, files={"image": open("toolpath.png", "rb")}, data={"prompt": YOUR_PROMPT_ABOVE} ) # 3. 解析刀路序列 toolpath_seq = json.loads(response.json()["text"]) # 4. 逐一点亮(模拟点击) for step in toolpath_seq: x, y = step["x"], step["y"] pyautogui.moveTo(x, y, duration=0.2) pyautogui.click() pyautogui.sleep(0.5) # 模拟加工停顿注意:实际坐标需根据屏幕 DPI 和图像缩放比例进行映射
2
。
五、进阶优化方向
- 动态反馈学习:若 AI 点错位置,人工纠正后将
(图像, 正确序列)作为新样本微调模型11
; - 多图联动:同时上传“刀路图 + 工件3D视图”,让 AI 验证路径是否干涉
12
; - 安全机制:加入“确认弹窗”防止误操作真实机床(仅用于仿真环境);
- 集成 CAM 软件插件:直接读取 .dxf 或 .nc 文件,跳过截图步骤,提升精度。
总结
你提出的“AI 自主点亮刀路”本质上是智能制造中“感知-决策-执行”闭环的微型实现。借助 Qwen3-VL-30B 这类多模态大模型,我们不再需要手动编写复杂的图像处理规则,而是通过自然语言注入工艺知识,让 AI 像老师傅一样“看图识路”。配合pyautogui的自动化控制,即可构建一个低成本、高智能的刀路验证助手。
正如
11
所述:“AI 让设备拥有了火眼金睛和智慧大脑”——你的项目正是这一理念的绝佳实践。