Code recognition method, code recognition program, and inspection device
The code recognition method enhances accuracy by applying multiple color and filter corrections hierarchically, addressing recognition challenges on semiconductor products with varying surfaces, and integrates visual inspection for efficient and cost-effective code recognition.
Patent Information
- Application Number
- JP2024038043
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-12
- Publication Date
- 2025-09-26
AI Technical Summary
Existing code recognition methods struggle with achieving high accuracy in recognizing two-dimensional codes, particularly on semiconductor products with varying materials and surface conditions, leading to potential recognition failures.
A code recognition method that applies multiple color corrections and filter corrections to generate multiple determination images, using a hierarchical approach to increase the probability of successful recognition, and incorporates a visual inspection module to enhance accuracy.
The method achieves highly accurate two-dimensional code recognition, adaptable to different semiconductor product surfaces, reducing recognition failures and costs by integrating visual inspection and code recognition processes in a single device.
Smart Images

Figure 2025139227000001_ABST
Abstract
Description
[Technical Field]
[0001] The embodiments relate to a code recognition method, a code recognition program, and an inspection device. [Background technology]
[0002] For the purpose of traceability management of semiconductor products, etc., a two-dimensional code is engraved on the surface of the package or frame of the product. A code reader is used to read the two-dimensional code. The code reader recognizes the two-dimensional code using a captured image of the two-dimensional code.
[0003] Furthermore, automatic visual inspection equipment is known as a device for inspecting the quality of semiconductor products, etc. Automatic visual inspection equipment recognizes and photographs the target product, and inspects the product for abnormalities. The inspection results are used for traceability management of the target product. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 11-353459 [Patent Document 2] International Publication No. 2019 / 008936 Summary of the Invention [Problem to be solved by the invention]
[0005] A code recognition method capable of performing highly accurate two-dimensional code image recognition is provided. [Means for solving the problem]
[0006] A code recognition method according to an embodiment includes receiving a color image including a portion on which a code is engraved, generating a first image by applying a first color correction to the color image such that the RGB ratio and / or HSV combination is changed, generating a second image by applying a first filter that performs filter correction to the first image, generating a third image by applying a second color correction different from the first color correction to the color image such that the RGB ratio and / or HSV combination is changed, generating a fourth image by applying a second filter that performs filter correction to the third image, recognizing the code using the second image, and, if code recognition using the second image fails, recognizing the code using the fourth image. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 1 is a schematic diagram showing an example of a usage form of a plurality of inspection devices according to the first embodiment. [Figure 2] FIG. 2 is a block diagram showing an example of a hardware configuration of the inspection apparatus according to the first embodiment. [Figure 3] FIG. 3 is a block diagram showing an example of the functional configuration of the inspection apparatus according to the first embodiment. [Figure 4] FIG. 4 is a diagram showing an example of correction data stored in the inspection device according to the first embodiment. [Figure 5] FIG. 5 is a flowchart showing an example of a code recognition method according to the first embodiment. [Figure 6] FIG. 6 is a diagram showing an example of a method for generating a color-corrected image in the code recognition method according to the first embodiment. [Figure 7] FIG. 7 is a diagram showing an example of a method for generating a determination image in the code recognition method according to the first embodiment. [Figure 8] FIG. 8 is a block diagram showing an example of the functional configuration of an inspection device according to a first modified example of the first embodiment. [Figure 9] FIG. 9 is a block diagram showing an example of the functional configuration of an inspection apparatus according to the second embodiment. [Figure 10]FIG. 10 is a flowchart showing an example of a code recognition method according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0008] Hereinafter, embodiments will be described with reference to the drawings. In the following description, components having substantially the same functions and configurations are denoted by the same reference numerals.
[0009] 1. First embodiment 1.1 Configuration 1.1.1 Overall structure 1 is a schematic diagram showing an example of a usage form of multiple inspection devices according to the first embodiment. The multiple inspection devices 1 are used, for example, in an automatic visual inspection of semiconductor products 100 and recognition of two-dimensional codes 200 in a semiconductor product manufacturing lane. The example of FIG. 1 shows the relationship between the multiple inspection devices 1 and the manufacturing process of the semiconductor products 100.
[0010] The semiconductor product 100 may be, for example, a semiconductor element configured with a frame, a plated semiconductor component, a semiconductor package sealed with resin, or any of these in-process products. The semiconductor product 100 has, for example, a size of approximately 5 mm on each side. The semiconductor product 100 has a two-dimensional code 200 on its surface.
[0011] The two-dimensional code 200 is, for example, a square or rectangular data matrix. The data matrix has a high information density and can be engraved on small electronic components such as semiconductor devices. The data matrix has, for example, a square or rectangular shape with sides of 0.8 mm to 15 mm. The following description will discuss a case where the two-dimensional code 200 is, for example, a 14x14 cell data matrix with a 1.5 mm square shape conforming to the ECC200 standard and containing 10 alphanumeric characters. The two-dimensional code 200 is engraved, for example, on the frame surface or resin surface of the semiconductor product 100 using a laser marker with a spot diameter of approximately 20 μm. To improve reliability, for example, multiple identical two-dimensional codes 200 may be engraved on a single semiconductor product 100.
[0012] A plurality of inspection devices 1 are provided, for example, on each semiconductor product manufacturing lane. Each inspection device 1 is provided before the start of any process, after the end of any process, or both, and performs a visual inspection. In the visual inspection, the semiconductor products 100 are inspected for defects.
[0013] Furthermore, each inspection device 1 reads a two-dimensional code 200 simultaneously with the visual inspection. The two-dimensional code 200 contains identification information for the semiconductor product 100, such as a product identification code and production information, including the manufacturing date, weekly code, product number, and machine number. The inspection device 1 associates the read identification information for the semiconductor product 100 with the visual inspection results and the current process, and transmits them to the server 2.
[0014] Each inspection device 1, for example, reads the two-dimensional code 200 engraved on the semiconductor product 100 before the start of a process, tracks the semiconductor product 100 during the process, and reads the two-dimensional code 200 again after the process is completed to verify the semiconductor product 100. By performing the operation shown in the above example, the defective state of the semiconductor product 100 and the operating status of the equipment used in the process are managed.
[0015] The server 2 receives data from each inspection device 1 and stores traceability information for the semiconductor product 100. The information stored in the server 2 is used to manage the manufacturing process for the semiconductor product 100.
[0016] 1.1.2 Hardware configuration of the inspection equipment 2 is a block diagram showing an example of the hardware configuration of the inspection device according to the first embodiment. As shown in FIG. 2, the inspection device 1 includes a control circuit 11, a camera 12, a user interface 13, a storage 14, a drive 15, and a storage medium 16.
[0017] The control circuit 11 is a circuit that controls the overall components of the inspection device 1. The control circuit 11 includes a CPU (Central Processing Unit), RAM (Random Access Memory), and ROM (Read Only Memory), etc. The ROM of the control circuit 11 stores programs and the like used in various processes in the inspection device 1. The CPU of the control circuit 11 controls the entire inspection device 1 in accordance with the programs stored in the ROM of the control circuit 11. The RAM of the control circuit 11 is used as a working area for the CPU of the control circuit 11.
[0018] The camera 12 is, for example, a color CCD (Charge Coupled Device) camera. The camera 12 captures a color image of the semiconductor product 100 that is the target of the automatic visual inspection. The camera 12 captures an image of the semiconductor product 100 and detects scratches and stains contained in the semiconductor product 100. In order to detect minute scratches and stains, the camera 12 has a high resolution that enables it to capture high-resolution images.
[0019] The user interface 13 is an interface that manages communication between the user and the control circuit 11. The user interface 13 includes input devices and output devices. The input devices include, for example, a keyboard, a touch panel, and operation buttons. The output devices include, for example, a display. The user interface 13 converts input from the user into an electrical signal and then transmits it to the control circuit 11. The user interface 13 outputs the execution result based on the input from the user to the user.
[0020] The storage 14 includes, for example, a hard disk drive (HDD) or a solid state drive (SSD). The storage 14 stores information used in various processes in the inspection device 1.
[0021] The drive 15 is a device for reading software stored in the storage medium 16. The drive 15 includes, for example, an HDD, an SSD, a CD (Compact Disk) drive, and a DVD (Digital Versatile Disk) drive.
[0022] The storage medium 16 is a medium that stores software electrically, magnetically, optically, mechanically, or chemically. The storage medium 16 may store programs for executing various processes in the inspection device 1.
[0023] 1.1.3 Functional configuration of the inspection equipment 3 is a block diagram showing an example of the functional configuration of the inspection device according to the first embodiment. The CPU of the control circuit 11 loads a program stored in the ROM of the control circuit 11 or the storage medium 16 into the RAM of the control circuit 11. The CPU of the control circuit 11 then interprets and executes the program loaded into the RAM of the control circuit 11. As a result, the inspection device 1 functions as a computer including an imaging unit 21, an appearance inspection module 22, and a code recognition module 23. The storage 14 also stores correction data 24.
[0024] The imaging unit 21 activates the camera 12 to capture a color image of the semiconductor product 100 to be inspected. The color image of the semiconductor product 100 is captured so that the two-dimensional code 200 carried by the semiconductor product 100 is included in the captured image area. The imaging unit 21 outputs the captured color image of the semiconductor product 100 to the appearance inspection module 22 and the code recognition module 23.
[0025] The visual inspection module 22 performs a visual inspection of the semiconductor product 100 using the color image of the semiconductor product 100 received from the imaging unit 21 .
[0026] Specifically, the appearance inspection module 22 first performs RGB ratio change, HSV combination change, or both processes on the color image of the semiconductor product 100 to generate a judgment image. RGB ratio change is a process of changing individual values when hue is expressed as RGB (Red / Green / Blue) values. RGB ratio change, for example, makes red parts even redder to make them easier to distinguish from their surroundings. HSV combination change is a process of changing the combination of hue (H), saturation (S), and value (V) in the image. HSV combination change also includes brightness changes such as image smoothing and gamma correction.
[0027] Thereafter, the appearance inspection module 22 uses the generated judgment image to inspect whether or not there are any defects in the semiconductor product 100. Examples of defects include distortion or cracks in the product, missing parts, scratches, foreign matter, misalignment of the circuit pattern, dimensional defects, and packaging defects. The appearance inspection module 22 outputs the inspection result "result" including the presence or absence of defects to the server 2 together with identification information "id" described below.
[0028] The code recognition module 23 recognizes the two-dimensional code 200 using the color image of the semiconductor product 100 received from the imaging unit 21. The code recognition module 23 includes a trimming unit 31, an RGB / HSV correction unit 32, a filter correction unit 33, and a recognition unit 34.
[0029] The trimming unit 31 is a functional block that extracts the two-dimensional code portion from the color image. When the trimming unit 31 receives the color image from the imaging unit 21, it extracts the portion including the two-dimensional code 200 from the color image and generates a trimmed image.
[0030] The RGB / HSV correction unit 32 is a functional block that performs color correction on the trimmed image generated by the trimming unit 31. The RGB / HSV correction unit 32 applies each of the multiple color corrections stored in the correction data 24 to the trimmed image, generating multiple color-corrected images that have been processed by changing the RGB ratio, changing the HSV combination, or both. By generating multiple color-corrected images by performing different color corrections on a single color image, the feature amounts of the trimmed image can be broken down into elements and extracted into each color-corrected image.
[0031] The filter correction unit 33 is a functional block that performs filter correction on the multiple color-corrected images generated by the RGB / HSV correction unit 32. The filter correction unit 33 applies a pre-processing filter to each color-corrected image that corresponds to the color correction used to generate the color-corrected image and is stored in the correction data 24, thereby generating multiple determination images. The pre-processing filter to be applied to each color correction is determined in advance.
[0032] The recognition unit 34 is a functional block that recognizes the code. The recognition unit 34 performs code recognition processing using the multiple determination images generated by the filter correction unit 33. After that, the recognition unit 34 outputs the identification information id included in the read two-dimensional code 200 to the server 2 together with the inspection result result.
[0033] The correction data 24 includes data related to image correction applied in the RGB / HSV correction unit 32 and the filter correction unit 33. Fig. 4 is a diagram showing an example of correction data stored in the inspection device according to the first embodiment. The correction data 24 is provided for each product and process, and includes, for example, a data number, a name, a sequence number, various parameters, and information about the filter to be applied.
[0034] The data number and name are information used for managing image correction. In the example shown in Figure 4, correction by color correction 61 and pre-processing filter 81 is referred to as image correction 41. Correction by color correction 62 and pre-processing filter 82 is referred to as image correction 42. Correction by color correction 63 and pre-processing filter 83 is referred to as image correction 43. Correction by color correction 64 and pre-processing filter 84 is referred to as image correction 44.
[0035] The sequence number is information indicating the order in which the judgment image after image correction is judged. When the recognition unit 34 performs 2D code recognition, the recognition unit 34 recognizes the 2D code in the order according to the sequence number assigned to the image correction used when generating each judgment image. Sequence numbers are assigned to each image correction in ascending order starting from 1 for each product and process. In the example shown in FIG. 4, sequence numbers 1 to 4 are assigned to image corrections 41, 42, 43, and 44 in this order.
[0036] The various parameters are information indicating, as parameters, specific operations in the color correction performed by the RGB / HSV correction unit 32. The various parameters include, for example, the amount of change in each of the RGB and HSV values. In the example shown in Fig. 4, the various parameters include the amount of change in each of the RGB and HSV values corresponding to color corrections 61, 62, 63, and 64.
[0037] The filter to be applied is information indicating a pre-processing filter to be applied by the filter correction unit to the color-corrected image generated by applying the color correction. One pre-processing filter is associated with each color correction. Note that the same pre-processing filter may be associated with different color corrections. The pre-processing filter is a filter that performs at least one of the following image processing processes: binarization, erosion, dilation, pixel value conversion, edge detection, smoothing, contour extraction, thinning, inversion, density correction, gamma correction, and arithmetic operation. A program for executing each pre-processing filter is stored in the control circuit 11 or the storage medium 16.
[0038] The data included in the correction data 24 is determined based on the results of a statistical survey conducted in advance. In the statistical survey, the probability of success in 2D code recognition for each color correction is calculated for each product and process. Based on the results of the statistical survey, multiple image corrections that maximize the probability of success in 2D code recognition are determined as combinations for each product and process, and are assigned data numbers and names and stored as correction data 24. At this time, the sequence numbers of each image correction are assigned in ascending order, starting from 1, in descending order of the probability of success in 2D code recognition using the judgment image generated by applying each image correction. The number of image corrections included in the correction data 24 is set, for example, so as to minimize the probability of failure in 2D code recognition using all generated judgment images while keeping the processing time below a predetermined threshold in 2D code recognition processing.
[0039] The data included in the correction data 24 may differ for each product and process. The probability of successful 2D code recognition when each correction is applied to a trimmed image may vary depending on the surface condition (frame, plating, resin, etc.) of the product on which the 2D code is engraved. Therefore, for each product and process in which 2D code recognition is performed, the color correction and pre-processing filters and their combinations, as well as the sequence number of each image correction, are determined so as to increase the probability of successful 2D code recognition.
[0040] 1.2 Code Recognition Process The code recognition process according to the first embodiment will be described with reference to Fig. 5. Fig. 5 is a flowchart showing an example of the code recognition process according to the first embodiment. Below, an example of the code recognition process according to the first embodiment will be described with reference to Fig. 5 as needed.
[0041] When the semiconductor product 100 to be inspected is carried to an inspection position on the manufacturing line (start), the imaging unit 21 captures a color image of the entire semiconductor product 100, including the two-dimensional code 200 (S101). The captured color image is sent to the appearance inspection module 22 and the code recognition module 23, where the appearance inspection and the two-dimensional code recognition are performed, respectively.
[0042] When the code recognition module 23 receives the color image from the imaging unit 21, the trimming unit 31 trims the color image to generate a trimmed image (S102). Specifically, first, an area in the color image that includes the two-dimensional code 200 is recognized. Feature point extraction and the like are used to recognize the area that includes the two-dimensional code 200. Then, trimming is performed to extract the area that includes the two-dimensional code 200, and a trimmed image is generated.
[0043] Next, the code recognition module 23 performs color correction on the trimmed image in the RGB / HSV correction unit 32 to generate a plurality of color-corrected images (S103). Specifically, first, various parameters for performing a plurality of color correction processes are read from the correction data 24. Then, a plurality of color corrections are applied to the trimmed image, and a plurality of color-corrected images are generated by performing a process of changing the RGB ratio, changing the HSV combination, or both.
[0044] Fig. 6 is a diagram showing an example of a method for generating color-corrected images in the code recognition process according to the first embodiment. In Fig. 6, the code recognition module 23 applies four color corrections 61, 62, 63, and 64 to a trimmed image 50 to generate color-corrected images 71, 72, 73, and 74. Note that the number of individual color corrections to be applied and the number of color-corrected images to be generated may be two or more.
[0045] Next, the code recognition module 23 causes the filter correction unit 33 to perform filter correction on each color-corrected image to generate a plurality of determination images (S104). Specifically, first, information on the pre-processing filter and sequence number corresponding to the color correction used when generating each color-corrected image is read from the correction data 24. Next, a program for executing each pre-processing filter, stored in the control circuit 11 or the storage medium 16, is read. Thereafter, each pre-processing filter is applied to the corresponding color-corrected image, respectively, to generate a plurality of determination images. A sequence number corresponding to the respective set of color correction and filter correction is associated with each determination image.
[0046] Fig. 7 is a diagram showing an example of a method for generating a determination image in the code recognition method according to the first embodiment. In Fig. 7, the code recognition module 23 applies corresponding pre-processing filters 81, 82, 83, and 84 to color-corrected images 71, 72, 73, and 74, respectively, to generate determination images 91, 92, 93, and 94. The determination images 91, 92, 93, and 94 are associated with sequence numbers 1, 2, 3, and 4, respectively.
[0047] Finally, the code recognition module 23 recognizes the two-dimensional code in the recognition unit 34 and outputs the recognition result to an external server (S105 to S111). The processing executed in the recognition unit 34 will be described in detail below.
[0048] First, the recognition unit 34 sets the number of image corrections N stored in the correction data 24 from the number of determination images generated by the filter correction unit 33. Also, the recognition unit 34 initializes a variable k to 1 (S105). The number of image corrections N is an integer equal to or greater than 2. The variable k indicates the sequence number of the determination image for which image recognition is to be performed, and is an integer equal to or greater than 1 and equal to or less than N.
[0049] Next, the recognition unit 34 recognizes the two-dimensional code using the determination image with the sequence number k associated with the determination image (S106), and then determines whether or not the recognition of the two-dimensional code using the determination image with the sequence number k was successful (S107).
[0050] If the recognition of the two-dimensional code is successful (S107; Yes), the recognition unit 34 outputs the information read from the two-dimensional code to the server 2 (S108).
[0051] If the recognition of the two-dimensional code fails (S107; No), the recognition unit 34 determines whether the variable k has reached the number of image corrections N (S109).
[0052] If the variable k has not reached the number of image corrections N (S109; No), the recognition unit 34 increments k (S110).
[0053] After the process of S110, the recognition unit 34 attempts to recognize the two-dimensional code using the determination image with the sequence number k (S106). In this way, the processes of S106, S109, and S110 are repeatedly executed until the recognition of the two-dimensional code using the determination image with the sequence number k is successful or the variable k reaches the image correction number N.
[0054] If the variable k reaches the number of image corrections N (S109; Yes), a message indicating that the recognition of the two-dimensional code has failed is output to the server 2 (S111).
[0055] After the process of S108 or S111, the code recognition process ends (END).
[0056] 1.3 Effects of the First Embodiment The code recognition method according to the first embodiment can perform code recognition with high accuracy. The effect of this method will be described in detail below.
[0057] In the code recognition method according to the first embodiment, the code recognition module 23 performs color correction on the trimmed image to extract characteristic elements contained in the trimmed image and recognize the 2D code. Furthermore, in extracting these characteristic elements, the code recognition module 23 generates multiple patterns of color-corrected images by changing the RGB or HSV combinations of the color image, and then applies a pre-processing filter appropriate for each color-corrected image to perform the 2D code recognition process. These processes enable highly accurate recognition of the 2D code, regardless of the material of the semiconductor product 100 on which the 2D code is to be engraved, the state of dirt and scratches, noise caused by blurring or smearing during imaging, or variance in the engraving state of the 2D code 200 (engraving depth, shape, color, etc.).
[0058] Furthermore, the code recognition module 23 attempts to recognize the 2D code hierarchically from the generated multiple judgment images, starting with the image with the highest prior probability of successful recognition. This increases the probability of successful recognition using a judgment image to which image correction with a lower sequence number has been applied. In this case, the recognition process using a judgment image to which image correction with a higher sequence number has been applied can be skipped, saving time and enabling efficient recognition of the 2D code.
[0059] Furthermore, each inspection device 1 incorporates a visual inspection module 22 and a code recognition module 23. This allows the code recognition module 23 to share the high-precision camera and processor used for visual inspection with the visual inspection module 22. This allows visual inspection processing and code recognition processing to be performed in a single inspection device 1, thereby reducing costs and space compared to manufacturing a visual inspection device and a code recognition device separately.
[0060] 1.4 Variations The code recognition method according to the first embodiment can be modified in various ways. Below, some modifications of the first embodiment will be described, focusing on the differences from the first embodiment.
[0061] Fig. 8 is a block diagram showing an example of the functional configuration of an inspection device according to a first modified example of embodiment 1. As shown in Fig. 8, the inspection device 1 according to the first modified example of embodiment 1 further includes a data update unit 25.
[0062] The data update unit 25 is a functional block that updates the correction data 24. The data update unit 25 receives information "info" from an external source. The information "info" includes information for updating the correction data 24 based on the state of the inspection device 1, the surface state of the semiconductor product 100 that is the target of code recognition, or the results of the code recognition that has been performed. The data update unit 25 updates various parameters, sequence numbers, or applied filters for each image correction stored in the correction data 24 based on the information "info."
[0063] With the configuration according to the first modification of the first embodiment, the code recognition method can be updated in response to changes in the product state and environment of the semiconductor product 100. This makes it possible to maintain the accuracy of code recognition even if the surface state or color development level of the semiconductor product that is the target of code recognition changes due to disturbances.
[0064] 2. Second embodiment Next, a second embodiment will be described, focusing mainly on the configuration that differs from the first embodiment.
[0065] 2.1 Configuration Fig. 9 is a block diagram showing an example of the functional configuration of the inspection device according to the second embodiment. As shown in Fig. 9, in the code recognition module 23 according to the second embodiment, the recognition unit 34 can instruct the RGB / HSV correction unit 32 to generate a color-corrected image.
[0066] 2.2 Code Recognition Process The code recognition process according to the second embodiment will be described with reference to Fig. 10. Fig. 10 is a flowchart showing an example of the code recognition process according to the second embodiment. As shown in Fig. 10, the code recognition module 23 according to the second embodiment executes the processes of S201 to S211 in order. An example of the code recognition process of the code recognition module 23 according to the second embodiment will be described below with reference to Fig. 10 as needed.
[0067] After the semiconductor product 100 to be inspected is brought to the inspection position on the manufacturing line (start), the steps of taking a color image and generating a trim image (S201 to S202) are the same as the steps (S101 to S102) in the first embodiment.
[0068] Next, the code recognition module 23 sets the number of image corrections N stored in the correction data 24. Also, it initializes a variable k to 1 (S203). The number of image corrections N is an integer equal to or greater than 2. The variable k indicates the sequence number of the determination image for which image recognition is performed, and is an integer equal to or greater than 1 and equal to or less than N.
[0069] Next, the code recognition module 23 performs color correction on the trimmed image in the RGB / HSV correction unit 32 to generate a color-corrected image (S204). Specifically, first, various parameters for performing color correction processing corresponding to the image correction with the sequence number k are read from the correction data 24. Then, the color correction is applied to the trimmed image, and processing of RGB ratio change, HSV combination change, or both is performed to generate a color-corrected image.
[0070] Next, the code recognition module 23 performs filter correction on the color-corrected image in the filter correction unit 33 to generate a determination image (S205). Specifically, first, a pre-processing filter corresponding to image correction with sequence number k is read from the correction data 24. Next, a program for executing each pre-processing filter is read from the control circuit 11 or the storage medium 16. Thereafter, the pre-processing filter is applied to the color-corrected image to generate a determination image.
[0071] Next, the recognition unit 34 recognizes the two-dimensional code using the determination image generated by the filter correction unit 33 (S206), and then determines whether or not the recognition of the two-dimensional code using the determination image has been successful (S207).
[0072] If the recognition of the two-dimensional code is successful (S207; Yes), the recognition unit 34 outputs the information read from the two-dimensional code to the server 2 (S208).
[0073] If the recognition of the two-dimensional code fails (S207; No), the recognition unit 34 determines whether the variable k has reached the number of image corrections N (S209).
[0074] If the variable k has not reached the number of image corrections N (S209; No), the recognition unit 34 increments k (S210).
[0075] After the process of S210, the recognition unit 34 commands the RGB / HSV correction unit 32 to generate a color-corrected image corresponding to the image correction with the sequence number k. The RGB / HSV correction unit 32 applies the color correction corresponding to the image correction with the sequence number k to the trimmed image to generate a color-corrected image (S204). In this way, the processes of S204 to S207 and S209 to S210 are repeatedly executed until the recognition of the two-dimensional code using the determination image is successful or the variable k reaches the number of image corrections N.
[0076] If the variable k reaches the number of image corrections N (S209; Yes), a message indicating that the recognition of the two-dimensional code has failed is output to the server 2 (S211).
[0077] After the process of S208 or S211, the code recognition process ends (END).
[0078] 2.3 Effects of the Second Embodiment The code recognition method according to the second embodiment can perform highly accurate code recognition, similar to the first embodiment.
[0079] Furthermore, in the code recognition method according to the second embodiment, a different judgment image is generated only if 2D code recognition using one judgment image fails. Therefore, if recognition is successful using a judgment image to which image correction with a smaller sequence number has been applied, there is no need to generate a judgment image to which image correction with a larger sequence number has been applied. This reduces the time required to generate a judgment image, enabling efficient 2D code recognition.
[0080] 2.4 Variations The code recognition method according to the second embodiment can be modified in various ways.
[0081] For example, as in the first modification of the first embodiment, a data update unit 25 may be further included as a functional block, and based on information "info" received from outside, various parameters, sequence numbers, or applied filters for each image correction stored in the correction data 24 may be updated. By using the code recognition method according to this modification, the accuracy of code recognition can be maintained even if the surface condition or color development level of the semiconductor product to be the target of code recognition changes due to disturbances.
[0082] 3. Other Although the first and second embodiments describe a method for recognizing a two-dimensional code engraved on a semiconductor product, the subject matter is not limited to semiconductor products. The code recognition methods according to the first and second embodiments may also be used to recognize two-dimensional codes printed or engraved on packaging for other electronic components, electrical products, machines, tablets, toys, food, etc., or online images, for example.
[0083] Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, and are also included in the scope of the invention and its equivalents as defined in the claims. [Explanation of symbols]
[0084] 1...Inspection equipment 2...Server 11...Control circuit 12...Camera 13...User Interface 14…Storage 15...Drive 16...Storage medium 21...imaging unit 22...Visual inspection module 23...Code recognition module 24...Correction data 25...Data update section 31...Trimming section 32...RGB / HSV correction section 33...Filter correction section 34...Recognition part 41, 42, 43, 44...Image correction 50...Trim image 61, 62, 63, 64...Color Correction 71, 72, 73, 74...Color correction images 81, 82, 83, 84...Pre-processing filters 91, 92, 93, 94...Judgment images 100...Semiconductor products 200...2D code
Claims
1. receiving a color image including a portion having a code imprinted thereon; generating a first image by applying a first color correction to the color image so as to change at least one of the RGB ratio and the HSV combination; generating a second image by applying a first filter that performs filter correction to the first image; generating a third image by applying a second color correction to the color image, the second color correction being different from the first color correction, such as changing at least one of an RGB ratio or an HSV combination; generating a fourth image by applying a second filter that performs filter correction to the third image; performing recognition of the code using the second image; if the recognition of the code using the second image fails, recognizing the code using the fourth image; A code recognition method comprising:
2. If recognition of the code using the second image fails, generating the third image; generating the fourth image; Recognizing the code using the fourth image; 2. The code recognition method according to claim 1, further comprising the steps of:
3. determining the first filter in response to the first color correction; determining the second filter in response to the second color correction; The code recognition method of claim 1 , comprising:
4. The cord has a square or rectangular shape with one side measuring 0.8 mm or more and 15 mm or less. The code recognition method according to claim 1.
5. an imaging unit that captures a color image including the portion where the code is engraved; an RGB / HSV correction unit that changes at least one of the RGB ratio and the HSV combination of the color image to generate a first image and a third image; a filter correction unit that performs filter correction on each of the first image and the third image to generate a second image and a fourth image; a recognition unit that recognizes the code using the second image and, if the recognition of the code using the second image fails, recognizes the code using the fourth image; a code recognition module comprising: an appearance inspection module that receives the color image and inspects the product for abnormalities using an image generated by changing at least one of the RGB ratio and the HSV combination of the color image; An inspection device comprising:
6. On the computer, receiving a color image including a portion having a code imprinted thereon; generating a first image by applying a first color correction to the color image so as to change at least one of the RGB ratio and the HSV combination; generating a second image by applying a first filter that performs filter correction to the first image; generating a third image by applying a second color correction to the color image, the second color correction being different from the first color correction, such as changing at least one of an RGB ratio or an HSV combination; generating a fourth image by applying a second filter that performs filter correction to the third image; performing recognition of the code using the second image; if the recognition of the code using the second image fails, recognizing the code using the fourth image; A program to execute.
7. For any k (k is an integer satisfying 3≦k≦N; N is an integer of 3 or more), generating a (2k-1)th image by applying a kth color correction different from the first to (k-1)th color corrections to the color image, such that at least one of an RGB ratio and an HSV combination is changed; generating a (2k)th image by applying a kth filter that performs filter correction to the (2k−1)th image; if the recognition of the code using the (2k-2) image fails, recognizing the code using the (2k) image; The code recognition method of claim 1 further comprising:
Citation Information
Patent Citations
Code reader
JP1999353459A
Image processing device, computer program, and image processing system
WO2019008936A1