WO2024075906A1 - Image processing device, image processing system, and image processing method - Google Patents

Image processing device, image processing system, and image processing method Download PDF

Info

Publication number
WO2024075906A1
WO2024075906A1 PCT/KR2022/020943 KR2022020943W WO2024075906A1 WO 2024075906 A1 WO2024075906 A1 WO 2024075906A1 KR 2022020943 W KR2022020943 W KR 2022020943W WO 2024075906 A1 WO2024075906 A1 WO 2024075906A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
feature point
area
image processing
design data
Prior art date
Application number
PCT/KR2022/020943
Other languages
French (fr)
Korean (ko)
Inventor
양창모
장성태
Original Assignee
현대자동차 주식회사
기아 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차 주식회사, 기아 주식회사 filed Critical 현대자동차 주식회사
Publication of WO2024075906A1 publication Critical patent/WO2024075906A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features

Definitions

  • the disclosure relates to image processing devices, image processing systems, and image processing methods.
  • an inspection method using images is used to inspect whether vehicle parts are assembled and the state of assembly. For example, whether or not a vehicle part is assembled can be determined using an image taken before part assembly and an image taken after part assembly.
  • image registration or image matching
  • image registration needs to be performed between the acquired images. If image registration between acquired images is not performed accurately, if a part of the acquired image is recognized as a part or part assembly area and extracted, the image quality of that part may deteriorate.
  • feature point detection can be used.
  • the problem to be solved is to provide an image processing device, an image processing system, and an image processing method that can improve the accuracy of image registration by improving the performance of feature point detection used in image registration.
  • An image processing device includes an exclusion area determination module that distinguishes a vehicle body area and a parts area in a design data-based image and determines a partial area including the parts area as an exclusion area; a reference image generation module that generates a reference image including a masking area that masks the exclusion area in the design data-based image; a feature point search area definition module that defines a feature point search area in an acquired image using the reference image; and a feature point detection module that detects a plurality of feature points in the feature point search area.
  • the device generates the design data-based image by matching shooting coordinates corresponding to a captured image provided from a camera that photographs a vehicle and design data coordinates corresponding to the design data. Additional creation modules may be included.
  • the exclusion area determination module may distinguish the vehicle body area and the component area according to values assigned to the design data for each vehicle body or component identification number.
  • the exclusion area may further include a background area distinguished from the vehicle body area and the parts area in the design data-based image.
  • the exclusion area may further include a user-specified area designated by the user as an area in the design data-based image where there is a large change depending on the environment.
  • the device may further include an image registration module that performs image registration on the acquired image based on the plurality of feature points.
  • the apparatus includes a transformation matrix generation module that generates a transformation matrix from a positional deviation from a previously acquired acquisition image while performing the image registration; And it may further include an error analysis module that analyzes whether component values of the transformation matrix correspond to a predefined error range.
  • the plurality of feature points include a first feature point and a second feature point different from the first feature point
  • the image registration module is configured to configure component values of a transformation matrix generated according to image registration using the first feature point. If it is outside the error range, image registration for the acquired image may be performed using the second feature point.
  • the feature point search area definition module changes the feature point search area by increasing or decreasing at least some of the boundary lines of the feature point search area in pixel units when component values of the transformation matrix are outside a predefined error range.
  • the feature point detection module may detect a new feature point in the changed feature point search area, and the image matching module may perform image registration on the acquired image based on the new feature point.
  • An image processing system includes a mobile robot that photographs a vehicle at imaging coordinates determined by teaching provided in advance; a first image processing device that receives a first captured image from the mobile robot and generates a reference image for feature point search using a design data-based image matching the first captured image; and a second image processing device that receives a second captured image from the mobile robot and performs image registration on the second captured image based on a feature point search area defined in the reference image.
  • the first image processing device may include an exclusion area determination module that distinguishes a vehicle body area and a parts area in the design data-based image and determines a partial area including the parts area as an exclusion area; and a reference image generation module that generates the reference image including a masking area that masks the exclusion area in the design data-based image.
  • the exclusion area determination module may distinguish the vehicle body area and the component area according to values assigned to the design data for each vehicle body or component identification number.
  • the second image processing device includes a feature point search area definition module that defines the feature point search region in the second captured image using the reference image; and a feature point detection module that detects a plurality of feature points in the feature point search area.
  • the second image processing device includes an image registration module that performs image registration on the second captured image based on the plurality of feature points; a transformation matrix generation module that generates a transformation matrix from a position difference with a previously acquired second captured image while performing the image registration; And it may further include an error analysis module that analyzes whether component values of the transformation matrix correspond to a predefined error range.
  • the plurality of feature points include a first feature point and a second feature point different from the first feature point
  • the image registration module is configured to configure component values of a transformation matrix generated according to image registration using the first feature point. If it is outside the error range, image registration for the second captured image may be performed using the second feature point.
  • the feature point search area definition module changes the feature point search area by increasing or decreasing at least some of the boundary lines of the feature point search area in pixel units when component values of the transformation matrix are outside a predefined error range.
  • the feature point detection module may detect a new feature point in the changed feature point search area, and the image matching module may perform image registration on the second captured image based on the new feature point.
  • An image processing method includes distinguishing a vehicle body area and a parts area in an image based on design data; determining a partial area including the part area as an exclusion area; generating a reference image including a masking area by masking the exclusion area in the design data-based image; defining a feature point search area in an acquired image using the reference image; and detecting a plurality of feature points in the feature point search area.
  • the method includes performing image registration on the acquired image based on the plurality of feature points; generating a transformation matrix from a positional deviation from a previously acquired image while performing the image registration; And it may further include analyzing whether component values of the transformation matrix correspond to a predefined error range.
  • the plurality of feature points include a first feature point and a second feature point different from the first feature point
  • the method may include component values of a transformation matrix generated according to image registration using the first feature point. If it is outside the error range, the step of performing image registration on the acquired image using the second feature point may be further included.
  • the method includes, when component values of the transformation matrix are outside a predefined error range, changing the feature point search area by increasing or decreasing at least a portion of the boundary line of the feature point search area on a pixel basis; detecting a new feature point in the changed feature point search area; And it may further include performing image registration on the acquired image based on the new feature point.
  • an area in an image with relatively little change depending on the shooting environment e.g., car body area, etc.
  • an area with relatively large change e.g., parts assembly area, area sensitive to lighting changes, etc.
  • FIG. 1 is a diagram for explaining an image processing system according to an embodiment.
  • FIG. 2 is a diagram illustrating a design data-based image that can be used in an image processing system according to embodiments.
  • 3 to 5 are diagrams to explain determining an exclusion area in an image processing system according to embodiments.
  • FIG. 6 is a diagram illustrating a reference image that can be used in an image processing system according to embodiments.
  • FIGS. 7 and 8 are diagrams for explaining a feature point search area defined in an acquired image using a reference image in an image processing system according to embodiments.
  • Figure 9 is a diagram for explaining an image processing method according to an embodiment.
  • Figure 10 is a diagram for explaining an image processing system according to an embodiment.
  • Figures 11 and 12 are diagrams to explain the range of image acquisition errors caused by errors in acquisition equipment.
  • Figures 13 and 14 are diagrams for explaining feature point detection when the error range is outside the error range.
  • Figure 15 is a diagram for explaining an image processing method according to an embodiment.
  • Figure 16 is a diagram for explaining feature point detection when it is outside the error range.
  • Figure 17 is a diagram for explaining an image processing method according to an embodiment.
  • FIG. 18 is a diagram for explaining an example of a computing device for implementing an image processing device, an image processing system, and an image processing method according to example embodiments.
  • ... unit refers to a unit that processes at least one function or operation, which is implemented as hardware, software, or a combination of hardware and software. It can be.
  • at least some components or functions of the image processing device, image processing system, and image processing method according to the embodiments described below may be implemented as a program or software, and the program or software may be stored in a computer-readable medium. there is.
  • FIG. 1 is a diagram for explaining an image processing system according to an embodiment.
  • an image processing system 1 may include a first image processing device 10, a second image processing device 20, and a mobile robot 30.
  • the mobile robot 30 may be a robot that can understand the environment, move around, and assist or perform tasks on behalf of people in industrial sites. Unlike AGV (automated guided vehicle), which relies on a predefined path, the mobile robot 30 is equipped with various types of sensors, including cameras, computer vision sensors, voice recognition sensors, and lidar, and performs computing such as artificial intelligence and machine learning. It uses technology to collect data about its environment and can make decisions on its own, such as setting routes.
  • the mobile robot 30 can be used in various production processes, for example, in a robotic automated manufacturing plant for various industrial products such as vehicles. In the following embodiments, the mobile robot 30 may photograph a vehicle at photographing coordinates determined by teaching provided in advance.
  • the first image processing device 10 may generate a reference image (IMG2) using a captured image (IMG1) and an image based on design data.
  • the captured image IMG1 is an image taken in advance for at least a portion of the vehicle
  • the design data-based image may be an image generated based on design data (eg, 3D CAD data).
  • the captured image (IMG1) is an image of the door frame of a vehicle captured by, for example, a mobile robot 30 in a certain shooting environment
  • the design data-based image is 3D CAD data for the door frame of the corresponding vehicle type. From , it may be a door frame image rendered to match the corresponding shooting environment (eg, shooting coordinates, shooting angle, etc.).
  • the reference image (IMG2) may be an image used to define a feature point search area on the acquired image (IMG3).
  • the acquired image (IMG3) is an image taken during the production process of at least a portion of the vehicle, and the feature point search area may be an area determined to search for feature points used for image matching on a certain image. That is, in embodiments, the feature point search area may include only areas in an image where feature point detection performance is judged to be high, and exclude areas where feature point detection performance is determined to be low.
  • the reference image (IMG2) is divided into an area where the performance of feature point detection is judged to be high (e.g., an area in the image where there is relatively little change depending on the shooting environment) and where the performance of feature point detection is judged to be low.
  • the judged area (for example, an area in the image with relatively large changes depending on the shooting environment) can be distinguished on the acquired image (IMG3) for the door frame.
  • the second image processing device 20 may define a feature point search area on the acquired image (IMG3) using the reference image (IMG2), detect feature points therefrom, and perform image registration.
  • the captured image IMG1 and the acquired image IMG3 are shown as being captured by the mobile robot 30, but the scope of the present invention is not limited thereto.
  • the first image processing device 10 receives a captured image (IMG1) from the mobile robot 30 and creates a reference image for feature point search using a design data-based image matching the captured image (IMG1). (IMG2) and may include a design data-based image generation module 100, an exclusion area determination module 110, and a reference image generation module 120.
  • the design data-based image generation module 100 includes shooting coordinates corresponding to a captured image (IMG1) provided from a camera that photographs a vehicle (e.g., a camera mounted on the mobile robot 30), and design data corresponding to the design data. By matching coordinates, an image based on design data can be created.
  • the shooting coordinates of a camera shooting a door frame in a certain work space are coordinates (x1, y1, z1) on the first coordinate system
  • the design data coordinates of the image rendered from the design data of the door frame are on the second coordinate system.
  • an image based on design data can be created by matching (or transforming) the shooting coordinates and design data coordinates to be coordinates in the same coordinate system.
  • the design data-based image generated in this way for a door frame is shown as an acquisition image that is captured and acquired at coordinates (x1, y1, z1) on a first coordinate system for the door frame of an actual vehicle in a later process.
  • the size, area, angle, etc. of the door frame may match each other.
  • the method in which the design data-based image generation module 100 matches the captured image IMG1 with the image rendered from the design data is not limited to the above-described method.
  • the exclusion area determination module 110 may distinguish the vehicle body area and the parts area in the design data-based image generated by the design data-based image generation module 100 and determine some areas including the parts area as the exclusion area.
  • the exclusion area is an area in which the performance of feature point detection is judged to be low when setting the feature point search area and can be used to indicate an area that needs to be excluded.
  • a masking area is set based on these exclusion areas, and only areas that are judged to have high performance in feature point detection in the feature point search area in the acquired image are selected. You can do things like include:
  • the exclusion area may include a part area.
  • the vehicle body area may include the vehicle body, and the parts area may include components (eg, cables) assembled to the vehicle body.
  • the part area is included in the feature point search area, and the feature points detected in the part area are used to determine before and after assembly of the part.
  • image registration is performed on acquired images, the accuracy of image registration cannot be guaranteed.
  • detection of feature points that have a high risk of lowering the accuracy of image registration can be avoided.
  • the exclusion area determination module 110 may automatically use design data to distinguish between a vehicle body area and a parts area in the design data-based image generated by the design data-based image generation module 100.
  • design data may be given various values for each vehicle body or part unique number.
  • design data corresponding to the unique number of a part corresponding to the car body is given a first value (e.g. '0') to indicate that the part is a car body
  • the unique number of the part corresponding to a part other than the car body is given a first value (e.g. '0').
  • the design data corresponding to may be given a second value (eg, '1') to indicate that the part is a part.
  • the exclusion area determination module 110 can automatically distinguish between the car body area and the part area according to the value assigned to the design data for each car body or part unique number.
  • the exclusion area may further include a background area.
  • the background area may include, for example, an area excluding the main subject (e.g., a door frame) on the acquired image (IMG3) captured by the mobile robot 30, for example, other parts distinct from the main subject, It may include areas where the factory's internal facilities, workers, etc. were filmed. If the feature point search area includes such a background area and image registration of acquired images is performed using feature points detected in the background area, the accuracy of image registration cannot be guaranteed. By including the background area in the exclusion area, detection of feature points that have a high risk of lowering the accuracy of image registration can be avoided.
  • the exclusion area may further include a user-specified area.
  • the user-specified area may be an area designated by the user as an area in the design data-based image where there is significant change depending on the environment. For example, in an image based on design data, the user can designate a part of the car body with a reflective surface that protrudes so that light reflection is severe as an area where there is a large change in the lighting environment within the factory. If the feature point search area includes such a protrusion user-specified area and image registration is performed on images acquired before and after light reflection occurs using feature points detected in the user-specified area, the accuracy of image registration cannot be guaranteed. I can't. By including a user-specified area in the exclusion area, detection of feature points that have a high risk of lowering the accuracy of image registration can be avoided.
  • the reference image generation module 120 may generate a reference image (IMG2) including a masking area that masks the exclusion area determined by the exclusion area determination module 110 in the design data-based image.
  • the masking area can be created by collecting the exclusion areas.
  • the masking area may include only a part area, a part area and a background area, a part area and a user-specified area, or a part, It can also include both background areas and custom areas.
  • the generated reference image (IMG2) may be transmitted to the second image processing device 20.
  • the reference image generation module 120 may display the masking area using a binary value.
  • the reference image IMG2 is an image of a predetermined size, and the masking area and other areas can be distinguished through binary values assigned to each pixel constituting the image.
  • pixels corresponding to the masking area may be assigned a first binary value (e.g., '0'), and pixels corresponding to other areas may be assigned a second binary value (e.g., '1'), but the masking
  • the method of expressing the area is not limited to the method described above.
  • the second image processing device 20 receives an acquired image (IMG3) taken from the mobile robot 30, and selects an acquired image (IMG3) based on the feature point search area defined in the reference image (IMG2).
  • Image registration may be performed for and may include a feature point search area definition module 200, a feature point detection module 210, and an image matching module 220.
  • the feature point search area definition module 200 may define a feature point search area in the acquired image IMG3 using the reference image IMG2 received from the reference image generation module 120. Specifically, the feature point search area definition module 200 overlaps the reference image (IMG2) including the masking area on the acquired image (IMG3) and performs a feature point search on the area obscured by the masking area on the acquired image (IMG3). Excluding the area, areas that are not obscured by the masking area on the acquired image (IMG3) can be included in the feature point search area.
  • the reference image IMG2 may be generated to have the same size as the acquired image IMG3 at the time it is created by the reference image generation module 120.
  • the feature point search area definition module 200 can overlap the acquired image (IMG3) and the reference image (IMG2) without a separate resizing operation.
  • the size of the reference image (IMG2) and the acquired image (IMG3) received by the feature point search area definition module 200 may be different.
  • the feature point search area definition module 200 performs resizing so that the size of the reference image (IMG2) matches the size of the acquired image (IMG3), or, conversely, the acquired image (IMG3) is adjusted to the size of the reference image (IMG2).
  • the acquired image (IMG3) and reference image (IMG2) can overlap. Additionally, image cropping, rotation, etc. may be selectively performed if necessary.
  • the reference image (IMG2) generated in the reference image generation module 120 may be stored in a database, and the feature point search area definition module 200 may generate an acquired image from the database when a new acquired image (IMG3) is generated. It is also possible to obtain a reference image (IMG2) corresponding to (IMG3). At this time, the reference image (IMG2) stored in the database may be appropriately labeled to facilitate search according to the acquired image (IMG3).
  • the feature point detection module 210 may detect a plurality of feature points in the feature point search area defined by the feature point search area definition module 200.
  • the feature points detected in the feature point search area defined by the feature point search area definition module 200 may be feature points that can be used as a standard so that image registration can be performed accurately even if the shooting environment has changed.
  • the feature point detection module 210 performs brightness and contrast correction through histogram matching for the acquired image (IMG3) within the feature point search area, adjusts the lighting similarity to increase, and then detects a plurality of feature points. can be detected. For example, feature point detection performance by correcting the histogram value in the feature point search region of the acquired image (IMG3) based on the histogram value previously acquired for the feature point search region in relation to the captured image (IMG1) or reference image (IMG2). can be further improved.
  • the image registration module 220 may perform image registration on the acquired image IMG3 based on a plurality of feature points detected by the feature point detection module 210. If the image registration result does not exceed the error range of the acquisition device (e.g., mobile robot 30), image registration is completed. If the image registration result does not exceed the error range of the acquisition device, the feature points are reselected and image registration is performed again. It can be done. The image registration re-performance operation according to the error range will be described later with reference to FIGS. 10 to 17.
  • areas with relatively large changes in the image due to changes in the environment such as uncontrollable lighting, or image changes that may occur when parts are assembled manually or when parts are not assembled.
  • areas where changes exist from the feature point search area and improving the detection rate and accuracy of feature points for image registration between acquired images, feature point detection performance used in image matching can be improved.
  • the exclusion area from the feature point search area of the acquired image can be automatically determined based on design data (e.g., 3D CAD data), the feature point search area can be set effectively and efficiently in a short time.
  • the vision system can be operated effectively.
  • FIG. 2 is a diagram illustrating a design data-based image that can be used in an image processing system according to embodiments.
  • the design data-based pillar image generated based on 3D CAD data for the pillar of the vehicle is the photographing environment of the pillar image previously photographed by the mobile robot 30 (e.g., associated with the mobile robot 30). It may be a pillar image rendered to match the shooting coordinates, shooting angle, etc. in the coordinate system.
  • the design data-based pillar image of FIG. 2 includes shooting coordinates corresponding to the captured pillar image provided from the mobile robot 30 that photographs the pillar, and design data coordinates based on 3D CAD data for the pillar. It can be created by matching (or converting) coordinates to the same coordinate system.
  • 3 to 5 are diagrams to explain determining an exclusion area in an image processing system according to embodiments.
  • the design data-based pillar image of FIG. 2 shows a part area (M1) that is separated from the vehicle body area.
  • Parts assembled on pillars, such as cables, can be manually assembled by workers at any point in time according to an undetermined process sequence, so the feature point search area includes a part area (M1) including the cable, and the part area (M1) including the cable is included in the feature point search area.
  • the component area M1 may be included in the exclusion area.
  • a background area (M2) distinguished from the vehicle body area is shown in the design data-based pillar image of FIG. 2.
  • the background area (M2) in which other parts, internal facilities of the factory, workers, etc. that are distinct from the main subject, pillars, etc. are photographed is included in the feature point search area, and acquisition images with different backgrounds are detected in the background area (M2). If image registration of acquired images is performed using characteristic points, the accuracy of image registration cannot be guaranteed. Therefore, the background area (M2) may be included in the exclusion area.
  • the design data-based pillar image of FIG. 2 shows a user-specified area (M3) distinguished from the vehicle body area.
  • the user can designate as a user-specified area (M3) the area where there is a large change in the lighting environment within the factory, and the part of the car body where the reflective surface protrudes so that light is reflected heavily.
  • a user-specified area (M3) is included, and the feature points detected in the user-specified area (M3) ensure the accuracy of image registration when image registration is performed between an acquired image with strong light reflection and an acquired image without light reflection. I can't. Therefore, the user-specified area (M3) may be included in the exclusion area.
  • FIG. 6 is a diagram illustrating a reference image that can be used in an image processing system according to embodiments.
  • the reference pillar image includes a masking area (E1) corresponding to the part area (M1) shown in relation to FIGS. 3 to 5, and a masking area (E2, E3) corresponding to the background area (M2). and a masking area (E4) corresponding to the user-specified area (M3).
  • the reference pillar image is shown as including all of the masking areas (E1, E2, E3, and E4), but depending on the specific implementation purpose or environment, some of the masking areas (E1, E2, E3, and E4) may be masked. It may also include only
  • FIGS. 7 and 8 are diagrams for explaining a feature point search area defined in an acquired image using a reference image in an image processing system according to embodiments.
  • the illustrated acquired pillar image may be an image captured by the mobile robot 30 during the production process. Because it was filmed during the production process, you can see that the interior of the factory was filmed behind the pillar.
  • a reference pillar image including masking areas (E1, E2, E3, E4) overlaps on the acquisition pillar image, and is obscured by the masking areas (E1, E2, E3, E4) on the acquisition pillar image.
  • the masked area can be excluded from the feature point search area, and the area not covered by the masking areas (E1, E2, E3, E4) on the acquired pillar image can be included in the feature point search area.
  • a plurality of feature points P may be detected in the feature point search area defined in this way.
  • Figure 9 is a diagram for explaining an image processing method according to an embodiment.
  • a design data-based image can be generated by matching the captured coordinates corresponding to the captured image and the design data coordinates corresponding to the design data.
  • the car body area and the parts area can be distinguished in the design data-based image, and some areas including the parts area can be determined as an exclusion area.
  • the method can generate a reference image including a masking area by masking the excluded area in the design data-based image in step S905, and select feature points from the acquired image using the reference image in step S907. You can define a search area. And the method can detect a plurality of feature points in the feature point search area in step S909.
  • Figure 10 is a diagram for explaining an image processing system according to an embodiment.
  • the image processing system 2 may include a first image processing device 10, a second image processing device 20, and a mobile robot 30.
  • the difference from the image processing system 1 described above with reference to FIG. 1 is that the second image processing device 20 further includes a transformation matrix generation module 230 and an error analysis module 240.
  • the transformation matrix generation module 230 may generate a transformation matrix from a position difference with a previously acquired image while performing image registration.
  • the transformation matrix can be created after acquiring an image and calculating the positional deviation from the existing image, and includes information about translation, scale, shear, rotation, and tilt. can do.
  • the transformation matrix can be defined as the following 3 x 3 matrix:
  • Tx and Ty may represent displacement along the x-axis and y-axis, respectively
  • Sx and Sy may represent scale factors along the x-axis and y-axis, respectively
  • Shx and Shy may represent the shear factor along the x-axis and y-axis, respectively.
  • E and F may be factors affecting the vanishing point in relation to tilt.
  • the transformation matrices are cos(q), sin(q), -sin(q), cos with respect to rotation angle q from some center instead of Tx, Ty, Sx, Sy, Shx, Shy, E, and F.
  • (q) may also be configured to include values.
  • the error analysis module 240 may analyze whether component values of the transformation matrix correspond to a predefined error range.
  • the predefined error range may include an error range for each shooting position of the image acquisition equipment, for example, the mobile robot 30.
  • the mobile robot 30 repeatedly performs image acquisition at various shooting positions, and can calculate the error range for each shooting position for each of the various components of the transformation matrix.
  • the image registration module 220 may reselect the feature points and re-perform image registration.
  • Figures 11 and 12 are diagrams to explain the range of image acquisition errors caused by errors in acquisition equipment.
  • the mobile robot 30 can repeatedly perform image acquisition at various photographing positions for the vehicle.
  • the mobile robot 30 has a first position (P20102), a second position (P20204), a third position (P20302), a fourth position (P20402), a fifth position (P20502), and a sixth position (P20603).
  • P20102 first position
  • P20204 second position
  • P20302 third position
  • P20402 fourth position
  • P20502 a fifth position
  • P20603 a sixth position
  • the error analysis module 240 determines that the value of the Sx component with respect to the third position (P20302) is in an error range of about 0.8 to about 1.05. It analyzes whether it is applicable, and if the value of the Sx component of the transformation matrix generated while performing image registration is a value outside the error range of about 0.8 to about 1.05, the image registration module 220 reselects the feature point and performs image registration. It can be re-done.
  • Figures 13 and 14 are diagrams for explaining feature point detection when the error range is outside the error range.
  • the feature point detection module 210 can detect n feature points (n is a natural number, for example, 10) in the feature point search area shown in FIG. 13, and the image matching module 220 detects the first feature point among the n plurality of feature points.
  • Image registration can be performed on the acquired image based on m selected feature points (P1, P2, P3) (m is a natural number smaller than n, for example, 3).
  • the transformation matrix generation module 230 may generate a transformation matrix from the positional deviation from a previously acquired image while performing image registration, and the error analysis module 240 may determine the component values of the transformation matrix in advance. You can analyze whether it falls within the defined error range.
  • the image registration module 220 selects m feature points among the n feature points. Image registration can be re-performed by reselecting (P4, P5, P6) secondarily. Thereafter, the transformation matrix generation module 230 may re-perform image registration and secondarily generate a transformation matrix from the positional deviation from the previously acquired acquisition image, and the error analysis module 240 may generate the transformation matrix of the transformation matrix. It is possible to analyze whether component values fall within a predefined error range.
  • Figure 15 is a diagram for explaining an image processing method according to an embodiment.
  • step S1501 a feature point search area is defined in the acquired image using a reference image, and in step S1503, a first feature point is selected from the feature point search region.
  • a plurality of feature points including can be detected.
  • the method may, in step S1505, perform image registration on the acquired image based on a plurality of feature points including the first feature point, and perform image matching in step S1507, while performing image matching in step S1507.
  • a transformation matrix can be generated from the positional deviation from the acquired image.
  • step S1509 the method can determine whether the component values of the transformation matrix correspond to a predefined error range.
  • step S1503 If the component values of the transformation matrix are determined to fall within the predefined error range, image registration can be successfully completed, and if the component values of the transformation matrix are determined to be outside the predefined error range, the method Proceeding to step S1503, a plurality of feature points including a second feature point different from the first feature point may be reselected. Thereafter, in step S1505, image registration may be performed on the acquired image based on a plurality of feature points including the second feature point.
  • Figure 16 is a diagram for explaining feature point detection when it is outside the error range.
  • the feature point detection module 210 can detect a plurality of feature points in the feature point search area shown in FIG. 16, and the image matching module 220 can perform image registration on the acquired image based on the plurality of feature points. Additionally, the transformation matrix generation module 230 may generate a transformation matrix from the positional deviation from a previously acquired image while performing image registration, and the error analysis module 240 may determine the component values of the transformation matrix in advance. You can analyze whether it falls within the defined error range.
  • the feature point search area definition module 200 increases or decreases at least some of the boundary lines (A-A') of the feature point search area in pixel units to create a new boundary line (B- It can be changed to a feature point search area containing B'). Thereafter, the feature point detection module 210 may detect a new feature point in the changed feature point search area, and the image matching module 220 may perform image registration on the acquired image based on the new feature point.
  • Figure 17 is a diagram for explaining an image processing method according to an embodiment.
  • a feature point search area including a first boundary line is defined in the acquired image using a reference image
  • a feature point search area is defined. Multiple feature points can be detected in the search area.
  • the method may perform image registration on the acquired image based on a plurality of feature points in step S1705, and perform image registration in step S1707 while comparing the previously acquired image with the acquired image.
  • a transformation matrix can be generated from the position deviation.
  • the method can determine whether the component values of the transformation matrix correspond to a predefined error range.
  • a feature point search area including a new second boundary line obtained by increasing or decreasing the first boundary line in pixel units may be defined.
  • steps S1703 and S1705 a new feature point may be detected in the changed feature point search area, and image registration on the acquired image may be performed based on the new feature point.
  • the feature point detection module 210 may detect n feature points (n is a natural number, for example, 10) in the feature point search area including the first boundary line, and the image matching module 220 may detect a plurality of n feature points.
  • Image registration can be performed on the acquired image based on m primarily selected feature points (m is a natural number smaller than n, for example, 3).
  • the transformation matrix generation module 230 may generate a transformation matrix from the positional deviation from a previously acquired image while performing image registration, and the error analysis module 240 may determine the component values of the transformation matrix in advance. You can analyze whether it falls within the defined error range.
  • the image registration module 220 may re-perform image registration by secondarily reselecting m feature points among the n feature points. .
  • the feature point The search area definition module 200 may define a feature point search area including a new second border line obtained by increasing or decreasing the first border line in pixel units. Thereafter, in the changed feature point search area, the process of detecting n feature points again and performing image matching on the acquired image based on the m feature points primarily selected among the n plural feature points may be repeated.
  • the first borderline is set to increase or decrease by a predetermined pixel value (for example, 5 pixels), and when the increase or decrease value reaches the predetermined pixel value, in the feature point search area including the first borderline Pixel-by-pixel increase or decrease may be performed on a borderline that is different from the first borderline.
  • a predetermined pixel value for example, 5 pixels
  • areas with relatively large changes in the image due to changes in the environment such as uncontrollable lighting, or images that may occur when parts are assembled manually or when parts are not assembled By excluding areas where phase changes exist from the feature point search area and improving the detection rate and accuracy of feature points for image registration between acquired images, feature point detection performance used in image registration can be improved.
  • the exclusion area can be automatically determined in the feature point search area of the acquired image based on design data (e.g., 3D CAD data), the feature point search area can be set effectively and efficiently in a short time.
  • the vision system can be operated effectively.
  • FIG. 18 is a diagram for explaining an example of a computing device for implementing an image processing device, an image processing system, and an image processing method according to example embodiments.
  • an image processing device, an image processing system, and an image processing method according to embodiments may be implemented using a computing device 500.
  • Computing device 500 includes at least one of a processor 510, a memory 530, a user interface input device 540, a user interface output device 550, and a storage device 560 that communicate over a bus 520. can do.
  • Computing device 500 may also include a network interface 570 that is electrically connected to network 40 .
  • the network interface 570 can transmit or receive signals to and from other entities through the network 40.
  • the processor 510 may be implemented in various types such as a Micro Controller Unit (MCU), Application Processor (AP), Central Processing Unit (CPU), Graphic Processing Unit (GPU), Neural Processing Unit (NPU), and memory. 530 or may be any semiconductor device that executes instructions stored in the storage device 560. Processor 510 may be configured to implement the functions and methods described above with respect to FIGS. 1 to 17 .
  • MCU Micro Controller Unit
  • AP Application Processor
  • CPU Central Processing Unit
  • GPU Graphic Processing Unit
  • NPU Neural Processing Unit
  • memory 530 or may be any semiconductor device that executes instructions stored in the storage device 560.
  • Processor 510 may be configured to implement the functions and methods described above with respect to FIGS. 1 to 17 .
  • Memory 530 and storage device 560 may include various types of volatile or non-volatile storage media.
  • the memory may include read-only memory (ROM) 531 and random access memory (RAM) 532.
  • the memory 530 may be located inside or outside the processor 510, and the memory 530 may be connected to the processor 510 through various known means.
  • At least some components or functions of the image processing device, image processing system, and image processing method according to the embodiments may be implemented as a program or software running on the computing device 500, and the program or software may be implemented by a computer. It may be stored on a readable medium.
  • At least some components or functions of the image processing device, image processing system, and image processing method according to the embodiments may be implemented as hardware that can be electrically connected to the computing device 500.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

An image processing device, an image processing system, and an image processing method are provided. The image processing method may comprise: an exclusion area determination module that distinguishes a car body area and a parts area in a design data-based image and determines a partial area including the parts area as an exclusion area; a reference image generation module that generates a reference image including a masking area that masks the exclusion area in the design data-based image; a feature point search area definition module that defines a feature point search area in the acquired image by using the reference image; and a feature point detection module that detects a plurality of feature points in the feature point search area.

Description

이미지 처리 장치, 이미지 처리 시스템 및 이미지 처리 방법Image processing device, image processing system and image processing method
개시 내용은 이미지 처리 장치, 이미지 처리 시스템 및 이미지 처리 방법에 관한 것이다.The disclosure relates to image processing devices, image processing systems, and image processing methods.
차량 제조 시 차량 부품의 조립 여부, 조립 상태 등을 검사하기 위해 이미지를 이용한 검사 방법이 활용되고 있다. 예를 들어, 부품 조립 전에 촬영한 이미지와 부품 조립 후에 촬영한 이미지를 이용하여 차량 부품의 조립 여부가 판별될 수 있다. 그런데 조명 환경이 다르거나 취득 장비의 오차가 존재하는 이유로 취득한 이미지들 사이에 오차가 발생할 수 있으며, 이를 보상하기 위해서는 취득한 이미지들 사이에 이미지 정합(또는 이미지 매칭)이 수행될 필요가 있다. 만일 취득한 이미지들 사이에 이미지 정합이 정확하게 수행되지 않으면, 취득 이미지에서 일부분을 부품 또는 부품 조립 부위로서 인식하여 추출하는 경우, 해당 부분의 이미지 품질이 저하될 수 있다. 이와 같이 이미지 정합을 수행하기 위해, 특징점 검출이 사용될 수 있다.When manufacturing a vehicle, an inspection method using images is used to inspect whether vehicle parts are assembled and the state of assembly. For example, whether or not a vehicle part is assembled can be determined using an image taken before part assembly and an image taken after part assembly. However, errors may occur between the acquired images due to different lighting environments or errors in the acquisition equipment, and in order to compensate for this, image registration (or image matching) needs to be performed between the acquired images. If image registration between acquired images is not performed accurately, if a part of the acquired image is recognized as a part or part assembly area and extracted, the image quality of that part may deteriorate. To perform image registration in this way, feature point detection can be used.
해결하고자 하는 일 과제는, 이미지 정합에 사용되는 특징점 검출의 성능을 개선하여 이미지 정합의 정확도를 향상시킬 수 있는 이미지 처리 장치, 이미지 처리 시스템 및 이미지 처리 방법을 제공하는 것이다.The problem to be solved is to provide an image processing device, an image processing system, and an image processing method that can improve the accuracy of image registration by improving the performance of feature point detection used in image registration.
일 실시 예에 따른 이미지 처리 장치는, 설계 데이터 기반 이미지에서 차체 영역과 부품 영역을 구분하고, 상기 부품 영역을 포함하는 일부 영역을 제외 영역으로 결정하는 제외 영역 결정 모듈; 상기 설계 데이터 기반 이미지에서 상기 제외 영역을 마스킹한 마스킹 영역을 포함하는 레퍼런스 이미지를 생성하는 레퍼런스 이미지 생성 모듈; 상기 레퍼런스 이미지를 이용하여 취득 이미지에서 특징점 검색 영역을 정의하는 특징점 검색 영역 정의 모듈; 및 상기 특징점 검색 영역에서 복수의 특징점을 검출하는 특징점 검출 모듈을 포함할 수 있다.An image processing device according to an embodiment includes an exclusion area determination module that distinguishes a vehicle body area and a parts area in a design data-based image and determines a partial area including the parts area as an exclusion area; a reference image generation module that generates a reference image including a masking area that masks the exclusion area in the design data-based image; a feature point search area definition module that defines a feature point search area in an acquired image using the reference image; and a feature point detection module that detects a plurality of feature points in the feature point search area.
몇몇 실시 예에서, 상기 장치는, 차량을 촬영하는 카메라로부터 제공받은 촬영 이미지에 대응하는 촬영 좌표와, 상기 설계 데이터에 대응하는 설계 데이터 좌표를 매칭하여 상기 설계 데이터 기반 이미지를 생성하는 설계 데이터 기반 이미지 생성 모듈을 더 포함할 수 있다.In some embodiments, the device generates the design data-based image by matching shooting coordinates corresponding to a captured image provided from a camera that photographs a vehicle and design data coordinates corresponding to the design data. Additional creation modules may be included.
몇몇 실시 예에서, 상기 제외 영역 결정 모듈은, 상기 설계 데이터에 차체 또는 부품 고유번호 별로 부여된 값에 따라 상기 차체 영역과 상기 부품 영역을 구분할 수 있다.In some embodiments, the exclusion area determination module may distinguish the vehicle body area and the component area according to values assigned to the design data for each vehicle body or component identification number.
몇몇 실시 예에서, 상기 제외 영역은 상기 설계 데이터 기반 이미지에서 상기 차체 영역 및 상기 부품 영역과 구분되는 배경 영역을 더 포함할 수 있다.In some embodiments, the exclusion area may further include a background area distinguished from the vehicle body area and the parts area in the design data-based image.
몇몇 실시 예에서, 상기 제외 영역은 상기 설계 데이터 기반 이미지에서 환경에 따른 변화가 큰 영역으로 사용자에 의해 지정된 사용자 지정 영역을 더 포함할 수 있다.In some embodiments, the exclusion area may further include a user-specified area designated by the user as an area in the design data-based image where there is a large change depending on the environment.
몇몇 실시 예에서, 상기 장치는, 상기 복수의 특징점에 기반하여 상기 취득 이미지에 대한 이미지 정합을 수행하는 이미지 정합 모듈을 더 포함할 수 있다.In some embodiments, the device may further include an image registration module that performs image registration on the acquired image based on the plurality of feature points.
몇몇 실시 예에서, 상기 장치는, 상기 이미지 정합을 수행하면서, 이전에 취득된 취득 이미지와의 위치 편차로부터 변환 매트릭스(transformation matrix)를 생성하는 변환 매트릭스 생성 모듈; 및 상기 변환 매트릭스의 성분 값이 미리 정의된 오차 범위에 해당하는지 여부를 분석하는 오차 분석 모듈을 더 포함할 수 있다.In some embodiments, the apparatus includes a transformation matrix generation module that generates a transformation matrix from a positional deviation from a previously acquired acquisition image while performing the image registration; And it may further include an error analysis module that analyzes whether component values of the transformation matrix correspond to a predefined error range.
몇몇 실시 예에서, 상기 복수의 특징점은 제1 특징점 및 상기 제1 특징점과 상이한 제2 특징점을 포함하고, 상기 이미지 정합 모듈은, 상기 제1 특징점을 이용한 이미지 정합에 따라 생성된 변환 매트릭스의 성분 값이 상기 오차 범위를 벗어나는 경우, 상기 제2 특징점을 이용하여 상기 취득 이미지에 대한 이미지 정합을 수행할 수 있다.In some embodiments, the plurality of feature points include a first feature point and a second feature point different from the first feature point, and the image registration module is configured to configure component values of a transformation matrix generated according to image registration using the first feature point. If it is outside the error range, image registration for the acquired image may be performed using the second feature point.
몇몇 실시 예에서, 상기 특징점 검색 영역 정의 모듈은, 상기 변환 매트릭스의 성분 값이 미리 정의된 오차 범위를 벗어나는 경우, 상기 특징점 검색 영역의 경계선 중 적어도 일부를 픽셀 단위로 증감하여 상기 특징점 검색 영역을 변경하고, 상기 특징점 검출 모듈은 상기 변경된 특징점 검색 영역에서 새로운 특징점을 검출하고, 상기 이미지 정합 모듈은 상기 새로운 특징점에 기반하여 상기 취득 이미지에 대한 이미지 정합을 수행할 수 있다.In some embodiments, the feature point search area definition module changes the feature point search area by increasing or decreasing at least some of the boundary lines of the feature point search area in pixel units when component values of the transformation matrix are outside a predefined error range. The feature point detection module may detect a new feature point in the changed feature point search area, and the image matching module may perform image registration on the acquired image based on the new feature point.
일 실시 예에 따른 이미지 처리 시스템은, 미리 제공되는 티칭(teaching)에 의해 정해지는 촬영 좌표에서 차량을 촬영하는 모바일 로봇; 상기 모바일 로봇으로부터 제1 촬영 이미지를 제공받고, 상기 제1 촬영 이미지에 매칭되는 설계 데이터 기반 이미지를 이용하여 특징점 검색을 위한 레퍼런스 이미지를 생성하는 제1 이미지 처리 장치; 및 상기 모바일 로봇으로부터 제2 촬영 이미지를 제공받고, 상기 레퍼런스 이미지에서 정의된 특징점 검색 영역에 기반하여 상기 제2 촬영 이미지에 대한 이미지 정합을 수행하는 제2 이미지 처리 장치를 포함할 수 있다.An image processing system according to an embodiment includes a mobile robot that photographs a vehicle at imaging coordinates determined by teaching provided in advance; a first image processing device that receives a first captured image from the mobile robot and generates a reference image for feature point search using a design data-based image matching the first captured image; and a second image processing device that receives a second captured image from the mobile robot and performs image registration on the second captured image based on a feature point search area defined in the reference image.
몇몇 실시 예에서, 상기 제1 이미지 처리 장치는, 상기 설계 데이터 기반 이미지에서 차체 영역과 부품 영역을 구분하고, 상기 부품 영역을 포함하는 일부 영역을 제외 영역으로 결정하는 제외 영역 결정 모듈; 및 상기 설계 데이터 기반 이미지에서 상기 제외 영역을 마스킹한 마스킹 영역을 포함하는 상기 레퍼런스 이미지를 생성하는 레퍼런스 이미지 생성 모듈을 포함할 수 있다.In some embodiments, the first image processing device may include an exclusion area determination module that distinguishes a vehicle body area and a parts area in the design data-based image and determines a partial area including the parts area as an exclusion area; and a reference image generation module that generates the reference image including a masking area that masks the exclusion area in the design data-based image.
몇몇 실시 예에서, 상기 제외 영역 결정 모듈은, 상기 설계 데이터에 차체 또는 부품 고유번호 별로 부여된 값에 따라 상기 차체 영역과 상기 부품 영역을 구분할 수 있다.In some embodiments, the exclusion area determination module may distinguish the vehicle body area and the component area according to values assigned to the design data for each vehicle body or component identification number.
몇몇 실시 예에서, 상기 제2 이미지 처리 장치는, 상기 레퍼런스 이미지를 이용하여 상기 제2 촬영 이미지에서 상기 특징점 검색 영역을 정의하는 특징점 검색 영역 정의 모듈; 및 상기 특징점 검색 영역에서 복수의 특징점을 검출하는 특징점 검출 모듈을 포함할 수 있다.In some embodiments, the second image processing device includes a feature point search area definition module that defines the feature point search region in the second captured image using the reference image; and a feature point detection module that detects a plurality of feature points in the feature point search area.
몇몇 실시 예에서, 상기 제2 이미지 처리 장치는, 상기 복수의 특징점에 기반하여 상기 제2 촬영 이미지에 대한 이미지 정합을 수행하는 이미지 정합 모듈; 상기 이미지 정합을 수행하면서, 이전에 취득된 제2 촬영 이미지와의 위치 편차로부터 변환 매트릭스를 생성하는 변환 매트릭스 생성 모듈; 및 상기 변환 매트릭스의 성분 값이 미리 정의된 오차 범위에 해당하는지 여부를 분석하는 오차 분석 모듈을 더 포함할 수 있다.In some embodiments, the second image processing device includes an image registration module that performs image registration on the second captured image based on the plurality of feature points; a transformation matrix generation module that generates a transformation matrix from a position difference with a previously acquired second captured image while performing the image registration; And it may further include an error analysis module that analyzes whether component values of the transformation matrix correspond to a predefined error range.
몇몇 실시 예에서, 상기 복수의 특징점은 제1 특징점 및 상기 제1 특징점과 상이한 제2 특징점을 포함하고, 상기 이미지 정합 모듈은, 상기 제1 특징점을 이용한 이미지 정합에 따라 생성된 변환 매트릭스의 성분 값이 상기 오차 범위를 벗어나는 경우, 상기 제2 특징점을 이용하여 상기 제2 촬영 이미지에 대한 이미지 정합을 수행할 수 있다.In some embodiments, the plurality of feature points include a first feature point and a second feature point different from the first feature point, and the image registration module is configured to configure component values of a transformation matrix generated according to image registration using the first feature point. If it is outside the error range, image registration for the second captured image may be performed using the second feature point.
몇몇 실시 예에서, 상기 특징점 검색 영역 정의 모듈은, 상기 변환 매트릭스의 성분 값이 미리 정의된 오차 범위를 벗어나는 경우, 상기 특징점 검색 영역의 경계선 중 적어도 일부를 픽셀 단위로 증감하여 상기 특징점 검색 영역을 변경하고, 상기 특징점 검출 모듈은 상기 변경된 특징점 검색 영역에서 새로운 특징점을 검출하고, 상기 이미지 정합 모듈은 상기 새로운 특징점에 기반하여 상기 제2 촬영 이미지에 대한 이미지 정합을 수행할 수 있다.In some embodiments, the feature point search area definition module changes the feature point search area by increasing or decreasing at least some of the boundary lines of the feature point search area in pixel units when component values of the transformation matrix are outside a predefined error range. The feature point detection module may detect a new feature point in the changed feature point search area, and the image matching module may perform image registration on the second captured image based on the new feature point.
일 실시 예에 따른 이미지 처리 방법은, 설계 데이터 기반 이미지에서 차체 영역과 부품 영역을 구분하는 단계; 상기 부품 영역을 포함하는 일부 영역을 제외 영역으로 결정하는 단계; 상기 설계 데이터 기반 이미지에서 상기 제외 영역을 마스킹한 마스킹 영역을 포함하는 레퍼런스 이미지를 생성하는 단계; 상기 레퍼런스 이미지를 이용하여 취득 이미지에서 특징점 검색 영역을 정의하는 단계; 및 상기 특징점 검색 영역에서 복수의 특징점을 검출하는 단계를 포함할 수 있다.An image processing method according to an embodiment includes distinguishing a vehicle body area and a parts area in an image based on design data; determining a partial area including the part area as an exclusion area; generating a reference image including a masking area by masking the exclusion area in the design data-based image; defining a feature point search area in an acquired image using the reference image; and detecting a plurality of feature points in the feature point search area.
몇몇 실시 예에서, 상기 방법은, 상기 복수의 특징점에 기반하여 상기 취득 이미지에 대한 이미지 정합을 수행하는 단계; 상기 이미지 정합을 수행하면서, 이전에 취득된 취득 이미지와의 위치 편차로부터 변환 매트릭스를 생성하는 단계; 및 상기 변환 매트릭스의 성분 값이 미리 정의된 오차 범위에 해당하는지 여부를 분석하는 단계를 더 포함할 수 있다.In some embodiments, the method includes performing image registration on the acquired image based on the plurality of feature points; generating a transformation matrix from a positional deviation from a previously acquired image while performing the image registration; And it may further include analyzing whether component values of the transformation matrix correspond to a predefined error range.
몇몇 실시 예에서, 상기 복수의 특징점은 제1 특징점 및 상기 제1 특징점과 상이한 제2 특징점을 포함하고, 상기 방법은, 상기 제1 특징점을 이용한 이미지 정합에 따라 생성된 변환 매트릭스의 성분 값이 상기 오차 범위를 벗어나는 경우, 상기 제2 특징점을 이용하여 상기 취득 이미지에 대한 이미지 정합을 수행하는 단계를 더 포함할 수 있다.In some embodiments, the plurality of feature points include a first feature point and a second feature point different from the first feature point, and the method may include component values of a transformation matrix generated according to image registration using the first feature point. If it is outside the error range, the step of performing image registration on the acquired image using the second feature point may be further included.
몇몇 실시 예에서, 상기 방법은, 상기 변환 매트릭스의 성분 값이 미리 정의된 오차 범위를 벗어나는 경우, 상기 특징점 검색 영역의 경계선 중 적어도 일부를 픽셀 단위로 증감하여 상기 특징점 검색 영역을 변경하는 단계; 상기 변경된 특징점 검색 영역에서 새로운 특징점을 검출하는 단계; 및 상기 새로운 특징점에 기반하여 상기 취득 이미지에 대한 이미지 정합을 수행하는 단계를 더 포함할 수 있다.In some embodiments, the method includes, when component values of the transformation matrix are outside a predefined error range, changing the feature point search area by increasing or decreasing at least a portion of the boundary line of the feature point search area on a pixel basis; detecting a new feature point in the changed feature point search area; And it may further include performing image registration on the acquired image based on the new feature point.
실시 예들에 따르면, 이미지에서 촬영 환경에 따라 상대적으로 변화가 크지 않은 영역(예컨대 차체 영역 등)과, 상대적으로 변화가 큰 영역(예컨대 부품 조립 영역, 조명 변화에 민감한 영역 등)을 구분하여, 상대적으로 변화가 크지 않은 영역에서 특징점을 추출함으로써, 특징점 검출 성능을 개선하고 이미지 정합의 정확도를 향상시킬 수 있다.According to embodiments, an area in an image with relatively little change depending on the shooting environment (e.g., car body area, etc.) and an area with relatively large change (e.g., parts assembly area, area sensitive to lighting changes, etc.) are divided into By extracting feature points from areas where there is not much change, feature point detection performance can be improved and the accuracy of image registration can be improved.
도 1은 일 실시 예에 따른 이미지 처리 시스템을 설명하기 위한 도면이다.1 is a diagram for explaining an image processing system according to an embodiment.
도 2는 실시 예들에 따른 이미지 처리 시스템에서 사용될 수 있는 설계 데이터 기반 이미지를 설명하기 위한 도면이다.FIG. 2 is a diagram illustrating a design data-based image that can be used in an image processing system according to embodiments.
도 3 내지 도 5는 실시 예들에 따른 이미지 처리 시스템에서 제외 영역을 결정하는 것을 설명하기 위한 도면들이다.3 to 5 are diagrams to explain determining an exclusion area in an image processing system according to embodiments.
도 6은 실시 예들에 따른 이미지 처리 시스템에서 사용될 수 있는 레퍼런스 이미지를 설명하기 위한 도면이다.FIG. 6 is a diagram illustrating a reference image that can be used in an image processing system according to embodiments.
도 7 및 도 8은 실시 예들에 따른 이미지 처리 시스템에서 레퍼런스 이미지를 이용하여 취득 이미지에서 정의되는 특징점 검색 영역을 설명하기 위한 도면들이다.FIGS. 7 and 8 are diagrams for explaining a feature point search area defined in an acquired image using a reference image in an image processing system according to embodiments.
도 9는 일 실시 예에 따른 이미지 처리 방법을 설명하기 위한 도면이다.Figure 9 is a diagram for explaining an image processing method according to an embodiment.
도 10은 일 실시 예에 따른 이미지 처리 시스템을 설명하기 위한 도면이다.Figure 10 is a diagram for explaining an image processing system according to an embodiment.
도 11 및 도 12는 취득 장비의 오차로 인해 발생하는 이미지 취득 오차 범위를 설명하기 위한 도면들이다.Figures 11 and 12 are diagrams to explain the range of image acquisition errors caused by errors in acquisition equipment.
도 13 및 도 14는 오차 범위를 벗어나는 경우 특징점 검출을 설명하기 위한 도면들이다.Figures 13 and 14 are diagrams for explaining feature point detection when the error range is outside the error range.
도 15는 일 실시 예에 따른 이미지 처리 방법을 설명하기 위한 도면이다.Figure 15 is a diagram for explaining an image processing method according to an embodiment.
도 16은 오차 범위를 벗어나는 경우 특징점 검출을 설명하기 위한 도면이다.Figure 16 is a diagram for explaining feature point detection when it is outside the error range.
도 17은 일 실시 예에 따른 이미지 처리 방법을 설명하기 위한 도면이다.Figure 17 is a diagram for explaining an image processing method according to an embodiment.
도 18은 실시 예들에 따른 이미지 처리 장치, 이미지 처리 시스템 및 이미지 처리 방법을 구현하기 위한 컴퓨팅 장치의 일 실시 예를 설명하기 위한 도면이다.FIG. 18 is a diagram for explaining an example of a computing device for implementing an image processing device, an image processing system, and an image processing method according to example embodiments.
아래에서는 첨부한 도면을 참조하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Below, with reference to the attached drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily implement the present invention. However, the present invention may be implemented in many different forms and is not limited to the embodiments described herein. In order to clearly explain the present invention in the drawings, parts that are not related to the description are omitted, and similar parts are given similar reference numerals throughout the specification.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Throughout the specification and claims, when a part is said to “include” a certain component, this means that it may further include other components rather than excluding other components, unless specifically stated to the contrary. Terms containing ordinal numbers, such as first, second, etc., may be used to describe various components, but the components are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.
명세서에 기재된 "...부", "...기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 아래에서 설명되는 실시 예들에 따른 이미지 처리 장치, 이미지 처리 시스템 및 이미지 처리 방법 중 적어도 일부 구성 또는 기능은 프로그램 또는 소프트웨어로 구현될 수 있고, 프로그램 또는 소프트웨어는 컴퓨터로 판독 가능한 매체에 저장될 수 있다.Terms such as "... unit", "... unit", and "module" used in the specification refer to a unit that processes at least one function or operation, which is implemented as hardware, software, or a combination of hardware and software. It can be. In addition, at least some components or functions of the image processing device, image processing system, and image processing method according to the embodiments described below may be implemented as a program or software, and the program or software may be stored in a computer-readable medium. there is.
도 1은 일 실시 예에 따른 이미지 처리 시스템을 설명하기 위한 도면이다.1 is a diagram for explaining an image processing system according to an embodiment.
도 1을 참조하면, 일 실시 예에 따른 이미지 처리 시스템(1)은 제1 이미지 처리 장치(10), 제2 이미지 처리 장치(20) 및 모바일 로봇(30)을 포함할 수 있다.Referring to FIG. 1 , an image processing system 1 according to an embodiment may include a first image processing device 10, a second image processing device 20, and a mobile robot 30.
모바일 로봇(30)은 산업 현장에서 환경을 이해하고 이동하며 사람을 보조하거나 대신하여 작업을 수행할 수 있는 로봇일 수 있다. 모바일 로봇(30)은 미리 정의된 경로에 의존적이었던 AGV(automated guided vehicle)와 다르게 카메라, 컴퓨터 비전 센서, 음성 인식 센서, 라이다 등을 비롯한 다양한 종류의 센서를 탑재하고 인공 지능, 머신 러닝 등 컴퓨팅 기술을 사용하여 환경에 대한 데이터를 수집하며, 경로 설정 등 의사 결정을 스스로 내릴 수 있다. 모바일 로봇(30)은, 예를 들어, 차량 등 여러 산업 제품에 대한 로봇 자동화된 제조 공장에서 다양한 생산 공정에 투입될 수 있다. 이하 실시 예들에서, 모바일 로봇(30)은 미리 제공되는 티칭(teaching)에 의해 정해지는 촬영 좌표에서 차량을 촬영할 수 있다.The mobile robot 30 may be a robot that can understand the environment, move around, and assist or perform tasks on behalf of people in industrial sites. Unlike AGV (automated guided vehicle), which relies on a predefined path, the mobile robot 30 is equipped with various types of sensors, including cameras, computer vision sensors, voice recognition sensors, and lidar, and performs computing such as artificial intelligence and machine learning. It uses technology to collect data about its environment and can make decisions on its own, such as setting routes. The mobile robot 30 can be used in various production processes, for example, in a robotic automated manufacturing plant for various industrial products such as vehicles. In the following embodiments, the mobile robot 30 may photograph a vehicle at photographing coordinates determined by teaching provided in advance.
제1 이미지 처리 장치(10)는 촬영 이미지(IMG1)와 설계 데이터 기반 이미지를 이용하여 레퍼런스 이미지(IMG2)를 생성할 수 있다. 여기서, 촬영 이미지(IMG1)는 차량의 적어도 일부분에 대해 미리 촬영한 이미지이고, 설계 데이터 기반 이미지는 설계 데이터(예컨대 3D 캐드 데이터)를 기반으로 생성되는 이미지일 수 있다. 도어 프레임을 예로 들면, 촬영 이미지(IMG1)는 어떤 촬영 환경에서 예를 들어 모바일 로봇(30)에 의해 촬영된 차량의 도어 프레임 이미지이고, 설계 데이터 기반 이미지는 해당 차종의 도어 프레임에 대한 3D 캐드 데이터로부터, 해당 촬영 환경(예컨대 촬영 좌표, 촬영 각도 등)에 부합하도록 렌더링된 도어 프레임 이미지일 수 있다.The first image processing device 10 may generate a reference image (IMG2) using a captured image (IMG1) and an image based on design data. Here, the captured image IMG1 is an image taken in advance for at least a portion of the vehicle, and the design data-based image may be an image generated based on design data (eg, 3D CAD data). Taking a door frame as an example, the captured image (IMG1) is an image of the door frame of a vehicle captured by, for example, a mobile robot 30 in a certain shooting environment, and the design data-based image is 3D CAD data for the door frame of the corresponding vehicle type. From , it may be a door frame image rendered to match the corresponding shooting environment (eg, shooting coordinates, shooting angle, etc.).
레퍼런스 이미지(IMG2)는 취득 이미지(IMG3) 상에 특징점 검색 영역을 정의하기 위해 사용되는 이미지일 수 있다. 여기서, 취득 이미지(IMG3)는 차량의 적어도 일부분에 대해 생산 공정 중 촬영한 이미지이고, 특징점 검색 영역은, 어떤 이미지 상에서 이미지 정합에 사용되는 특징점을 검색하기로 정한 영역일 수 있다. 즉, 실시 예들에 있어서 특징점 검색 영역은, 어떤 이미지 상에서 특징점 검출의 성능이 높을 것으로 판단되는 영역만을 포함하고, 특징점 검출의 성능이 낮을 것으로 판단되는 영역을 제외한 것일 수 있다. 도어 프레임을 예로 들면, 레퍼런스 이미지(IMG2)는, 특징점 검출의 성능이 높을 것으로 판단되는 영역(예를 들어, 이미지에서 촬영 환경에 따라 상대적으로 변화가 크지 않은 영역)과 특징점 검출의 성능이 낮을 것으로 판단되는 영역(예를 들어, 이미지에서 촬영 환경에 따라 상대적으로 변화가 큰 영역)이, 도어 프레임에 대한 취득 이미지(IMG3) 상에서 구분되도록 할 수 있다. 제2 이미지 처리 장치(20)는 레퍼런스 이미지(IMG2)를 이용하여 취득 이미지(IMG3) 상에 특징점 검색 영역을 정의하고, 이로부터 특징점을 검출하여 이미지 정합을 수행할 수 있다. 본 실시 예에서, 촬영 이미지(IMG1) 및 취득 이미지(IMG3)는 모바일 로봇(30)에 의해 촬영되는 것으로 도시하였으나, 본 발명의 범위가 이에 제한되는 것은 아니다.The reference image (IMG2) may be an image used to define a feature point search area on the acquired image (IMG3). Here, the acquired image (IMG3) is an image taken during the production process of at least a portion of the vehicle, and the feature point search area may be an area determined to search for feature points used for image matching on a certain image. That is, in embodiments, the feature point search area may include only areas in an image where feature point detection performance is judged to be high, and exclude areas where feature point detection performance is determined to be low. Taking a door frame as an example, the reference image (IMG2) is divided into an area where the performance of feature point detection is judged to be high (e.g., an area in the image where there is relatively little change depending on the shooting environment) and where the performance of feature point detection is judged to be low. The judged area (for example, an area in the image with relatively large changes depending on the shooting environment) can be distinguished on the acquired image (IMG3) for the door frame. The second image processing device 20 may define a feature point search area on the acquired image (IMG3) using the reference image (IMG2), detect feature points therefrom, and perform image registration. In this embodiment, the captured image IMG1 and the acquired image IMG3 are shown as being captured by the mobile robot 30, but the scope of the present invention is not limited thereto.
제1 이미지 처리 장치(10)는, 예를 들어, 모바일 로봇(30)으로부터 촬영 이미지(IMG1)를 제공받고, 촬영 이미지(IMG1)에 매칭되는 설계 데이터 기반 이미지를 이용하여 특징점 검색을 위한 레퍼런스 이미지(IMG2)를 생성할 수 있고, 설계 데이터 기반 이미지 생성 모듈(100), 제외 영역 결정 모듈(110) 및 레퍼런스 이미지 생성 모듈(120)을 포함할 수 있다.For example, the first image processing device 10 receives a captured image (IMG1) from the mobile robot 30 and creates a reference image for feature point search using a design data-based image matching the captured image (IMG1). (IMG2) and may include a design data-based image generation module 100, an exclusion area determination module 110, and a reference image generation module 120.
설계 데이터 기반 이미지 생성 모듈(100)은, 차량을 촬영하는 카메라(예컨대 모바일 로봇(30)에 탑재된 카메라)로부터 제공받은 촬영 이미지(IMG1)에 대응하는 촬영 좌표와, 설계 데이터에 대응하는 설계 데이터 좌표를 매칭하여 설계 데이터 기반 이미지를 생성할 수 있다. 예를 들어, 어떤 작업 공간에서 도어 프레임을 촬영하는 카메라의 촬영 좌표가 제1 좌표계 상의 좌표 (x1, y1, z1)이고, 도어 프레임의 설계 데이터로부터 렌더링된 이미지의 설계 데이터 좌표가 제2 좌표계 상의 좌표 (x2, y2, x2)인 경우, 촬영 좌표와 설계 데이터 좌표를 동일한 좌표계의 좌표가 되도록 매칭(또는 변환)하여 설계 데이터 기반 이미지를 생성할 수 있다. 예를 들어, 도어 프레임에 대해 이와 같이 생성된 설계 데이터 기반 이미지는, 이후 공정에서 실제 차량의 도어 프레임에 대해 제1 좌표계 상의 좌표 (x1, y1, z1)에서 촬영되어 취득되는 취득 이미지와, 보여지는 도어 프레임의 크기, 영역, 각도 등이 서로 부합할 수 있다. 물론, 설계 데이터 기반 이미지 생성 모듈(100)이 촬영 이미지(IMG1)와 설계 데이터로부터 렌더링된 이미지를 매칭하는 방식은 전술한 방식으로 한정되는 것은 아니다.The design data-based image generation module 100 includes shooting coordinates corresponding to a captured image (IMG1) provided from a camera that photographs a vehicle (e.g., a camera mounted on the mobile robot 30), and design data corresponding to the design data. By matching coordinates, an image based on design data can be created. For example, the shooting coordinates of a camera shooting a door frame in a certain work space are coordinates (x1, y1, z1) on the first coordinate system, and the design data coordinates of the image rendered from the design data of the door frame are on the second coordinate system. In the case of coordinates (x2, y2, x2), an image based on design data can be created by matching (or transforming) the shooting coordinates and design data coordinates to be coordinates in the same coordinate system. For example, the design data-based image generated in this way for a door frame is shown as an acquisition image that is captured and acquired at coordinates (x1, y1, z1) on a first coordinate system for the door frame of an actual vehicle in a later process. The size, area, angle, etc. of the door frame may match each other. Of course, the method in which the design data-based image generation module 100 matches the captured image IMG1 with the image rendered from the design data is not limited to the above-described method.
제외 영역 결정 모듈(110)은, 설계 데이터 기반 이미지 생성 모듈(100)에서 생성된 설계 데이터 기반 이미지에서 차체 영역과 부품 영역을 구분하고, 부품 영역을 포함하는 일부 영역을 제외 영역으로 결정할 수 있다. 여기서 제외 영역은, 특징점 검색 영역을 설정함에 있어서 특징점 검출의 성능이 낮을 것으로 판단되는 영역으로서 제외가 필요한 영역을 지시하기 위해 사용될 수 있다. 구체적으로, 제외 영역 결정 모듈(110)에 제외 영역을 결정함에 따라, 이들 제외 영역에 기반하여 마스킹 영역이 설정되고, 이로부터 취득 이미지에서 특징점 검색 영역에서 특징점 검출의 성능이 높을 것으로 판단되는 영역만을 포함시키는 작업을 수행할 수 있다.The exclusion area determination module 110 may distinguish the vehicle body area and the parts area in the design data-based image generated by the design data-based image generation module 100 and determine some areas including the parts area as the exclusion area. Here, the exclusion area is an area in which the performance of feature point detection is judged to be low when setting the feature point search area and can be used to indicate an area that needs to be excluded. Specifically, as the exclusion area is determined in the exclusion area determination module 110, a masking area is set based on these exclusion areas, and only areas that are judged to have high performance in feature point detection in the feature point search area in the acquired image are selected. You can do things like include:
제외 영역은 부품 영역을 포함할 수 있다. 차체 영역은 차체를 포함할 수 있고, 부품 영역은 차체에 조립되는 부품(예컨대 케이블)을 포함할 수 있다. 그런데, 부품은 일정하게 정해지지 않은 공정 순서에 따라 작업자에 의해 수동으로 임의의 시점에 조립이 될 수 있으므로, 특징점 검색 영역에 부품 영역이 포함되고 해당 부품 영역에서 검출되는 특징점으로 해당 부품의 조립 전 후의 취득 이미지에 대한 이미지 정합이 이루어지는 경우에는 이미지 정합의 정확도를 보장할 수 없다. 제외 영역에 부품 영역을 포함시킴에 따라, 이미지 정합의 정확도를 저하시킬 우려가 높은 특징점 검출을 피할 수 있다.The exclusion area may include a part area. The vehicle body area may include the vehicle body, and the parts area may include components (eg, cables) assembled to the vehicle body. However, since parts can be assembled manually by workers at any point in time according to an undetermined process sequence, the part area is included in the feature point search area, and the feature points detected in the part area are used to determine before and after assembly of the part. When image registration is performed on acquired images, the accuracy of image registration cannot be guaranteed. By including the part area in the exclusion area, detection of feature points that have a high risk of lowering the accuracy of image registration can be avoided.
몇몇 실시 예에서, 제외 영역 결정 모듈(110)은, 설계 데이터를 이용하여 자동으로 설계 데이터 기반 이미지 생성 모듈(100)에서 생성된 설계 데이터 기반 이미지에서 차체 영역과 부품 영역을 구분할 수 있다. 구체적으로, 설계 데이터에는 차체 또는 부품 고유번호 별로 다양한 값이 부여되어 있을 수 있다. 예를 들어, 차체에 해당하는 파트의 고유번호에 대응하는 설계 데이터에는 해당 파트가 차체임을 나타내기 위해 제1 값(예컨대 '0')이 부여되고, 차체가 아닌 부품에 해당하는 파트의 고유번호에 대응하는 설계 데이터에는 해당 파트가 부품임을 나타내기 위해 제2 값(예컨대 '1')이 부여되어 있을 수 있다. 제외 영역 결정 모듈(110)은, 이와 같이 설계 데이터에 차체 또는 부품 고유번호 별로 부여된 값에 따라 자동으로 차체 영역과 부품 영역을 구분할 수 있다.In some embodiments, the exclusion area determination module 110 may automatically use design data to distinguish between a vehicle body area and a parts area in the design data-based image generated by the design data-based image generation module 100. Specifically, design data may be given various values for each vehicle body or part unique number. For example, design data corresponding to the unique number of a part corresponding to the car body is given a first value (e.g. '0') to indicate that the part is a car body, and the unique number of the part corresponding to a part other than the car body is given a first value (e.g. '0'). The design data corresponding to may be given a second value (eg, '1') to indicate that the part is a part. The exclusion area determination module 110 can automatically distinguish between the car body area and the part area according to the value assigned to the design data for each car body or part unique number.
몇몇 실시 예에서, 제외 영역은 배경 영역을 더 포함할 수도 있다. 배경 영역은, 예를 들어 모바일 로봇(30)에 의해 촬영되는 취득 이미지(IMG3) 상에 주된 피사체(예컨대 도어 프레임)를 제외한 영역을 포함할 수 있으며, 예를 들어 주된 피사체와 구분되는 다른 파트, 공장의 내부 시설, 작업자 등이 촬영된 영역을 포함할 수 있다. 특징점 검색 영역에 이와 같은 배경 영역이 포함되고 해당 배경 영역에서 검출되는 특징점으로 취득 이미지들에 대한 이미지 정합이 이루어지는 경우에는 이미지 정합의 정확도를 보장할 수 없다. 제외 영역에 배경 영역을 포함시킴에 따라, 이미지 정합의 정확도를 저하시킬 우려가 높은 특징점 검출을 피할 수 있다.In some embodiments, the exclusion area may further include a background area. The background area may include, for example, an area excluding the main subject (e.g., a door frame) on the acquired image (IMG3) captured by the mobile robot 30, for example, other parts distinct from the main subject, It may include areas where the factory's internal facilities, workers, etc. were filmed. If the feature point search area includes such a background area and image registration of acquired images is performed using feature points detected in the background area, the accuracy of image registration cannot be guaranteed. By including the background area in the exclusion area, detection of feature points that have a high risk of lowering the accuracy of image registration can be avoided.
몇몇 실시 예에서, 제외 영역은 사용자 지정 영역을 더 포함할 수도 있다. 사용자 지정 영역은, 설계 데이터 기반 이미지에서 환경에 따른 변화가 큰 영역으로 사용자에 의해 지정된 영역일 수 있다. 예를 들어, 사용자는, 설계 데이터 기반 이미지에서 공장 내 조명 환경에 따른 변화가 큰 영역으로, 차체 중 빛 반사가 심하도록 반사면이 돌출되도록 형성된 일부분을 지정할 수 있다. 특징점 검색 영역에 이와 같은 돌출부 사용자 지정 영역이 포함되고 해당 사용자 지정 영역에서 검출되는 특징점으로 빛 반사가 일어나기 전 및 빛 반사가 일어난 후의 취득 이미지에 대한 이미지 정합이 이루어지는 경우에는 이미지 정합의 정확도를 보장할 수 없다. 제외 영역에 사용자 지정 영역을 포함시킴에 따라, 이미지 정합의 정확도를 저하시킬 우려가 높은 특징점 검출을 피할 수 있다.In some embodiments, the exclusion area may further include a user-specified area. The user-specified area may be an area designated by the user as an area in the design data-based image where there is significant change depending on the environment. For example, in an image based on design data, the user can designate a part of the car body with a reflective surface that protrudes so that light reflection is severe as an area where there is a large change in the lighting environment within the factory. If the feature point search area includes such a protrusion user-specified area and image registration is performed on images acquired before and after light reflection occurs using feature points detected in the user-specified area, the accuracy of image registration cannot be guaranteed. I can't. By including a user-specified area in the exclusion area, detection of feature points that have a high risk of lowering the accuracy of image registration can be avoided.
레퍼런스 이미지 생성 모듈(120)은, 설계 데이터 기반 이미지에서, 제외 영역 결정 모듈(110)에 의해 결정된 제외 영역을 마스킹한 마스킹 영역을 포함하는 레퍼런스 이미지(IMG2)를 생성할 수 있다. 마스킹 영역은 제외 영역을 취합하여 생성될 수 있다. 예를 들어, 구체적인 구현 목적 또는 환경에 따라, 마스킹 영역은, 부품 영역만을 포함할 수도 있고, 부품 영역과 배경 영역을 포함할 수도 있고, 부품 영역과 사용자 지정 영역을 포함할 수도 있고, 또는 부품, 배경 영역 및 사용자 지정 영역을 모두 포함할 수도 있다. 생성된 레퍼런스 이미지(IMG2)는 제2 이미지 처리 장치(20)로 전송될 수 있다.The reference image generation module 120 may generate a reference image (IMG2) including a masking area that masks the exclusion area determined by the exclusion area determination module 110 in the design data-based image. The masking area can be created by collecting the exclusion areas. For example, depending on the specific implementation purpose or environment, the masking area may include only a part area, a part area and a background area, a part area and a user-specified area, or a part, It can also include both background areas and custom areas. The generated reference image (IMG2) may be transmitted to the second image processing device 20.
몇몇 실시 예에서, 레퍼런스 이미지 생성 모듈(120)은, 바이너리 값을 이용하여 마스킹 영역을 표시할 수 있다. 예를 들어, 레퍼런스 이미지(IMG2)는 미리 정해진 사이즈의 이미지이고, 해당 이미지를 구성하는 픽셀 별로 부여되는 바이너리 값을 통해 마스킹 영역과 그 외의 영역이 구분될 수 있다. 예를 들어, 마스킹 영역에 대응하는 픽셀에는 제1 바이너리 값(예컨대 '0')이 부여되고, 그 외의 영역에 대응하는 픽셀에는 제2 바이너리 값(예컨대 '1')이 부여될 수 있으나, 마스킹 영역의 표현 방식은 전술한 방식으로 한정되는 것은 아니다.In some embodiments, the reference image generation module 120 may display the masking area using a binary value. For example, the reference image (IMG2) is an image of a predetermined size, and the masking area and other areas can be distinguished through binary values assigned to each pixel constituting the image. For example, pixels corresponding to the masking area may be assigned a first binary value (e.g., '0'), and pixels corresponding to other areas may be assigned a second binary value (e.g., '1'), but the masking The method of expressing the area is not limited to the method described above.
제2 이미지 처리 장치(20)는, 예를 들어, 모바일 로봇(30)으로부터 촬영된 취득 이미지(IMG3)를 제공받고, 레퍼런스 이미지(IMG2)에서 정의된 특징점 검색 영역에 기반하여 취득 이미지(IMG3)에 대한 이미지 정합을 수행할 수 있고, 특징점 검색 영역 정의 모듈(200), 특징점 검출 모듈(210) 및 이미지 정합 모듈(220)을 포함할 수 있다.For example, the second image processing device 20 receives an acquired image (IMG3) taken from the mobile robot 30, and selects an acquired image (IMG3) based on the feature point search area defined in the reference image (IMG2). Image registration may be performed for and may include a feature point search area definition module 200, a feature point detection module 210, and an image matching module 220.
특징점 검색 영역 정의 모듈(200)은, 레퍼런스 이미지 생성 모듈(120)로부터 수신되는 레퍼런스 이미지(IMG2)를 이용하여 취득 이미지(IMG3)에서 특징점 검색 영역을 정의할 수 있다. 구체적으로, 특징점 검색 영역 정의 모듈(200)은, 취득 이미지(IMG3) 상에 마스킹 영역을 포함하는 레퍼런스 이미지(IMG2)를 오버랩하고, 취득 이미지(IMG3) 상에서 마스킹 영역에 의해 가려지는 영역을 특징점 검색 영역에서 제외하고, 취득 이미지(IMG3) 상에서 마스킹 영역에 의해 가려지지 않는 영역을 특징점 검색 영역에 포함시킬 수 있다.The feature point search area definition module 200 may define a feature point search area in the acquired image IMG3 using the reference image IMG2 received from the reference image generation module 120. Specifically, the feature point search area definition module 200 overlaps the reference image (IMG2) including the masking area on the acquired image (IMG3) and performs a feature point search on the area obscured by the masking area on the acquired image (IMG3). Excluding the area, areas that are not obscured by the masking area on the acquired image (IMG3) can be included in the feature point search area.
몇몇 실시 예에서, 레퍼런스 이미지(IMG2)는 레퍼런스 이미지 생성 모듈(120)에 의해 생성되는 시점에 취득 이미지(IMG3)의 사이즈와 동일하도록 생성될 수 있다. 이 경우, 특징점 검색 영역 정의 모듈(200)은, 별도의 리사이징 작업 없이 취득 이미지(IMG3)와 레퍼런스 이미지(IMG2)를 오버랩할 수 있다.In some embodiments, the reference image IMG2 may be generated to have the same size as the acquired image IMG3 at the time it is created by the reference image generation module 120. In this case, the feature point search area definition module 200 can overlap the acquired image (IMG3) and the reference image (IMG2) without a separate resizing operation.
몇몇 실시 예에서, 특징점 검색 영역 정의 모듈(200)이 수신한 레퍼런스 이미지(IMG2)와 취득 이미지(IMG3)의 사이즈가 상이할 수 있다. 이 경우, 특징점 검색 영역 정의 모듈(200)은, 레퍼런스 이미지(IMG2)의 사이즈가 취득 이미지(IMG3)의 사이즈에 맞도록 리사이징을 수행하거나, 반대로 취득 이미지(IMG3)가 레퍼런스 이미지(IMG2)의 사이즈에 맞도록 리사이징을 수행한 후, 취득 이미지(IMG3)와 레퍼런스 이미지(IMG2)를 오버랩할 수 있다. 또한, 필요한 경우에는 이미지 크롭, 회전 등이 선택적으로 수행될 수도 있다.In some embodiments, the size of the reference image (IMG2) and the acquired image (IMG3) received by the feature point search area definition module 200 may be different. In this case, the feature point search area definition module 200 performs resizing so that the size of the reference image (IMG2) matches the size of the acquired image (IMG3), or, conversely, the acquired image (IMG3) is adjusted to the size of the reference image (IMG2). After resizing to fit, the acquired image (IMG3) and reference image (IMG2) can overlap. Additionally, image cropping, rotation, etc. may be selectively performed if necessary.
몇몇 실시 예에서, 레퍼런스 이미지 생성 모듈(120)에서 생성된 레퍼런스 이미지(IMG2)는 데이터베이스에 저장될 수 있고, 특징점 검색 영역 정의 모듈(200)은 새로운 취득 이미지(IMG3)가 발생한 경우 데이터베이스로부터 취득 이미지(IMG3)에 대응하는 레퍼런스 이미지(IMG2)를 획득할 수도 있다. 이 때, 데이터베이스에 저장되는 레퍼런스 이미지(IMG2)는 취득 이미지(IMG3)에 따라 검색이 용이하도록 적절히 레이블링(labeling)되어 있을 수 있다.In some embodiments, the reference image (IMG2) generated in the reference image generation module 120 may be stored in a database, and the feature point search area definition module 200 may generate an acquired image from the database when a new acquired image (IMG3) is generated. It is also possible to obtain a reference image (IMG2) corresponding to (IMG3). At this time, the reference image (IMG2) stored in the database may be appropriately labeled to facilitate search according to the acquired image (IMG3).
특징점 검출 모듈(210)은, 특징점 검색 영역 정의 모듈(200)에 의해 정의된 특징점 검색 영역에서 복수의 특징점을 검출할 수 있다. 특징점 검색 영역 정의 모듈(200)에 의해 정의된 특징점 검색 영역에서 검출되는 특징점들은, 촬영 환경이 변하였더라도 이미지 정합이 정확하게 이루어질 수 있도록 기준을 삼을 수 있는 특징점들이 될 수 있다.The feature point detection module 210 may detect a plurality of feature points in the feature point search area defined by the feature point search area definition module 200. The feature points detected in the feature point search area defined by the feature point search area definition module 200 may be feature points that can be used as a standard so that image registration can be performed accurately even if the shooting environment has changed.
몇몇 실시 예에서, 특징점 검출 모듈(210)은, 특징점 검색 영역 내에서 취득 이미지(IMG3)에 대한 히스토그램(histogram) 매칭을 통해 밝기 및 명암 보정을 수행하여 조명 유사도가 높아지도록 조정한 후 복수의 특징점을 검출할 수 있다. 예를 들어, 촬영 이미지(IMG1) 또는 레퍼런스 이미지(IMG2)와 관련하여 특징점 검색 영역에 대해 미리 취득한 히스토그램 값에 기반하여, 취득 이미지(IMG3)의 특징점 검색 영역에서 히스토그램 값을 보정함에 따라 특징점 검출 성능을 더욱 향상시킬 수 있다.In some embodiments, the feature point detection module 210 performs brightness and contrast correction through histogram matching for the acquired image (IMG3) within the feature point search area, adjusts the lighting similarity to increase, and then detects a plurality of feature points. can be detected. For example, feature point detection performance by correcting the histogram value in the feature point search region of the acquired image (IMG3) based on the histogram value previously acquired for the feature point search region in relation to the captured image (IMG1) or reference image (IMG2). can be further improved.
이미지 정합 모듈(220)은, 특징점 검출 모듈(210)에 의해 검출된 복수의 특징점에 기반하여 취득 이미지(IMG3)에 대한 이미지 정합을 수행할 수 있다. 이미지 정합 결과가 취득 장치(예컨대 모바일 로봇(30))의 오차 범위를 벗어나지 않는 경우에는 이미지 정합을 완료하고, 이미지 정합 결과가 취득 장치의 오차 범위를 벗어나는 경우에는 특징점을 재선택하여 이미지 정합을 재수행할 수 있다. 오차 범위에 따른 이미지 정합 재수행 동작에 관하여는 도 10 내지 도 17을 참조하여 후술하도록 한다.The image registration module 220 may perform image registration on the acquired image IMG3 based on a plurality of feature points detected by the feature point detection module 210. If the image registration result does not exceed the error range of the acquisition device (e.g., mobile robot 30), image registration is completed. If the image registration result does not exceed the error range of the acquisition device, the feature points are reselected and image registration is performed again. It can be done. The image registration re-performance operation according to the error range will be described later with reference to FIGS. 10 to 17.
본 실시 예에 따르면, 통제할 수 없는 조명 등 환경의 변화로 인해 이미지에서 상대적으로 변화가 큰 영역이나, 수동으로 부품을 조립한 경우와 부품의 조립을 진행하지 않은 경우에 의해 발생할 수 있는 이미지 상 변화가 존재하는 영역을 특징점 검색 영역에서 제외하여, 취득한 이미지들 사이에 이미지 정합을 위한 특징점의 검출률 및 정확도를 향상시킴으로써, 이미지 정합에 사용되는 특징점 검출 성능을 개선할 수 있다. 또한, 설계 데이터(예컨대 3D 캐드 데이터)를 기반으로, 취득 이미지의 특징점 검색 영역에서 제외 영역을 자동으로 결정할 수 있기 때문에, 특징점 검색 영역을 짧은 시간 내에 효과적이면서도 효율적으로 설정할 수 있다. 이에 따라, 조명 등 작업 환경의 통제가 어려운 산업 현장에서 이미지 정합의 성능을 개선할 수 있을 뿐 아니라, 이미지 취득 및 정합 과정을 자동화된 방식으로 개선함으로써 생산 공장에서 별도의 비전 전문 엔지니어 등 인력을 줄이면서도 효과적으로 비전 시스템을 운용할 수 있다.According to this embodiment, areas with relatively large changes in the image due to changes in the environment, such as uncontrollable lighting, or image changes that may occur when parts are assembled manually or when parts are not assembled. By excluding areas where changes exist from the feature point search area and improving the detection rate and accuracy of feature points for image registration between acquired images, feature point detection performance used in image matching can be improved. In addition, because the exclusion area from the feature point search area of the acquired image can be automatically determined based on design data (e.g., 3D CAD data), the feature point search area can be set effectively and efficiently in a short time. Accordingly, not only can the performance of image registration be improved in industrial sites where it is difficult to control the working environment, such as lighting, but also the image acquisition and registration process can be improved in an automated manner, reducing the need for separate vision engineers and other personnel at the production plant. However, the vision system can be operated effectively.
이하에서는 도 2 내지 도 8을 참조하여, 차량의 도어와 천장 사이를 지지하는 필라(pillar)를 예시로 하여 전술한 이미지 처리 시스템(1)의 동작을 설명하도록 한다.Hereinafter, with reference to FIGS. 2 to 8, the operation of the image processing system 1 described above will be described using a pillar supporting between the door and the ceiling of the vehicle as an example.
도 2는 실시 예들에 따른 이미지 처리 시스템에서 사용될 수 있는 설계 데이터 기반 이미지를 설명하기 위한 도면이다.FIG. 2 is a diagram illustrating a design data-based image that can be used in an image processing system according to embodiments.
도 2를 참조하면, 차량의 필라에 대한 3D 캐드 데이터를 기반으로 생성된 설계 데이터 기반 필라 이미지는, 모바일 로봇(30)이 미리 촬영한 필라 이미지의 촬영 환경(예컨대, 모바일 로봇(30)과 연관된 좌표계에서의 촬영 좌표, 촬영 각도 등)에 부합하도록 렌더링된 필라 이미지일 수 있다. 예를 들어, 도 2의 설계 데이터 기반 필라 이미지는, 필라를 촬영하는 모바일 로봇(30)으로부터 제공받은 촬영 필라 아미지에 대응하는 촬영 좌표와, 필라에 대한 3D 캐드 데이터를 기반으로 한 설계 데이터 좌표를 동일한 좌표계의 좌표로 매칭(또는 변환)함으로써 생성될 수 있다.Referring to FIG. 2, the design data-based pillar image generated based on 3D CAD data for the pillar of the vehicle is the photographing environment of the pillar image previously photographed by the mobile robot 30 (e.g., associated with the mobile robot 30). It may be a pillar image rendered to match the shooting coordinates, shooting angle, etc. in the coordinate system. For example, the design data-based pillar image of FIG. 2 includes shooting coordinates corresponding to the captured pillar image provided from the mobile robot 30 that photographs the pillar, and design data coordinates based on 3D CAD data for the pillar. It can be created by matching (or converting) coordinates to the same coordinate system.
도 3 내지 도 5는 실시 예들에 따른 이미지 처리 시스템에서 제외 영역을 결정하는 것을 설명하기 위한 도면들이다.3 to 5 are diagrams to explain determining an exclusion area in an image processing system according to embodiments.
도 3을 참조하면, 도 2의 설계 데이터 기반 필라 이미지에서 차체 영역과 구분되는 부품 영역(M1)을 나타낸다. 필라에 조립되는 부품, 예컨대 케이블은 일정하게 정해지지 않은 공정 순서에 따라 작업자에 의해 수동으로 임의의 시점에 조립이 될 수 있으므로, 특징점 검색 영역에 케이블을 포함하는 부품 영역(M1)이 포함되고, 부품 영역(M1)에서 검출되는 특징점으로, 케이블이 조립되기 전과 케이블이 조립된 후의 취득 이미지에 대한 이미지 정합이 이루어지는 경우에는 이미지 정합의 정확도를 보장할 수 없다. 따라서 부품 영역(M1)은 제외 영역에 포함될 수 있다.Referring to FIG. 3, the design data-based pillar image of FIG. 2 shows a part area (M1) that is separated from the vehicle body area. Parts assembled on pillars, such as cables, can be manually assembled by workers at any point in time according to an undetermined process sequence, so the feature point search area includes a part area (M1) including the cable, and the part area (M1) including the cable is included in the feature point search area. As a feature point detected in the area M1, when image registration is performed on images acquired before and after the cable is assembled, the accuracy of image registration cannot be guaranteed. Therefore, the component area M1 may be included in the exclusion area.
도 4을 참조하면, 도 2의 설계 데이터 기반 필라 이미지에서 차체 영역과 구분되는 배경 영역(M2)을 나타낸다. 주된 피사체인 필라와 구분되는 다른 파트, 공장의 내부 시설, 작업자 등이 촬영된 배경 영역(M2)이 특징점 검색 영역에 포함되고, 서로 다른 배경을 갖는 취득 이미지들에 대해 배경 영역(M2)에서 검출되는 특징점으로 취득 이미지들에 대한 이미지 정합이 이루어지는 경우에는 이미지 정합의 정확도를 보장할 수 없다. 따라서 배경 영역(M2)은 제외 영역에 포함될 수 있다.Referring to FIG. 4, a background area (M2) distinguished from the vehicle body area is shown in the design data-based pillar image of FIG. 2. The background area (M2) in which other parts, internal facilities of the factory, workers, etc. that are distinct from the main subject, pillars, etc. are photographed is included in the feature point search area, and acquisition images with different backgrounds are detected in the background area (M2). If image registration of acquired images is performed using characteristic points, the accuracy of image registration cannot be guaranteed. Therefore, the background area (M2) may be included in the exclusion area.
도 5를 참조하면, 도 2의 설계 데이터 기반 필라 이미지에서 차체 영역과 구분되는 사용자 지정 영역(M3)을 나타낸다. 사용자는, 설계 데이터 기반 이미지에서 공장 내 조명 환경에 따른 변화가 큰 영역으로, 차체 중 빛 반사가 심하도록 반사면이 돌출되도록 형성된 일부분을 사용자 지정 영역(M3)으로 지정할 수 있으며, 특징점 검색 영역에 사용자 지정 영역(M3)이 포함되고, 사용자 지정 영역(M3)에서 검출되는 특징점으로, 빛 반사가 강한 취득 이미지와 빛 반사가 없는 취득 이미지에 대한 이미지 정합이 이루어지는 경우에는 이미지 정합의 정확도를 보장할 수 없다. 따라서 사용자 지정 영역(M3)은 제외 영역에 포함될 수 있다.Referring to FIG. 5, the design data-based pillar image of FIG. 2 shows a user-specified area (M3) distinguished from the vehicle body area. In the design data-based image, the user can designate as a user-specified area (M3) the area where there is a large change in the lighting environment within the factory, and the part of the car body where the reflective surface protrudes so that light is reflected heavily. A user-specified area (M3) is included, and the feature points detected in the user-specified area (M3) ensure the accuracy of image registration when image registration is performed between an acquired image with strong light reflection and an acquired image without light reflection. I can't. Therefore, the user-specified area (M3) may be included in the exclusion area.
도 6은 실시 예들에 따른 이미지 처리 시스템에서 사용될 수 있는 레퍼런스 이미지를 설명하기 위한 도면이다.FIG. 6 is a diagram illustrating a reference image that can be used in an image processing system according to embodiments.
도 6을 참조하면, 레퍼런스 필라 이미지는, 도 3 내지 도 5와 관련하여 도시된 부품 영역(M1)에 대응하는 마스킹 영역(E1), 배경 영역(M2)에 대응하는 마스킹 영역(E2, E3) 및 사용자 지정 영역(M3)에 대응하는 마스킹 영역(E4)을 포함할 수 있다. 본 실시 예에서는 레퍼런스 필라 이미지가 마스킹 영역(E1, E2, E3, E4)을 모두 포함하는 것으로 도시하였으나, 구체적인 구현 목적 또는 환경에 따라, 마스킹 영역(E1, E2, E3, E4) 중 일부 마스킹 영역만을 포함할 수도 있다.Referring to FIG. 6, the reference pillar image includes a masking area (E1) corresponding to the part area (M1) shown in relation to FIGS. 3 to 5, and a masking area (E2, E3) corresponding to the background area (M2). and a masking area (E4) corresponding to the user-specified area (M3). In this embodiment, the reference pillar image is shown as including all of the masking areas (E1, E2, E3, and E4), but depending on the specific implementation purpose or environment, some of the masking areas (E1, E2, E3, and E4) may be masked. It may also include only
도 7 및 도 8은 실시 예들에 따른 이미지 처리 시스템에서 레퍼런스 이미지를 이용하여 취득 이미지에서 정의되는 특징점 검색 영역을 설명하기 위한 도면들이다.FIGS. 7 and 8 are diagrams for explaining a feature point search area defined in an acquired image using a reference image in an image processing system according to embodiments.
도 7을 참조하면, 도시된 취득 필라 이미지는 모바일 로봇(30)이 생산 공정 중 촬영한 이미지일 수 있다. 생산 공정 중 촬영되었기 때문에 필라 뒤로 공장의 내부가 함께 촬영된 것을 알 수 있다.Referring to FIG. 7 , the illustrated acquired pillar image may be an image captured by the mobile robot 30 during the production process. Because it was filmed during the production process, you can see that the interior of the factory was filmed behind the pillar.
도 8을 참조하면, 취득 필라 이미지 상에 마스킹 영역(E1, E2, E3, E4)을 포함하는 레퍼런스 필라 이미지를 오버랩하고, 취득 필라 이미지 상에서 마스킹 영역(E1, E2, E3, E4)에 의해 가려지는 영역을 특징점 검색 영역에서 제외하고, 취득 필라 이미지 상에서 마스킹 영역(E1, E2, E3, E4)에 의해 가려지지 않는 영역을 특징점 검색 영역에 포함시킬 수 있다. 이와 같이 정의된 특징점 검색 영역에서 복수의 특징점(P)이 검출될 수 있다.Referring to Figure 8, a reference pillar image including masking areas (E1, E2, E3, E4) overlaps on the acquisition pillar image, and is obscured by the masking areas (E1, E2, E3, E4) on the acquisition pillar image. The masked area can be excluded from the feature point search area, and the area not covered by the masking areas (E1, E2, E3, E4) on the acquired pillar image can be included in the feature point search area. A plurality of feature points P may be detected in the feature point search area defined in this way.
도 9는 일 실시 예에 따른 이미지 처리 방법을 설명하기 위한 도면이다.Figure 9 is a diagram for explaining an image processing method according to an embodiment.
도 9를 참조하면, 일 실시 예에 따른 이미지 처리 방법은, 단계(S901)에서, 촬영 이미지에 대응하는 촬영 좌표와 설계 데이터에 대응하는 설계 데이터 좌표를 매칭하여 설계 데이터 기반 이미지를 생성할 수 있고, 단계(S903)에서, 설계 데이터 기반 이미지에서 차체 영역과 부품 영역을 구분하고, 부품 영역을 포함하는 일부 영역을 제외 영역으로 결정할 수 있다. 또한, 상기 방법은, 단계(S905)에서, 설계 데이터 기반 이미지에서 제외 영역을 마스킹한 마스킹 영역을 포함하는 레퍼런스 이미지를 생성할 수 있고, 단계(S907)에서, 레퍼런스 이미지를 이용하여 취득 이미지에서 특징점 검색 영역을 정의할 수 있다. 그리고 상기 방법은, 단계(S909)에서, 특징점 검색 영역에서 복수의 특징점을 검출할 수 있다.Referring to FIG. 9, in the image processing method according to an embodiment, in step S901, a design data-based image can be generated by matching the captured coordinates corresponding to the captured image and the design data coordinates corresponding to the design data. , In step S903, the car body area and the parts area can be distinguished in the design data-based image, and some areas including the parts area can be determined as an exclusion area. In addition, the method can generate a reference image including a masking area by masking the excluded area in the design data-based image in step S905, and select feature points from the acquired image using the reference image in step S907. You can define a search area. And the method can detect a plurality of feature points in the feature point search area in step S909.
본 실시 예에 따른 이미지 처리 방법과 관련하여 더욱 상세한 내용에 대해서는 도 1 내지 도 8과 관련하여 전술한 설명을 참조할 수 있으므로, 여기에서는 중복되는 설명을 생략하도록 한다.For more detailed information regarding the image processing method according to this embodiment, the above-mentioned description in relation to FIGS. 1 to 8 may be referred to, and thus redundant description will be omitted here.
도 10은 일 실시 예에 따른 이미지 처리 시스템을 설명하기 위한 도면이다.Figure 10 is a diagram for explaining an image processing system according to an embodiment.
도 10을 참조하면, 일 실시 예에 따른 이미지 처리 시스템(2)은 제1 이미지 처리 장치(10), 제2 이미지 처리 장치(20) 및 모바일 로봇(30)을 포함할 수 있다. 도 1과 관련하여 전술한 이미지 처리 시스템(1)과 차이점은 제2 이미지 처리 장치(20)가 변환 매트릭스 생성 모듈(230) 및 오차 분석 모듈(240)을 더 포함한다는 점이다.Referring to FIG. 10 , the image processing system 2 according to an embodiment may include a first image processing device 10, a second image processing device 20, and a mobile robot 30. The difference from the image processing system 1 described above with reference to FIG. 1 is that the second image processing device 20 further includes a transformation matrix generation module 230 and an error analysis module 240.
변환 매트릭스 생성 모듈(230)은, 이미지 정합을 수행하면서, 이전에 취득된 취득 이미지와의 위치 편차로부터 변환 매트릭스(transformation matrix)를 생성할 수 있다. 변환 매트릭스는 이미지를 취득한 후 기존 이미지와의 위치 편차를 계산할 때 생성될 수 있으며, 이동(translation), 스케일(scale), 전단(shear), 회전(rotation), 틸트(tilt)에 관한 정보를 포함할 수 있다. 예를 들어, 변환 매트릭스는 다음과 같은 3 x 3 매트릭스로 정의될 수 있다.The transformation matrix generation module 230 may generate a transformation matrix from a position difference with a previously acquired image while performing image registration. The transformation matrix can be created after acquiring an image and calculating the positional deviation from the existing image, and includes information about translation, scale, shear, rotation, and tilt. can do. For example, the transformation matrix can be defined as the following 3 x 3 matrix:
| Sx Shy E || Sx Shy E |
| Shx Sy F || Shx Sy F |
| Tx Ty 1 || Tx Ty 1 |
여기서, Tx 및 Ty는 각각 x 축 및 y 축을 따른 변위(displacement)를 나타낼 수 있고, Sx 및 Sy는 각각 x 축 및 y 축을 따른 스케일 인자(scale factor)를 나타낼 수 있다. Shx 및 Shy는 각각 x 축 및 y 축을 따른 전단 인자(shear factor)를 나타낼 수 있다. E 및 F는 틸트와 관련하여 소실점(vanishing point)에 영향을 미치는 인자일 수 있다. 몇몇 실시 예에서, 변환 매트릭스는 Tx, Ty, Sx, Sy, Shx, Shy, E 및 F 대신 어떤 중심으로부터의 회전 각 q에 관한 cos(q), sin(q), -sin(q), cos(q) 값들을 포함하도록 구성될 수도 있다.Here, Tx and Ty may represent displacement along the x-axis and y-axis, respectively, and Sx and Sy may represent scale factors along the x-axis and y-axis, respectively. Shx and Shy may represent the shear factor along the x-axis and y-axis, respectively. E and F may be factors affecting the vanishing point in relation to tilt. In some embodiments, the transformation matrices are cos(q), sin(q), -sin(q), cos with respect to rotation angle q from some center instead of Tx, Ty, Sx, Sy, Shx, Shy, E, and F. (q) may also be configured to include values.
오차 분석 모듈(240)은, 변환 매트릭스의 성분 값이 미리 정의된 오차 범위에 해당하는지 여부를 분석할 수 있다. 여기서 미리 정의된 오차 범위는, 이미지 취득 장비, 예컨대 모바일 로봇(30)의 촬영 위치 별 오차 범위를 포함할 수 있다. 모바일 로봇(30)은 여러 촬영 위치에서 반복하여 이미지 취득을 수행하며, 변환 매트릭스의 여러 성분 각각에 대해, 각각의 촬영 위치 별로 오차 범위를 산정할 수 있다.The error analysis module 240 may analyze whether component values of the transformation matrix correspond to a predefined error range. Here, the predefined error range may include an error range for each shooting position of the image acquisition equipment, for example, the mobile robot 30. The mobile robot 30 repeatedly performs image acquisition at various shooting positions, and can calculate the error range for each shooting position for each of the various components of the transformation matrix.
만일, 이미지 정합에 따라 생성된 변환 매트릭스의 성분 값이 오차 범위를 벗어나는 경우에는, 이미지 정합 모듈(220)은 특징점을 재선택하여 이미지 정합을 재수행할 수 있다.If the component values of the transformation matrix generated according to image registration are outside the error range, the image registration module 220 may reselect the feature points and re-perform image registration.
도 11 및 도 12는 취득 장비의 오차로 인해 발생하는 이미지 취득 오차 범위를 설명하기 위한 도면들이다.Figures 11 and 12 are diagrams to explain the range of image acquisition errors caused by errors in acquisition equipment.
도 11을 참조하면, 모바일 로봇(30)은 차량에 대해 여러 촬영 위치에서 반복하여 이미지 취득을 수행할 수 있다. 예를 들어, 모바일 로봇(30)은 제1 위치(P20102), 제2 위치(P20204), 제3 위치(P20302), 제4 위치(P20402), 제5 위치(P20502) 및 제6 위치(P20603)에서 이미지 취득을 수행할 수 있고, 도 12를 참조하면 변환 매트릭스의 여러 성분 각각에 대해 각각의 촬영 위치 별로 산정된 오차 범위를 알 수 있다. 구체적으로, 변환 매트릭스의 Sx, Sy, Shx, Shy 성분 각각에 대해 위치(P20102) 내지 위치(P20603) 각각에 대해 오차 범위가 산출됨을 알 수 있다. 오차 분석 모듈(240)은, 예를 들어, 이미지 정합을 수행하면서 생성되는 변환 매트릭스의 Sx 성분의 경우, 제3 위치(P20302)와 관련하여 Sx 성분의 값이 약 0.8 내지 약 1.05의 오차 범위에 해당하는지 여부를 분석하고, 이미지 정합을 수행하면서 생성되는 변환 매트릭스의 Sx 성분의 값이 약 0.8 내지 약 1.05의 오차 범위를 벗어나는 값인 경우, 이미지 정합 모듈(220)은 특징점을 재선택하여 이미지 정합을 재수행할 수 있다.Referring to FIG. 11, the mobile robot 30 can repeatedly perform image acquisition at various photographing positions for the vehicle. For example, the mobile robot 30 has a first position (P20102), a second position (P20204), a third position (P20302), a fourth position (P20402), a fifth position (P20502), and a sixth position (P20603). ), and with reference to FIG. 12, you can see the error range calculated for each shooting position for each of the various components of the transformation matrix. Specifically, it can be seen that the error range is calculated for each of the Sx, Sy, Shx, and Shy components of the transformation matrix from the position (P20102) to the position (P20603). For example, in the case of the Sx component of the transformation matrix generated while performing image registration, the error analysis module 240 determines that the value of the Sx component with respect to the third position (P20302) is in an error range of about 0.8 to about 1.05. It analyzes whether it is applicable, and if the value of the Sx component of the transformation matrix generated while performing image registration is a value outside the error range of about 0.8 to about 1.05, the image registration module 220 reselects the feature point and performs image registration. It can be re-done.
이하에서는 도 13 내지 도 17을 참조하여 이미지 정합을 재수행하는 실시 예들에 대해 설명하도록 한다.Hereinafter, embodiments of re-performing image registration will be described with reference to FIGS. 13 to 17.
도 13 및 도 14는 오차 범위를 벗어나는 경우 특징점 검출을 설명하기 위한 도면들이다.Figures 13 and 14 are diagrams for explaining feature point detection when the error range is outside the error range.
도 13을 참조하면, 취득 이미지는 마스킹 영역(E5, E6, E7, E8)을 포함하는 레퍼런스 이미지와 오버랩되고, 취득 이미지 상에서 마스킹 영역(E5, E6, E7, E8)에 의해 가려지는 영역은 특징점 검색 영역에서 제외되고, 취득 이미지 상에서 마스킹 영역(E5, E6, E7, E8)에 의해 가려지지 않는 영역은 특징점 검색 영역에 포함될 수 있다.Referring to FIG. 13, the acquired image overlaps with the reference image including the masking areas (E5, E6, E7, E8), and the area covered by the masking areas (E5, E6, E7, E8) on the acquired image is a feature point. Areas excluded from the search area and not covered by the masking areas (E5, E6, E7, E8) on the acquired image may be included in the feature point search area.
특징점 검출 모듈(210)은 도 13에 도시된 특징점 검색 영역에서 n 개(n은 자연수, 예컨대 10 개)의 특징점을 검출할 수 있고, 이미지 정합 모듈(220)은 n 개의 복수의 특징점 중 1 차로 선택한 m 개(m은 n보다 작은 자연수, 예컨대 3 개)의 특징점(P1, P2, P3)에 기반하여 취득 이미지에 대한 이미지 정합을 수행할 수 있다. 그리고 변환 매트릭스 생성 모듈(230)은, 이미지 정합을 수행하면서, 이전에 취득된 취득 이미지와의 위치 편차로부터 변환 매트릭스를 생성할 수 있고, 오차 분석 모듈(240)은, 변환 매트릭스의 성분 값이 미리 정의된 오차 범위에 해당하는지 여부를 분석할 수 있다.The feature point detection module 210 can detect n feature points (n is a natural number, for example, 10) in the feature point search area shown in FIG. 13, and the image matching module 220 detects the first feature point among the n plurality of feature points. Image registration can be performed on the acquired image based on m selected feature points (P1, P2, P3) (m is a natural number smaller than n, for example, 3). Additionally, the transformation matrix generation module 230 may generate a transformation matrix from the positional deviation from a previously acquired image while performing image registration, and the error analysis module 240 may determine the component values of the transformation matrix in advance. You can analyze whether it falls within the defined error range.
도 14를 참조하면, m 개의 특징점(P1, P2, P3)을 이용한 이미지 정합에 따라 생성된 변환 매트릭스의 성분 값이 오차 범위를 벗어나는 경우, 이미지 정합 모듈(220)은 n 개의 특징점 중 m 개의 특징점(P4, P5, P6)을 2차로 재선택하여 이미지 정합을 재수행할 수 있다. 이후, 변환 매트릭스 생성 모듈(230)은, 이미지 정합을 재수행하면서, 이전에 취득된 취득 이미지와의 위치 편차로부터 변환 매트릭스를 2차로 생성할 수 있고, 오차 분석 모듈(240)은, 변환 매트릭스의 성분 값이 미리 정의된 오차 범위에 해당하는지 여부를 분석할 수 있다.Referring to FIG. 14, when the component values of the transformation matrix generated according to image registration using m feature points (P1, P2, P3) are outside the error range, the image registration module 220 selects m feature points among the n feature points. Image registration can be re-performed by reselecting (P4, P5, P6) secondarily. Thereafter, the transformation matrix generation module 230 may re-perform image registration and secondarily generate a transformation matrix from the positional deviation from the previously acquired acquisition image, and the error analysis module 240 may generate the transformation matrix of the transformation matrix. It is possible to analyze whether component values fall within a predefined error range.
도 15는 일 실시 예에 따른 이미지 처리 방법을 설명하기 위한 도면이다.Figure 15 is a diagram for explaining an image processing method according to an embodiment.
도 15를 참조하면, 일 실시 예에 따른 이미지 처리 방법은, 단계(S1501)에서, 레퍼런스 이미지를 이용하여 취득 이미지에서 특징점 검색 영역을 정의하고, 단계(S1503)에서, 특징점 검색 영역에서 제1 특징점을 포함하는 복수의 특징점을 검출할 수 있다. 또한, 상기 방법은, 단계(S1505)에서, 제1 특징점을 포함하는 복수의 특징점에 기반하여 취득 이미지에 대한 이미지 정합을 수행할 수 있고, 단계(S1507)에서, 이미지 정합을 수행하면서, 이전에 취득된 취득 이미지와의 위치 편차로부터 변환 매트릭스를 생성할 수 있다. 그리고 상기 방법은, 단계(S1509)에서, 변환 매트릭스의 성분 값이 미리 정의된 오차 범위에 해당하는지 여부를 판정할 수 있다.Referring to FIG. 15, in the image processing method according to an embodiment, in step S1501, a feature point search area is defined in the acquired image using a reference image, and in step S1503, a first feature point is selected from the feature point search region. A plurality of feature points including can be detected. In addition, the method may, in step S1505, perform image registration on the acquired image based on a plurality of feature points including the first feature point, and perform image matching in step S1507, while performing image matching in step S1507. A transformation matrix can be generated from the positional deviation from the acquired image. And in step S1509, the method can determine whether the component values of the transformation matrix correspond to a predefined error range.
변환 매트릭스의 성분 값이 미리 정의된 오차 범위에 해당하는 것으로 판정된 경우, 이미지 정합은 성공적으로 종료될 수 있고, 변환 매트릭스의 성분 값이 미리 정의된 오차 범위를 벗어나는 것으로 판정된 경우, 상기 방법은 단계(S1503)로 진행하여, 제1 특징점과 상이한 제2 특징점을 포함하는 복수의 특징점을 재선택할 수 있다. 이후, 단계(S1505)에서, 제2 특징점을 포함하는 복수의 특징점에 기반하여 취득 이미지에 대한 이미지 정합을 수행할 수 있다.If the component values of the transformation matrix are determined to fall within the predefined error range, image registration can be successfully completed, and if the component values of the transformation matrix are determined to be outside the predefined error range, the method Proceeding to step S1503, a plurality of feature points including a second feature point different from the first feature point may be reselected. Thereafter, in step S1505, image registration may be performed on the acquired image based on a plurality of feature points including the second feature point.
본 실시 예에 따른 이미지 처리 방법과 관련하여 더욱 상세한 내용에 대해서는 도 1 내지 도 14와 관련하여 전술한 설명을 참조할 수 있으므로, 여기에서는 중복되는 설명을 생략하도록 한다.For more detailed information regarding the image processing method according to this embodiment, the above-described description in relation to FIGS. 1 to 14 may be referred to, and thus redundant description will be omitted here.
도 16은 오차 범위를 벗어나는 경우 특징점 검출을 설명하기 위한 도면이다.Figure 16 is a diagram for explaining feature point detection when it is outside the error range.
도 16을 참조하면, 취득 이미지는 마스킹 영역(E5, E6, E7, E8)을 포함하는 레퍼런스 이미지와 오버랩되고, 취득 이미지 상에서 마스킹 영역(E5, E6, E7, E8)에 의해 가려지는 영역은 특징점 검색 영역에서 제외되고, 취득 이미지 상에서 마스킹 영역(E5, E6, E7, E8)에 의해 가려지지 않는 영역은 특징점 검색 영역에 포함될 수 있다.Referring to FIG. 16, the acquired image overlaps with the reference image including the masking areas (E5, E6, E7, E8), and the area covered by the masking areas (E5, E6, E7, E8) on the acquired image is a feature point. Areas excluded from the search area and not covered by the masking areas (E5, E6, E7, E8) on the acquired image may be included in the feature point search area.
특징점 검출 모듈(210)은 도 16에 도시된 특징점 검색 영역에서 복수의 특징점을 검출할 수 있고, 이미지 정합 모듈(220)은 복수의 특징점에 기반하여 취득 이미지에 대한 이미지 정합을 수행할 수 있다. 그리고 변환 매트릭스 생성 모듈(230)은, 이미지 정합을 수행하면서, 이전에 취득된 취득 이미지와의 위치 편차로부터 변환 매트릭스를 생성할 수 있고, 오차 분석 모듈(240)은, 변환 매트릭스의 성분 값이 미리 정의된 오차 범위에 해당하는지 여부를 분석할 수 있다.The feature point detection module 210 can detect a plurality of feature points in the feature point search area shown in FIG. 16, and the image matching module 220 can perform image registration on the acquired image based on the plurality of feature points. Additionally, the transformation matrix generation module 230 may generate a transformation matrix from the positional deviation from a previously acquired image while performing image registration, and the error analysis module 240 may determine the component values of the transformation matrix in advance. You can analyze whether it falls within the defined error range.
특징점 검색 영역 정의 모듈(200)은, 변환 매트릭스의 성분 값이 미리 정의된 오차 범위를 벗어나는 경우, 특징점 검색 영역의 경계선 중 적어도 일부(A-A')를 픽셀 단위로 증감하여 새로운 경계선(B-B')을 포함하는 특징점 검색 영역으로 변경할 수 있다. 이후, 특징점 검출 모듈(210)은, 변경된 특징점 검색 영역에서 새로운 특징점을 검출하고, 이미지 정합 모듈(220)은 새로운 특징점에 기반하여 취득 이미지에 대한 이미지 정합을 수행할 수 있다.If the component values of the transformation matrix are outside the predefined error range, the feature point search area definition module 200 increases or decreases at least some of the boundary lines (A-A') of the feature point search area in pixel units to create a new boundary line (B- It can be changed to a feature point search area containing B'). Thereafter, the feature point detection module 210 may detect a new feature point in the changed feature point search area, and the image matching module 220 may perform image registration on the acquired image based on the new feature point.
도 17은 일 실시 예에 따른 이미지 처리 방법을 설명하기 위한 도면이다.Figure 17 is a diagram for explaining an image processing method according to an embodiment.
도 17을 참조하면, 일 실시 예에 따른 이미지 처리 방법은, 단계(S1701)에서, 레퍼런스 이미지를 이용하여 취득 이미지에서 제1 경계선을 포함하는 특징점 검색 영역을 정의하고, 단계(S1703)에서, 특징점 검색 영역에서 복수의 특징점을 검출할 수 있다. 또한, 상기 방법은, 단계(S1705)에서, 복수의 특징점에 기반하여 취득 이미지에 대한 이미지 정합을 수행할 수 있고, 단계(S1707)에서, 이미지 정합을 수행하면서, 이전에 취득된 취득 이미지와의 위치 편차로부터 변환 매트릭스를 생성할 수 있다. 그리고 상기 방법은, 단계(S1709)에서, 변환 매트릭스의 성분 값이 미리 정의된 오차 범위에 해당하는지 여부를 판정할 수 있다.Referring to FIG. 17, in the image processing method according to an embodiment, in step S1701, a feature point search area including a first boundary line is defined in the acquired image using a reference image, and in step S1703, a feature point search area is defined. Multiple feature points can be detected in the search area. In addition, the method may perform image registration on the acquired image based on a plurality of feature points in step S1705, and perform image registration in step S1707 while comparing the previously acquired image with the acquired image. A transformation matrix can be generated from the position deviation. And, in step S1709, the method can determine whether the component values of the transformation matrix correspond to a predefined error range.
변환 매트릭스의 성분 값이 미리 정의된 오차 범위에 해당하는 것으로 판정된 경우, 이미지 정합은 성공적으로 종료될 수 있고, 변환 매트릭스의 성분 값이 미리 정의된 오차 범위를 벗어나는 것으로 판정된 경우, 상기 방법은 단계(S1701)로 진행하여, 제1 경계선을 픽셀 단위로 증감한 새로운 제2 경계선을 포함하는 특징점 검색 영역을 정의할 수 있다. 이후, 단계(S1703) 및 단계(S1705)에서, 변경된 특징점 검색 영역에서 새로운 특징점을 검출하고, 새로운 특징점에 기반하여 취득 이미지에 대한 이미지 정합을 수행할 수 있다.If the component values of the transformation matrix are determined to fall within the predefined error range, image registration can be successfully completed, and if the component values of the transformation matrix are determined to be outside the predefined error range, the method Proceeding to step S1701, a feature point search area including a new second boundary line obtained by increasing or decreasing the first boundary line in pixel units may be defined. Thereafter, in steps S1703 and S1705, a new feature point may be detected in the changed feature point search area, and image registration on the acquired image may be performed based on the new feature point.
본 실시 예에 따른 이미지 처리 방법과 관련하여 더욱 상세한 내용에 대해서는 도 1 내지 도 12 및 도 16과 관련하여 전술한 설명을 참조할 수 있으므로, 여기에서는 중복되는 설명을 생략하도록 한다.For more detailed information regarding the image processing method according to this embodiment, the above-described descriptions in relation to FIGS. 1 to 12 and 16 may be referred to, and thus redundant descriptions will be omitted here.
몇몇 실시 예에서, 오차 범위를 벗어나는 경우, 도 13 내지 도 15와 관련하여 전술한 실시 예와, 도 16 및 도 17과 관련하여 전술한 실시 예는 조합되어 구현될 수도 있다.In some embodiments, if it is outside the error range, the embodiments described above with reference to FIGS. 13 to 15 and the embodiments described with reference to FIGS. 16 and 17 may be combined and implemented.
예를 들어, 특징점 검출 모듈(210)은 제1 경계선을 포함하는 특징점 검색 영역에서 n 개(n은 자연수, 예컨대 10 개)의 특징점을 검출할 수 있고, 이미지 정합 모듈(220)은 n 개의 복수의 특징점 중 1 차로 선택한 m 개(m은 n보다 작은 자연수, 예컨대 3 개)의 특징점에 기반하여 취득 이미지에 대한 이미지 정합을 수행할 수 있다. 그리고 변환 매트릭스 생성 모듈(230)은, 이미지 정합을 수행하면서, 이전에 취득된 취득 이미지와의 위치 편차로부터 변환 매트릭스를 생성할 수 있고, 오차 분석 모듈(240)은, 변환 매트릭스의 성분 값이 미리 정의된 오차 범위에 해당하는지 여부를 분석할 수 있다.For example, the feature point detection module 210 may detect n feature points (n is a natural number, for example, 10) in the feature point search area including the first boundary line, and the image matching module 220 may detect a plurality of n feature points. Image registration can be performed on the acquired image based on m primarily selected feature points (m is a natural number smaller than n, for example, 3). Additionally, the transformation matrix generation module 230 may generate a transformation matrix from the positional deviation from a previously acquired image while performing image registration, and the error analysis module 240 may determine the component values of the transformation matrix in advance. You can analyze whether it falls within the defined error range.
m 개의 특징점을 이용한 이미지 정합에 따라 생성된 변환 매트릭스의 성분 값이 오차 범위를 벗어나는 경우, 이미지 정합 모듈(220)은 n 개의 특징점 중 m 개의 특징점을 2차로 재선택하여 이미지 정합을 재수행할 수 있다.If the component values of the transformation matrix generated according to image registration using m feature points are outside the error range, the image registration module 220 may re-perform image registration by secondarily reselecting m feature points among the n feature points. .
이미지 정합 모듈(220)이 n 개의 특징점 중 m 개의 특징점을 재선택하여 이미지 정합을 재수행하는 과정을 미리 정해진 횟수(예컨대 5 회) 이상 반복하였음에도 여전히 변환 매트릭스의 성분 값이 오차 범위를 벗어나는 경우, 특징점 검색 영역 정의 모듈(200)은, 제1 경계선을 픽셀 단위로 증감한 새로운 제2 경계선을 포함하는 특징점 검색 영역을 정의할 수 있다. 이후, 변경된 특징점 검색 영역에서, 다시 n 개의 특징점을 검출하고, n 개의 복수의 특징점 중 1 차로 선택한 m 개의 특징점에 기반하여 취득 이미지에 대한 이미지 정합을 수행하는 과정을 반복할 수 있다.Even though the image registration module 220 repeats the process of reselecting m feature points among n feature points and re-performing image registration more than a predetermined number of times (e.g., 5 times), if the component values of the transformation matrix are still outside the error range, the feature point The search area definition module 200 may define a feature point search area including a new second border line obtained by increasing or decreasing the first border line in pixel units. Thereafter, in the changed feature point search area, the process of detecting n feature points again and performing image matching on the acquired image based on the m feature points primarily selected among the n plural feature points may be repeated.
또한, 몇몇 실시 예에서, 제1 경계선은 미리 정해진 픽셀 값(예컨대 5 픽셀)만큼 증감이 가능하도록 설정하고, 증감 값이 미리 정해진 픽셀 값에 도달한 경우, 제1 경계선을 포함하는 특징점 검색 영역에서 제1 경계선과 상이한 경계선에 대해 픽셀 단위의 증감을 수행할 수 있다.Additionally, in some embodiments, the first borderline is set to increase or decrease by a predetermined pixel value (for example, 5 pixels), and when the increase or decrease value reaches the predetermined pixel value, in the feature point search area including the first borderline Pixel-by-pixel increase or decrease may be performed on a borderline that is different from the first borderline.
이제까지 설명한 실시 예들에 따르면, 통제할 수 없는 조명 등 환경의 변화로 인해 이미지에서 상대적으로 변화가 큰 영역이나, 수동으로 부품을 조립한 경우와 부품의 조립을 진행하지 않은 경우에 의해 발생할 수 있는 이미지 상 변화가 존재하는 영역을 특징점 검색 영역에서 제외하여, 취득한 이미지들 사이에 이미지 정합을 위한 특징점의 검출률 및 정확도를 향상시킴으로써, 이미지 정합에 사용되는 특징점 검출 성능을 개선할 수 있다. 또한, 설계 데이터(예컨대 3D 캐드 데이터)를 기반으로, 취득 이미지의 특징점 검색 영역에서 제외 영역을 자동으로 결정할 수 있기 때문에, 특징점 검색 영역을 짧은 시간 내에 효과적이면서도 효율적으로 설정할 수 있다. 이에 따라, 조명 등 작업 환경의 통제가 어려운 산업 현장에서 이미지 정합의 성능을 개선할 수 있을 뿐 아니라, 이미지 취득 및 정합 과정을 자동화된 방식으로 개선함으로써 생산 공장에서 별도의 비전 전문 엔지니어 등 인력을 줄이면서도 효과적으로 비전 시스템을 운용할 수 있다.According to the embodiments described so far, areas with relatively large changes in the image due to changes in the environment such as uncontrollable lighting, or images that may occur when parts are assembled manually or when parts are not assembled. By excluding areas where phase changes exist from the feature point search area and improving the detection rate and accuracy of feature points for image registration between acquired images, feature point detection performance used in image registration can be improved. In addition, since the exclusion area can be automatically determined in the feature point search area of the acquired image based on design data (e.g., 3D CAD data), the feature point search area can be set effectively and efficiently in a short time. Accordingly, not only can the performance of image registration be improved in industrial sites where it is difficult to control the working environment, such as lighting, but also the image acquisition and registration process can be improved in an automated manner, reducing the need for separate vision engineers and other personnel at the production plant. However, the vision system can be operated effectively.
도 18은 실시 예들에 따른 이미지 처리 장치, 이미지 처리 시스템 및 이미지 처리 방법을 구현하기 위한 컴퓨팅 장치의 일 실시 예를 설명하기 위한 도면이다.FIG. 18 is a diagram for explaining an example of a computing device for implementing an image processing device, an image processing system, and an image processing method according to example embodiments.
도 18을 참조하면, 실시 예들에 따른 이미지 처리 장치, 이미지 처리 시스템 및 이미지 처리 방법은 컴퓨팅 장치(500)를 이용하여 구현될 수 있다.Referring to FIG. 18 , an image processing device, an image processing system, and an image processing method according to embodiments may be implemented using a computing device 500.
컴퓨팅 장치(500)는 버스(520)를 통해 통신하는 프로세서(510), 메모리(530), 사용자 인터페이스 입력 장치(540), 사용자 인터페이스 출력 장치(550) 및 저장 장치(560) 중 적어도 하나를 포함할 수 있다. 컴퓨팅 장치(500)는 또한 네트워크(40)에 전기적으로 접속되는 네트워크 인터페이스(570)를 포함할 수 있다. 네트워크 인터페이스(570)는 네트워크(40)를 통해 다른 개체와 신호를 송신 또는 수신할 수 있다.Computing device 500 includes at least one of a processor 510, a memory 530, a user interface input device 540, a user interface output device 550, and a storage device 560 that communicate over a bus 520. can do. Computing device 500 may also include a network interface 570 that is electrically connected to network 40 . The network interface 570 can transmit or receive signals to and from other entities through the network 40.
프로세서(510)는 MCU(Micro Controller Unit), AP(Application Processor), CPU(Central Processing Unit), GPU(Graphic Processing Unit), NPU(Neural Processing Unit) 등과 같은 다양한 종류들로 구현될 수 있으며, 메모리(530) 또는 저장 장치(560)에 저장된 명령을 실행하는 임의의 반도체 장치일 수 있다. 프로세서(510)는 도 1 내지 도 17과 관련하여 전술한 기능 및 방법들을 구현하도록 구성될 수 있다.The processor 510 may be implemented in various types such as a Micro Controller Unit (MCU), Application Processor (AP), Central Processing Unit (CPU), Graphic Processing Unit (GPU), Neural Processing Unit (NPU), and memory. 530 or may be any semiconductor device that executes instructions stored in the storage device 560. Processor 510 may be configured to implement the functions and methods described above with respect to FIGS. 1 to 17 .
메모리(530) 및 저장 장치(560)는 다양한 형태의 휘발성 또는 비 휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리는 ROM(read-only memory)(531) 및 RAM(random access memory)(532)를 포함할 수 있다. 본 발명의 실시 예에서 메모리(530)는 프로세서(510)의 내부 또는 외부에 위치할 수 있고, 메모리(530)는 이미 알려진 다양한 수단을 통해 프로세서(510)와 연결될 수 있다. Memory 530 and storage device 560 may include various types of volatile or non-volatile storage media. For example, the memory may include read-only memory (ROM) 531 and random access memory (RAM) 532. In an embodiment of the present invention, the memory 530 may be located inside or outside the processor 510, and the memory 530 may be connected to the processor 510 through various known means.
몇몇 실시 예에서, 실시 예들에 따른 이미지 처리 장치, 이미지 처리 시스템 및 이미지 처리 방법 중 적어도 일부 구성 또는 기능은 컴퓨팅 장치(500)에서 실행되는 프로그램 또는 소프트웨어로 구현될 수 있고, 프로그램 또는 소프트웨어는 컴퓨터로 판독 가능한 매체에 저장될 수 있다.In some embodiments, at least some components or functions of the image processing device, image processing system, and image processing method according to the embodiments may be implemented as a program or software running on the computing device 500, and the program or software may be implemented by a computer. It may be stored on a readable medium.
몇몇 실시 예에서, 실시 예들에 따른 이미지 처리 장치, 이미지 처리 시스템 및 이미지 처리 방법 중 적어도 일부 구성 또는 기능은 컴퓨팅 장치(500)와 전기적으로 접속될 수 있는 하드웨어로 구현될 수도 있다.In some embodiments, at least some components or functions of the image processing device, image processing system, and image processing method according to the embodiments may be implemented as hardware that can be electrically connected to the computing device 500.
이상에서 본 발명의 실시 예들에 대하여 상세하게 설명하였지만 본 발명의 권리 범위가 이에 한정되는 것은 아니고, 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속한다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and the scope of rights of the present invention is not limited thereto, and the scope of rights of the present invention is not limited thereto, but is a common practice in the technical field to which the present invention belongs using the basic concept of the present invention defined in the following claims. Various modifications and improvements made by those skilled in the art are also within the scope of the present invention.

Claims (20)

  1. 설계 데이터 기반 이미지에서 차체 영역과 부품 영역을 구분하고, 상기 부품 영역을 포함하는 일부 영역을 제외 영역으로 결정하는 제외 영역 결정 모듈;an exclusion area determination module that distinguishes a vehicle body area and a parts area in a design data-based image and determines a part of the area including the parts area as an exclusion area;
    상기 설계 데이터 기반 이미지에서 상기 제외 영역을 마스킹한 마스킹 영역을 포함하는 레퍼런스 이미지를 생성하는 레퍼런스 이미지 생성 모듈;a reference image generation module that generates a reference image including a masking area that masks the exclusion area in the design data-based image;
    상기 레퍼런스 이미지를 이용하여 취득 이미지에서 특징점 검색 영역을 정의하는 특징점 검색 영역 정의 모듈; 및a feature point search area definition module that defines a feature point search area in an acquired image using the reference image; and
    상기 특징점 검색 영역에서 복수의 특징점을 검출하는 특징점 검출 모듈을 포함하는A feature point detection module that detects a plurality of feature points in the feature point search area.
    이미지 처리 장치.Image processing device.
  2. 제1항에 있어서, According to paragraph 1,
    차량을 촬영하는 카메라로부터 제공받은 촬영 이미지에 대응하는 촬영 좌표와, 상기 설계 데이터에 대응하는 설계 데이터 좌표를 매칭하여 상기 설계 데이터 기반 이미지를 생성하는 설계 데이터 기반 이미지 생성 모듈을 더 포함하는 이미지 처리 장치.An image processing device further comprising a design data-based image generation module that generates the design data-based image by matching shooting coordinates corresponding to a captured image provided from a camera that photographs a vehicle and design data coordinates corresponding to the design data. .
  3. 제1항에 있어서, According to paragraph 1,
    상기 제외 영역 결정 모듈은, 상기 설계 데이터에 차체 또는 부품 고유번호 별로 부여된 값에 따라 상기 차체 영역과 상기 부품 영역을 구분하는 이미지 처리 장치.The exclusion area determination module is an image processing device that distinguishes the vehicle body area and the component area according to values assigned to the design data for each vehicle body or component identification number.
  4. 제1항에 있어서, According to paragraph 1,
    상기 제외 영역은 상기 설계 데이터 기반 이미지에서 상기 차체 영역 및 상기 부품 영역과 구분되는 배경 영역을 더 포함하는, 이미지 처리 장치.The image processing device wherein the exclusion area further includes a background area distinguished from the vehicle body area and the parts area in the design data-based image.
  5. 제1항에 있어서, According to paragraph 1,
    상기 제외 영역은 상기 설계 데이터 기반 이미지에서 환경에 따른 변화가 큰 영역으로 사용자에 의해 지정된 사용자 지정 영역을 더 포함하는, 이미지 처리 장치.The image processing device further includes a user-specified area in the design data-based image where there is a large change depending on the environment.
  6. 제1항에 있어서, According to paragraph 1,
    상기 복수의 특징점에 기반하여 상기 취득 이미지에 대한 이미지 정합을 수행하는 이미지 정합 모듈을 더 포함하는 이미지 처리 장치.An image processing device further comprising an image registration module that performs image registration on the acquired image based on the plurality of feature points.
  7. 제6항에 있어서, According to clause 6,
    상기 이미지 정합을 수행하면서, 이전에 취득된 취득 이미지와의 위치 편차로부터 변환 매트릭스(transformation matrix)를 생성하는 변환 매트릭스 생성 모듈; 및a transformation matrix generation module that generates a transformation matrix from a positional deviation from a previously acquired image while performing the image registration; and
    상기 변환 매트릭스의 성분 값이 미리 정의된 오차 범위에 해당하는지 여부를 분석하는 오차 분석 모듈을 더 포함하는, 이미지 처리 장치.An image processing device further comprising an error analysis module that analyzes whether component values of the transformation matrix correspond to a predefined error range.
  8. 제7항에 있어서, In clause 7,
    상기 복수의 특징점은 제1 특징점 및 상기 제1 특징점과 상이한 제2 특징점을 포함하고,The plurality of feature points include a first feature point and a second feature point different from the first feature point,
    상기 이미지 정합 모듈은, 상기 제1 특징점을 이용한 이미지 정합에 따라 생성된 변환 매트릭스의 성분 값이 상기 오차 범위를 벗어나는 경우, 상기 제2 특징점을 이용하여 상기 취득 이미지에 대한 이미지 정합을 수행하는 이미지 처리 장치.The image registration module performs image processing to perform image registration on the acquired image using the second feature point when component values of the transformation matrix generated according to image registration using the first feature point are outside the error range. Device.
  9. 제7항에 있어서, In clause 7,
    상기 특징점 검색 영역 정의 모듈은, 상기 변환 매트릭스의 성분 값이 미리 정의된 오차 범위를 벗어나는 경우, 상기 특징점 검색 영역의 경계선 중 적어도 일부를 픽셀 단위로 증감하여 상기 특징점 검색 영역을 변경하고,The feature point search area definition module changes the feature point search area by increasing or decreasing at least some of the boundary lines of the feature point search area in pixel units when component values of the transformation matrix are outside a predefined error range,
    상기 특징점 검출 모듈은 상기 변경된 특징점 검색 영역에서 새로운 특징점을 검출하고,The feature point detection module detects a new feature point in the changed feature point search area,
    상기 이미지 정합 모듈은 상기 새로운 특징점에 기반하여 상기 취득 이미지에 대한 이미지 정합을 수행하는, 이미지 처리 장치.The image registration module performs image registration on the acquired image based on the new feature point.
  10. 미리 제공되는 티칭(teaching)에 의해 정해지는 촬영 좌표에서 차량을 촬영하는 모바일 로봇;A mobile robot that photographs a vehicle at photographic coordinates determined by pre-provided teaching;
    상기 모바일 로봇으로부터 제1 촬영 이미지를 제공받고, 상기 제1 촬영 이미지에 매칭되는 설계 데이터 기반 이미지를 이용하여 특징점 검색을 위한 레퍼런스 이미지를 생성하는 제1 이미지 처리 장치; 및a first image processing device that receives a first captured image from the mobile robot and generates a reference image for feature point search using a design data-based image matching the first captured image; and
    상기 모바일 로봇으로부터 제2 촬영 이미지를 제공받고, 상기 레퍼런스 이미지에서 정의된 특징점 검색 영역에 기반하여 상기 제2 촬영 이미지에 대한 이미지 정합을 수행하는 제2 이미지 처리 장치를 포함하는A second image processing device that receives a second captured image from the mobile robot and performs image matching on the second captured image based on a feature point search area defined in the reference image.
    이미지 처리 시스템.Image processing system.
  11. 제10항에 있어서,According to clause 10,
    상기 제1 이미지 처리 장치는,The first image processing device,
    상기 설계 데이터 기반 이미지에서 차체 영역과 부품 영역을 구분하고, 상기 부품 영역을 포함하는 일부 영역을 제외 영역으로 결정하는 제외 영역 결정 모듈; 및an exclusion area determination module that distinguishes a vehicle body area and a parts area in the design data-based image and determines a partial area including the parts area as an exclusion area; and
    상기 설계 데이터 기반 이미지에서 상기 제외 영역을 마스킹한 마스킹 영역을 포함하는 상기 레퍼런스 이미지를 생성하는 레퍼런스 이미지 생성 모듈을 포함하는, 이미지 처리 시스템.An image processing system comprising a reference image generation module that generates the reference image including a masking area that masks the exclusion area in the design data-based image.
  12. 제11항에 있어서,According to clause 11,
    상기 제외 영역 결정 모듈은, 상기 설계 데이터에 차체 또는 부품 고유번호 별로 부여된 값에 따라 상기 차체 영역과 상기 부품 영역을 구분하는 이미지 처리 시스템.The exclusion area determination module is an image processing system that distinguishes the car body area and the part area according to values assigned to the design data for each car body or part unique number.
  13. 제11항에 있어서,According to clause 11,
    상기 제2 이미지 처리 장치는,The second image processing device,
    상기 레퍼런스 이미지를 이용하여 상기 제2 촬영 이미지에서 상기 특징점 검색 영역을 정의하는 특징점 검색 영역 정의 모듈; 및a feature point search area definition module that defines the feature point search region in the second captured image using the reference image; and
    상기 특징점 검색 영역에서 복수의 특징점을 검출하는 특징점 검출 모듈을 포함하는, 이미지 처리 시스템.An image processing system comprising a feature point detection module that detects a plurality of feature points in the feature point search area.
  14. 제13항에 있어서,According to clause 13,
    상기 제2 이미지 처리 장치는,The second image processing device,
    상기 복수의 특징점에 기반하여 상기 제2 촬영 이미지에 대한 이미지 정합을 수행하는 이미지 정합 모듈;an image matching module that performs image matching on the second captured image based on the plurality of feature points;
    상기 이미지 정합을 수행하면서, 이전에 취득된 제2 촬영 이미지와의 위치 편차로부터 변환 매트릭스를 생성하는 변환 매트릭스 생성 모듈; 및a transformation matrix generation module that generates a transformation matrix from a position difference with a previously acquired second captured image while performing the image registration; and
    상기 변환 매트릭스의 성분 값이 미리 정의된 오차 범위에 해당하는지 여부를 분석하는 오차 분석 모듈을 더 포함하는, 이미지 처리 시스템.An image processing system further comprising an error analysis module that analyzes whether component values of the transformation matrix correspond to a predefined error range.
  15. 제14항에 있어서,According to clause 14,
    상기 복수의 특징점은 제1 특징점 및 상기 제1 특징점과 상이한 제2 특징점을 포함하고,The plurality of feature points include a first feature point and a second feature point different from the first feature point,
    상기 이미지 정합 모듈은, 상기 제1 특징점을 이용한 이미지 정합에 따라 생성된 변환 매트릭스의 성분 값이 상기 오차 범위를 벗어나는 경우, 상기 제2 특징점을 이용하여 상기 제2 촬영 이미지에 대한 이미지 정합을 수행하는 이미지 처리 시스템.The image registration module performs image registration on the second captured image using the second feature point when component values of the transformation matrix generated according to image registration using the first feature point are outside the error range. Image processing system.
  16. 제14항에 있어서,According to clause 14,
    상기 특징점 검색 영역 정의 모듈은, 상기 변환 매트릭스의 성분 값이 미리 정의된 오차 범위를 벗어나는 경우, 상기 특징점 검색 영역의 경계선 중 적어도 일부를 픽셀 단위로 증감하여 상기 특징점 검색 영역을 변경하고,The feature point search area definition module changes the feature point search area by increasing or decreasing at least some of the boundary lines of the feature point search area in pixel units when component values of the transformation matrix are outside a predefined error range,
    상기 특징점 검출 모듈은 상기 변경된 특징점 검색 영역에서 새로운 특징점을 검출하고,The feature point detection module detects a new feature point in the changed feature point search area,
    상기 이미지 정합 모듈은 상기 새로운 특징점에 기반하여 상기 제2 촬영 이미지에 대한 이미지 정합을 수행하는, 이미지 처리 시스템.The image registration module performs image registration on the second captured image based on the new feature point.
  17. 설계 데이터 기반 이미지에서 차체 영역과 부품 영역을 구분하는 단계;Distinguishing between the car body area and the part area in the design data-based image;
    상기 부품 영역을 포함하는 일부 영역을 제외 영역으로 결정하는 단계;determining a partial area including the part area as an exclusion area;
    상기 설계 데이터 기반 이미지에서 상기 제외 영역을 마스킹한 마스킹 영역을 포함하는 레퍼런스 이미지를 생성하는 단계;generating a reference image including a masking area by masking the exclusion area in the design data-based image;
    상기 레퍼런스 이미지를 이용하여 취득 이미지에서 특징점 검색 영역을 정의하는 단계; 및defining a feature point search area in an acquired image using the reference image; and
    상기 특징점 검색 영역에서 복수의 특징점을 검출하는 단계를 포함하는Comprising the step of detecting a plurality of feature points in the feature point search area.
    이미지 처리 방법.Image processing method.
  18. 제17항에 있어서,According to clause 17,
    상기 복수의 특징점에 기반하여 상기 취득 이미지에 대한 이미지 정합을 수행하는 단계;performing image registration on the acquired image based on the plurality of feature points;
    상기 이미지 정합을 수행하면서, 이전에 취득된 취득 이미지와의 위치 편차로부터 변환 매트릭스를 생성하는 단계; 및generating a transformation matrix from a positional deviation from a previously acquired image while performing the image registration; and
    상기 변환 매트릭스의 성분 값이 미리 정의된 오차 범위에 해당하는지 여부를 분석하는 단계를 더 포함하는 이미지 처리 방법.An image processing method further comprising analyzing whether component values of the transformation matrix correspond to a predefined error range.
  19. 제18항에 있어서,According to clause 18,
    상기 복수의 특징점은 제1 특징점 및 상기 제1 특징점과 상이한 제2 특징점을 포함하고,The plurality of feature points include a first feature point and a second feature point different from the first feature point,
    상기 제1 특징점을 이용한 이미지 정합에 따라 생성된 변환 매트릭스의 성분 값이 상기 오차 범위를 벗어나는 경우, 상기 제2 특징점을 이용하여 상기 취득 이미지에 대한 이미지 정합을 수행하는 단계를 더 포함하는 이미지 처리 방법.An image processing method further comprising performing image registration on the acquired image using the second feature point when component values of the transformation matrix generated according to image registration using the first feature point are outside the error range. .
  20. 제18항에 있어서,According to clause 18,
    상기 변환 매트릭스의 성분 값이 미리 정의된 오차 범위를 벗어나는 경우, 상기 특징점 검색 영역의 경계선 중 적어도 일부를 픽셀 단위로 증감하여 상기 특징점 검색 영역을 변경하는 단계;When component values of the transformation matrix are outside a predefined error range, changing the feature point search area by increasing or decreasing at least a portion of the boundary line of the feature point search area in pixel units;
    상기 변경된 특징점 검색 영역에서 새로운 특징점을 검출하는 단계; 및detecting a new feature point in the changed feature point search area; and
    상기 새로운 특징점에 기반하여 상기 취득 이미지에 대한 이미지 정합을 수행하는 단계를 더 포함하는 이미지 처리 방법.An image processing method further comprising performing image registration on the acquired image based on the new feature point.
PCT/KR2022/020943 2022-10-04 2022-12-21 Image processing device, image processing system, and image processing method WO2024075906A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220126505A KR20240047180A (en) 2022-10-04 2022-10-04 Image processing device, image processing system, and image processing method
KR10-2022-0126505 2022-10-04

Publications (1)

Publication Number Publication Date
WO2024075906A1 true WO2024075906A1 (en) 2024-04-11

Family

ID=90608524

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/020943 WO2024075906A1 (en) 2022-10-04 2022-12-21 Image processing device, image processing system, and image processing method

Country Status (2)

Country Link
KR (1) KR20240047180A (en)
WO (1) WO2024075906A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101630596B1 (en) * 2016-02-12 2016-06-14 이정희 Photographing apparatus for bottom of car and operating method thereof
KR20190019403A (en) * 2017-08-17 2019-02-27 현대자동차주식회사 System and method for vehicle radar inspection
KR20200127751A (en) * 2019-05-03 2020-11-11 현대자동차주식회사 System and method for teaching sealing robots
KR20210018397A (en) * 2021-02-05 2021-02-17 한국과학기술연구원 System and method for automatic 3-dimensional scanning
KR20210120229A (en) * 2020-03-26 2021-10-07 현대자동차주식회사 Image-based jig inspection system and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101630596B1 (en) * 2016-02-12 2016-06-14 이정희 Photographing apparatus for bottom of car and operating method thereof
KR20190019403A (en) * 2017-08-17 2019-02-27 현대자동차주식회사 System and method for vehicle radar inspection
KR20200127751A (en) * 2019-05-03 2020-11-11 현대자동차주식회사 System and method for teaching sealing robots
KR20210120229A (en) * 2020-03-26 2021-10-07 현대자동차주식회사 Image-based jig inspection system and method
KR20210018397A (en) * 2021-02-05 2021-02-17 한국과학기술연구원 System and method for automatic 3-dimensional scanning

Also Published As

Publication number Publication date
KR20240047180A (en) 2024-04-12

Similar Documents

Publication Publication Date Title
WO2020085881A1 (en) Method and apparatus for image segmentation using an event sensor
WO2016171341A1 (en) Cloud-based pathology analysis system and method
WO2012005387A1 (en) Method and system for monitoring a moving object in a wide area using multiple cameras and an object-tracking algorithm
WO2021112462A1 (en) Method for estimating three-dimensional coordinate values for each pixel of two-dimensional image, and method for estimating autonomous driving information using same
WO2011052826A1 (en) Map generating and updating method for mobile robot position recognition
WO2020027607A1 (en) Object detection device and control method
WO2019054593A1 (en) Map production apparatus using machine learning and image processing
WO2021101045A1 (en) Electronic apparatus and method for controlling thereof
WO2020235734A1 (en) Method for estimating distance to and location of autonomous vehicle by using mono camera
WO2015182904A1 (en) Area of interest studying apparatus and method for detecting object of interest
WO2019127049A1 (en) Image matching method, device, and storage medium
WO2020189909A2 (en) System and method for implementing 3d-vr multi-sensor system-based road facility management solution
WO2020204219A1 (en) Method for classifying outliers in object recognition learning using artificial intelligence, classification device, and robot
WO2022092743A1 (en) Method for extracting characters from vehicle license plate, and license plate character extraction device for performing method
WO2024075906A1 (en) Image processing device, image processing system, and image processing method
WO2021045481A1 (en) Object recognition system and method
WO2018038300A1 (en) Image providing device, method and computer program
WO2020230921A1 (en) Method for extracting features from image using laser pattern, and identification device and robot using same
WO2023149603A1 (en) Thermal-image-monitoring system using plurality of cameras
WO2016104842A1 (en) Object recognition system and method of taking account of camera distortion
WO2022080680A1 (en) Artificial-intelligence-based image inpainting method and device
WO2023096011A1 (en) Device and method for zero-shot semantic segmentation
WO2017007047A1 (en) Spatial depth non-uniformity compensation method and device using jittered comparison
WO2019151555A1 (en) Object detection method and robot system
WO2021206209A1 (en) Markerless-based ar implementation method and system for smart factory construction

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22961548

Country of ref document: EP

Kind code of ref document: A1