【虹科】如何借助PTP来做高精度相机同步?

在某些应用场合中,如果需要处理来自多台相机的图像时,则图像记录的精确时间或准确的先后顺序对后续处理至关重要。若相机能够提供时间戳,则可为不同的图像数据建立时间基准。然而,相机的时间基准要能够精确匹配,这一点至关重要。通过使用“精确时间协议”(ptp),hk ids gige vision相机(固件版本2.2或以上)能够轻松实现同步。  借助精确时间协议(ptp)同步
hk ids gige vision相机精确时间协议(ptp)是一种时间同步标准(ieee1588),它使通过网络连接的设备实现时间同步。支持此标准的相机可在特定的周期内与主时钟交换同步信息。利用各自发送和接收时间中的时间戳信息,相机内部的计数器可实现精确地校准和同步。 所有固件版本为2.2及以上的hk ids gige vision相机都可与ptp兼容! ieee1588时间戳是以1970年1月1日0时0分为计时起点,支持1纳秒(1 ghz)的时间分辨率。然而,由于延迟和信号运行时的不准确性,联网设备的时间同步精度达微秒级。  ptp应用案例ptp作为一种基础协议,通过为图像数据提供时间基准,为各种应用奠定基础。视应用要求及网络基础设施的复杂性的不同,ptp可以通过不同的方式来实现。 1. 相对时间戳同步 在本案例中,所有相机都在同一个网络。其中一台相机为主服务器,其余相机为从服务器。所有从相机的时间戳与主相机同步。相机既不提供绝对时间戳(实时),同时在无其他操作的情况下,也无法实现同步触发。  优势: 在该应用场合中,相对时间戳确定所有相机图像记录的时间分配。此外,相对时间戳还能确定哪一张图像为第一张,以及不同相机的图像时差大小。
无需额外的操作和成本,即可为特定的网络基础架构生成相对时间戳。
 2. 利用绝对时间同步时间戳 本案例中,联网相机与外部主时钟同步。该ptp主时钟可以是支持“硬件时间戳”的网卡——若无硬件支持,同步精度将显著降低。除必要的硬件外,还需要支持ptp的软件。 
优势: 具备全局(实时)时间戳的图像内容可跨越当前的应用限制,与任何其他使用实时时间基准的信息相关联。
对于其它使用全局时间基准的应用场合或评估,图像内容可以重用。
  使用ptp:“相对同步”硬件设置两台不同的固件版本为2.2(支持ptp)的hk ids gige vision相机(gv-526xfa-c和gv-504xcp-m)连至同一网络交换机。一台额外的主机pc,仅用于控制和配置相机,不涉及相机的ptp同步。  软件设置可通过“ptpcontrol”下的相机功能节点图查找所有ptp配置功能。只有固件需为2.2或以上版本的相机才能使用这些功能。我们在主机pc上安装配套软件,来设置ptp同步。  将一台相机配置为ptp主时钟gv-526xfa-c相机应设置为ptp主时钟。在软件中打开相机,并将“ptpenable”设为“true”,启用ptp。另外,将“ptpslaveonly”设为“false”为相机赋予“主时钟”角色。      # configure master cameraptpenable = trueptpslaveonly = false 将另一台相机配置为ptp从时钟gv-504xcp-m相机应设为ptp从时钟。同理,将“ptpenable”设为“true”以启用ptp。此时,这台相机仅作为从时钟使用。将“ptpslaveonly”仍设为“true”。      # configure slave cameraptpenable = trueptpslaveonly = true 创建主从等级在完成主从时钟配置后,主-从等级将自动创建。对于主时钟相机,可通过“ptpstatus”由“listening ”变成“master”来确定。对于从时钟相机,可通过“ptpstatus”先由“listening”变为“uncalibrated”,并在与主时钟相机同步后变为“slave”来确定。 在通过相机的新ptp功能完成主从等级创建后,“相对同步”也随之完成。  启用时间戳如果您希望对图像数据使用已同步相机生成的时间戳,则必须将时间戳作为元数据,启用元数据(及块数据)传输。
首先,将“chunkmodeactive”设为“true”,以通过图像缓冲区启用块数据传输。然后,通过“chunkselector”选择“timestamp”,并通过“chunkenable”开关启用时间戳。            # activate chunk data creationchunkmodeactive = true # enable chunktimestampchunkselector = timestampchunkenable = true 这时,相机所采集的每一张图像将具备相应的时间戳,并借助图像缓冲区(通过块数据)传输至主机pc。这样,块数据及时间戳可通过任何视觉标准软件进行读取。 图像采集如果应用中需要对带时间戳的图像数据进行处理,则图像的记录时间和相机的触发至关重要。这种情况取决于来自多台相机的图像是否需要完全相同的采集时间(同步图像采集)以及时间关联偏差(时间戳抖动)有多大。根据应用要求,须选择适合相机的触发模式。在做出这一选择时,要考虑的决定性的因素不仅包括不同软件和硬件信号模式的精度,也包括部署和使用所需操作和成本。为检查先前配置的“相对同步”,我们使用每秒脉冲数(pps)信号来触发相机,以实现同步自由运行。
 同步自由运行顾名思义,在ptp功能启用的情况下,每台相机(主时钟相机和从时钟相机)的pps信号会每秒生成一个。因此我们可借助pps信号检查相机的同步状态。这一信号被设置为触发源,因此每秒钟将触发一次图像采集。除了由“相对同步”导致的几微妙的偏差,相机生成的图像时间戳应为一致。通过pps信号实现所有相机同步自由运行的操作如下:                           # image acquisition configuration for both cameraslineselector = line2linemode = outputlinesource = ppstriggerselector = exposurestarttriggermode = ontriggersource = line2 # limit bandwidth on both camerasdevicelinkthroughputlimit = 60000000 # start acquisition on both camerasexecute acquisitionstart 同步pps触发信号将触发相机在同一时间点进行图像采集 读取时间戳为在应用场合中处理时间戳和图像内容,您须读取当前图像缓冲区的块数据。块数据为制造商相关的有效负载缓冲区,其存储布局通常未知,因此我们将通过节点图来读取各个元数据。为此,所有现有的元数据及其标准的节点名称将从gentl传输至节点图,以便通过标准的api进行访问。以下的源代码片段为您演示如何从图像缓冲区中提取时间戳。安装包也为您提供了有关块数据处理的完整源代码示例。                         // get buffer from device's datastreamconst auto buffer = m_datastream->waitforfinishedbuffer(5000); // check buffer for chunksif (buffer->haschunks()){ // update nodemap with current chunk data m_nodemapremotedevice->updatechunknodes(buffer); // get the value of the timestamp chunk const auto chunktimestamp = m_nodemapremotedevice->findnode(chunktimestamp)->value();} 总结当涉及图像内容的时间分配时,ptp是多相机应用场合中一个重要的基础功能,能够轻松实现相机间的相对同步,无需额外的硬件和软件支持。在许多应用场合中,相对相机同步也足以确保图像在“相同”的时间或以正确的顺序使用。相机还配备外部定时器,适用于全局同步。如果您对通过ptp同步时间存有疑问或需要了解更多信息,请联系我们。
end
 关注我们,持续给您分享干货! 
关于我们
虹科智能感知事业部专注于智能感知与机器视觉领域,已经和ids,blickfeld和gidel等有着重要地位的国际公司展开深度的技术合作。我们的解决方案包括3d激光雷达,工业相机,视觉处理平台,图像采集卡及视觉系统集成等。虹科的工程师积极参与国内外专业协会和联盟的活动,我们非常重视技术培训和积累,公司定期与国内外专家团队进行交流和培训。
往期回顾
  【虹科】蕴藏在废物分类中的机器人技术革命
 【虹科新闻】虹科受邀参加香港地铁外来物检测招标项目
 【虹科】速度与激情:用于高速和高分辨图像处理的紧凑型计算机fantovision 20 【虹科】无需图像处理或编程知识,人工智能成像平台来袭!
 【虹科】机器视觉-lut技术入门
 【虹科】虹科教您部署混合人工智能以降低检测成本 【虹科】无需编码,构建流程图开发视觉应用,强势来袭!
 【虹科】激光雷达在安防中的应用——改变游戏规则
 【虹科】嵌入式3d视觉功能
原文标题:【虹科】如何借助ptp来做高精度相机同步?
文章出处:【微信公众号:智能感知解决方案】欢迎添加关注!文章转载请注明出处。

华为手机2020年出货量预期下滑20% 智能手机芯片2019年高通排名第一
IGBT芯片经历了7代升级,它的发展趋势将会如何
从工业大国到工业强国,工业互联网肩负重任
企业级 AI 应用之路:悠桦林、菜鸟科技、IBM 之铿锵一席谈
华为全新一体机官宣:11月2日发布,或搭载i9处理器
【虹科】如何借助PTP来做高精度相机同步?
我国LED芯片几大龙头厂商是如何布局市场的?
过氧化值快速检测仪的应用及功能
论战略眼光重要性,美国的制裁成功帮助中国芯片行业飞速发展
实现modbus plc设备数据转发到环保HJ212平台的方案
屏蔽ADC网络可以帮助避免噪声耦合 有助于提高性能
4500万像素直逼佳能5DsR:尼康或将在八月底发布尼康D820
Openwrt开发指南 第8章 无线AP的实现
微软调查 AI将使41%英企商业模式五年内消失
交流伺服电机系统中的控制策略
比特大陆临时代码出现或将正式宣布上市
特斯拉在全球内的第四座整车工厂建设完成
重新阐明预锂化对硅阳极界面稳定的作用
AI助力制造业变革
联想发布2020年10大技术预测 消费者隐私保障需求依旧旺盛