IP Library Granted Patent US 12,361,613
Granted Patent B2
US 12,361,613 · App. 17/717,871 · Granted Jul 15, 2025

Augmentation of digital images with simulated surface coatings

Inventors: Preston Williams (Bay Village, OH); Brendan Do (North Ridgeville, OH); Daniel Cody Richmond (North Ridgeville, OH); Michael Dowell (Aurora, OH)
Assignee: SWIMC LLC
G06T11/60G06Q30/0631G06T7/10G06T7/13G06T7/90G06T11/001G06V10/44G06V10/764G06V10/82G06V20/00G06V20/50G06T2200/24
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,361,613
App. No.
17/717,871
Granted
Jul 15, 2025
Kind
B2
Abstract

A coating product selection system and method. Recognized objects in an input image can be used to determine one or more dominant colors for determining recommended coating products. An image augmentation system and method for simulating the application of a coating to a surface of the image in a scene. A scene record can store data records related to visualization of a scene such that multiple scene visualization clients can present painted images augmented based on assigned coatings.

Claims (53)

1. A coating product selection system comprising:

one or more memories and one or more processors configured to:

receive an input image,

perform searches to detect a plurality of recognized objects depicted in the input image;

generate a plurality of first image segments, each respective first image segment of the plurality of first image segments comprising pixels of the input image that depict a respective recognized object of the plurality of recognized objects and not pixels of the input image that do not depict the respective recognized object;

generate a plurality of eroded image segmentations for paintable surfaces corresponding to respective ones of the recognized objects, wherein the eroded image segmentations for the paintable surfaces comprise reduced size copies of the first image segments;

replace the plurality of first image segments with a plurality of second image segments, wherein to replace the plurality of first image segments with the plurality of second image segments, the one or more processors, for each respective recognized object of the plurality of recognized objects:

apply a graph cut algorithm to generate a second image segment, of the plurality of second image segments, for a respective paintable surface, wherein:

the respective paintable surface corresponds to the respective recognized object,

the graph cut algorithm uses a plurality of foreground seed points and a plurality of background seed points,

an eroded image segmentation, of the plurality of eroded image segmentations, for the respective paintable surface is used as the foreground seed points, and

eroded image segmentations, of the plurality of eroded image segmentations, for paintable surfaces corresponding to other ones of the recognized objects are used as the background seed points; and

replace a first image segment, of the plurality of first image segments, for the respective paintable surface with the second image segment for the respective paintable surface;

for at least a first recognized object of the plurality of recognized objects, determine one or more dominant colors of the first recognized object from a second image segment, of the plurality of second image segments, for the first recognized object;

determine one or more recommended coating products, each of the one or more recommended coating products having a color selected to coordinate with at least one of the one or more dominant colors of the first recognized object;

present, on a display, a user interface containing elements that show colors of a plurality of coating products, wherein the colors of the plurality of coating products include the colors of the one or more recommended coating products; and

receive a user selection of a selected coating product from among the plurality of coating products.

2. The coating product selection system of claim 1 , wherein the one or more processors are configured to apply a classification model trained to identify a room type of the input image and wherein each of the one or more recommended coating products has a product type selected based on the identified room type.

3. The coating product selection system of claim 2 , wherein the classification model is trained to identify the room type selected from a group of room types consisting of: kitchen, living room, dining room, bedroom, bathroom, laundry room, mud room, office, nursery, and recreation room.

4. The coating product selection system of claim 1 , wherein the one or more processors are configured to perform the searches by providing the input image to an image segmentation model trained to identify pixels corresponding to at least one class of focus objects.

5. The coating product selection system of claim 1 , wherein the one or more processors are configured to determine the one or more dominant colors from the plurality of recognized objects.

6. The coating product selection system of claim 5 , wherein the one or more processors are configured to determine the one or more dominant colors from a subset of the plurality of recognized objects.

7. The coating product selection system of claim 1 , wherein the one or more dominant colors are determined based on colors within a pre-existing color library stored in the one or more memories.

8. The coating product selection system of claim 1 , wherein each of the one or more recommended coating products has a color corresponding to a color within a pre-existing color library stored in the one or more memories.

9. The coating product selection system of claim 1 , wherein:

wherein the user interface is configured to receive a user selection of one or more coating assignments, each of the one or more coating assignments comprising a selected coating product and a selected paintable image segment corresponding to a paintable image segment of the plurality of recognized objects; and

the one or more processors are further configured to generate a painted image, each pixel of the painted image having a painted color determined to be the same color as a corresponding pixel of the input image if the pixel is not within a paintable image segment of at least one of the one or more coating assignments and determined based on the selected coating product of a coating assignment of the one or more coating assignments if the corresponding pixel of the input image is within the paintable image segment of the coating assignment.

10. The coating product selection system of claim 9 , wherein the one or more processors are configured to detect the plurality of recognized objects by applying an image segmentation model trained to the input image to identify classes of surfaces selected from a group consisting of: wall surfaces, ceiling surfaces, and trim surfaces.

11. A computer-implemented method for selecting and displaying a coating product, the computer-implemented method comprising:

receiving, by one or more processors, an input image;

performing, by the one or more processors, searches to detect a plurality of recognized objects depicted in the input image;

generating, by the one or more processors, a plurality of first image segments, each respective image segment of the plurality of first image segments comprising pixels of the input image that depict a respective recognized object of the plurality of recognized objects and not pixels of the input image that do not depict the respective recognized object;

generating, by the one or more processors, a plurality of eroded image segmentations for paintable surfaces corresponding to respective ones of the recognized objects, wherein the eroded image segmentations for the paintable surfaces comprise reduced size copies of the first image segments;

replacing, by the one or more processors, the plurality of first image segments with a plurality of second image segments, wherein replacing the plurality of first image segments with the plurality of second image segments comprises, for each respective recognized object of the plurality of recognized objects:

applying a graph cut algorithm to generate a second image segment, of the plurality of second image segments, for a respective paintable surface, wherein:

the respective paintable surface corresponds to the respective recognized object,

the graph cut algorithm uses a plurality of foreground seed points and a plurality of background seed points,

an eroded image segmentation, of the plurality of eroded image segmentations, for the respective paintable surface is used as the foreground seed points, and

eroded image segmentations, of the plurality of eroded image segmentations, for paintable surfaces corresponding to other ones of the recognized objects are used as the background seed points; and

replacing the first image segment for the respective paintable surface with the second image segment for the respective paintable surface;

for at least a first recognized object of the plurality of recognized objects, determining, by the one or more processors, one or more dominant colors of the first recognized object from a second image segment, of the plurality of second image segments, for the first recognized object;

determining, by the one or more processors, one or more recommended coating products, each of the one or more recommended coating products having a color selected to coordinate with at least one of the one or more dominant colors of the first recognized object;

presenting, by the one or more processors, on a display, a user interface containing elements that show colors of a plurality of coating products, wherein the colors of the plurality of coating products include the colors of the one or more recommended coating products; and

receiving, by the one or more processors, a user selection of a selected coating product from among the plurality of coating products.

12. The computer-implemented method of claim 11 , wherein performing the searches comprises providing the input image to a classification model trained to identify a room type of the input image and wherein each of the one or more recommended coating products has a product type selected based on the identified room type.

13. The computer-implemented method of claim 12 , wherein the classification model is trained to identify the room type selected from a group of room types consisting of: kitchen, living room, dining room, bedroom, bathroom, laundry room, mud room, office, nursery, and recreation room.

14. The computer-implemented method of claim 11 , wherein performing the searches comprises providing the input image to an image segmentation model trained to identify pixels corresponding to at least one class of focus objects.

15. The computer-implemented method of claim 11 , wherein determining the one or more dominant colors of the first recognized object comprises determining colors within a pre-existing color library stored in one or more memories that correspond to color data of pixels in the second image segment.

16. The computer-implemented method of claim 11 , wherein each of the one or more recommended coating products has a color corresponding to a color within a pre-existing color library stored in one or more memories.

17. The computer-implemented method of claim 11 , further comprising:

receiving, by the one or more processors, at the user interface, a user selection of one or more coating assignments, each of the one or more coating assignments comprising a selected coating product and a selected paintable image segment corresponding to a paintable image segment of the plurality of recognized objects; and

generating, by the one or more processors, a painted image for display at the user interface, each pixel of the painted image having a painted color determined to be the same color as a corresponding pixel of the input image if the pixel is not within a paintable image segment of at least one of the one or more coating assignments and determined based on the selected coating product of a coating assignment of the one or more coating assignments if the corresponding pixel of the input image is within the paintable image segment of the coating assignment.

18. The computer-implemented method of claim 17 , wherein detecting the plurality of recognized objects comprises providing the input image to an image segmentation model trained to identify classes of surfaces selected from a group consisting of: wall surfaces, ceiling surfaces, and trim surfaces.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2022
From: WILLIAMS, PRESTON; DO, BRENDAN; RICHMOND, DANIEL CODY; DOWELL, MICHAEL
To: SWIMC LLC
Reel/Frame 060293/0219 →
Continuity (3)
Continuation In Part PCTUS2020054939 · Oct 9, 2020
Provisional Application 62914087 · Oct 11, 2019
Related Publication 20220237832A1 · Jul 28, 2022
References Cited (36)
US 10475250B1 · Huang et al. · 2019 [cited by applicant]
US 10498963B1 · Sorgi · 2019 [cited by examiner]
US 12020357B2 · Williams et al. · 2024 [cited by applicant]
US 20060239548A1 · Gallafent et al. · 2006 [cited by examiner]
US 20100194776A1 · Chong · 2010 [cited by examiner]
US 20120314921A1 · Star-Lack · 2012 [cited by examiner]
US 20150193970A1 · Liu · 2015 [cited by examiner]
US 20150309149A1 · Holdsworth · 2015 [cited by examiner]
US 20180156663A1 · Farley · 2018 [cited by examiner]
US 20180204111A1 · Zadeh · 2018 [cited by examiner]
US 20180364900A1 · Reynolds · 2018 [cited by examiner]
US 20180365861A1 · Reynolds · 2018 [cited by examiner]
US 20190035125A1 · Bellows et al. · 2019 [cited by applicant]
US 20190122404A1 · Freeman · 2019 [cited by applicant]
US 20190172119A1 · Craft · 2019 [cited by examiner]
US 20190180432A1 · Xin · 2019 [cited by examiner]
US 20190340433A1 · Frank · 2019 [cited by examiner]
US 20200082542A1 · Zhu · 2020 [cited by examiner]
US 20200111263A1 · Huang · 2020 [cited by examiner]
US 20200258144A1 · Chaturvedi · 2020 [cited by examiner]
US 20200302656A1 · Kumar · 2020 [cited by examiner]
US 20200320713A1 · Furukawa · 2020 [cited by examiner]
US 20210058533A1 · Aggarwal · 2021 [cited by examiner]
US 20240303890A1 · Williams et al. · 2024 [cited by applicant]
EP 2512141A1 · 2012 [cited by applicant]
EP 3423990A1 · 2019 [cited by applicant]
EP 3479344A1 · 2019 [cited by applicant]
WO 2017149315A1 · 2017 [cited by applicant]
WO 2018002533A1 · 2018 [cited by applicant]
Boykov et al., “Graph Cuts and Efficient N-D Image Segmentation”, International Journal of Computer Vision, vol. 70, No. 2, Nov. 2006, pp. 109-131. [cited by applicant]
Chen et al., “DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs”, arXiv:1606.00915v2, May 12, 2017, 14 pp. [cited by applicant]
He et al., “Deep Residual Learning for Image Recognition”, arXiv:1512.03385v1 [cs.CV] Dec. 10, 2015, Dec. 10, 2015, 12 pp. [cited by applicant]
Krizhevsky et al., “ImageNet Classification with Deep Convolutional Neural Networks”, Advances in Neural Information Processing Systems 25 (NIPS 2012), Dec. 3, 2012, 9 pp. [cited by applicant]
Simonyan et al., “Very Deep Convolutional Networks for Large-Scale Image Recognition”, arXiv:1409.1556v6, Apr. 10, 2015, 14 pp. [cited by applicant]
Szegedy et al., “Going Deeper with Convolutions”, 1 arXiv: 1409.4842v1, Sep. 17, 2014, 12 pp. [cited by applicant]
Zhou et al., “Scene Parsing through ADE20K Dataset”, 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Jul. 21, 2017, 9 pp. [cited by applicant]