Method and Apparatus for Detecting a Welding Location
Patent Information
- Application Number
- KR1020250048143
- Authority / Receiving Office
- KR · KR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-04-14
- Publication Date
- 2026-10-21
Smart Images

Figure PAT00003_ABST
Abstract
Description
Technology Field
[0001] The present disclosure relates to a method and apparatus for detecting a welding position. Background Technology
[0002] PCD (point cloud data) refers to data that represents the shape or structure of an object in three-dimensional space as a set of points. In order to detect weld lines and / or weld points included in a member to be welded, a PCD representing the shape or structure of the member to be welded may be used.
[0003] Meanwhile, conventionally, the PCD was converted into a depth image, and the converted depth image was used to detect weld lines and / or weld points. However, when detecting weld lines and / or weld points using a depth image generated by converting the PCD, there is a problem in that weld lines and / or weld points may be incorrectly detected due to errors that may occur during the conversion process.
[0004] The aforementioned background technology is technical information that the inventor possessed for the derivation of the present invention or acquired during the process of deriving the present invention, and it cannot be considered as prior art disclosed to the general public prior to the filing of the present invention. The problem to be solved
[0005] The technical problem that the present disclosure aims to solve is to provide a method and apparatus for detecting a welding position.
[0006] The problems that the present disclosure aims to solve are not limited to those mentioned above, and other problems and advantages of the present disclosure not mentioned can be understood from the following description and will be more clearly understood from the embodiments of the present disclosure. Furthermore, it will be understood that the problems and advantages that the present disclosure aims to solve can be realized by the means and combinations thereof set forth in the claims. means of solving the problem
[0007] As a technical means for achieving the above-described technical problem, the first aspect of the present disclosure may provide a method for detecting a weld location, comprising: acquiring point cloud data (PCD) for a target member; dividing the PCD to generate a plurality of patches; and detecting at least one weld location included in the target member based on the plurality of patches using a weld location detection model.
[0008] A second aspect of the present disclosure may provide an apparatus for detecting a weld position, comprising: a memory in which at least one program is stored; and a processor that performs an operation by executing the at least one program, wherein the processor acquires point cloud data (PCD) for a target member, divides the PCD to generate a plurality of patches, and detects at least one weld position included in the target member based on the plurality of patches using a weld position detection model.
[0009] A third aspect of the present disclosure may provide a computer-readable recording medium having a program for executing the method of the first aspect of the present disclosure on a computer.
[0010] Other aspects, features, and advantages other than those described above will become clear from the following drawings, claims, and detailed description of the invention. Effects of the invention
[0011] According to the means for solving the problem of the present disclosure described above, the welding position can be detected more efficiently through a method and apparatus for detecting the welding position. Brief explanation of the drawing
[0012] FIG. 1 shows a target member and a welding location of the target member according to one embodiment. FIG. 2 is a block diagram of a device according to one embodiment. FIG. 3 is a flowchart illustrating a method for a device according to one embodiment to detect a welding position. FIG. 4 is a diagram illustrating a welding position detection model that can be used by a device according to one embodiment. FIG. 5 is a diagram showing a patch that can be generated by a device according to one embodiment. FIG. 6a is a drawing showing a plurality of patches that can be generated by a device according to one embodiment, along with welding points. FIG. 6b is a drawing showing a plurality of patches that can be generated by a device according to one embodiment, along with welding points and welding lines. Specific details for implementing the invention
[0013] The present disclosure is capable of various modifications and may have various embodiments; specific embodiments are illustrated in the drawings and described in detail in the detailed description. The effects and features of the present disclosure and the methods for achieving them will become clear by referring to the embodiments described below in detail together with the drawings. However, the present disclosure is not limited to the embodiments disclosed below and may be implemented in various forms.
[0014] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the attached drawings. When describing with reference to the drawings, identical or corresponding components are given the same reference numerals, and redundant descriptions thereof will be omitted.
[0015] In the following embodiments, terms such as first, second, etc. are used not in a limiting sense, but for the purpose of distinguishing one component from another component.
[0016] Phrases such as "in one embodiment," "according to one embodiment," "related to one embodiment," or "according to an implementation of one embodiment" in this specification do not necessarily refer to the same embodiment. Furthermore, throughout this specification, "examples" are arbitrary distinctions to facilitate the description of the present disclosure, and each embodiment does not need to be mutually exclusive. For example, configurations mentioned for the description of one embodiment may be applied and / or implemented in other embodiments, and may be modified and applied and / or implemented to the extent that they do not depart from the scope of the present disclosure.
[0017] In the following examples, singular expressions include plural expressions unless the context clearly indicates otherwise.
[0018] In the following embodiments, terms such as "include" or "have" mean that the features or components described in the specification are present, and do not preclude the possibility that at least one other feature or component may be added.
[0019] Some embodiments of the present disclosure may be represented by functional block configurations and various processing steps. Some or all of these functional blocks may be implemented by various numbers of hardware and / or software configurations that perform specific functions. For example, the functional blocks of the present disclosure may be implemented by at least one microprocessor or by circuit configurations for a specific function.
[0020] For example, the functional blocks of the present disclosure may be implemented in various programming or scripting languages. The functional blocks may be implemented as algorithms executed on at least one processor. Additionally, the present disclosure may employ prior art for electronic configuration, signal processing, and / or data processing, etc. Terms such as "mechanism," "element," "means," and "configuration" may be used broadly and are not limited to mechanical and physical configurations. Furthermore, terms such as "-part," "-module," etc. refer to a unit that processes at least one function or operation, which may be implemented in hardware or software, or as a combination of hardware and software.
[0021] In addition, some components in the drawings may be depicted with their size or proportions slightly exaggerated. Also, components depicted in one drawing may not be depicted in another drawing.
[0022] The present disclosure will be described in detail below with reference to the attached drawings.
[0023] FIG. 1 shows a target member and a welding location of the target member according to one embodiment.
[0024] Referring to FIG. 1, a target member and a welding location of the member according to one embodiment are briefly illustrated. In this case, the target member may refer to a member to be welded.
[0025] More specifically, referring to FIG. 1, a stiffener and a base requiring fillet welding are illustrated. Fillet welding may be a welding method applied to a joint where two members meet perpendicularly or at a certain angle. For example, fillet welding may be applied to the joint where the stiffener and the base shown in FIG. 1 meet.
[0026] A welding location may include welding points and welding lines. A welding line may refer to a continuous path along which welding proceeds. A welding point may refer to an individual point where welding is performed. For example, a welding point may include the starting point and the ending point of the welding line.
[0027] The device for detecting a welding position according to the present disclosure (hereinafter, the device) can detect a welding position using point cloud data (PCD) generated based on a target member. Conventional devices for detecting a welding position detected the welding position by converting the PCD into a depth image; however, this is problematic because the welding position may be incorrectly detected due to errors that may occur during the process of converting the PCD into a depth image.
[0028] The device according to the present disclosure can detect the welding position more accurately without the influence of conversion errors by detecting the welding position based on the PCD that has not been converted into a depth image. Meanwhile, a detailed description of the method for the device according to the present disclosure to detect the welding position based on the PCD will be provided later with reference to FIGS. 2 to 6b.
[0029] FIG. 2 is a block diagram of a device according to one embodiment.
[0030] Referring to FIG. 2, the device (200) may include a processor (210) and a memory (220). The memory (220) is hardware that stores various data processed within the device (200) and may store a program for processing and controlling the processor (210).
[0031] The memory (220) may include RAM (random access memory), such as DRAM (dynamic random access memory) and SRAM (static random access memory), ROM (read-only memory), EEPROM (electrically erasable programmable read-only memory), CD-ROM, Blu-ray or other optical disc storage, HDD (hard disk drive), SSD (solid state drive), or flash memory.
[0032] The processor (210) controls the overall operation of the device (200). For example, the processor (210) can control the memory (220) and the like by executing programs stored in the memory (220).
[0033] The processor (210) can control the operation of the device (200) by executing programs stored in memory (220). The processor (210) can control at least some of the operation of the device (200).
[0034] As an example, the processor (210) can obtain a PCD for a target member, divide the PCD to generate a plurality of patches, and use a welding position detection model to detect at least one welding position included in the target member based on the plurality of patches.
[0035] PCD may refer to data that represents the shape or structure of an object in three-dimensional space as a set of points. A processor (210) according to one embodiment can detect at least one welding location based on data that represents the shape or structure of a target member as a set of points.
[0036] The patch according to the present disclosure may be data generated by dividing a PCD. When detecting welding locations based on an undivided PCD, the large capacity of the PCD may become a problem. For example, if an undivided PCD is used as input data, the computational resources required during the process of performing detection using a machine learning model may increase, which may reduce the processing speed.
[0037] The processor (210) according to the present disclosure can minimize the computational resources required during the learning process and the detection process by training a machine learning model based on a patch generated by dividing the PCD and performing detection. Meanwhile, a detailed description of the patch according to one embodiment will be provided later with reference to FIGS. 3 to 6b.
[0038] As described above with reference to FIG. 1, the welding location may include a welding point and a welding line. The welding line may refer to a continuous path along which welding proceeds. The welding point may refer to an individual point where welding is performed.
[0039] For example, weld points may include the start point of a weld line, the end point of a weld line, and spot weld points. A spot weld point may refer to a weld point on an independent point basis, rather than a part of a continuous weld line.
[0040] In one embodiment, the welding position detection model may be a machine learning model trained based on training data including a plurality of training patches.
[0041] For example, the device (200) can detect at least one weld location included in a target member based on a plurality of patches by using a weld location detection model, which is a machine learning model that has been learned.
[0042] At this time, the machine learning model may include a machine learning model based on at least one of various artificial neural network architectures, such as a CNN (Convolutional Neural Network), a FCN (Fully Convolutional Network), or a Transformer.
[0043] In one embodiment, the training data may include a plurality of patches generated by dividing the training PCD at regular intervals and a plurality of patches generated using a data augmentation technique.
[0044] Data augmentation techniques may refer to techniques that generate new data by transforming existing data. For example, through data augmentation techniques, new data may be generated by applying at least one of various transformation techniques, such as rotation, translation, scaling, and brightness adjustment, to existing data.
[0045] In one embodiment, a learning patch may be generated based on a learning PCD including a label generated based on whether at least one welding location exists.
[0046] Meanwhile, labeling can refer to the process of assigning labels to data for the training of a machine learning model. For example, a training PCD can be generated through a labeling process in which labels are assigned to each point that constitutes the training PCD.
[0047] For example, if a specific point constituting the training PCD corresponds to a weld line and / or weld point, that point may be assigned the label '1'. In another example, if a specific point constituting the training PCD does not correspond to a weld line and / or weld point, that point may be assigned the label '0'.
[0048] For example, a training patch can be generated by dividing a training PCD that includes a label generated based on whether at least one welding location exists. Through this, each training patch can be distinguished as a patch containing at least one welding location or a patch not containing at least one welding location by including or not including a point assigned the label '1'.
[0049] Meanwhile, a detailed description of the welding position detection model, training data, and training patch according to the present disclosure will be provided later with reference to FIGS. 3 and 4.
[0050] In one embodiment, the PCD may include information related to each point constituting the PCD. In this case, each point may refer to each data constituting the PCD that represents the shape or structure of the target member.
[0051] In one embodiment, information related to a point may include at least one of the position coordinates, normal vector, and color vector of each point. For example, a PCD may include at least one of the position coordinates, normal vector, and color vector for each point constituting the PCD.
[0052] In this case, position coordinates are values representing the location of each point in space, and may refer to coordinate values measured along the X-axis, Y-axis, and Z-axis. The normal vector may be a vector value representing the slope or normal direction of the surface at the corresponding point. The color vector may refer to the R (red), G (green), and B (blue) channel values representing the color information of each point.
[0053] In one embodiment, the processor (210) can process a plurality of generated patches. The processor (210) according to one embodiment can process each patch based on whether each patch includes at least one point.
[0054] For example, the processor (210) can delete a patch if the generated patch does not contain at least one point.
[0055] In another example, if the generated patch contains at least one point, the processor (210) can set at least one of the location coordinates of a specific area where no point exists within the patch, a normal vector, and a color vector to '0'.
[0056] For example, the processor (210) may set at least one of the location coordinates, normal vector, and color vector of the empty space to '0' if the specific patch contains at least one point and there is an empty space in a specific area within the patch where no point exists.
[0057] In one embodiment, the processor (210) may divide the PCD at regular intervals to generate a plurality of patches. At this time, the regular interval may be the same as the interval used to generate a plurality of training patches used for training a welding position detection model.
[0058] In one embodiment, the processor (210) divides the PCD into equal intervals to generate a plurality of patches, and can obtain a representative point for each patch based on a plurality of points included in each patch.
[0059] For example, if a specific patch contains multiple points, the processor (210) can obtain a representative point by using the average value of the location coordinates of the multiple points. As an example, the processor (210) can obtain the average value of the X coordinate, the average value of the Y coordinate, and the average value of the Z coordinate of all points included in the specific patch, and obtain a representative point with the corresponding average values as the X coordinate, Y coordinate, and Z coordinate, respectively.
[0060] In another example, when a specific patch contains multiple points, the processor (210) can obtain a representative point by using the median of the location coordinates of the multiple points. As an example, the processor (210) can obtain the median of the X coordinates, the median of the Y coordinates, and the median of the Z coordinates of all points included in the specific patch, and obtain a representative point with the median values as the X coordinate, Y coordinate, and Z coordinate, respectively.
[0061] In one embodiment, the processor (210) can detect at least one weld point and at least one weld line.
[0062] In one embodiment, the processor (210) can detect a weld line based on at least one detected weld point. For example, the processor (210) can detect a line connecting two detected weld points as a weld line.
[0063] In one embodiment, the processor (210) may acquire an image of a target member and convert the acquired image into a PCD. For example, the processor (210) may receive an image of a target member acquired using a 3D scanner, a camera, etc., and convert the received image into a PCD.
[0064] In one embodiment, the processor (210) can transmit at least one detected welding position to a welding robot. The welding robot may include various robots capable of performing welding, such as a collaborative robot, an industrial robot, and a gantry robot.
[0065] In one embodiment, the weld points may include a point where the weld line starts, a point where the weld line ends, and a spot weld point. In this case, the spot weld point may refer to a weld point on an independent point basis, rather than a part of a continuous weld line.
[0066] A detailed description of the various operations of the device (200) that can be performed by the processor (210) will be provided later with reference to FIGS. 3 to 6b.
[0067] The processor (210) may be implemented using at least one of ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays), controllers, microcontrollers, microprocessors (210), and other electrical units for performing functions.
[0068] FIG. 3 is a flowchart illustrating a method for a device according to one embodiment to detect a welding position.
[0069] In step 310, the processor (210) can obtain a PCD for the target member. As described above with reference to FIG. 2, a PCD may refer to data representing the shape or structure of an object in three-dimensional space as a set of points. Additionally, as described above with reference to FIG. 1, the target member may refer to a member to be welded.
[0070] A processor (210) according to one embodiment can acquire an image of a target member. For example, the processor (210) can receive an image of a target member acquired using a 3D scanner, a camera, etc. Meanwhile, the device that can be used to acquire an image of a target member is not limited to what is described above.
[0071] A processor (210) according to one embodiment can convert an acquired image into a PCD. For example, the processor (210) can convert an RGB image of a target member into a PCD. Through this, the processor (210) can acquire a PCD, which is a set of points representing the shape or structure of the target member.
[0072] A PCD according to one embodiment may include information related to each point constituting the PCD. In one embodiment, the information related to the point may include at least one of the position coordinates, normal vector, and color vector of each point. Meanwhile, a detailed description regarding the position coordinates, normal vector, and color vector has been previously described with reference to FIG. 2, so it will be omitted.
[0073] In step 320, the processor (210) can divide the PCD to generate multiple patches.
[0074] In one embodiment, the processor (210) can divide the PCD at regular intervals to generate a plurality of patches.
[0075] For example, the processor (210) can generate multiple patches by dividing a three-dimensional space containing multiple points constituting a PCD into specific distance intervals.
[0076] For example, the processor (210) can divide the PCD by applying a distance interval set so that the 3D space where multiple points are located is divided into n equal parts (wherein n is a natural number greater than or equal to 2), thereby generating multiple patches. At this time, after generating multiple patches, the processor (210) can round down, up, or up the location coordinates of each point included in each patch to a natural number.
[0077] At this time, the fixed interval may be the same as the interval used to generate multiple training patches used for training a welding position detection model. For example, if the welding position detection model divides the training PCD into m equal parts (where m is a natural number greater than or equal to 2) during the training process to form training patches, the processor (210) can generate multiple patches by dividing the PCD into m equal parts in the same way.
[0078] This may be intended to maintain the performance of the welding location detection model and improve detection accuracy by configuring the input data using the same criteria as the patch segmentation method used in the learning phase.
[0079] A processor (210) according to one embodiment can divide a PCD at regular intervals to generate a plurality of patches, and obtain a representative point for each patch based on a plurality of points included in each patch.
[0080] Meanwhile, a detailed description regarding the content of the processor (210) according to one embodiment acquiring a representative point has been previously described with reference to FIG. 2, so it will be omitted.
[0081] In another embodiment, the processor (210) can process a plurality of generated patches. According to one embodiment, the processor (210) can process each patch based on whether each patch includes at least one point.
[0082] For example, the processor (210) can delete a patch if the generated patch does not contain at least one point.
[0083] In another example, if the generated patch contains at least one point, the processor (210) can set at least one of the location coordinates of a specific area where no point exists within the patch, a normal vector, and a color vector to '0'.
[0084] As described above with reference to FIG. 2, the processor (210) can exclude the area during calculation by setting at least one of the location coordinates, normal vector, and color vector of the area in a specific patch to '0', if the area in a specific patch contains at least one point and there is an empty space in a specific area in the patch where no point exists.
[0085] Through this, the processor (210) can detect the welding location more efficiently based on the optimized PCD.
[0086] In step 330, the processor (210) can detect at least one weld location included in the target member based on a plurality of patches using a weld location detection model.
[0087] In one embodiment, the welding position detection model may be a machine learning model trained based on training data including a plurality of training patches. In this case, the training data may refer to data used in the training process of the welding position detection model.
[0088] A learning patch according to one embodiment may include a plurality of patches generated by dividing a learning PCD at regular intervals. In this case, the learning PCD may refer to a PCD generated for the training of a welding position detection model as data distinct from the PCD for a target member. As an example, the learning patch may be generated by evenly dividing a three-dimensional space containing a plurality of points constituting the learning PCD at specific distance intervals.
[0089] In one embodiment, a learning patch may be generated based on a learning PCD including a label generated based on whether at least one welding location exists.
[0090] For example, a learning patch can be created by dividing a learning PCD, which has weld lines and / or weld points labeled, into equal intervals. Meanwhile, a detailed description of the labeling process of the learning PCD according to the present disclosure has been previously described with reference to FIG. 2, so it will be omitted.
[0091] The learning patch according to the present disclosure is generated based on a learning PCD that has been labeled prior to splitting, thereby eliminating the need for separate labeling work for individual learning patches.
[0092] In one embodiment, the training data may include a plurality of patches generated by dividing the training PCD at regular intervals and a plurality of patches generated using a data augmentation technique.
[0093] At this time, the multiple patches generated using the data augmentation technique may include multiple patches generated by applying at least one of various transformation techniques, such as rotation, translation, scaling, and brightness adjustment, to multiple patches generated by dividing the data training PCD at regular intervals.
[0094] Through this, the processor (210) can stably detect the welding position even when the shooting angle of the device that acquired the target member is not fixed by using a welding position detection model learned using a data augmentation technique.
[0095] As described above with reference to FIG. 2, the machine learning model may include a machine learning model based on at least one of various artificial neural network architectures, such as a Convolutional Neural Network (CNN), a Fully Convolutional Network (FCN), or a Transformer. In this case, the CNN may include a 2D CNN and a 3D CNN. Meanwhile, the types of artificial neural network architectures that can be used to train a welding position detection model are not limited to those described above.
[0096] In one embodiment, the processor (210) may detect at least one weld point and at least one weld line. As described above with reference to FIG. 1, a weld point may refer to an individual point where welding is performed. For example, a weld point may include a point where the weld line starts, a point where the weld line ends, and a spot weld point.
[0097] Additionally, as described above with reference to FIG. 1, a weld line may refer to a continuous path along which welding proceeds. A processor (210) according to one embodiment may detect at least one weld location included in a target member using a weld location detection model.
[0098] In another embodiment, the processor (210) can detect a weld line based on at least one detected weld point. For example, the processor (210) can detect a plurality of weld points using a weld position detection model and detect a line connecting the detected weld points as a weld line.
[0099] In one embodiment, the processor (210) can transmit at least one detected welding position to a welding robot. As described above with reference to FIG. 2, the welding robot may include various robots capable of performing welding.
[0100] For example, the processor (210) may transmit at least one welding position detected through the process described above to a welding robot by referring to steps 310 to 330. At this time, the welding robot that receives at least one welding position may perform welding based on the received welding position.
[0101] FIG. 4 is a diagram illustrating a welding position detection model that can be used by a device according to one embodiment.
[0102] A processor (210) according to one embodiment can detect at least one weld location (430) included in a target member based on a plurality of patches (410) using a weld location detection model (420). For example, the processor (210) can input a plurality of patches (410) into the weld location detection model (420) and obtain a weld location (430) as the output of the weld location detection model (420).
[0103] At this time, each patch (401) can be generated by dividing the PCD for the target member. Meanwhile, a detailed description of the method in which a processor (210) according to one embodiment generates a plurality of patches (410) by dividing the PCD at regular intervals has been previously described with reference to FIG. 3, so it will be omitted.
[0104] As described above with reference to FIGS. 2 and 3, a PCD according to one embodiment may include information related to each point constituting the PCD.
[0105] At this time, each patch (401) generated by dividing the PCD may include information related to each point included within the area of the patch (401). Meanwhile, a detailed description of the information related to the point according to one embodiment has been previously described with reference to FIGS. 2 and 3, so it will be omitted.
[0106] As described above with reference to FIGS. 2 and 3, the welding position detection model (420) according to the present disclosure may be a pre-trained machine learning model. The welding position detection model (420) according to one embodiment may be trained based on training data including a plurality of training patches.
[0107] In this case, the training patch can be distinguished from multiple patches generated by dividing the PCD for the target member. For example, the training patch may include multiple patches generated by dividing the training PCD, which is distinct from the PCD for the target member, at regular intervals, and multiple patches generated using a data augmentation technique.
[0108] A training PCD according to one embodiment may include information related to each point constituting the training PCD. Additionally, each patch generated by dividing the training PCD may include information related to each point located within the area of the corresponding patch.
[0109] For example, each patch generated by dividing a training PCD may include at least one of the position coordinates, normal vector, and color vector of each point located within the area of the patch.
[0110] A welding position detection model (420) according to one embodiment is trained using various artificial neural network architectures such as a Convolutional Neural Network (CNN), a Fully Convolutional Network (FCN), or a Transformer, and training data, thereby learning the relative positional relationships and normal vector changes between multiple points constituting a training PCD.
[0111] A welding position detection model (420) according to one embodiment is trained based on a plurality of patches generated by dividing a PCD, so that it can be trained using fewer computational resources than when trained based on an undivided PCD.
[0112] FIG. 5 is a diagram showing a patch that can be generated by a device according to one embodiment.
[0113] Referring to FIG. 5, the PCD and patch (500) of a target member according to one embodiment are shown together with the welding location. At this time, the patch (500) shown in FIG. 5 may correspond to the patch (401) of FIG. 4.
[0114] A patch (500) according to one embodiment may be created by dividing the PCD of a target member. Additionally, the patch (500) may include a plurality of points located within the area. In this case, each patch (500) may include information related to each point constituting each patch (500).
[0115] In one embodiment, the processor (210) can process each patch (500). The processor (210) according to one embodiment can process each patch (500) based on whether each patch (500) includes at least one point.
[0116] For example, if the processor (210) has at least one point in a specific patch (500) and there is an empty space where no point exists at a specific location within the patch (500), it can set at least one of the location coordinates of the empty space, the normal vector, and the color vector to '0'.
[0117] In another example, the processor (210) can delete a specific patch (500) if the patch (500) does not contain at least one point.
[0118] Through this, the welding position detection model according to the present disclosure can be trained based on optimized training data.
[0119] FIG. 6a is a drawing showing a plurality of patches that can be generated by a device according to one embodiment, along with welding points.
[0120] Referring to FIG. 6a, a plurality of patches and welding points (600a) according to one embodiment are shown. In this case, each patch may include a plurality of points (not shown) constituting a PCD. Additionally, each patch shown in FIG. 6a may correspond to the patch (401) of FIG. 4 and the patch (500) of FIG. 5.
[0121] For example, the processor (210) can detect a weld point (600a) through the process described above with reference to FIGS. 2 to 5. At this time, since the PCD may include the position coordinates of each point, the processor (210) can obtain the position coordinates of the detected weld point.
[0122] In one embodiment, the processor (210) can transmit the detected weld point to a welding robot. For example, the processor (210) can transmit the location coordinates of the detected weld point to the welding robot. At this time, the welding robot that receives the location coordinates of the weld point can perform welding based on the location coordinates.
[0123] Meanwhile, FIG. 6a shows that the vertex of the patch coincides with the weld point (600a), but the weld point (600a) is not necessarily located at the corner and / or vertex of the patch.
[0124] FIG. 6b is a drawing showing a plurality of patches that can be generated by a device according to one embodiment, along with welding points and welding lines.
[0125] Referring to FIG. 6b, a plurality of patches, weld points (600b), and weld lines (610b) according to one embodiment are illustrated. In this case, each patch may include a plurality of points (not shown) constituting a PCD. Additionally, each patch illustrated in FIG. 6b may correspond to the patch (401) of FIG. 4 and the patch (500) of FIG. 5.
[0126] Meanwhile, the plurality of patches shown in FIG. 6b may represent only some of all patches generated by dividing the PCD for the target member.
[0127] In one embodiment, the processor (210) can detect a weld line (610b) based on a plurality of patches using a weld position detection model. In another embodiment, the processor (210) can detect at least one weld point based on a plurality of patches using a weld position detection model and obtain a line connecting at least one weld point (600b) as a weld line (610b).
[0128] As described above with reference to FIG. 6a, the processor (210) can transmit the detected weld point (600b) and weld line (610b) to the welding robot. For example, the processor (210) can transmit the position coordinates of the detected weld point (600b) and weld line (610b) to the welding robot. At this time, the welding robot that receives the position coordinates of the weld point (600b) and weld line (610b) can perform welding based on the position coordinates.
[0129] Meanwhile, FIG. 6b shows that the vertex of the patch coincides with the weld point (600b) and the edge of the patch coincides with the weld line (610b), but the weld location does not necessarily coincide with the edge and / or vertex of the patch.
[0130] The embodiments according to the present disclosure described above may be implemented in the form of a computer program that can be executed through various components on a computer, and such a computer program may be recorded on a computer-readable medium. In this case, the medium may include a magnetic medium such as a hard disk, a floppy disk, and a magnetic tape, an optical recording medium such as a CD-ROM and a DVD, a magneto-optical medium such as a floptical disk, and a hardware device specifically configured to store and execute program instructions, such as a ROM, RAM, or flash memory.
[0131] Meanwhile, the above computer program may be one specifically designed and configured for the present disclosure or one known and available to those skilled in the art of computer software. Examples of computer programs may include machine code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.
[0132] The specific embodiments described in this disclosure are examples and do not limit the scope of this disclosure in any way. For the sake of brevity of the specification, descriptions of prior electronic configurations, control systems, software, and other functional aspects of said systems may be omitted. Additionally, the connections of lines or connecting members between components shown in the drawings are illustrative of functional connections and / or physical or circuit connections, and may be replaced or additionally represented as various functional connections, physical connections, or circuit connections in actual devices. Furthermore, unless specifically stated as "essential," "importantly," etc., a component may not be strictly necessary for the application of this disclosure.
[0133] In the specification of this disclosure (particularly in the claims), the use of the term “the above” and similar descriptive terms may be in both singular and plural. Furthermore, where a range is described in this disclosure, it is to include a disclosure applying individual values belonging to said range (unless otherwise stated), as is equivalent to describing each individual value constituting said range in the detailed description of the invention. Finally, regarding the steps constituting the method according to this disclosure, unless explicitly stated or otherwise stated, said steps may be performed in a suitable order. This disclosure is not necessarily limited by the order in which said steps are described. The use of any examples or exemplary terms (e.g., etc.) in this disclosure is merely for the purpose of describing this disclosure in detail, and the scope of this disclosure is not limited by said examples or exemplary terms unless limited by the claims. Furthermore, those skilled in the art will understand that various modifications, combinations, and changes may be made according to design conditions and factors within the scope of the claims or equivalents to which they are added.
Claims
Claim 1 A method for detecting a weld location, comprising: a step of acquiring point cloud data (PCD) for a target member; a step of dividing the PCD to generate a plurality of patches; and a step of detecting at least one weld location included in the target member based on the plurality of patches using a weld location detection model. Claim 2 In claim 1, the welding position detection model is a machine learning model learned based on training data including a plurality of training patches. Claim 3 In claim 2, the method comprises the training data including a plurality of patches generated by dividing a training PCD at regular intervals and a plurality of patches generated using a data augmentation technique. Claim 4 In claim 2, the method wherein the learning patch is generated based on a learning PCD including a label generated based on whether at least one welding position exists. Claim 5 A method according to claim 1, wherein the PCD includes information related to each point constituting the PCD. Claim 6 In claim 5, the information related to the points comprises at least one of the position coordinates, normal vector, and color vector of each of the points. Claim 7 The method of claim 1 further comprises the step of processing the generated plurality of patches; wherein the processing step comprises the step of processing each of the patches based on whether each of the patches includes at least one point. Claim 8 A method according to claim 1, wherein the step of generating the plurality of patches comprises: dividing the PCD into equal intervals to generate the plurality of patches; and obtaining a representative point for each of the patches based on a plurality of points included in each of the patches. Claim 9 A method according to claim 1, wherein the step of detecting the welding position comprises: a step of detecting at least one welding point; and a step of detecting at least one welding line. Claim 10 In claim 9, the step of detecting the weld line comprises the step of detecting the weld line based on at least one detected weld point; a method. Claim 11 A method according to claim 1, wherein the step of obtaining a PCD of the target member comprises: a step of obtaining an image of the target member; and a step of converting the obtained image into a PCD. Claim 12 In claim 9, the method further comprises the step of transmitting the detected at least one welding position to a welding robot. Claim 13 In claim 9, the welding point comprises a point where the welding line starts, a point where the welding line ends, and a spot welding point. Claim 14 A device for detecting a weld position, comprising: a memory in which at least one program is stored; and a processor that performs operations by executing the at least one program, wherein the processor acquires point cloud data (PCD) for a target member, divides the PCD to generate a plurality of patches, and detects at least one weld position included in the target member based on the plurality of patches using a weld position detection model. Claim 15 A computer-readable recording medium storing a program for executing the method according to claim 1.
