Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of implementing neural network models on resource-constrained edge devices in an Internet of Things (IoT) network, the method comprising: receiving, by a processor of an optimizing device, a Convolutional Neural Network (CNN) model trained and configured to detect objects from images, wherein the optimizing device is communicatively coupled to a resource-constrained edge device via a communication network, for re-configuring the CNN model to-be-deployed on the resource-constrained edge device; iteratively assigning, by the processor of the optimizing device, a new value to each of a plurality of parameters associated with the CNN model to generate a re-configured CNN model in each iteration, by: rendering, by the processor of the optimizing device, a parameter interface to a user, wherein the parameter interface is configured to receive values assigned to one or more of the plurality of parameters from the user, and wherein the one or more of the plurality of parameters comprises: a gridsize, a bounding_box_per_grid_cell, an output_class, and a weight for Loss function, and memory allocation to input and output layers of the CNN model; initiating, for each iteration, by the processor of the optimizing device, a trial running of the re-configured CNN model on the resource-constrained edge device to identify at least one object in an image; computing, by the processor of the optimizing device, for each iteration, a trade-off value based on an image detection accuracy associated with re-configured CNN model and resource utilization data associated with the resource-constrained edge device; and selecting, by the processor of the optimizing device, the re-configured CNN model of a particular iteration, for deployment on the resource-constrained edge device based on comparison of the trade-off value calculated for each iteration with a predefined threshold.
2. The method of claim 1 , further comprising: receiving, by a processor of the resource-constrained edge device, an image from an image capturing device within the resource-constrained edge device; and detecting, by the processor of the resource-constrained edge device, one or more objects in the received image, using the re-configured CNN model of each iteration.
3. The method of claim 2 further comprising pre-processing the received image, wherein the pre-processing further comprises one or more of image augmentation, image re-sizing, image normalization, and format conversion.
4. The method of claim 1 , wherein the selecting further comprises: comparing the trade-off value calculated for each iteration with the predefined threshold; and selecting the re-configured CNN model of the particular iteration, when the trade-off value is greater than or equal to the predefined threshold.
5. The method of claim 1 , further comprising storing the values assigned to the one or more of the plurality of parameters in a configuration database.
6. The method of claim 5 , wherein iteratively assigning comprises retrieving the stored value associated with each of the plurality of parameters from the configuration database.
7. The method of claim 1 , wherein iteratively assigning comprises directly receiving the values assigned to the one or more of the plurality of parameters from the parameter interface.
8. The method of claim 1 , wherein the resource usage data associated with the resource-constrained edge device corresponds to one or more of a loss function, memory usage, and Millions of Instructions Per Second (MIPS) usage of the re-configured CNN model run by the processor of the resource-constrained edge device.
9. The method of claim 1 , wherein the plurality of parameters comprises at least one of batch_normalize, a filter, a size, a stride, a pad, an activation, a maxpool_size, a maxpool_stride, a bit-width, a batchsize, an input image resolution, an input image height, an input image width, a channel, a learning rate, an epoch, a decay of learning rate, a quantization of weights and biases.
10. An optimizing device for implementing neural network models on resource-constrained edge devices in an Internet of Things (IoT) network, the optimizing device comprising: a processor; and a memory communicatively coupled to the processor, wherein the memory stores processor instructions, which, on execution, causes the processor to: receive a Convolutional Neural Network (CNN) model trained and configured to detect objects from images; wherein the optimizing device is communicatively coupled to a resource-constrained edge device via a communication network, for re-configuring the CNN model to-be-deployed on the resource-constrained edge device; iteratively assign a new value to each of a plurality of parameters associated with the CNN model to generate a re-configured CNN model in each iteration, by: rendering a parameter interface to a user, wherein the parameter interface is configured to receive values assigned to one or more of the plurality of parameters from the user, and wherein the one or more of the plurality of parameters comprises: a gridsize, a bounding_box_per_grid_cell, an output_class, and a weight for Loss function, and memory allocation to input and output layers of the CNN model; initiate, for each teration, a trial running of the re-configured CNN model on the resource-constrained edge device to identify at least one object in an image; compute for each iteration, a trade-off value based on an image detection accuracy associated with re-configured CNN model and resource utilization data associated with the resource-constrained edge device; and select the re-configured CNN model of a particular iteration, for deployment on the resource-constrained edge device based on comparison of the trade-off value calculated for each iteration with a predefined threshold.
11. The optimizing device of claim 10 , wherein the processor instructions further cause the processor to: receive an image from an image capturing device within the resource-constrained edge device; and detect one or more objects in the received image, using the re-configured CNN model of each iteration.
12. The optimizing device of claim 11 , wherein the processor instructions further cause the processor to pre-process the received image, wherein the pre-processing further comprises one or more of image augmentation, image re-sizing, image normalization, and format conversion.
13. The optimizing device of claim 10 , wherein the selecting further comprises: comparing the trade-off value calculated for each iteration with the predefined threshold; and selecting the re-configured CNN model of the particular iteration, when the trade-off value is greater than or equal to the predefined threshold.
14. The optimizing device of claim 10 , wherein the processor instructions further cause the processor to store the values assigned to the one or more of the plurality of parameters in a configuration database.
15. The optimizing device of claim 14 , wherein iteratively assigning comprises at least one of: retrieving the stored value associated with each of the plurality of parameters from the configuration database; or directly receiving the values assigned to the one or more of the plurality of parameters from the parameter interface.
16. A non-transitory computer-readable storage medium having stored thereon, a set of computer-executable instructions causing a computer comprising one or more processors to perform steps comprising: receiving a Convolutional Neural Network (CNN) model trained and configured to detect objects from images, wherein the optimizing device is communicatively coupled to a resource-constrained edge device via a communication network, for re-configuring the CNN model to-be-deployed on the resource-constrained edge device; iteratively assigning a new value to each of a plurality of parameters associated with the CNN model to generate a re-configured CNN model in each iteration, by: rendering a parameter interface to a user, wherein the parameter interface is configured to receive values assigned to one or more of the plurality of parameters from the user, and wherein the one or more of the plurality of parameters comprises: a gridsize, a bounding_box_per_grid_cell, an output_class, and a weight for Loss function, and memory allocation to input and output layers of the CNN model; initiating, for each iteration, a trial running of the re-configured CNN model on the resource-constrained edge device to identify at least one object in an image; computing, for each iteration, a trade-off value based on an image detection accuracy associated with re-configured CNN model and resource utilization data associated with the resource-constrained edge device; and selecting, the re-configured CNN model of a particular iteration, for deployment on the resource-constrained edge device based on comparison of the trade-off value calculated for each iteration with a predefined threshold.
Unknown
November 16, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.