Vehicle color matching system and method
By using digital image recognition technology from a computer system, the color of vehicle repair paint can be automatically matched, solving the problem of frequent errors in manual matching in existing technologies and improving vehicle repair efficiency and productivity.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- PPG INDUSTRIES OHIO INC
- Filing Date
- 2021-11-05
- Publication Date
- 2026-08-04
AI Technical Summary
During vehicle repair, existing technologies struggle to accurately match the color of the repair paint with the original paint, leading to frequent and time-consuming manual input errors that impact productivity and costs.
The computer system uses digital image recognition technology to receive vehicle images provided by users, and uses a vehicle template database and image processing module to identify and calculate the closest color match, reducing human error and improving recognition speed.
By automating color matching recognition, human error can be reduced, improving the productivity and efficiency of vehicle repair shops and lowering the delay costs associated with color matching.
Smart Images

Figure CN116420350B_ABST
Abstract
Description
Background Technology
[0001] When a vehicle is repaired, the touch-up paint applied should match the original paint. However, due to color shifts in the original paint applied during manufacturing, it is difficult to achieve a perfect match between the touch-up paint and the original paint. The difference between the original paint and the touch-up paint on the vehicle is perceptible. Color variations in paints produced by original equipment manufacturers (OEMs) make color matching difficult when repainting vehicles in numerous auto body repair shops.
[0002] Vehicles typically include one or more identification tags containing color codes indicating the original paint formula. Auto body repair shop employees usually need to manually enter metadata associated with the vehicles in the shop to identify the color code that best matches the paint on the vehicle being repaired. This metadata includes the vehicle brand, model, year, color code, VIN, etc. However, manual entry is error-prone, tedious, and time-consuming. Furthermore, color codes on vehicles are becoming increasingly difficult to locate, making the search and entry of color code data a labor-intensive task for repair shop employees. The delays associated with matching touch-up paint colors during the repair process are costly for auto body repair shops in terms of both productivity and related expenses.
[0003] Therefore, there are many opportunities to develop new systems and methods to help repair shops choose paint colors. Summary of the Invention
[0004] A computer system for recognizing coating colors using digital images includes one or more processors and one or more computer-readable media storing executable instructions that, when executed by the one or more processors, configure the computer system to perform various actions. For example, the computer system may receive a user-provided digital image of a vehicle via a network connection. The computer system may also access one or more vehicle templates in a vehicle template database. Additionally, the computer system may map at least one matching vehicle template to the vehicle in the user-provided digital image, wherein the at least one matching vehicle template includes associated metadata, the associated metadata including one or more vehicle characteristics, the vehicle characteristics containing one or more associated color codes. The computer system may also identify color values associated with the vehicle in the user-provided digital image via an image processing module. Finally, the computer system calculates the closest match from the one or more associated color codes for the identified color value associated with the vehicle.
[0005] A computerized method is provided for use on a computer system including one or more processors and one or more computer-readable media storing executable instructions that, when executed by the one or more processors, configure the computer system to perform a method for recognizing coating colors using a digital image. The method may include: receiving a user-provided digital image of a vehicle via a network connection. The method may also include accessing one or more vehicle templates within a vehicle template database. The method may further include mapping at least one matching vehicle template to the vehicle within the user-provided digital image, wherein the at least one matching vehicle template includes associated metadata, the associated metadata including one or more vehicle characteristics, the vehicle characteristics containing one or more associated color codes. Furthermore, the method may include identifying color values associated with the vehicle within the user-provided digital image via an image processing module. The method may include calculating the closest match from the one or more associated color codes for the identified color values associated with the vehicle. Finally, the method may include providing the calculated closest match to a user.
[0006] A computer program product includes one or more computer storage media storing computer-executable instructions that, when executed at a processor, cause a computer system to perform a method for recognizing coating colors using a digital image. The method may include receiving a user-provided digital image of a vehicle via a network connection. The method may also include accessing one or more vehicle templates within a vehicle template database. The method may further include mapping at least one matching vehicle template to the vehicle within the user-provided digital image, wherein the at least one matching vehicle template includes associated metadata, the associated metadata including one or more vehicle characteristics, the vehicle characteristics including one or more associated color codes. Furthermore, the method may include identifying color values associated with the vehicle within the user-provided digital image via an image processing module. The method may include calculating the closest match for the identified color values associated with the vehicle from the one or more associated color codes. Additionally, the method may include providing the calculated closest match to a user. Furthermore, the method may include receiving user feedback that the calculated closest match is incorrect; calculating a color shift distribution curve; and applying the color shift distribution curve to the user-provided digital image of the vehicle, including applying camera and lighting characteristics of the user-provided digital image of the vehicle.
[0007] Additional features and advantages will be set forth in part in the description which follows, and in part will be obvious from the description or may be learned by practice of this disclosure. These features and advantages can be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features will become more apparent from the description and the appended claims, or may be learned by practice of the examples set forth below. Attached Figure Description
[0008] To illustrate how the above and other advantages and features can be obtained, a more specific description of the above brief description will be presented with reference to specific embodiments, and specific embodiments thereof are illustrated in the accompanying drawings. It should be understood that these figures are illustrative only and should not be considered as limiting its scope. A computer system for dynamically resolving digital images to identify coating colors will be described and explained with additional specificity and detail using the accompanying drawings, in which:
[0009] Figure 1 A schematic diagram depicting a network-based system for recognizing coating colors using digital images;
[0010] Figure 2 Exemplary digital images provided by users depicting the vehicle;
[0011] Figure 3 Depicts a database of exemplary vehicle templates, including vehicle templates;
[0012] Figure 4 Depicting Figure 2 The example digital image shown is provided by the user, in which a vehicle template is mapped to the vehicle;
[0013] Figure 5 Depict a database of exemplary maintenance templates, including maintenance templates;
[0014] Figure 6 Depicting Figure 2 The example digital images provided by the user are shown in the image, where a matching maintenance template is mapped onto the vehicle;
[0015] Figure 7 Depicting a user-provided modified digital image; and
[0016] Figure 8 A flowchart illustrating a series of actions in a method for recognizing coating colors using digital images. Detailed Implementation
[0017] A computer system for recognizing coating colors using digital images includes one or more processors and one or more computer-readable media storing executable instructions that, when executed by the one or more processors, configure the computer system to perform various actions. For example, the computer system may receive a user-provided digital image of a vehicle via a network connection. The computer system may also access one or more vehicle templates in a vehicle template database. Additionally, the computer system may map at least one matching vehicle template to a vehicle in the user-provided digital image, wherein the at least one matching vehicle template includes associated metadata, which includes one or more vehicle characteristics containing one or more associated color codes. As used herein, "vehicle characteristics" may also include vehicle brand, model, year, or vehicle identification number (VIN). The computer system may also identify color values associated with a vehicle in the user-provided digital image via an image processing module. Finally, the computer system calculates the closest match of the identified color values associated with the vehicle from the one or more associated color codes.
[0018] Therefore, the computer system can offer several benefits in this field. For example, the described coating color recognition process can reduce the chance of human error when inputting vehicle characteristics. The color recognition process can also detect subtle color differences that are imperceptible to the human eye. In addition, the described computer system can increase the speed at which auto body repair shops can identify touch-up paint colors, thereby increasing their productivity.
[0019] Now refer to the diagram. Figure 1 This diagram illustrates a computerized system for recognizing coating colors using digital images. As shown, computer system 100 communicates with coating color analysis software 105 via network connection 110. Those skilled in the art will understand that the depicted diagram is merely illustrative, although computer system 100 in practice... Figure 1 While depicted as a mobile phone, the computer system 100 can take many forms. For example, the computer system 100 can be a laptop, tablet computer, wearable device, desktop computer, mainframe, etc. As used herein, the term "computer system" includes any device, system, or combination thereof that includes one or more processors and physical and tangible computer-readable storage capable of having computer-executable instructions that can be executed by the one or more processors.
[0020] One or more processors may include integrated circuits, field-programmable gate arrays (FPGAs), microcontrollers, analog circuits, or any other electronic circuits capable of processing input signals. Memory may be physical system memory, which may be volatile memory, non-volatile memory, or some combination of both. The term "memory" may also be used herein to refer to a non-volatile mass storage device, such as a physical storage medium. Examples of computer-readable physical storage media include RAM, ROM, EEPROM, solid-state drives ("SSDs"), flash memory, phase-change memory ("PCM"), optical disc storage devices, magnetic disk storage devices, or other magnetic storage devices, or any other hardware storage device. Computer system 100 may be distributed in a network environment and may include multiple member computer systems.
[0021] Computer system 100 may include one or more computer-readable storage media on which executable instructions are stored, which, when executed by one or more processors, configure computer system 100 to execute coating color analysis software 105. Coating color analysis software 105 may include various modules, such as interface module 120 and image processing module 125. As used herein, modules may include software components (containing software objects), hardware components (e.g., discrete circuits, FPGAs, computer processors), or some combination of hardware and software.
[0022] However, it will be understood that separating a module into discrete units is at least to some extent arbitrary and the module can be divided into... Figure 1 Combining, associating, or separating in ways other than those shown in the diagram, while still achieving the purpose of the computer system. Therefore, Figure 1 Modules 120 and 125 are shown for illustrative and exemplary purposes only.
[0023] The coating color analysis software 105 may also communicate with one or more databases. For example, the coating color analysis software 105 may communicate with a vehicle template database 130, a vehicle identification number (“VIN”) database 135, and a maintenance template database 140. As used herein, databases may include locally stored data, remotely stored data, data stored within an organizational data structure, data stored within a file system, or any other stored data accessible to the coating color analysis software 105.
[0024] The coating color analysis software 105 can be configured to receive digital images provided by a user of vehicle 115. For example, the user can use computer system 100 to upload the user-provided digital image 115 to the coating color analysis software 105 via network connection 110. As used herein, the digital image may include photographs (e.g., still images of physical reality) or / and images that digitally represent reality or digitally create artifacts. Interface module 120 provides an interface for the user to access the digital image and upload the user-provided digital image 115 to the coating color analysis software 105. Alternatively or additionally, interface module 120 may allow the user to provide additional or alternative vehicle identification data. For example, interface module 120 may allow the user to type, speak, or otherwise identify details about the vehicle (e.g., brand, model, color, etc.).
[0025] Interface module 120 can be configured to receive user-exported audio (including vehicle characteristics) and translate the user-exported audio into machine-encoded text. For example, coating color analysis software 105 can be configured to receive user-exported audio from a voice recognition system installed on computer system 100. Alternatively, the voice recognition system can translate the user-exported audio into machine-encoded text and then send the machine-encoded text to coating color analysis software 105.
[0026] The user-provided digital image 115 may include a color or black-and-white photograph of the vehicle, showing at least a portion of the vehicle's body. The interface module 120 provides an interface for identifying the angle at which the user-provided digital image 115 was taken. The interface module 120 may also provide an interface for uploading more than one image of the vehicle from multiple angles. The image processing module 125 can be configured to identify the viewing angle of the user-provided digital image 115 without user input.
[0027] like Figure 1 As shown, interface module 120 can communicate with image processing module 125 and is configured to send a user-provided digital image 115 to image processing module 125. Image processing module 125 can access one or more vehicle templates in vehicle template database 130 and map matching vehicle templates to vehicles in user-provided digital image 115. Matching vehicle templates may include associated metadata, which includes one or more vehicle characteristics, including one or more associated color codes.
[0028] The vehicle template may include a digital description of the physical visual characteristics of a particular vehicle. In some cases, the vehicle template may include labeled vehicle-related data that can be loaded into a neural network. The vehicle template may also be associated with metadata describing various aspects of the underlying vehicle. The metadata may include vehicle characteristics such as model, brand, style, year, color, and one or more associated color codes. After a matching vehicle template is mapped to a vehicle within a user-provided digital image 115, the image processing module 125 may identify vehicle characteristics based on the metadata associated with the matching vehicle template.
[0029] The vehicle template may include a line drawing of the vehicle. The vehicle template may also include a three-dimensional model of the vehicle. Therefore, the image processing module 125 can map a matching vehicle template to the vehicle in the user-provided digital image 115 via line matching. The image processing module 125 can also be configured to automatically adjust the size of the matching vehicle template to align with the vehicle in the user-provided digital image 115. Thus, the vehicle template can be matched by matching various vehicle templates and selecting the one with the least difference (e.g., structural difference) through line matching.
[0030] The vehicle template may also include color elements, and the image processing module 125 may be configured to determine the color of the vehicle in the user-provided digital image 115 and map the color-matched matching vehicle template to the vehicle. Therefore, the color matching of the matching vehicle template further matches the determined color of the vehicle in the user-provided digital image 115 with the color information of the vehicle template, wherein the matching is performed when the quantitative difference in color within a specific color space is, for example, "difference e(ΔE) is less than X".
[0031] Alternatively, the image processing module 125 may include a machine learning algorithm configured to recognize vehicle characteristics within a user-provided digital image 115. The machine learning algorithm can be taught using annotated vehicle templates stored in a vehicle template database 130. In some cases, the machine learning algorithm may also map the identified vehicles to vehicle templates in the vehicle template database 130. The machine learning algorithm may include any number of different object recognition and classification algorithms, including convolutional neural networks. Information can then be collected from metadata associated with the vehicle templates.
[0032] The vehicle template database 130 may contain a subset of the database organized based on user-provided information. For example, if the user indicates that the vehicle is a Toyota, then the vehicle template database 130 may contain a subset of the database with vehicle templates specific to Toyota vehicles. Alternatively, the image processing module 125 may first determine the color of the vehicle in the user-provided digital image 115, and the vehicle template database 130 may contain a subset of the database with vehicle templates specific to the identified color. For example, a particular vehicle model may have eight different factory colors. The vehicle template database 130 may include vehicle templates for vehicle models with each of the eight different factory colors.
[0033] Additionally, the image processing module 125 can identify color values associated with a vehicle within a user-provided digital image 115. The color values associated with the vehicle can be RGB values. Alternatively, the color values can be color schemes (e.g., white, red, blue, silver). The image processing module can also calculate the closest match of the identified color values associated with the vehicle from one or more associated color codes. The closest match can be determined by comparing quantitative differences in a specific color space, such as "difference e(ΔE) is less than X". The closest match can represent the most likely color code of the car.
[0034] like Figure 1 As shown, the image processing module 125 can communicate with the computer system 100 via network connection 110 and is configured to send the closest match 145 to the computer system 100. The subject, variant, and specific body of the closest match 145 can also be sent to the computer system 100. Alternatively, the interface module 120 can be configured to display the identified vehicle characteristics based on metadata associated with the matching vehicle template.
[0035] Alternatively or concurrently, the image processing module may include an intelligent learning color calibration process. For example, interface module 120 or image processing module 125 may be configured to receive user feedback from computer system 100 that the closest matching color code is incorrect. Interface module 120 or image processing module 125 may be further configured to receive an indication from the user that the correct color code for the vehicle is correct. Based on the change between the incorrect closest matching color code and the color code identified by the user, the image processing module may calculate a color shift distribution curve. Image processing module 125 may apply the color shift distribution curve to subsequent user-provided digital images, including camera and lighting characteristics applied to user-provided digital images 115. Image processing module 125 may make alternative or additional modifications to the user-provided digital image before calculating the closest match 145.
[0036] Alternatively, the image processing module 125 may determine whether the vehicle 115 has been repainted. For example, the image processing module 125 may be configured to identify when the closest match falls outside a predetermined threshold, such as "difference e (ΔE) is less than X". If the closest match is identified as falling outside that threshold, then the image processing module 125 may be configured to send an indication that the vehicle may have been repainted to the computer system 100. As discussed above, the image processing module 125 may be configured to send confidence information to the computer system 100 based on the quantitative difference between the identified color value and the color code.
[0037] The user-provided digital image 115 may additionally or alternatively include a photograph of image text associated with a vehicle. The image text may contain the vehicle's VIN, color code, brand, model, and / or year. The image processing module 125 may be configured to recognize the image text within the user-provided digital image 115 and subsequently translate the recognized image text into machine-encoded text using optical character recognition (OCR) technology. If the image text includes a VIN, then the image processing module 125 may communicate with a VIN database 135. The image processing module 125 can thus search the VIN database 135 using machine-encoded text and identify vehicle characteristics. Alternatively, the vehicle template database 130 may include a VIN lookup table.
[0038] VIN database 135 may include multiple lookup tables corresponding to specific letters or numbers in the VIN. For example, the VIN database may include a manufacturer lookup table. Image processing module 125 can use the second and third digits of the VIN to search the manufacturer lookup table and identify the manufacturer. Similarly, the VIN database may include a vehicle descriptor lookup table. Image processing module 125 can use the fourth to eighth digits of the VIN to search the vehicle descriptor lookup table and identify the vehicle's brand, engine size, and type. Alternatively, the image processing module may use a machine learning algorithm to identify vehicle characteristics based on the VIN. Annotated VINs stored in VIN database 135 can be used to teach the machine learning algorithm. Interface module 120 may be configured to display the identified vehicle characteristics to a user based on the VIN.
[0039] The VIN database may additionally include a color code lookup table. Image processing module 125 can search the color code lookup table using the identified vehicle characteristics and identify possible color codes based on the vehicle's brand, model, year, etc. For example, image processing module 125 can identify nine possible color codes for a 2014 Toyota Corolla in the color code lookup table. If other information about the vehicle is unknown, image processing module 125 can be configured to send all possible color codes to computer system 100 via network 110. If a user identifies the vehicle's color, or identifies the vehicle's color from a user-provided digital image 115, image processing module 125 can filter possible color codes before sending them to computer system 100. For example, if the user or image processing module 125 identifies the 2014 Toyota Corolla as white, image processing module 125 can be configured to send white codes (e.g., Blizzard / Pearl Crystal White 070 and Super White 040) to computer system color 100.
[0040] The image processing module 125 can also be configured to identify repair areas within the user-provided digital image 115. The image processing module 125 can detect repair areas by identifying differences between the mapped vehicle template and the vehicle. The image processing module 125 can access repair templates in the repair template database 140 and map matching repair templates to repair areas within the user-provided digital image 115. The repair template database 140 can be organized into subsets based on vehicle characteristics or repair area characteristics.
[0041] Repair templates can include a digital description of the physical visual characteristics of a specific repair. Similar to vehicle templates, repair templates can include labeled data related to the repair that can be loaded into a neural network. Repair templates may also be associated with metadata describing various aspects of the underlying repair. This metadata may include a detailed description of the repair, an estimated repair cost, and an estimated requirement for repair paint usage.
[0042] The repair template may include a line drawing of the vehicle. Therefore, the image processing module 125 can map a matching repair template onto a repair area in the user-provided digital image 115 via line matching. The image processing module 125 can also be configured to automatically adjust the size or angle of the matching repair template to align with the repair area in the user-provided digital image 115.
[0043] Alternatively, the image processing module 125 may include a machine learning algorithm configured to identify repair areas within a user-provided digital image 115. The machine learning algorithm can be taught using annotated repair templates stored in the repair template database 140. In some cases, the machine learning algorithm may also map the identified repair areas to repair templates in the vehicle template database 130. The machine learning algorithm may include any number of different object recognition and classification algorithms, including convolutional neural networks. Information can then be collected from metadata associated with the repair templates.
[0044] After a matching maintenance template is mapped to a maintenance area within a user-provided digital image 115, the image processing module 125 can identify maintenance characteristics 150 based on metadata associated with the matching maintenance template. The image processing module 125 can communicate with the computer system 100 via network connection 110 and is configured to send the identified maintenance characteristics 150 to the computer system 100. Alternatively, the interface module 120 can be configured to display the identified maintenance characteristics 150 based on metadata associated with the matching maintenance template.
[0045] Additionally, the image processing module 125 can parse the repair area from the user-provided digital image 115 and create a modified user-provided digital image 700 (not shown, see [link]) by replacing at least one parsed repair area with visual data from a matching vehicle template. Figure 7 Image processing module 125 may be configured to send a modified user-provided digital image to computer system 100 via network 110. Alternatively, interface module 120 may be configured to display a modified user-provided digital image 700 (not shown, see [link]) to the user. Figure 7 ).
[0046] Figure 2 A user-provided digital image 115 depicts an exemplary example. Figure 2 The angle of the user-provided digital image 115 shown is illustrative only. The user-provided digital image 115 can be obtained from any angle. The user-provided digital image 115 includes the vehicle 200 and the maintenance area 205.
[0047] Figure 3 This depicts a portion of an exemplary vehicle template database 130, including vehicle templates 300a-300c. As shown, the vehicle template database 130 contains... Figure 1 The color and shape of the vehicle 200 shown are corresponding to vehicle template 300a. Vehicle template database 130 also contains vehicle template 300b, which includes... Figure 1 Vehicle 200 has the same shape but a different color. Vehicle template 300c does not have this feature. Figure 2The corresponding color and shape of the vehicle 200 shown are both included. Alternatively, the vehicle template database 130 may be organized into subsets of the vehicle template database based on vehicle characteristics.
[0048] Figure 4 A user-provided digital image 115 is shown, in which a matching vehicle template 300a has been mapped to vehicle 200. As described above, image processing module 125 can map the matching vehicle template 300a via line matching and / or color matching. Image processing module 125 can also be configured to adjust the size of the matching vehicle template 300a to align with vehicle 200.
[0049] The matching vehicle template 300a can be associated with metadata describing various aspects of the base vehicle 200. This metadata may include vehicle characteristics such as model, brand, style, year, color, and at least one color code. As stated above, the image processing module 125 can communicate with the computer system 100 via network connection 110 and is configured to send at least one identified closest match 145 to the computer system 100. Alternatively, the interface module 120 may be configured to display the identified vehicle characteristics based on the metadata associated with the matching vehicle template 300a.
[0050] like Figure 4 As shown, the repair area 205 is unmapped because the corresponding vehicle template 300a does not contain the same repair area. The image processing module 125 can be configured to detect the repair area 205 by identifying differences between the mapped corresponding vehicle template 300a and the vehicle 200. For example, the depicted repair area 205 may include a dent in the front driver's side panel. The vehicle template 300a will not include an equivalent dent. Therefore, the vehicle template 300a can be digitally overlaid onto the user-provided digital image 115. A difference calculation can then be performed to identify a predetermined threshold difference between the front driver's side panel (i.e., the repair area) and the vehicle template. The predetermined threshold may include volume, color, line matching deviation, or several other difference measurements.
[0051] After identifying a difference at the front driver's side panel, the image processing module 125 can immediately access the repair template in the repair template database 150, such as... Figure 5 As shown. Figure 5 This describes a portion of an exemplary subset of a repair template database within a repair template database 150, which includes vehicle-specific repair templates 500a-500c. Repair template 500a includes the same repair area as repair area 205 in the user-provided digital image 115. Alternatively, the subset of the repair template database may include repair templates for vehicle-specific areas (e.g., the right front bumper).
[0052] Figure 6 A user-provided digital image 115 is shown, in which a matching repair template 500a has been mapped to the repair area 205. As described above, the image processing module 125 maps the matching repair template 500a by minimizing the differences between subsets of available repair templates. For example, multiple repair templates may exist, including one showing damage to the front driver's side panel. The image processing module 125 can compare each of the templates associated with damage to the front driver's side panel with the user-provided digital image 115 until the closest match is identified. The closest match can be identified by minimizing volumetric differences between the template and the user-provided digital image, by minimizing differences between line matches, or by minimizing any number of other difference measurements. The image processing module 125 can also be configured to adjust the size or angle of the matching repair template 500a to align with the repair area 205.
[0053] The conforming maintenance template 500a can be associated with metadata describing various aspects of a basic maintenance. This metadata may include a detailed specification of the maintenance, the estimated maintenance cost, and the estimated maintenance paint usage requirements. After the conforming maintenance template 500a is mapped to the maintenance area 205, the image processing module 125 can identify maintenance characteristics based on the metadata associated with the conforming maintenance template 500a. The image processing module 125 can communicate with the computer system 100 via network connection 110 and is configured to send the identified maintenance characteristics to the computer system 100.
[0054] For example, in one scenario, minor damage to the front driver's side panel is mapped to a matching repair template 500a associated with specifically identical minor damage. That matching repair template 500a is associated with metadata indicating that vehicle body fillers and paint are available to repair the damage. This metadata may also indicate the expected cost associated with a minor repair. In contrast, in another scenario, severe damage to the front driver's side panel is mapped to a matching repair template 500a associated with specifically identical severe damage. That matching repair template 500a is associated with metadata indicating that the entire front driver's side panel must be replaced and repainted to match the rest of the vehicle. This metadata may indicate the relatively higher expected cost associated with a major repair.
[0055] It will be understood that the examples provided above are for clarity and simplicity. The same methods and systems can be applied to damage in other areas of the vehicle. Furthermore, the same methods and systems can be applied to damage in multiple areas of the vehicle. For example, the front driver's side panel, hood, and driver's side door panel of the vehicle may have been damaged. In such cases, repair templates for these identical repair areas 205 can be mapped to a digital image of the car. Similarly, multiple different repair templates can each be mapped to different corresponding areas of the car. For example, a first repair template can be mapped to the front driver's side panel, a second repair template to the hood, and a third repair template to the driver's side door panel. The metadata associated with each template can then be aggregated to identify potential costs and components associated with the repair.
[0056] Figure 7 The image shows a modified user-provided digital image 700, in which a repair area is parsed from a user-provided digital image 115 and replaced with visual data from a matching vehicle template. (See image 700.) Figure 7 As shown, the modified user-provided digital image 700 includes vehicle 200 but excludes the maintenance area 205. Image processing module 125 may be configured to send the modified user-provided digital image 700 to computer system 100 via network 110. Alternatively, interface module 120 may be configured to display the modified user-provided digital image 700.
[0057] Figure 8 This describes a method 800 for identifying coating colors using digital images. (Example) Figure 8 As shown, action 805 includes receiving a digital image provided by a user of the vehicle. Action 805 includes receiving a digital image provided by a user of the vehicle via a network connection. For example, as... Figure 1 As depicted, a user can use computer system 100 to upload a user-provided digital image 115 to coating color analysis software 105 via network connection 110. Interface module 120 provides an interface for selecting available digital images and uploading the user-provided digital image 115 to coating color analysis software 105. Alternatively, interface module 120 may allow the user to type, speak, or otherwise identify details about the vehicle (e.g., brand, model, color, etc.).
[0058] The user-provided digital image 115 may include a color photograph of the vehicle, showing at least a portion of the vehicle's body. The interface module 120 provides an interface for identifying the angle at which the user-provided digital image 115 was taken. The interface module 120 may also provide an interface for uploading more than one image of the vehicle from multiple angles. The image processing module 125 can be configured to identify the viewing angle of the user-provided digital image 115 without user input.
[0059] In addition, such as Figure 8 As shown, action 810 includes accessing one or more vehicle templates. Action 805 includes accessing one or more vehicle templates within a vehicle template database. For example, as... Figure 1 As shown, the image processing module 125 can access the vehicle template database 130.
[0060] Figure 8 Additionally, action 815 includes mapping at least one matching vehicle template to a vehicle within a user-provided digital image. Action 815 includes mapping at least one matching vehicle template to a vehicle within a user-provided digital image, wherein the at least one matching vehicle template includes associated metadata, the associated metadata including one or more vehicle characteristics, the vehicle characteristics including one or more associated color codes.
[0061] For example, such as Figure 4 As depicted, image processing module 125 can map a matching vehicle template 300a to a vehicle 200 within a user-provided digital image 115. The vehicle template may include a digital description of the physical visual characteristics of a particular vehicle. In some cases, the vehicle template may include labeled vehicle-related data that can be loaded into a neural network. The vehicle template may also be associated with metadata describing various aspects of the underlying vehicle. This metadata may include vehicle characteristics such as model, brand, style, year, color, and one or more associated color codes. After the matching vehicle template is mapped to the vehicle within the user-provided digital image 115, image processing module 125 can identify vehicle characteristics based on the metadata associated with the matching vehicle template.
[0062] The vehicle template may include a line drawing of the vehicle. The vehicle template may also include a three-dimensional model of the vehicle. Therefore, the image processing module 125 can map a matching vehicle template to the vehicle in the user-provided digital image 115 via line matching. The image processing module 125 can also be configured to automatically adjust the size of the matching vehicle template to align with the vehicle in the user-provided digital image 115. Thus, the vehicle template can be matched by matching various vehicle templates and selecting the one with the least difference (e.g., structural difference) through line matching.
[0063] The vehicle template may also include color elements, and the image processing module 125 may be configured to determine the color of the vehicle in the user-provided digital image 115 and map the color-matched matching vehicle template to the vehicle. Therefore, the color matching of the matching vehicle template further matches the determined color of the vehicle in the user-provided digital image 115 with the color information of the vehicle template, wherein the matching is performed when the quantitative difference in color within a specific color space is, for example, "difference e(ΔE) is less than X".
[0064] Additionally, action 820 includes identifying color values associated with a vehicle within a user-provided digital image. Action 820 includes identifying color values associated with a vehicle within a user-provided digital image via an image processing module. For example, the color values associated with a vehicle may be RGB values.
[0065] like Figure 8 As shown, action 825 includes calculating the closest match of the identified color value associated with the vehicle from one or more associated color codes. For example, the closest match can be determined by comparing quantitative differences in a specific color space, such as "difference e(ΔE) is less than X".
[0066] Finally, action 830 includes providing the user with the calculated closest match. For example, such as... Figure 1 As shown, the image processing module 125 can communicate with the computer system 100 via network connection 110 and is configured to send the closest match 145 to the computer system 100. Alternatively, the interface module 120 can be configured to display the identified vehicle characteristics based on metadata associated with the matching vehicle template.
[0067] Although the subject matter has been described in language specific to structural features and / or methodological actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the aforementioned features or actions, or the order of the aforementioned actions. In fact, the described features and actions are disclosed as examples of implementing the claims.
[0068] A computer system may include or utilize a special-purpose or general-purpose computer system, which includes computer hardware such as, for example, one or more processors and system memory, as discussed in more detail below. A computer system may also include physical and other computer-readable media for carrying or storing computer-executable instructions and / or data structures. Such computer-readable media may be any available media accessible by a general-purpose or special-purpose computer system. Computer-readable media storing computer-executable instructions and / or data structures are computer storage media. Computer-readable media carrying computer-executable instructions and / or data structures are transmission media. Thus, by way of example and not limitation, a computer system may include at least two distinct types of computer-readable media: computer storage media and transmission media.
[0069] Computer storage media are physical storage media that store computer-executable instructions and / or data structures. Physical storage media include computer hardware such as RAM, ROM, EEPROM, solid-state drives (“SSDs”), flash memory, phase-change memory (“PCM”), optical disc storage devices, magnetic disk storage devices or other magnetic storage devices, or any other hardware storage device that can be used to store program code in the form of computer-executable instructions or data structures, which can be accessed and executed by general-purpose or special-purpose computer systems to perform the functions disclosed by the computer system.
[0070] The transmission medium may include a network and / or a data link, which may be used to carry program code in the form of computer-executable instructions or data structures and may be accessed by a general-purpose or special-purpose computer system. A “network” is defined as one or more data links capable of enabling the transmission of electronic data between computer systems and / or modules and / or other electronic devices. A computer system may consider a network or another communication connection (hardwired, wireless, or a combination of hardwired and wireless) as a transmission medium when information is transmitted or provided to the computer system. Combinations of the foregoing should also be included within the scope of computer-readable media.
[0071] Furthermore, upon arrival at various computer system components, program code in the form of computer-executable instructions or data structures can be automatically transferred from the transmission medium to the computer storage medium (or vice versa). For example, computer-executable instructions or data structures received via a network or data link can be cached in the RAM within a network interface module (e.g., a "NIC") and then ultimately transferred to the computer system RAM and / or the low-volatility computer storage medium at the computer system. Therefore, it should be understood that computer storage media can be contained within computer system components that also (or even primarily) utilize the transmission medium.
[0072] Computer-executable instructions include, for example, instructions and data that, when executed at one or more processors, cause a general-purpose computer system, a special-purpose computer system, or a special-purpose processing device to perform a function or a set of functions. Computer-executable instructions can be, for example, binary, intermediate format instructions (e.g., assembly language), or even source code.
[0073] Those skilled in the art will understand that computer systems can be implemented in networked computing environments with various types of computer system configurations, including personal computers, desktop computers, laptop computers, message processors, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframes, mobile phones, PDAs, tablets, pagers, routers, switches, etc. Computer systems can also be implemented in distributed system environments, where both local and remote computer systems perform tasks via network links (via hardwired data links, wireless data links, or a combination of hardwired and wireless data links). Therefore, in a distributed system environment, a computer system can comprise multiple constituent computer systems. In a distributed system environment, program modules can reside on both local and remote memory storage devices.
[0074] Those skilled in the art will also understand that computer systems can be implemented in cloud computing environments. Cloud computing environments can be distributed, but this is not required. When distributed, a cloud computing environment can be distributed internationally within an organization and / or have components owned across multiple organizations. In this specification and the appended claims, “cloud computing” is defined as a model for enabling on-demand networked access to a shared pool of configurable computing resources, such as networks, servers, storage devices, applications, and services. The definition of “cloud computing” is not limited to any of the many other advantages that can be obtained from such a model when properly deployed.
[0075] Cloud computing models can be composed of various characteristics (e.g., on-demand self-service, wide network access, resource pooling, rapid elasticity, measurable services, etc.). Cloud computing models can also take the form of various service models (e.g., Software as a Service (“SaaS”), Platform as a Service (“PaaS”), and Infrastructure as a Service (“IaaS”). Furthermore, different deployment models (e.g., private cloud, community cloud, public cloud, hybrid cloud, etc.) can be used to deploy cloud computing models.
[0076] A cloud computing environment may include a system comprising one or more hosts, each capable of running one or more virtual machines (VMs). During operation, the VMs emulate the operating computing system, thereby supporting an operating system and possibly one or more other applications. Each host may include a supermonitor, which uses physical resources, which are abstracted from the VM's perspective, to simulate the VM's virtual resources. The supermonitor also provides appropriate separation between VMs. Thus, from the perspective of any given VM, the supermonitor provides an illusion of the VM interfacing with physical resources, even if the VM only interfaces with the appearance of physical resources (e.g., virtual resources). Instances of physical resources include processing power, memory, disk space, network bandwidth, media drives, etc.
[0077] In view of the foregoing, the computer system of the present invention relates to, for example, but not limited to, the following aspects and configurations.
[0078] For example, in a first aspect, a computer system for recognizing coating colors using a digital image may include one or more processors; and one or more computer-readable media storing executable instructions that, when executed by the one or more processors, configure the computer system to, in particular, perform at least the following operations when executing a computerized method according to any one of aspects thirteen to twenty-one: receiving a user-provided digital image of a vehicle via a network connection; accessing one or more vehicle templates in a vehicle template database; mapping at least one matching vehicle template to the vehicle in the user-provided digital image, wherein the at least one matching vehicle template includes associated metadata, the associated metadata including one or more vehicle characteristics, the vehicle characteristics including one or more associated color codes; identifying color values associated with the vehicle in the user-provided digital image via an image processing module; and calculating the closest match of the identified color values associated with the vehicle from the one or more associated color codes.
[0079] In the second aspect, in the computer system described in the first aspect, the color value associated with the vehicle is an RGB value. In the third aspect, in the computer system described in either the first or second aspect, the image processing module is configured to determine the color of the vehicle in the user-provided digital image and map a color-matching matching vehicle template to the vehicle, wherein at least one color-matching matching vehicle template includes associated metadata, the associated metadata including the one or more vehicle characteristics. In the fourth aspect, in the computer system described in any one of the first to third aspects, the executable instructions include instructions executable to configure the computer system to provide the user with the associated metadata including the one or more vehicle characteristics. In the fifth aspect, in the computer system described in any one of the first to fourth aspects, the executable instructions include instructions executable to configure the computer system to perform the following operations: receive user feedback that the closest match is incorrect; calculate a color shift distribution curve; and apply the color shift distribution curve to the user-provided digital image of the vehicle, including camera and lighting characteristics of the user-provided digital image of the vehicle.
[0080] In a sixth aspect, in the computer system of any one of the first to fifth aspects, the executable instructions include instructions executable to configure the computer system to: identify that the closest match falls outside a predetermined threshold; and provide a user with an indication that the vehicle may be repainted. In a seventh aspect, in the computer system of any one of the first to sixth aspects, the executable instructions include instructions executable to configure the computer system to identify at least one repair area within the user-provided digital image. In an eighth aspect, in the computer system of the seventh aspect, the step of identifying at least one repair area within the user-provided digital image includes: detecting at least one repair area that is different from the vehicle from at least one mapped matching vehicle template; accessing one or more repair templates in a repair template database; and mapping at least one matching repair template to the at least one repair area within the user-provided digital image.
[0081] In a ninth aspect, in the computer system described in the seventh and eighth aspects, the executable instructions include instructions executable to configure the computer system to perform: parsing the at least one repair area from the user-provided digital image; and creating a modified user-provided digital image by replacing the parsed at least one repair area with visual data from the at least one matching vehicle template. In a tenth aspect, in the computer system described in any one of the first to ninth aspects, the executable instructions include instructions executable to configure the computer system to recognize image text within the user-provided digital image. In an eleventh aspect, in the computer system described in any one of the first to tenth aspects, the image processing module may include a machine learning algorithm. In a twelfth aspect, in the computer system described in any one of the first to eleventh aspects, the executable instructions include instructions executable to configure the computer system to perform: receiving user-derived audio including one or more vehicle characteristics via the network connection; and translating the user-derived audio into machine-encoded text.
[0082] In another configuration of the invention, a computerized method for use on a computer system comprising one or more processors and one or more computer-readable media storing executable instructions, which, when executed by the one or more processors, configure the computer system to, for example, perform a method for recognizing coating colors using a digital image on the computer system as defined in the first to twelfth aspects. The method may include: receiving a user-provided digital image of a vehicle via a network connection; accessing one or more vehicle templates in a vehicle template database; mapping at least one matching vehicle template to the vehicle within the user-provided digital image, wherein the at least one matching vehicle template may contain associated metadata, the associated metadata including one or more vehicle characteristics, the vehicle characteristics including one or more associated color codes; identifying color values associated with the vehicle within the user-provided digital image via an image processing module, wherein the color values are RGB values; calculating the closest match of the identified color value associated with the vehicle from the one or more associated color codes; and providing the calculated closest match to the user.
[0083] In the fourteenth aspect, in the computerized method of the thirteenth aspect, the image processing module is configured to determine the color of the vehicle in the user-provided digital image and map a color-matching matching vehicle template to the vehicle, wherein at least one color-matching matching vehicle template may contain associated metadata, the associated metadata including the one or more vehicle characteristics. In the fifteenth aspect, in the computerized method of any one of the thirteenth to fourteenth aspects, the method may further include providing the user with the associated metadata including the one or more vehicle characteristics. In the sixteenth aspect, the computerized method of any one of the thirteenth to fourteenth aspects may further include receiving user feedback that the calculated closest match is incorrect; calculating a color shift distribution curve; and applying the color shift distribution curve to the user-provided digital image of the vehicle, including applying camera and lighting characteristics of the user-provided digital image of the vehicle. In the seventeenth aspect, the computerized method of any one of the thirteenth to sixteenth aspects may further include identifying that the closest match falls outside a predetermined threshold; and providing the user with an indication that the vehicle may have been repainted.
[0084] In the eighteenth aspect, the computerized method of any one of aspects thirteen to seventeen may further include identifying at least one repair area within the user-provided digital image. In the computerized method of the eighteenth aspect, the step of identifying at least one repair area within the user-provided digital image may include: detecting at least one repair area that is different from the vehicle from at least one mapped matching vehicle template; accessing a subset of one or more repair templates in a repair template database; and mapping at least one matching repair template to the at least one repair area within the user-provided digital image. In the twentieth aspect, in the computerized method of any one of aspects thirteen to nineteen, the executable instructions include instructions executable to configure the computer system to perform: parsing the at least one repair area from the user-provided digital image; and creating a modified user-provided digital image by replacing the parsed at least one repair area with visual data from the at least one matching vehicle template.
[0085] In the twenty-first aspect, in any one of the thirteenth to twentieth aspects, the process of identifying one or more vehicle characteristics within the user-provided digital image by the image processing module may include: identifying image text within the user-provided digital image; and translating the identified image text into machine-encoded text using optical character recognition technology.
[0086] In another configuration, the twenty-second aspect of the invention may include a computer program product comprising one or more computer storage media storing computer-executable instructions, which, when executed at a processor, cause a computer system, specifically, to perform a computerized method according to any one of claims thirteen to twenty-one, for example, to perform a method for recognizing coating colors using digital images on a computer system as defined in the first to twelfth aspects, the method comprising: receiving a digital image of a vehicle provided by a user via a network connection; accessing one or more vehicle templates in a vehicle template database; and mapping at least one matching vehicle template to the vehicle in the digital image provided by the user. The system includes: identifying color values associated with the vehicle within a user-provided digital image using an image processing module; calculating the closest match of the identified color values associated with the vehicle from the one or more associated color codes; providing the calculated closest match to the user; receiving user feedback that the calculated closest match is incorrect; calculating a color shift distribution curve; and applying the color shift distribution curve to the user-provided digital image of the vehicle, including applying camera and lighting characteristics of the user-provided digital image of the vehicle.
Claims
1. A computer system for recognizing coating colors using digital images, comprising: One or more processors; as well as One or more computer-readable media storing executable instructions that, when executed by the one or more processors, configure the computer system to perform at least the following operations: Receive digital images provided by the vehicle user via network connection; Access one or more vehicle templates in the vehicle template database; Map at least one matching vehicle template to the vehicle within the user-provided digital image. The at least one matching vehicle template includes associated metadata, which includes one or more vehicle characteristics, and the one or more vehicle characteristics contain one or more associated color codes; The image processing module identifies the color values associated with the vehicle within the digital image provided by the user; and Calculate the closest match of the identified color value associated with the vehicle from the one or more associated color codes.
2. The computer system of claim 1, wherein the color value associated with the vehicle is an RGB value.
3. The computer system according to claim 1 or 2, wherein: The image processing module is configured to determine the color of the vehicle in the digital image provided by the user and map a color-matching vehicle template to the vehicle; and At least one color-matching matching vehicle template includes associated metadata, which includes the one or more vehicle characteristics.
4. The computer system of claim 1 or 2, wherein the executable instructions comprise instructions executable to configure the computer system to provide a user with the associated metadata including the one or more vehicle characteristics.
5. The computer system of claim 1 or 2, wherein the executable instructions comprise instructions executable to configure the computer system to perform the following operations: Receive user feedback that the closest match is incorrect; Calculate the color shift distribution curve; and The color shift distribution curve is applied to a user-provided digital image of the vehicle, including the camera and lighting characteristics of the user-provided digital image of the vehicle.
6. The computer system of claim 1 or 2, wherein the executable instructions comprise instructions executable to configure the computer system to perform the following operations: Identify the closest match as falling outside a predetermined threshold; Provide the user with an indication that the vehicle may need to be repainted.
7. The computer system of claim 1 or 2, wherein the executable instructions include instructions executable to configure the computer system to identify at least one repair area within the digital image provided by the user.
8. The computer system of claim 7, wherein identifying at least one repair area within the user-provided digital image comprises: Detect at least one maintenance area that is different from the vehicle and at least one matching vehicle template mapped thereon; Access one or more maintenance templates in the maintenance template database; as well as Map at least one matching repair template to at least one repair area within the digital image provided by the user.
9. The computer system of claim 7, wherein the executable instructions comprise instructions executable to configure the computer system to perform the following operations: Analyze the at least one repair area from the digital image provided by the user; and A modified user-provided digital image is created by replacing at least one parsed repair area with visual data from at least one matching vehicle template.
10. The computer system of claim 1 or 2, wherein the executable instructions include instructions executable to configure the computer system to recognize image text within the digital image provided by the user.
11. The computer system according to claim 1 or 2, wherein the image processing module includes a machine learning algorithm.
12. The computer system of claim 1 or 2, wherein the executable instructions comprise instructions executable to configure the computer system to perform the following operations: Receive user-exported audio, including one or more vehicle characteristics, via the network connection; and Translate the user-exported audio into machine-encoded text.
13. A computerized method for use on a computer system, the computer system including one or more processors and one or more computer-readable media storing executable instructions, which, when executed by the one or more processors, configure the computer system to perform a method for recognizing coating colors using a digital image, the method comprising: Receive digital images provided by the vehicle user via network connection; Access one or more vehicle templates in the vehicle template database; Map at least one matching vehicle template to the vehicle within the user-provided digital image. The at least one matching vehicle template includes associated metadata, which includes one or more vehicle characteristics, and the one or more vehicle characteristics contain one or more associated color codes; The image processing module identifies color values associated with the vehicle within the digital image provided by the user, wherein the color values are RGB values. Calculate the closest match of the identified color value associated with the vehicle from the one or more associated color codes; as well as Provide the user with the closest match calculated.
14. The computerized method according to claim 13, wherein: The image processing module is configured to determine the color of the vehicle in the digital image provided by the user and map a color-matching vehicle template to the vehicle; and At least one color-matching matching vehicle template includes associated metadata, which includes the one or more vehicle characteristics.
15. The computerized method of claim 13 or 14, further comprising providing a user with the associated metadata including the one or more vehicle characteristics.
16. The computerized method according to claim 13 or 14, further comprising: Receive user feedback that the calculated closest match is incorrect; Calculate the color shift distribution curve; as well as The color shift distribution curve is applied to a user-provided digital image of the vehicle, including the camera and lighting characteristics of the user-provided digital image of the vehicle.
17. The computerized method according to claim 13 or 14, further comprising: Identify the closest match as falling outside a predetermined threshold; as well as The user is provided with an indication that the vehicle may need to be repainted.
18. The computerized method according to claim 13 or 14, further comprising identifying at least one repair area within the digital image provided by the user.
19. The computerized method of claim 18, wherein identifying at least one repair area within the user-provided digital image comprises: Detect at least one maintenance area that is different from the vehicle and at least one matching vehicle template mapped thereon; Access one or more subsets of the maintenance template database; as well as Map at least one matching repair template to at least one repair area within the digital image provided by the user.
20. The computerized method of claim 13 or 14, wherein the executable instructions comprise instructions executable to configure the computer system to perform the following operations: Analyze the at least one repair area from the digital image provided by the user; and A modified user-provided digital image is created by replacing at least one parsed repair area with visual data from at least one matching vehicle template.
21. The computerized method according to claim 13 or 14, wherein identifying the one or more vehicle characteristics within the user-provided digital image via the image processing module comprises: Identify image text within the digital image provided by the user; as well as Optical character recognition technology is used to translate the identified image text into machine-coded text.
22. A computer program product comprising one or more computer storage media storing computer-executable instructions, which, when executed at a processor, cause a computer system to perform a method for recognizing coating colors using a digital image, the method comprising: Receive digital images provided by the vehicle user via network connection; Access one or more vehicle templates in the vehicle template database; Map at least one matching vehicle template to the vehicle within the user-provided digital image. The at least one matching vehicle template includes associated metadata, which includes one or more vehicle characteristics, and the one or more vehicle characteristics contain one or more associated color codes; The image processing module identifies the color values associated with the vehicle within the digital image provided by the user. Calculate the closest match of the identified color value associated with the vehicle from the one or more associated color codes; Provide the user with the calculated closest match; Receive user feedback that the calculated closest match is incorrect; Calculate the color shift distribution curve; as well as The color shift distribution curve is applied to a user-provided digital image of the vehicle, including the camera and lighting characteristics of the user-provided digital image of the vehicle.