System and method for commissioning a machine vision system - Patents.com

The automatic configuration of machine vision systems using calibration targets addresses inefficiencies in manual commissioning, enhancing accuracy and reducing costs by enabling simultaneous setup of multiple imaging devices.

JP2025515717AActive Publication Date: 2025-05-20COGNEX CORP
View PDF 15 Cites 0 Cited by

Patent Information

Application Number
JP2024566260
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-05-09
Filing Date
2023-05-09
Publication Date
2025-05-20
Estimated Expiration
2043-05-09

AI Technical Summary

Technical Problem

Existing machine vision systems require manual and error-prone commissioning processes for each imaging device, leading to inefficiencies, inconsistent performance, and increased labor costs.

Method used

A method and system for automatically configuring multiple imaging devices in a machine vision system using a specification package and stationary or moving calibration targets, allowing simultaneous setup and identification of imaging devices.

Benefits of technology

Improves the accuracy and efficiency of commissioning machine vision systems by reducing human error and labor costs while ensuring consistent system performance across varying degrees of complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025515717000001_ABST
    Figure 2025515717000001_ABST
Patent Text Reader

Abstract

Methods and systems for commissioning a machine vision system are provided that can automatically configure a machine vision system based on a specification package or otherwise assist a user in configuring a machine vision system.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Provisional Application No. 63 / 339,912 (filed May 9, 2022), the entire contents of which are incorporated herein by reference.

[0002] <Statement Regarding Federally Sponsored Research> none. [Background technology]

[0003] The present technology relates to imaging systems, including machine vision systems configured to acquire and analyze images of objects or symbols, such as bar codes.

[0004] Machine vision systems are typically configured to be used to capture images of objects or symbols and analyze the images to identify the objects or decode the symbols. Thus, machine vision systems typically include one or more devices for image acquisition or image processing. In some applications, such devices may be used to acquire images or analyze acquired images for the purpose of decoding symbols, such as imaged bar codes or text. In some scenarios, machine vision systems or other imaging systems may be used to acquire images of objects that are larger than the field of view ("FOV") of a corresponding imaging device and / or that are moving relative to the imaging device.

[0005] However, before a machine vision system is operational (specifically, before image capture and analysis functions are performed), the machine vision system is commissioned (or configured), calibrated, etc. Some approaches to commissioning a machine vision system include individually commissioning each imaging device included in the machine vision system. For example, a user may identify each imaging device, assign or select a name (or ID) for each imaging device, and configure each imaging device (e.g., with a configuration and / or firmware file associated with the imaging device's technical settings). Such a process may be prone to human error and ultimately lead to inefficiencies in the commissioning of the machine vision system. For example, some commissioning approaches may lead to inconsistent system performance, deviations from established system specifications, and increased labor costs.

[0006] The discussion above is merely for general background information and is not intended to be used as an aid in determining the scope of the claimed invention. Summary of the Invention

[0007] Thus, the embodiments described herein provide a method and system for commissioning a machine vision system for a tunnel. The embodiments described herein automatically set up (or configure) a machine vision system (or tunnel) based on a specification package. In some embodiments described herein, multiple imaging devices of a machine vision system can be configured simultaneously, rather than each being configured individually. However, in some configurations, the techniques described herein can be implemented to automatically configure a machine vision system with a single imaging device. Thus, the techniques described herein can be implemented to automatically configure multiple machine vision systems, including machine vision systems of various degrees of complexity, for example complex machine vision systems with multiple imaging devices and less complex machine vision systems with a single imaging device.

[0008] Some embodiments described herein may use a stationary or moving calibration target to automatically identify and configure each imaging device included in a machine vision system. As an example, the calibration target may have a set of graphic position representations (e.g., symbols, etc.) each of which represents a location of the graphic position representation on the stationary calibration target. Based on one or more images of the calibration target, the appearance and arrangement of the one or more graphic position representations in the one or more images may allow the embodiments described herein to determine the spatial location of a corresponding imaging device relative to the calibration target.

[0009] As used herein, a "tunnel" may refer to a structure that supports one or more imaging devices to obtain imaging data relative to a general scene, which may be a relatively small area (e.g., a tabletop, a discrete section of a transportation system, etc.), and in a given tunnel, the fields of view of the imaging devices may overlap, may not overlap, or a combination thereof. Additionally, as described herein, a tunnel may include any number of imaging devices (e.g., one imaging device, multiple imaging devices, etc.).

[0010] One embodiment provides a method for commissioning an imaging device in a set of imaging devices of a machine vision system. The method can include receiving commissioning data including a set of IDs. The method can also include controlling the imaging device to capture image data of a calibration target. The method can also include identifying an ID from the set of IDs associated with the imaging device based on the captured image data. The method can also include configuring the imaging device based on the identified ID and the commissioning data. The method can also include generating and transmitting a commissioning report for display to a user via a display device. The commissioning report can indicate whether the configuration of the imaging device was successful or not.

[0011] In some embodiments, receiving the commissioning data may include receiving specification data identifying a set of the imaging devices associated with the machine vision system and a technical configuration of each of the imaging devices.

[0012] In some embodiments, the method may further include generating and transmitting for display to the user via the display device a commissioning details user interface that may prompt the user to select commissioning parameters, and receiving a set of the commissioning parameters based on user input entered via the commissioning details user interface, which may include at least one of a tunnel ID, a site ID, or an operator ID.

[0013] In some embodiments, generating and transmitting the commissioning report may include generating and transmitting a commissioning report that includes the set of commissioning parameters.

[0014] In some embodiments, the method may further include generating and transmitting for display to the user via the display device a procedure user interface capable of prompting the user to select procedure parameters, and receiving the set of procedure parameters based on user input entered via the procedure user interface, The set of procedure parameters may include at least one selected from the group consisting of a commissioning procedure, calibration target details (e.g., material of the calibration target, identification of a particular type of calibration target, or dimensions of the calibration target).

[0015] In some embodiments, determining an identity of the imaging device may include determining an identity of the imaging device using the set of procedure parameters.

[0016] In some embodiments, the method may further include generating and transmitting for display to the user via the display device a pre-commissioning checklist user interface, which may include a set of pre-commissioning tasks to be performed before commissioning, and receiving user confirmation that each pre-commissioning task in the set of pre-commissioning tasks has been completed.

[0017] In some embodiments, configuring the imaging device based on the ID may include configuring the imaging device based on the ID upon receiving user input confirming association of the imaging device to the ID.

[0018] In some embodiments, the method may further include generating and outputting for display to the user via the display device an automatic naming user interface capable of indicating an identification status of each imaging device included in the set of imaging devices.

[0019] In some embodiments, generating and outputting the auto-naming user interface includes generating and outputting an auto-naming user interface indicating that a particular imaging device in the set of imaging devices is not associated with an ID.

[0020] In some embodiments, the method may further include receiving a user-selected ID for the particular imaging device based on user interaction with the auto-naming user interface, The user-selected ID may be an ID included in a list of remaining IDs included in the auto-naming user interface.

[0021] In some embodiments, the list of remaining IDs may be generated based on IDs that are not already associated with any of the imaging devices.

[0022] In some embodiments, each ID in the set of IDs may be associated with at least one imaging device in the set of imaging devices.

[0023] Another embodiment provides a system for commissioning an imaging device in a set of imaging devices for a machine vision system. The system may include at least one electronic processor. The at least one electronic processor may be configured to receive commissioning data including a set of IDs. The at least one electronic processor may be configured to receive a set of commissioning parameters based on user input entered through a commissioning details user interface. The at least one electronic processor may be configured to receive a user confirmation based on user input entered through a pre-commissioning checklist user interface. The user confirmation may confirm that each pre-commissioning task in a set of pre-commissioning tasks has been completed. The at least one electronic processor may be configured to control the imaging device to capture image data of a calibration target. The at least one electronic processor may be configured to identify an ID associated with the imaging device from among the set of IDs based on the captured image data. The at least one electronic processor may be configured to configure the imaging device based on the ID and the commissioning data. The at least one electronic processor can be configured to generate and transmit for display to a user via a display device a commissioning report, the commissioning report indicating whether configuration of the imaging device was successful and including the set of commissioning parameters.

[0024] In some embodiments, each ID in the set of IDs is associated with at least one imaging device in the set of imaging devices.

[0025] Yet another embodiment provides a method of commissioning a machine vision system for a tunnel. The method may include controlling acquisition of a plurality of images, including controlling each of a plurality of imaging devices to cause the imaging devices to capture an image of a calibration object. Each of the plurality of imaging devices may have a factory calibration. The method may further include specifying, for each of the plurality of imaging devices, a field calibration or other configuration based on the images acquired by the imaging device. The method may further include specifying, for each of the plurality of imaging devices, an update calibration based on the factory calibration and the field calibration for the imaging device.

[0026] In some embodiments, the method may further include determining an identity of at least one imaging device of the plurality of imaging devices based on the updated calibration.

[0027] In some embodiments, the ID can be determined without calibrating the at least one imaging device of the multiple imaging devices with respect to a task coordinate system that includes the calibration object.

[0028] In some embodiments, capturing an image for each of the plurality of imaging devices may include capturing the images such that an image for a first imaging device of the plurality of imaging devices and an image for a second imaging device of the plurality of imaging devices include imaging data representative of a plurality of identical features in the calibration object, the plurality of identical features including a plurality of symbols on the calibration object that encode corresponding position information on the calibration object.

[0029] In some embodiments, the plurality of images may include a first plurality of images including the calibration object at a first location and a second plurality of images including the calibration object at a second location.

[0030] In some embodiments, the calibration object may be a first calibration object, and an image of one or more imaging devices of the multiple imaging devices may include the first calibration object and a second calibration object.

[0031] In some embodiments, determining the updated calibration based on the factory calibration and the field calibration may include determining a transformation between calibrations for a plurality of the imaging devices based on the images including the first calibration object and the second calibration object.

[0032] Yet another embodiment provides a method of commissioning a machine vision system for a tunnel. The method can include receiving tunnel commissioning data with one or more electronic processors. The method can further include generating, with the one or more electronic processors, a graphical user interface (GUI) for display including a graphical representation of a virtual tunnel representative of the tunnel being commissioned. The method can receive, with the one or more electronic processors, a first selection via the GUI selecting an imaging device for the tunnel. The method can include controlling an indicator of the imaging device with the one or more electronic processors. The method can further include receiving, with the one or more electronic processors, a second selection via the GUI. The second selection can select a virtual imaging device for the virtual tunnel. A position of the virtual imaging device in the virtual tunnel can correspond to a position of the imaging device in the tunnel. The method can include identifying a corresponding ID for the imaging device based on the second selection with the one or more electronic processors. The method may further include configuring, with the one or more electronic processors, the imaging device based on the corresponding ID and the commissioning data. The method may further include generating, with the one or more electronic processors, a commissioning report and transmitting for display to a user via a display device. The commissioning report may indicate whether the configuration of the imaging device was successful.

[0033] This Summary and Abstract is intended to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description, and is not intended to identify key or essential elements of the claimed invention, nor is it intended to be used as an aid in determining the scope of the claimed invention.

[0034] The accompanying drawings are intended to help illustrate various configurations of non-limiting examples of the present disclosure and are not intended to limit the scope of the present disclosure or to exclude alternative embodiments. [Brief description of the drawings]

[0035] [Figure 1A] FIG. 1 illustrates a schematic diagram of an example of a system for capturing multiple images on each side of an object according to some embodiments. [Figure 1B] FIG. 1 illustrates a schematic diagram of an example of a system for capturing multiple images on each side of an object according to some embodiments. [Diagram 2] FIG. 2 illustrates a schematic diagram of another example of a system for capturing multiple images on each side of an object according to some embodiments. [Diagram 3] FIG. 2 illustrates a schematic diagram of another example of a system for capturing multiple images on each side of an object in accordance with some embodiments. [Figure 4] FIG. 1 illustrates a schematic diagram of a system for commissioning a machine vision system in a tunnel according to some embodiments. [Diagram 5] FIG. 5 is a schematic diagram illustrating a server included in the system of FIG. 4 in some embodiments. [Figure 6] 5 is a flow chart illustrating a method for commissioning a machine vision system for a tunnel using an automatic naming process to identify one or more imaging devices associated with the tunnel in some embodiments, the commissioning being performed using the system of FIG. [Figure 7] FIG. 13 illustrates an example commissioning details user interface of some embodiments. [Figure 8] FIG. 13 illustrates an example application details checklist user interface of some embodiments. [Figure 9] FIG. 1 illustrates an example pre-commissioning checklist user interface of some embodiments. [Figure 10] FIG. 1 illustrates an example technique user interface of some embodiments. [Figure 11] FIG. 1 illustrates an example automatic naming user interface of some embodiments. [Figure 12] FIG. 1 illustrates an example automatic naming user interface of some embodiments. [Figure 13] FIG. 1 illustrates an example automatic naming user interface of some embodiments. [Figure 14] FIG. 13 illustrates an example device configuration user interface for some configurations. [Figure 15] FIG. 13 illustrates an example confirmation dialog box of some embodiments. [Figure 16] FIG. 1 illustrates an example network configuration user interface of some embodiments. [Figure 17] FIG. 13 illustrates an example bank validation user interface of some embodiments. [Figure 18] FIG. 13 illustrates an example bank validation user interface of some embodiments. [Figure 19] FIG. 13 illustrates an example bank validation user interface of some embodiments. [Figure 20] FIG. 13 illustrates an example bank validation user interface of some embodiments. [Figure 21] FIG. 13 illustrates an example bank validation user interface of some embodiments. [Figure 22] 1 is a flow chart illustrating a method for commissioning a machine vision system for a tunnel using a manual naming process to identify one or more imaging devices associated with the tunnel in some embodiments. [Diagram 23] 1 illustrates an example graphical user interface associated with a manual naming process for some configurations. [Figure 24] 1 illustrates an example graphical user interface associated with a manual naming process for some configurations. [Figure 25A] FIG. 1 illustrates an example factory calibration system that can be used to find the transformation between image coordinate space and calibration target coordinate space of some embodiments. [Figure 25B] 1 illustrates example coordinate spaces and other aspects for calibration processes including field calibration and factory calibration, including capture of images of one or more sides of an object in some embodiments. [Figure 25C] FIG. 1 illustrates an example field calibration process for generating an imaging device model that can be used to transform coordinates of an object in three-dimensional coordinate space, including capturing images of one or more sides of the object in some embodiments. [Figure 26A] FIG. 1 illustrates an example field calibration process associated with different positions of the calibration target(s) of some embodiments. [Figure 26B] FIG. 1 illustrates an example field calibration process associated with different positions of the calibration target(s) of some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0036] As mentioned above, a machine vision system (with one or more imaging devices) is generally configured to capture an image of an object or symbol and analyze the image for use in identifying the object or decoding the symbol. Machine vision systems may vary in complexity (e.g., number of imaging devices, etc.). For example, a high complexity machine vision system may have multiple imaging devices, whereas a low complexity machine vision system may have only one imaging device. Thus, in some examples, a machine vision system may have only one imaging device. In other examples, a machine vision system may have multiple imaging devices.

[0037] However, before a machine vision system is implemented (specifically, before image capture and analysis functions are performed), the machine vision system is commissioned, calibrated, etc. Some approaches to commissioning a machine vision system allow each imaging device included in the machine vision system to be commissioned individually. As an example, according to some approaches, a user may identify each imaging device, assign or select a name (or ID) for each imaging device, and configure each imaging device (e.g., with a configuration or firmware file associated with the imaging device's technical settings). Such a process is prone to human error and ultimately leads to inefficiencies in the commissioning of the machine vision system. As an example, some commissioning approaches may lead to inconsistent system performance, deviations from established system specifications, and increased labor costs.

[0038] Thus, the embodiments described herein provide a method and system for commissioning a machine vision system (e.g., a machine vision system for a tunnel) to improve the accuracy, efficiency, etc. of commissioning the machine vision system. The embodiments described herein automatically set up (or configure) the machine vision system (or tunnel) based on a specification package (e.g., a specification package file, a package folder, or a package database (or package entity), etc.). Alternatively or additionally, some embodiments described herein may use stationary or moving calibration targets to automatically identify and configure each imaging device included in the machine vision system. Thus, some embodiments described herein may configure multiple imaging devices of a machine vision system simultaneously (i.e., each imaging device may not be configured individually). However, in some configurations, the techniques described herein may be embodied to automatically configure a machine vision system with a single imaging device. Thus, the techniques described herein may be embodied to automatically configure machine vision systems of various degrees of complexity, including machine vision systems with a single imaging device and machine vision systems with multiple imaging devices.

[0039] 1A is a schematic diagram of an example of a system 100 for capturing multiple images on each side of an object according to an embodiment of the present technology. In some embodiments, the system 100 may be configured to evaluate symbols (e.g., barcodes, two-dimensional ("2D") codes, fiducials, hazardous materials, or other labels, etc.) on objects (e.g., objects 118a, 118b, etc.) passing through the tunnel 102, such as symbol 120 on object 118a, including assigning the symbol to the object (e.g., 118a, 118b). In some embodiments, the symbol 120 is a planar barcode on the top surface of object 118a, and objects 118a and 118b are generally rectangular boxes. Additionally or alternatively, in some embodiments, the geometry of the object being imaged may be any suitable shape, and any of a variety of symbols and symbol locations may be imaged and evaluated, including non-direct part marking ("DPM") symbols and DPM symbols on the top or any other side of the object. Alternatively or additionally, in some embodiments, non-symbol recognition techniques may be implemented. As an example, some embodiments may include vision-based recognition of non-symbol-based features, such as one or more edges of an object.

[0040] As shown in FIG. 1A, objects 118a and 118b are disposed on a conveyor 116. The conveyor 116 is configured to move objects 118a and 118b in a travel direction (e.g., horizontally from left to right) through the tunnel 102 at a relatively predictable and continuous speed or at a variable speed measured by a device such as a motion measurement device (e.g., an encoder, etc.). Additionally or alternatively, objects 118a and 118b may move through the tunnel 102 in other manners (e.g., non-linear movement, etc.). Although the embodiments described herein are described with respect to a conveyor-type transport system, it should be understood that the embodiments described herein may be implemented using other types of transport systems.

[0041] In some embodiments, system 100 may include one or more imaging devices 112 and image processing device 132. As an example, system 100 may include multiple imaging devices 112 in a tunnel arrangement (e.g., implementing a portion of tunnel 102), representatively represented by imaging devices 112a, 112b, and 112c, each having a respective field of view ("FOV"), representatively represented by FOVs 114a, 114b, and 114c, that includes a portion of conveyor 116.

[0042] In some configurations, the number of imaging devices 112 included in the system 100 may be more or less than that shown in FIG. 1A. As an example, the system 100 may include only one imaging device, such as (a) imaging device 112a, (b) imaging device 112b, or (c) imaging device 112c. As another example, the system 100 may include two imaging devices, such as (a) imaging device 112a and imaging device 112b, (b) imaging device 112a and imaging device 112c, or (c) imaging device 112b and imaging device 112c, etc. As yet another example, the system 100 may include additional imaging devices other than those shown in FIG. 1A. Thus, the number of imaging devices included in the system 100 may be any number, including one.

[0043] In some embodiments, each imaging device 112 may be positioned at an angle to the top or side of the conveyor (e.g., at an angle to a normal to the symbols on objects 118a and 118b or to a direction of travel), thereby creating an angled FOV. Also, portions of the FOV may overlap other FOVs (e.g., FOV 114a with FOV 114b). In such embodiments, system 100 may be configured to capture one or more images of multiple sides of objects 118a and / or 118b as they are moved by conveyor 116. In some embodiments, the captured images may be used to identify and / or assign symbols (e.g., symbol 120, etc.) on each object, which may then be decoded or analyzed (if appropriate for the application). In some embodiments, a gap in the conveyor 116 can facilitate imaging the bottom surface of the objects (e.g., as described in U.S. Patent Application Publication No. 2019 / 0333259, filed April 25, 2018, the contents of which are incorporated herein by reference) using an imaging device or array of imaging devices (not shown) located below the conveyor 116. In some embodiments, images captured from the bottom surface of the objects can also be used to identify symbols on the objects and / or assign symbols to each object, which can then be decoded (if appropriate). Although two arrays of three imaging devices 112 are shown imaging the tops of objects 118a and 118b, and four arrays of two imaging devices 112 are shown imaging the sides of objects 118a and 118b, this is by way of example only, and any suitable number of imaging devices 112 can be used to capture images of one side or multiple different sides of an object (including, for example, having one imaging device to capture images of one side of an object. As an example, each array can include four or more imaging devices 112.As another example, system 100 may include only one imaging device (as opposed to an array including multiple imaging devices).

[0044] Additionally, while imaging devices 112 are generally shown imaging objects 118a and 118b without the use of mirrors to steer the FOV, this is by way of example only, and as described below with reference to Figures 2 and 3, one or more fixed and / or movable mirrors may be used to steer the FOV of one or more of imaging devices 112 to reduce the vertical or lateral distance between imaging device 112 and objects 118a, 118b within tunnel 102. For example, imaging device 112a may be positioned with its optical axis parallel to conveyor 116, and one or more mirrors may be positioned above tunnel 102 to steer the FOV from imaging device 112a toward the front and top of objects 118a, 118b within tunnel 102.

[0045] In some embodiments, the imaging device 112 may be implemented using any suitable type of imaging device. As an example, the imaging device 112 may be implemented using a 2D imaging device (e.g., a 2D camera), such as an area scan camera and / or a line scan camera. In some embodiments, the imaging device 112 may be an integrated system including a lens assembly and an imaging element, such as a CCD or CMOS sensor. In some embodiments, the imaging device 112 may include one or more image sensors, at least one lens array, and at least one controller (e.g., an electronic processor, etc.) configured to perform computational operations related to the image sensor. Each imaging device 112a, 112b, or 112c may selectively acquire image data from a different FOV, a different region of interest ("ROI"), or a combination thereof. In some embodiments, the system 100 may be used to acquire multiple images of each side of an object, where the one or more images may include multiple objects. Alternatively, in some embodiments, the system 100 may use one imaging device to acquire multiple images of at least one side of an object, where the one or more images may include multiple objects. The multiple images of each side can be used to assign symbols in an image to objects in the image. The objects 118a, 118b, 118c can be associated with one or more symbols, such as a barcode, a QR code, etc. In some embodiments, the system 100 can be configured to facilitate imaging the bottom side of the objects supported by the conveyor 116 (e.g., the side of the objects 118a, 118b, 118c that rests on the conveyor 116, etc.). As an example, the conveyor 116 can be implemented with a gap.

[0046] In some embodiments, a gap 122 is provided between the objects 118a, 118b. Different implementations may have different sizes of the gap between the objects. In some implementations, the gap between the objects may be substantially the same between all object sets in the system, or may have a fixed minimum size for all object sets in the system. In some embodiments, the gap size may be small to maximize the throughput of the system.

[0047] In some embodiments, system 100 may include a dimensioning system (not shown), sometimes referred to herein as a "dimensioner." The dimensioner may measure a dimension of an object moving on conveyor 116 toward tunnel 102. The dimension may be used (e.g., by image processor 132, etc.) in a process of assigning a symbol to the object or objects in images captured as the object or objects pass through tunnel 102. System 100 may further include a device (e.g., a motion measuring device, such as an encoder) for tracking the physical movement of an object (e.g., objects 118a, 118b, 118c, etc.) on conveyor 116 through tunnel 102.

[0048] FIG. 1B illustrates an example of a system 140 for capturing multiple images of each side of objects 118d, 118e according to an embodiment of the present technology. FIG. 1B illustrates a simplified view of the system 140 to illustrate an example of the placement of dimensioners and motion measurement devices (e.g., encoders, etc.) relative to the tunnel. As previously described, the system 140 may include a dimensioner 150 and a motion measurement device 152. In the illustrated example, the conveyor 116 may be configured to move the objects 118d, 118e along a direction indicated by the arrow 154 past the dimensioner 150 before the objects 118d, 118e are imaged by the imaging device 112. In the illustrated example, the system 140 includes one imaging device 112. However, in some configurations, the system 140 may include more imaging devices 112 than are illustrated in FIG. 1B.

[0049] In the illustrated embodiment, a gap 156 is provided between objects 118d and 118e. The image processor 132 may be in communication with the imaging device 112, the dimensioner 150, and the motion measurement device 152. The dimensioner 150 may be configured to determine a size and / or a position of an object (such as object 118d or 118e) supported by the support structure at a particular time. As an example, the dimensioner 150 may be configured to measure a distance from the dimensioner 150 to a top surface of the object 118d, 118e, and may be configured to measure a size and / or an orientation of a surface facing the dimensioner 150.

[0050] In some embodiments, the dimensioner 150 can be implemented using various technologies. As an example, the dimensioner 150 can be implemented using a 3D camera (e.g., a structured light 3D camera, a continuous time-of-flight 3D camera, etc.). As another example, the dimensioner 150 can be implemented using a laser scanning system (e.g., a LiDAR system, etc.). As a specific example, the dimensioner 150 can be implemented using a 3D-A1000 system provided by Cognex. In some embodiments, the dimensioning system or the dimensioner 150 (e.g., calculated from a time-of-flight sensor or stereo) can be implemented in a single device or enclosure with the imaging device 112 (e.g., a 2D camera, etc.), and in some embodiments, an electronic processor (e.g., such as can be used as the image processor 132) can also be implemented in a device with the dimensioner 150 and the imaging device 112. Unless otherwise specified, the term "electronic processor" is intended to encompass a wide range of processing devices, including distributed processing capabilities (e.g., parallel processing capabilities, or spatially separated processing capabilities).

[0051] In some embodiments, the dimensioner 150 can measure 3D coordinates of each corner of the objects 118d, 118e in a coordinate space defined with respect to one or more parts of the system 140. As an example, the dimensioner 150 can measure 3D coordinates of each of the eight corners of the at least approximately rectangular shaped objects 118d, 118e in a Cartesian coordinate space, the origin of which can be the dimensioner 150. As another example, the dimensioner 150 can measure 3D coordinates of each of the eight corners of the at least approximately rectangular shaped objects 118d, 118e, the 3D coordinates can be 3D coordinates in a Cartesian coordinate space with respect to the conveyor 116 (e.g., with the center of the conveyor 116 as the origin).

[0052] In some embodiments, the motion measurement device 152 may be linked to the conveyor 116 and the imaging device 112 to provide electronic signals to the imaging device 112 and / or image processor 132 indicative of the amount of movement of the conveyor 116 and the objects 118d, 118e supported thereon over a known time period. Such an arrangement may be useful, for example, in applications where the system 140 includes multiple imaging devices 112, to coordinate the capture of images of particular objects (e.g., objects 118d, 118e, etc.) based on the calculated relative position of the object 118d, 118e to the field of view of the associated imaging device (e.g., imaging device(s) 112, etc.). In some embodiments, the motion measurement device 152 may be configured to generate a pulse count (e.g., an encoder pulse count, etc.) that may be used to identify the position of the conveyor 116 in the direction of travel (e.g., the direction of the arrow 154, etc.). As an example, the motion measurement device 152 may provide a pulse count to the image processor 132 to identify and track the position of an object (e.g., objects 118d, 118e, etc.) on the conveyor 116. In some embodiments, the motion measurement device 152 may increment a pulse count (e.g., an encoder pulse count, etc.) each time the conveyor 116 moves a predetermined distance (the pulse count distance) in the direction of the arrow 154. In some embodiments, the positions of the objects 118d, 118e may be determined based on the initial position, the change in pulse count, and the pulse count distance.

[0053] In some embodiments, the image processor 132 (or controller) can coordinate the operation of the various components of the system 100, 140. For example, the image processor 132 can control a dimensioner (such as the dimensioner 150 shown in FIG. 1B) to obtain dimensions of an object placed on the conveyor 116, and cause the imaging devices 112 to capture images of each side of the object placed on the conveyor 116. In some embodiments, the image processor 132 can control the detailed operation of each imaging device 112, for example, by providing trigger signals to cause the imaging devices 112 to capture images at specific times. Alternatively, or in addition, in some embodiments, the image processor 132 can configure other devices to capture images with different parameters (as opposed to typical production operating parameters). In some embodiments, the detailed operation of one or more of the imaging devices 112 can alternatively be controlled by other devices (e.g., an electronic processor in one or more of the imaging devices 112, a separate controller, etc.). As an example, the image processing device 132 (and / or other suitable devices) may be configured to provide a trigger signal to each imaging device 112 and / or dimensioner (such as dimensioner 150 shown in FIG. 1B ) such that the electronic processor of each imaging device 112 responds to the trigger by executing a pre-specified image acquisition sequence covering a predetermined region of interest.

[0054] It should be noted that systems 100, 140 may include one or more light sources (not shown) for illuminating the surface of object 118. The operation of such light sources may be coordinated by a central unit (e.g., image processor 132, etc.) and / or the control may be distributed (e.g., imaging device 112 may control the operation of one or more light sources, with an electronic processor associated with the one or more light sources controlling the operation of the light sources, etc.).

[0055] As an example, in some embodiments, systems 100, 140 may be configured to capture images of multiple sides of object 118 simultaneously (e.g., at the same time or during a common period of time), including simultaneously as part of a trigger event. As an example, each imaging device 112 may be configured to capture its own set of one or more images over a common period of time. Additionally or alternatively, in some embodiments, imaging devices 112 may be configured to capture images based on a trigger event. As an example, imaging devices 112 may each capture images of a corresponding side of an object (e.g., objects 118a-118e) based on a sensor (e.g., a contact sensor, a presence detection sensor, imaging device 112, etc.) determining that the object (e.g., objects 118a-118e) has entered the field of view of imaging device 112.

[0056] As mentioned above, one or more fixed and / or movable mirrors can be used to steer the FOV of one or more of the imaging devices 112, thereby reducing the vertical or lateral distance between the one or more imaging devices 112 and the object 118 in the tunnel 102. Figure 2 is a schematic diagram of another example of a system 200 for capturing multiple images on each side of an object 208a, 208b according to an embodiment of the present technology. The system 200 includes multiple banks of imaging devices 212, 214, 216, 218, 220, 222 and multiple mirrors 224, 226, 228, 230 in a tunnel arrangement 202.

[0057] In some configurations, tunnel arrangement 202 may include additional or different components in various locations or arrangements beyond those shown in the example of Figure 2, or may include fewer components than the example of Figure 2. For example, in some instances, system 200 may include only one imaging device bank, only one imaging device, only one mirror, etc. As another example, in some instances, each imaging device bank may include more or fewer imaging devices than those shown in the example arrangement of Figure 2.

[0058] 2 includes a left trailing bank 212, a left leading bank 214, an upper trailing bank 216, an upper leading bank 218, a right trailing bank 220, and a right leading bank 222. In the illustrated embodiment, each bank 212, 214, 216, 218, 220, 222 includes four imaging devices configured to capture images of one or more sides of an object (such as object 208a) and images of multiple different fields of view of one or more sides of objects 208a, 208b. As an example, upper trailing bank 216 and mirror 228 can be configured to capture images of the top and back of object 208a using imaging devices 234, 236, 238, and 240. In the illustrated embodiment, the imaging device banks 212, 214, 216, 218, 220, 222 and mirrors 224, 226, 228, 230 may be mechanically coupled to a support structure 242 above the conveyor 204. It is noted that while the relative mounting locations of the imaging device banks 212, 214, 216, 218, 220, 222 relative to one another may be advantageous, in some embodiments the orientation of the imaging devices for imaging different sides of an object may be altered relative to the locations shown in FIG. 2 (e.g., the imaging devices may be offset, the imaging devices may be located at a corner rather than at the face of the object, etc.). Also, while there are advantages to using four imaging devices per bank, each configured to capture image data from one or more sides of an object, in some embodiments a different number or arrangement of imaging devices (including one imaging device), different arrangements of mirrors (e.g., using a moveable mirror, using additional fixed mirrors, etc.) may be used to configure a particular imaging device to capture images of multiple sides of an object. In some embodiments, an imaging device may be dedicated to capturing images of multiple sides of an object, including cases where the capture areas overlap with respect to other imaging devices included in the same system.

[0059] In some embodiments, the system 200 also includes a dimensioner 206 and an image processor 232. As previously mentioned, multiple objects 208a, 208b, and 208c may be supported on the conveyor 204 and passed through the tunnel arrangement 202 along a direction indicated by arrow 210. In some embodiments, each imaging device bank 212, 214, 216, 218, 220, 222 (and each imaging device within a bank) may generate a set of images depicting a field of view, or multiple different fields of view, of a particular side or sides of an object (such as object 208a) supported on the conveyor 204.

[0060] It should be noted that while FIGS. 1A, 1B, and 2 depict a movable dynamic support (e.g., conveyor 116, conveyor 204, etc.), in some embodiments, a stationary support structure can be used to support an object imaged by one or more imaging devices. FIG. 3 illustrates another example of a system for capturing multiple images of each side of an object according to an embodiment of the present technology. In some embodiments, the system 300 can include multiple imaging devices 302, 304, 306, 308, 310, and 312, each of which can include one or more image sensors, at least one lens array, and at least one controller (e.g., processor, etc.) configured to perform computational operations related to the image sensor. In some embodiments, the system 300 can include additional, different, or fewer components than those depicted in FIG. 3. For example, in some configurations, system 300 may include one imaging device, such as imaging device 302, imaging device 304, imaging device 306, imaging device 308, imaging device 310, or imaging device 312. Thus, system 300 may include any number or combination of imaging devices, such as three, four, etc. imaging devices.

[0061] In some embodiments, the imaging devices 302, 304, 306, 308, 310, and / or 312 may comprise and / or be associated with a movable mirror (e.g., as described in U.S. Patent Application No. 17 / 071,636, filed October 13, 2020, the entire contents of which are incorporated herein by reference). Each imaging device 302, 304, 306, 308, 310, and / or 312 may selectively acquire image data from different fields of view (FOVs) depending on the orientation of the associated movable mirror. In some embodiments, the system 300 may be used to acquire multiple images of each side of an object.

[0062] In some embodiments, the system 300 can be used to capture images of multiple objects presented for image capture. By way of example, the system 300 can include a support structure supporting each of the imaging devices 302, 304, 306, 308, 310, 312, and a platform 316 configured to support one or more objects 318, 334, 336 to be imaged (wherein each object 318, 334, 336 can be associated with one or more symbols, such as a barcode, a QR code, etc.). By way of example, a transport system (not shown) including one or more robotic arms (e.g., a robotic bin picker, etc.) can be used to place the multiple objects on the platform 316 (e.g., in bins or other containers on the platform 316). In some embodiments, the support structure can be configured as a cage-like support structure. However, this is by way of example only, and the support structure can be realized in a variety of configurations. In some embodiments, the support platform 316 may be configured to facilitate imaging a bottom side (e.g., a side of the object 318, 334, or 336 that rests on the platform 316) of one or more objects supported by the support platform 316. By way of example, the support platform 316 may be implemented using a transportation platform, a mesh or grid platform, an open center platform, or any other suitable configuration. Capturing an image of the bottom side may be substantially similar to capturing the other sides of the object, except for the presence of the support platform 316.

[0063] In some embodiments, the imaging devices 302, 304, 306, 308, 310, and / or 312 may be oriented such that each side of an object (such as object 318) disposed on or supported by the support platform 316 may be imaged by the imaging devices 302, 304, 306, 308, 310, and / or 312 such that the FOV of the imaging device may be used to obtain an image of a particular side of the object placed on the support platform 316. As an example, the imaging device 302 may be mechanically coupled to a support structure above the support platform 316 and positioned such that the imaging device 302 faces the top surface of the support platform 316, the imaging device 304 may be mechanically coupled to a support structure below the support platform 316, and each of the imaging devices 306, 308, 310, and / or 312 may be mechanically coupled to a side of the support structure such that the FOV of each imaging device 306, 308, 310, and / or 312 faces the side of the support platform 316.

[0064] In some embodiments, the optical axis of each imaging device can be configured to be substantially parallel to one other imaging device (e.g., when the movable mirror is in a neutral position) and perpendicular to the other imaging device. As an example, imaging devices 302 and 304 can be configured to face each other (e.g., such that the optical axes of imaging devices 302 and 304 are substantially parallel) and the optical axis of the other imaging device can be configured to be orthogonal to the optical axes of imaging devices 302 and 304.

[0065] It should be noted that while the relative mounting positions of imaging devices 302, 304, 306, 308, 310, and 312 relative to one another may be advantageous, in some embodiments the orientation of the imaging devices for imaging different sides of the object may be changed relative to the positions shown in FIG. 3 (e.g., the imaging devices may be offset, the imaging devices may be placed at corners rather than faces of the object, etc.). Also, while there are advantages (e.g., faster acquisition speed) to using six imaging devices each configured to capture imaging data from a corresponding side of the object (e.g., six faces of object 118), in some embodiments a different number or arrangement of imaging devices (including one imaging device), different arrangements of mirrors (e.g., using a fixed mirror, using additional moveable mirrors, etc.) may be used to configure a particular imaging device to capture images of multiple sides of the object. As an example, fixed mirrors may be used in place of imaging devices 308 and 312, positioned to allow imaging devices 306 and 310 to capture images of the far side of object 318. In some embodiments, the system 300 may be configured to image each of a number of objects 318 , 334 , 336 on the platform 316 .

[0066] In some embodiments, the system 300 can include a dimensioner 330. As described above with reference to FIGS. 1A, 1B, and 2, the dimensioner 330 can be configured to determine the size and / or location of an object (e.g., object 318, 334, or 336, etc.) supported by the support platform 316. As described above, in some embodiments, the dimensioner 330 can measure 3D coordinates of each corner of the object in a coordinate space defined with respect to one or more parts of the system 300. As an example, the dimensioner 330 can measure 3D coordinates of each of eight corners of an object having at least a substantially rectangular parallelepiped shape in a Cartesian coordinate space, where the origin of the Cartesian coordinate space can be the dimensioner 330. As another example, the dimensioner 330 can measure 3D coordinates of each of eight corners of an object having at least a substantially rectangular parallelepiped shape, where the 3D coordinates can be 3D coordinates in a Cartesian coordinate space with respect to the support platform 316 (e.g., with the center of the support platform 316 as the origin).

[0067] In some embodiments, the image processor 332 may coordinate the operation of the imaging devices 302, 304, 306, 308, 310 and / or 312 and / or perform image processing tasks as described above with reference to the image processor 132 of FIG. 1A.

[0068] FIG. 4 is a schematic diagram of a system 400 for commissioning a machine vision system for a tunnel, according to some embodiments. In the illustrated example, the system 400 includes a tunnel subsystem 405, a server 410, and a user device 415. In some embodiments, the system 400 includes fewer components than in FIG. 4, or includes additional or different components than those shown in FIG. 4, arranged differently. As an example, the system 400 can include multiple tunnel subsystems 405, multiple servers 410, multiple user devices 415, or a combination thereof. As another example, one or more components of the system 400 can be combined into a single device, such as the server 410 and a database.

[0069] The tunnel subsystem 405, the server 410, and the user device 415 communicate over one or more wired or wireless communication networks 430. Portions of the communication network 430 may be implemented using a wide area network, such as the Internet, a local area network, such as a Bluetooth® network or WiFi®, and combinations or derivatives thereof. Alternatively or additionally, in some embodiments, the components of the system 400 may communicate directly as opposed to communicating over the communication network 430. Also, in some embodiments, the components of the system 400 communicate through one or more intermediate devices not shown in FIG. 4.

[0070] As shown in Figure 4, the tunnel subsystem 405 can include one or more imaging devices 440, an image processor 445, and a support structure 450. The imaging devices 440, the image processor 445, and the support structure 450 can communicate wirelessly over one or more communication lines or buses, or a combination thereof. In some embodiments, the tunnel subsystem 405 includes fewer components than Figure 4, or includes additional or different components than those shown in Figure 4, arranged differently than in Figure 4.

[0071] For example, in some embodiments, the tunnel subsystem 405 can comprise the example systems (or components thereof) shown in FIGS. 1A, 1B, 2, and 3 (e.g., systems 100, 140, 200, and / or 300). As an example, the tunnel subsystem 405 can comprise a dimensioning system as described in detail above, such as one or more of the dimensioners 150, 206, and / or 330 described above, as described in detail above. As another example, the tunnel subsystem 405 can comprise multiple image processors 445, multiple support structures 450, etc. As yet another example, in some configurations, the tunnel subsystem 405 can comprise a single imaging device 440. Alternatively, in other configurations, the tunnel subsystem 405 can comprise multiple imaging devices 440. As yet another example, one or more components of the tunnel subsystem 405 can be combined into a single device. For example, in some embodiments, as described above, each of one or more imaging devices 440 may be associated with a corresponding imaging processor (e.g., imaging processor 445), and thus, in some embodiments, tunnel subsystem 405 may include multiple imaging processors 445. In such embodiments, imaging device 440 and corresponding imaging processor 445 may be housed in the same housing or combined in a single device.

[0072] Thus, tunnel subsystem 405 of Figure 4 may include similar functionality and / or components as those described above with reference to Figures 1A, 1B, 2, and 3. For example, imaging device 440 may be similar to imaging devices 112, 234, 236, 238, and / or 240, etc., as described in detail above, imaging processor 445 may be similar to imaging processor 132, 232, and / or 332, etc., as described in detail above, and support structure 450 may be similar to, for example, conveyor 116 and / or 204 and / or platform 316, as described in detail above.

[0073] The server 410 is a computing device such as a server or a database. As shown in FIG. 5, the server 410 includes an electronic processor 500, a memory 505, and a communication interface 510. The electronic processor 500, the memory 505, and the communication interface 510 communicate wirelessly over one or more communication lines or buses, or a combination thereof. The server 410 may include additional components in various configurations in addition to the components shown in FIG. 5. For example, the server 410 may communicate with or include one or more human machine interfaces, such as a keyboard, a keypad, a mouse, a joystick, a touch screen, a display device, a printer, a speaker, etc., that receive input from a user, provide output to a user, or a combination thereof. The server 410 may also perform additional functions beyond those described herein. Additionally, the functions performed by server 410 described herein may be distributed among multiple servers or devices (e.g., as part of a cloud service or cloud computing environment) or combined with other components of system 400 (e.g., user device 415, one or more components of tunnel subsystem 405, etc.), or a combination thereof.

[0074] The communication interface 510 may comprise a transceiver for communicating with the tunnel subsystem 405, the user device 415, or a combination thereof, via the communication network 430 and, optionally, one or more communication networks or connections. The electronic processor 500 comprises a microprocessor, an application specific integrated circuit ("ASIC"), or other suitable electronic device for processing data, and the memory 505 comprises a non-transitory computer-readable storage medium. The electronic processor 500 may retrieve instructions and data from the memory 505 and execute the instructions.

[0075] For example, as shown in FIG. 5, memory 505 may include a tunnel commissioning application 560 (hereinafter "application 560"). Application 560 is a software application executable by electronic processor 500 in the illustrated example, but may be implemented in other manners as a module used for a similar purpose in other examples. The example of FIG. 5 is described in more detail below. As described in more detail below, electronic processor 500 executes application 560 to commission a tunnel, and more specifically, to commission the tunnel by identifying one or more imaging devices (e.g., imaging device 440, etc.) provided for the tunnel. In some cases, electronic processor 500 executes application 560 to automatically identify one or more imaging devices (e.g., imaging device 440, etc.), for example, as part of an automatic naming process. In some embodiments, electronic processor 500 may alternatively or additionally execute application 560 to facilitate manual identification of one or more imaging devices (e.g., imaging device 440, etc.) based on user input as part of a manual naming process.

[0076] In some embodiments, application 560 uses tunnel commissioning data 570 to commission a tunnel. For example, in some embodiments, application 560 receives a commissioning request associated with a tunnel and accesses tunnel commissioning data 570 to identify one or more imaging devices (e.g., imaging device 440, etc.) provided for the tunnel. As shown in FIG. 5, tunnel commissioning data 570 may be stored locally in memory 505. However, in some embodiments, tunnel commissioning data 570 may alternatively or additionally be stored remotely, such as in a memory of user device 415, a memory of a component of tunnel subsystem 405, a remote database, etc.

[0077] The tunnel commissioning data 570 may include specifications associated with a particular or specialized tunnel. In some embodiments, the tunnel commissioning data 570 may include a tunnel configuration file, a tunnel configuration package, or a combination thereof. A tunnel configuration file may include, for example, a device configuration file (e.g., an executable software file for configuring one or more devices associated with a corresponding tunnel). A tunnel configuration package may include an executable software file for configuring a tunnel. A tunnel configuration package may include application-specific settings for a tunnel and / or components of a tunnel. Such a configuration package may include orientation data associated with an imaging device, a bank of imaging devices, and the like. A tunnel configuration package may include a list of imaging devices 440 (wherein the list of imaging devices 440 may include one or more imaging devices). The list of imaging devices 440 may include, for example, for each imaging device 440 included in the list of imaging devices 440, an imaging device ID, a standard Internet Protocol ("IP") address, application-specific settings (including one or more scripts), coordinates (e.g., 3D coordinates, etc.) representing the location of the imaging device 440, and the like. In configurations where a bank of imaging devices is provided, the list of imaging devices 440 may include a bank ID of the imaging device 440, a bank location indicating the location of the imaging device 440 in the bank, etc. The tunnel configuration file and the tunnel configuration package may be the same executable software file or may be separate executable software files. Alternatively or additionally, the tunnel configuration file and the tunnel configuration package may be stored in different sources or may be stored in the same source.As an example, the tunnel configuration file may be stored in a first storage device and the tunnel configuration package may be stored in a second storage device that is different from the first storage device.

[0078] The user device 415 may be a computing device, such as a desktop computer, a laptop computer, a tablet computer, a terminal, a smartphone, a smart television, a smart wearable, or any other suitable computing device that interacts with a user. Although not shown in FIG. 4, the user device 415 may include similar components as the server 410, such as an electronic processor (such as a microprocessor, an ASIC, or other suitable electronic device), memory (such as a non-transitory computer-readable storage medium), and a communications interface, such as a transceiver, for communicating over the communications network 430 and, optionally, one or more additional communications networks or connections. For example, the user device 415 may store a browser application or a dedicated software application executable by the electronic processor to communicate with the server 410 (or other components of the system 400). Although the system 400 is described herein as providing tunnel commissioning services through the server 410, in other embodiments, the functions described herein as being performed by the server 410 may be performed locally by the user device 415. For example, in some embodiments, the user device 415 may store the application 560, the tunnel commissioning data 570, or a combination thereof. As described in more detail below, a user may use user device 415 to commission a tunnel, for example, via application 560, tunnel commissioning data 570, or a combination thereof.

[0079] In the example shown in FIG. 4, the user device 415 can include a human machine interface ("HMI") 580 for interacting with a user. The HMI 580 can include one or more input devices, one or more output devices, or a combination thereof. Thus, in some embodiments, the HMI 580 allows a user to interact with the user device 415 (e.g., to provide input to and receive output from the user device 415). For example, the HMI 580 can include a keyboard, a cursor control device (e.g., a mouse, etc.), a touch screen, a scroll ball, mechanical buttons, a display device (e.g., a liquid crystal display ("LCD")), a printer, a speaker, a microphone, or a combination thereof. As shown in FIG. 4, in some embodiments, the HMI 580 includes a display device 585. The display device 585 can be included in the same housing as the user device 415 or can communicate with the user device 415 via one or more wired or wireless connections. For example, in some embodiments, display device 585 is a touch screen on a laptop or tablet computer, while in other embodiments, display device 585 is a monitor, television, or projector connected via one or more cables to a terminal, desktop computer, or the like.

[0080] As discussed herein, electronic processor 500 may execute application 560 to commission a tunnel, and more specifically, to commission the tunnel by identifying one or more imaging devices (e.g., imaging device 440, etc.) provided to the tunnel. In some cases, electronic processor 500 may execute application 560 to automatically identify one or more imaging devices (e.g., imaging device 440, etc.), for example, as part of an automatic naming process. In some embodiments, electronic processor 500 may alternatively or additionally execute application 560 to facilitate manual identification of one or more imaging devices (e.g., imaging device 440, etc.) based on user input as part of a manual naming process.

[0081] 6 is a flow chart illustrating a method 600 for commissioning a machine vision system for a tunnel using an automatic naming process to identify one or more imaging devices associated with the tunnel in accordance with some embodiments. Although the method 600 is described below as being performed by the server 410, and in particular as an application 560 executed by the electronic processor 500, as noted above, the functions described for the method 600 may be performed by other devices, such as, for example, the user device 415, components of the tunnel subsystem 405, or may be distributed among multiple devices, such as, for example, multiple servers included in a cloud service.

[0082] The method 600 is described below with reference to Figures 7-22. Figures 7-22 are example screenshots of user interfaces for commissioning a machine vision system for a tunnel according to some embodiments. The user interfaces of Figures 7-22 are non-limiting examples and in some embodiments the user interfaces may have additional or different components and / or functions than those shown in Figures 7-22 and described herein, or may have fewer components or functions than those shown in Figures 7-22. In some configurations, one or more of the user interfaces shown in Figures 7-22 may be combined, for example, into one user interface. Alternatively or additionally in some configurations, one or more of the user interfaces shown in Figures 7-22 may be split into additional user interfaces.

[0083] As described in more detail below, the electronic processor 500 may generate and provide one or more user interfaces associated with the commissioning of the tunnel and / or the tunnel's machine vision system. For example, the electronic processor 500 may present or transmit (or otherwise output) a user interface to a user for the user to interact with the user interface, as described in more detail below. In some embodiments, the electronic processor 500 may transmit the user interface to a remote device, such as the user device 415. In such an embodiment, the user device 415 may display the user interface to a user of the user device 415 via the HMI 580 (e.g., display device 585, etc.) upon receiving the user interface. Alternatively or additionally, the electronic processor 500 may transmit the user interface to other components of the system 400, such as one or more components of the tunnel subsystem 405. By way of example, the tunnel subsystem 405 may include an HMI (e.g., a display device, etc.) local to the tunnel subsystem 405, such as a local control panel including a display device or a touch screen. In this example, the electronic processor 500 can transmit the user interface to a display device local to the tunnel subsystem 405. Alternatively or additionally, the electronic processor 500 can transmit the user interface to an HMI associated with the server 410, such as to a display device of the server 410.

[0084] The method 600 includes accessing tunnel commissioning data 570 using the electronic processor 500 (block 605), as shown in FIG. 6 . As described above, the tunnel commissioning data 570 may be stored locally in the memory 505. Thus, the electronic processor 500 may retrieve the tunnel commissioning data 570 from the memory 505. Alternatively or additionally, in some embodiments, the tunnel commissioning data 570 may be stored remotely, such as in a memory of the user device 415, a component of the tunnel subsystem 405, a remote database, a remote device, etc. In such an embodiment, the electronic processor 500 retrieves the tunnel commissioning data 570 from the remote location.

[0085] In some embodiments, the electronic processor 500 accesses the tunnel commissioning data 570 when a commissioning request (e.g., a request to commission a tunnel and / or a machine vision system of the tunnel) is received. As an example, after a tunnel (or its machine vision system) is physically assembled, a user can interact with the user device 415 to initiate a commissioning process for the physically assembled tunnel. The user can initiate the commissioning process, for example, by interacting with the application 560 via the user device 415. As another example, in some embodiments, a user can interact with the user device 415 to recommission a previously commissioned tunnel (or its machine vision system), for example, by interacting with the application 560. In some examples, the user can perform the recommissioning process to verify that the tunnel is still operating as expected or desired.

[0086] When the electronic processor 500 receives a commissioning request, it can generate a user interface that prompts the user for various commissioning parameters, specifically all the various equipment, site, or tunnel configuration parameters that specify a particular tunnel configuration. FIG. 7 illustrates an example of a commissioning details user interface 700 of some embodiments. A user can enter commissioning parameters or information by interacting with the commissioning details user interface 700. The commissioning parameters can include, for example, a tunnel ID (i.e., a selection of a tunnel specification package or data), an operator ID (i.e., an ID of a user performing the commissioning process), and a site ID (i.e., an ID of a site where a commissioning process is being performed to install or otherwise configure a particular tunnel). In some examples, the tunnel ID can include an ID for a structural component of the tunnel or machine vision system of the tunnel system being commissioned. In some configurations, the commissioning parameters can include data associated with other system integrators or entities involved in the commissioning of the tunnel. For example, in some instances, the commissioning parameters may include data identifying other integrators, identifying their involvement, etc. Alternatively or additionally in some configurations, the commissioning parameters may include additional data or information associated with the tunnel being commissioned. For example, in some configurations, the commissioning parameters may include a conveyor direction.

[0087] In the illustrated example, the commissioning details user interface 700 may include a set of input mechanisms 705. A user may interact with the set of input mechanisms 705 by inputting or selecting information related to the commissioning of the tunnel (or the tunnel's machine vision system). As an example, referring to the illustrated example, a user may use a first input mechanism 705A to select a tunnel specification package, a second input mechanism 705B to input a user ID, a third input mechanism 705C to input a site ID, and a fourth input mechanism 705D to input a tunnel or station ID. In some configurations, the tunnel specification package may be an executable software file. Alternatively or additionally, the tunnel specification package may be stored on a remote device, such as a database, server, etc., and may be recalled from the remote device. The commissioning details user interface 700 may also include a "Next" button 710, which is also shown in FIG. 7. A user may select the "Next" button 710 to indicate that the user is done inputting the commissioning parameters.

[0088] In some configurations, the commissioning details user interface 700 includes a conveyor direction portion 711. The conveyor direction portion 711 may include a GUI input element for indicating a conveyor direction associated with the tunnel (or machine vision system) being commissioned. A user may select a conveyor direction for the tunnel (or machine vision system) being commissioned by interacting with any one of the GUI input elements. For example, as shown in FIG. 7, the conveyor direction portion 711 includes a first GUI input element 712A and a second GUI input element 712B. The first GUI input element 712A may include a graphical representation of a virtual tunnel and a first conveyor direction. The second GUI input element 712B may include a graphical representation of a virtual tunnel and a second conveyor direction, where the second conveyor direction may be different from the first conveyor direction. In the example shown in FIG. 7, the first GUI input element 712A indicates a conveyor direction from left to right, and the second GUI input element 712B indicates a conveyor direction from right to left. In some configurations, the graphical representation can be based on a tunnel specification package. For example, the virtual tunnel can resemble or represent a physical tunnel (or its machine vision system) being commissioned. Alternatively or additionally, in some embodiments, the conveyor direction options (e.g., GUI input elements indicating conveyor direction, etc.) can be based on a tunnel specification package. For example, the conveyor direction options can be specific conveyor direction options associated with the tunnel (or its machine vision system) being commissioned. Thus, in some configurations, there can be additional, different, or fewer GUI input elements for indicating the conveyor direction of the conveyor direction portion 711.

[0089] In some configurations, the commissioning details user interface 700 may include a banner indicating the tunnel type at or near the top of each user interface. The tunnel type and other tunnel specific information may be provided from a tunnel specification package. In some configurations, the tunnel type and other tunnel specific information may be repeated in one or more subsequently presented user interfaces. In some configurations, the commissioning details user interface 700 may include a notification 714. The notification 714 may inform the user that they are responsible for commissioning the tunnel (or its machine vision system) and that they are aware of this.

[0090] In some configurations, the commissioning details user interface 700 can provide instructions outlining the commissioning process. The instructions can include written text instructions, graphic instructions, video instructions, and the like. In some configurations, the commissioning details user interface 700 can include written instructions. Alternatively or additionally in some embodiments, the commissioning details user interface 700 can include selectable links to access the instructions. In some examples, the commissioning details user interface 700 can include hyperlinks that, when selected by a user, navigate to or provide access to the instructions (e.g., a website containing the instructions, etc.). As another example, as shown in FIG. 7, the commissioning details user interface 700 can include a barcode, such as a QR code 715, that a user can interact with to access the instructions (e.g., a commissioning walk-through video, etc.). The inclusion of the QR code 715 can facilitate a user's access to the instructions in situations where internet access is unavailable. Thus, in some configurations, the electronic processor 500 may generate a selectable link (e.g., a hyperlink, a QR code 715, etc.) that when selected provides access to instructions for commissioning the tunnel. In some configurations, the electronic processor 500 creates a QR code 715 to access a video on how to run the application based on, for example, a uniform resource locator (URL) provided by the tunnel specification package. Alternatively or additionally in some configurations, the commissioning details user interface 700 may include (as a GUI element) a "Hint" button 716. When the user interacts with the "Hint" button 716, the commissioning details user interface 700 may provide additional information or instructions to the user.This additional information or instructions may include, for example, information on where to obtain the tunnel specification package, contact information if the tunnel specification package is not available to the user, etc.

[0091] In some configurations, the commissioning details user interface 700 includes a graphical representation (indicated by reference number 720 in FIG. 7 ) of the tunnel (or its machine vision system) being commissioned. In some examples, the graphical representation 720 may include an image of the actual tunnel (or its machine vision system) being commissioned. In some configurations, the electronic processor 500 may call up the graphical representation 720, which may include an image of the tunnel (or its machine vision system) being commissioned, from a tunnel specification package. The electronic processor 500 may include the graphical representation 720 from the tunnel specification package in the commissioning details user interface 700. Thus, in some configurations, the graphical representation 720 may be provided via the commissioning details user interface 700 once the tunnel specification package is accessible.

[0092] In some embodiments, the commissioning details user interface 700 includes a commissioning timeline 750. The commissioning timeline 750 is a graphical representation of each step involved in the commissioning process in some configurations, as shown in FIG. 7. In the illustrated example, the commissioning timeline 750 may include a "Get Started" indicator 755, an "Application Details" indicator 760, a "Hardware Details" indicator 765, a "System Configuration" indicator 770, and a "Communications" indicator 775. The "Get Started" indicator 755 may be associated with the Start or Commissioning Details phase of the commissioning process. The "Application Details" indicator 760 may be associated with the Application Details phase of the commissioning process. The "Hardware Details" indicator 765 may be associated with the Hardware Details or Pre-Commissioning Checklist phase of the commissioning process. A "System Configuration" indicator 770 may be associated with the system configuration and naming phase of the commissioning process. A "Communications" indicator 775 may be associated with the communications phase of the commissioning process.

[0093] Commissioning timeline 750 is a non-limiting example of a commissioning timeline, and some embodiments may have additional, different, or fewer indicators in various arrangements or orders than those shown. As an example, in some configurations, the techniques disclosed herein implement an auto-naming process for one or more imaging devices of the tunnel being commissioned. Thus, in such configurations, the commissioning process (e.g., commissioning timeline 750, etc.) may include an auto-naming phase (and corresponding auto-naming indicator in commissioning timeline 750). As another example, in some configurations, the commissioning process disclosed herein may include a procedure phase (and corresponding procedure indicator 765 in commissioning timeline 750), which will be described in more detail below. Furthermore, it should be understood that the order of the steps of the commissioning process described herein is a non-limiting example of the steps, and that the order of the steps of the commissioning process may be changed.

[0094] As the user progresses through the stages of the commissioning process (e.g., as they navigate through the sequential user interface), electronic processor 500 can dynamically update commissioning timeline 750 to indicate the current stage of the commissioning process. By way of example, electronic processor 500 can dynamically update commissioning timeline 750 by changing the characteristics of one or more indicators (e.g., “Get Started” indicator 755, “Application Details” indicator 760, “Hardware Details” indicator 765, “System Configuration” indicator 770, and / or “Communications” indicator 775, etc.). Electronic processor 500 may change the characteristics of the indicator, for example, by changing the color of the indicator, highlighting the indicator, changing formatting properties (e.g., font style, font size, font properties (bold, italics, uppercase, etc.), animating the indicator (e.g., blinking the indicator), placing graphics around the indicator (e.g., displaying a box around the indicator), etc. In some embodiments, electronic processor 500 may dynamically update one indicator. As an example, as the commissioning process progresses to the application details stage, electronic processor 500 may dynamically update “Application Details” indicator 760 while not updating other indicators. Alternatively, in some embodiments, electronic processor 500 may dynamically update multiple indicators.As an example, as the commissioning process progresses from the Hardware Details phase to the System Configuration phase, electronic processor 500 may dynamically update commissioning timeline 750 by graying out the “Hardware Details” indicator 765 (thereby indicating that the Hardware Details phase is complete) and flashing the “System Configuration” indicator 770 (thereby indicating that the System Configuration phase is the current commissioning phase).

[0095] In some configurations, the electronic processor 500 can generate and provide application details after receiving the commissioning parameters (e.g., as a set of commissioning parameters). The application details can include, for example, a type of tunnel, a set of customer specifications, a set of application-specific requirements, a set of tunnel capabilities, etc. The customer specifications can include, for example, conveyor information, object information, etc. related to the customer's specifications. The conveyor information related to the customer's specifications can include, for example, belt width, minimum conveyor gap, maximum line speed, etc. The object information related to the customer's specifications can include, for example, maximum length, maximum width, maximum height, minimum length, minimum width, minimum height, etc. The tunnel capabilities can include conveyor information, object information, etc. related to the tunnel capabilities. For example, conveyor information related to the tunnel capabilities can include, for example, belt width, minimum gap, maximum line speed, operating distance, trigger distance, etc. The object information related to the tunnel capabilities can include, for example, maximum length, maximum width, maximum height, minimum length, minimum width, minimum height. The application-specific requirements can include, for example, barcode location, etc. In some configurations, the application details can be based on content or information included in the tunnel specification package. Thus, the electronic processor 500 may generate and provide the usage details by accessing the tunnel specification package. In some configurations, the electronic processor 500 may provide the usage details as read-only data.

[0096] FIG. 8 illustrates an example of an application details user interface 800 in accordance with some embodiments. As shown in this example, the application details user interface 800 can provide application details including, for example, a type of tunnel, a set of customer specifications, a set of application specific requirements, a set of tunnel capabilities, and the like. As shown in FIG. 8, the application details user interface 800 can include a customer specifications portion 805. The customer specifications portion 805 can include a set of customer specifications. In the illustrated example, the set of customer specifications can be provided in one or more tables, including, for example, a conveyor information table 810A and an object information table 810B. As shown in FIG. 8, the application details user interface 800 can include a tunnel capabilities portion 815. The tunnel capabilities portion 815 can include a set of tunnel capabilities. In the illustrated example, the set of tunnel capabilities can be provided in one or more tables, including, for example, a conveyor information table 820A and an object information table 820B. The application details user interface 800 can include an application specific requirements portion 820. The application specific requirements portion 820 can include a list of one or more application specific requirements.

[0097] A user may view and interact with the usage details user interface 800 provided via the usage details user interface 800. In some configurations, a user may interact with the usage details user interface 800 as part of a verification and validation process of the usage details associated with the tunnel being commissioned. For example, a user may be prompted to verify the information contained in the usage details user interface 800 and interact with a validation button 825 (a GUI operation element). A user may interact with the validation button 825 (e.g., by selecting or clicking the validation button 825) to allow the user to verify and validate the information contained in the usage details user interface 800.

[0098] In some embodiments, the electronic processor 500 can generate and provide a pre-commissioning checklist after receiving the verification and configuration of the application details (e.g., as a set of application details). The pre-commissioning checklist can include a list of actions or tasks (e.g., as a set of pre-commissioning tasks) that a user can manually perform before commissioning the tunnel. The set of pre-commissioning tasks can include, for example, verifying the mechanical construction of the tunnel, verifying cable connections, verifying network connections, verifying proper materials, verifying pre-work performance, verifying edge intelligence panel connections, etc. In some embodiments, which pre-commissioning tasks to include in the pre-commissioning checklist is based on one or more commissioning parameters. Alternatively or additionally in some embodiments, the pre-commissioning checklist is based on the tunnel (or its machine vision system) being commissioned.

[0099] Thus, in some embodiments, the electronic processor 500 generates the pre-commissioning checklist (and the pre-commissioning tasks included therein) based on the tunnel (or its machine vision system) being commissioned, a set of commissioning parameters, a customer-specific configuration, a site-specific configuration, an application-specific configuration, or a combination thereof. As an example, if the tunnel being commissioned has five different cable connections, the pre-commissioning checklist may include five different cable connection verification tasks specific to each of these five different cable connections. As another example, if the tunnel being commissioned has an Ethernet cable that connects to a customer network switch, the pre-commissioning checklist may include a verification task specific to the connection of the Ethernet cable to the customer network switch. As yet another example, if the tunnel being commissioned has a set of specific customer settings, the pre-commissioning checklist may include a verification task associated with each specific customer setting. As yet another example, if a first tunnel being commissioned at a first site includes two different cable connections and a second tunnel being commissioned at a second site includes three different cable connections, the pre-commissioning checklist for the first tunnel may have two different cable connection verification tasks specific to each of the two different cable connections and the pre-commissioning checklist for the second tunnel may have three different cable connection verification tasks specific to each of the three different cable connections. Thus, in some embodiments, pre-commissioning checklists may vary from customer to customer, application to application, site to site, tunnel to tunnel, workstation to workstation, etc.

[0100] FIG. 9 illustrates an example of a pre-commissioning checklist user interface 900 associated with a hardware detailing phase of the commissioning process of some embodiments. A user may interact with the pre-commissioning checklist user interface 900 via one or more input mechanisms (or GUI control elements) to confirm that each pre-commissioning task in the set of pre-commissioning tasks has been completed. In the illustrated example, the input mechanisms are shown as checkboxes 905. As shown in FIG. 9, each checkbox 905 is associated with a corresponding pre-commissioning task 910 (e.g., a description of the pre-commissioning task). The pre-commissioning checklist user interface 900 may include two navigation mechanisms (or GUI control elements), including a "Back" button 920 and a "Next" button 925, which are also shown in FIG. 9. A user may interact with the "Back" button 920 (e.g., by selecting the "Back" button 920 with a mouse click) to return to the application details user interface 800 of FIG. 8 (or other previous user interface). A user may indicate completion of a set of pre-commissioning tasks by interacting with the "Next" button 925 (e.g., by selecting the "Next" button 925 with a mouse click). In some embodiments, the "Next" button 925 is not active (selectable) until each input mechanism (e.g., checkbox 905, etc.) is selected by the user (indicating completion of each pre-commissioning task). Thus, in such an embodiment, when a checkbox 905 is selected by the user, the "Next" button 925 becomes active and the user may interact with the "Next" button 925. In some embodiments, the pre-commissioning checklist user interface 900, like the application details user interface 800, also includes a commissioning timeline 750.The commissioning timeline 750, as shown in FIG. 9, indicates that the user is in the Hardware Details stage of the commissioning process (represented by the changed appearance of the “Hardware Details” indicator 760 compared to FIG. 8).

[0101] In some configurations, the pre-commissioning checklist user interface 900 can include a help button (as a GUI element) associated with a pre-commissioning task. A user can interact with the help button to access additional information or instructions associated with the associated pre-commissioning task. For example, as shown in FIG. 9 , a help button 930 can be associated with a “Photoeye is mounted” pre-commissioning task. In response to user interaction with the help button 930, the electronic processor 500 can generate a help portion 935 for the “Photoeye is mounted” pre-commissioning task. In some examples, the electronic processor 500 can generate the help portion 935 within the pre-commissioning checklist user interface 900 (e.g., as part of or a component of the pre-commissioning checklist user interface 900). Alternatively or additionally, the electronic processor 500 can generate the help portion 935 as a separate user interface (e.g., a pop-up window, etc.). The help portion 935 may include selectable links to access additional information or instructions. In some examples, the help portion 935 may include a hyperlink that, when selected by a user, navigates to or provides access to the instructions (e.g., a website containing the instructions, etc.). As another example, as shown in FIG. 9, the help portion 935 may include a barcode, such as a QR code 940, that a user can interact with to access instructions (e.g., a walk-through video of installing the photo eye, etc.). The inclusion of the QR code 940 may facilitate user access to the instructions in situations where internet access is unavailable. Thus, in some configurations, the electronic processor 500 may generate a selectable link (e.g., a hyperlink, QR code 940, etc.) that, when selected, provides access to instructions for installing the photo eye.In some configurations, the electronic processor 500 creates a QR code 940 to access a video on how to install the photo eye, such as based on a uniform resource locator (URL) provided by the tunnel specification package.

[0102] As noted herein, in some configurations, the commissioning process (e.g., commissioning timeline 750) can include additional or different steps or can include fewer steps in the commissioning process. For example, in some configurations, the techniques disclosed herein can be implemented with a vision service without edge intelligence technology or functionality. In such configurations, the commissioning process (e.g., commissioning timeline 750) can include a methodology step.

[0103] Thus, in some embodiments, after receiving confirmation that each pre-commissioning task 910 has been completed via user interaction with the pre-commissioning checklist user interface 900, the electronic processor 500 may prompt the user for procedure details. The procedure details or parameters may include, for example, a commissioning procedure for identifying each imaging device 440 associated with the tunnel being commissioned. In some configurations, the commissioning procedure may relate to a process for naming one or more imaging devices of the machine vision system, such as an automatic naming process, a manual naming process, etc. In some examples, the procedure details may include parameters associated with the calibration target, such as a calibration target indicator (e.g., a model number of the calibration target), a material of the calibration target (e.g., metal, cardboard, etc.), or one or more dimensions of the calibration target (e.g., a set of dimensions), etc.

[0104] FIG. 10 illustrates an example of a procedure user interface 1000 of some embodiments. A user may interact with the procedure user interface 1000 via one or more input mechanisms to provide a set of procedure details. In the example illustrated in FIG. 10, the procedure user interface 1000 includes a commissioning procedure portion 1005 associated with selecting one or more commissioning procedure related parameters. As illustrated, the commissioning procedure portion 1005 includes a first set of radio buttons 1010 for selecting which commissioning procedure to implement to commission the tunnel. Alternatively or additionally in some embodiments, the commissioning procedure portion 1005 may include a text field 1015. The text field 1015 may receive text input from a user. The user may use this text input to enter additional details related to the commissioning procedure (e.g., a specific version of the commissioning procedure, etc.) or to fill in a commissioning procedure not included in the first set of radio buttons 1010. The methodology user interface 1000 may include a calibration target portion 1030 associated with selection of one or more calibration target parameters. In the illustrated example, the calibration target portion 1030 includes a second set of radio buttons 1035 for selecting a material parameter associated with the calibration target (e.g., “metal,” “cardboard,” and “custom”). The calibration target portion 1030 also includes a set of text fields 1040 for entering text related to a set of dimensions for the calibration target. The calibration target portion 1030 also includes a drop-down menu 1045 for selecting a unit of measure associated with the set of dimensions.

[0105] The procedure user interface 1000 may include two navigation mechanisms, including a "Back" button 1060 and a "Next" button 1065, which are also shown in FIG. 10. A user may return to a previous user interface by interacting with the "Back" button 1060 (e.g., by selecting the "Back" button 1060 with a mouse click). A user may proceed to a next user interface (e.g., a next stage in the commissioning process) by interacting with the "Next" button 1065 (e.g., by selecting the "Next" button 1065 with a mouse click). In some embodiments, the "Next" button 1065 is not active (selectable) until information is entered into the commissioning procedure portion 1005, the calibration target portion 1030, or a combination thereof. In the illustrated example, the procedure user interface 1000 includes a commissioning timeline 750. The commissioning timeline 750 may include a “Methodology” indicator 1080, as shown in FIG. 10, that indicates when the user is in the methodology stage of the commissioning process (as represented by a change in appearance of the “Methodology” indicator 1080 compared to FIG. 10).

[0106] Returning to FIG. 6 , the method 600 includes using the electronic processor 500 to control the set of imaging devices 440 to capture image data of the calibration target (block 610). In some embodiments, the electronic processor 500 controls the imaging devices 440 to capture image data based on the application details set, the commissioning parameter set, the procedure details set, the tunnel commissioning data, other data included in the tunnel specification package, or a combination thereof. Alternatively or additionally in some embodiments, the electronic processor 500 verifies that each of the one or more imaging devices 440 is discoverable (or has been discovered) before controlling the imaging devices 440 to capture image data of the calibration target. As an example, the electronic processor 500 may wait until each of the one or more imaging devices 440 is discovered before controlling the imaging devices 440 to capture image data. Alternatively or additionally in some embodiments, the electronic processor 500 controls the imaging devices 440 to capture image data in response to a user interaction with a “Next” button 925 of the pre-commissioning checklist user interface 900 of FIG. 9 .

[0107] Once the electronic processor 500 has captured image data of the calibration target (at block 610), it determines (at block 615) a corresponding ID of at least one imaging device 440 based on the imaging data. In some embodiments, the electronic processor 500 processes or analyzes the image data based on the application details set, the commissioning parameter set, the procedure details set, the tunnel commissioning data, other data included in the tunnel specification package, or a combination thereof. Based on this analysis, the electronic processor 500 can determine an ID state of each imaging device 440. The ID state can indicate whether the imaging device 440 is associated with the corresponding ID. Alternatively or additionally, if the imaging device 440 is associated with the corresponding ID, the ID state can indicate the corresponding ID. Alternatively or additionally, if the imaging device 440 is not associated with the corresponding ID, the ID state can indicate that the imaging device 440 was not associated with the corresponding ID.

[0108] In some embodiments, if the imaging device 440 has not been associated with a corresponding ID, the electronic processor 500 may identify an ID list for the imaging device 440. The ID list for the imaging device 440 may include a list of IDs that may be associated with the imaging device 440. Thus, in some embodiments, the ID list includes a list of recommended IDs for the imaging device 440. In some embodiments, the electronic processor 500 identifies the ID list based on the tunnel commissioning data (e.g., data included in a tunnel specification package, etc.). As an example, if the tunnel commissioning data includes a tunnel specification indicating that the tunnel to be commissioned includes five imaging devices, the electronic processor 500 may identify the ID list to include the IDs of the five imaging devices in the tunnel specification. Alternatively or additionally, in some embodiments, the electronic processor 500 identifies the ID list for one imaging device 440 (e.g., a first imaging device) based on the ID status of another imaging device 440 (e.g., a second imaging device). For example, electronic processor 500 may determine a list of IDs for imaging devices 440 based on what IDs have already been assigned (or associated) with a number of different imaging devices 440, where the list of IDs for imaging devices 440 includes the remaining (or unassigned) IDs. Alternatively or additionally, in some embodiments, electronic processor 500 determines or updates the list of IDs for an imaging device 440 based on user interaction with the lists of IDs for other imaging devices (e.g., selection of the IDs for other imaging devices, etc.).

[0109] As an example, the tunnel commissioning data may include tunnel specification package data indicating that the tunnel to be commissioned includes three imaging devices, each associated with a corresponding known ID. In this example, when the electronic processor 500 analyzes the image data, it may determine that the first known imaging device is associated with the first corresponding ID. However, it may be configured such that the electronic processor 500 is unable to determine what corresponding IDs (the second corresponding ID or the third corresponding ID) should be associated with the second known imaging device and the third known imaging device. Thus, the electronic processor 500 may determine that the list of IDs for the second known imaging device includes the second corresponding ID and the third corresponding ID, which are the remaining (or unassigned) IDs in the tunnel specification package data. The electronic processor 500 may also determine that the list of IDs for the third known imaging device includes the second corresponding ID and the third corresponding ID.

[0110] As described above, in some embodiments, the electronic processor 500 updates the ID list based on user interaction with the ID list of other imaging devices. In this example, when a user interacts with the ID list of a second known imaging device by selecting a second corresponding ID as an ID to associate with the second known imaging device, the electronic processor 500 can update the list of IDs of the third known imaging device by removing the second corresponding ID from the list of IDs of the third known imaging device. Alternatively or additionally, when the list of IDs is updated to include only one recommended corresponding ID, the electronic processor 500 can automatically associate the remaining corresponding ID with the last imaging device. In the above example, when the second corresponding ID is removed from the ID list of the third known imaging device, the ID list of the third known imaging device will only include the third corresponding ID. Thus, in such a situation, the electronic processor 500 can automatically determine that the third corresponding ID is associated with the third known imaging device (since the third corresponding ID is the only remaining ID to be assigned).

[0111] In some embodiments, the electronic processor 500 generates and provides a user interface that includes the identity status of each imaging device 440. FIG. 11 illustrates an example of an auto-naming user interface 1100 of some embodiments. In some configurations, the auto-naming user interface 1100 can be (or be associated with) a system configuration stage of a commissioning process. Furthermore, the auto-naming user interface 1100 of FIG. 11 is only one example of an auto-naming user interface 1100. For example, although the auto-naming user interface 1100 is described and illustrated herein as being associated with an auto-naming process for a tunnel with multiple imaging devices, the auto-naming user interface 1100 can be implemented by an auto-naming process that corresponds to a tunnel with a different number of imaging devices, including one imaging device.

[0112] 11, the auto-naming user interface 1100 may include a set of preview images 1105. Each preview image 1105 may be associated with an imaging device 440, and each preview image 1105 includes image data captured by that imaging device 440. In the illustrated example, the auto-naming user interface 1100 includes 20 preview images 1105. The auto-naming user interface 1100 indicates the ID state of each imaging device 440. In some embodiments, the ID state is a graphical indicator or representation of the ID state. In the illustrated example, the ID state of each imaging device 440 is indicated by a graphical representation of a box placed around the corresponding preview image, with the color of the box indicating the ID state. In the illustrated example, a first color (specifically, red, represented as a dashed box in FIGS. 11-13) indicates that the corresponding imaging device 440 is not associated with an ID (e.g., an unidentified state), whereas a second color (e.g., green, represented as a solid box in FIGS. 11-13) indicates that the imaging device 440 is associated with an ID (e.g., an identified state). As shown in FIG. 11, dashed boxes are positioned to surround preview images 1105A, 1105F, 1105L, 1105M, 1105O, 1105P, 1105S, and 1105T, indicating that preview images 1105A, 1105F, 1105L, 1105M, 1105O, 1105P, 1105S, and 1105T are associated with an unidentified state. FIG. 11 also shows that preview images 1105B to 1105E, 1105G to 1105K, 1105N, and 1105Q to 1105R are arranged so as to be surrounded by solid-line boxes, indicating that preview images 1105B to 1105E, 1105G to 1105K, 1105N, and 1105Q to 1105R are associated with an identified state.

[0113] 11, the ID state is indicated by changing the color of a box disposed around the preview image, it should be understood that in some embodiments, the ID state of the imaging device 440 can be graphically represented in additional or different ways. As an example, the box disposed around the preview image can have a different dashing pattern, a different thickness, a different animation, or other types of formatting properties. As another example, instead of a box disposed around the preview image, the preview image can be associated with a text indicator or label indicating the ID state (e.g., a "Non-Identified" label and / or an "Identified" label, etc.). As another example, the preview image can be associated with an animation property indicating the ID state, such as a pulsing animation property, a flash animation property, etc. As yet another example, the preview image can be associated with a graphic symbol or representation indicating the ID state, such as a check mark indicating an identified state and an "x" indicating an unidentified state.

[0114] As shown in FIG. 11, the automatic naming user interface 1100 further includes a "Setup Readers" button 1106 and a "Trigger" button 1107. The "Setup Readers" button 1106 can be used to adjust one or more settings associated with one or more imaging devices 440, such as lighting settings. The "Trigger" button 1107 can be used to control the imaging devices 440 to capture image data. As an example, if the collected image data is not sufficient (e.g., blur or other unsatisfactory quality), a user can interact with the "Trigger" button 1107 to capture new image data (e.g., as a second image capture of the same target). As another example, the machine vision system of the tunnel can span a distance where, for example, the calibration target has not yet entered the field of view of the subset of imaging devices, such that at least the imaging devices of the subset do not capture image data related to the calibration target. In such a situation, the calibration target can be advanced into the field of view of the imaging devices of the subset (e.g., by actuating the support structure 450). Once the calibration target is within the field of view of the subset of imaging devices, the user can interact with the "Trigger" button 1107, which allows the user to control the subset of imaging devices to capture image data associated with the calibration target, since the calibration target is within the field of view of the subset of imaging devices.

[0115] Alternatively or additionally, in some embodiments, each preview image 1105 is associated with a respective set of graphic icons, each of which, upon interaction by a user, performs a function associated with the imaging device 440 (or the preview image 1105). As an example, the graphic icons may include a magnifying glass that, upon interaction by a user, zooms in or zooms out on the preview image 1105. As another example, the graphic icons may include a flashlight icon that, upon interaction by a user, causes an indicator light of the imaging device 440 associated with the preview image 1105 to flash, thereby allowing the user to easily identify the imaging device 440 within the installed / assembled machine vision system.

[0116] As shown in FIG. 11 , the auto-naming user interface 1100 includes a set of drop-down menus 1110, each associated with a respective preview image 1105. The drop-down menus 1110 may include a list of IDs associated with the imaging devices 440 of the tunnel (or its machine vision system) to be commissioned. In some embodiments, if an imaging device 440 is associated with an identified state, a corresponding ID associated with the imaging device 440 may be automatically selected from the drop-down menu 1110 associated with the imaging device 440. However, the user may change the automatically selected ID by interacting with the drop-down menu 1110 and selecting a different ID to be associated with the imaging device 440. In some embodiments, as described in detail above, alternatively or additionally, the electronic processor 500 may identify a list of IDs as a list of recommended IDs or remaining IDs for each imaging device 440 in an unidentified state. As an example, as shown in FIG. 11 , the imaging device 440 associated with the preview image 1105A is in an unidentified state. Thus, as shown in Figure 12, a user may interact with a drop-down menu 1110 associated with a preview image 1105A to select an ID from a list of IDs contained in the drop-down menu 1110. After selecting an ID from the drop-down menu 1110, a graphical indicator or representation of the ID status of the imaging device 440 may be updated to indicate an identified status (by changing the color of a box positioned around the preview image 1105A as shown in Figure 12 relative to Figure 11). The user may interact with one or more drop-down menus 1110 to ensure that each imaging device 440 is associated with a corresponding ID.As an example, a user may interact with each drop-down menu 1110 associated with an unidentified imaging device 440 until each imaging device 440 is associated with a corresponding ID as shown in Figure 13. Thus, in some embodiments, the electronic processor 500 may receive a user-selected ID or IDs for one or more imaging devices 440 based on user interaction with the automatic naming user interface 1100.

[0117] After each imaging device 440 is associated with a corresponding ID (as shown in FIG. 13), a user can interact with an “Apply Selected Names” button 1150 indicating that the user has confirmed the corresponding ID of each imaging device 440. Upon user interaction with the “Apply Selected Names” button 1150, the electronic processor 500 can generate and provide a device configuration user interface 1400, as shown in FIG. 14. As shown in FIG. 14, the device configuration user interface 1400 includes an imaging device list 1405 including each imaging device 440. The device configuration user interface 1400 can further include additional information associated with each imaging device 440, such as a group list 1407, an IP address list 1410, a firmware version list 1415, a configuration file name 1420, a status list 1425, and a task status list 1430. The device configuration user interface 1400 can also include an “Apply Configurations” button 1450, as shown in FIG. 14. The user can apply device configurations to each imaging device 440 by interacting with the “Apply Configurations” button 1450 .

[0118] In some configurations, the device configuration user interface 1400 can be included as part of other user interfaces described herein (e.g., the system configuration user interface or the automatic naming user interface 1100, etc.). For example, in some configurations, the device configuration user interface 1400 can be associated with a system configuration phase of the tunnel commissioning process. Alternatively, in other configurations, the device configuration user interface 1400 can be associated with a separate or additional phase of the tunnel commissioning process (e.g., as a device configuration phase), e.g., the commissioning timeline 750 can include a corresponding "device configurations" indicator.

[0119] For example, returning to FIG. 6 , the electronic processor 500 can configure (at block 620) each imaging device 440. The electronic processor 500 can configure each imaging device 440 based on a corresponding ID, tunnel commissioning data, or a combination thereof. As an example, by knowing the corresponding ID associated with an imaging device 440, the electronic processor 500 can identify the technical settings, configuration files, firmware files, etc. associated with that imaging device 440 (as specified in the tunnel commissioning data). The electronic processor 500 can configure the imaging device 440 (i.e., move the imaging device 440 from a default state to an operational state) with the technical settings, configuration files, firmware files, etc. identified based on the imaging device's 440's corresponding ID. Thus, in some embodiments, the electronic processor 500 can configure multiple imaging devices 440 simultaneously. However, as described herein, in some configurations, the electronic processor 500 can configure one imaging device 440 using the methods and systems described herein. In some embodiments, electronic processor 500 (at block 620) may prompt the user for confirmation before configuring imaging device 440 via a confirmation dialog box 1500, as shown in Figure 15. Upon user interaction with a "Configure" button 1505 on confirmation dialog box 1500, electronic processor 500 (at block 620) may begin the configuration process for imaging device 440.

[0120] In some embodiments, the electronic processor 500 can generate and provide a network configuration user interface 1600, as shown in FIG. 16. The network configuration user interface 1600 provides information related to a network configuration associated with one or more of the imaging devices 440. As shown in FIG. 16, the network configuration user interface 1600 includes a network interface table 1605. The network interface table 1605 provides information related to, for example, network interface names, operational states, MAC addresses, address types, IP addresses, subnet masks, gateways, DNS servers, domains, etc. The network configuration user interface 1600 also includes a network address translation ("NAT") settings portion 1610. The NAT settings portion 1610 includes a set of input mechanisms 1615 for a user to input additional NAT settings. As shown in FIG. 16, the set of input mechanisms 1615 includes a set of text fields for receiving a device name, an external IP address, and an internal IP address. In some embodiments, network configuration user interface 1600 allows a user to customize the final network configuration including, for example, NAT entries for the system. In some configurations, network configuration user interface 1600 may be included as part of other user interfaces described herein (e.g., system configuration user interface or auto-naming user interface 1100, etc.). For example, in some configurations, network configuration user interface 1600 may be associated with the system configuration phase of the tunnel commissioning process.Alternatively, in other configurations, the network configuration user interface 1600 may be a separate stage of the tunnel commissioning process (e.g., as a network configuration stage), and for example, the commissioning timeline 750 may include a corresponding “network configurations” indicator.

[0121] In some embodiments, the electronic processor 500 may generate a bank validation user interface 1700, as shown in FIGS. 17-21. In some embodiments, the commissioning process may include a bank validation phase. Thus, the bank validation user interface 1700 may include a "bank validation" ID 1705 in the commissioning timeline 750, as shown in FIG. 17. As shown in FIG. 17, the bank validation user interface 1700 may include a conveyor direction portion 1755 and a validation portion 1760. The conveyor direction portion 1755 may prompt the user to indicate a direction of travel associated with a conveyor (e.g., conveyor 116, etc.) of the tunnel being commissioned. As an example, as shown in FIG. 17, the conveyor direction portion 1755 includes a graphical representation of a direction of travel associated with the conveyor. The user may interact with the graphical representation (e.g., by clicking with a mouse) to select a direction of travel associated with the conveyor of the tunnel being commissioned. Alternatively or additionally, in some embodiments, the mechanisms included in the conveyor direction section 1755 for a user to input a travel direction associated with the conveyor of the tunnel being commissioned (e.g., radio buttons each associated with a number of different travel directions, etc.) may be added, subtracted, or different.

[0122] After the user selects the direction of travel associated with the conveyor of the tunnel being commissioned, the commissioning process may proceed to a bank validation phase of a bank validation step of the commissioning process. As part of the bank validation phase of the bank validation step of the commissioning process, the validation portion 1760 of the bank validation user interface 1700 may be expanded as shown in FIGS. 18-21. As shown in FIG. 18, the validation portion 1760 may provide a graphical representation 1800 of the tunnel being commissioned. The graphical representation 1800 may include a set of banks. In the example shown in FIGS. 18-21, the graphical representation 1800 includes a first bank 1805A, a second bank 1805B, a third bank 1805C, a fourth bank 1805D, and a fifth bank 1805E. In some embodiments, the electronic processor 500 generates the graphical representation 1800 based on specifications associated with the tunnel being commissioned (e.g., based on the tunnel commissioning data 570). Although the graphical representation 1800 in FIG. 18 includes multiple banks, it should be understood that in some configurations the graphical representation 1800 may include a single bank configuration, including a configuration having a single bank with a single imaging device.

[0123] As shown in Fig. 18, the validation unit 1760 includes instructions to the user on how to validate the set of banks (as indicated by reference numeral 1806 in Fig. 18). In the example shown in Fig. 17, the instructions 1706 instruct the user to "Click the area on the image below where the readers are blinking in the physical tunnel." In response, the user clicks on the blinking banks while observing the physical tunnel.

[0124] 19 and 20 illustrate user interactions with the graphical representation 1800 based on which banks are flashing in the physical tunnel. As an example, as shown in FIG 19, if the imaging devices associated with the fourth bank 1805D are observed to be flashing in the physical tunnel, the user selects the fourth bank 1805D. As another example, as shown in FIG 20, if the imaging devices associated with the fifth bank 1805E are observed to be flashing in the physical tunnel, the user selects the fifth bank 1805E.

[0125] As shown in FIGS. 19-20, the validation portion 1760 may also include a progress indicator 1907 (shown as a progress bar in FIGS. 19-20). The progress indicator 1907 may be a graphical representation of the progress associated with the validation of the bank of the tunnel being commissioned. Additionally, in some embodiments, the validation portion 1760 may provide a confirmation indication (shown in FIGS. 19-20 by reference numeral 1908) regarding user interaction with the graphical representation. For example, if the user correctly selects a bank on the graphical representation 1800 that is associated with a flashing bank on the physical tunnel, the validation portion 1760 may indicate that the user selected the correct bank.

[0126] After validating each bank in the set of banks, the bank validation user interface 1700 may prompt the user to proceed to the next stage of the commissioning process. In some embodiments, as shown in FIG. 21, the bank validation user interface 1700 may prompt the user by activating a “Next” button 2100 to allow the user to proceed to the next stage of the commissioning process.

[0127] As noted above, commissioning timeline 750 is a non-limiting example of a commissioning timeline and some embodiments may include additional, different, or fewer indicators than those shown. As an example, in some embodiments, the bank validation phase of the commissioning process may occur between the system configuration phase and the communication phase, as shown in Figures 18-22. However, it should be understood that the order of the stages of the commissioning process described herein is a non-limiting example of the stages and that the order of the stages of the commissioning process may be varied.

[0128] Returning to FIG. 6 , in some embodiments, electronic processor 500 generates and transmits a commissioning report at block 625. In some embodiments, the commissioning report includes information associated with the commissioning process. For example, the commissioning report may include the tunnel commissioning data, a set of commissioning parameters, a set of method details, and information included in device configuration user interface 1400 (e.g., imaging device list 1405 including each imaging device 440, group list 1407, IP address list 1410, firmware version list 1415, configuration file name 1420, status list 1425, task status list 1430, etc.), and the network configuration report. The commissioning report may include information included in the network configuration user interface 1600 (e.g., network interface table 1605, etc.). In some embodiments, the electronic processor 500 generates and transmits the commissioning report to a remote device, such as a user device 415 for display to a user via the HMI 580, a human machine interface associated with the tunnel subsystem 405, a remote database, etc. Alternatively or additionally in some embodiments, the electronic processor 500 stores the commissioning report in memory 505. In some configurations, the commissioning report may be displayed to a user as part of the communication phase of the commissioning process.

[0129] As discussed herein, electronic processor 500 may execute application 560 to commission a tunnel, and more specifically, to commission the tunnel by identifying one or more imaging devices (e.g., imaging device 440, etc.) provided to the tunnel. In some cases, electronic processor 500 may execute application 560 to automatically identify one or more imaging devices (e.g., imaging device 440, etc.), for example, as part of an automatic naming process (e.g., as described above with reference to FIG. 6 ). In some embodiments, electronic processor 500 may alternatively or additionally execute application 560 to facilitate manual identification of one or more imaging devices (e.g., imaging device 440, etc.) based on user input as part of a manual naming process.

[0130] Fig. 22 is a flow chart illustrating a method 2200 for commissioning a machine vision system for a tunnel using a manual naming process to identify one or more imaging devices associated with the tunnel in accordance with some embodiments. Although the method 2200 is described below as being performed by the server 410, and in particular as an application 560 executed by the electronic processor 500, as noted above, the functions described for the method 2200 may be performed by other devices, such as the user device 415, components of the tunnel subsystem 405, or may be distributed among multiple devices, such as multiple servers included in a cloud service. The method 2200 is described below with reference to Figs. 23-24. Figs. 23-24 present example user interfaces associated with the manual naming process of some configurations.

[0131] The method 2200 includes accessing (block 2205) tunnel commissioning data 570 using the electronic processor 500, as shown in Figure 22. In some configurations, the electronic processor 500 may call up the tunnel commissioning data 570 in a manner similar to that described above with reference to block 605 of the method 600 shown in Figure 6.

[0132] In some configurations, the electronic processor 500 may generate (at block 2210) a graphical user interface (GUI). The GUI may include a graphical representation of a virtual tunnel representing the tunnel being commissioned. The electronic processor 500 may transmit the GUI for display to a user. For example, in some configurations, the electronic processor 500 may generate and transmit the GUI to a remote device, such as the user device 415 for display to a user via the HMI 580, a human machine interface associated with the tunnel subsystem 405, a remote database, etc.

[0133] FIG. 23 illustrates an example GUI 2300 associated with a manual naming process for some configurations. As shown in FIG. 23, the GUI 2300 may include a graphical representation of a virtual tunnel 2305. The virtual tunnel 2305 may be a representation of a physical tunnel (or its machine vision system) being commissioned. The virtual tunnel 2305 may include one or more virtual imaging devices 2310. The virtual imaging devices 2310 may represent imaging devices 440 provided in the physical tunnel being commissioned. In some configurations, the virtual imaging devices 2310 are placed in the virtual tunnel 2305 at positions corresponding to the positions of the corresponding imaging devices 440 in the physical tunnel being commissioned. For example, if the physical tunnel being commissioned includes three imaging devices, the virtual tunnel 2305 may include three virtual imaging devices 2310, with each virtual imaging device 2310 placed in the virtual tunnel 2305 at positions corresponding to the actual positions of the three imaging devices in the physical tunnel being commissioned. In some configurations, the electronic processor 500 accesses a tunnel specification package and generates a virtual tunnel 2305, a virtual imaging device 2310, or a combination thereof based on the data contained in the tunnel specification package.

[0134] 23, the GUI 2300 may include an interactive list 2315 of one or more imaging devices 2310. Each imaging device 2310 included in the interactive list 2315 includes (as a GUI element) a check box 2320. A user may interact with the interactive list 2315 by selecting an imaging device included in the interactive list 2315. In some configurations, a user may select an imaging device by interacting with (e.g., selecting) the check box 2320 associated with the imaging device. Alternatively or additionally, in some configurations, a user may select an imaging device by interacting with (e.g., clicking with a mouse) the text associated with the imaging device. In such configurations, the text included in the interactive list 2315 may be selectable.

[0135] 22, the electronic processor 500 may receive (at block 2215) a selection of an imaging device for the tunnel. In some configurations, the electronic processor 500 receives the selection of an imaging device as a user interaction with the GUI 2300. For example, a user may select an imaging device by interacting with an imaging device included in the interactive list 2315. A user may select an imaging device from the interactive list 2315 by selecting a checkbox 2320 associated with the imaging device. Alternatively or additionally, a user may select an imaging device by selecting text included in the interactive list 2315.

[0136] When the electronic processor 500 receives (at block 2215) a selection of an imaging device for a tunnel via the GUI 2300, it can control (at block 2220) an indicator of the imaging device. In some configurations, the electronic processor 500 can identify a physical imaging device 440 included in the tunnel to be commissioned that is associated with the selection from the GUI 2300. The electronic processor 500 can then generate and transmit a control signal to the corresponding imaging device 440 of the tunnel to be commissioned. The corresponding imaging device 440 can provide an indication to the user upon receiving the control signal. In some examples, the imaging device 440 includes a visual indicator, such as a light or LED. When the imaging device 440 receives the control signal, the visual indicator is controlled to provide an indication (e.g., a visual indication). In some examples, the visual indicator can blink or flash in response to the control signal. Alternatively or additionally, the visual indicator can be illuminated in response to the control signal and remain illuminated.

[0137] The electronic processor 500 may receive (at block 2225) a second selection of a virtual imaging device via the GUI 2300. The second selection may be a user interaction with the graphical representation of the virtual tunnel 2305, which may include, for example, the virtual imaging devices 2310 of the virtual tunnel 2305. For example, the second selection may be a user interaction with one of the virtual imaging devices 2310 of the virtual tunnel 2305. Thus, in some configurations, the graphical representation of the virtual tunnel 2305 (including the virtual imaging devices 2310) is interactive or selectable, allowing a user to select one or more of the virtual imaging devices 2310.

[0138] For example, the user may visually observe which of the physical imaging devices 440 are providing the visual indication (e.g., which visual indicators are lit and / or flashing). The user may then select a corresponding virtual imaging device 2310 in the virtual tunnel 2305 that corresponds to the physical imaging device 440 that is providing the visual indication. Thus, in some configurations, the user may identify which physical imaging device 440 is providing the visual indication and match that physical imaging device 440 with a corresponding virtual imaging device 2310 in the graphical representation of the virtual tunnel 2305. Here, the location of the virtual imaging device 2310 in the graphical representation of the virtual tunnel 2305 selected by the user corresponds to the location of the physical imaging device 440 in the tunnel that is providing the visual indication.

[0139] The electronic processor 500 may determine (at block 2230) a corresponding ID of the imaging device 440 based on the second selection. In some configurations, the electronic processor 500 determines the corresponding ID of the imaging device 440 by associating the imaging device 440 selected from the interactive list 2315 with the virtual imaging device 2310 identified in the second selection (e.g., the virtual imaging device 2310 selected in the graphical representation of the virtual tunnel 2305, etc.). In some configurations, the electronic processor 500 determines (at block 2230) the corresponding ID of the imaging device 440 in a manner similar to that described above with reference to block 615 of the method 600 shown in FIG. 6.

[0140] In some configurations, after identifying the corresponding ID of the imaging device 440 (at block 2230), the electronic processor 500 may update (or otherwise indicate) the GUI 2300 that the imaging device 440 is associated with the corresponding ID. In some configurations, the electronic processor 500 may update the GUI 2300 to include a mark or graphic indicator to indicate the association. Alternatively or additionally, the electronic processor 500 may update the GUI 2300 by changing or modifying an existing element or component. For example, in some configurations, the electronic processor 500 may change (or add) a formatting property (e.g., color, font, font style, transparency, etc.) to indicate the association. As another example, in some configurations, the electronic processor 500 may change (or add) a display feature or property (e.g., animation feature, etc.) to indicate the association. For example, the electronic processor 500 may generate and provide a check mark 2405 near the imaging device 440 selected from the interactive list 2315 to indicate that the imaging device 440 is associated with the corresponding ID, as shown in FIG. 24. Alternatively or additionally, the electronic processor 500 may generate and provide a check mark 2410 near the virtual imaging device 2310 in the graphical representation of the virtual tunnel 2305, as also shown in FIG. 24, to indicate that the virtual imaging device 2310 is associated with the corresponding ID.

[0141] In some configurations, the electronic processor 500 can receive a selection (e.g., as a user interaction with the GUI) that is a request to disassociate the imaging device 440 from the corresponding ID. For example, in some configurations, a user can interact with the GUI 2300 by unselecting an imaging device 440 included in the interactive list 2315, such as by interacting with a checkbox 2320. After the imaging device 440 associated with that checkbox 2320 is associated with the corresponding ID by interacting with the corresponding checkbox 2320, the electronic processor 500 can disassociate the imaging device 440 included in the interactive list 2315 from the corresponding ID.

[0142] In some configurations, the electronic processor 500 may repeat one or more steps of the method 2200. For example, in a configuration in which the tunnel being commissioned includes multiple imaging devices, the electronic processor 500 may repeat one or more steps of the method 2200 for one or more of the multiple imaging devices. In some cases, the electronic processor 500 repeats blocks 2215-2230 for each of the multiple imaging devices, and then after each imaging device is associated with a corresponding ID, the electronic processor 500 performs blocks 2235 and 2240 of FIG. 22, as described in more detail below.

[0143] The electronic processor 500 may configure (at block 2235) the imaging device 440 based on the corresponding ID and commissioning data, as shown in FIG. 2200, and may generate and transmit (at block 2240) a commissioning report. In some configurations, the electronic processor 500 (at block 2235) may configure the imaging device 440 in a manner similar to that described above with reference to block 620 of the method 600 shown in FIG. 6. In some configurations, the electronic processor 500 (at block 2240) may generate and transmit a commissioning report in a manner similar to that described above with reference to block 625 of the method 600 shown in FIG. 6.

[0144] FIG. 25A illustrates an example factory calibration system that can be used to find a transformation between the 2D image coordinate space of some embodiments and a calibration target 3D factory (or camera) coordinate space (e.g., a coordinate space implemented with a standard calibration target during the manufacture of the camera). As shown in FIG. 25A, an imaging device can generate images that project points in the 3D factory coordinate space (Xf,Yf,Zf) (represented by reference number 2505 in FIG. 25A) into the 2D image coordinate space (xi,yi) (represented by reference number 2510 in FIG. 25A). The 3D factory coordinate space 2505 can be defined, for example, with reference to a support structure (sometimes referred to as a "fixture") that supports the calibration target at various known relative positions with respect to a mount for the imaging device. Images of the calibration target (e.g., at multiple different known positions) can be used to find the transformation between the factory coordinate space 2505 and the image coordinate space 2510.

[0145] The transformation between the factory coordinate space 2505 and the image coordinate space 2510 can be represented by the transformation 2520 of FIG. 25A. The transformation 2520 shown in FIG. 25A is an exemplary transformation, so the transformation between the factory coordinate space 2505 and the image coordinate space 2510 can be represented by a transformation different from the transformation 2520 of FIG. 25A (including a more complex transformation, etc.). As shown in FIG. 25A, the transformation 2520 includes intrinsic parameters (or "intrinsic factors") 2522 and extrinsic parameters (or "extrinsic factors") 2524. The intrinsic parameters 2522 can be parameters that relate pixels of an image sensor of the imaging device 440 to an image plane of the imaging device 440 based on intrinsic characteristics of the camera, such as focal length, image sensor format, principal point, lens distortion, etc. Extrinsic parameters 2524 may be parameters that relate points of 3D common coordinates (e.g., with the origin defined by a target used during factory calibration) to 3D camera coordinates (e.g., with the camera center defined as the origin). In this way, the factory calibration can provide a transformation between 3D factory coordinates and 2D image coordinates based on the intrinsic parameters of the camera and extrinsic parameters related to the camera and relative 3D space, as shown in FIG.

[0146] In general, the goal of the overall camera calibration process is to find a transformation between the physical 3D coordinate space (e.g., in mm) and the image 2D coordinate space (e.g., in pixels). Transformation 2520 in FIG. 25A shows an example of such a transformation using a simple pinhole camera model. Transformation 2520 may have other nonlinear components (e.g., to represent lens distortion). Transformation 2520 may be split into extrinsic and intrinsic parameters. Extrinsic factors may depend on the mounting position and orientation of the imaging device relative to the physical 3D coordinate space. Intrinsic factors may depend on internal parameters of the imaging device, e.g., sensor and lens parameters. The goal of the calibration process is to find the values ​​of these intrinsic and extrinsic parameters. In some embodiments, the calibration process may be split into two parts: one performed at factory calibration and one performed in the field.

[0147] Furthermore, a primary goal of the factory calibration is to calculate intrinsic parameters that do not change based on installation of the imaging device, which can simplify the field process for discovering the extrinsic parameters after installation of the imaging device, making the field process much faster and easier during system installation.

[0148] After a camera has been factory calibrated (i.e., after the key intrinsic and extrinsic factors of the camera have been identified relative to the factory space as described above), it may still be necessary to calibrate the camera to the installation environment to ensure that images captured with the camera can be properly analyzed. Thus, in some implementations, the factory calibration may be followed by a field calibration, which may identify a transformation between the camera's factory calibrated coordinate system and the installation site reference coordinate system (e.g., as part of the initial setup of a transportation system tunnel that includes the camera).

[0149] In this regard, FIG. 25B illustrates example coordinate spaces associated with various portions of a system for capturing one or more images of one or more sides of a calibration target 2525 and associating an ID with at least one imaging device (e.g., imaging device 440) of an embodiment of the present technology. In particular, FIG. 25B illustrates a factory coordinate space 2505, an image coordinate space 2510, and an object coordinate space (Xb, Yb, Zb) (indicated as 2530 in FIG. 25B) associated with a calibration object 2525. In general, the object coordinate space 2530 can be defined based on the object (e.g., calibration target 2525) used to perform the calibration (e.g., a field calibration process). As illustrated in FIG. 25B, the imaging device 440 (and thus the factory coordinate space 2505) can be repositioned to specifically set the orientation of the factory coordinate space 2505 relative to the object coordinate space 2530 (e.g., when supported within a range of positions on a tunnel support structure).

[0150] Further, in some embodiments, during a calibration process (e.g., during a field calibration process), an object coordinate space (Xb, Yb, Zb) can be defined based on the object used to perform the calibration. As an example, an object can be placed with symbols each associated with a specific location in the object coordinate space, as shown in FIG. 25B. A camera can then be used to acquire images of the calibration target 2525 and determine the transformation between the factory coordinate space 2505 and the object coordinate space 2530. Note that the calibration shown does not necessarily fix the object coordinate space 2530 relative to other coordinate systems (e.g., a coordinate space defined by a fixed origin position on a conveyor, etc.), although some calibration procedures may include calculations to determine further transformations from the object coordinate space 2530 to yet other coordinate spaces (e.g., a transport coordinate space, not shown) as part of the calibration process.

[0151] In some cases, a particular calibration object may facilitate relatively easy identification of particular locations in object coordinate space 2530 in image coordinate space 2510, which may be specified relative to factory calibration space 2505 by factory calibration (e.g., as described above). As an example, as shown in FIG. 25B, symbols may be placed on a calibration target 2525, each associated with a particular location in object coordinate space 2530. Thus, for example, decoding or analyzing particular symbols in an image (e.g., any or all of the symbols shown for image coordinate space 2510 in FIG. 25B) may determine a correspondence between a particular pixel or region in image coordinate space 2510 and a particular location in object coordinate space 2530 (e.g., a location corresponding to the upper right corner of the leading surface of object 2525, a location corresponding to the leading edge center point of the top surface of object 2525, etc.). In this way, based on these identified positions in the image coordinate space 2510, the known (or derivable) dimensions of the object 2525 can be used to determine a transformation between the object coordinate space 2530 (via the factory coordinate space 2505) and the image coordinate space 2510, thereby achieving calibration of the image coordinate space 2510 relative to the object coordinate space 2530.

[0152] In this regard, a more specific example of a process 2532 for generating an imaging device model is illustrated in FIG 25C. In some embodiments, the imaging device model may be used as part of the method 600 of FIG 6 (e.g., as part of block 615). As an example, the electronic processor 500 may use the imaging device model to identify an ID corresponding to at least one of the imaging devices 440. Although not shown, in some embodiments, the imaging device model may be stored in the memory 505 of the server 410, the memory of the user device 415, a memory element of the tunnel subsystem 405, and / or other memory devices.

[0153] The imaging device model may be useful for converting coordinates of the calibration target 2525 in a 3D coordinate space (e.g., object coordinate space 2530 of FIG. 25B) to coordinates in a 2D coordinate space (e.g., image coordinate space 2510 of FIGS. 25A-25B) associated with the imaging device 440 of an embodiment of the present technology, including by capturing one or more images of the calibration target 2525 (e.g., one or more images of multiple sides of the calibration target 2525). As described above with reference to FIG. 25A, in some embodiments, the imaging device (e.g., imaging device 440) may be calibrated (e.g., factory calibrated) prior to installation in the field. Such factory calibration is not used to generate an initial camera model that can be used to map points in the 3D factory coordinate space (e.g., factory coordinate space 2505) to 2D points in the image coordinate space 2510.

[0154] As an example, as shown in Figure 25C and described above, a factory calibration process can be performed to generate extrinsic parameters that can be used together with the intrinsic parameters to map points in a 3D factory coordinate space (e.g., factory coordinate space 2505) to 2D points in an image coordinate space (e.g., image coordinate space 2510). The factory calibration process is indicated by reference number 2535 in Figure 25C, and the transformation (or mapping of points) from factory coordinate space 2505 to image coordinate space 2510 is indicated by reference number 2540 in Figure 25C.

[0155] As discussed above, and with reference to FIG. 25B, symbols may be placed on the calibration target 2525, each associated with a particular location in the object coordinate space 2530. For example, each symbol may encode information indicative of a particular location on the calibration target (e.g., an absolute or relative location in the coordinate space 2530), and may be placed on the calibration target 2525 with sufficient precision such that the actual location of the symbol (e.g., a timing pattern or other feature of the symbol) closely corresponds to the encoded location. Thus, as shown in FIG. 25C, an image 2542 of the calibration target 2525 may include at least one symbol, and preferably multiple symbols, associated with at least one particular location in the object coordinate space 2530. A decoder 2545 (e.g., various known types of decoders) may then be implemented to decode the at least one symbol to identify at least one corresponding set of points in the object coordinate space 2530 (e.g., at least one absolute location in the object coordinate space 2530). In this manner, as also explained above, a transformation between the object coordinate system 2530 and the image coordinate space 2510 can be determined, as represented at 2550 in FIG. 25C.

[0156] As shown in FIG. 25C, after performing factory calibration and initial field calibration (e.g., calibrations represented by reference numerals 2540, 2550), pose estimation 2555 can be performed to determine a 3D rigid body transformation 2557 from object coordinate space 2530 to factory coordinate space 2505 using common image coordinate space 2510 as a common link reference frame. In other words, once the mathematical transformations 2540, 2550 have been determined (e.g., as described above), one or more images having the common image coordinate space 2510 can be utilized to determine the transformation 2557 between object coordinate space 2530 and factory coordinate space 2505. Correspondingly, a factory calibration can be constructed (indicated by reference numeral 2560 in FIG. 25C) with the specified 3D rigid body transformation 2557, resulting in a complete static calibration 2570 in which object coordinate space 2530 can be transformed to image coordinate space 2510 (and vice versa).

[0157] Thus, the symbols of the calibration target 2525 (e.g., boxes with codes defining the location of each code in the object coordinate space) can indicate the fixed coordinate location of the calibration object in the object coordinate space 2530, which can be correlated with the location of the calibration target 2525 in the image coordinate space 2510 (e.g., coordinates (Xt, Yt, Zt) can be related to (xi, yi)). Such correspondences can be used to update the camera model to account for the transformation between the factory coordinate space 2505 and the object coordinate space 2530, including using the field calibration extrinsic parameter matrix (which can be defined, for example, using the 3D rigid body transformation described above). In this way, the field calibration extrinsic parameter matrix can be used in combination with the camera model derived during the factory calibration to relate points in the object coordinate space 2530 (Xb, Yb, Zb) to points in the image coordinate space 2510 (xi, yi).

[0158] In some embodiments, such a transformation may be used to map 3D points of the calibration target 2525 to an image (e.g., image 2542) of the calibration target 2525 such that a different ID may be associated with each of multiple imaging devices arranged to collectively capture images of a common area (e.g., a tunnel of a transportation system). For example, capturing multiple images of the calibration object 2525 by multiple imaging devices (e.g., from different viewpoints, with the object 2525 in the same position) and corresponding factory calibration of each imaging device (e.g., as described above) may calibrate each imaging device to a common coordinate frame (i.e., coordinate space 2530). In this manner, the orientation of the imaging devices relative to one another may be determined (through calibration to a common coordinate system) even if the object coordinate space 2530 itself has not been calibrated to a particular transportation system or other site reference coordinate system. Correspondingly, the relative positions of the cameras can be determined and used to perform further field setup operations, including naming and other setup of the imaging devices based on their relative positions to one another and a predefined set of relative positions in a higher level system (e.g., relative positions in a tunnel or other assembly of cameras, etc.).

[0159] A calibration process as generally described above may require the acquisition of multiple images to ensure that a sufficient number of imaging devices can be calibrated to a common reference coordinate system (e.g., coordinate space 2530) by having in common the inclusion of one or more identical real-world locations (e.g., in calibration target 2525) in corresponding images captured by the different imaging devices. It may also be beneficial to position the calibration target to optimize (e.g., maximize) both the number of faces and the number of position codes (or other identifiable features) included in the images of the multiple imaging devices.

[0160] The model shown in Figures 25A, 25B, and 25C is a model (e.g., a pinhole camera model) that can be used to correct for distortion caused by projection, and the model has been simplified to avoid overcomplicating the explanation. In some embodiments, more advanced models (e.g., including lens distortion) can be used in the mechanisms described herein while leaving the overall operation for field calibration largely unchanged.

[0161] Moreover, the particular operations presented above are merely example calibration processes, and other techniques can be used to define the transformation between object coordinate space and image coordinate space. As an example, in some embodiments, each imaging device is associated (or has) a respective factory calibration. Alternatively or additionally, in some embodiments, one or more of the imaging devices are not factory calibrated (e.g., are not associated with a factory calibration). In such an embodiment, one or more of the imaging devices can approximate an intrinsic factor based on, for example, lens specifications, sensor specifications, etc. As another example, instead of performing factory and field calibrations, a field calibration can be used to derive a model that relates object coordinates to image coordinates. However, this example may require a full calibration to be performed in order to use a new imaging device 440, making replacement of the imaging device 440 relatively cumbersome. In some embodiments, calibrating the imaging device 440 using a calibration target (e.g., as described in U.S. Pat. No. 9,305,231, issued April 5, 2016, the contents of which are incorporated herein by reference) to find the transformation between the 3D factory coordinate space and the image coordinates, and calibrating the calibration in the field to find a transformation that facilitates mapping between common coordinates (e.g., those associated with a conveyor, support platform, or dimensioner) allows the imaging device 440 to be replaced without repeating the field calibration.

[0162] As noted above, calibration by the disclosed method can be improved by increasing the number of calibration target locations and surfaces (or other features) that can be commonly included in images acquired by different imaging devices (i.e., more accurate calibration can be achieved between each imaging device and the calibration reference coordinate system). Correspondingly, some implementations can include acquiring multiple images of the calibration object, each of which is located at a different real-world location, or acquiring one or more images that include multiple calibration objects (e.g., each of which includes coordinate information encoded therein), each of which is located at a different real-world location. In this way, for example, an operator can be more confident in ensuring that a particular feature of the calibration object is displayed in associated images of the multiple imaging devices (e.g., simultaneous images, or subsequent images without any movement of the associated calibration object in between), thereby allowing the disclosed system to achieve more accurate relative calibration of the entire array of associated imaging devices.

[0163] FIG. 26A illustrates an example configuration including three imaging devices (e.g., a first imaging device 440A, a second imaging device 440B, and a third imaging device 440C) according to some embodiments of the present disclosure. As illustrated in FIG. 26A, the imaging devices 440A, 440B, and 440C are associated with factory coordinate spaces (e.g., a first factory coordinate space 2505A, a second factory coordinate space 2505B, and a third factory coordinate space 2505C). In the illustrated example, the first imaging device 440A is associated with the first factory coordinate space 2505A (Xc1, Yc1, Zc1), the second imaging device 440B is associated with the second factory coordinate space 2505B (Xc2, Yc2, Zc2), and the third imaging device 440C is associated with the third factory coordinate space 2505C (Xc3, Yc3, Zc3).

[0164] FIG. 26A also illustrates two positions of the calibration target 2525 (e.g., a first position 2605_B1 and a second partial position 2605_B2), each position associated with a respective object coordinate space (e.g., a first object coordinate space 2530_B1 and a second object coordinate space 2530_B2). As illustrated in FIG. 26A, when the calibration target 2525 is at the first position 2605_B1, the calibration target 2525 is within the field of view of the first imaging device 440A and the second imaging device 440B. When the calibration target 2525 is at the second position 2605_B2, the calibration target 2525 is within the field of view of the second imaging device 440A and the third imaging device 440C. Thus, for the first position 2605_B1 and the second position 2605_B2, the calibration target 2525 is within the field of view of the second imaging device 440B. Thus, in the example shown in FIG. 26A, the second imaging device 440B can be calibrated by performing a relative static calibration to the first position 2605_B1 and the second position 2605_B2 (e.g., as described in detail above with reference to FIGs. 25A-25C), thereby allowing the second imaging device 440B to be used to mathematically relate the field calibration of the first imaging device 440A to the field calibration of the third imaging device 440C.

[0165] In this regard, for example, FIG. 26B illustrates a process 2610 for relating a first object coordinate space 2530_B1 defined by a first position 2605_B1 to a second object coordinate space 2530_B2 defined by a second position 2605_B2 using a 3D rigid transformation (which generally occurs as described in detail above with reference to FIG. 25C). This 3D rigid transformation can then be configured to determine a transformation between the coordinate space 2530_B2 of the second position 2605_B2 and the coordinate space 2530_B1 of the first position 2605_B1. Once sufficient transformations (e.g., at least one for each pair of field calibration coordinate systems) have been determined in this manner, the relative positions of each imaging device relative to one another can be easily determined (e.g., as described above).

[0166] Thus, for example, by performing process 2610, all imaging devices (e.g., the first imaging device 440A, the second imaging device 440B and the third imaging device 440C) can be calibrated with respect to the object coordinate space 2530_B1 defined by the first position 2605_B1 of the calibration target 2525 (including imaging devices that do not have the calibration target 2525 in their field of view at this position. For example, when the calibration target 2525 is at the second position 2605_B2, the imaging device that does not have the calibration target 2525 in its field of view is the first imaging device 440A).

[0167] In this manner, after all associated imaging devices of a system have been calibrated to a coordinate space (defined by calibration targets 2525) or to multiple coordinate spaces with appropriately configured calibrations between each other (see, e.g., FIG. 26B), it is possible to determine the relative positions of the imaging devices. As discussed above, this determination of relative positions can be used to assign names (e.g., IDs, etc.) to the imaging devices and, for example, to verify that the system assembly meets relevant design specifications and has proper coverage for the work volume. Furthermore, if one or more of the calibration coordinate spaces can be calibrated to the associated site coordinate system (e.g., by aligning a calibration object to the edge of a conveyor at a known origin position), a similar approach to that described above can allow the system to automatically identify the position and orientation of the imaging device 440 relative to the site (e.g., relative position and orientation to the conveyor).

[0168] While the above examples have discussed multiple sequential sets of image acquisitions including calibration target 2525 at multiple different locations, other approaches can use fewer (e.g., only one) sets of simultaneous (or other) image acquisitions including multiple calibration targets (e.g., each substantially identical to calibration target 2525) at different locations. For example, multiple calibration targets can be positioned such that a single image acquisition event for a tunnel or other system results in multiple captured images that collectively include a sufficient number of commonly represented features to identify the relative positions (or absolute positions) of all of the imaging devices among their images.

[0169] In some embodiments, aspects of the present technology, including computer implementations of the methods of the present technology, may be implemented as an article of manufacture, system, method, or apparatus using standard programming or engineering techniques to manufacture software, firmware, hardware, or any combination thereof for controlling a processing device (e.g., serial or parallel general purpose or specialized processor chips, single core chips, multi-core chips, microprocessors, field programmable gate arrays, control units, arithmetic logic units, and any various combinations of processor registers), a computer (e.g., a processing device operatively coupled to a memory), or other electronically operative controller to implement aspects described in detail herein. Thus, for example, embodiments of the present technology may be implemented as a set of instructions tangibly embodied in a non-transitory computer readable medium such that a processing device can execute instructions upon reading the instructions from the non-transitory computer readable medium. Some embodiments of the present technology may comprise (or use) a controlling device, such as an automation device, special purpose or general purpose computer, including various computer hardware, software, firmware, etc. consistent with the description herein. The control device may include, by way of example only, a processor, a microcontroller, a field programmable gate array, a programmable logic controller, logic gates, etc., as well as other typical components known in the art for implementing the appropriate functionality (e.g., memory, communication systems, power supplies, user interfaces and other inputs, etc.).

[0170] In this application, the term "article of manufacture" is intended to include a computer program accessible by any computer-readable device, carrier (e.g., non-transitory signal, etc.), or medium (e.g., non-transitory medium, etc.). For example, computer-readable media may include, but are not limited to, magnetic storage devices (e.g., hard disks, floppy disks, magnetic tapes, etc.), optical disks (e.g., compact disks (CDs), digital versatile disks (DVDs), etc.), smart cards, and flash memory devices (e.g., cards, sticks, etc.). Furthermore, it should be understood that carrier waves can be used to carry computer-readable electronic data, such as those used in sending and receiving e-mail or accessing a network such as the Internet or a local area network (LAN). Those skilled in the art will recognize that many modifications can be made to the above arrangements without departing from the scope or spirit of the invention as defined in the following claims.

[0171] Certain operations of the methods of the present technology, or of systems implementing the methods, may be illustrated diagrammatically or otherwise described in the figures. Unless otherwise specified or limited, the depiction of certain operations in a particular spatial order does not necessarily require that the operations be performed in a particular order that corresponds to the particular spatial order. Thus, certain operations illustrated in the figures or otherwise disclosed herein may be performed in an order different from that explicitly illustrated or described, if appropriate for a particular embodiment of the present technology. In some embodiments, certain operations may also be performed in parallel, including by separate computers or dedicated parallel processing devices configured to interoperate as part of a larger system.

[0172] Unless otherwise specified or limited in this application with respect to computer implementation, terms such as "component," "system," "module," and the like are intended to include all or part of a computer-related system, including hardware, software, a combination of hardware and software, or run-time software. For example, a component can be, but is not limited to, a processing device, a process executed (or executable) by a processing device, an object, an executing program, a thread of execution, a computer program, or a computer. For example, both an application running on a computer and that computer can be a component. One or more components (or systems, modules, etc.) can exist within a process or thread of execution, can be implemented locally on one computer, distributed across two or more computers or other processing devices, or can be included within other components (or systems, modules, etc.).

[0173] Also, in this application, unless otherwise limited or defined, "or" indicates an open-ended list of elements or operations that can exist in any combination, rather than a closed list of elements that can only exist in the alternative of one another. For example, a list of "A, B, or C" indicates the options of A, B, C, A and B, A and C, B and C, and A and B and C. Thus, when "or" is used in this application, it will only mean an exclusive option if it is preceded by an exclusive term, such as "either," "one," "only one," or "exactly one." Furthermore, when the term "one or more" (and variations thereof) is used before a list of multiple elements and includes "or" between the listed elements, it indicates the option of any one, more, or all of the listed elements. For example, "one or more of A, B, or C," "at least one of A, B, or C," refers to the options of one or more A, one or more B, one or more C, one or more A and one or more B, one or more B and one or more C, one or more A and one or more C, or one or more A and B and C, respectively. The use of the term "plurality" (and variations thereof) before a list of multiple elements, as well as the inclusion of "or" between the listed elements, refers to the option of any one or more or all of the multiple entities of the listed elements. For example, "one or more of A, B, or C," "two or more of A, B, or C," refers to the options of A and B, B and C, A and C, A and B and C. Generally, in this application, the term "or" will mean exclusive alternatives (e.g., "one or the other, but not both") only when it is preceded by an exclusive term such as "either," "one," "only one," or "exactly one."

[0174] Additionally, the term "set" as used herein is intended to denote a collection of elements that includes one element or more than one element, unless otherwise limited or defined. For example, the term "a set of A" is intended to denote "one or more A's" or "at least one A's."

[0175] Although the present technology has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes can be made in form and detail without departing from the scope of the described subject matter.

Claims

1. 1. A method for commissioning an imaging device in a set of imaging devices of a machine vision system, comprising: receiving commissioning data including a set of IDs; controlling the imaging device to capture image data of a calibration target; identifying an ID associated with the imaging device from among the set of IDs based on the captured image data; configuring the imaging device based on the determined ID and the commissioning data; generating and transmitting for display to a user via a display device a commissioning report indicating whether configuration of the imaging device was successful; The method according to claim 1, further comprising:

2. receiving the commissioning data includes receiving specification data identifying a set of the imaging devices associated with the machine vision system and a technical configuration of each of the imaging devices; The method of claim 1.

3. generating and transmitting for display to the user via the display device a commissioning details user interface prompting the user to select commissioning parameters; receiving the set of commissioning parameters including at least one of a tunnel ID, a site ID, or an operator ID based on user input entered via the commissioning details user interface; The method of claim 1 , further comprising:

4. generating and transmitting for display to the user via the display device a procedure user interface prompting the user to select procedure parameters; receiving the set of procedure parameters including at least one of a commissioning procedure, a material of the calibration target, a calibration target ID, or a dimension of the calibration target based on user input entered via the procedure user interface; The method of claim 1 , further comprising:

5. determining an identity of the imaging device includes determining an identity of the imaging device using the set of procedure parameters; The method of claim 4.

6. generating a pre-commissioning checklist user interface including a set of pre-commissioning tasks to be performed prior to commissioning and transmitting for display to the user via the display device; receiving a user confirmation that each pre-commissioning task in the set of pre-commissioning tasks has been completed; The method of claim 1 , further comprising:

7. Configuring the imaging device based on the ID includes configuring the imaging device based on the ID upon receiving user input confirming association of the imaging device with the ID. The method of claim 1.

8. generating an auto-naming user interface indicating an identification status of each imaging device included in the set of imaging devices and outputting the auto-naming user interface for display to the user via the display device. The method of claim 1.

9. generating and outputting the auto-naming user interface includes generating and outputting an auto-naming user interface indicating that a particular imaging device of the set of imaging devices is not associated with an ID. The method of claim 8.

10. and receiving, based on user interaction with the auto-naming user interface, a user-selected ID for the particular imaging device, the ID being included in a list of remaining IDs included in the auto-naming user interface.

10. The method of claim 9.

11. the list of remaining IDs is generated based on IDs that are not already associated with any of the imaging devices. The method of claim 10.

12. each ID in the set of IDs is associated with at least one imaging device in the set of imaging devices; The method of claim 1.

13. 1. A system for commissioning an imaging device in a set of imaging devices for a machine vision system, comprising: at least one electronic processor; The electronic processor includes: receiving commissioning data including a set of IDs; receiving a set of commissioning parameters based on user input entered via a commissioning details user interface; receiving a user confirmation that each pre-commissioning task in the set of pre-commissioning tasks has been completed based on user input entered via the pre-commissioning checklist user interface; Controlling the imaging device to capture image data of a calibration target; Identifying an ID associated with the imaging device from the set of IDs based on the captured image data; configuring the imaging device based on the ID and the commissioning data; generating a commissioning report indicating whether the configuration of the imaging device was successful and including the set of commissioning parameters and transmitting the report for display to a user via a display device; The system is configured as follows.

14. each ID in the set of IDs is associated with at least one imaging device in the set of imaging devices; The system of claim 13.

15. 1. A method of commissioning a machine vision system, comprising: controlling the acquisition of a plurality of images, wherein each imaging device has a factory calibration and controls the plurality of imaging devices to capture an image of a calibration object; determining, for each of the plurality of imaging devices, a field calibration based on the images acquired by that imaging device; identifying, for each of the plurality of imaging devices, an updated calibration based on the calibration for that imaging device and the field calibration; The method according to claim 1, further comprising:

16. determining an identity of at least one imaging device of the plurality of imaging devices based on the updated calibration.

16. The method of claim 15.

17. determining the ID without calibrating the at least one imaging device among the plurality of imaging devices with respect to a task coordinate system that includes the calibration object; 17. The method of claim 16.

18. capturing an image of each of the plurality of imaging devices includes capturing the images such that an image of a first imaging device of the plurality of imaging devices and an image of a second imaging device of the plurality of imaging devices include imaging data representative of a plurality of identical features of the calibration object, the plurality of identical features including a plurality of symbols on the calibration object encoding corresponding position information on the calibration object; 16. The method of claim 15.

19. the plurality of images includes a first plurality of images including the calibration object at a first location and a second plurality of images including the calibration object at a second location; 16. The method of claim 15.

20. the calibration object is a first calibration object; an image of one or more of the imaging devices of the plurality of imaging devices includes the first calibration object and a second calibration object; 16. The method of claim 15.

21. determining the updated calibration based on the factory calibration and the field calibration includes determining a transformation between calibrations for a plurality of the imaging devices based on the images including the first calibration object and the second calibration object.

21. The method of claim 20.

Citation Information

Patent Citations

  • Image processor and image processing method

    JP2016065830A

  • Image processing system and control method thereof, imaging apparatus, program

    JP2020010166A

  • Method, information processing device, and program supporting adjustment of posture of imaging device

    JP2020188395A

  • Work recognition apparatus

    JP2021076888A

  • Automatic configuration of many cameras

    JP2021164161A