ARM NEON技術在車位識別算法中的應用
由優化后程序代碼可見,循環跳轉次數為原來的1 4 ,但是由于使用了NEON 相關的vld1q_u32 函數,一次可在NEON的128位寄存器中裝入4個32位數值,調用vaddq_u32可對4個數據時同時進行加法運算,在一個指令周期就完成了4次加法運算,理論上加法運算次數為原來的1 4 ,大大提高了運算性能。
對于第二個for循環也可以采用類似方法優化,只是調用的函數略有不同,具體考參考GCC的技術文檔,有詳細的使用說明。
其他函數如預處理、角點、相關度函數的優化和此方法類似,重點針對循環和可以并行運算的代碼進行優化。
表3 中給出了Cortex-A8 平臺使用NEON 技術優化后與ARM11測試時間的對比。
4 結語
通過使用ARM NEON 技術,對于圖像處理這類矩陣運算進行并行優化,可大大提高處理速度,進行優化后,速度較優化前提升了達2倍之多,較ARM11提升了8 倍的速度。ARM COTEX-A 系列所使用的NEON 技術,不僅使車位圖像檢測算法的速度有很大提升,在信號處理等多媒體處理算法中,也有廣闊的應用前景。
評論