{"title":"基于fpga的OpenCL立体匹配加速","authors":"Iman Firmansyah, Y. Yamaguchi, Ryo Nakagawa","doi":"10.1145/3575882.3575883","DOIUrl":null,"url":null,"abstract":"Stereo vision finds a wide range of applications for robot navigation, advanced driving support system, and autonomous driving in the automotive industry. The disparity map can be obtained through the implementation of stereo vision architecture using stereo matching. A stereo matching algorithm has recently been executed in FPGA. This study is aimed at assessing the stereo matching with the use of Stratix V FPGA and OpenCL framework. The latter refers to a parallel programming framework that enhances productivity by raising the code’s abstraction. Additionally, OpenCL allows for the processing of stereo matching using channel extensions. In the experiment, we partitioned the OpenCL kernel into three smaller kernels to examine the stereo matching on FPGA for computation. Such an approach enables streaming image pixels from the FPGA global memory. A line-buffer is employed to avoid the load-store dependencies caused by memory accesses when streaming the pixels to the window buffer inside the stereo matching kernel. We can achieve a rapid execution time, which is advantageous for real-time implementation, by streaming the image pixels through an OpenCL kernel partitioned using channel extension. The execution time to compute the disparity map using the stereo KITTI dataset with 1242x375 pixels resolution reaches 2.38 ms or 420 fps for 6x6 sliding window size, 2.44 ms or 409 fps for 7x7, and 2.52 ms or 396 fps for 8x8.","PeriodicalId":367340,"journal":{"name":"Proceedings of the 2022 International Conference on Computer, Control, Informatics and Its Applications","volume":"79 4 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"FPGA-based acceleration of stereo matching using OpenCL\",\"authors\":\"Iman Firmansyah, Y. Yamaguchi, Ryo Nakagawa\",\"doi\":\"10.1145/3575882.3575883\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Stereo vision finds a wide range of applications for robot navigation, advanced driving support system, and autonomous driving in the automotive industry. The disparity map can be obtained through the implementation of stereo vision architecture using stereo matching. A stereo matching algorithm has recently been executed in FPGA. This study is aimed at assessing the stereo matching with the use of Stratix V FPGA and OpenCL framework. The latter refers to a parallel programming framework that enhances productivity by raising the code’s abstraction. Additionally, OpenCL allows for the processing of stereo matching using channel extensions. In the experiment, we partitioned the OpenCL kernel into three smaller kernels to examine the stereo matching on FPGA for computation. Such an approach enables streaming image pixels from the FPGA global memory. A line-buffer is employed to avoid the load-store dependencies caused by memory accesses when streaming the pixels to the window buffer inside the stereo matching kernel. We can achieve a rapid execution time, which is advantageous for real-time implementation, by streaming the image pixels through an OpenCL kernel partitioned using channel extension. The execution time to compute the disparity map using the stereo KITTI dataset with 1242x375 pixels resolution reaches 2.38 ms or 420 fps for 6x6 sliding window size, 2.44 ms or 409 fps for 7x7, and 2.52 ms or 396 fps for 8x8.\",\"PeriodicalId\":367340,\"journal\":{\"name\":\"Proceedings of the 2022 International Conference on Computer, Control, Informatics and Its Applications\",\"volume\":\"79 4 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2022-11-22\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 2022 International Conference on Computer, Control, Informatics and Its Applications\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3575882.3575883\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2022 International Conference on Computer, Control, Informatics and Its Applications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3575882.3575883","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
摘要
立体视觉在机器人导航、高级驾驶支持系统、自动驾驶等领域有着广泛的应用。利用立体匹配实现立体视觉体系结构,得到视差图。一种立体匹配算法最近已经在FPGA上实现。本研究旨在利用Stratix V FPGA和OpenCL框架评估立体匹配。后者指的是通过提高代码的抽象来提高生产率的并行编程框架。此外,OpenCL允许使用通道扩展处理立体声匹配。在实验中,我们将OpenCL内核划分为三个较小的内核,在FPGA上检查立体匹配的计算。这种方法使FPGA全局存储器中的流图像像素成为可能。在将像素流到立体匹配内核内的窗口缓冲区时,使用行缓冲区来避免由于内存访问而导致的加载-存储依赖。我们可以通过使用通道扩展进行分区的OpenCL内核流式传输图像像素,从而实现快速的执行时间,这有利于实时实现。使用1242x375像素分辨率的立体KITTI数据集计算视差图的执行时间对于6x6滑动窗口大小达到2.38 ms或420 fps,对于7x7达到2.44 ms或409 fps,对于8x8达到2.52 ms或396 fps。
FPGA-based acceleration of stereo matching using OpenCL
Stereo vision finds a wide range of applications for robot navigation, advanced driving support system, and autonomous driving in the automotive industry. The disparity map can be obtained through the implementation of stereo vision architecture using stereo matching. A stereo matching algorithm has recently been executed in FPGA. This study is aimed at assessing the stereo matching with the use of Stratix V FPGA and OpenCL framework. The latter refers to a parallel programming framework that enhances productivity by raising the code’s abstraction. Additionally, OpenCL allows for the processing of stereo matching using channel extensions. In the experiment, we partitioned the OpenCL kernel into three smaller kernels to examine the stereo matching on FPGA for computation. Such an approach enables streaming image pixels from the FPGA global memory. A line-buffer is employed to avoid the load-store dependencies caused by memory accesses when streaming the pixels to the window buffer inside the stereo matching kernel. We can achieve a rapid execution time, which is advantageous for real-time implementation, by streaming the image pixels through an OpenCL kernel partitioned using channel extension. The execution time to compute the disparity map using the stereo KITTI dataset with 1242x375 pixels resolution reaches 2.38 ms or 420 fps for 6x6 sliding window size, 2.44 ms or 409 fps for 7x7, and 2.52 ms or 396 fps for 8x8.