IP Library Granted Patent US 12,080,054
Granted Patent B2
US 12,080,054 · App. 17/689,403 · Granted Sep 3, 2024

Systems and methods for detecting small objects in an image using a neural network

Inventors: Sergey Ulasen (Moscow, RU); Vasyl Shandyba (Dnipro, UA); Alexander Snorkin (Moscow, RU); Artem Shapiro (Dnipro, UA); Andrey Adaschik (Moscow, RU); Serguei Beloussov (Costa del Sol, SG); Stanislav Protasov (Moscow, RU)
Assignee: Acronis International GmbH
G06V10/82G06N3/045G06V10/764G06V20/42
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,080,054
App. No.
17/689,403
Granted
Sep 3, 2024
Kind
B2
Abstract

Disclosed herein are systems and method for detecting small objects in an image using a neural network (NN). An exemplary method may include: receiving a first NN that is trained on a dataset including a plurality of images depicting various objects; identifying a first structure of the first NN, the first structure indicative of each layer and layer size in the first NN; determining, based on the first structure, whether the first NN can classify an object less than a threshold size in an input image; in response to determining that the first NN cannot classify the object, identifying a subset of detection layers in the first NN; generating and training a second NN that has a second structure in which the subset of detection layers are replaced by at least one layer not in the subset; and receiving, from the second NN, a classification of the object.

Claims (70)

1. A method for detecting small objects in an image using a neural network, the method comprising:

receiving a first neural network that is trained on a dataset comprising a plurality of images depicting various objects;

identifying a first structure of the first neural network, the first structure indicative of each layer and layer size in the first neural network;

determining, based on the first structure, whether the first neural network can classify an object less than a threshold size in an input image;

in response to determining that the first neural network cannot classify the object, identifying a subset of detection layers in the first neural network;

generating a second neural network that has a second structure in which the subset of detection layers are replaced by at least one layer not in the subset;

training the second neural network with the dataset; and

receiving, from the second neural network, a classification of the object less than the threshold size in the input image.

2. The method of claim 1 , further comprising:

determining whether the classification received from the second neural network is correct; and

in response to determining that the classification is incorrect, retraining the second neural network with an updated dataset.

3. The method of claim 1 , wherein determining, based on the first structure, whether the first neural network can classify the object less than the threshold size in the input image further comprises:

inputting the input image in the first neural network; and

receiving an incorrect classification of the object from the first neural network.

4. The method of claim 1 , wherein the first neural network is configured to output a boundary around classified objects, and wherein determining, based on the first structure, whether the first neural network can classify the object less than the threshold size in the input image further comprises:

inputting the input image in the first neural network;

receiving a boundary output from the first neural network; and

determining that the boundary output does not match an expected boundary output of the object.

5. The method of claim 1 , wherein the first neural network is a convolutional neural network.

6. The method of claim 1 , wherein the input image is a frame of a real-time video stream depicting multiple objects less than the threshold size.

7. The method of claim 6 , wherein the multiple objects comprise a ball and humans against a semi-uniform background.

8. The method of claim 1 , wherein identifying the subset of detection layers further comprises:

for each respective layer in the first structure, determining a respective object size when an input passes through the respective layer;

comparing the respective object size with a global threshold size; and

in response to determining that the respective object size is less than the global threshold size, identifying the respective layer as part of the subset of detection layers.

9. A system for detecting small objects in an image using a neural network, the system comprising:

a memory; and

a hardware processor communicatively coupled with the memory and configured to:

receive a first neural network that is trained on a dataset comprising a plurality of images depicting various objects;

identify a first structure of the first neural network, the first structure indicative of each layer and layer size in the first neural network;

determine, based on the first structure, whether the first neural network can classify an object less than a threshold size in an input image;

in response to determining that the first neural network cannot classify the object, identify a subset of detection layers in the first neural network;

generate a second neural network that has a second structure in which the subset of detection layers are replaced by at least one layer not in the subset;

train the second neural network with the dataset; and

receive, from the second neural network, a classification of the object less than the threshold size in the input image.

10. The system of claim 9 , wherein the hardware processor is further configured to:

determine whether the classification received from the second neural network is correct; and

in response to determining that the classification is incorrect, retrain the second neural network with an updated dataset.

11. The system of claim 9 , wherein the hardware processor is further configured to determine, based on the first structure, whether the first neural network can classify the object less than the threshold size in the input image by:

inputting the input image in the first neural network; and

receiving an incorrect classification of the object from the first neural network.

12. The system of claim 9 , wherein the first neural network is configured to output a boundary around classified objects, and wherein the hardware processor is further configured to determine, based on the first structure, whether the first neural network can classify the object less than the threshold size in the input image by:

inputting the input image in the first neural network;

receiving a boundary output from the first neural network; and

determining that the boundary output does not match an expected boundary output of the object.

13. The system of claim 9 , wherein the first neural network is a convolutional neural network.

14. The system of claim 9 , wherein the input image is a frame of a real-time video stream depicting multiple objects less than the threshold size.

15. The system of claim 14 , wherein the multiple objects comprise a ball and humans against a semi-uniform background.

16. The system of claim 9 , wherein the hardware processor is further configured to identify the subset of detection layers by:

for each respective layer in the first structure, determining a respective object size when an input passes through the respective layer;

comparing the respective object size with a global threshold size; and

in response to determining that the respective object size is less than the global threshold size, identifying the respective layer as part of the subset of detection layers.

17. A non-transitory computer readable medium storing thereon computer executable instructions for detecting small objects in an image using a neural network, including instructions for:

receiving a first neural network that is trained on a dataset comprising a plurality of images depicting various objects;

identifying a first structure of the first neural network, the first structure indicative of each layer and layer size in the first neural network;

determining, based on the first structure, whether the first neural network can classify an object less than a threshold size in an input image;

in response to determining that the first neural network cannot classify the object, identifying a subset of detection layers in the first neural network;

generating a second neural network that has a second structure in which the subset of detection layers are replaced by at least one layer not in the subset;

training the second neural network with the dataset; and

receiving, from the second neural network, a classification of the object less than the threshold size in the input image.

18. The non-transitory computer readable medium of claim 17 , further comprising instructions for:

determining whether the classification received from the second neural network is correct; and

in response to determining that the classification is incorrect, retraining the second neural network with an updated dataset.

19. The non-transitory computer readable medium of claim 17 , wherein an instruction for determining, based on the first structure, whether the first neural network can classify the object less than the threshold size in the input image further comprises instructions for:

inputting the input image in the first neural network; and

receiving an incorrect classification of the object from the first neural network.

20. The non-transitory computer readable medium of claim 17 , wherein the first neural network is configured to output a boundary around classified objects, and wherein an instruction for determining, based on the first structure, whether the first neural network can classify the object less than the threshold size in the input image further comprises instructions for:

inputting the input image in the first neural network;

receiving a boundary output from the first neural network; and

determining that the boundary output does not match an expected boundary output of the object.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2024
From: ULASEN, SERGEY; SHANDYBA, VASYL; SNORKIN, ALEXANDER; SHAPIRO, ARTEM; ADASCHIK, ANDREY; BELOUSSOV, SERGUEI; PROTASOV, STANISLAV
To: ACRONIS INTERNATIONAL GMBH
Reel/Frame 068039/0589 →
REAFFIRMATION AGREEMENT Recorded Aug 28, 2022
From: ACRONIS AG; ACRONIS INTERNATIONAL GMBH; ACRONIS SCS, INC.; ACRONIS, INC.; GROUPLOGIC, INC.; NSCALED INC.; ACRONIS MANAGEMENT LLC; 5NINE SOFTWARE, INC.; ACRONIS GERMANY GMBH; ACRONIS NETHERLANDS B.V.; ACRONIS BULGARIA EOOD; DEVICELOCK, INC.; DEVLOCKCORP LTD; ACRONIS INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 061330/0818 →