北京短视频代运营,北京抖音广告片,北京抖音代运营公司欢迎您 ! 联系朗创|收藏本站|网站地图

朗创seo公司

北京专业抖音代运营广告片拍摄10年短视频运营经验!

咨询电话:13683819778

北京seo服务首选朗创网络营销
您的位置: 资讯中心 > 公司新闻 >

嵌入式设计:ARM霓虹灯技术在停车识别算法中的应用

作者: 1 来源:朗创seo公司 发布日期: 2018-09-26 12:04:51
信息摘要:
该系统基于CORTEX-A8和Linux系统。在Linux中使用的编译器是GCC。本文采用通用C语言优化和NEON编程优化对图像相关函数进行了优化,并进行了测试比较。方差函数方差代码在优化前后进行比

该系统基于CORTEX-A8和Linux系统。在Linux中使用的编译器是GCC。本文采用通用C语言优化和NEON编程优化对图像相关函数进行了优化,并进行了测试比较。方差函数方差代码在优化前后进行比较,如图5所示。
    
     对于一般的C语言级优化,对于矩阵数据,如图像,主要用于循环优化。以第一个循环为例,如图6所示,C语言级优化的代码如图6所示。
    
     从优化结果可以看出,回路跳数被有效地减少到14。但是也可以发现,加法运算的数目与原始运算的数目几乎相同,并没有减少。在对其他循环函数和其他函数进行优化之后,测试时间对比如表2所示。
    
     从表中的数据可以看出,使用公共C语言边界优化并没有明显的改进,因为Linux系统使用GCC编译器进行编译,在选择-O2级优化时,循环已经优化,所以速度还没有达到明显改善。
    
     GCC编译器从4.3版本开始,为ARM氖技术提供了良好的支持,例如GCC中的函数:
    
     Unt32 x2yt vADuju32(uTIN xx2yt,utIntxx2yt),对应于宿语言:VADD。I32 d0,d0,d0。uint32x2_t表示两个32位无符号整数的数据类型。当在GCC编译器中使用NEON技术时,需要包括头文件arm_neon.h.NEON增强指令集,该指令集只有在发布了Cortex-A系列后才可用,因此ARM11不能使用NEON技术。比较第一个for循环之后的方差函数的第一个差异如图7所示。
    
     从优化的程序代码中,我们可以看到循环跳数是14,但是由于使用了与氖有关的VLD1QUU32函数,可以在四位的NEN寄存器中加载32位的值,调用VADQQUU32可以同时添加四个数据,在一个指令周期内完成F。我们的加法运算,加法运算的次数是14,大大提高了运算性能。
    
     类似的方法可以用来优化第二个for循环,但是调用的函数略有不同,具体参考了GCC的技术文档,详细描述了使用。
    
     与此方法类似,其它函数如预处理、角点、相关函数优化等都集中在循环码和并行码的优化上。
    
     利用ARM NEON技术,对图像处理等矩阵运算进行并行优化,可以大大提高处理速度。优化后,速度比优化前提高了两倍,比ARM11快了八倍。SIR和其他多媒体处理算法。
    
    

咨询热线

13683819778