用于自动设置读码设备的方法和基于相机的读码设备与流程

文档序号:33177972发布日期:2023-02-04 04:10阅读:19来源:国知局
用于自动设置读码设备的方法和基于相机的读码设备1.本发明涉及根据权利要求1和14的前序部分的用于自动设置读码设备的方法和基于相机的读码设备。2.读码器在超市收银台、自动包裹识别、邮件分拣、机场行李处理和其他物流应用中广为人知。基于相机的读码器借助图像传感器记录其上有代码的对象的图像,并且图像评估软件从这些图像中提取代码信息。基于相机的读码器也可以轻松应对一维条形码以外的其它代码类型,这些代码类型与矩阵码一样也被构造成二维的并提供更多信息。3.在一组重要的应用中,携带代码的对象被输送经过读码器。图像传感器反复地记录图像数据,这些图像数据根据记录频率和输送速度或多或少重叠。读码器通常是更为复杂的读码系统的一部分。因此,通常在读取通道处设置多个读码器,以便从多个或所有侧面记录对象。此外,通常事先使用单独的激光扫描仪测量所输送的对象的几何形状。4.读码系统最重要的特征参数之一是读取率,因为未读取的代码会导致手动后处理步骤甚至分配错误。为此重要的是,针对读码系统的应用对读码系统进行优化,即找到合适的曝光、相机设置以及解码器算法的选择和配置,包括对记录的图像进行适当的预处理。这可以在设置读码系统时通过手动步骤来实现,但非常耗时,并且只能由专家完成。5.聚焦于不同高度的对象的子问题往往采用动态适应每个单独对象的自动对焦系统来解决。同时,可以为测量的对象高度进一步调节相机设置和曝光设置。ep3812953a1甚至更进一步,动态地调整其解码器以适应相应的对象高度。然而,如果没有距离值或者读码器只提供固定对焦系统,或者所谓的慢速对焦系统,该慢速对焦系统允许调整焦点位置但对于动态适配于单个对象来说太慢了,这不是解决问题的办法。6.此外已知的是,在自动设置的调试过程中,测定良好的参数集。为此,设置人员选择具有代码的代表性对象,并且在静止状态下由读码系统检测该对象。然而,以这种方式测定的工作点仅针对基本的(zugrundeliegend)静止情况进行优化。然而,在实际应用中,附着在不同高度的对象上的代码是在运动中被读取的。在此,在相应的当前记录的图像中的对象数量以及标签或代码的数量通常也是未知的。读码系统没有为与具有代表性对象的已示教的静止状态情况的这些偏差做好准备,因此在操作中的效率仍然低于可能性。7.因此,在某些情况下所采用的途径是针对在静止状态下记录的不同对象测定多个配置,并将其存储在不同的参数库中。这还没有解决问题,因为不知道哪种配置适合接下来具体检测的对象。可以迭代不同的配置,但这会减慢解码过程,并最终将宝贵的资源用于注定要失败的读取尝试。这种探索性的方法是可以从一开始设想的,通过使用各种参数设置和算法对图像数据进行试验记录和处理。在实践中,这在大参数空间中是不可行的。至少专注于不同示教的对象的潜在强大的配置是改进的第一步,但仅此而已。8.此外可设想的是,在实际操作期间,以小步进一步适配在调试时获得的参数集。例如,ep1014292b1公开了一种用于自动调节光学读码系统的特性的方法,该系统反复地微调其工作点。在此,很难预测这将如何具体影响读取率。以这种方式,主要补偿缓慢变化和漂移。然而,例如,在典型的传送带处读取的情况下,条件会因对象高度不同而发生高度动态变化。随后,相当缓慢和微小的参数适配对于此来说太过迟缓。另一方面,更剧烈的参数适配又有可能由于非代表性的单个事件而完全失去初始优化。9.因此,存在对读码系统进行优化以用于动态操作的困难,更确切地说,当缺少测量值(例如,与相应对象的距离值)以及可及时重新调整的光学设置(例如,动态调焦)时,存在对读码系统进行优化以用于动态操作的困难。由于不断发展的解码方法以及相机和解码器的许多参数,在较长的操作阶段内进行有效的手动优化是一个非常复杂和容易出错的事情。在实践中,这会导致较差的读取率。10.因此,本发明的任务在于改进读码设备的参数化。11.该任务通过根据权利要求1和14的用于自动设置读码设备的方法和基于相机的读码设备来实现。例如在调试期间要设置的读码设备具有图像传感器以及控制和评估单元。图像传感器或者具有图像传感器的相机在随后的操作中记录带有光学代码的对象的图像,并且控制和评估单元定位其中的代码区域并对找到的代码进行解码,即读取它们各自的代码内容。待读取的光学代码可以是条形码,但是也可以是根据各种已知标准之一的二维码。12.记录示例对象的示例图像以进行设置。示例对象应该被选择成对于随后的应用具有代表性或典型性,并且因此携带将在随后的操作中被读取的至少一个类型的示例代码。设置人员负责选择合适的示例对象。对于代表性较低的对象,该方法以相同的方式工作,但可能会发现稍微不太合适的配置。可以设想是,多个图像传感器协同工作,以便组合较大的图像或示例图像,该图像优选地被包括在下面并且被视为具有大视场的单个相机或单个图像传感器。13.通过自动设置,基于对示例图像的评估来设定解码方法的至少一个记录参数和/或至少一个解码参数,以供随后的操作使用,读码设备随后在操作中使用该解码方法读取代码内容。相应的参数集或参数的组合也被称为工作点。14.本发明基于以下基本思想:通过计算上的改变来异化(verfremden)记录的示例图像并且由此进行复制。计算上的是指相同的物理原始图像通过不同的处理而变化。可以说,这些是仅间接地从现实世界的记录中产生的虚拟示例图像。这并不排除多个物理原始图像的情况,然后以不同或相同的宽度处理这些图像,从而进行复制。以这种方式,产生具有其他示例图像的放大的图像数据集。现在,评估(在该评估之后,设定解码方法的至少一个记录参数和/或至少一个解码参数)纳入(beziehen)另外的示例图像。由此,创造了一个更广泛的基础,与仅通过物理记录的示例图像相比,利用该基础可以更好地涵盖未来的操作情况。15.该方法是计算机实现的,自动地或独立地运行。某些手动干预,例如确认示例对象位于视场中,可以集成到自动过程中。实际的优化不需要手动步骤,其中最后设置人员可以自由地进行手动调整。设置方法可以在读码设备的控制和评估单元中运行和/或至少部分地在持久或临时连接的计算单元(例如上级的控制器、配置计算机或包括云端的网络)中运行。16.本发明的优点在于,通过在设置期间生成另外的示例图像并评估相应放大的图像数据集来找到特别合适的工作点。该工作点考虑了随后的动态操作,例如运动的对象和不同的对象高度,甚至是对于从示例对象及其示例图像中根本无法识别的变化也被考虑在内。这实现了特别高的读取率。在此,解码器的时间特性也可以发挥作用,因为在记录和评估图像序列时,解码器在操作期间直到下一图像之前,只有有限的计算时间可供使用。可用的解码器时间被优化的工作点耗尽,或者可以调节更高的图像记录频率。由于自动化流程,可以快速且经济地执行复杂的优化任务。不需要像手动优化那样深入的专家知识,并且自动化有助于避免错误。可以进行随后的微调。通过再次执行可能缩短的方法,可以非常容易地对诸如解码器更新之类的变化做出反应。17.优选地,对示例图像的评估包括解码尝试。解码尝试是指对示例图像应用至少一个解码器或解码方法,以读取示例图像中的代码的代码内容。根据设置中的步骤,利用物理记录的示例图像或虚拟生成的另外的示例图像进行这种读取尝试。在最简单的情况下,以二进制形式评估解码尝试的成功与否,即代码是可被读取(goodread)还是不可被读取(noread)。此外,优选地,还确定解码器的质量度量从该质量度量中可以估计出仍然可能进行读取的附加质量损失因此,可以在稍后的操作中使用的真实的解码器处测试或验证相应的工作点。归根结底,这是最相关的评估机构。以这种方式,可以使用相同的设置方法非常容易地对解码器版本的变化(例如,在软件更新之后)做出反应。因此,通过不断改进解码算法而取得的进展得到了每种情况下都最佳的工作点的支持。18.优选地,至少一个记录参数包括光敏度(增益)、曝光时间(快门)、图像刷新频率和/或布置在图像传感器上游的光学器件的焦点位置。这些是重要的记录参数,特别是通过适当的焦点位置记录足够清晰的图像,该焦点位置会影响其他图像参数(如对比度),以及通过光敏度和曝光时间记录足够明亮同时未过调(übersteuern)的、具有尽可能少的运动伪影的图像。例如,解码参数与待读取的代码的类型、解码器算法的选择、模块尺寸或可能的预处理(例如,噪声滤波器或用于提高分辨率的超分辨率)有关。应优化利用两个记录之间解码器可用的解码器时间。解码器的速度越快,可以选择的记录频率就越高,从而有更多机会以适于代码读取的方式记录相应代码。19.优选地,针对不同的对象尺寸生成另外的示例图像,特别地,针对在后续操作中预期的最小对象高度和最大对象高度分别生成另外的示例图像。对象尺寸对应于图像传感器和记录的对象表面之间的距离,对象越大,对象表面就越接近图像传感器,反之亦然。在此,这个想法通常是由从上方安装相机来引导的,对象尺寸的决定性维度是对象的高度。在从另一视角安装时,应相应地理解对象高度。不同对象尺寸的另外的示例图像是用于确定工作点的图像数据集的计算上扩展的改变的特别优选和相关的示例,因为不同的对象尺寸或对象高度特别影响焦点位置或与焦点位置的偏差以及曝光,由此影响图像的中心质量标准。工作点不仅针对示例对象的对象尺寸或对象高度进行优化,而且针对所有预期的对象尺寸或对象高度进行优化。特别地,针对预期的最小对象高度和最大对象高度的极值生成另外的示例图像,再次优选地各生成恰好一个示例图像。然后,总共产生三个示例图像:其中两个虚拟示例图像是关于记录的低(例如,在输送平面上)的对象的最大距离和关于记录的高的对象的最小距离,以及关于中间尺寸或中间高度的对象的一个物理记录的示例图像。假设如果解码器可以处理极端情况,则它可以处理更多的中间状态。然而,针对其他对象尺寸或对象高度,或针对除对象尺寸或对象高度之外的其他影响的改变,生成两个以上的另外的示例图像也是可以设想的。20.优选地,通过分辨率提高或分辨率降低(也称为上采样或下采样)生成另外的示例图像。然后,这对应于根据假定的对象尺寸或对象高度从较大或较小的距离得到的虚拟记录。一种特别合适的方法是双三次插值。优选地,预先将示例图像居中到示例代码上,并且在上采样之后进行裁切(cropping裁剪)或者在下采样之后在边缘处用没有代码结构的预设内容补充。因此,进一步的示例图像具有统一的格式,并且相关的图像内容得以保留。21.优选地,以对应于预期的失焦(fehlfokussierung)的模糊生成另外的示例图像。仅有限的景深范围与记录物理示例图像的焦点位置相关。特别小的或大的或者低的或高的对象的后续的物理记录位于该景深范围的边缘处或景深区域之外。优选地,考虑这种散焦。为此,可以通过计算的方式来模拟物镜的效果,例如通过将另外的示例图像与点扩展函数(psf,pointspreadfunction)进行卷积。与具有从散焦导出的标准偏差的高斯核进行卷积适合作为优选的近似。可以针对不同的焦点位置和与焦点位置的偏差预先计算和存储该点扩展函数或其他滤波核,特别是高斯核。22.针对不同对象尺寸以计算的方式生成的另外的示例图像的评估的结果可以是,仅以一个工作点不能覆盖整个期望的对象尺寸范围。因此,设置人员获得是否可以处理期望的对象高度变化的快速反馈,并且必要时,获得仍然可显示的对象高度变化的指示,或读码设备的可能的升级或改装,以便启用原始规范。23.优选地,通过移动图像内容生成另外的示例图像。这模拟了操作中的随后的运动。图像在图像传感器或相机与对象之间的不同相对位置下被记录。优选地,针对完全命中的代码和边缘位置的代码生成另外的示例图像。后者通常需要更多的解码器时间,直到仅部分检测到的代码仍能够被读取为止。因此,可以确定所需的解码器时间,并由此确定可实现的帧速率或图像刷新频率。可以设想将图像内容的移动与假定的不同对象尺寸或对象高度组合。24.优选地,以预期的运动模糊生成另外的示例图像。操作过程中的运动不仅会在图像中生成不同的对象位置和代码位置,而且还生成运动模糊(motionblur),这使得读取代码变得困难或被阻碍。运动模糊可以类似于已经阐述的用于散焦记录的模糊来生成,特别是通过利用高斯滤波器核的卷积来生成。对于滤波器核的设计(例如,高斯滤波器核的标准偏差),现在与焦点位置的偏差不是决定性的,而是例如选择等于以每模块像素(ppm,pixelpermodule)为单位的模块宽度的标准偏差。25.优选地,首先确定至少一个记录参数和/或解码参数的初始值,使得可以读取示例代码。因此,作为随后的动态操作情况的优化的基础,首先确保可以完全读取示例代码。这也被称为第一次读取。根据实施方式的不同,初始值可以理解为足够好,即完全读取(goodread)示例代码,或者已经使用介绍中概述的方法针对静态情况执行了优化。作为对静态情况的智能优化的可替代方案,也可以设想对参数进行尝试,直到完全或甚至最佳地读取示例代码。在设置期间,有足够的时间用于这种硬计算方法(brute-force-)。26.优选地,通过在记录参数和/或解码参数的参数空间中进行测试的优化方法确定至少一个记录参数和/或解码参数。优选地,优化从根据前一段的初始值开始,因为可以假设,从这里可以比在通用或随机的初始值更可靠且更快速地找到最佳值。一种简单的优化方法以围绕初始值的预定步骤迭代地尝试参数空间,然后选择具有最佳结果的参数集或者在测试的步骤之间内插这样的参数集。也可以设想可替代的优化方法,例如爬山法,该爬山法在参数空间中朝向更好的读取结果的方向运动并且在此特别地缩短步长。参数空间的特别感兴趣的部分涉及焦点位置和光敏度,因此优化可以至少在子方法中运动,同时保持该子空间中的其他参数。27.优选地,在设置时根据待测试的至少一个记录参数再次记录示例图像。因此,在优化周期之内,在当前测试的工作点生成新的图像数据集,该新的图像数据集具有至少一个真实的示例图像和通过计算上的改变(例如通过图像内容的上采样/下采样和/或移动)生成的相关联的另外的示例图像。28.优选地,在一个待测焦点位置和多个光敏度下记录多个示例图像。因此,光敏度的影响不是通过计算来预测的,而是通过多次物理记录来测量的。因此,检测示例对象的漫反射行为。对于具有已知或固定的漫反射行为的理想参考对象,可以预先模拟、计算或示教不同光敏度的影响。现在,这种行为可以用测量的漫反射行为重新缩放。这产生了真实效果和虚拟异化的组合,其中特别是在假定的不同对象尺寸的情况下,对于在计算上确定另外的示例图像的预测得到显著改善。29.优选地,仅使用单个示例对象进行设置。这大大简化并加快了设置。根据现有技术,找到恰好针对其记录情况下的单个示例对象进行优化的操作点。通常,这将是对随后的动态操作阶段的错误优化。相反,根据本发明,通过从单个示例对象的呈现生成另外的示例图像,可以概括化(verallgemeinern)随后的动态情况,特别是具有不同的对象尺寸或对象高度和/或运动的动态情况。解码器的行为也通过进一步的示例图像验证了这种动态情况,并且找到了面向实际的最佳工作点。此外,单个示例对象可以在优化的范围内根据实施方式在不同的工作点被多次记录。这是一个自动过程,并且不会使该方法对设置人员来说更复杂,设置人员只需最初确保将单个示例对象布置在图像传感器的视场中。30.原则上可以设想的是,在设置时依次呈现多个示例对象,而不是仅仅呈现单个示例对象。这使设置方法变得更加复杂,但它更清楚地说明了在操作中需要哪些对象。特别地,可以针对每个示例对象单独执行优化。结果可以相互抵消,特别是基于预期随后的对象分布来进行平均化。此外,可以从一个示例对象的优化结果推导出另一示例对象的优化的初始值。31.优选地,示例对象在静止状态下被记录,即使在随后的操作中要检测运动的对象的流。可以通过生成另外的示例图像来考虑运动的影响。不需要观察具有运动对象的生产操作。32.根据本发明的基于相机的读码设备具有用于记录图像数据的图像传感器以及控制和评估单元,其中根据本发明的方法的一个实施方式,读码设备被设置和构造用于在操作中检测对象的图像,并且读取附着在其上的光学代码。读码设备可以具有一个图像传感器或更多个图像传感器或者一个相机或更多个相机、一个或更多个计算单元以及另外的传感器,例如用于确定输送装置的进给速度的编码器或体积测量系统。控制和评估单元实际上可以以任何方式分布在代码设备的相机和其他计算单元上。特别地,在设置期间,可以设想从外部提供控制和评估功能,无论是通过上级的控制器、连接的配置计算机还是网络或云端。33.优选地,读码设备被固定地安装在待检测的对象的流处,特别是被安装在输送装置处。因此,待检测的对象和读码设备处于彼此相对运动中。优选地,该运动以及不同的对象尺寸或对象高度是通过根据本发明找到的工作点所考虑的操作动态的一部分。如前所述,优选地,在示例对象处于静止状态的呈现期间进行设置。34.优选地,读码设备具有与图像传感器相关联的光学器件,该光学器件的焦点位置只能手动调整或调整得比预期的对象序列慢(固定对焦,慢速对焦)。换句话说,不存在自动对焦系统。如果完全可以进行自动调焦,那么及时调整到下一个对象无论如何都太慢了。焦点位置可以仅针对较长的操作阶段在合适的工作点的范围内进行适配。这样的读码设备更简单、成本更低并且更易维护,并且特别地得益于优化的工作点。附图说明35.下面将示例性地基于实施方式并参考附图对本发明的其他特征和优点进行更详细的阐述。在附图中:36.图1示出了基于相机的读码器的示意性截面图;37.图2示出了装配在传送带处的具有读码器的读码设备的三维视图;38.图3示出了通过从物理示例图像生成不同假设的对象高度的虚拟示例图像来适配焦点位置和光敏度的示例性流程图;39.图4示出了利用读码器的图像传感器记录的示例图像;40.图5示出了根据图4的示例图像中的代码的局部放大图;41.图6示出了在假定的最大对象高度的情况下由根据图4的示例图像生成的虚拟示例图像;42.图7示出了根据图6的示例图像中的代码的局部放大图;43.图8示出了在假定的最小对象高度的情况下由根据图4的示例图像生成的虚拟示例图像;44.图9示出了根据图8的示例图像中的代码的局部放大图;45.图10示出了根据图4的示例图像的更新的示图,其中有识别出代码的中心以及针对居中所需的移位的图示;46.图11示出了在完成居中之后根据图10的示图;47.图12示出了通过生成具有假定运动的虚拟示例图像来找到和检查最优参数(特别是记录频率)的示例性流程图;48.图13示出了对代码的完全检测和仅部分检测时的四种不同的虚拟示例图像,其中代码位置有不同的移位,;以及49.图14示出了基于虚拟示例图像优化焦点位置和光敏度的示例性流程图。50.图1示出了基于相机的读码器10的示意性剖面图。来自检测区域14的接收光12撞击到接收光学器件16上,接收光学器件16将接收光12引导到图像传感器18上。优选地,接收光学器件16的光学元件被构造成由多个透镜和其他光学元件(例如,光阑、棱镜等)构成的物镜,但是为了简化,在这里仅由一个透镜表示。优选地,未设置自动对焦系统,但是可以存在慢调焦的可能性(固定对焦、手动对焦或慢速对焦)。51.为了在读码器10记录期间用发射光20照亮检测区域14,读码器10包括可选的照明单元22,该照明单元在图1中以简单光源的形式示出,并且未示出发射光学器件。在其他实施方式中,将多个光源(例如,led或激光二极管)例如围绕接收路径环形地布置,这些光源也可以是多色的,并且可以成组地或单独地驱动,以适配照明单元22的参数,例如照明单元22的颜色、强度和方向。与图示不同地,照明单元22可以在外部。52.控制和评估单元24与图像传感器18和照明单元22连接,并负责读码器10中的控制任务、评估任务及其他协调任务。该控制和评估单元包括一个或更多个处理模块,例如fpga和微处理器,并评估图像传感器18的图像数据。在此,找到图像数据中的代码区域并读取它们的代码。与示图相反,控制和评估功能实际上可以以任何方式分布在内部组件和外部组件上,其中外部组件也可以经由网络或云端进行连接。特别地,可以设想控制和评估功能的外部接入(zuschaltung)用于设置阶段,该设置阶段将在下文进一步阐述并且对于该设置阶段可能仅临时提供计算资源和存储资源。读码器10经由接口26输出信息,如读取的代码或图像数据。如果控制和评估单元24不位于或不完全位于实际的读码器10中,则接口26也用作内部和外部的控制与评估之间的连接。53.图2示出了在优选的应用情况下装配在传送带28上方的读码器10,该传送带28如由箭头32所示将对象30传送通过读码器10的检测区域14。对象30在其外表面上携带有代码区域34,该代码区域由读码器10检测和评估。只有在代码区域34附着在上侧或至少从上方可见时,这些代码区域34才能被读码器10识别到。因此,不同于图2中的示图,为了读取附着在侧面或下面的代码36,可以从不同的方向安装多个读码器10,以便能够实现所谓的全方位读取。在实践中,通常将多个读码器10布置成一个读取系统作为读取通道。读取系统总体上形成读码设备,该读码设备可以包括其他未示出的传感器,例如用于测量体积的激光扫描仪或用于确定传送带28的传送速度的编码器。示出了上级控制器38作为控制和评估功能的分布式实现的示例。54.根据本发明,读码设备,如示例性地在图2中示出的并且具有一个或更多个关于图1阐述的读码器10,被自动设置用于随后的操作阶段,例如作为调试的一部分。设置是指对读码器10的记录参数或者用于读码的解码器的解码参数或在读码器10中实现的解码方法的解码参数进行设定。这样的参数集也被称为读码设备的工作点。最佳工作点要考虑操作的动态性,特别是运动和不同的对象高度。根据本发明,生成虚拟的示例图像,其对应于可设想的随后的读取情况但是在读取期间根本没有被物理记录。在此,对象高度始终表示待检测的对象30的尺寸,该尺寸对于对象30与读码器10之间的距离是决定性的。这是由上方视角的思想所引导的,但在其他视角也从其他对象维度得出相应的相关性,因此对象高度对于这些对象尺寸应该是代表性的。55.图3示出了用于生成和评估假定的不同对象高度的对象30的虚拟示例图像的示例性流程图。这在一定程度上说明了设置阶段的单个优化周期,该优化周期测试一个特定的工作点,其中这里涉及两个参数:焦点位置和光敏度(增益),另外的参数单独进行优化或预设。足够清晰的图像是高读取率的基本要求,同时也应防止近景范围内的过调和远景范围内的过暗图像。优选地,曝光时间属于工作点,但是该曝光时间可以在优化过程开始时相对简单地计算为模块尺寸和输送速度的商。优化找到一工作点,在该工作点中可以对所有预期的对象高度进行稳定的、可靠的读取,或者可替代地,确定使用该读码设备任何工作点都无法覆盖整个期望的对象高度区间。56.在步骤s1中,首先将带有代码的示例对象布置在检测区域14中。示例对象应代表随后待检测的对象30。优选地,呈现在静止状态下进行。这简化了程序,并且能够在优化期间用不同的参数重复生成记录。57.在步骤s2中,记录示例对象的示例图像。在此优选地,参数焦点位置和光敏度被设置为在该优化周期中待测试的值。稍后将参考图14详细介绍优化的可能的实现方式。最初,例如将焦点位置和光敏度设定为平均值或其他通用值,或者最初前置(vorschalten)针对静止状态的优化,即所谓的第一次读取。在随后的优化周期中,测试其他焦点位置和光敏度,可以在迭代循环中逐步地进行测试,或者利用相应的当前优化结果进行测试,然后在优化周期的过程中对该优化结果进行细化。在固定对焦系统中,焦点位置是不可改变的,因此只能优化光敏度。否则,假设允许缓慢的焦点变化的慢速对焦系统。另一可替代的方案是手动对焦,该手动对焦由设置人员根据自动设置方法的精确规范来调整。58.出于说明目的,图4示出了在当前设置的焦点位置和光敏度下记录的示例图像。这是实拍,是示例对象的物理图像。图5示出了代码区域的局部放大图。59.回到图3,在步骤s3中,从物理示例图像生成虚拟示例图像,该虚拟示例图像模拟检测情况,就好像示例对象具有最小对象高度或者最大对象高度一样。对象高度对应于读码器10与对象30之间的读取距离。最小对象高度和最大对象高度是应用的规范,如果缺少此信息,则可以将到输送平面的读取距离假定为最小对象高度,并将读码器10的刚好还可以处理的近景范围假定为最大对象高度。60.为了适配于假定的最小对象高度和最大对象高度,在步骤s2中记录的示例图像的分辨率通过上插值或下插值(上采样(upsampling)、下采样(downsampling))来调整。优选地,代码或代码区域的重心用作锚点(ankerpunkt)。示例性的合适的插值算法是双三次插值。因此,虚拟示例图像的异化或生成的基础是示例对象的实际记录的示例图像。除了取决于对象高度的纯分辨率之外,优选还考虑用于不同读取距离的不同光能。为此特别地,在步骤s2中可以在不同的光敏度下进行多次记录,以便考虑示例对象的漫反射特性。稍后将参考图14更详细地阐述根据最小对象高度和最大对象高度可以设置哪些光敏度。61.出于说明目的,图6示出了假定最大对象高度的情况下从物理示例图像生成的虚拟示例图像,图8示出了假定最小对象高度的情况下的相应的虚拟示例图像。图7和图9示出了相应的代码区域的相关局部放大图。62.再次回到图3,在可选的步骤s4中还考虑清晰度,因为最小对象高度和最大对象高度通常最多将位于设置的焦点位置的景深区域的边缘区域中。对于现实假设,虚拟示例图像应该具有仍可预期的真实清晰度,而不是在步骤2中获得的物理示例图像的清晰度。考虑与理想的焦点位置或者相对于景深区域的偏差的一种可能性是使用高斯核进行卷积。这代表了物镜或者接收光学器件16的实际点扩展函数(psf,pointspreadfunction)的良好近似。关于可能的焦点位置,可以在查找表(lut,lookuptable)中存储或计算合适的标准偏差。也可以设想,利用高斯近似法或者从可替代的或更精确的模型中预先计算出的滤波器核(filterkerne),并将其保存在存储器中以供查找。63.在步骤s5中,将虚拟示例图像以及必要时还有物理示例图像递送给解码器以进行评估。在此优选地,应用那些稍后也将在操作中使用的那些解码方法。64.在步骤s6中,基于步骤s5的读取结果,评估所使用的焦点位置和所使用的光敏度。在此,只能以二进制方式确定代码是被读取(goodread)还是未被取代(noread)。可替代地,解码器生成定量的质量度量。作为优化的一部分,其中针对图3描述的优化周期优选地运行多次,这样的质量度量可用于确定对于新的优化周期的焦点位置和光敏度的合适的值。可替代地,在一定的参数区间内系统地一一尝试焦点位置和光敏度,并且最终使用质量度量来找到最佳的焦点位置和光敏度。质量度量确定了读码的可靠性,以便优选地还为较差的图像质量保留储备(reserve)。另一标准是速度,因为短的解码器时间可以节省计算资源并实现更快的记录频率(帧速率)。65.因此,总的来说,附加的虚拟示例图像从真实示例图像生成,优选地仅由单个示例对象生成,并且又优选地在静止状态下生成,以便反映(abbilden)随后的动态操作情况。利用也在操作中使用的解码器引擎作为评估实例,找到最佳的工作点,在此特别是关于焦点位置和光敏度的设置。如果解码器引擎得到改进,例如作为固件更新的一部分,则可以通过再次运行优化非常容易地重新调整工作点,例如当新的解码器引擎更好地处理模糊的代码时。66.图10和图11示出了将所记录的示例图像居中到代码或代码区域的重心上,以便为后面生成的虚拟图像,特别是分辨率变化,获得合适的锚点。如在图10中所示,边框(boundingbox)40围绕代码放置,或者如果存在多个代码,则边框40围绕多个代码放置。边框相对于中心点的偏移应通过居中来补偿,如箭头42所示。图11示出了示例性的居中的结果。在此,如同在圆环面(torus)上一样,在一个边缘上推出的图像内容会在相对的边缘处被重新插入(wraparound(回绕))。67.图12示出了用于生成和评估运动中的对象30的虚拟示例图像的示例性流程图。这些步骤在一些地方类似于图3的步骤,因此仅部分地简短进行解释,其中可以转移进一步的细节。现在,应从记录的示例图像生成虚拟示例图像,该虚拟示例图像对应于运动中的读取,其中代码移动越过优选的检测点并且可能仅被部分记录下来。为了模拟这一点,图像内容被移动,并且优选地模拟运动模糊。68.在步骤s11和s12中,首先再次记录检测区域14中的带有代码的示例对象,并且生成示例图像。在此,设置在该优化周期中测试的工作点。一如既往地,工作点意味着对记录参数(如曝光时间、焦点位置或光敏度)和/或解码参数的特定设置。如果在该工作点生成其他虚拟示例图像,则这些步骤只需执行一次,例如根据图3的步骤s1和s2以及根据图12的步骤s11和s12可以重合。69.在步骤s13中,根据所记录的示例对象的模拟运动生成至少一个虚拟示例图像。在随后的运动中读取时,代码在一侧移动进入到检测区域14中,经过优选的记录点,然后在另一侧再次移出。在该时间范围内,可以在操作中生成多次记录。在其中一些记录中,单个代码,最好是所有代码,是完全可见的,而在另一些记录中,只有一部分代码是完全可见的。例如,现在生成虚拟示例图像,使得代码至少一次被完整检测到并且至少一次在边缘位置被检测到,优选是各两次,由此在成本和结果之间得到了良好的平衡。在条形码的情况下,可以注意根据其代码元素(codeelemente)的取向来选择移位,而这对于2d码并不重要。然而优选地,在2d码在边缘位置中的虚拟示例图像中,至少部分查找器图案应仍然可见,使得解码方法在解码方面做出了非常认真的尝试,因此需要实际的处理时间。70.图13示出了四个这样的虚拟示例图像的示例,其中这些示例图像中的一个也可以是最初物理记录的图像。在左上方和右下方,代码区域位于边缘位置,在右上方和左下方,代码被完全检测到。优选地,被推出边缘的图像内容会在另一侧被重新插入(wraparound(回绕))。71.回到图12,在可选的步骤s14中,现在还模拟运动模糊(motionblur)。模糊的原因不同于根据图3的步骤s4中的散焦。然而,计算过程可以非常相似,例如使用高斯核进行卷积,其中标准偏差对应于模块宽度。例如,该模块宽度是预先给定的或从先前的设置步骤中已知。特别地,可以在代码的每次成功的读取尝试之后重建模块宽度,因为代码图像及其像素区域和其尺寸以及关于代码模块的知识都是可用的。72.在步骤s15中,虚拟示例图像经受类似于根据图3的步骤s5的解码方法,优选地利用在操作中使用的解码器引擎。73.然而,在步骤s16中的评估中,与图3的步骤s6不同,目标优选地不是确定工作点对于读码的适用程度或仍可改进到何种程度。相反,应估计所需的解码器时间,例如平均或最大解码器时间。在操作期间,两次记录之间只有有限的时间可用,因此这个解码器时间是一个重要的度量。特别地,由此可以找到最佳的记录频率。边缘位置的代码对解码器时间的贡献很大,因为解码方法多次重复地尝试读取这些代码。通过虚拟示例图像预测随后操作的现实场景。时间估计是指读取每个代码至少一次(例如,两次),并且代码有可能部分地位于边缘处,因此随机、有利的物理示例图像就绝不会伪装(vorspiegeln)太短的解码器时间。74.针对图3和图12阐述的两个过程可以相互组合起来。这意味着,一方面,两个方法可以依次地或彼此嵌套地执行。然而此外,还可以设想生成以下虚拟示例图像,该虚拟示例图像同时在其记录参数(例如,焦点位置和光敏度)方面以及根据运动而改变。75.图14示出了用于在示例性详细实现中优化工作点的流程图。该阐述涉及在预期不同的对象高度下调节最佳的焦点位置和光敏度,并且补充了对图3的阐述。然而,其他记录参数或解码参数以非常类似的、可转移的方式进行优化。76.优选地,事先已知各种框架条件。这些框架条件包括预期的最小对象高度和最大对象高度、读码器10的安装高度、读码器的定向或者光阑调节,该光阑调节可替代地利用根据本发明的方法进行优化。成像比例或读取场尺寸是已知的或预先计算的。对象30或传送带28的运动速度同样是预先给定或预先测量的。所呈现的示例对象的高度可以例如基于最佳焦点位置来预先给定或测量。在此,读码器10的安装高度和定向可以用于对象30与读码器10之间的距离与对象高度之间的三角转换。77.优选地,还已知两种关系,这两种关系可以以任意形式存储,例如存储为函数或查找表(lut,lookup-table)。可以对这些关系进行建模、模拟或例如在读码器10的最终制造中进行示教。一种关系涉及光敏度与读取距离d的相关性,即具有已知漫反射行为的标准对象的增益(d)函数。第二种关系涉及在与最佳焦点位置存在偏差的情况下的模糊,特别地,该最佳焦点位置可以以高斯核的标准偏差的形式存储或者也可以从物镜特性导出。78.在步骤s21中,确定初始值。这些初始值可以是固定的初始化值。优选地,在所谓的第一次读取中,对静止的示例对象进行已知的优化。与本发明的核心不同,在此尚未生成虚拟示例图像。特别地,在第一次读取中,找到诸如曝光时间、焦点位置和光敏度的重要记录参数的初始值,利用这些初始值可以读取示例对象的代码。在此,也可以选择解码方法或配置解码参数。初始值越好地被调到具有其特定的漫反射特性的物理示例图像,根据本发明的针对动态操作情况的优化就越快地成功,并且优化在参数空间(例如,在局部极值)中迷失(verirren)的可能性就越小。79.在步骤s22中,设定曝光时间。这比较容易,因为该曝光时间可以计算为模块尺寸或模块宽度与运动速度的商。运动速度是已知的或可以测量,模块尺寸也同样是已知的或者最迟可在第一次读取期间知道其他安装参数和记录参数的情况下在第一次读取成功之后确定。利用这样设定的曝光时间,将运动模糊限制到至多一个模块尺寸,其中假设解码方法仍可以容忍这一点。顺便说一下,这种考虑也是图12的步骤s14中模拟的运动模糊程度的原因。80.在步骤s23中,记录所呈现的示例对象的示例图像。为此,在接下来的优化的第一次运行中,将记录参数(特别是焦点位置和光敏度)设定为第一次读取的初始值或可替代地通用的初始值,例如平均对象高度的焦点位置。记录参数在进一步的循环过程中变化。可以直接进行解码尝试,因为如果该解码尝试不成功,则甚至无法处理示例图像的当前设置不可能是所寻求的最佳设置。然后,缩短循环过程或中断整个优化,以便用记录参数的新变化或更好的初始值再次尝试。81.现在,在步骤s24和s25中,还可选地在对应于最小对象高度和最大对象高度的光敏度下记录附加的物理示例图像。换句话说,将生成与示例对象具有最小对象高度或最大对象高度一样亮或暗的示例图像。在步骤s24中,首先为此计算合适的光敏度。当前焦点位置的光敏度已知作为初始值,或在优化循环的随后执行中通过适配于相应的新焦点位置而已知。上面已经介绍了相关性增益(d),利用该增益(d)可以针对具有固定漫反射特性的参考对象将光敏度换算成不同的距离。因此,可以对在焦点位置的示例对象重新缩放光敏度,以便为最小高度和最大高度的对象找到合适的光敏度。82.现在,在步骤s25中,利用在相同的焦点位置下计算出的光敏度,针对最小高度和最大高度的对象记录两个另外的物理示例图像。作为预防措施,也可以再次记录原始示例图像,以排除由于期间的运动而引起的影响。现在,有三个具有三种不同亮度的物理示例图像。83.现在,在步骤s26中,生成虚拟示例图像。这已经针对图3,特别是其步骤s3和s4,在原则上进行了阐述。分别将分辨率提高和降低(上采样/下采样),并且所产生的虚拟示例图像被裁切(在上采样时裁剪)或在边缘处填充(在下采样时)。这可以在以代码重心居中之前进行。优选地,虚拟示例图像仍然利用对应于与焦点位置假设的偏差的模糊进行适配,参见图3中的步骤s4。84.然后,在步骤s27中,用解码方法处理虚拟示例图像。存储相应的二进制或数字的质量度量。可以设想,有些代码是不可读的(noread),这个结果也被存储起来。如果在优化结束时仍然是这种情况,则不能用任何固定的记录参数集来处理整个期望的对象高度范围。85.在步骤s28中,评估解码结果。这用于为下一个优化周期找到合适的变化。在例如以步长迭代参数范围的简单优化方法中,可以省略期间的评估。86.现在,在步骤s29中,针对从步骤s23开始的另一优化周期系统地改变记录参数,特别是焦点位置和光敏度。在此,也检查中断条件,例如是否已经过了可用的优化时间,是否已经完成了预定数量的优化周期,或者是否已达到了期望的一般质量度量。在此,所有常见的优化都是可以设想的。在最简单的情况下,以确定的步长系统地测试初始值周围的参数范围。根据步骤s28中的评估,其他优化(例如,爬山法)朝向预期改善的方向改变记录参数。87.在最后的步骤s30中,在满足终止条件之后,结束优化。在简单的迭代方法中,现在可以对所各种测试的记录参数进行评估。由此,可以选择或内插最佳值。然后设定最佳值,使得其适合尽可能多的预期对象高度。其他优化方法在优化过程中已经假设了记录参数的最佳值,因此取消了在满足中断条件之后的最终评估。例如,如果预期有许多扁平或高的对象,则优化过程或优化结果可以包括对预期的对象或者对象高度的权重。利用如此找到的记录参数,特别是焦点位置和光敏度,针对接下来的操作阶段配置读码器10。88.如果读码器10没有焦点调节,则仍然可以针对其固定的单个焦点位置优化其余参数。也可以设想与手动焦点调节的组合。然后,在步骤s29或s30中,自动优化过程可以向设置人员发出如何为下一个优化步骤或随后的操作设置焦点的详细说明。89.图14更多地涉及焦点位置和光敏度的设定。然而,在运动中读取的过程非常相似,其中补充地参考对图12的阐述。一方面是对焦点位置和光敏度的优化,以及另一方面是对运动的优化,这些优化可以依次进行或互相交织地进行。在步骤s24至s26中,代替虚拟对象高度或除了虚拟对象高度之外,还需考虑运动,即如在图12的步骤s13和s14中所述的那样移动图像内容。在此优选地,生成虚拟示例图像,其中完整地并且在边缘位置中包含代码,以便为解码方法提供示例图像的实际频谱并因此获得对解码器时间的良好估计。模拟运动的图像序列仅可以针对固定的对象高度生成,但也可以针对虚构的最小对象高度或最大对象高度生成。由此,可以获得焦点位置和光敏度的补充的质量度量。对解码器时间的实际估计允许确定相应测试的工作点的可实现的记录频率(帧速率)。这可以用于调节记录频率,但也可以作为丢弃工作点的标准或至少在优化的意义上降低其评估的标准,因为解码器在这里会太慢。90.模块尺寸间隔可以用类似的过程进行测试,或者集成在其中或连接到它。为此,使用缩放系数生成虚拟示例图像,从而产生待读取的最小模块尺寸和最大模块尺寸或模块宽度。然后,尝试对其进行解码。这样可以确保在区间内读取模块尺寸,或者可以输出哪些模块尺寸是可读取的。91.总之,优化是基于实际效果(例如,物理记录的示例图像的曝光时间、焦点位置和光敏度)的混合以及虚拟示例图像的人工或计算异化来实现的。此外,优化可以包括不同的对象高度和运动,即在示例对象的呈现期间并不真正存在的随后操作的动态效果。在此,优选仅唯一一个呈现的示例对象的非常少量的物理记录就足够了,并且由此生成的虚拟示例图像的数量也可以保持较少。因此,这与动态适配于多个真实的对象检测(如部分在开篇提及的现有技术中的情况)或者甚至与机器学习训练所需的示例数量绝对不是相当的。92.可以显示物理的和/或真实的示例图像,以便跟踪优化过程并且必要时也进行干预,例如当虚拟的示例图像不现实或在操作中不符合预期时将其排除。原则上,整个优化过程可以通过查找表来实现。然而,这是极其复杂且不灵活的,例如对于解码器版本的改变。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1