理解 OpenScan,最有用的方式是从它不会产出什么开始。这台机器不会用激光扫过物体并直接输出带尺寸的表面模型;它让小件物体依次转到预定视角,控制相机与光线,并拍下一组照片。摄影测量软件随后尝试根据多张照片中反复出现的特征,推断相机位置和三维结构。[4][5]
这道边界决定了项目为何值得关注,其意义远超过一则附带的免责声明。OpenScan 把小物件摄影测量中繁琐的物理环节——可重复运动、均匀照明、相机触发和图像收集——整合为一套便于查验的采集系统。它的固件与可打印机械文件已经公开,不过项目方自己的说明指出,可选云服务以及可直接用于量产的 PCB 文件没有开放。因此,判断哪些部分“开放”,要逐一查看组件;整个工作流程不能笼统盖上同一枚印章。[1][3][9]
得到的图像集既可进入托管重建流程,也可交给本地工具。用户可以更换相机、打印另一种机架、选择别的重建引擎,也可以把原始照片作为持久保存的采集成果。[1][3][8]
封面直接呈现 OpenScan Classic,没有使用抽象的“3D 扫描”图形。裸露的齿轮、打印支架、转台、电路板和测试物件,共同构成了它的架构。OpenScan 当前产品页称,其工作空间约为每边 17 厘米,支持 Raspberry Pi 相机和多种 USB 控制的 DSLR;经过更多调试,也能使用由遥控快门触发的其他相机。[2] 这是一件桌面仪器,采集架构以清楚可见的实体形式存在。
两台电机换来覆盖度,换不来真值
Classic 版本使用两台 NEMA 17 步进电机:一台驱动转台,另一台改变转台相对于相机的角度。Raspberry Pi 与 Pi Shield 协同控制这两台电机、环形灯和相机。官方物料清单要求使用容量大于 16 GB 的 microSD 卡,并将支持自动对焦的 Arducam IMX519、较早的 Pi 相机模块和受支持的 DSLR 列为采集选项;机架与齿轮均有可打印文件。[3]
操作者在同一网络内通过浏览器选择扫描设备与相机配置,预览物件,调整光线和构图,再启动拍摄程序。文档建议第一组数据包含 50–100 张照片。[4] 自动化之所以重要,在于摄影测量依赖图像重叠与一致曝光。人一旦疲劳,手持相机时容易改变距离、漏拍底部、投下阴影,或在相邻视角尚未共享足够细节时便停止拍摄。设备用一套可重复的运动序列逐一覆盖视角,从而减少这些失误。
不过,可重复运动本身不等于测量。步进计数只能表明设备尝试到达的位置,无法证明每张照片都清晰、物件始终稳坐原位、打印齿轮没有回差,或相机捕捉到了足够稳定的纹理。增加照片数量也救不了质量糟糕的数据集。对于抛光表面,反光在 100 张照片之间不断游移;这些照片能提供的有效对应关系,反倒少于一组数量较少、清晰呈现石块纹理的照片。
采用 OpenScan 时,首先需要认清这一点:它自动化的是采集几何,重建出的几何是否真实仍需另行验证。严谨的流程还要检查对焦与曝光,保留原始照片,测试重复性,并用已知尺寸或参照物比对结果。
表面也是输入的一部分
摄影测量需要能够在不同视角之间反复识别的特征。OpenScan 的实用指南把理想表面描述为:拥有数千个各不相同、随机分布且对比鲜明的特征,同时没有镜面高光或模糊区域。木纹和有纹理的石材常能凭天然表面完成匹配。表面单一的塑料、光亮金属、透明材质和亮光漆处理起来更困难;匹配算法有时拿不到足够的稳定信息,有时又会把随观察角度变化的反射误认成物体特征。[5]
设备的照明系统只能处理其中一部分问题。交叉偏振能够压低眩光;处理后,有些塑料表面虽然原先看来细节丰富,实际纹理却近乎均匀。文档随后演示了可移除的扫描喷雾或粉笔喷雾,用细密的随机图案为重建软件提供追踪线索。[5]
这种干预会带来后果。可替换的机器零件通常经得起喷涂,彩绘微缩模型、考古遗存表面、法证物件、食品样本或脆弱馆藏品却未必能接受涂层。物件若不稳定,或必须保持取证所需的朝向,旋转也会受到限制。公开、便于查验的设计消除不了这些专业约束。它能帮助操作者看清约束来自哪里:物件若无法安全搬动、增加纹理、照明或旋转,这种采集方法便未必合适。
网格诞生于机器之外
采集完成后,重要的输出是一组彼此重叠的图像。重建软件会检测特征,在不同视角间匹配它们,估算相机位姿,先生成稀疏表示,再生成更稠密的表示,最后导出网格与纹理。Hackaday 的一篇独立操作记录也给出了相同分工:OpenScan 提供高度受控的源照片,随后可送往可选的 OpenScan Cloud 服务,也可在 Meshroom 等软件中处理。[8]
把这次交接写清楚,可以避免一种常见的采购误解。“开源扫描仪”并不能保证每条便捷的端到端流程都能在本地运行、完全开放、没有服务限额,或由用户掌握运维。OpenScan 发布了采用 GPL 许可证的固件、可打印机械设计和接线资料;其项目说明同时写明,OpenScanCloud 属于闭源服务,可直接用于制造的 PCB 文件也未公开。云端服务是可选项,照片集也能交给其他工具,但托管式重建依旧是一项外部依赖,随之而来的还有可用性、隐私、排队和持续运营问题。[1][8][9]
对只想扫描一个模型的业余爱好者来说,云处理有时是最省事的路线。博物馆、实验室、维修店,或处理机密零件的公司,往往会要求本地处理和成文的数据保留政策。这项选择只是转移成本,成本不会消失:本地摄影测量往往要投入大量算力、存储空间、调试精力与操作时间。真正可移植的契约是图像集;两个重建引擎能否产出相同网格,并无保证。
尺度是另一项下游责任。OpenScan 的质量文档对此格外直白:常规摄影测量模型不会天然带有准确的绝对尺度。项目示例使用参照尺寸,或在 CloudCompare 中配准以设定尺度;文档也提到,已知相机位置或标记点能够提供其他尺度信息。[6] 因此,视觉上十分可信的模型,尺寸依旧未必准确。制作替换零件或报告测量结果时,应当用可追溯的参照物核验各轴与距离,表面细节本身不能证明计量准确性。
公开硬件也有版本之分
OpenScan 这个名字涵盖一组相互关联的项目,产品形态没有冻结在某台设备上。项目目前的 GitHub 概览把 openscan.eu 维护的 OpenScan Mini 和 Classic v1 硬件与社区变体分别列出,并提醒读者,各版本零件无法全部交叉兼容。概览还将套件随附的 OpenScan2 标为稳定固件,将 OpenScan3 标为仍在积极开发的 beta 版本。[1]
版本区别比追逐最新分支更值得重视。OpenScan3 自己的 README 把它称为面向标准和定制摄影测量设备、便于改造与扩展的基础平台,同时注明项目仍在开发,尚未达到生产可用状态。推荐镜像要按相机型号选择,警告写得很直接:选错相机镜像存在损坏硬件的风险。[7]
采用者应记录一套完整且可复现的组合:机架修订版、打印件套装、Shield、电机驱动器、相机与镜头、偏振片、固件镜像、配置、重建引擎和校准物件。实验记录或支持请求里只写“做了一台 OpenScan”,信息远远不够。公开文件让维修与修改有据可循,各种改版仍不等同。
维护状态释放出积极信号,同时界限清楚:稳定固件已经存在,项目组织明确列出其支持的硬件,下一代代码也在达到生产可用标准前公开。[1][7] 这些限制不构成放弃项目的理由。可靠任务可以沿用稳定路线;beta 路线则放在备用镜像和非关键硬件上评估,并以其扩展能力确实解决具体问题为前提。
先把一个能说实话的测试件放上工作台
第一次试验应避开展示用的光亮样品,也暂且放下那个原本用来证明采购必要性的物件。先选一个尺寸较小、表面无光、纹理丰富,并能轻松放入采集空间的物件,再选定一个可用卡尺复核的参照尺寸。保存未经改动的照片集。完成一次重建,依据参照设定尺度,检查孔洞和双层表面;随后取下物件,重新放置,再拍一组。两份网格之间的差异,比最漂亮的截图更能说明整套流程的表现。
下一步,再测试项目实际会遇到的困难物件:单色打印件、抛光紧固件、存在深层遮挡的微缩模型,或不能喷涂的物品。记录究竟是哪项干预让流程奏效——偏振、表面处理、更换相机、补充拍摄角度——也要如实记下它是否仍不适合这套方法。这样便能看清“扫描”一词背后的成本:准备、采集、重建、清理、定标、验证和安全操作。
OpenScan 适合重视机械装置可检查性、组件可替换性和源图像所有权的创客、文物保护人员、教育工作者、小型实验室与维修流程。若需求是经过认证的尺寸检验、无人值守的生产吞吐、运动物体的即时采集,或不得接触且表面条件又不利于摄影测量的物件,它的适用性就会下降。这些限制来自仪器类别的分野,与文档是否完善无关:一边是可以灵活调整的相机机器人,另一边是不同门类的仪器。
这个项目最有力量的想法其实朴素而持久。它坦然承认,仅凭一个打印机架,重建不会自动完成,测量也不会自动可信。它用一套严谨的方法让照片稳定地产生,同时保留足够多的开放部分,让操作者决定这些照片接下来去往何处。
来源
- OpenScan GitHub 组织页——维护中的硬件与社区硬件变体、固件状态、兼容性警告、文档和代码仓库索引。
- OpenScan,“OpenScan Classic”——当前产品照片、采集空间、相机选项、浏览器控制、可打印零件和附带条件的精度说明。
- OpenScan 文档,“OpenScan Classic”——物料清单、双电机机构、Pi Shield、相机连接、组装流程和可打印设计文件。
- OpenScan 文档,“固件使用”——本地界面、扫描设备与相机选择、照明和裁切控制,以及建议的首组照片数量。
- OpenScan 文档,“摄影测量基础”——特征、眩光、对焦、表面处理、照明和交叉偏振限制。
- OpenScan 文档,“3D 扫描质量”——绝对尺度限制、参照定标、网格示例和相机对比。
- OpenScan 贡献者,“OpenScan3”——开发状态、安装方式、相机镜像警告、本地网页界面、API 范围和 GPL-3.0 许可证。
- Donald Papp,《实拍 OpenScan DIY 3D 扫描仪》,Hackaday,2024 年 2 月 19 日——对采集流程、小物件适用边界和重建选项的独立记录。
- Thomas Megel,《OpenScan 是开源项目吗?》,OpenScan Blog,2024 年 2 月 26 日——逐项说明固件、可打印设计、PCB 材料和闭源的可选云服务。