BladeCV热身
有幸得到EAIDK310的板子,外观非常小巧精致,却集成了Tengine等AI开发相关的软硬件工具,猜想能够优秀地应用于AIOT相关领域中。之前对openCV试过一些demo,这次体验先从BladeCV开始。
回家了几天身边没有调试工具,用网线接上路由器,接下来通过Xming和putty就开始登陆了。
从官方手册中可以查到BladeCV相关例程。工程里有三个文件,分别是小鱼图片、Makefile和c++源代码。运行可执行文件后,按照程序中所编程的,对小鱼图片进行读取和显示。
在/usr/local/AID/bladecv/目录下可以找到BladeCV的库,比openCV精简许多但核心功能基本都得到保留。在官方手册中可以看到这样的描述:
BladeCV 的主要目的是,提供一套简单高效的算法加速库。提供与 opencv 一样便捷的函数调用,来替代 OpenCV 庞大系统库的调用。BladeCV 作为 AID 的一部分主要提供满足图形操作相关的图像处理的调用接口。
看来是希望通过BladeCV+Tengine+HCL+第三方算法的方式为AI嵌入式应用开发服务。和openCV比较而言,官方手册中表明其针对Arm的CPU和GPU进行过深度优化,在一些芯片平台上支持硬件视频编解码及图像操作的硬件加速。EAIDK-310 的版本能够充分使用 RK3228H 的硬件编解码能力,也能利用 RGA 功能进行图像的缩放,旋转,截取,格式转换等硬件加速。
接下来要尝试使用BladeCV对单一图片进行简单的人脸识别。
BladeCV尝试
通过pscp向EAIDK-310发送了要识别的图片文件和opencv自带的haarcascade\_frontalface\_alt.xml,修改test.cpp,使用起来BladeCV和OpenCV差别不大,非常容易上手。最后生成了识别结果图片,嗯少了一位大佬,大概率不是BladeCV的问题,后面再排查。
总得来说体验不错。BladeCV使用和OpenCV相似暂时没有发现太大的障碍。按照手册中所说的,如果能够对这块板子有更好的优化,那么在某些定制的专用场合下能够发挥更出色的性能。今天先到这里,这块板子还有很多地方可以往深了继续研究。