一只小白的学习自述:如何用OpenMV Cam 点亮机器人双眼。
机器人视觉系统从上世纪六十年代开始研究,伴随着微计算机技术的飞速发展,视觉技术应用到了越来越多的机器人系统。
特别是在无人驾驶和机械臂分拣上的应用
Drive.ai无人车
DoBot机械臂视觉分拣
与计算机视觉不同,机器视觉是一项综合技术,包括图像处理、机械工程技术、控制、电光源照明、光学成像、传感器、模拟与数字视频技术、计算机软硬件技术(图像增强和分析算法、图像卡、 I/O卡等)。同时,机器视觉对视觉信息的处理能力有着较高的要求,如何将这些技术集成到有限空间的机器人系统上,是未来机器人视觉技术发展的重要课题。
今天要介绍的OpenMV Cam H7就是一款小巧,低功耗的微控制器板,可轻松的实现对机器视觉的应用。
提到OpenMV Cam,熟悉视觉处理的朋友都非常熟悉。OpenMV Cam就像是一个超级强大的Arduino,它带有一个用Python编程的摄像头。借助Python强大的库扩展和简洁的语法,我们可以轻松地借助OpenMV Cam实现机器视觉算法,这样就可以在几秒钟内跟踪颜色,检测面部等,然后通过I / O端口实现对机器系统的控制。
同时借助Python较低的学习成本、丰富的库扩展、极其强大的可移植性,可以使得其机器视觉系统的部署更为快速可靠。
人脸识别,瞳孔追踪
颜色追踪,识别
路线寻迹
云台追踪
OpenMV Cam H7可以应用到帧差分、颜色追踪、标记追踪、人脸识别、眼动追踪、光流检测、QR码检测/解码、数据矩阵检测/解码、线性条形码解码、April Tag追踪、线路检测、圆检测、矩形检测、模板匹配、图像捕获、视频录制等领域。
硬件上OpenMV Cam H7搭载了基于ARM Cortex M7的STM32H743VI处理器,处理频率达400MHz,具有1MB的RAM和2MB的flash,所有的I/O口输出3.3V并具有5V的耐压。
OpenMV Cam H7配备的 OV7725图像传感器在分辨率高于320x240时,能够以60 FPS进行拍摄;在640x480 8位灰度图像模式或640x480 16位RGB565图像的模式下,能够拍摄120 FPS进行拍摄,在搭载了FLIR Lepton适配器后还可进行热机器视觉。
当然,作为一个合格的板子,不能扩展怎么可以,为了节约片上I/O资源,OpenMV Cam H7采用了类似于PCB印刷中电路堆叠的设计,可以将扩展模块堆叠在原有的模块上,较好的节省了片上的资源,在实际使用中可以节省机器人系统的空间。
目前常用的扩展板包括了电机扩展板、WiFi 扩展板、LCD 扩展板、连接板扩展板、舱机控制器扩展板。
其中LCD显示器可以直接将镜头图像显示出来,借助WIFI模块可以便捷的实现远程图像的回传。
似乎是为了满足更多场景的需求,OpenMV Cam H7还有更多尺寸的镜头——广角、长焦、红外应有尽有。
当然除了基本的硬件部分,更需要软件来实现人们的想法。OpenMV IDE是专门为OpenMV系列硬件开发的集成开发环境。
对于很多的初学者或者创客而言,OpenMV最令人心动的地方在于可以基于脚本语言Python进行编程,对于传统硬件开发中常用的C++,在编程上Python具有更好的可读性和高效性(当然执行上有着解释型语言天然的弊端)。即使你从未编程,也可以很快入门并读懂代码,可以使得你在保留兴趣的同时很快的开发出一些好玩的东西。
当然对于那些专业人士,OpenMV Cam H7借助其可扩展性、良好的设计、良好移植性的Python也能很好的实现专业的功能。
随着技术的进步,越来越多的模块化平台降低了机器人技术准入的门槛,为普通人学习机器人技术提供了友好的条件。未来,机器人技术会呈现出越来越多元的形态。