HLS ORB算法设计心得


在HLS上进行ORB算法设计之前,首先需要了解vivado视频流数据处理流程,最好有过相关FPGA用verilog进行过相关图像处理开发经验更好,会帮助你快速的理解它的数据处理流程和相关设计实现;

然后,需要对xilinx的这块的文档如ug902要详细的看,仔细的看,还有相关的例程都去跑下,消化理解,一定要知其所以然,不要像看opencv那样看,sobel算子还有其他的滤波要详细理解然后研究vivado设计流程,数据流是怎么走的,例如AXIvideo2cvMat(dst_axi,dst);和hls::Mat2AXIvideo(angle_dst, output); 用法怎么使用,里面的具体的数据结构都需要了解;

其次,研究ORB算法,这就一定要仔细看了,因为你是设计实现,不是移植;某些研究所搞图像的看不上设计实现,觉得嵌入式实现就是简单的移植,这是很错误的!!!!!!!!!!!opencv多好用啊,当然设计算法简单了,各种库取调,各种dll文件/动态库,各种高级的结构,新语法mat,vector,等等,太爽了,所以国内算法都是国外开源,国内自主,基本没有原创的算法;

再次,算法研究透了,一定是透了,切记,怎么实现的,你先的思路和opencv不一样,所以要透,包括坐标的排列方向等等,浮点 定点等等,这会需要用强大的opencv或matlab来验证你要在FPGA上实现的思路,先这里验证想法思路设计方案,这样省时间!C c++实现就容易多了,模拟数据流;

最后,在vivado等工具上进行设计实现,调试,仿真。最最后下板验证,此时ok了,那就perfect了。

你可能感兴趣的:(HLS ORB算法设计心得)