IP Library Granted Patent US 10,467,501
Granted Patent B2
US 10,467,501 · App. 15/797,117 · Granted Nov 5, 2019

Computer vision architecture with machine learned image recognition models

Inventors: Sivakumar N (Tamil nadu, IN); Praveenkumar A K (Bangalore, IN); Raghavendra D (Bangalore, IN); Vijay G (Bangalore, IN); Pratik Shenoy (Bangalore, IN); Kishan Kumar Kedia (Birpara, IN)
Assignee: SAP SE
G06K9/6256G06K9/00208G06K9/00771G06K9/00973G06K9/3241G06K9/34G06K9/4628G06K9/6204G06K9/6218G06K9/6268G06K9/6273G06K9/6284G06N3/02G06N3/04G06N3/0454G06N3/084G06N5/047G06N20/00G06T7/60G06T7/75G06Q10/087G06T2200/28G06T2207/30242
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 10,467,501
App. No.
15/797,117
Granted
Nov 5, 2019
Kind
B2
Abstract

In an example, a first machine learning algorithm is used to train a smart contour model to identify contours of product shapes in input images and to identify backgrounds in the input images. A second machine learning algorithm is used to train a plurality of shape-specific classification models to output identifications of products in input images. A candidate image of one or more products is obtained. The candidate image is passed to the smart contour model, obtaining output of one or more tags identifying product contours in the candidate image. The candidate image and the one or more tags are passed to an ultra-large scale multi-hierarchy classification system to identify one or more classification models for one or more individual product shapes in the candidate image. The one or more classification models are used to distinguish between one or more products and one or more unknown products in the image.

Claims (52)

1. A system comprising:

at least one hardware processor; and

a computer-readable medium storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising:

using a first machine learning algorithm to train a contour model to identify contours of product shapes in input images and to identify backgrounds in the input images;

using a second machine learning algorithm to train a plurality of shape-specific classification models to output identifications of products in input images;

obtaining a candidate image of one or more products;

passing the candidate image to the contour model, obtaining output of one or more tags identifying product contours in the candidate image;

passing the candidate image and the one or more tags to a multi-hierarchy classification system to identify at least one shape corresponding to the one or more products in the candidate image;

retrieving a classification model uniquely corresponding to one of the identified shapes; and

using the classification model uniquely corresponding to the one of the identified shapes to distinguish between one or more products in the image and one or more unknown products in the image.

2. The system of claim 1 , wherein the first machine learning algorithm is a deep convolutional neural network.

3. The system of claim 1 , wherein the operations further comprise:

using depth perception and product location clustering techniques to identify the size and location of products in the image, regardless of their geometrical positions, based on the one or more tags; and

determining a count of various products in the candidate image using results of the using of the depth perception and product location clustering techniques.

4. The system of claim 3 , wherein the operations further comprising:

sending the count to an event-driven message bus for transmission to one or more subscribers.

5. The system of claim 2 , wherein the deep convolutional neural network has at least one convolutional layer, at least one non-linearity layer, at least one pooling layer, and at least one classification layer.

6. The system of claim 5 , wherein the deep convolutional neural network further has a loss layer.

7. The system of claim 1 , wherein the using of the first machine learning algorithm includes using a plurality of training images tagged with contours of products in the training images, wherein the tagged contours are stored in separate files from the training images.

8. A method comprising:

using a first machine learning algorithm to train a contour model to identify contours of product shapes in input images and to identify backgrounds in the input images;

using a second machine learning algorithm to train a plurality of shape-specific classification models to output identifications of products in input images;

obtaining a candidate image of one or more products;

passing the candidate image to the contour model, obtaining output of one or more tags identifying product contours in the candidate image;

passing the candidate image and the one or more tags to a multi-hierarchy classification system to identify at least one shape corresponding to the one or more products in the candidate image;

retrieving a classification model uniquely corresponding to one of the identified shapes; and

using the classification model uniquely corresponding to the one of the identified shapes to distinguish between one or more products in the image and one or more unknown products in the image.

9. The method of claim 8 , wherein the first machine learning algorithm is a deep convolutional neural network.

10. The method of claim 8 , wherein the operations further comprise:

using depth perception and product location clustering techniques to identify the size and location of products in the image, regardless of their geometrical positions, based on the one or more tags; and

determining a count of various products in the candidate image using results of the using of the depth perception and product location clustering techniques.

11. The method of claim 10 , wherein the operations further comprising:

sending the count to an event-driven message bus for transmission to one or more subscribers.

12. The method of claim 9 , wherein the deep convolutional neural network has at least one convolutional layer, at least one non-linearity layer, at least one pooling layer, and at least one classification layer.

13. The method of claim 12 , wherein the deep convolutional neural network further has a loss layer.

14. A non-transitory machine-readable storage medium comprising instructions that, when implemented by one or more machines, cause the one or more machines to perform operations comprising:

using a first machine learning algorithm to train a contour model to identify contours of product shapes in input images and to identify backgrounds in the input images;

using a second machine learning algorithm to train a plurality of shape-specific classification models to output identifications of products in input images;

obtaining a candidate image of one or more products;

passing the candidate image to the contour model, obtaining output of one or more tags identifying product contours in the candidate image;

passing the candidate image and the one or more tags to a multi-hierarchy classification system to identify at least one shape corresponding to the one or more products in the candidate image;

retrieving a classification model uniquely corresponding to one of the identified shapes; and

using the classification model uniquely corresponding to the one of the identified shapes to distinguish between one or more products in the image and one or more unknown products in the image.

15. The non-transitory machine-readable storage medium of claim 14 , wherein the first machine learning algorithm is a deep convolutional neural network.

16. The non-transitory machine-readable storage medium of claim 14 , wherein the operations further comprise:

using depth perception and product location clustering techniques to identify the size and location of products in the image, regardless of their geometrical positions, based on the one or more tags; and

determining a count of various products in the candidate image using results of the using of the depth perception and product location clustering techniques.

17. The non-transit machine-readable storage medium of claim 16 , wherein the operations further comprising:

sending the count to an event-driven message bus for transmission to one or more subscribers.

18. The non-transitory machine-readable storage medium of claim 15 , wherein the deep convolutional neural network has at least one convolutional layer, at least one non-linearity layer, at least one pooling layer, and at least one classification layer.

19. The non-transitory machine-readable storage medium of claim 18 , wherein the deep convolutional neural network further has a loss layer.

20. The non-transitory machine-readable storage medium of claim 14 , wherein the using a first machine learning algorithm includes using a plurality of training images tagged with contours of products in the training images, wherein the tagged contours are stored in separate files from the training images.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2017
From: N, SIVAKUMAR; A K, PRAVEENKUMAR; D, RAGHAVENDRA; G, VIJAY; SHENOY, PRATIK; KEDIA, KISHAN KUMAR
To: SAP SE
Reel/Frame 043980/0332 →
Continuity (1)
Related Publication 20190130214A1 · May 2, 2019
Cited By (4)
US 12,189,721 US 12,190,224 US 12,273,962 US 12,646,291