在智能化技术快速发展当下,图像数据的采集与处理逐渐成为自动驾驶、工业等领域的一项关键技术。高质量的图像数据采集与算法集成测试都是确保系统性能和可靠性的关键。随着技术的不断进步,对于图像数据的采集、处理和分析的需求日益增长,这不仅要求我们拥有高性能的相机硬件,还要求我们能够高效地集成和测试各种算法。
我们探索了一种多源相机数据采集与算法集成测试方案,能够满足不同应用场景下对图像采集和算法测试的多样化需求,确保数据的准确性和算法的有效性。
一、相机组成
相机一般由镜头(Lens),图像传感器(Image Sensor),图像信号处理器(Image Signal Processor, ISP),接口组成。
图 1 相机基本结构
(1)镜头:用于聚焦光线,将视野中的物体投射到成像介质表面,镜头的光圈决定了进光量的大小,FOV(Field-of-View)决定了视野范围的宽度。
(2)图像传感器:负责将光子转化为电信号,Sensor上的像素数量越多,清晰度就越高。像素的尺寸越大,感光能力就越好。
(3)ISP:负责将传感器捕捉到的原始数据转换为高质量的数字图像,包括完成去马赛克,白平衡,色彩校正等功能。
(4)接口:是相机与外部设备(如计算机)之间信息交流的通道,包括完成数据传输、供电和控制信号输出等。
在实际应用中,常见的相机有USB接口相机,以太网接口相机和车载Fakra相机等。每种相机都有其独特的特点和应用场景。比如,USB免驱相机具备其即插即用和便携性的特点,以太网接口相机则以具备高帧率和网络连接能力,车载相机具备高稳定性和长距离传输的能力。
由于不同的应用场景对图像采集与算法测试的要求各异,例如自动驾驶、工业检测、交通监控等,它们对图像的分辨率、帧率、传输距离和算法部署效果等有着不同的需求。因此,需要不同类型的相机来满足这些多样化的数据采集与算法测试需求。
二、多源相机采集与测试方案
多源相机的数据采集与算法测试,需要根据实际应用情况对各种相机进行不同的参数(比如分辨率,帧率)等配置,并根据不同来源数据有效结合算法部分进行测试。
在实际运用过程中,可以了解到每种相机都对应有自己的SDK包,比如USB免驱相机V4L2 API。但常常常会遇到一些问题,比如如何有效集成每种相机,采集数据与实时可视化?每种相机的多个设备又如何快速同时驱动采集?在车端应用场景中,如何对不同类型相机打上有效的时间戳?
针对这些难题,我们推出一种多源相机数据采集与算法集成测试方案。结合康谋的BRICKplus/BRICK2硬件采集平台与ADTF软件框架,可以快速集成多源相机并实现数据采集与算法测试。
图 2 BRICKplus/BRICK2
图 3 ADTF软件
软件方面,采用模块化的插件设计模式,集成了USB免驱相机,工业面阵相机和iDS以太网相机等SDK。对算法组件进行接口封装和测试结果输出。
图4 软件框架
对于不同类型的传感器,其数据采集流程大体包括打开设备、设置相机参数和格式、申请内存缓冲区、驱动视频流和图像循环采集等步骤。通过模块化的设计理念,将每种相机的采集流程都映射成一个组件,可以有效的对其进行各种参数配置。此外,在与可视化组件和存储组件进行数据连接,最终可实现多相机的快速集成与可视化采集。
图5 相机采集工程
图6 相机采集工程运行
三、应用案例分享
在软件界面右侧Streaming Source Details那栏中,可以点击Help,可以快速查看Usb Camera Capture组件的使用手册,包括环境准备,组件信息以及工程案例搭建使用。
图7 组件使用手册
比如,在MV Camera Capture组件的Properties栏中可以查看到组件配置的属性。可以设置相机的挂载结点,曝光时间,帧率以及图像采集模式。其中图像采集模式分为采集模式和灰度模式,MONO8为灰度图像,RGB8为彩色图像。
图8 2路相机采集工程
图9 2路相机采集工程运行
通过相机采集的数据与算法组件结合,可以进行算法的测试。比如,通过集成Usb Camera Capture组件、Face Detection组件、Qt5 Video Display组件和Qt5 Meida Description Display,可以快速实现一路相机采集与算法测试工程。
图10 人脸识别算法工程
图11 人脸识别算法工程运行
四、结语
多源相机数据采集与算法集成测试方案提供了一种高效、灵活的解决方案。通过康谋的BRICKplus/BRICK2硬件采集平台与ADTF软件框架的结合,能够实现多源相机的快速集成和数据采集,同时保证了算法测试的准确性和实时性。随着技术的不断进步,我们将继续探索和优化这一方案,以适应未来更加复杂和多变的应用需求。