[P] 构建了一个100%客户端视觉流水线,用于实时棋盘与多棋盘检测(Chrome/Firefox扩展) [P]
摘要
已开发名为ChessInsights AI的浏览器扩展,使用100%客户端计算机视觉进行实时棋盘检测与分析,通过在本地处理所有数据确保隐私,无需服务器上传。
大家好,受Chessvision.ai等工具启发,我采取了不同的架构方法,构建了一个浏览器扩展(ChessInsights AI),使用本地推理进行100%客户端的棋盘检测和棋子识别——图像数据从不离开用户设备,支持在单帧中检测多个棋盘,且所有功能完全免费。主要目标是将被动棋类内容(YouTube、Twitch、PDF、文章)与主动引擎分析无缝结合,无需切换上下文:只需点击几下即可捕获屏幕内容并获取FEN字符串和引擎评估。
**系统架构与技术方法**
**按需捕获(多棋盘支持):** 扩展不是持续采样视频帧,而是通过浏览器的tab-capture API捕获当前可见标签页的截图,由用户触发(例如一键点击当前视图的“分析”,或使用“照片模式”绘制选择矩形裁剪特定区域)。该截图被送入本地运行的对象检测神经网络(基于YOLO架构,使用TensorFlow.js,WebGL/CPU后端),输出棋盘形状区域的边界框和置信度分数,并经过非极大抑制过滤。由于检测在整个帧上进行而非假设单个棋盘,它可以在一次截图中找到并返回多个不同的棋盘(例如,多图表PDF、新闻文章或广播分屏)。目前,棋盘预期为大致轴对齐的矩形(计划实现严重倾斜棋盘的透视/单应性校正)。
**棋子分类与伪影鲁棒性:** 每个检测到的棋盘被裁剪,分成8x8网格,64个单元格中的每个都被送入单独的本地CNN分类器(同样使用TensorFlow.js)以预测棋子类型或空格。为了处理视频压缩噪声、流媒体叠加层、箭头以及不同的2D/3D棋盘主题,分类器在训练时使用了针对UI伪影和低分辨率捕获的增强数据。
**一切在浏览器内运行:** 检测和分类模型完全在扩展内运行(在Chrome MV3的离屏文档中),通过TensorFlow.js——没有任何图像或帧数据发送到服务器。位置分析使用编译为WebAssembly的Stockfish,在本地Web Worker中运行,因此引擎评估也完全离线进行。结果被转换为FEN字符串,并在扩展的仪表板/棋盘编辑器中显示,您可以在此与本地引擎对弈。
**与现有工具的关键差异**
- **设计即隐私:** 没有任何棋盘图像或视频帧上传——检测、分类和引擎分析均在您的设备上本地运行。
- **多棋盘处理:** 原生支持同时捕获多个图表。
- **零成本/无付费墙:** 开箱即用提供完整功能集。
我很想从社区收集关于客户端视觉优化的技术反馈!对于那些构建浏览器CV工具的人:在处理实时帧解析中的压缩伪影和叠加遮挡时,什么边缘情况增强策略或轻量级架构对您最有效?
相似文章
在浏览器中自动检测AI文本(5分钟阅读)
本文详细介绍了Deckard的创建,这是一款Chrome扩展,利用本地AI模型自动检测浏览器中的AI生成文本,包括各种模型在效果和隐私方面的基准测试比较。
我制作了一个工具,让编程代理能够看到你的浏览器!
一个Chrome扩展,让编程代理(LLM)能够查看浏览器,无需无头浏览器即可迭代设计。
@N3sOnline: 使用了 @mattpocockuk 的 /teach 技能,并让它访问一个国际象棋引擎和API来获取我最近的所有对局。现在它……
一位用户演示了如何利用自定义AI技能,结合国际象棋引擎和游戏API来获取近期对局,进行分析,并生成带有交互式视觉和谜题的个性化课程。
@evanyou: https://x.com/evanyou/status/2060409444123729935
一位开发者分享了一个有趣的案例:在浏览器中运行LLM以检查其内部工作原理,强调了客户端AI的一个有意义场景。
我给 AI 代理在我的电脑上装上了“眼睛”
作者介绍了 Pupil,这是一款开源工具,使 AI 代理能够视觉检查 PC 用户界面并识别点击目标,而无需依赖截图。