Systems and methods for calibrating image capturing modules

The rotating drum setup for image capture module calibration addresses motion-induced blurring and distortion, enhancing safety and efficiency by reducing field calibration needs and ensuring accurate object detection.

JP2025170038APending Publication Date: 2025-11-14BNSF RAILWAY COMPANY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025142583
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2020-03-12
Filing Date
2025-08-28
Publication Date
2025-11-14

AI Technical Summary

Technical Problem

Images captured by vehicle-mounted cameras while in motion often suffer from blurring and distortion, leading to inaccurate object identification and localization.

Method used

A method and system for calibrating image capture modules using a rotating drum and fixture setup to simulate a moving roadway, allowing for bench calibration that synchronizes image capture modules and rotary encoders, reducing the need for field calibration and improving safety and efficiency.

Benefits of technology

The method reduces the time and personnel required for field calibration, enhances safety by minimizing hazardous conditions, and ensures clear, proportionate images for accurate object detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025170038000001_ABST
    Figure 2025170038000001_ABST
Patent Text Reader

Abstract

To provide systems and methods for bench-calibrating an image capturing module which may reduce time and / or resources required to field-calibrate the image capturing module.SOLUTION: In one embodiment, a method includes capturing, by a camera of an image capturing module, a first image of a target. The image capturing module and a drum are attached to a fixture, and the target is attached to the drum. The method also includes determining the number of lateral pixels in a lateral pitch distance of the image of the target, determining a lateral object pixel size on the basis of the number of lateral pixels, and determining a drum encoder rate on the basis of the lateral object pixel size. The drum encoder rate is programmed into a drum encoder.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] FIELD OF THE DISCLOSURE This disclosure relates generally to image capture modules, and more particularly to systems and methods for calibrating image capture modules. [Background technology]

[0002] Some vehicles use cameras to capture images of objects in the environment around the vehicle. These images can be used to identify and / or locate objects in the surrounding environment. However, images captured from a vehicle while the vehicle is in motion may be blurred or distorted, resulting in inaccurate identification and / or location of the objects. Summary of the Invention [Means for solving the problem]

[0003] Aspects of the invention are set out in the independent claims, with preferred features set out in the dependent claims. Features of one aspect may be applied to any aspect alone or in combination with other aspects.

[0004] According to one embodiment, a method includes capturing a first image of a target with a camera of an image capture module. The image capture module and a drum are mounted in a fixture, and the target is mounted on the drum. The method also includes determining a number of horizontal pixels at a horizontal pitch distance of the image of the target, determining a horizontal object pixel size based on the number of horizontal pixels, and determining a drum encoder rate based on the horizontal object pixel size. The drum encoder rate is programmed into a drum encoder mounted on the drum. The method further includes capturing a second image of the target with the camera of the image capture module while the target rotates about an axis of the drum, determining a number of vertical pixels at one vertical pitch distance of the second image, and comparing the number of horizontal pixels to the number of vertical pixels.

[0005] In certain embodiments, the drum encoder rate is the number of electrical pulses generated by a drum encoder in one revolution of the drum encoder shaft. In some embodiments, the drum encoder rate is calculated using the circumference of the drum and the pixel size of the horizontal object. The target is a checkerboard pattern including a plurality of black and white squares, and the horizontal pitch distance can indicate the width of one square of the plurality of squares and the vertical pitch distance can indicate the length of one square of the plurality of squares.

[0006] In certain embodiments, the method includes determining, in response to comparing the number of horizontal pixels to the number of vertical pixels, that the number of horizontal pixels matches the number of vertical pixels, and calculating a vehicle encoder rate based on the drum encoder rate. In some embodiments, the method further includes programming the vehicle encoder rate into a vehicle encoder mounted on a wheel of a vehicle, and capturing an image of a second target with the camera of the image capture module. The image capture module is mounted on the vehicle, and the second target is mounted to a roadway.

[0007] In certain embodiments, the method includes determining, in response to comparing the number of horizontal pixels to the number of vertical pixels, that the number of horizontal pixels differs from the number of vertical pixels, adjusting the drum encoder rate to an adjusted drum encoder rate, and programming the adjusted drum encoder rate into the drum encoder. The method further includes capturing a third image of the target with the camera of the image capture module while the target rotates about an axis of the drum, determining a number of vertical pixels at one vertical pitch distance in the third image, and comparing the number of vertical pixels and the number of horizontal pixels at the one vertical pitch distance in the third image. In some embodiments, the method includes focusing the camera of the image capture module on the target under constant lighting conditions and obtaining a maximum contrast between two pixels that identify a boundary between a light portion and a dark portion of the target.

[0008] According to another embodiment, a system includes a fixture, a drum mounted on the fixture, a target mounted on the drum, a drum encoder mounted on the drum, and an image capture module mounted on the fixture. The image capture module includes a camera that captures a first image of the target and a second image of the target while the target rotates about an axis of the drum. The system further includes one or more controllers communicatively connected to the drum encoder and the camera. The one or more controllers determine a number of horizontal pixels in a horizontal pitch distance of the image of the target, determine a horizontal object pixel size based on the number of horizontal pixels, and determine a drum encoder rate based on the horizontal object pixel size, the drum encoder rate being programmed into a drum encoder mounted on the drum. The one or more controllers further determine a number of vertical pixels in a vertical pitch distance of the second image and compare the number of horizontal pixels to the number of vertical pixels.

[0009] According to yet another embodiment, one or more computer-readable storage media embody instructions that, when executed by a processor, cause the processor to perform operations including capturing a first image of a target with a camera of an image capture module. The image capture module and a drum are mounted in a fixture, and the target is mounted on the drum. The operations also include determining a number of horizontal pixels in a horizontal pitch distance of the image of the target, determining a horizontal object pixel size based on the number of horizontal pixels, and determining a drum encoder rate based on the horizontal object pixel size, the drum encoder rate being programmed into the drum encoder mounted on the drum. The operations further include capturing a second image of the target with the camera of the image capture module while the target rotates about an axis of the drum, determining a number of vertical pixels in one vertical pitch distance of the second image, and comparing the number of horizontal pixels to the number of vertical pixels.

[0010] Technical advantages of certain embodiments of the present disclosure may include one or more of the following: The present disclosure describes systems and methods for bench calibrating image capture modules that may reduce the time and / or personnel required to field calibrate image capture modules. Certain embodiments of the present disclosure use a rotating drum located in a test chamber to simulate a moving roadway, thereby allowing an operator (e.g., a computer programmer) to test the calibration system at maximum speed using live images. In this manner, the systems and methods described herein for bench calibrating image capture modules may improve the safety and efficiency of field calibration by reducing the time personnel spend calibrating image capture modules in the field under hazardous conditions (e.g., working under roadways and heavy equipment), reducing the number of field personnel, and minimizing the cost of expensive field testing. The systems and methods described in this disclosure may be generalized to different transportation infrastructures, including rail, road, and waterway.

[0011] Other technical advantages will be readily apparent to those skilled in the art from the following figures, descriptions, and claims. Additionally, while certain advantages have been enumerated above, various embodiments may include all, some, or none of the enumerated advantages.

[0012] For a facilitated understanding of the present disclosure, reference is made to the following description taken in conjunction with the accompanying drawings, in which: [Brief explanation of the drawings]

[0013] [Figure 1] 1 illustrates an exemplary system for field calibration of an image capture module and a vehicle encoder. [Figure 2] 2 illustrates an exemplary image capture module that may be used by the system of FIG. 1. [Figure 3] 1 illustrates an exemplary system for bench calibrating an image capture module. [Figure 4]1 illustrates an exemplary method for field calibrating an image capture module. [Figure 5] 1 illustrates an exemplary method for bench calibrating an image capture module. [Figure 6] 1 illustrates an exemplary computer system that may be used by the systems and methods described herein. DETAILED DESCRIPTION OF THE INVENTION

[0014] Certain vehicles include image capture systems that capture images while the vehicle is moving. These images can be used by machine vision models to detect and / or identify objects in the environment surrounding the vehicle. Embodiments of the present disclosure describe systems and methods for calibrating the image capture modules and / or rotary encoders used by these systems. These calibration procedures can ensure that the image capture modules and rotary encoders used in the systems are synchronized and provide clear, high-contrast, and well-proportioned images.

[0015] Figures 1-6 illustrate exemplary systems and methods for calibrating an image capture module. Figure 1 illustrates an exemplary system for field calibrating an image capture module. Figure 2 illustrates an exemplary image capture module that may be used by the system of Figure 1. Figure 3 illustrates an exemplary system for bench calibrating an image capture module. Figure 4 illustrates an exemplary method for field calibrating an image capture module. Figure 5 illustrates an exemplary method for bench calibrating an image capture module and drum encoder. Figure 6 illustrates an exemplary computer system that may be used by the systems and methods described herein.

[0016] 1 illustrates an exemplary system 100 for field calibrating an image capture module 140. System 100, or portions thereof, may be associated with an entity, and may include any organization, such as a company, a corporation (e.g., a railroad company, a transportation company, etc.), or a government agency (e.g., a transportation department, a public safety department, etc.), that calibrates image capture module 140 in the field. Elements of system 100 may be implemented using any suitable combination of hardware, firmware, and software. For example, elements of system 100 may be implemented using one or more components of the computer system of FIG. 6.

[0017] The system 100 includes a vehicle 110, a vehicle encoder 120, a beam 130, one or more image capture modules 140, a computer 150, a network 160, and a target 170. The vehicle 110 of the system 100 is any machine capable of autonomous movement. The vehicle 110 may be an automobile, a locomotive, a truck, a bus, an aircraft, or any other machine suitable for movement. The vehicle 110 may operate at any speed that allows one or more components of the beam 130 (e.g., sensors, cameras, etc.) to capture images. For example, the vehicle 110 may be a rail-bound vehicle traveling at 65 miles per hour (mph). The roadway 112 of the system 100 is any path that accommodates the vehicle 110. For example, the vehicle 110 may travel along the roadway 112. The roadway 112 may include a road, a highway, a railroad track, a waterway, etc.

[0018] The vehicle encoder 120 of the system 100 is a rotary encoder or other timing device used to measure the rotation of an axle. The vehicle encoder 120 may measure the number of times the axle rotates. The vehicle encoder 120 may be attached to an axle of the vehicle 110. The vehicle encoder 120 may be physically and / or logically connected to one or more components of the system 100. For example, the vehicle encoder 120 may be physically and / or logically connected to one or more cameras and / or sensors of the image capture module 140. As another example, the vehicle encoder 120 may be physically and / or logically connected to the computer 150.

[0019] Vehicle encoder 120 may communicate with the cameras of image capture module 140 via a controller to ensure that the cameras capture images with the same perspective and proportion regardless of the speed at which vehicle 110 is traveling. For example, vehicle encoder 120 may be synchronized with multiple cameras of image capture module 140 to ensure that all cameras capture images at the same time. As another example, vehicle encoder 120 may be synchronized with cameras of image capture module 140 to ensure that a camera moving with vehicle 110 at a first speed (e.g., 10 miles per hour) captures images with the same perspective and proportion as a camera moving with vehicle 110 at a second speed (e.g., 65 miles per hour).

[0020] The beam 130 of the system 100 is a structure that contains and directs components used to capture images (e.g., image capture module 140). In certain embodiments, the beam 130 operates similarly to a flatbed document scanner, except that the beam 130 moves while capturing images of stationary physical objects. The beam 130 engages with the vehicle 110. For example, the beam 130 may be bolted to a subframe attached to the vehicle 110. In the embodiment shown in FIG. 1 , the beam 130 has three sections, including two end sections and a center section. The beam 130 has a gull-wing configuration, with the center section curving inward toward the center of the beam 130. The gull-wing configuration allows the image capture components (e.g., sensors, cameras, etc.) of the image capture module 140 within the beam 130 to be properly oriented relative to the physical object being captured. In certain embodiments, the center section of the beam 130 is omitted, and each end is connected to the vehicle 110. The beam 130 may be made of metal (eg, steel or aluminum), plastic, or any material suitable for housing the components of the beam 130 and for attaching the beam 130 to the vehicle 110 .

[0021] Beam 130 may include one or more openings. The openings may provide for positioning image capture module 140 within beam 130. The openings may allow for installation, adjustment, and maintenance of image capture module 140. Although beam 130 is shown in FIG. 1 as having a particular size and shape, beam 130 may have any size and shape suitable for accommodating and directing image capture module 140. Other factors that may contribute to the design of beam 130 include shock resistance, vibration resistance, weather resistance considerations, durability, ease of maintenance, calibration considerations, and ease of installation.

[0022] The image capture modules 140 of the system 100 are used to capture images while the vehicle 110 is in motion. Each image capture module 140 may include one or more sensors, one or more cameras, etc. One or more image capture modules 140 may be mounted on the vehicle 110 in any position that allows the image capture modules 140 to capture images of the environment surrounding the vehicle 110. In the embodiment shown in FIG. 1 , the image capture modules 140 are located within the beam 130.

[0023] In certain embodiments, each end of the beam 130 houses one or more image capture modules 140. For example, a first end of the beam 130 may house an image capture module 140 including two downward-facing cameras that capture images of the sleeper and ballast areas of the rail. The first end of the beam 130 may house the two downward-facing cameras in a portion of the first end that is substantially horizontal to the rail. The second end of the beam 130, opposite the first end, may house two image capture modules 140, each including two angled cameras that capture images of both sides of the rail and rail fastening system. The second end of the beam 130 may house four angled cameras in a portion of the second end that is at an angle (e.g., a 45-degree angle) to the rail.

[0024] The image capture module 140 may include various types of sensors depending on the detection and / or measurement requirements. Sensors housed in the image capture module 140 may include optical sensors (e.g., visible light (mono and color), infrared, ultraviolet, and / or thermal cameras), motion sensors (e.g., gyroscopes and accelerometers), light detection and ranging (LIDAR) sensors, hyperspectral sensors, global positioning system (GPS) sensors, etc. Optical sensors and lasers may be used together for laser triangulation to measure deflection or profile. LIDAR sensors may be used to generate three-dimensional (3D) point cloud data. Hyperspectral sensors may be used for specific wavelength responses. An exemplary image capture module 140 is illustrated in FIG. 2 below.

[0025] The computer 150 of the system 100 represents any suitable computing component that may be used to process information related to the system 100. The computer 150 may coordinate one or more components of the system 100. The computer 150 may receive data from the image capture module 140 and / or the vehicle encoder 120. The computer 150 may monitor the inputs and / or outputs of the image capture module 140 and / or the vehicle encoder 120. The computer 150 may include communications capabilities that allow a user (e.g., a technician) to directly interact with the system 100. For example, a user may access the computer 150 through an interface (e.g., a screen, a graphic user interface (GUI), or a panel) of the computer 150. The computer 150 may be a laptop computer, a desktop computer, a smartphone, a tablet, a personal digital assistant (PDA), a wearable computer, etc. The computer 150 may be located inside or outside the vehicle 110. The computer 150 may communicate with one or more components of the system 100 via a network 160.

[0026] Network 160 of system 100 may be any type of network that facilitates communication between components of system 100. One or more portions of network 110 may include an ad-hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a metropolitan area network (MAN), a portion of the Internet, a portion of the public switched telephone network (PSTN), a cellular network, a 3G network, a 4G network, a 5G network, a Long Term Evolution (LTE) cellular network, a combination of two or more thereof, or any other suitable type of network. One or more portions of network 110 may include one or more access (e.g., mobile access), core, and / or edge networks. Network 160 may be any communication network, such as a private network, a public network, a connection via the Internet, a mobile network, a Wi-Fi network, a Bluetooth network, etc. One or more components of system 100 may communicate via network 160. For example, computer 150 may communicate over network 160 , including receiving information from image capture module 140 and / or vehicle encoder 120 .

[0027] The target 170 of the system 100 is an object used to calibrate the image capture module 140 and / or the vehicle encoder 120. In certain embodiments, the target 170 is positioned in the clear field of view of the image capture module 140. For example, the target 170 may be fixed to the roadway 112 (e.g., railroad tracks) in the clear field of view of the camera of the image capture module 140. The target 170 includes a calibration pattern. The calibration pattern may be of any suitable size, shape, and / or design. The calibration pattern design may include a checkerboard pattern, a chessboard pattern, a circular grid pattern, a calibration board pattern (ChArUcoboard pattern), etc. For example, the calibration pattern may be a printed black and white checkerboard pattern including multiple black and white squares. The calibration pattern may have a pitch between 0.375 inches and 2.0 inches (e.g., 0.5 inches, 1.0 inches, etc.). The pitch indicates the length / width of one square in the checkerboard pattern. In certain embodiments, the calibration pattern may include units with unequal width-to-length ratios, for example, the length of each unit may be twice the width of each unit.

[0028] During operation, a vehicle encoder rate is programmed into vehicle encoder 120. The vehicle encoder rate is the number of electrical pulses generated by vehicle encoder 120 in one revolution of the shaft of vehicle encoder 120. The vehicle encoder rate may be determined from previously generated calibration data during a bench calibration procedure, as described in FIGS. 3 and 5 below. If bench calibration data is not available, an arbitrary initial value for the vehicle encoder rate may be programmed into vehicle encoder 120. In certain embodiments, the vehicle encoder rate programmed into vehicle encoder 120 is an integer. In certain embodiments, an operator programs the vehicle encoder rate into vehicle encoder 120.

[0029] The vehicle encoder 120 and image capture module 140 of the system 100 are fixed to the vehicle 110. A target 170 of the system 100 is fixed to the roadway 112 in consideration of the camera of the image capture module 140 to be calibrated. The target 170 is positioned perpendicular to the axis of the camera of the image capture module 140. The camera of the image capture module 140 is activated, and an operator observes the current focus of the camera under certain lighting conditions. If the contrast between two pixels identifying the boundary between light and dark areas of the target 170 is less than the maximum contrast obtainable (or less than observed during the bench calibration procedure), the operator unlocks the camera's focus mechanism and adjusts the focus until maximum contrast is achieved. The focus mechanism is then locked.

[0030] The image capture module 140 is connected to the computer 150 via the network 160. The computer 150 includes image capture software. The image capture module 140 captures a first image of the target 170, which is displayed on the computer 150. The operator determines the number of lateral (e.g., cross-web) pixels in the lateral pitch distance of the first image of the target 170 and determines the lateral object pixel size (OPS) by dividing the pitch of the target 170 by the number of lateral pixels in the pitch area. The test vehicle encoder rate is then determined by dividing the wheel circumference of the vehicle 110 by the lateral OPS. If the test vehicle encoder rate is different from the initial vehicle encoder rate programmed into the vehicle encoder 120, the test vehicle encoder rate is programmed into the vehicle encoder 120. The image capture software of the computer 150 is triggered from the vehicle encoder 120, and the vehicle 110 moves forward or backward over the target 170.

[0031] Image capture device 140 captures a second image of target 170 while vehicle 110 moves over target 170. An operator of computer 150 determines (e.g., counts) the number of light or dark vertical (e.g., downweb) pixels at each one vertical pitch distance in the second image and compares the number of horizontal pixels to the number of vertical pixels. If the number of horizontal pixels matches the number of vertical pixels, image capture module 140 and vehicle encoder 120 are calibrated. If the number of horizontal pixels differs from the number of vertical pixels, the vehicle encoder rate is adjusted until the number of horizontal pixels matches the number of vertical pixels. In this manner, system 100 can be used to calibrate image capture module 140 and vehicle encoder 120 to ensure that sufficient images are captured by system 100 that can be used to accurately identify objects in the environment surrounding vehicle 110.

[0032] 1 depicts a particular arrangement of vehicle 110, vehicle encoder 120, beam 130, image capture module 140, computer 150, network 160, and target 170, this disclosure contemplates any suitable arrangement of vehicle 110, vehicle encoder 120, beam 130, image capture module 140, computer 150, network 160, and target 170. For example, computer 150 may be located inside vehicle 110. Vehicle 110, vehicle encoder 120, beam 130, image capture module 140, and computer 150 may be physically or logically co-located in whole or in part with one another.

[0033] 1 depicts a particular number of vehicles 110, vehicle encoders 120, beams 130, image capture modules 140, computers 150, networks 160, and targets 170, this disclosure contemplates any suitable number of vehicles 110, vehicle encoders 120, beams 130, image capture modules 140, computers 150, networks 160, and targets 170. For example, system 100 may include a vehicle 110 mounted on the front end of vehicle 110. 6. The system 100 may include a first beam 130 at the rear end of the vehicle 110 and a second beam 130 at the rear end of the vehicle 110. As another example, the system 100 may include multiple computers 150. One or more components of the system 100 may be implemented using one or more components of the computer system of FIG.

[0034] 2 illustrates an exemplary image capture module 140 that may be used by the system 100 of FIG. 1. The image capture module 140 includes a camera 210, a lens 220, a top plate 230, a base plate 240, a cover plate 250, a bolt 260, and an opening 270. The camera 210 is any device that captures an image. For example, the camera 210 may capture an image of the target 170 of FIG. 1. As another example, the camera 210 may capture an image of a rail component (e.g., a rail joint, a switch, a fork, a fastener, ballast, a rail head, and / or a rail tie). In certain embodiments, the camera 210 includes one or more sensors.

[0035] One or more cameras 210 may capture images at different angles. For example, one or more cameras 210 may capture images of both rails of a rail system at any given location. Each beam (e.g., beam 130 in FIG. 1 ) may include multiple cameras 210. A beam may include a first camera 210 pointed directly downward to capture overhead images of a target (e.g., target 170 in FIG. 1 ), physical object, etc. A beam may include a second camera 210 pointed downward and outward to capture angled images of a target, physical object, etc.

[0036] The camera 210 may be a line scan camera. A line scan camera includes a single row of pixels. The camera 210 may be a dual line scan camera. A dual line scan camera includes two rows of pixels that can be captured and / or processed simultaneously. As the camera 210 moves over a physical object, the camera 210 may capture images such that a complete image of the physical object can be reconstructed row by row in software. The camera 210 may have a capture rate of up to 140 kHz. The camera 210 may have optics and resolution to detect physical objects at least 1 / 16 inch in size. In certain embodiments, the camera 210 includes a lens 220 that focuses and directs incident light onto a sensor of the camera 210. The lens 220 may be a piece of glass or other transparent material. The lens 220 may be made of any suitable material (e.g., steel, aluminum, glass, plastic, or a combination thereof).

[0037] The top plate 230 and the base plate 240 are structural elements used to position, support, and / or stabilize one or more components of the image capture module 140 (e.g., the camera 210 or the sensor). The top plate 230 and the bottom plate 240 may be made of any suitable material (e.g., steel, aluminum, plastic, glass, etc.). The top plate 230 may be connected to the base plate 240 with one or more bolts 260. The bolts 260 (e.g., jack bolts) may be used to change the pitch and / or roll orientation of the camera 210. For example, the bolts 260 may be used to change the effective height between the top plate 230 and the base plate 240. The top plate 230 and / or the base plate 240 may be adjusted to reduce vibration and / or shock of the image capture module 140. The top plate 230 and / or the base plate 240 may include resistive heating elements to provide a warm environment for the camera 210 and lens 220 to operate in cold weather.

[0038] Cover plate 250 is a plate that covers base plate 240. Cover plate 250 may be made of a suitable material (e.g., glass, steel, aluminum, etc.). Cover plate 250 includes opening 270. Opening 270 may function as a hole through which the lens of camera 210 views physical objects. Opening 270 allows detected signal transmissions from the surrounding environment to reach the sensor of camera 210. Opening 270 may be any suitable size (e.g., oval, rectangular, etc.) to accommodate the field of view of camera 210. Lens 220 of camera 210 may be positioned directly above opening 270.

[0039] 2 shows a particular arrangement of cameras 210, lenses 220, top plates 230, base plates 240, cover plates 250, bolts 260, and openings 270, this disclosure contemplates any suitable arrangement of cameras 210, lenses 220, top plates 230, base plates 240, cover plates 250, bolts 260, and openings 270. While FIG. 2 shows a particular number of cameras 210, lenses 220, top plates 230, base plates 240, cover plates 250, bolts 260, and openings 270, this disclosure contemplates any suitable number of cameras 210, lenses 220, top plates 230, base plates 240, cover plates 250, bolts 260, and openings 270. For example, image capture module 140 may include multiple cameras 210. As another example, in certain embodiments, image capture module 140 may not include certain components (e.g., base plate 240) shown in Figure 2. One or more components of image capture module 140 may be implemented using one or more elements of the computer system of Figure 6.

[0040] FIG. 3 illustrates an exemplary system 300 for bench calibrating image capture module 140. Bench calibration involves a calibration procedure in which image capture module 140 is calibrated on a bench using a calibration device to simulate a process, rather than calibrating image capture module 140 in the field using the actual process itself. System 300 simulates a roadway (e.g., roadway 112 in FIG. 1 ) traveling underneath image capture module 140. System 300, or portions thereof, may include or be associated with any organization, such as a government agency (e.g., a transportation department, a public safety department, etc.), a business, or a company (e.g., a railroad company, a trucking company, etc.), that bench calibrates image capture module 140. Elements of system 300 may be implemented using any suitable combination of hardware, firmware, and software. For example, elements of system 300 may be implemented using one or more components of the computer system of FIG. 6.

[0041] 3 includes image capture module 140, computer 150, network 160, fixture 310, drum 320, motor 330, motor controller 340, and drum encoder 350. The fixture 310 of system 300 is any structure used to support one or more components of system 300. The fixture 310 may include one or more frames, panels, braces, fasteners (e.g., screws, bolts, etc.), etc. One or more components of system 300 may be mounted on fixture 300. In the embodiment shown in FIG. 3 , image capture module 140, drum 320, motor 330, motor controller 340, and drum encoder 350 are mounted on fixture 310.

[0042] Image capture module 140 is mounted in fixture 310 with a fixed working distance between image capture module 140 and target 322. This working distance is a nominal working distance and may vary slightly between different vehicles (e.g., vehicle 110 of FIG. 1 ) utilizing image capture module 140. In certain embodiments, the fixed working distance between image capture module 140 and target 322 of FIG. 3 is substantially equal (e.g., within 5%) to the fixed working distance between image capture module 140 mounted on vehicle 110 of FIG. 1 and target 170 fixed to roadway 112 of FIG. 1 . Image capture module 140 may be physically and / or logically connected to one or more components of system 300. For example, image capture module 140 may be physically and / or logically connected to drum encoder 350. As another example, image capture module 140 may be physically (e.g., via a wired connection) and / or logically (e.g., via network 160) connected to computer 150.

[0043] The drum 320 of the system 300 is an object that rotates about an axis 360. The drum 320 is used to simulate a roadway (e.g., roadway 112 in FIG. 1 ) moving beneath the image capture module 140. The drum 320 may be any suitable shape or size that allows it to rotate about the axis 360. In the embodiment shown in FIG. 3 , the drum 320 is cylindrical. In certain embodiments, the axis 360 passes through the center of the drum 320. The drum 320 may rotate about a shaft disposed along the axis 360. For example, a cylindrical shaft may be disposed along the length (or a portion) of the core of the drum 320, and the drum 320 may rotate between the shafts. The drum 320 may be made of any suitable material (e.g., plastic, metal, wood, cloth, combinations thereof, etc.). For example, the drum 320 may be a hollow plastic cylinder with metal caps on each end. The shaft of the drum 320 may pass through the center of each metal cap.

[0044] The target 322 of the system 100 is an object used to calibrate the camera 120 and / or the drum encoder 320. The target 322 of the system 300 is attached to the drum 320. The target 322 is coaxially positioned and synchronized with the drum encoder 350. The target 322 can be made of any suitable material (e.g., paper, cloth, plastic, ink, combinations thereof, etc.). In certain embodiments, the target 322 can be secured to the drum 320 using one or more fasteners (e.g., adhesive, screws, pins, nails, etc.). For example, the target 322 can be glued to the exterior or interior surface of the drum 320. In certain embodiments, the drum 322 is a hollow, transparent tube, and the target 322 is disposed on the interior surface of the hollow, transparent tube such that the target 322 is visible from the exterior of the drum 322. In some embodiments, the target 322 is part of the drum 320. For example, the target 322 can be printed directly on the drum 320.

[0045] Target 322 includes a calibration pattern 324. Calibration pattern 324 may be any suitable size, shape, and / or design. The design of calibration pattern 324 may include a checkerboard pattern, a chessboard pattern, a circular grid pattern, a calibration board pattern, etc. For example, calibration pattern 324 may be a printed black and white checkerboard pattern having a pitch between 0.375 inches and 2.0 inches (e.g., 0.5 inches, 1 inch, etc.). The pitch indicates the length / width of one square in the checkerboard pattern. In certain embodiments, calibration pattern 324 may include units with unequal width-to-length ratios. For example, the length of each unit may be twice the width of each unit. Calibration pattern 324 of target 322 is identical to the calibration pattern of target 170 of FIG. 1. In certain embodiments, target 322 and target 170 of FIG. 1 are the same target.

[0046] The motor 330 of the system 300 is any machine that initiates the rotation of the drum 320. The motor 330 can be an alternating current (AC) motor, a direct current (DC) motor, a single-phase motor (e.g., 115 / 230 volts), a three-phase motor (e.g., 230 / 460 volts), etc. The motor can have a revolutions per minute (RPM) range of 1000 to 8000 (e.g., 1700 to 1800). The motor 330 can be physically or logically connected to the drum 320. For example, a belt 370 may be used to connect the motor 330 to a rod that passes through the shaft 360 of the drum 320. The belt 370 is used to transfer drive power from the motor 330 to the drum 320. The motor 330 can be attached to the fixture 310 in any suitable location. In the embodiment shown in FIG. 3, the motor 330 is attached to the base of the fixture 310.

[0047] The motor controller 340 of the system 300 controls the operation of the motor 330. For example, the motor controller 340 may be used to initiate rotation of the motor 330, adjust the speed of the motor 330, etc. In certain embodiments, the motor controller 340 is manually operated by one or more users. The motor controller 340 may include one or more buttons, switches, displays, touch sensors, GUIs, etc. that allow one or more users (e.g., operators, technicians, etc.) to input information. For example, the motor controller 340 may include an on / off switch that allows a user to turn the motor on and / or off, up / down buttons that allow a user to increase / decrease the speed of the motor, etc. In some embodiments, the motor controller 340 may be connected to the computer 150 via the network 160, thereby allowing remote operation of the motor controller 340. The motor 330 and motor controller 340 drive the drum 320 at a user-selectable speed (e.g., between 10 and 70 miles per hour). In certain embodiments, the drum 320 is driven proportionally to the maximum speed of the vehicle 110 in FIG. 1 (eg, 65 or 70 mph).

[0048] The drum encoder 350 of the system 300 is a rotary encoder or other timing device used to measure axle rotations. The drum encoder 350 is identical (e.g., same make and model) to the vehicle encoder 120 used in the system 100 of FIG. 1 . The drum encoder 350 may measure the number of times an axle rotates. The drum encoder 350 may be physically and / or logically connected to one or more components of the system 300. For example, the drum encoder 350 may be physically attached to the drum 320. As another example, the drum encoder 350 may be physically and / or logically connected to the image capture module 140. As yet another example, the drum encoder 350 may be physically (e.g., via a wired connection) and / or logically (e.g., via the network 160) connected to the computer 150.

[0049] In operation, a user (e.g., an operator) installs image capture module 140 (or a portion thereof, such as camera 210 of FIG. 2 ) in fixture 310 and connects one or more components of image capture module 140 (e.g., camera 210 of FIG. 2 ) to computer 150 (e.g., a computer). Computer 150 includes image capture software. The user powers on (e.g., switches on) image capture module 140. The user unlocks the focus lock mechanism of image capture module 140 and focuses the camera of image capture module 140 on target 322 under certain lighting conditions. Successful focus is achieved when maximum contrast is obtained between two pixels that identify the boundaries of light and dark areas of calibration pattern 324 (e.g., a checkerboard pattern) of target 322. The user then locks the focus mechanism of image capture module 140. From the image displayed on computer 150, the user observes a black or white area on target 322 that is centered within the field of view 380 of the camera of image capture module 140. Field of view 380 may indicate the angle at which the camera of image capture module 140 picks up electromagnetic radiation. Field of view 380 may be limited by the area of ​​the image displayed on computer 150. The operator of computer 150 counts the number of bright or dark pixels in direction X for the lateral pitch distance of target 322. In the embodiment shown in FIG. 3 , direction X is parallel to axis 360. The lateral object pixel size (OPS) is calculated by dividing the lateral pitch distance of target 322 by the number of pixels in the lateral pitch distance. For example, if the lateral pitch distance of target 322 is equal to 1 inch and the number of pixels in a 1-inch pitch distance of target 322 is 52, then OPS is equal to 1 inch divided by 52, which corresponds to 0.01923 inches per pixel. The OPS indicates the actual physical dimension represented by one pixel at a given working distance (eg, the distance between the camera of the image capture module 140 and the target 322).

[0050] Measuring and calibrating the OPS ensures that objects shown in images captured by image capture module 140 are properly proportioned and that no data is lost between pixels while image capture module 140 is operating in the field. In certain embodiments, pixels are square or approximately square (e.g., having equal length and width within a 2% tolerance). Tolerances may be allowed by limitations of the image capture module 140 and / or drum encoder 350 camera.

[0051] The encoder rate for the drum encoder 350 is determined based on the OPS. The drum encoder rate is the number of electrical pulses generated by the drum encoder 350 in one revolution of the drum encoder 350 shaft. The drum encoder rate is equal to the circumference of the drum 320 divided by the lateral OPS. For example, if a 10.5 inch diameter drum has a drum circumference of 32.9867 inches and a lateral OPS of 0.01923 inches, the drum encoder rate is 32.9867 inches per revolution divided by 0.01923 inches, which corresponds to 1715.31 pulses (pixels) per revolution.

[0052] In certain embodiments, the drum encoder rate is programmed into the drum encoder 350 as an integer value. For example, the drum encoder 350 may be programmed at 1715 or 1716 pulses per revolution. A user may set the motor controller 340 to rotate the drum 320 at a slow speed. The slow speed may be in the range of 5 to 20 mph (e.g., 10 mph). The image capture module 140 collects images while the drum 320 is rotating at the slow speed and communicates the collected images to the computer 150. An operator of the computer 150 determines (e.g., counts) the number of bright or dark pixels in direction Y at one pitch distance on the target 322. In the embodiment shown in FIG. 3, direction Y is perpendicular to axis 360.

[0053] Next, the user sets the motor controller 340 to rotate the drum 320 at a high speed. A high speed can be in the range of 50 to 80 miles per hour (mph), e.g., 65 mph. A high speed can represent the maximum speed of the vehicle 110 in FIG. 1 . The image capture module 140 collects images while the drum 320 is rotating at the high speed and communicates the collected images to the computer 150. An operator of the computer 150 determines (e.g., counts) the number of bright or dark pixels in one pitch distance on the target 322 in the vertical direction Y. The high and low vertical pixel counts are compared with the horizontal pixel counts to determine whether the camera's pixels represent the physical space equally in both the horizontal and vertical directions. If the number of vertical pixels is different from the number of horizontal pixels, a different drum encoder rate can be programmed into the drum encoder 350, and the above process can be repeated to compare the effect of the new drum encoder rate on the number of horizontal and vertical pixels.

[0054] The drum encoder rate that produces the closest square pixel is then recorded and assigned to the image capture module 140. If the vehicle diameter of the vehicle 110 of FIG. 1 is known, the vehicle encoder rate for the vehicle 110 can be calculated. The vehicle encoder rate is the number of electrical pulses generated by the vehicle encoder 120 in one revolution of the shaft of the vehicle encoder 120. The vehicle encoder rate is equal to the wheel circumference of the vehicle 110 of FIG. 1 divided by the drum circumference of the drum 320 multiplied by the drum encoder rate. For example, if the wheel circumference of the vehicle 110 is 113.097 inches, the drum circumference of the drum 320 is 32.9867 inches, and the drum encoder rate is 32.9867 inches per revolution, then the vehicle encoder rate is equal to 5881 pulses per revolution, which is 133.097 inches divided by 32.9867 inches multiplied by 1715 pulses per revolution. A user may program a vehicle encoder rate into the vehicle encoder 120 of the system 100 of FIG. 1, which may reduce the time and / or resources required to field calibrate the image capture module 140.

[0055] 3 shows a particular arrangement of image capture module 140, computer 150, network 160, fixture 310, drum 320, motor 330, motor controller 340, and drum encoder 350, this disclosure contemplates any suitable arrangement of image capture module 140, computer 150, network 160, fixture 310, drum 320, motor 330, motor controller 340, and drum encoder 350. For example, motor 330 and motor controller 340 may be a single component. Image capture module 140, computer 150, fixture 310, drum 320, motor 330, motor controller 340, and drum encoder 350 may be physically or logically co-located in whole or in part with one another.

[0056] 3 depicts a particular number of image capture modules 140, computers 150, networks 160, fixtures 310, drums 320, motors 330, motor controllers 340, and drum encoders 350, this disclosure contemplates any suitable number of image capture modules 140, computers 150, networks 160, fixtures 310, drums 320, motors 330, motor controllers 340, and drum encoders 350. For example, system 300 may include a first computer 150 communicatively coupled to image capture modules 140 and a second computer 150 communicatively coupled to drum encoder 350. One or more components of system 100 may be implemented using one or more components of the computer system of FIG.

[0057] FIG. 4 shows an exemplary method 400 for field calibrating an image capture module. Method 400 begins at step 405. In step 410, a camera of the image capture module (e.g., camera 210 of image capture module 140 of FIG. 2) captures a first image of a target (e.g., target 170 of FIG. 1). The image capture module may be fixed to a vehicle (e.g., vehicle 110 of FIG. 1), and the target may be fixed to a roadway (e.g., roadway 112 of FIG. 1). The target is perpendicular to the axis of the camera of the image capture module. Method 400 then moves from step 410 to step 415. The image captured by the camera of the image capture module may be displayed on a computer (e.g., computer 150 of FIG. 1) communicatively connected to the image capture module.

[0058] In step 415 of method 400, the operator determines the number of lateral pixels at the lateral pitch distance of the image of the target. For example, the operator may observe the current focus of the camera under certain lighting conditions. If the contrast between the two pixels identifying the boundary between the light and dark portions of the focus target is less than that observed in bench tests, the operator can unlock the focus mechanism and adjust the focus until a satisfactory result is achieved. The focus mechanism is then locked. The operator can then count the number of light or dark pixels at the lateral pitch distance of the target centered in the camera's field of view. Method 400 then moves from step 415 to step 420.

[0059] In step 420 of method 400, a lateral OPS is determined using the determined number of lateral pixels. For example, an operator may calculate the lateral OPS by dividing the pitch (e.g., 1 inch) of target 322 by the number of lateral pixels in the pitch region. Next, method 400 moves from step 420 to step 425, where a vehicle encoder rate is determined based on the lateral OPS. The vehicle encoder rate is programmed into an encoder (e.g., vehicle encoder 120, FIG. 1) of a vehicle (e.g., vehicle 110, FIG. 1). The vehicle encoder rate is equal to the wheel circumference of vehicle 110, FIG. 1, divided by the lateral OPS. The vehicle encoder is set to an initial vehicle encoder rate determined during a bench calibration procedure or arbitrarily determined. If the calculated vehicle encoder rate differs from the initial vehicle encoder rate previously programmed into the vehicle encoder, the calculated encoder rate is programmed into the vehicle encoder. Then, method 400 moves from step 425 to step 430.

[0060] In step 430, the camera of the image capture module captures a second image of the target while the vehicle moves forward or backward over the target. For example, a train driver may move one or more portions of the train (e.g., locomotive) along the railroad tracks so that the image capture module attached to the train passes over a target fixed to the railroad tracks. Method 400 then moves from step 430 to step 435.

[0061] In step 435 of method 400, the operator determines the number of vertical pixels in one vertical pitch distance of the second image of the target. Method 400 then moves from step 440 to step 445, where the operator determines whether the number of horizontal pixels in the first image matches the number of vertical pixels in the second image. If the number of horizontal pixels in the first image matches the number of vertical pixels in the second image, method 400 moves from step 440 to step 445, where the operator determines that the image capture module is calibrated based on the comparison.

[0062] If, in step 440, the operator determines that the number of horizontal pixels in the first image differs from the number of vertical pixels in the second image, method 400 returns from step 440 to step 425, where the operator adjusts the vehicle encoder rate to account for the discrepancy and programs a new vehicle encoder rate into the vehicle encoder. Steps 425 through 440 are repeated until the number of horizontal pixels in the first image matches the number of vertical pixels in the third image (or fourth image, etc., as appropriate). When the numbers of horizontal and vertical pixels match, method 400 moves from step 440 to step 445, where the operator determines that the image capture module is calibrated based on the comparison. Method 400 then moves from step 445 to step 450, where method 400 ends.

[0063] Modifications, additions, or omissions may be made to the method 400 illustrated in FIG. 4 . Method 400 may include more, fewer, or other steps. For example, method 400 may include programming an initial vehicle encoder rate into a vehicle encoder. As another example, method 400 may include activating a camera of an image capture module. Steps may be performed in parallel or in any suitable order. Although discussed as specific components completing steps of method 400, any suitable component may perform any step of method 400.

[0064] FIG. 5 shows an exemplary method 500 for bench calibrating an image capture module. Method 500 begins at step 505. In step 510, the camera (e.g., camera 210 of image capture module 140 of FIG. 2), drum (e.g., drum 320 of FIG. 3), and motor (e.g., motor 330 of FIG. 3) of the image capture module are mounted to a fixture (e.g., fixture 310 of FIG. 3). Method 500 then moves from step 510 to step 515, where a target (e.g., target 322 of FIG. 3) is fixed to the drum. The target is coaxially positioned and synchronized with a drum encoder (e.g., drum encoder 350 of FIG. 3). The image capture module is mounted to the fixture with a fixed working distance between the camera and the target. This working distance is a nominal working distance and may vary slightly between different vehicles utilizing image capture module 140. Method 500 then moves from step 515 to step 520.

[0065] In step 520, the camera captures a first image of the target. The camera may be connected to a computer (e.g., computer 150 of FIG. 3) containing image capture software. The first image may be an image centered in the camera's field of view as observed by an operator using the computer. Method 500 then moves from step 520 to step 525, where the number of lateral pixels in the lateral pitch distance of the image of the target is determined. For example, an operator may use the first image displayed on the computer to count the number of light or dark pixels in the lateral pitch distance of the target centered in the camera's field of view. Method 400 then moves from step 525 to step 530.

[0066] In step 530 of method 500, a lateral OPS is determined using the determined number of lateral pixels. The lateral OPS is calculated by dividing the pitch of the target 322 (e.g., 1 inch) by the number of lateral pixels in the pitch region. Next, method 500 moves from step 530 to step 535, where a drum encoder rate is programmed into a drum encoder of the drum (e.g., drum encoder 350 of FIG. 3). The drum encoder rate is equal to the circumference of the drum 320 divided by the lateral OPS. Next, method 500 moves from step 535 to step 540, where the drum encoder rate is programmed into the drum encoder. In certain embodiments, the drum encoder is programmed with an integer value indicating the drum encoder rate. Next, method 500 moves from step 540 to step 545.

[0067] In step 545 of method 500, the motor controller is set to rotate the drum at a slow speed (e.g., 10 mph). Method 500 then moves from step 545 to step 550, where the camera of the image capture module captures one or more images of the target while the drum rotates at the slow speed. Method 500 then moves from step 550 to step 555, where the number of vertical pixels at one vertical pitch distance in each image is determined. For example, each image may be displayed on a computer, and an operator may count the number of dark or light pixels at one pitch distance in the vertical portion of each image. Method 500 then moves from step 555 to step 560.

[0068] In step 560, the motor controller is set to rotate the drum at a high speed (e.g., 65 mph). Method 500 then moves from step 560 to step 565, where the camera of the image capture module captures one or more images of the target while the drum rotates at high speed. Method 500 then moves from step 565 to step 570, where the number of vertical pixels at one vertical pitch distance in each image captured while the drum rotates at high speed is determined. For example, each image may be displayed on a computer, and an operator may count the number of dark or light pixels at one pitch distance in the vertical portion of each image. Method 500 then moves from step 570 to step 575.

[0069] In step 575, the operator determines whether the number of horizontal pixels in the first image matches the number of vertical pixels in the images captured while the drum was rotating at slow and fast speeds. If the number of horizontal pixels in the first image matches the number of vertical pixels in the slow / fast images, method 500 moves from step 575 to step 580, where a vehicle encoder rate is calculated using the drum encoder rate. The vehicle encoder rate is equal to the circumference of the wheels of vehicle 110, FIG. 1, divided by the circumference of drum 320, FIG. 3, multiplied by the drum encoder rate. Next, method 500 moves from step 580 to step 585, where method 500 ends.

[0070] If, in step 575, the number of horizontal pixels in the first image differs from the number of vertical pixels in the slow / fast images, method 500 returns from step 575 to step 540, where the drum encoder rate is adjusted to handle the discrepancy. The adjusted drum encoder rate is programmed into the drum encoder. Steps 540-575 are repeated until the number of horizontal pixels in the first image matches the number of vertical pixels in the slow / fast images. When the numbers of horizontal and vertical pixels match, method 500 moves from step 575 to step 580, where the vehicle encoder rate is calculated using the adjusted drum encoder rate. Next, method 500 moves from step 580 to step 585, where method 500 ends.

[0071] Modifications, additions, or omissions may be made to method 400 illustrated in FIG. 5 . Method 500 may include more, fewer, or other steps. For example, method 500 may include activating a camera of an image capture module. Steps may be performed in parallel or in any suitable order. Although discussed as specific components completing steps of method 500, any suitable component may perform any step of method 500. For example, one or more steps of method 500 may be automated (e.g., performed by computer 150 of FIG. 3 ).

[0072] Figure 6 illustrates an exemplary computer system that may be used by the systems and methods described herein. For example, one or more components (e.g., computer 150) of system 100 of Figure 1 and / or system 300 of Figure 3 may include one or more interfaces 610, processing circuits 620, memory 630, and / or other suitable elements. Interface 610 receives input, sends output, processes the input and / or output, and / or performs other suitable operations. Interface 610 may include hardware and / or software.

[0073] Processing circuitry 620 performs or manages the operations of the components. Processing circuitry 620 may include hardware and / or software. Examples of processing circuitry include one or more computers, one or more microprocessors, one or more applications, etc. In particular embodiments, processing circuitry 620 executes logic (e.g., instructions) to perform actions (e.g., operations) such as generating output from input. The logic executed by processing circuitry 620 may be encoded in one or more tangible, non-transitory computer-readable media (e.g., memory 630). For example, logic may include computer programs, software, computer-executable instructions, and / or instructions executable by a computer. In particular embodiments, operations of the embodiments may be performed by one or more computer-readable media storing, embodying, and / or encoding computer programs and / or having computer programs stored and / or encoded thereon.

[0074] The memory 630 (or memory unit) stores information. The memory 630 may include one or more non-transitory, tangible, computer-readable, and / or computer-executable storage media. Examples of the memory 630 include computer memory (e.g., RAM or ROM), mass storage media (e.g., hard disks), removable storage media (e.g., compact discs (CDs) or digital video discs (DVDs)), databases and / or network storage (e.g., servers), and / or other computer-readable media.

[0075]

[0003] Embodiments of the present disclosure relate to a system and method for capturing a first image of a target with a camera of an image capture module. The image capture module and a drum are mounted in a fixture, and the target is mounted on the drum. The method also includes determining a number of horizontal pixels in a horizontal pitch distance of the image of the target, determining a horizontal object pixel size based on the number of horizontal pixels, and determining a drum encoder rate based on the horizontal object pixel size. The drum encoder rate is programmed into a drum encoder mounted on the drum. The method further includes capturing a second image of the target with the camera of the image capture module while the target rotates about an axis of the drum, determining a number of vertical pixels in one vertical pitch distance of the second image, and comparing the number of horizontal pixels to the number of vertical pixels.

[0076] As used herein, a computer-readable non-transitory storage medium or media may include one or more semiconductor-based or other integrated circuits (ICs) (e.g., field programmable gate arrays (FPGAs) or application-specific integrated circuits (ASICs)), hard disk drives (HDDs), hybrid hard drives (HHDs), optical disks, optical disk drives (ODDs), magneto-optical disks, magneto-optical drives, floppy disks, floppy disk drives (FDDs), magnetic tapes, solid-state drives (SSDs), RAM drives, Secure Digital (SD) cards or drives, or other suitable computer-readable non-transitory storage media, or any suitable combination of two or more thereof, as appropriate. A computer-readable non-transitory storage medium may be volatile, non-volatile, or a combination of volatile and non-volatile, as appropriate.

[0077] As used herein, "or" is inclusive and not exclusive, unless expressly indicated otherwise or dictated otherwise by context. Thus, as used herein, "A or B" means "A, B, or both," unless expressly indicated otherwise or dictated otherwise by context. Also, "and" means jointly and plurally, unless expressly indicated otherwise or dictated otherwise by context. Thus, as used herein, "A and B" means "A and B, jointly or severally," unless expressly indicated otherwise or dictated otherwise by context.

[0078] The scope of the present disclosure includes all changes, substitutions, variations, changes, and modifications to the exemplary embodiments described or illustrated herein that would be understood by a person skilled in the art. The scope of the present disclosure is not limited to the exemplary embodiments described or illustrated herein. Furthermore, although the present disclosure describes and illustrates each embodiment herein as including particular components, elements, features, functions, operations, or steps, any of these embodiments may include any combination or permutation of the components, elements, features, functions, operations, or steps described or illustrated anywhere herein that would be understood by a person skilled in the art. Furthermore, in the appended claims, a reference to a device or system component being adapted, arranged, capable, configured, enabled, operative, or operable to perform a particular function includes the device, system, component, or particular function activated, turned on, or unlocked, so long as the device, system, or component is so adapted, arranged, capable, configured, enabled, operative, or operable. Furthermore, although this disclosure describes or illustrates particular embodiments as providing certain advantages, the particular embodiment may provide none, some, or all of these advantages.

Claims

1. capturing a first image of a target with a camera of an image capture module, the image capture module and drum being mounted in a fixture and the target being mounted on the drum; determining a number of lateral pixels in a lateral pitch distance of the image of the target; determining a pixel size of a horizontal object based on the number of horizontal pixels; determining a drum encoder rate based on a pixel size of the horizontal object, the drum encoder rate being programmed into a drum encoder attached to the drum; capturing a second image of the target with the camera of the image capture module while the target rotates about the axis of the drum; determining a number of vertical pixels in a vertical pitch distance of the second image; comparing the number of horizontal pixels with the number of vertical pixels; Contains method.

2. determining, in response to comparing the number of horizontal pixels with the number of vertical pixels, that the number of horizontal pixels matches the number of vertical pixels; calculating a vehicle encoder rate based on the drum encoder rate; Contains The method of claim 1.

3. programming said vehicle encoder rate into vehicle encoders mounted on the wheels of the vehicle; capturing an image of a second target with the camera of the image capture module, the image capture module being mounted on the vehicle and the second target being mounted on a roadway; Contains The method of claim 2.

4. determining, in response to comparing the number of horizontal pixels to the number of vertical pixels, that the number of horizontal pixels is different from the number of vertical pixels; adjusting the drum encoder rate to an adjusted drum encoder rate; programming the adjusted drum encoder rate into the drum encoder; capturing, by the camera of the image capture module, a third image of the target while the target rotates about the axis of the drum; determining a number of vertical pixels in a vertical pitch distance of the third image; comparing the number of vertical pixels to the number of horizontal pixels at the vertical pitch distance of the third image; Also includes The method of claim 1.

5. focusing the camera of the image capture module on the target under certain lighting conditions; obtaining the maximum contrast between two pixels that identify a boundary between a light and a dark portion of the target; Also includes The method of claim 1.

6. the drum encoder rate is the number of electrical pulses generated by the drum encoder in one revolution of the drum encoder shaft; the drum encoder rate is calculated using the circumference of the drum and the pixel size of the lateral object; The method of claim 1.

7. the target is a checkerboard pattern including a plurality of black and white squares; the lateral pitch distance indicates a width of one square among the plurality of squares; the vertical pitch distance indicates the length of one square among the plurality of squares; The method of claim 1.

8. 1. A system comprising: fixtures, a drum attached to said fixture; a target attached to the drum; a drum encoder attached to the drum; and an image capture module mounted to the fixture, the image capture module comprising a camera; Including, The camera is capturing a first image of the target; operative to capture a second image of the target while the target rotates about the axis of the drum; one or more controllers communicatively connected to the drum encoder and the camera, The one or more controllers: determining a number of lateral pixels in a lateral pitch distance of the image of the target; determining a pixel size of a horizontal object based on the number of horizontal pixels; determining a drum encoder rate based on a pixel size of the horizontal object, the drum encoder rate being programmed into the drum encoder attached to the drum; determining a number of vertical pixels in a vertical pitch distance of the second image; comparing the number of horizontal pixels to the number of vertical pixels; Operates to perform system.

9. The one or more controllers further include: determining, in response to comparing the number of horizontal pixels to the number of vertical pixels, that the number of horizontal pixels matches the number of vertical pixels; The system of claim 8 , operative to calculate a vehicle encoder rate based on the drum encoder rate.

10. the one or more controllers are further operative to program the vehicle encoder rate into vehicle encoders mounted on wheels of the vehicle; the camera of the image capture module is operative to capture an image of a second target, the image capture module being mounted on the vehicle and the second target being mounted on a roadway; The system of claim 9.

11. The one or more controllers: determining, in response to comparing the number of horizontal pixels to the number of vertical pixels, that the number of horizontal pixels is different from the number of vertical pixels; adjusting the drum encoder rate to an adjusted drum encoder rate; programming the adjusted drum encoder rate into the drum encoder; determining a number of vertical pixels in a vertical pitch distance of a third image captured by the camera of the image capture module while the target rotates about the axis of the drum; further operable to compare the number of vertical pixels to the number of horizontal pixels at the vertical pitch distance of the third image. The system of claim 8.

12. 9. The system of claim 8, wherein the camera of the image capture module is further operative to adjust focus on a target under certain lighting conditions to obtain maximum contrast between two pixels that identify a boundary between a light portion and a dark portion of the target.

13. the drum encoder rate is the number of electrical pulses generated by the drum encoder in one revolution of the drum encoder shaft; the drum encoder rate is calculated using the circumference of the drum and the pixel size of the lateral object; The system of claim 8.

14. the target is a checkerboard pattern including a plurality of black and white squares; the lateral pitch distance indicates a width of one square among the plurality of squares; the vertical pitch distance indicates the length of one square among the plurality of squares; The system of claim 8.

15. One or more computer-readable storage media embodying instructions, The instructions, when executed by a processor, cause the processor to: capturing a first image of a target with a camera of an image capture module, the image capture module and drum being mounted in a fixture and the target being mounted on the drum; determining a number of lateral pixels in a lateral pitch distance of the image of the target; determining a pixel size of a horizontal object based on the number of horizontal pixels; determining a drum encoder rate based on a pixel size of the lateral object, the drum encoder rate being programmed into a drum encoder attached to the drum; capturing a second image of the target with the camera of the image capture module while the target rotates about the axis of the drum; determining a number of vertical pixels in a vertical pitch distance of the second image; comparing the number of horizontal pixels to the number of vertical pixels; performing an action including One or more computer-readable storage media.

16. The operation is determining, in response to comparing the number of horizontal pixels with the number of vertical pixels, that the number of horizontal pixels matches the number of vertical pixels; calculating a vehicle encoder rate based on the drum encoder rate; further comprising:

16. One or more computer-readable storage media according to claim 15.

17. The operation is programming said vehicle encoder rate into a vehicle encoder mounted on a wheel of the vehicle; capturing an image of a second target with the camera of the image capture module, the image capture module being mounted on the vehicle and the second target being mounted on a roadway; further comprising:

16. One or more computer-readable storage media according to claim 15.

18. The operation is determining, in response to comparing the number of horizontal pixels to the number of vertical pixels, that the number of horizontal pixels is different from the number of vertical pixels; adjusting the drum encoder rate to an adjusted drum encoder rate; programming the adjusted drum encoder rate into the drum encoder; capturing, by a camera of the image capture module, a third image of the target while the target rotates about the axis of the drum; determining a number of vertical pixels in a vertical pitch distance of the third image; comparing the number of vertical pixels to the number of horizontal pixels at the vertical pitch distance of the third image; Also includes 16. One or more computer-readable storage media according to claim 15.

19. the operations further include focusing the camera of the image capture module on the target under certain lighting conditions to obtain maximum contrast between two pixels that identify a boundary between a light and a dark portion of the target.

16. One or more computer-readable storage media according to claim 15.

20. the drum encoder rate is the number of electrical pulses generated by the drum encoder in one revolution of the drum encoder shaft; the drum encoder rate is calculated using the circumference of the drum and the pixel size of the lateral object; 16. One or more computer-readable storage media according to claim 15.

21. means for capturing a first image of a target, the image capture module and drum being mounted in a fixture and the target being mounted on the drum; means for determining a number of lateral pixels in a lateral pitch distance of the image of the target; means for determining a pixel size of a horizontal object based on the number of horizontal pixels; means for determining a drum encoder rate based on a pixel size of the lateral object, the drum encoder rate being programmed into a drum encoder attached to the drum; means for capturing a second image of the target while the target rotates about the axis of the drum; means for determining a number of vertical pixels in a vertical pitch distance of the second image; means for comparing the number of horizontal pixels with the number of vertical pixels; Contains Device.

22. 22. The apparatus of claim 21, further comprising means for carrying out the method of any of claims 2 to 7.

23. A computer program, computer program product or computer readable medium comprising instructions which, when executed by a computer, cause the computer to perform the steps of the method of any one of claims 1 to 7.