System and method for calibrating an image capture module
By determining the number of pixels and object pixel sizes in the image capture module and the roller system, and adjusting the roller encoder rate to match the number of horizontal and vertical pixels, the problem of image blurring when the vehicle is driving is solved, and a more efficient and safe image capture module calibration is achieved.
Patent Information
- Application Number
- CN202180021253.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-03-12
- Filing Date
- 2021-02-25
- Publication Date
- 2025-07-01
- Estimated Expiration
- 2041-02-25
AI Technical Summary
Images captured while the vehicle is driving may be blurred or distorted, resulting in inaccurate identification and/or positioning of objects.
The number of pixels in the image and the object pixel size are determined by attaching the image capture module and the roller to the fixture and capturing the image as the target rotates about the axis of the roller, thereby adjusting the roller encoder rate to match the lateral and longitudinal pixel counts.
This method can reduce the time and personnel required to calibrate the image capture module on site, improve the safety and efficiency of calibration, and ensure that the images captured by the image capture module have appropriate proportions and contrast.
Smart Images

Figure CN115299042B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to an image capture module, and more particularly, to a system and method for calibrating an image capture module. Background Art
[0002] Some vehicles use cameras to capture images of objects in the surrounding environment of 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 moving may be blurred or distorted, which can lead to inaccurate identification and / or location of objects. Summary of the Invention
[0003] Aspects of the present invention are set forth in the independent claims, and the preferred features are set forth in the dependent claims. The features of one aspect can be applied to any aspect alone or in combination with other aspects.
[0004] According to one embodiment, a method includes the steps of: capturing a first image of a target by a camera of an image capture module. The image capture module and a drum are attached to a fixing device, and the target is attached to the drum. The method further includes the steps of: determining the number of horizontal pixels in the horizontal spacing distance of the target image, determining the horizontal object pixel size based on the number of horizontal pixels, and determining the drum encoder rate based on the horizontal object pixel size. The drum encoder rate is programmed into a drum encoder connected to the drum. The method further includes the steps of: capturing a second image of the target by the camera of the image capture module while the target rotates about the axis of the drum, determining the number of vertical pixels in the vertical spacing distance of the second image, and comparing the number of horizontal pixels with the number of vertical pixels.
[0005] In some embodiments, the drum encoder rate is the number of electrical pulses generated by the drum encoder in one rotation of the axis of the drum encoder. In some embodiments, the drum encoder rate is calculated using the circumference of the drum and the horizontal object pixel size. The target can be a checkerboard pattern including a plurality of black and white squares, the horizontal spacing can represent the width of one square among the plurality of squares, and the vertical spacing can represent the length of one square among the plurality of squares.
[0006] In some embodiments, the method includes the steps of: determining whether the number of horizontal pixels matches the number of vertical pixels in response to comparing the number of horizontal pixels with the number of vertical pixels, calculating a vehicle encoder rate based on the drum encoder rate. In some embodiments, the method further includes the steps of: programming the vehicle encoder rate into a vehicle encoder attached to a vehicle wheel, capturing an image of a second target by the camera of the image capture module. The image capture module is attached to the vehicle, and the second target is attached to the road.
[0007] In some embodiments, the method includes the steps of: determining that the number of horizontal pixels is different from the number of vertical pixels in response to comparing the number of horizontal pixels with the number of vertical pixels; adjusting a drum encoder rate to an adjusted drum encoder rate; and programming the adjusted drum encoder rate into a drum encoder. The method further includes the steps of: capturing a third image of a target by a camera of an image capture module while the target rotates about an axis of the drum; determining the number of vertical pixels in a vertical pitch distance of the third image; and comparing the number of horizontal pixels with the number of vertical pixels in the vertical pitch distance of the third image. In some embodiments, the method includes focusing a camera of the image capture module on the target under constant illumination conditions and obtaining a maximum contrast between two pixels that identify a boundary between a bright portion and a dark portion of the target.
[0008] According to another embodiment, a system includes a fixture, a drum attached to the fixture, a target attached to the drum, a drum encoder attached to the drum, and an image capture module attached to 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 coupled to the drum encoder and the camera. The one or more controllers determine the number of horizontal pixels in a horizontal pitch distance of an 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, wherein the drum encoder rate is programmed into the drum encoder attached to the drum. The one or more controllers further determine the number of vertical pixels in a vertical pitch distance of the second image and compare the number of horizontal pixels with the number of vertical pixels.
[0009] According to yet another embodiment, one or more computer-readable storage media contain instructions that, when executed by a processor, cause the processor to perform operations including the step of capturing a first image of a target by a camera of an image capture module. The image capture module and the drum are attached to a fixture, and the target is attached to the drum. The operations further include the steps of determining the number of horizontal pixels in a horizontal pitch distance of an 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, wherein the drum encoder rate is programmed into the drum encoder attached to the drum. The operations further include the steps of capturing a second image of the target by the camera of the image capture module while the target rotates about an axis of the drum, determining the number of vertical pixels in a vertical pitch distance of the second image, and comparing the number of horizontal pixels with the number of vertical pixels.
[0010] The 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 an image capture module, which can reduce the time and / or personnel required for on-site calibration of the image capture module. Certain embodiments of the present disclosure use a rotating drum located in a laboratory to simulate a moving road, which allows an operator (e.g., a computer programmer) to test the calibration system at full speed with real-time images. Since the time spent by personnel on on-site calibration of the image capture module under dangerous conditions (e.g., working on the road and under heavy equipment) is reduced, the number of on-site personnel is reduced, and the cost of expensive on-site tests can be minimized. Therefore, the systems and methods for bench calibrating an image capture module described herein can improve the safety and efficiency of on-site calibration. The systems and methods described in the present disclosure can be generalized to different transportation infrastructures, including railways, roads, and waterways.
[0011] Other technical advantages will be apparent to those skilled in the art from the following figures, description, and claims. Additionally, while specific advantages are listed above, various embodiments may include all, some, or none of the listed advantages. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] To assist in understanding the present disclosure, reference is now made to the following description in conjunction with the accompanying drawings, in which:
[0013] Figure 1 An example system for on-site calibration of an image capture module and a vehicle encoder is shown;
[0014] Figure 2 Shows an example image capture module that can be used by the Figure 1 system;
[0015] Figure 3 An example system for bench calibrating an image capture module is shown;
[0016] Figure 4 An example method for on-site calibration of an image capture module is shown;
[0017] Figure 5 An example method for bench calibrating an image capture module is shown; and
[0018] Figure 6 An example computer system that can be used by the systems and methods described herein is shown. DETAILED DESCRIPTION
[0019] Certain vehicles include an image capture system that captures images while the vehicle is in motion. A machine vision model can use these images to detect and / or locate objects in the vehicle's surrounding environment. Embodiments of the present disclosure describe systems and methods for calibrating the image capture module and / or rotary encoder used by these systems. These calibration procedures can ensure that the image capture module and rotary encoder used in these systems are synchronized and provide clear, high-contrast, and properly scaled images.
[0020] Figures 1 to 6 An example system and method for calibrating an image capture module are shown. Figure 1 An example system for on-site calibration of an image capture module is shown, Figure 2 is shown by Figure 1 the example image capture module that can be used by the system of. Figure 3 An example system for bench calibrating an image capture module is shown. Figure 4 An example method for on-site calibration of an image capture module is shown, Figure 5 An example method for bench calibrating an image capture module is shown. Figure 6 An example computer system that can be used by the systems and methods described herein is shown.
[0021] Figure 1 An example system 100 for on-site calibration of an image capture module 140 is shown. System 100 or portions thereof can be associated with an entity, which can include any entity, such as an enterprise, a company (e.g., a railroad company, a transportation company, etc.), or a government agency (e.g., a department of transportation, a department of public safety, etc.) that on-site calibrates the image capture module 140. The elements of system 100 can be implemented using any suitable combination of hardware, firmware, and software. For example, the elements of system 100 can be implemented using Figure 6 one or more components of a computer system of.
[0022] System 100 includes a vehicle 110, a vehicle encoder 120, a light beam 130, one or more image capture modules 140, a computer 150, a network 160, and a target 170. The vehicle 110 of system 100 is any machine capable of autonomous movement. The vehicle 110 can be an automobile, a locomotive, a truck, a bus, an airplane, or any other machine suitable for movement. The vehicle 110 can operate at any speed that allows one or more components (e.g., sensors, cameras, etc.) of the light beam 130 to capture images. For example, the vehicle 110 can be a railroad vehicle traveling at 65 miles per hour (mph). The road 112 of system 100 is any path that accommodates the vehicle 110. For example, the vehicle 110 can travel along the road 112. The road 112 can include a road, a highway, railroad tracks, a waterway, etc.
[0023] The vehicle encoder 120 of system 100 is a rotary encoder or other timing device for measuring the rotation of an axle. The vehicle encoder 120 can measure the number of rotations of the axle. The vehicle encoder 120 can be attached to the axle of vehicle 110. The vehicle encoder 120 can be physically and / or logically connected to one or more components of system 100. For example, the vehicle encoder 120 can 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 can be physically and / or logically connected to the computer 150.
[0024] The vehicle encoder 120 can communicate with the cameras of the image capture module 140 through a controller to ensure that the cameras capture images of the same perspective and scale, regardless of the driving speed of vehicle 110. For example, the vehicle encoder 120 can synchronize with multiple cameras of the image capture module 140 to ensure that all cameras capture images simultaneously. As another example, the vehicle encoder 120 can synchronize with the cameras of the image capture module 140 to ensure that a camera traveling with vehicle 110 at a first speed (e.g., 10 miles per hour) captures images with the same perspective and scale as a camera traveling with vehicle 110 at a second speed (e.g., 65 miles per hour).
[0025] The light beam 130 of system 100 is a structure that includes and is oriented for components (e.g., the image capture module 140) to capture images. In certain embodiments, the operation of the light beam 130 is similar to that of a flatbed document scanner, except that the light beam 130 is in motion when capturing images of stationary physical objects. The light beam 130 engages with vehicle 110. For example, the light beam 130 can be bolted to a sub-frame attached to vehicle 110. In Figure 1 the illustrated embodiment, the light beam 130 has three parts, including two end parts and a central part. The light beam 130 has a gull-wing configuration such that the central part bends inward toward the center of the light beam 130. The gull-wing configuration allows the image capture components (e.g., sensors, cameras, etc.) of the image capture module 140 within the light beam 130 to be properly oriented relative to the physical object being captured. In certain embodiments, the central part of the light beam 130 is omitted, and each end part is connected to vehicle 110. The light beam 130 can be made of metal (e.g., steel or aluminum), plastic, or any other material suitable for housing the components of the light beam 130 and for attaching the light beam 130 to vehicle 110.
[0026] The light beam 130 can include one or more openings. The openings can be used to place the image capture module 140 within the light beam 130. The openings can allow for the installation, adjustment, and maintenance of the image capture module 130. Although the light beam 130 is in Figure 1is shown as having a particular size and shape, but the light beam 130 can have any size and shape suitable for accommodating and orienting the image capture module 140. Other factors that can contribute to the design of the light beam 130 include shock resistance, vibration resistance, weatherproofing considerations, durability, ease of maintenance, calibration considerations, and ease of installation.
[0027] The image capture module 140 of the system 100 is configured to capture images while the vehicle 110 is in motion. Each image capture module 140 can include one or more sensors, one or more cameras, etc. One or more image capture modules 140 can be attached to the vehicle 110 at any location that allows the image capture module 140 to capture images of the surroundings of the vehicle 110. In Figure 1 the illustrated embodiment, the image capture module 140 is located within the light beam 130.
[0028] In some embodiments, each end portion of the light beam 130 houses one or more image capture modules 140. For example, the first end portion of the light beam 130 can house an image capture module 140 that includes two downward-facing cameras that are configured to capture images of the connection area and the ballast area of the track. The first end portion of the light beam 130 can house the two downward-facing cameras in a portion of the first end that is substantially horizontal with respect to the track. The second end portion of the light beam 130 that is opposite the first end portion can house two image capture modules 140, each image capture module including two angled cameras that capture images of both sides of the track and the track fastening system. The second end portion of the light beam 130 can house the four angled cameras in a portion of the second end portion that is angled (e.g., at a 45-degree angle) with respect to the track.
[0029] Depending on the sensing and / or measurement requirements, the image capture module 140 can include various types of sensors. The sensors housed by the image capture module 140 can include optical sensors (e.g., cameras for visible light (monochrome and color), infrared, ultraviolet, and / or thermal), 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 can be used together for laser triangulation to measure deflection or profile. LIDAR sensors can be used to generate three-dimensional (3D) point cloud data. Hyperspectral sensors can be used for specific wavelength response. Examples of the image capture module 140 are described below in Figure 2 this regard.
[0030] The computer 150 of system 100 represents any suitable computing component that can be used to process information for system 100. The computer 150 can coordinate one or more components of system 100. The computer 150 can receive data from the image capture module 140 and / or the vehicle encoder 120. The computer 150 can monitor the inputs and / or outputs of the image capture module 140 and / or the vehicle encoder 120. The computer 150 can include communication functions that allow a user (e.g., a technician) to directly participate in system 100. For example, the user can access the computer 150 through an interface (e.g., a screen, a graphical user interface (GUI), or a panel) of the computer 150. The computer 150 can be a laptop computer, a desktop computer, a smartphone, a tablet, a personal digital assistant, a wearable computer, etc. The computer 150 can be located inside or outside the vehicle 110. The computer 150 can communicate with one or more components of system 100 through the network 160.
[0031] The network 160 of system 100 is any type of network that facilitates communication between the components of system 100. One or more portions of the network 160 can include an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless local area network (WLAN), a wide area network (WAN), a wireless wide area network (WWAN), a metropolitan area network (MAN), a portion of the Internet, a portion of the public switched telephone network (PSTN), a cellular telephone network, a 3G network, a 4G network, a 5G network, a long term evolution (LTE) cellular network, a combination of two or more of these networks, or other suitable types of networks. One or more portions of the network 160 can include one or more access (e.g., mobile access), core, and / or edge networks. The network 160 can be any communication network, such as a private network, a public network, a connection through the Internet, a mobile network, a WI-FI network, a Bluetooth network, etc. One or more components of system 100 can communicate through the network 160. For example, the computer 150 can communicate through the network 160, including receiving information from the image capture module 140 and / or the vehicle encoder 120.
[0032] The target 170 of the system 100 is an object for calibrating the image capture module 140 and / or the vehicle encoder 120. In some embodiments, the target 170 is placed within the clear field of view of the image capture module 140. For example, the target 170 may be fixed to a road 112 (e.g., a railroad track) within the clear field of view of the camera of the image capture module 140. The target 170 includes a calibration pattern. The calibration pattern can 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 ChArUco board pattern, etc. For example, the calibration pattern may be a printed black and white chessboard pattern including a plurality of 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 represents the length / width of one square of the chessboard pattern. In some embodiments, the calibration pattern may include cells having an unequal aspect ratio. For example, the length of each cell may be twice the width of each cell.
[0033] In operation, the vehicle encoder rate is programmed into the vehicle encoder 120. The vehicle encoder rate is the number of electrical pulses generated by the vehicle encoder 120 during one rotation of the axis of the vehicle encoder 120. As described below Figure 3 and Figure 5 the vehicle encoder rate can be determined based on calibration data previously generated during a bench calibration procedure. If bench calibration data is not available, any initial value of the vehicle encoder rate can be programmed into the vehicle encoder 120. In some embodiments, the vehicle encoder rate programmed into the vehicle decoder 120 is an integer. In some embodiments, an operator programs the vehicle encoder rate into the vehicle encoder 120.
[0034] The vehicle encoder 120 and the image capture module 140 of the system 100 are fixed to the vehicle 110. Considering the camera of the image capture module to be calibrated, the target 170 of the system 100 is fixed to the road 112. 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 the operator observes the current focus of the camera under constant lighting conditions. If the contrast between two pixels that identify the boundary between the bright and dark portions of the target 170 is less than the maximum obtainable contrast (or less than the contrast observed during the bench calibration process), the operator unlocks the focusing mechanism of the camera and adjusts the focus until the maximum contrast is achieved. Then the focusing mechanism is locked.
[0035] 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 of the computer 150 determines the number of horizontal (e.g., cross-web) pixels in the horizontal spacing distance of the first image of the target 170 and determines the horizontal object pixel size (OPS) by dividing the spacing of the target 170 by the number of horizontal pixels in the spacing region. Then, the test vehicle encoder rate is determined by dividing the wheel circumference of the vehicle 110 by the horizontal 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 by the vehicle encoder 120, and the vehicle 110 moves forward or backward over the target 170.
[0036] As the vehicle 110 moves over the target 170, the image capture device 140 captures a second image of the target 170. The operator of the computer 150 determines (e.g., counts) the number of bright or dark vertical (e.g., down-web) pixels in one vertical spacing of each second image and compares the number of horizontal pixels with the number of vertical pixels. If the number of horizontal pixels matches the number of vertical pixels, the image capture module 140 and the vehicle encoder 120 are calibrated. If the number of horizontal pixels is different from the number of vertical pixels, the vehicle encoder rate is adjusted until the number of horizontal pixels matches the number of vertical pixels. Thus, the system 100 can be used to calibrate the image capture module 140 and the vehicle encoder 120 to ensure that the system 100 captures sufficient images that can be used to accurately identify objects in the environment around the vehicle 110.
[0037] Although Figure 1 a particular arrangement of the vehicle 110, the vehicle encoder 120, the light beam 130, the image capture module 140, the computer 150, the network 160, and the target 170 is shown, the present disclosure contemplates any suitable arrangement of the vehicle 110, the vehicle encoder 120, the light beam 130, the image capture module 140, the computer 150, the network 160, and the target 170. For example, the computer 150 can be located inside the vehicle 110. The vehicle 110, the vehicle encoder 120, the light beam 130, the image capture module 140, and the computer 150 can be physically or logically located wholly or partly in the same location with respect to each other.
[0038] Although Figure 1Shows a specific number of vehicles 110, vehicle encoders 120, light beams 130, image capture modules 140, computers 150, network 160, and targets 170, but the present disclosure contemplates any suitable number of vehicles 100, vehicle encoders 120, light beams 130, image capture modules 140, computers 150, network 160, and targets 170. For example, system 100 may include a first light beam 130 at the front end of vehicle 110 and a second light beam 130 at the rear end of vehicle 110. As another example, system 100 may include multiple computers 150. One or more components of system 100 may be implemented using Figure 6 one or more components of a computer system.
[0039] Figure 2 Shows an example image capture module 140 that may be used by Figure 1 system 100. Image capture module 140 includes a camera 210, a lens 220, a top plate 230, a substrate 240, a cover plate 250, bolts 260, and an opening 270. Camera 210 is any device that captures images. For example, camera 210 may capture Figure 1 an image of target 170. As another example, camera 210 may capture an image of track components (e.g., track joints, switches, frogs, fasteners, ballast, rail heads, and / or ties). In certain embodiments, camera 210 includes one or more sensors.
[0040] One or more cameras 210 may capture images from different angles. For example, one or more cameras 210 may capture images of two tracks of a railway system at any given location. Each light beam (e.g., Figure 1 light beam 130) may include multiple cameras 210. The light beam may include a first camera 210 that aims directly downward to capture a top-down image of a target (e.g., target 170 in Figure 1 ), a physical object, etc. The light beam may include a second camera 210 that aims downward and outward to capture an angled image of the target, physical object, etc.
[0041] The camera 210 can be a line scan camera. A line scan camera includes a single row of pixels. The camera 210 can 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 can capture images such that a complete image of the physical object can be reconstructed row by row in software. The camera 210 can have a capture rate of up to 140 kHz. The camera 210 can have a resolution and optics for detecting physical objects that are at least 1 / 16 inch in size. In some embodiments, the camera 210 includes a lens 220 that focuses incident light and directs the incident light to the sensor of the camera 210. The lens 220 can be a glass sheet or other transparent material. The lens 220 can be made of any suitable material (e.g., steel, aluminum, glass, plastic, or combinations thereof).
[0042] The top plate 230 and the base plate 240 are structural elements for positioning, supporting, and / or stabilizing one or more components (e.g., the camera 210 or the sensor) of the image capture module 140. The top plate 230 and the base plate 540 can be made of any suitable material (e.g., steel, aluminum, plastic, glass, etc.). The top plate 230 can be connected to the base plate 240 by one or more bolts 260. The bolts 260 (e.g., positioning bolts) can be used to change the pitch and / or roll direction of the camera 210. For example, the bolts 260 can 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 can be adjusted to reduce vibration and / or shock of the image capture module 140. The top plate 230 or the base plate 240 can include a resistive heating element to provide a warm working environment for the camera 210 and the lens 220 during colder weather.
[0043] The cover plate 250 is a plate that covers the base plate 240. The cover plate 250 can be made of any suitable material (e.g., glass, steel, aluminum, etc.). The cover plate 250 includes an opening 270. The opening 270 can serve as an aperture through which the lens of the camera 210 views the physical object. The opening 270 allows sensing signals from the surrounding environment to be transmitted to the sensor of the camera 210. The opening 270 can be any suitable size (e.g., oval, rectangular, etc.) to accommodate the view of the camera 210. The lens 220 of the camera 210 can be located directly above the opening 270.
[0044] Although Figure 2 a particular arrangement of the camera 210, the lens 220, the top plate 230, the base plate 240, the cover plate 250, the bolts 260, and the opening 270 is shown, the present disclosure contemplates any suitable arrangement of the camera 210, the lens 220, the top plate 230, the base plate 240, the cover plate 250, the bolts 260, and the opening 270. Although Figure 2A specific number of cameras 210, lenses 220, top plates 230, base plates 240, cover plates 250, bolts 260, and openings 270 are shown, but the present disclosure contemplates any suitable number of cameras 210, lenses 220, top plates 230, base plates 240, cover plates 240, bolts 260, and openings 270. For example, the image capture module 140 may include multiple cameras 210. As another example, in certain embodiments, the image capture module 140 may not include Figure 2 certain components shown (e.g., the base plate 240). One or more components of the image capture module 140 may be implemented using Figure 6 one or more elements of a computer system.
[0045] Figure 3 An example system 300 for bench calibration of the image capture module 140 is shown. Bench calibration includes a calibration process in which the image capture module is calibrated on a bench using calibration equipment to simulate a process rather than calibrating the image capture module 140 in the field using the actual process itself. The system 300 simulates a road moving under the image capture module 140 (e.g., Figure 1 the road 112). The system 300 or portions thereof may be associated with an entity, which may include any entity such as an enterprise, a company (e.g., a railway company, a transportation company, etc.), or a government agency (e.g., a department of transportation, a department of public safety, etc.) that performs bench calibration of the image capture module 140. The elements of the system 300 may be implemented using any suitable combination of hardware, firmware, and software. For example, the elements of the system 300 may be implemented using Figure 6 one or more components of a computer system.
[0046] Figure 3 The system 300 of Figure 3 shown includes an image capture module 140, a computer 150, a network 160, a fixture 310, a roller 320, a motor 330, a motor controller 340, and a roller encoder 350. The fixture 310 of the system 300 is any structure for supporting one or more components of the system 300. The fixture 310 may include one or more frames, panels, brackets, fasteners (e.g., screws, bolts, etc.), etc. One or more components of the system 300 may be mounted on the fixture 300. In Figure 3 the embodiment shown, the image capture module 140, the roller 320, the motor 330, the motor controller 340, and the roller encoder 350 are mounted on the fixture 310.
[0047] The image capture module 140 is mounted on the fixture 310 with a fixed working distance between the image capture module 140 and the target 322. This working distance is the nominal working distance and may vary for different vehicles using the image capture module 140 (e.g.,Figure 1 varies slightly between the image capture module 140 and the target 322. In some embodiments, Figure 3 the fixed working distance between the image capture module 140 and the target 322 is substantially (e.g., within 5%) equal to the fixed working distance between the image capture assembly 140 mounted on Figure 1 the vehicle 110 and the target 170 fixed to Figure 1 the road 112. The image capture module 140 can be physically and / or logically connected to one or more components of the system 300. For example, the image capture module 140 can be physically and / or logically connected to the drum encoder 350. As another example, the image capture module 140 can be physically (e.g., via a wired connection) and / or logically (e.g., through the network 160) connected to the computer 150.
[0048] The drum 320 of the system 300 is an object that rotates about the axis 360. The drum 320 is used to simulate a road moving under the image capture module 140 (e.g., Figure 1 the road 112). The drum 320 can be of any suitable shape or size that allows rotation about the axis 360. In Figure 3 the illustrated embodiment, the drum 320 is cylindrical. In some embodiments, the axis 360 passes through the center of the drum 320. The drum 320 can rotate about a shaft positioned along the axis 360. For example, a cylindrical shaft can be placed along the length (or a portion thereof) of the core of the drum 320, and the drum 320 can rotate between the shafts. The drum 320 can be of any suitable material (e.g., plastic, metal, wood, fabric, combinations thereof, etc.). For example, the drum 320 can be a hollow plastic cylinder with metal caps at each end. The shaft of the drum 320 can pass through the center of each metal cap.
[0049] The target 322 of the system 100 is an object for calibrating 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 coaxial and synchronously positioned with the drum encoder 350. The target 322 can be of any suitable material (e.g., paper, fabric, plastic, ink, combinations thereof, etc.). In some embodiments, one or more fasteners (e.g., adhesives, screws, pins, nails, etc.) can be used to fasten the target 322 to the drum 320. For example, the target 322 can be adhered to the outer surface or the inner surface of the drum 320. In some embodiments, the drum 322 is a hollow transparent tube, and the target 322 is placed on the inner surface of the hollow transparent tube such that the target 322 is visible from the outside of the drum 322. In some embodiments, the target 322 is part of the drum 320. For example, the target 322 can be directly printed on the drum 320.
[0050] The target 322 includes a calibration pattern 324. The calibration pattern 322 can be of any suitable size, shape, and / or design. The design of the calibration pattern 324 can include a checkerboard pattern, a chessboard pattern, a circular grid pattern, a ChArUco board pattern, etc. For example, the calibration pattern 324 can be a printed black-and-white chessboard pattern with a spacing between 0.375 inches and 2.0 inches (e.g., 0.5 inches, 1 inch, etc.). The spacing represents the length / width of one square of the chessboard pattern. In some embodiments, the calibration pattern 324 can include cells with unequal aspect ratios. For example, the length of each cell can be twice the width of each cell. The calibration pattern 324 of the target 322 is the same as Figure 1 the calibration pattern of the target 170. In some embodiments, Figure 1 the target 322 and the target 170 are the same target.
[0051] 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) of 1000 to 8000 (e.g., 1700 - 1800). The motor 330 can be physically or logically connected to the drum 320. For example, a belt 370 can be used to connect the motor 330 to a rod passing through the axis 360 of the drum 320. The belt 370 is used to transfer the driving force from the motor 330 to the drum 320. The motor 330 can be attached to the fixture 310 at any suitable location. In Figure 3 the illustrated embodiment, the motor 330 is attached to the base of the fixture 310.
[0052] The motor controller 340 of system 300 controls the operation of motor 330. For example, the motor controller 340 can be used to start the rotation of motor 330, adjust the speed of motor 330, etc. In some embodiments, the motor controller 340 is manually operated by one or more users. The motor controller 340 can include one or more buttons, switches, displays, touch sensors, GUIs, etc., which allow one or more users (e.g., operators, technicians, etc.) to input information. For example, the motor controller 340 can include an on / off switch that allows the user to turn the motor on and / or off, up / down buttons that allow the user to increase / decrease the motor speed, etc. In some embodiments, the motor controller 340 can be connected to the computer 150 via the network 160, which allows for remote operation of the motor controller 340. The motor 330 and the motor controller 340 drive the roller 320 at a user-selectable rate (e.g., 10 to 70 miles per hour). In certain embodiments, the roller 320 is driven proportionally to Figure 1 the maximum speed of the vehicle 110 (e.g., 65 or 70 mph).
[0053] The roller encoder 350 of system 300 is a rotary encoder or other timing device used to measure the rotation of the axle. The roller encoder 350 is the same as (e.g., the same brand and model as) the vehicle encoder 120 used in Figure 1 system 100. The roller encoder 350 can measure the number of axle rotations. The roller encoder 350 can be physically and / or logically connected to one or more components of system 300. For example, the roller encoder 350 can be physically attached to the roller 320. As another example, the roller encoder 35 can be physically and / or logically connected to the image capture module 140. As yet another example, the roller encoder 350 can be physically (e.g., via a wired connection) and / or logically (e.g., via the network 160) connected to the computer 150.
[0054] In operation, a user (e.g., an operator) mounts the image capture module 140 (or a part thereof, such as Figure 2 the camera 210) on the fixture 310 and positions the image capture module 140 (such as Figure 2One or more components of the camera 210 are connected to a computer 150 (e.g., a computer). The computer 150 includes image capture software. The user turns on (e.g., switches on) the power of the image capture module 140. The user unlocks the focus lock mechanism of the image capture module 140 and focuses the camera of the image capture module 140 on the target 322 under constant lighting conditions. Successful focus is achieved when the maximum contrast is obtained between two pixels that identify the boundary between the light and dark portions of the calibration pattern 324 (e.g., a checkerboard pattern) of the target 322. Then, the user locks the focus mechanism of the image capture module 140. From the image displayed on the computer 150, the user observes the black or white area on the target 322 that is located in the middle of the field of view 380 of the camera of the image capture module 140. The field of view 380 can represent the angle at which the camera of the image capture module 140 picks up electromagnetic radiation. The field of view 380 can be limited by the area of the image displayed on the computer 150. The operator of the computer 150 counts the number of light or dark pixels in the lateral spacing of the target 322 in the direction X. In Figure 3 In the illustrated embodiment, the direction X is parallel to the axis 360. The lateral object pixel size (OPS) is calculated by dividing the lateral spacing of the target 322 by the number of pixels in the lateral spacing. For example, if the lateral spacing distance of the target 322 is equal to one inch and the number of pixels for the one-inch spacing distance of the target 322 is 52, then the OPS is equal to one inch divided by 52, which is equal to 0.01923 inches per pixel. The OPS indicates the true physical size represented by one pixel at a specified working distance (e.g., the distance between the camera of the image capture module 140 and the target 322).
[0055] Measuring and calibrating the OPS can ensure that the objects depicted in the images captured by the image capture module 140 have appropriate proportions and that there is no data loss between pixels when the image capture module 140 is in field operation. In some embodiments, the pixels are square or approximately square (e.g., having equal length and width within a two percent tolerance). Due to the limitations of the camera of the image capture module 140 and / or the drum encoder 350, a margin can be allowed.
[0056] Based on the OPS, the encoder rate of the drum encoder 350 is determined. The drum encoder rate is the number of electrical pulses generated by the drum encoder 350 when the shaft of the drum encoder 350 rotates one full turn. The drum encoder rate is equal to the circumference of the drum 320 divided by the lateral OPS. For example, if the drum circumference of a drum with a diameter of 10.5 inches is 32.9867 inches and the lateral OPS is 0.01923 inches, then the drum encoder rate is 32.9867 inches per revolution divided by 0.01923 inches, equal to 1715.31 pulses (pixels) per revolution.
[0057] In some embodiments, the drum encoder rate is programmed into the drum encoder 350 as an integer value. For example, the drum encoder 350 can be programmed for 1715 or 1716 pulses per revolution. The user can set the motor controller 340 to rotate the drum 320 at a low speed. The low speed can be in the range of 5 to 20 miles per hour (e.g., 10 miles per hour). The image capture module 140 collects images while the drum 320 rotates at a low speed and transmits the collected images to the computer 150. The operator of the computer 150 determines (e.g., counts) the number of bright or dark pixels in the Y direction over a longitudinal pitch distance on the target 322. In Figure 3 the illustrated embodiment, the Y direction is perpendicular to the axis 360.
[0058] Then, the user sets the motor controller 340 to rotate the drum 320 at a high speed. The high speed can be in the range of 50 to 80 miles per hour (mph) (e.g., 65 miles per hour). The high speed can represent Figure 1 the maximum speed of the vehicle 110. The image capture module 140 collects images while the drum 320 rotates at a high speed and transmits the collected images to the computer 150. The operator of the computer 150 determines (e.g., counts) the number of bright or dark pixels in the longitudinal Y over a pitch distance on the target 322. The high-speed and low-speed longitudinal pixel counts are compared with the transverse pixel counts to determine whether the camera pixels equally represent physical space in the transverse and longitudinal directions. If the longitudinal pixel count is different from the transverse pixel count, 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 pixel counts in the transverse and longitudinal directions.
[0059] Then the drum encoder rate that results in the closest square pixels is recorded and assigned to the image capture module 140. If Figure 1 the wheel diameter of the vehicle 110 is known, the vehicle encoder rate of the vehicle 110 can be calculated. The vehicle encoder rate is the number of electrical pulses generated by the vehicle encoder 120 when the shaft of the vehicle encoder 120 rotates one full turn. The vehicle encoder rate is equal to Figure 1 the wheel circumference of the vehicle 110 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 1715 pulses per revolution, the vehicle encoder rate is 113.097 inches divided by 32.986 inches multiplied by 1715 pulses per revolution, which equals 5881 pulses per revolution. The user can program the vehicle encoder rate into Figure 1 the vehicle encoder 120 of the system 100, which can reduce the time and / or resources required for on-site calibration of the image capture module 140.
[0060] Although Figure 3 a particular arrangement of the image capture module 140, the computer 150, the network 160, the fixture 310, the drum 320, the motor 330, the motor controller 340, and the drum encoder 350 is shown, the present disclosure contemplates any suitable arrangement of the image capture module 140, the computer 150, the network 160, the fixture 310, the drum 320, the motor 330, the motor controller 340, and the drum encoder 350. For example, the motor 330 and the motor controller 340 can be a single component. The image capture module 140, the computer 150, the fixture 310, the drum 320, the motor 330, the motor controller 340, and the drum encoder 350 can be physically or logically located at the same location as each other, in whole or in part.
[0061] Although Figure 3 a particular number of the image capture module 140, the computer 150, the network 160, the fixture 310, the drum 320, the motor 330, the motor controller 340, and the drum encoder 350 is shown, the present disclosure contemplates any suitable number of the image capture module 140, the computer 150, the network 160, the fixture 310, the drum 320, the motor 330, the motor controller 340, and the drum encoder 350. For example, the system 300 can include a first computer 150 communicatively coupled to the image capture module 140 and a second computer 150 communicatively coupled to the drum encoder 350. One or more components of the system 100 can be implemented using Figure 6 one or more components of a computer system.
[0062] Figure 4 An example method 400 for field calibrating an image capture module is shown. Method 400 begins at step 405. At step 410, a camera of the image capture module (e.g., Figure 2 the camera 210 of the image capture module 140) captures a first image of a target (e.g., Figure 1 the target 170). The image capture module can be fixed to a vehicle (e.g., Figure 1 the vehicle 110), and the target can be fixed to a road (e.g., Figure 1 the road 112). The target is perpendicular to the axis of the camera of the image capture module. Then, method 400 moves from step 410 to step 415. The image captured by the camera of the image capture module can be displayed on a computer (e.g., Figure 1 the computer 150) communicatively coupled to the image capture module.
[0063] In step 415 of method 400, the operator determines the number of horizontal pixels in the horizontal spacing distance of the target image. For example, the operator can observe the current focus of the camera under constant lighting conditions. If the contrast between two pixels that identify the boundary between the bright and dark portions of the focused target is less than the contrast observed during the bench test, the operator can unlock the focusing mechanism and adjust the focus until a satisfactory result is obtained. Then lock the focusing mechanism. Then, the operator can calculate the number of bright or dark pixels in the horizontal spacing distance of the target at the center of the camera's field of view. Method 400 then moves from step 415 to step 420.
[0064] In step 420 of method 400, the determined number of horizontal pixels is used to determine the horizontal OPS. For example, the operator can calculate the horizontal OPS by dividing the spacing of target 322 (e.g., one inch) by the number of horizontal pixels in the spacing region. Method 400 then moves from step 420 to step 425, where the vehicle encoder rate is determined based on the horizontal OPS programmed into the encoder (e.g., Figure 1 of vehicle 110) of the vehicle (e.g., Figure 2 vehicle encoder 120). The vehicle encoder rate is equal to Figure 1 the wheel circumference of vehicle 110 divided by the horizontal OPS. The vehicle encoder has been set to an initial vehicle encoder rate that is determined during the bench calibration process or arbitrarily. If the calculated vehicle encoder rate is different from the initial vehicle encoder rate previously programmed into the vehicle encoder, the calculated encoder rate is programmed into the vehicle encoder. Method 400 then moves from step 425 to step 430.
[0065] In step 430, as the vehicle moves forward or backward over the target, the camera of the image capture module captures a second image of the target. For example, a train operator can move one or more parts of the train (e.g., the locomotive) along the railroad track such that the image capture module attached to the train passes over the target fixed to the railroad track. Method 400 then moves from step 430 to step 435.
[0066] In step 435 of method 400, the operator determines the number of vertical pixels in one vertical spacing 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.
[0067] If, at step 440, the operator determines that the number of horizontal pixels in the first image is different from the number of vertical pixels in the second image, the method 400 moves from step 440 back to step 425, where the operator adjusts the vehicle encoder rate to account for the difference and programs the new vehicle encoder rate into the vehicle encoder. Steps 425 to 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 desired). When the number of horizontal and vertical pixels match, the method 400 moves from step 440 to step 445, where the operator determines that the image capture module is calibrated based on the comparison. The method 400 then moves from step 445 to step 450, where the method 400 ends.
[0068] Can Figure 4 The method 400 shown may be modified, added, or omitted. The method 400 may include more, fewer, or other steps. For example, the method 400 may include programming an initial vehicle encoder rate into a vehicle encoder. As another example, the method 400 may include activating a camera of an image capture module. The steps may be performed in parallel or in any suitable order. Although discussed as specific components that perform the steps of the method 400, any suitable component may perform any step of the method 400.
[0069] Figure 5 An example method 500 for gantry calibration of an image capture module is shown. The method 500 begins at step 505. At step 510, a camera (e.g., Figure 2 of the image capture module 140, the camera 210), the roller (eg, Figure 3 The roller 320 in the embodiment of the present invention) and the motor (e.g., Figure 3 The motor 330 is attached to a fixture (e.g., Figure 3 The method 500 then moves from step 510 to step 515, where the target (e.g., Figure 3 The target 322 is fixed to the drum. The target and the drum encoder (e.g., Figure 3 The image capture module is mounted in a fixture with a fixed working distance between the camera and the target. The working distance is a nominal working distance and may vary slightly between different vehicles using the image capture module 140. The method 500 then moves from step 515 to step 520.
[0070] At step 520, the camera captures a first image of the target. The camera may be connected to a computer (e.g., Figure 3of computer 150). The first image can be an image located in the middle of the camera's field of view that the operator observes using the computer. Method 500 then moves from step 520 to step 525, where the number of horizontal pixels in the horizontal spacing distance of the target image is determined. For example, the operator can use the first image displayed on the computer to calculate the number of bright or dark pixels in the horizontal spacing distance of the target at the center of the camera's field of view. Method 400 then moves from step 525 to step 530.
[0071] In step 530 of method 500, the horizontal OPS is determined using the determined number of horizontal pixels. The horizontal OPS is calculated by dividing the spacing of the target 322 (e.g., one inch) by the number of horizontal pixels in the spacing area. Method 500 then moves from step 530 to step 535, where the drum encoder rate is programmed into the drum encoder of the drum (e.g., Figure 3 drum encoder 350) of. The drum encoder rate is equal to the circumference of the drum 320 divided by the horizontal OPS. Method 500 then moves from step 535 to step 540, where the drum encoder rate is programmed into the drum encoder. In some embodiments, the drum encoder is programmed with an integer value representing the drum encoder rate. Method 500 then moves from step 540 to step 545.
[0072] In step 545 of method 500, the motor controller is set to rotate the drum at a low 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 a low speed. Method 500 then moves from step 550 to step 555, where the number of vertical pixels in one vertical spacing distance of each image is determined. For example, each image can be displayed on the computer, and the operator can calculate the number of dark or bright pixels in one spacing distance in the vertical cross-section of each image. Method 500 then moves from step 555 to step 560.
[0073] In step 560, the motor controller is set to rotate the drum at a high speed (e.g., 65 mph). Then, method 500 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 a high speed. Then, method 500 moves from step 565 to step 570, in step 570, when the drum rotates at a high speed, a plurality of vertical pixels in one vertical spacing distance of each image are captured. For example, each image can be displayed on the computer, and the operator can calculate the number of dark or bright pixels in one spacing distance in the vertical cross-section of each image. Method 500 then moves from step 570 to step 575.
[0074] At 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 when the drum rotates at low speed and high speed. If the number of horizontal pixels in the first image matches the number of vertical pixels in the low-speed / high-speed image, method 500 moves from step 575 to step 580, where the vehicle encoder rate is calculated using the drum encoder rate. The vehicle encoder rate is equal to Figure 1 the wheel circumference of vehicle 110 divided by Figure 3 the drum circumference of drum 320, and then multiplied by the drum encoder rate. Method 500 then moves from step 580 to step 585, where method 500 ends.
[0075] If, at step 575, the number of horizontal pixels in the first image is different from the number of vertical pixels in the low-speed / high-speed image, method 500 moves back from step 575 to step 540, where the drum encoder rate is adjusted to resolve the difference. The adjusted drum encoder rate is programmed into the drum encoder. Steps 540 to 575 are repeated until the number of horizontal pixels in the first image matches the number of vertical pixels in the low-speed / high-speed image. When the number of horizontal and vertical pixels matches, method 500 moves from step 575 to step 580, where the adjusted drum encoder rate is used to calculate the vehicle encoder rate. Method 500 then moves from step 580 to step 585, where method 500 ends.
[0076] The method 400 shown in Figure 5 can be modified, added to, or omitted. Method 500 can include more, fewer, or other steps. For example, method 500 can include activating the camera of the image capture module. The steps can be performed in parallel or in any suitable order. For example, although specific components are discussed as steps to complete method 500, any suitable component can perform any step of method 500. For example, one or more steps of method 500 can be automated (e.g., performed by Figure 3 computer 150).
[0077] Figure 6 An exemplary computer system that can be used by the systems and methods described herein is shown. For example, Figure 1 one or more components of system 100 and / or Figure 3 system 300 (e.g., computer 150) can include one or more interfaces 610, processing circuitry 620, memory 630, and / or other suitable elements. Interface 610 receives input, sends output, processes input and / or output, and / or performs other suitable operations. Interface 610 can include hardware and / or software.
[0078] Processing circuit 620 performs or manages the operations of the components. Processing circuit 620 may include hardware and / or software. Examples of processing circuits include one or more computers, one or more microprocessors, one or more applications, etc. In certain embodiments, processing circuit 620 executes logic (e.g., instructions) to perform actions (e.g., operations), such as generating an output from an input. The logic executed by processing circuit 620 may be encoded in one or more tangible, non-transitory computer-readable media (e.g., memory 630). For example, the logic may constitute a computer program, software, computer-executable instructions, and / or instructions capable of being executed by a computer. In a particular embodiment, the operations of the embodiment may be performed by one or more computer-readable media that store, embody, and / or encode a computer program and / or have a stored and / or encoded computer program.
[0079] Memory 630 (or memory unit) stores information. Memory 630 may include one or more non-transitory, tangible, computer-readable, and / or computer-executable storage media. Examples of memory 630 include computer memory (e.g., RAM or ROM), mass storage media (e.g., hard disk), removable storage media (e.g., compact disc (CD) or digital video disc (DVD)), databases, and / or network storage (e.g., server) and / or other computer-readable media.
[0080] Embodiments of the present disclosure relate to systems and methods for capturing a first image of a target by a camera of an image capture module. The image capture module and the drum are attached to a fixing device, and the target is attached to the drum. The method further includes steps of determining the number of horizontal pixels in a horizontal pitch distance of the target image, 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 attached to the drum. The method further includes steps of capturing a second image of the target by the camera of the image capture module when the target rotates about an axis of the drum, determining the number of vertical pixels in a vertical pitch distance of the second image, and comparing the number of horizontal pixels with the number of vertical pixels.
[0081] Herein, a computer-readable non-transitory storage medium may include one or more semiconductor-based or other integrated circuits (ICs) (e.g., field programmable gate arrays (FPGAs) or application specific ICs (ASICs)), hard disk drives (HDDs), hybrid hard disk drives (HHDs), optical discs, optical disc drives (ODDs), magneto-optical discs, magneto-optical drives, floppy disks, floppy disk drives (FDDs), magnetic tapes, solid state drives (SSDs), RAM drives, secure digital cards or drives, any other suitable computer-readable non-transitory storage medium, or any suitable combination of two or more thereof (as applicable). In appropriate cases, the computer-readable non-transitory storage medium may be volatile, non-volatile, or a combination of volatile and non-volatile.
[0082] Herein, unless otherwise expressly stated or the context otherwise indicates, "or" is inclusive rather than exclusive. Thus, in this document, unless otherwise expressly stated or the context otherwise indicates, "A or B" means "A, B, or both". Further, unless otherwise expressly stated or the context otherwise indicates, "and" is both conjunctive and plural. Thus, in this document, unless otherwise expressly stated or the context otherwise indicates, "A and B" means "A and B, jointly or separately".
[0083] The scope of the present disclosure includes all changes, substitutions, variations, alterations, and modifications to the example embodiments described or illustrated herein that would be understood by a person of ordinary skill in the art. The scope of the present disclosure is not limited to the example embodiments described or illustrated herein. Additionally, although the present disclosure describes and illustrates each of the embodiments herein as including specific components, elements, features, functions, operations, or steps, any one of these embodiments may include any combination or arrangement of any components, elements, features, functions, operations, or steps described or illustrated anywhere herein that would be understood by a person of ordinary skill in the art. Further, in the appended claims, a reference to a device or system or a component of a device or system that is adapted, arranged, capable, configured, enabled, operable, or operative to perform a particular function covers that device, system, or component, whether or not that particular function is activated, turned on, or unlocked, so long as that device, system, or component is so adapted, arranged, capable, configured, enabled, operable, or operative. Additionally, although the present disclosure describes a particular embodiment as providing a particular advantage, a particular embodiment may not provide, partially or fully provide, such advantage.
Claims
1. A method for calibrating an image capture module, comprising the following steps: Capturing a first image of a target by a camera of the image capture module, wherein: The image capture module and a drum are attached to a fixing device, and The target is attached to the drum; Determining the number of horizontal pixels in the horizontal spacing distance of the image of the target; Determining a horizontal object pixel size based on the number of horizontal pixels; Determining a drum encoder rate based on the horizontal object pixel size, wherein the drum encoder rate is programmed into a drum encoder attached to the drum, wherein the drum encoder rate corresponds to the number of electrical pulses generated by the drum encoder during one rotation of the axis of the drum encoder, or calculating the drum encoder rate using the circumference of the drum and the horizontal object pixel size; When the target rotates about the axis of the drum, capturing a second image of the target by the camera of the image capture module; Determining the number of vertical pixels in the vertical spacing distance of the second image; and Comparing the number of horizontal pixels with the number of vertical pixels and determining that the image capture module is calibrated based on the comparison, wherein the horizontal direction is parallel to the axis of the drum, and the vertical direction is perpendicular to the axis.
2. The method according to claim 1, further comprising the following steps: Determining whether the number of horizontal pixels matches the number of vertical pixels in response to comparing the number of horizontal pixels with the number of vertical pixels; And Calculating a vehicle encoder rate based on the drum encoder rate.
3. The method according to claim 2, further comprising the following steps: Programming the vehicle encoder rate into a vehicle encoder attached to a vehicle wheel; And Capturing an image of a second target by the camera of the image capture module, wherein: The image capture module is attached to the vehicle; and The second target is attached to a road.
4. The method according to claim 1, further comprising the following steps: Determining that the number of horizontal pixels is different from the number of vertical pixels in response to comparing the number of horizontal pixels with 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; When the target rotates about the axis of the drum, capturing a third image of the target by the camera of the image capture module; Determining the number of vertical pixels in the vertical spacing distance of the third image; And Comparing the number of horizontal pixels with the number of vertical pixels in the vertical spacing distance of the third image.
5. The method according to claim 1, further comprising the following steps: Focusing the camera of the image capture module on the target under constant illumination conditions; And Obtaining the maximum contrast between two pixels that identify the boundary between the bright and dark portions of the target.
6. The method according to claim 1, wherein: The drum encoder rate is the number of electrical pulses generated by the drum encoder during one rotation of the axis of the drum encoder; and Calculate the drum encoder rate using the circumference of the drum and the lateral object pixel size.
7. The method according to claim 1, wherein: The target is a chessboard pattern including a plurality of black and white squares; The lateral spacing distance represents the width of one of the plurality of squares; and The longitudinal spacing distance represents the length of the one square among the plurality of squares.
8. A system for calibrating an image capture module, comprising: A fixing device; A drum attached to the fixing device; A target attached to the drum; A drum encoder attached to the drum; The image capture module attached to the fixing device, wherein the image capture module includes a camera, and the camera is operable to: Capture a first image of the target; And When the target rotates about the axis of the drum, capture a second image of the target; And One or more controllers communicatively coupled to the drum encoder and the camera, wherein the one or more controllers are operable to: Determine the number of horizontal pixels in the horizontal spacing distance of the image of the target; Determine the horizontal object pixel size based on the number of horizontal pixels; Determine the drum encoder rate based on the horizontal object pixel size, wherein the drum encoder rate is programmed into the drum encoder attached to the drum, wherein the drum encoder rate corresponds to the number of electrical pulses generated by the drum encoder during one rotation of the axis of the drum encoder, or calculate the drum encoder rate using the circumference of the drum and the horizontal object pixel size; Determine the number of vertical pixels in the vertical spacing distance of the second image; And Compare the number of horizontal pixels with the number of vertical pixels and determine that the image capture module is calibrated based on the comparison, Wherein the horizontal direction is parallel to the axis of the drum, and the vertical direction is perpendicular to the axis.
9. The system according to claim 8, wherein the one or more controllers are further operable to: In response to comparing the number of horizontal pixels with the number of vertical pixels, determine whether the number of horizontal pixels matches the number of vertical pixels; and Calculate the vehicle encoder rate based on the drum encoder rate.
10. The system according to claim 9, wherein: The one or more controllers are further operable to program the vehicle encoder rate into a vehicle encoder attached to a vehicle wheel; and The camera of the image capture module is further operable to capture an image of a second target, wherein: The image capture module is attached to the vehicle; and The second target is attached to the road.
11. The system according to claim 8, wherein the one or more controllers are further operable to: In response to comparing the number of horizontal pixels with the number of vertical pixels, determine that the number of horizontal pixels is different from the number of vertical pixels; Adjust the drum encoder rate to the adjusted drum encoder rate; Program the adjusted drum encoder rate into the drum encoder; Determine the number of longitudinal pixels in the longitudinal pitch distance of a third image captured by the camera of the image capture module when the target rotates about the axis of the drum; and Compare the number of horizontal pixels with the number of longitudinal pixels in the longitudinal pitch distance of the third image.
12. The system according to claim 8, wherein the camera of the image capture module is further operable to adjust its focus on the target under constant illumination conditions to obtain a maximum contrast between two pixels that identify the boundary between the bright and dark portions of the target.
13. The system according to claim 8, wherein: The drum encoder rate is the number of electrical pulses generated by the drum encoder during one rotation of the axis of the drum encoder; and The drum encoder rate is calculated using the circumference of the drum and the horizontal object pixel size.
14. The system according to claim 8, wherein: The target is a chessboard pattern including a plurality of black and white squares; The horizontal pitch distance represents the width of one of the plurality of squares; and The longitudinal pitch distance represents the length of the one square of the plurality of squares.
15. One or more computer-readable storage media comprising instructions that, when executed by a processor, cause the processor to perform operations, the operations including the steps of: Capture a first image of a target by a camera of an image capture module, wherein: The image capture module and the drum are attached to a fixture, and The target is attached to the drum; Determine the number of horizontal pixels in the horizontal pitch distance of the image of the target; Determine the horizontal object pixel size based on the number of horizontal pixels; Determine a drum encoder rate based on the horizontal object pixel size, wherein the drum encoder rate is programmed into a drum encoder attached to the drum, wherein the drum encoder rate corresponds to the number of electrical pulses generated by the drum encoder during one rotation of the axis of the drum encoder, or the drum encoder rate is calculated using the circumference of the drum and the horizontal object pixel size; Capture a second image of the target by the camera of the image capture module when the target rotates about the axis of the drum; Determine the number of longitudinal pixels in the longitudinal pitch distance of the second image; and Compare the number of horizontal pixels with the number of longitudinal pixels and determine that the image capture module is calibrated based on the comparison, wherein the horizontal direction is parallel to the axis of the drum, and the longitudinal direction is perpendicular to the axis.
16. The one or more computer-readable storage media according to claim 15, the operations further including the steps of: Determine whether the number of horizontal pixels matches the number of longitudinal pixels in response to comparing the number of horizontal pixels with the number of longitudinal pixels; and Calculate the vehicle encoder rate based on the drum encoder rate.
17. The one or more computer-readable storage media according to claim 15, wherein the operations further comprise the steps of: Program the vehicle encoder rate into a vehicle encoder attached to a vehicle wheel; And Capture an image of a second target by the camera of the image capture module, wherein: The image capture module is attached to the vehicle; and The second target is attached to the road.
18. The one or more computer-readable storage media according to claim 15, wherein the operations further comprise the steps of: Determine that the number of horizontal pixels is different from the number of vertical pixels in response to comparing the number of horizontal pixels with the number of vertical pixels; Adjust the drum encoder rate to an adjusted drum encoder rate; Program the adjusted drum encoder rate into the drum encoder; Capture a third image of the target by the camera of the image capture module when the target rotates about the axis of the drum; Determine the number of vertical pixels in the vertical spacing distance of the third image; And Compare the number of horizontal pixels with the number of vertical pixels in the vertical spacing distance of the third image.
19. The one or more computer-readable storage media according to claim 15, wherein the operations further comprise the step of focusing the camera of the image capture module on the target under constant illumination conditions to obtain the maximum contrast between two pixels that identify the boundary between the bright and dark portions of the target.
20. The one or more computer-readable storage media according to claim 15, wherein: The drum encoder rate is the number of electrical pulses generated by the drum encoder during one rotation of the axis of the drum encoder; and Calculate the drum encoder rate using the circumference of the drum and the horizontal object pixel size.
21. An apparatus for calibrating an image capture module, comprising: Means for capturing a first image of a target by the image capture module, wherein: The image capture module and the drum are attached to a fixing device; and The target is attached to the drum; Means for determining the number of horizontal pixels in the horizontal spacing distance of the image of the target; Means for determining the horizontal object pixel size based on the number of horizontal pixels; Means for determining the drum encoder rate based on the horizontal object pixel size, wherein the drum encoder rate is programmed into a drum encoder attached to the drum, wherein the drum encoder rate corresponds to the number of electrical pulses generated by the drum encoder during one rotation of the axis of the drum encoder, or calculate the drum encoder rate using the circumference of the drum and the horizontal object pixel size; Means for capturing a second image of the target when the target rotates about the axis of the drum; Means for determining the number of vertical pixels in the vertical spacing distance of the second image; and Apparatus for comparing the number of the horizontal pixels with the number of the vertical pixels and determining that the image capture module is calibrated based on the comparison, wherein the horizontal direction is parallel to the axis of the drum, and the vertical direction is perpendicular to the axis.
22. The apparatus according to claim 21, further comprising means for implementing the method according to any one of claims 2 to 7.
23. A computer program product comprising instructions which, when executed by a computer, cause the computer to perform the steps of the method according to any one of claims 1 to 7.
24. A computer-readable medium comprising instructions which, when executed by a computer, cause the computer to perform the steps of the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Multi-camera calibration method based on cylindrical calibration object
CN108765494A
Method for making and evaluating a sample cut
US6950212B1