石鑫华视觉 手机微信QQ:13450001061

视觉技术

多个500万像素相机同时采集图像

文章来源:石鑫华视觉网时间:2022-03-20 10:44:24 点击:756

多个500万像素相机在一台电脑上同时采集图像

随着机器视觉的发展,精度越来越高,速度越来越快。以前一台设备上使用1500万像素的相机都非常罕见,现在一台电脑上使用好几个500万像素的设备也有许多了。那么电脑或设备是不是可以任一连接500万像素的相机呢?是否可以满足速度上的要求呢?下面请看石鑫华视觉网给大家带来的分析。

首先说一下基本知识总线的带宽。1394B总线(因为本次评测使用的是1394B卡与1394B相机)的理论带宽是800Mbps100MB1Byte=8bit),PCI的理论带宽为133MB32位)或266MB64位),PCI-e X1的理论速度为双向各256MB。我们使用的500万像素的相机分辨率为2588*1940,因此其一张图片的大小为2580*1940*8/1024/1024/8=4.788MB。使用的相机满分辨率时全速为13FPS,因此每秒的数据传输量为13*4.788=62.244MB。因此,理论上来说。一个1394B控制器,相机全速时只能负载一个相机。负载两个相机时,需要的带宽为125MB左右,1394B100MB是无法满足的。而PCI总线如果没有其它占用,也是可以支持两个相机的,如果有其它开销,则无法支持两个相机。PCI-e即使有一些开销,应该能够满足传输速度要求的。另外,1394总线的传输速度与包的大小对应表如下:

Camera Speed

Maximum Cumulative Packet Size

100 Mbps

1024 bytes

200 Mbps

2048 bytes

400 Mbps

4096 bytes

800 Mbps*

8192 bytes


表一
1394传输速度与最大包对应

image.png

1 四个500万像素1394B相机

image.png

2 相机型号为AVTGuppy Pro 503B黑白相机

使用的相机具体型号为AVTGuppy Pro 503B黑白CMOS相机,其分辨率为2588*1940,全分辨率时的最高帧率为13FPS

image.png

3 PCI卡与PCI-E

image.png

4 PCI卡为双1394B+1394A PCI-E卡为四通道1394B

首先我们将四个AVT500万相机连接到下面的两块PCI双通道1394B卡上。

image.png

5 四个500万像素相机连接到两块PCI卡上

如上的连接中,下面一块PCI卡上面一个相机为1号相机,下面一个为2号相机,上面一块卡上面一个相机为3号相机,下面一企业4号相机。我们没有使用AVT自己的驱动程序,而是使用NI LabVIEW + IMAQdx进行图像采集。

image.png

6 设备管理器中的硬件设备

从设备管理器,我们可以看到,共有四个相机,两块Texas1394控制器,这个是2通道的PCI卡。两块LSI1394控制器,这个是4通道的PCI-E卡,这卡中有两个控制器芯片。

image.png

7 一块PCI+1个相机最大包8K OK

7中参数基本解释:Speed1394总线的速度大小,有100M200M400M800M可选,我们选择最快的800MPacket Size为包大小,从表一中可以知道,选择800M速度时最大包为8K。从1394总线看书中可以知道,包越大,单个相机传输的速度越快,可以同时连接的相机越少。包越小则单个相机传输速度越慢,但是可以同时采集的相机会越多。其需要满足相机数*相机数<=最大包。Shutter::Value表示相机曝光时间,如果未有此参数,则为相机默认的曝光时间2000(相对值,约120ms)。使用相机X按钮,表示是否使用此相机。相机X,表示第几个相机,相机X帧率表示第几号相机的帧率,相机X错误为某个相机的错误输出。

从图7中可以看到,当我们使用一块卡一个相机,设置为最大包时,帧率可以达到13帧的。且无花屏干扰等异常出现,采集非常好。

image.png

8一块PCI+1个相机4K NG

当我们使用一个相机,一块卡,包设置为4K时,不知道为什么,采集得到的图像反而有花屏干扰的情况出现。可能原因是驱动程序有问题或采集程序有问题又或者硬件本身也有问题。理论上来讲,8K时都可以,4K时应该也是可以的。其它的使用一块卡一个相机2K包、1K包均能正常采集且无花屏。

从上面的分析中可以得到,一块卡,一个相机,是可以达到此500万像素相机的全速13帧的。

image.png

9一块PCI+2个相机8K NG

当我们使用一块卡,连接两个相机(相机1、相机2)且包设置为8K时,有一个相机能正常工作,另一个相机会提示配置错误。错误原因是没有足够的资源。因此多个相机在一块PCI卡时同时工作时,所有相机是共享总线最大包的。

image.png

10一块PCI+2个相机4K OK

image.png

11一块PCI+2个相机4K NG

从图10、图11中可以看出,一块卡+2个相机+4K包也会出现花屏干扰。也就是说只要包设置成4K,都会出现花屏的现象。

image.png

12一块PCI+2个相机2K OK

将包大小设置为2K1K,一块卡带两个相机,都是OK的。当然速度上,也会对应的下降。

image.png

13 两块PCI+2个相机8K OK

image.png

14 两块PCI+2个相机8K NG

1314是将两个相机分别连接到两块PCI卡上,然后设置包大小为8K。从图中可以看到,有花屏现象。这说明PCI总线带宽不够同时支持两路数据的采集。从经验值来看,PCI的理论带宽为133M,实际的带宽只有90M左右。从图13中可以看到,即使OK,帧率也未达到额定的帧率。

image.png

15 两块PCI+2个相机4K OK

image.png

16 两块PCI+2个相机4K NG

从图1516中发现,两卡两相机,将包设置成4K,也会有花屏现象,这与单块卡的情况较类同。

而当我们将包设置成2K1K时,则采集、显示正常。

image.png

17 两块PCI+4个相机4K NG

image.png

18 两块PCI+4个相机2K OK

image.png

19 两块PCI+4个相机2K NG

image.png

20 两块PCI+4个相机1K OK

从图17~20可以发现。当使用两块PCI卡连接4个相机时,按照理论值可用的4K连接时花屏,按照2K连接时,有时花屏有时正常。而按照1K连接时,此时采集正常。但是速度仅为1.5帧左右,速度非常慢。因此使用两块两通道的PCI卡连接四个500万像素的1394B接口相机,能正常工作时的最大速度只有1.5FPS

image.png

21 将四个500万像素相机连接到PCI-E卡上

现在我们将四个500万像素的相机连接到一块四通道的PCI-E卡上。此PCI-E卡为1X速度的,其双向同时工作理论速度分别为250MB

image.png

22 一块PCI-E+1个相机+8K OK

从图22中可以看到,在PCI-E卡的连接一个相机时,将曝光时间设置较比较短,包设置为8K时,可以达到我们相机标称的13FPS

image.png

23 一块PCI-E卡(一个控制器)+2个相机+8K NG

从图23中可以看到,当12两个相机连接到PCI-E卡的同一控制器的两个通道时,无法设置成最高的8K数据包,提示没有足够资源错误。

image.png

24 一块PCI-E卡(两个控制器)+2个相机+8K OK

从图23中可以看到,当13两个相机连接到PCI-E卡的不同控制器的两个通道时,设置成最高的8K数据包,可以正常采集图像,而且速度很快。

image.png

25 一块PCI-E卡(两个控制器)+4个相机+8K NG

一块PCI-E卡连接四个相机,设置成8K包,没有足够的资源,有两个相机无法正常工作。只有两个相机能正常工作。

image.png

26 一块PCI-E卡(两个控制器)+4个相机+4K OK6.5FPS

image.png

27 一块PCI-E卡(两个控制器)+4个相机+4K OK

image.png

28 一块PCI-E卡(两个控制器)+4个相机+2K OK

image.png

29 一块PCI-E卡(两个控制器)+4个相机+1K OK

从图26~29中可以看到,当一块PCI-E卡四个通道连接4个相机时,只要将包设置成4K以下,均可以理想的采集图像。并且最高可达6.5FPS,即为相机满分辨率最高速13FPS的一半。

从以上分析的数据可得到,当总线上的某个控制器,只连接一个相机时,可以设置最大包,可以使相机达到最快的采集速度。而当连接多个相机时,则需要减小包大小,并且降低速度,才能正常的采集图像。相机数量x包大小不应超过总线最大包大小。而要想获得高分辨率高速采集,使用1394B相机时,则需要考虑使用PCI-E卡进行采集卡扩展。


首页
84162741QQ
联系