知方号

知方号

开源项目分享

作者:孙尹同  黄祖杰

单位:广西大学  机械工程学院

指导老师:李俚

一、视觉识别

1.方案选择

       根据硬件实际需求以及本团队能力需求,视觉颜色的识别是本项目的不可缺少的一部分,方案的选择主要有一下三种类型:

(1)OpenMV

       简单的来说,它是一个可编程的摄像头,通过MicroPython语言,可以实现需求的逻辑,而且摄像头本身内置了一些图像处理算法,很容易使用。

图1.1.1  OpenMV硬件图

        OpenMV适合DIY相关的项目制作,比如追踪小球的车,云台,或者解魔方的机器人。对成本要求很高的嵌入式工业方案,比如流水线物品的分拣。OpenMV不适合复杂的算法:比如OCR识别,车牌识别,猫狗分类,深度学习之类的。

(2)K210

       K210是由一家叫做嘉楠公司在去年推出的一款MCU,其特色在于芯片架构中包含了一个自研的神经网络硬件加速器KPU,可以高性能地进行卷积神经网络运算。在AI计算方面,K210的算力其实是相当可观的。根据嘉楠官方的描述,K210的KPU算力有0.8TOPS ,作为对比,拥有128个CUDA单元GPU的英伟达Jetson Nano的算力是0.47TFLOPS ;而最新的树莓派4只有不到0.1TFLOPS 。

       当然了,这个性能跟某些旗舰级别的SoC还是有差距的:A76级别的CPU本身就已经很变态,更何况旗舰SoC上面都会搭载用于AI加速的硬件用于异构运算,比如高通的Hexagon DSP、苹果的Neural Engine、华为的达芬奇架构NPU等等,这些NPU在某些应用下甚至能达到与数百W功耗的桌面级GPU接近的算力。

图1.1.2  K210硬件图

(3)OpenCV

       OpenCV是一个用于图像处理、分析、机器视觉方面的开源函数库.

       该库采用C及C++语言编写,可以在windows, linux, mac OSX系统上面运行。该库的所有代码都经过优化,计算效率很高,因为,它更专注于设计成为一种用于实时系统的开源库。opencv采用C语言进行优化,而且,在多核机器上面,其运行速度会更快。它的一个目标是提供友好的机器视觉接口函数,从而使得复杂的机器视觉产品可以加速面世。该库包含了横跨工业产品检测、医学图像处理、安防、用户界面、摄像头标定、三维成像、机器视觉等领域的超过500个接口函数。

       同时,由于计算机视觉与机器学习密不可分,该库也包含了比较常用的一些机器学习算法。或许,很多人知道,图像识别、机器视觉在安防领域有所应用。但,很少有人知道,在航拍图片、街道图片(例如google street view)中,要严重依赖于机器视觉的摄像头标定、图像融合等技术。

       根据现实硬件要求,openmv以及K210虽然继承了mirco python识别颜色的函数,但无法根据实际光照强度调整参数,并且无法外加

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。