利用多核Blackfin处理器实现基于摄像头的交通标志识别
——
提示:每次写入操作都得到一个回写缓冲器的支持。因此,如果在写入操作之间存在足够多的时钟周期的话(比如,计算随后的结果需要一些写操作),处理器的内核将不会等待写入操作的结束,而会继续处理下去。因此,看起来写入外部存储器的操作可以在一个处理器内核周期内完成。
当然,这一过程也可以通过使用DMA控制器来获得更高的效率。为了执行“成簇”模块,来自于Hough空间的数据被逐行读出,送至L1存储器。该任务同样由DMA通道来执行。由于只需访问最快速的存储器,因此该滤波器模块可以被处理器全速执行。由于不再需要Hough空间的内容,因此必须将其归零,以供下一次操作所用(Clear Hough Space)。该任务也同样可由一个DMA通道来执行,并不会给处理器带来负担。在下一步中,圆环探测器将获取成簇操作的结果和Sobel模块,并确定圆环的半径和准确位置。由于交通标志可能的位置现在已经清楚,因此就可以通过一个DMA通道将其从原始图像中下载下来。为了做到这一点,首先要将含有几个交通标志的一个区域传送到L2存储器中。来自于各个交通标志的连续的细节信息将从这一区域载入L1存储器中。为了分析出各个交通标志,就需要用于比较的模板。模板数据库的一部分被载入L2存储器。与待识别的标志一样,用于比较的模板也会连续的从L2存储器载入L1存储器中。现在识别模块可以将定位出的交通标志与所有的模板进行对比,并产生已被识别的标志列表。一旦这一过程完成,处理器内核1(Core A)将向处理器内核2(Core B)发出一条消息,详细说明发现了哪个交通标志。处理器内核1就将开始对第二幅图像(frame1)进行计算。
在处理器内核2的接口完成配置后,该内核将等待处理器内核1发出的关于已经识别出一个交通标志的消息。在接收到该消息后,它将开始通过DMA通道传送第一帧图像。随后还需要执行下面的步骤。在接收到交通标志信息后,一个DMA通道将利用Load Overlay指令把相关的符号拷贝到正在进行分析的原始图像上。在色彩空间变换模块中,一幅图像通过DMA通道逐列载入L1存储器中。处理器内核2现在可以开始执行YUV格式到RGB格式的色彩空间变换。同时,图像数据从VGA格式缩减为QVGA格式,而且进行90°旋转。所生成的图像数据随后通过图像接口(PPI1)传送到TFT显示器上。图6示出了这一流程以及DMA通道所执行的任务。
相关信息:ADSP-BF54x系列Blackfin处理器的最新版本包含了一个用于处理叠加图像(Pixel Compositor)的硬件加速器和一个扩展视频接口(EPPI)。于是,色彩空间变换、缩放和图像叠加可以在无需处理器参与计算的情况下完成。
评论