IP Library Granted Patent US 11,775,814
Granted Patent B1
US 11,775,814 · App. 16/527,048 · Granted Oct 3, 2023

Automated detection of controls in computer applications with region based detectors

Inventors: Virinchipuram J Anand (San Ramon, CA); Nakuldev Patel (Vadodara, IN); Sheel Shah (Vadodara, IN); Sachi Shah (Vadodara, IN); Abhijit Kakhandiki (San Jose, CA)
Assignee: Automation Anywhere, Inc.
G06N3/08G06F16/53G06F18/211G06F18/213G06F18/24G06F18/25G06T7/60G06V10/759G06V30/18G06T2207/20081G06T2207/20084
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 11,775,814
App. No.
16/527,048
Granted
Oct 3, 2023
Kind
B1
Abstract

Controls within images of a user interface of a computer application are detected by way of region-based R-FCN and Faster R-CNN engines. Datasets comprising images containing application control, wherein the application controls include images of application where width is greater than height, width is equal to height and height is greater than width are retrieved. Each of the datasets is processed with the R-FCN and Faster R-CNN engines to generate a software configured to recognize, from an input image, application controls wherein the application controls are characterized by dimensions where width is greater than height, where width is substantially equal to height, and where height is greater than width.

Claims (71)

1. A computerized method for automated detection of application level controls displayed by a computer application, comprising:

retrieving a first dataset comprising images containing a first type of application control, wherein each first type of application control of a plurality of first type of application controls in each image in the first dataset is characterized by dimensions where width of the first type of application control is greater than height of the first type of application control;

retrieving a second dataset comprising images containing a second type of application control, wherein each second type of application control of a plurality of second type of application controls in each image in the second dataset is characterized by dimensions where width of the second type of application control is substantially equal to height of the second type of application control;

retrieving a third dataset comprising images containing a third type of application control, wherein each third type of application control of a plurality of third type of application controls in each image in the third dataset is characterized by dimensions where height of the third type of application control is greater than width of the third type of application control;

processing each of the first, second and third datasets with a region-based R-FCN engine to generate:

a first trained region-based R-FCN engine that is trained to recognize application controls characterized by dimensions where width is greater than height,

a second trained region-based R-FCN engine that is trained to recognize application controls characterized by dimensions where width is substantially equal to height, and

a third trained region-based R-FCN engine that is trained to recognize application controls characterized by dimensions where height is greater than width; and

combining the first, second and third trained region-based R-FCN engines to generate a software robot configured to recognize, from an input image generated from a screen of an application program, application controls wherein the application controls are characterized by dimensions where width is greater than height, where width is substantially equal to height, or where height is greater than width.

2. The computerized method of claim 1 wherein combining the first, second and third trained region-based R-FCN engines to generate a software robot comprises:

combining the first, second and third trained region-based R-FCN engines to cause sequential processing by the first, second and third trained region-based R-FCN engines.

3. The computerized method of claim 1 wherein combining the first, second and third trained region-based R-FCN engines to generate a software robot comprises:

combining the first, second and third trained region-based R-FCN engines to cause concurrent processing by the first, second and third trained region-based R-FCN engines.

4. The computerized method of claim 1 wherein each of the first, second and third trained region-based R-FCN engines comprises:

a pretrained convolutional neural network that generates from an input image:

a plurality of feature maps, and

a second and a third convolutional neural network that each receive the plurality of feature maps, wherein the second convolutional neural network generates regions of interest from the feature maps and wherein the third convolutional neural network generates a plurality of position sensitive score maps;

combining the regions of interest and the position sensitive score maps to generate a vote array that comprises a position sensitive regions of interest pooling; and

averaging values of the vote array to generate a class score.

5. A computerized method for automated detection of application level controls displayed by a computer application, comprising:

retrieving a first dataset comprising images containing a first type of application control, wherein each first type of application control of a plurality of first type of application controls in each image in the first dataset is characterized by dimensions where width of the first type of application control is greater than height of the first type of application control;

retrieving a second dataset comprising images containing a second type of application control, wherein each second type of application control of a plurality of second type of application controls in each image in the second dataset is characterized by dimensions where width of the second type of application control is substantially equal to height of the second type of application control;

retrieving a third dataset comprising images containing a third type of application control, wherein each third type of application control of a plurality of third type of application controls in each image in the third dataset is characterized by dimensions where height of the third type of application control is greater than width of the third type of application control;

processing each of the first, second and third datasets with a region-based faster R-CNN engine to generate:

a first trained region-based faster R-CNN engine that is trained to recognize application controls characterized by dimensions where width is greater than height,

a second trained region-based faster R-CNN engine that is trained to recognize application controls characterized by dimensions where width is substantially equal to height, and

a third trained region-based faster R-CNN engine that is trained to recognize application controls characterized by dimensions where height is greater than width, and

combining the first, second and third trained region-based faster R-CNN engines to generate a software robot configured to recognize, from an input image generated from a screen of an application program, application controls characterized by dimensions where width is greater than height, where width is substantially equal to height, or where height is greater than width.

6. The computerized method of claim 5 wherein combining the first, second and third trained region-based faster R-CNN engines to generate a software robot comprises:

combining the first, second and third trained region-based faster R-CNN engines to cause sequential processing by the first, second and third trained region-based faster R-CNN engines.

7. The computerized method of claim 5 wherein combining the first, second and third trained region-based faster R-CNN engines to generate a software robot comprises:

combining the first, second and third trained region-based faster R-CNN engines to cause concurrent processing by the first, second and third trained region-based faster R-CNN engines.

8. The computerized method of claim 5 wherein each of the first, second and third trained region-based faster R-CNN engines comprises:

a feature network that generates features from the input image,

a region proposal network that generates from the features, regions of interest, wherein the regions of interest comprise areas of the input image that have a high probability of containing an object, and

a detection network that generates from the regions of interest, classifications of identified objects and bounding box regressions of the identified objects.

9. A robotic process automation system comprising:

data storage for storing a plurality of images of application user interfaces, wherein each application user interface of the application user interfaces comprises one or more application controls usable by a human user to interact with an application that generates the application user interface;

a server processor operatively coupled to the data storage and configured to execute instructions that when executed cause the server processor to recognize one or more of the application controls, by:

retrieving a first dataset comprising images containing a first type of application control, wherein each first type of application control of a plurality of first type of application controls in each image in the first dataset is characterized by dimensions where width of the first type of application control is greater than height of the first type of application control;

retrieving a second dataset comprising images containing a second type of application control, wherein each second type of application control of a plurality of second type of application controls in each image in the second dataset is characterized by dimensions where width of the second type of application control is substantially equal to height of the second type of application control;

retrieving a third dataset comprising images containing a third type of application control, wherein each third type of application control of a plurality of third type of application controls in each image in the third dataset is characterized by dimensions where height of the third type of application control is greater than width of the third type of application control;

processing each of the first, second and third datasets with a region-based R-FCN engine to generate:

a first trained region-based R-FCN engine that is trained to recognize application controls characterized by dimensions where width is greater than height,

a second trained region-based R-FCN engine that is trained to recognize application controls characterized by dimensions where width is substantially equal to height,

a third trained region-based R-FCN engine that is trained to recognize application controls characterized by dimensions where height is greater than width; and

combining the first, second and third trained region-based R-FCN engines to generate a first software robot configured to recognize, from an input image, application controls wherein the application controls are characterized by dimensions where width is greater than height, where width is substantially equal to height, or where height is greater than width.

10. The robotic process automation system of claim 9 wherein combining the first, second and third trained region-based R-FCN engines to generate a software robot comprises:

combining the first, second and third trained region-based R-FCN engines to cause sequential processing by the first, second and third trained region-based R-FCN engines.

11. The robotic process automation system of claim 9 wherein combining the first, second and third trained region-based R-FCN engines to generate a software robot comprises:

combining the first, second and third trained region-based R-FCN engines to cause concurrent processing by the first, second and third trained region-based R-FCN engines.

12. The robotic process automation system of claim 9 wherein each of the first, second and third region-based R-FCN engines comprises:

a pretrained convolutional neural network that generates from an input image:

a plurality of feature maps, and

a second and a third convolutional neural network that each receive the plurality of feature maps, wherein the second convolutional neural network generates regions of interest from the feature maps and wherein the third convolutional neural network generates a plurality of position sensitive score maps;

combining the regions of interest and the position sensitive score maps to generate a vote array that comprises a position sensitive regions of interest pooling; and

averaging values of the vote array to generate a class score.

13. The robotic process automation system of claim 9 wherein the server processor is further configured to execute instructions that when executed cause the server processor to recognize one or more of the application controls, by:

processing each of the first, second and third datasets with a region-based faster R-CNN engine to generate:

a first trained region-based faster R-CNN engine that is trained to recognize application controls characterized by dimensions where width is greater than height,

a second trained region-based faster R-CNN engine that is trained to recognize application controls characterized by dimensions where width is substantially equal to height, and

a third trained region-based faster R-CNN engine that is trained to recognize application controls characterized by dimensions where height is greater than width; and

combining the first, second and third trained region-based faster R-CNN engines to generate a second software robot configured to recognize, from an input image, application controls characterized by dimensions where width is greater than height, where width is substantially equal to height, or where height is greater than width.

14. The robotic process automation system of claim 13 wherein combining the first, second and third trained region-based faster R-CNN engines to generate a software robot comprises:

combining the first, second and third trained region-based faster R-CNN engines to cause sequential processing by the first, second and third trained region-based faster R-CNN engines.

15. The robotic process automation system of claim 13 wherein combining the first, second and third trained region-based faster R-CNN engines to generate a software robot comprises:

combining the first, second and third trained region-based faster R-CNN engines to cause concurrent processing by the first, second and third trained region-based faster R-CNN engines.

16. The robotic process automation system of claim 13 wherein each of the first, second and third trained region-based faster R-CNN engines comprises:

a feature network that generates features from the input image,

a region proposal network that generates from the features, regions of interest, wherein the regions of interest comprise areas of the input image that have a high probability of containing an object, and

a detection network that generates from the regions of interest, classifications of identified objects and bounding box regressions of the identified objects.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Dec 6, 2024
From: FIRST-CITIZENS BANK & TRUST COMPANY, AS SUCCESSOR TO SILICON VALLEY BANK
To: AUTOMATION ANYWHERE, INC.
Reel/Frame 069532/0421 →
SECURITY INTEREST Recorded Sep 26, 2022
From: AUTOMATION ANYWHERE, INC.
To: SILICON VALLEY BANK
Reel/Frame 061537/0068 →
SECURITY INTEREST Recorded Sep 26, 2022
From: AUTOMATION ANYWHERE, INC.
To: SILICON VALLEY BANK
Reel/Frame 061537/0093 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2019
From: ANAND, VIRINCHIPURAM J; PATEL, NAKULDEV; SHAH, SHEEL; SHAH, SACHI; KAKHANDIKI, ABHIJIT
To: AUTOMATION ANYWHERE, INC.
Reel/Frame 050404/0438 →
Cited By (9)
US 12,190,620 US 12,197,927 US 12,259,946 US 12,265,648 US 12,292,960 US 12,423,118 US 12,573,227 US 12,602,947 US 12,632,704