The demand for increasing safety and comfort made the research and development of driving assistance systems (ADAS – Advanced Driving Assistance Systems) one of the most rapidly growing area of the car industry. The ADAS systems nowadays have a strictly supporting role, but they can serve as the basis of future self-driving cars at the same time. One of the most important tasks of these assistance systems is detecting the markers on the road, getting the position of lanes. This can happen with a vision system consisting of one or more cameras. In this paper I introduce a one-camera lane detection algorithm, based on the Inverse Perspective Mapping (IPM). The implementation was done using OpenCL. This technology being platform-independent allows us to bring the algorithm to several architectures and compare results regarding performance.
OpenCL is an open-source framework for implementing highly parallel tasks, running heterogeneously on several platforms. After the support of GPU and CPU manufacturers, the large FPGA companies also started to release tools which enable developers to generate FPGA configuration files from OpenCL code. This highly accelerates the FPGA development process. The traditional, HDL-based development is greatly time-consuming and requires a special knowledge. The OpenCL is the extension of the C language with a unique approach. The fact that it is possible now to compile OpenCL code into an FPGA bitfile makes the FPGA-implementation of complex algorithms easier and brings FPGA and software development processes closer together.