laya-opencv 项目地址 判定模型的本地工作台和一键安装包,支持 Windows 和 Linux ,界面有中文和英文两个版本。2.0 起加入视觉检测:用 OpenCV 看图和测量,用判定模型下结论,可以用在农业和质检场景。 Laya 和 TypeSafe 的 Jev 都是判定模型:给它一段素材( state )和几道题,它返回每道题的概率分布,而不是生成文本。这个项目把本地 Laya 的安装、启动和一个网页工作台打包在一起,同一份请求可以发给本地模型,也可以发给远程的 Jev 接口。 判定模型只读文本,看不了图。视觉检测的做法是把两者接成一条流水线: 图像 → OpenCV 分割、识别、测量 → 数值层(硬规则,写成文字)→ 判定模型 → 规则与模型交叉核对 → 结论 上图是「只按规则裁决」模式下的钢管质检,图片是程序合成的示例图。 功能 一键安装:自动建虚拟环境,按显卡情况安装 PyTorch 和 laya[serve] ,以及视觉组件( OpenCV ,可选) 视觉检测:上传图片、摄像头拍照或用示例图,按检测方案量出面积、数量、长度、占比,再逐题给出结论 五个内置检测方案:水果采摘、杂草灭除、害虫监测、钢管质检、纺织物质检;方案是 JSON 文件,可以在页面上改 数值层:数字相关的结论由硬规则决定,模型的答案用来交叉核对;冲突、临界、低置信度时提示人工复核 模型训练:在页面上按类别上传样本,训练出给区域分类的识别模型( OpenCV 的 cv2.ml ,CPU 上几秒到几十秒) 数字自检:自动生成阈值两侧的边界用例,实测判定模型对数字的判断力 自动更新:每次启动检查 Laya 有没有新版本,有就自动升级,升级后起不来会自动回退 网页工作台:素材支持文本、JSON 对象、消息列表;题目支持是非、单选、打分 多种接口:自动、本地 Laya 、TypeSafe 官方、 aiask.me 网络加速,以及任何提供 /v1/systemone 的第三方接口 密钥在页面上添加、修改、删除,只保存在本机 远程接口失败时自动切换,批量请求自动拆成逐条调用 中文、英文两种界面,页面右上角随时切换 8 个内置示例(中英文各一套),往 examples/ 里放 JSON 文件即可增加 结果、原始响应、请求 JSON 、代码片段( curl / Python / JavaScript )、历史记录、调试面板 启动器只用 Python 标准库;视觉组件只依赖 OpenCV 和 numpy ,不装也不影响文本判定 安装和启动 从 Releases 页面下载最新的安装包。 Windows 解压 laya-opencv-.zip 到一个固定位置,例如 D:\laya-opencv 双击 install.bat ,等它跑完 双击 start.bat ,浏览器自动打开 http://127.0.0.1:8090 Linux tar -xzf laya-opencv-.tar.gz cd laya-opencv bash install.sh bash start.sh 需要 Python 3.10 或更高版本。Debian / Ubuntu 先执行 sudo apt install python3 python3-venv 。 没有桌面的服务器,在自己的电脑上开一个 SSH 隧道,再用本机浏览器打开 http://127.0.0.1:8090 : ssh -L 8090:127.0.0.1:8090 用户名 @服务器地址 首次启动要下载本地模型( multilingual 约 650 MB )。页面左上方显示「本地 Laya 已就绪」后就可以运行。关闭启动窗口或按 Ctrl+C 即停止全部服务。 只用远程接口 不想在这台机器上装本地模型时,先把 config.example.json 复制为 config.json ,把 install_local_laya 和 start_local_laya 改成 false ,再运行安装脚本。这样会跳过 PyTorch 和 Laya ,只装视觉组件(约 80 MB )。连视觉检测也不需要的话,把 install_vision 也改成 false ,几秒钟装完。 视觉检测 页面顶部有三个页签:「文本判定」是原来的工作台,「视觉检测」和「模型训练」是新增的。 用法 打开「视觉检测」,选一个检测方案 选择图片、用摄像头拍一张,或者点「示例图」先试一遍 点「检测」。右边依次是:结论、测量与区域、发给模型的素材与题目、原始响应、数字自检 没有判定模型(没装本地 Laya 、也没有远程密钥)时也能用:勾选「只按规则裁决」,或者直接检测,绑定了规则的题目照样有结论。 内置检测方案 方案 量什么 规则判什么 水果采摘 成熟色占比、病斑占比、果径 是否采摘、果实等级 杂草灭除 行间杂草的覆盖率、株数、密度 是否除草、处理方式 害虫监测 粘虫板上的虫口总数、大型虫体数量、密度 是否防治、防治等级 钢管质检 划痕长度、凹坑数量、锈蚀占比 合格 / 让步接收 / 不合格 纺织物质检 缺陷数量、最长缺陷、破洞面积 合格 / 降等 / 不合格 每个方案另有一两道没有绑定规则的题目(例如「这个果实最合适的去向」「应该怎么处理」),由判定模型综合素材来回答。 内置方案的阈值是演示用的,不是任何行业标准;分割参数是按合成示例图调的。用在真实场景前,请用自己的图片调整参数,把阈值换成自己的标准。方案的完整写法见 docs/vision.md 。 数字是怎么保证的 判定模型读的是文本,不做算术,输出也只有是非、单选和打分三种。所以数字相关的结论不交给模型去猜: 规则来算 :每个阈值比较都由代码完成,测量值先四舍五入到规定的小数位,显示的数和拿来比较的数是同一个 写成文字 :交给模型的素材里,数字旁边带着比较结论,例如 99.3 %(≥ 70 %:是,高出 29.3 ) ;题目里的判定标准用同样的写法,逐条对得上 规则裁决 :题目绑定硬规则后,以规则的结果为准,模型的答案只用来核对 提示复核 :规则与模型不一致、测量值落在临界带内、模型置信度低、图像模糊或过暗过亮时,结论会标成「建议人工复核」 实测而不是假设 :「数字自检」会在每个阈值两侧生成边界用例,同一批用例分别以「只给数值」和「带比较结论」两种写法交给模型,报告它和规则的一致率。一致率不够高的题目应保持规则裁决 自检结果取决于你用的模型和版本,请以本机跑出来的为准。自检用例和人工复核记录可以导出成 {state, questions, gold} 的 JSONL ,供以后微调使用。 训练识别模型 传统算法能量颜色、面积、形状,但认不出「这是哪种虫」「这是哪类缺陷」。「模型训练」页用来补上这一步: 新建数据集,按类别上传图片(也可以在检测结果里勾选区域直接加入)。每类至少 2 张,建议 30 张以上 选特征(颜色、纹理、轮廓梯度、形状与大小、深度特征)和分类器( SVM 、随机森林、K 近邻),点「开始训练」 看交叉验证的准确率和混淆矩阵 在检测方案的 pipeline 里加一步 {"op": "classify", "model": "模型名字", "


  • 情报分类:服务器与云资源
  • 分类依据:内容涉及服务器、云资源或网络线路
  • 信息来源:服务器 / V2EX
  • 发布时间:2026/10/5 19:08:34