Abstract: Disclosed herein is a method and system for generating an Optimal Object Recognition Network (OORN) with balanced accuracy. In training phase, one or more connections in an Input ORN (IORN) are temporarily masked for generating a calculated feature map and calculated object score of the IORN. Subsequently, a loss value of the IORN is computed based on the calculated feature map and the object score. Thereafter, a Meta Object Recognition Network (MORN) corresponding to the IORN is trained by deactivating the one or more connections, when the loss value is more than a threshold loss value for generating the OORN. The present disclosure helps in achieving a balanced accuracy in detection of objects of multiple object classes by identifying and activating only object-specific and/or essential connections in the IORN. Also, the present method helps in reducing overall complexity of the IORNs by deactivating non-essential connections in the IORN. FIG. 4
1. A method for generating an Optimal Object Recognition Network (OORN) (111) with balanced accuracy, the method comprising: identifying, by a decision making system (103), a plurality of connections in an Input Object Recognition Network (IORN) (101); generating, by the decision making system (103), a calculated feature map (211) of the IORN (101), and a calculated object score (213) for the IORN (101), by temporarily masking one or more connections among the plurality of connections in the IORN (101); computing, by the decision making system (103), a loss value (215) for the IORN (101) using the calculated object score (213) and a predetermined expected object score; and training, by the decision making system (103), a Meta Object Recognition Network (MORN) (110), corresponding to the IORN (101), by deactivating one or more connections in the IORN (101), when the loss value (215) is more than a threshold loss value, thereby generating the OORN (111).
2. The method as claimed in claim 1, wherein masking of the one or more connections among the plurality of connections in the IORN (101) is performed iteratively.
3. The method as claimed in claim 1, wherein the loss value (215) for the IORN (101) is computed using a loss function.
4. The method as claimed in claim 3, wherein the loss function comprises a logarithmic loss score computation function, a polynomial error score computation function, and a distance computation function.
5. The method as claimed in claim 4, wherein the logarithmic loss score computation function computes a logarithmic loss score for the IORN (101) by comparing the calculated feature map (211) with an expected feature map of MORN (110).
6. The method as claimed in claim 4, wherein the polynomial error score computation function computes a polynomial error score for the IORN (101) based on a confidence score associated with detection of each of the one or more objects in the input image.
7. The method as claimed in claim 4, wherein the distance computation function computes distance between one or more objects in an input image, corresponding to the IORN (101), by determining an initial position and a final position of each of the one or more objects, and computing distance between the initial position and the final position of each of the one or more objects.
8. The method as claimed in claim 1, wherein the MORN (101) is configured to: identify one or more essential connections among the plurality of connections in the IORN (101); generate an expected feature map based on the one or more essential connections; and compare the expected feature map with the calculated feature map (211) of the IORN (101) to determine a balance in the accuracy of the IORN (101).
9. A decision making system (103) for generating an Optimal Object Recognition Network (OORN) (111) with balanced accuracy, the decision making system (103) comprising: a processor (107); and a memory (109), communicatively coupled to the processor (107), wherein the memory (109) stores processor-executable instructions, which on execution, cause the processor (107) to: identify a plurality of connections in an Input Object Recognition Network (IORN) (101); generate a calculated feature map (211) of the IORN (101), and a calculated object score (213) for the IORN (101), by temporarily masking one or more connections among the plurality of connections in the IORN (101); compute a loss value (215) for the IORN (101) using the calculated object score (213) and a predetermined expected object score; and train a Meta Object Recognition Network (MORN) (110), corresponding to the IORN (101), by deactivating the one or more connections in the IORN (101), when the loss value (215) is more than a threshold loss value, thereby generating the OORN (111).
10. The decision making system (103) as claimed in claim 9, wherein the instructions cause the processor (107) to iteratively mask the one or more connections among the plurality of connections in the IORN (101).
11. The decision making system (103) as claimed in claim 9, wherein the instructions cause the processor (107) to compute the loss value (215) for the IORN (101) using a loss function.
12. The decision making system (103) as claimed in claim 11, wherein the loss function comprises a logarithmic loss score computation function, a polynomial error score computation function, and a distance computation function.
13. The decision making system (103) as claimed in claim 12, wherein the logarithmic loss score computation function computes a logarithmic loss score for the IORN (101) by comparing the calculated feature map (211) with an expected feature map of MORN (110).
14. The decision making system (103) as claimed in claim 12, wherein the polynomial error score computation function computes a polynomial error score for the IORN (101) based on a confidence score associated with detection of each of the one or more objects in the input image.
15. The decision making system (103) as claimed in claim 12, wherein the distance computation function computes distance between one or more objects in an input image, corresponding to the IORN (101), by determining an initial position and a final position of each of the one or more objects, and computing distance between the initial position and the final position of each of the one or more objects.
16. The decision making system (103) as claimed in claim 9, wherein the MORN (110) is configured to: identify one or more essential connections among the plurality of connections in the IORN (101); generate an expected feature map based on the one or more essential connections; and compare the expected feature map with the calculated feature map (211) of the IORN (101) to determine a balance in the accuracy of the IORN (101). , Description:TECHNICAL FIELD The present subject matter is related, in general, to artificial intelligence and more particularly, but not exclusively, to a method and system for generating an Optimal Object Recognition Network (OORN) with balanced accuracy. BACKGROUND Presently, deep learning is widely being used for number of applications such as object detection through stereo cameras, and Advanced Driver Assistant Systems (ADAS) due to their ability to produce results with near human accuracy. However, real-time applications of deep learning models are often restricted due to their high computational complexity, and memory footprint. Generally, the complexity and memory requirements of the deep learning models are dependent on number of connections in a neural network. Typically, the neural networks comprise numerous redundant connections. These redundant connections do not assist in predictive performance of the deep learning models. Thus, the redundant connections may be removed, thereby reducing the complexity and the memory footprint of the deep learning models, and hence making them suitable for use in low memory applications. There exist various network pruning approaches, ranging from a simple statistical test based method to a complex Bayesian approaches for identifying and removing the redundant connections from the neural networks. However, removing a connection from the neural network may affect overall accuracy of the object detection process. Also, removing the connections from the neural network may result in irregular network configuration, that not only demands extra representation efforts, but also causes imbalance in the network accuracy. There have been instances that even after pruning the connections, not all preserved/remaining connections in the neural network contribute to the accuracy in prediction of objects of multiple object classes. For example, some connections may be significant only for prediction of “cars” in an image, while other connections are needed only for the prediction of “persons” in the image. In such scenarios, activating all the connections of the pruned network may result in an imbalanced accuracy of object prediction. Therefore, it is necessary to identify connections that are important for each class of the objects. SUMMARY One or more shortcomings of the prior art may be overcome, and additional advantages may be provided through the present disclosure. Additional features and advantages may be realized through the techniques of the present disclosure. Other embodiments and aspects of the disclosure are described in detail herein and are considered a part of the claimed disclosure. Disclosed herein is a method for generating an Optimal Object Recognition Network (OORN) with balanced accuracy. The method comprises identifying, by a decision making system, a plurality of connections in an Input Object Recognition Network (IORN). Further, the method comprises generating a calculated feature map of the IORN, and a calculated object score for the IORN, by temporarily masking one or more connections among the plurality of connections in the IORN. Upon generating the calculated feature map, and the calculated object score, the method comprises computing a loss value for the IORN using the calculated object score and a predetermined expected object score. Finally, the method comprises training a Meta Object Recognition Network (MORN), corresponding to the IORN, by deactivating the one or more connections in the IORN, when the loss value is more than a threshold loss value, thereby generating the OORN. Further, the present disclosure relates to a decision making system for generating an Optimal Object Recognition Network (OORN) with balanced accuracy. The decision making system comprises a processor and a memory. The memory is communicatively coupled to the processor, and stores processor-executable instructions, which on execution, cause the processor to identify a plurality of connections in an Input Object Recognition Network (IORN). Further, the instructions cause the processor to generate a calculated feature map of the IORN, and a calculated object score for the IORN, by temporarily masking one or more connections among the plurality of connections in the IORN. Upon generating the calculated feature map and the calculated object score, the instructions cause the processor to compute a loss value for the IORN using the calculated object score and a predetermined expected object score. Finally, the instructions cause the processor to train a Meta Object Recognition Network (MORN), corresponding to the IORN, by deactivating the one or more connections in the IORN, when the loss value is more than a threshold loss value, thereby generating the OORN. The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the drawings and the following detailed description. BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, explain the disclosed principles. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the figures to reference like features and components. Some embodiments of system and/or methods in accordance with embodiments of the present subject matter are now described, by way of example only, and regarding the accompanying figures, in which: FIG. 1 illustrates an exemplary environment for generating an Optimal Object Recognition Network (OORN) with balanced accuracy in accordance with some embodiments of the present disclosure; FIG. 2A shows a detailed block diagram illustrating a decision making system for generating the OORN with balanced accuracy in accordance with some embodiments of the present disclosure; FIG. 2B is a flowchart indicating a method of training a Meta Object Recognition Network (MORN) in accordance with some embodiments of the present disclosure; FIGS. 3A-3D are exemplary representations of IORN and corresponding input images, for illustrating a method of training the MORN in accordance with some embodiments of the present disclosure; FIG. 4 shows a flowchart illustrating a method for generating the OORN with balanced accuracy in accordance with some embodiments of the present disclosure; and FIG. 5 illustrates a block diagram of an exemplary computer system for implementing embodiments consistent with the present disclosure. It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative systems embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and executed by a computer or processor, whether such computer or processor is explicitly shown. DETAILED DESCRIPTION In the present document, the word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment or implementation of the present subject matter described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments. While the disclosure is susceptible to various modifications and alternative forms, specific embodiment thereof has been shown by way of example in the drawings and will be described in detail below. It should be understood, however that it is not intended to limit the disclosure to the specific forms disclosed, but on the contrary, the disclosure is to cover all modifications, equivalents, and alternative falling within the spirit and the scope of the disclosure. The terms “comprises”, “comprising”, “includes”, or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a setup, device, or method that comprises a list of components or steps does not include only those components or steps but may include other components or steps not expressly listed or inherent to such setup or device or method. In other words, one or more elements in a system or apparatus proceeded by “comprises… a” does not, without more constraints, preclude the existence of other elements or additional elements in the system or method. The present disclosure relates to a method and a decision making system for generating an Optimal Object Recognition Network (OORN) with balanced accuracy. The present method includes two distinct object recognition networks namely, an Input Object Recognition Network (IORN) and a Meta Object Recognition Network (MORN). The IORN acts as a parent network, corresponding to an input image, in which one or more essential connections must be identified for reducing complexity and enhancing accuracy of object recognition process. The MORN may be a pre-trained network, which assists in improving accuracy of the IORN by identifying the one or more essential connections in the IORN. In an embodiment, the input image may include, without limiting to, picture of a scene, picture of one or more objects, or any image captured by an image capturing device. For example, the input image may be, without limitation, a grayscale image, a colored image, a black and white image, and the like. In an embodiment, the essential connections retained in the IORN may be related to multiple object classes. Further, only the essential connections in the IORN are activated by exploiting input dataset characteristics depending on type of objects to be recognized in the input image. This helps in enhancing overall accuracy of the IORN during runtime. In other words, during the run time of the IORN, the essential connections identified in the IORN are configured to work like a switch. As a result, only a specific set of connections would open for a specific class of object, and close for other classes of objects. Thus, the method of present disclosure dynamically modifies the IORN during runtime or testing phase of the IORN, thereby resulting in balanced accuracy. In the following detailed description of the embodiments of the disclosure, reference is made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration specific embodiments in which the disclosure may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the disclosure, and it is to be understood that other embodiments may be utilized and that changes may be made without departing from the scope of the present disclosure. The following description is, therefore, not to be taken in a limiting sense. FIG. 1 illustrates an exemplary environment 100 for generating an Optimal Object Recognition Network (OORN) 111 with balanced accuracy in accordance with some embodiments of the present disclosure. The environment 100 includes a decision making system 103, which takes an Input Object Recognition Network (IORN) 101 as input, and generates an Optimal Object Recognition Network (OORN) 111 using a Meta Object Recognition Network (MORN) (110). As an example, the IORN 101 may be an object classifier neural network comprising one or more connections, which facilitate in classifying one or more objects in an input image. In an embodiment, a user associated with the decision making system 103 may provide the IORN 101 as an input to the decision making system 103. Alternatively, the decision making system 103 may itself generate the IORN 101, based on the input image provided by the user. In an embodiment, the decision making system 103 includes an I/O interface 105, a processor (107), and a memory 109. The I/O interface 105 may be used to receive the input image and/or the IORN 101 corresponding to the input image from the user. Further, the I/O interface 105 may be used to provide the OORN 111 to the user. The memory 109 may be communicatively coupled to the processor 107, and may store various information and temporary data generated while training the MORN 110. The processor 107 may be configured to perform each function of the decision making system 103 for generating the OORN 111. In an embodiment, upon receiving the IORN 101, the decision making system 103 may analyze the IORN 101 to identify a plurality of connections in the IORN 101. The plurality of connections in the IORN 101 may include each connection in the IORN 101 across each layer of the IORN 101, and also may include one or more redundant and/or non-essential connections, which need to be masked and/or deactivated for obtaining the OORN 111. Once the plurality of connections is identified in the IORN 101, the decision making system 103 may generate a calculated feature map 211 of the IORN 101, and a calculated object score 213 for the IORN 101. In an embodiment, the calculated feature map 211 of the IORN 101, and the calculated object score 213 for the IORN 101 may be generated by temporarily masking one or more connections among the plurality of connections in the IORN 101. In an implementation, masking of the one or more connections among the plurality of connections may be performed iteratively. In other words, at each iteration, a connection from the plurality of connections may be selected from a specific layer of the IORN 101 and may be masked for generating the calculated feature map 211 and the calculated object score 213. Likewise, a set of distinct calculated feature map 211 and the calculated object score 213 may be generated for each of the plurality of connections in each layer of the IORN 101. In an embodiment, upon generating the calculated feature map 211, the decision making system 103 may compute a loss value 215 for the IORN 101. As an example, the loss value 215 may be computed using the calculated object score 213 and a predetermined expected object score. The predetermined expected object score may be computed based on an expected feature map, which is generated when none of the plurality of connections in the IORN 101 are masked. In an embodiment, the loss value 215 for the IORN 101 may be obtained as a resultant of training the one or more connections in the IORN 101. Consequently, the importance of each of the plurality of connections in the IORN 101 may be estimated based on the loss value 215 for the IORN 101 at each iteration of masking the one or more connections. Further, to determine whether a selected one of the plurality of connections in the IORN 101 is an important/essential connection for the IORN 101, the loss value 215, generated by masking the selected connection may be compared with a threshold loss value. In an embodiment, the threshold loss value may be a negative value or a positive value. When the threshold loss value is set to be a negative value, the connection may be determined to be essential only when the loss value 215 is higher than the threshold loss value. In other words, the one or more connections among the plurality of connections, whose loss value 215 is less than the threshold loss value may be determined to be non-essential and deactivated, without affecting the accuracy of the IORN 101. Similarly, when the threshold loss value is set to be a positive value, the connections may be determined to be essential only when the loss value 215 is less than the threshold loss value. In some implementations, the threshold loss value may be preconfigured and stored in the decision making system 103. In other implementations, the threshold loss value may be dynamically set, for example, based on a user input. Further, the threshold loss value may be identical for each identical IORN 101. In an embodiment, the decision making system 103 may train the MORN 110 by deactivating the one or more connections in the IORN 101. Thus, at the end of training, based on training criterion defined by loss function, the MORN 110 learns a lossy summary of some of the task relevant aspect of the input with more precision than other. In other words, the MORN 110 may include information related to the one or more essential connections of the IORN 101. Subsequently, the decision making system 103 may use the information stored in the trained MORN 110 to determine one or more essential connections in any test IORN 101, having same and/or similar configuration with respect to the IORN 101 used for training the MORN 110. Further, the decision making system 103 may optimize the test IORN 101 by deactivating the one or more connections, other than the one or more essentials connections, thus determined in the test IORN 101. FIG. 2A shows a detailed block diagram illustrating a decision making system 103 for generating an Optimal Object Recognition Network (OORN) 111 with balanced accuracy in accordance with some embodiments of the present disclosure. In an implementation, the decision making system 103, in addition to the I/O interface 105, the processor 107 and the memory 109, may include data 207 and modules 209 for performing various operations in accordance with the embodiments of the present disclosure. In an embodiment, the data 207 may be stored within the memory 109 and may include, without limiting to, calculated feature map 211, calculated object score 213, loss value 215, and other data 217. In some embodiments, the data 207 may be stored within the memory 109 in the form of various data structures. Additionally, the data 207 may be organized using data models, such as relational or hierarchical data models. The other data 217 may store data, including the threshold loss value, the actual object score of the IORN 101, the expected feature map of the MORN 110, and other temporary data and files generated by the modules 209 while performing various functions of the decision making system 103. In an embodiment, the calculated feature map 211 of the IORN 101 may be generated by temporarily masking one or more connections among the plurality of connections in the IORN 101. In an implementation, a distinct calculated feature map 211 may be generated for each of the one or more connections being temporarily masked at each iteration of masking the one or more connections in the IORN 101. In an embodiment, the calculated object score 213 may be computed based on the calculated feature map 211. The calculated object score 213 may be indicative of precision of recognizing an object, belonging to a specific object class, in the input image corresponding to the IORN 101. The calculated object score 213 of the calculated feature map 211 may vary at each iteration based on the one or more connections being masked in the IORN 101. In an embodiment, the calculated object score 213 may be computed using the calculated feature map 211 obtained at a last layer of the IORN 101. In an embodiment, the loss value 215 may be indicative of importance of the one or more connections in the IORN 101. The importance of the one or more connections in the IORN 101 may be determined by comparing the loss value 215 with a threshold loss value. In an embodiment, the MORN 110 is an additional network in the decision making system 103, used for generating the OORN 111. The decision making system 103 may train the MORN 110 by deactivating the one or more non-essential connections in the IORN 101. Therefore, at the end of training, based on training criterion defined by loss function the MORN 110 learns a lossy summary of some of the task relevant aspect of the input with more precision than other. In other words, the MORN 110 may include information related to the one or more essential connections that are required to be retained in the IORN 101 for achieving a balanced accuracy in object recognition. Subsequently, in the testing phase, the information stored in the trained MORN 110 may be used to generate an OORN 111 for the IORN 101, by deactivating the one or more non-essential connections among the plurality of connections in the IORN 101. In an embodiment, the MORN 110 is capable of self-training. The MORN 110, similar to the IORN 101, may take the input image as an input, and compute loss value 215. Further, the MORN 110 may be configured to compare the expected feature map of the MORN 110 with the calculated feature map 211 of the IORN 101 for calculating the loss value 215, and to train itself based on variations in the loss value 215. In an embodiment, the data 207 may be processed by one or more modules 209 of the decision making system 103. In one implementation, the one or more modules 209 may be stored as a part of the processor 107. In another implementation, the one or more modules 209 may be communicatively coupled to the processor 107 for performing one or more functions of the decision making system 103. The modules 209 may include, without limiting to, a connection identification module 219, a connection masking module 221, a loss value computation module 223, a training module 225, and other modules 229. As used herein, the term module refers to an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. In an embodiment, the other modules 229 may be used to perform various miscellaneous functionalities of the decision making system 103. It will be appreciated that such modules 209 may be represented as a single module or a combination of different modules. In an embodiment, the connection identification module 219 may be used for identifying the plurality of connections in the IORN 101. As an example, the connection identification module 219 may perform a layer-wise analysis of the IORN 101 to identify each of the plurality of connections. The connection masking module 221 may be used for iteratively masking the one or more connections among the plurality of connections identified in the IORN 101. In an embodiment, the one or more connections may be temporarily masked, and the calculated feature map 211 and the calculated object score 213 corresponding to the one or more masked connections are generated. During each iteration, the loss value 215 for the IORN 215 may be computed to estimate the importance of the one or more masked connections in the IORN 101. In an embodiment, the loss value computation module 223 may be used for computing the loss value 215 for the IORN 101. As an example, the loss value computation module 223 may compute the loss value 215 using a loss function, based on the calculated object score 213 and a predetermined expected object score. The loss function may be a multi-parameter function that includes a logarithmic loss score computation function, a polynomial error score computation function, and a distance computation function. In an embodiment, the logarithmic loss score computation function may be used to compute a logarithmic loss score for the IORN 101 by comparing the calculated feature map 211 with an expected feature map of the MORN 110. It shall be noted that, the form and/or one or more parameters for the logarithmic loss score computation function may be varied according to user-specific or application-specific requirements. However, an exemplary illustration of the logarithmic loss score computation function may be as shown in Equation (1) below: --- (1) Where, ‘Yp ’ represents the calculated feature map 211 of the IORN 101; and ‘Yt ’ represents the expected feature map of the MORN 110 In an embodiment, the polynomial error score computation function may be used to compute a polynomial error score for the IORN 101 based on confidence scores associated with detection of each of the one or more objects in the input image. It shall be noted that, the form and/or one or more parameters for the polynomial error score computation function may be varied as per user-specific or application-specific requirements. However, an exemplary illustration of the polynomial error score computation function may be as indicated in Equation (2) below: …. (2) Where, ‘n’, ‘c’ represent number of objects in the input images; and Y``ji and Yji represent the confidence scores associated with each object detection; In an embodiment, distance computation function may be used to compute distance between one or more objects in the input image corresponding to the IORN 101. As an example, the distance between the one or more objects may be computed by determining an initial position and a final position of each of the one or more objects, and then computing a distance between the initial position and the final position of each of the one or more objects. It shall be noted that, the form and/or one or more parameters for the distance computation function may be varied as per user-specific or application-specific requirements. However, an exemplary illustration of the distance computation function may be as indicated in Equation (3) below: … (3) Where, ‘w’ corresponds to fraction of the time an object appears in a specific position in the input dataset; (X1, X2) and (Y1, Y2) represent co-ordinates of initial position and the final position of the object respectively. Thus, the loss function for computing the loss value 215 may be represented by Equation (4) below: Loss function = f (Expected feature map, Calculated feature map) + g (Confidence score 1, Confidence score 2) + s (Initial position of object, Final position of object) … (4) In some embodiments, as indicated in Equation (4), the loss function may be a three-parameter function, which takes each of the three parameters namely, the expected feature map, the confidence scores and the distance, for computing the loss value 215. In some alternative embodiments, it shall be possible to modify the loss function by excluding any of the said parameters from the loss function, and still compute the loss value 215 using the modified loss function, as shown in exemplary equations 4A, 4B and 4C. Such modifications to the loss function may be helpful in faster training and/or reducing computation time. For example, the loss value may be computed using the parameters - expected feature map and the confidence score. i.e. Loss function = f (Expected feature map, Calculated feature map) + g (Confidence score 1, Confidence score 2) …….. (4A) In another example, the loss value may be computed using the parameters - expected feature map and the distance. i.e. Loss function = f (Expected feature map, Calculated feature map) + s (Initial position of object, Final position of object) …….. (4B) In further example, the loss value may be computed using the parameters - the confidence score and the distance. i.e. Loss function = g (Confidence score 1, Confidence score 2) + s (Initial position of object, Final position of object) …….(4C) In an embodiment, upon computing the loss value 215 using the Equations (1) to (4) above, the computed loss value 215 may be used for training the MORN 110. In an embodiment, the training module 225 may be used to train the MORN 110 by deactivating the one or more connections in the IORN 101, when the loss value 215 is more than a threshold loss value. FIG. 2B provides an exemplary method 230 of training the MORN 110. At block 232, the IORN 101 that must be optimized for balanced accuracy may be received by the decision making system 103. At block 234, the decision making system 103 may identify the plurality of connections in the IORN 101 across each layer ‘L’ in the IORN 101. At block 238, the decision making system 103 may mask the one or more connections among the plurality of connections identified in the IORN 101, as per iterative looping condition indicated in block 236. i.e. the one or more connections may be masked iteratively until each connection ‘C’ in the IORN 101 is masked at least once. Further, at block 240, the decision making system 103 may generate the calculated feature map 211, and the calculated object score 213 for each of the one or more masked connections in the IORN 101 for determining importance of the one or more connections in the IORN 101 based on the loss value 215. Subsequently, the one or more masked connections, whose loss value 215 is higher than the threshold loss value may be determined to be the important/essential connections in the IORN 101. At block 242, the one or more connections which are determined to be essential may be back propagated onto the MORN 110 for training the MORN 110 with the one or more essential connections. Upon completion of the above training process, the trained MORN 110 may be used to optimize the IORN 101 by deactivating and/or masking the one or more non-essential connections in the IORN 101. FIGS. 3A-3D are exemplary representations of IORN 101 and the corresponding input images, for illustrating a method of training the MORN 110 in accordance with some embodiments of the present disclosure. In an embodiment, the parameters including the expected feature map of the MORN 110, the calculated feature map 211 of the IORN 101, the actual object score, the calculated object score 213 of the IORN 101, and the corresponding loss value 215 is required to be determined for generating the OORN for the given IORN 101. Table A below indicates exemplary values of the above parameters and the subsequent actions that are performed on the MORN 110 for training the MORN 110. Reference IORN Expected feature map Calculated feature map Object score Loss value Training activity on the MORN Actual Calculated IORN - 1 (FIG. 3A) 110 111 010 101 011 110 101 010 101 011 0.12 0.61 0.70 Essential Connection Include the connection in the MORN IORN - 2 (FIG. 3B) 110 110 011 101 011 110 110 001 101 011 0.76 0.09 0.90 Non-essential Connection Deactivate the connection in the MORN IORN - 3 (FIG. 3C) 110 111 011 001 011 110 111 011 001 001 0.08 0.66 0.50 Essential connection Include the connection in the MORN IORN - 4 (FIG. 3D) 110 101 001 101 011 110 101 001 001 011 0.37 0.54 0.80 Non-essential Connection Deactivate the connection in the MORN Table A: Training of the MORN Consider a connection ‘M’ (indicated by dotted line in FIG. 3A) in the IORN – 1. During the training phase, the connection ‘M’ may be temporarily masked for determining its importance in the IORN – 1. The loss value 215 for the IORN -1 may be computed based on the actual object score for IORN – 1 and the calculated object score 213 for IORN – 1. Now, referring to Table A, when the connection ‘M’ is masked in the IORN – 1, the resultant loss value 215 for IORN – 1 is 0.70. Here, the importance of connection ‘M’ may be determined by comparing the loss value 215 for the IORN – 1 with the threshold loss value, say 0.8 . Consequently, considering that the threshold loss value is a positive value, the connection ‘M’ may be determined as an essential connection, since the loss value 215 associated with the connection ‘M’ (i.e., 0.70) is less than the threshold loss value (i.e. 0.8). At the end of the training phase, the MORN may be updated with an information that the connection ‘M’ is an essential connection in IORN – 1. Subsequently, during the testing phase, the connection ‘M’ may be activated and retained in the OORN 111 based on the updated information stored in the MORN 110. Similarly, consider a connection ‘N’ (dotted line in FIG. 3B) of the IORN – 2, which is temporarily masked for determining its importance in the IORN – 2. Now, referring to Table A, the loss value 215 for the IORN - 2, when the connection ‘N’ is masked in the IORN – 2, is 0.90 which is computed based on the actual object score for IORN – 2 and the calculated object score 213 for IORN – 2. Here, the importance of connection ‘N’ may be determined by comparing the loss value 215 for the IORN – 2 with the threshold loss value i.e. 0.8. Consequently, the connection ‘N’ may be determined as a non-essential connection, since the loss value 215 associated with the connection ‘N’, i.e., 0.90 more than the threshold loss value i.e. 0.8. As a result, the connection ‘M’ may be deactivated from the MORN 110. The importance of all the connections in the IORN may be determined using the above process. FIG. 4 shows a flowchart illustrating a method for generating an Optimal Object Recognition Network (OORN) 111 with balanced accuracy in accordance with some embodiments of the present disclosure. As illustrated in FIG. 4, the method 400 includes one or more blocks illustrating a method for generating the OORN 111 with balanced accuracy using a decision making system 103, for example the decision making system 103 of FIG. 1. The method 400 may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, and functions, which perform specific functions or implement specific abstract data types. The order in which the method 400 is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method. Additionally, individual blocks may be deleted from the methods without departing from the spirit and scope of the subject matter described herein. Furthermore, the method can be implemented in any suitable hardware, software, firmware, or combination thereof. At block 401, the method 400 comprises identifying, by the decision making system 103, a plurality of connections in the IORN 101. In an embodiment, the IORN 101 may be an object classifier network used for classifying and recognizing one or more objects in an input image. Further, total number of connections in the IORN 101 may be determined based on total number of layers in the IORN 101 and number of nodes in each layer. At block 403, the method 400 comprises generating, by the decision making system 103, a calculated feature map 211 of the IORN 101, and a calculated object score 213 for the IORN 101 by temporarily masking one or more connections among the plurality of connections in the IORN 101. In an embodiment, masking of the one or more connections among the plurality of connections in the IORN 101 may be performed iteratively. At block 405, the method 400 comprises computing, by the decision making system 103, a loss value 215 for the IORN 211 using the calculated object score 213 and a predetermined expected object score. In an embodiment, the loss value 215 may be computed using a loss function. The loss function may include a logarithmic loss score computation function, a polynomial error score computation function, and a distance computation function. In an embodiment, the logarithmic loss score computation function may compute a logarithmic loss score for the IORN 101 by comparing the calculated feature map 211 with an expected feature map of MORN 110. Further, the polynomial error score computation function may compute a polynomial error score for the IORN 101 based on a confidence score associated with detection of each of the one or more objects in the input image. Likewise, wherein the distance computation function may be used to compute distance between one or more objects in an input image, corresponding to the IORN 101, by determining an initial position and a final position of each of the one or more objects, and computing distance between the initial position and the final position of each of the one or more objects. At block 407, the method 400 comprises training, by the decision making system 103, a Meta Object Recognition Network (MORN) 110, corresponding to the IORN 101, by deactivating the one or more connections in the IORN 101, when the loss value 215 is more than a threshold loss value. In an embodiment, the MORN 110 may be configured to identify one or more essential connections among the plurality of connections in the IORN 101. Upon identifying the one or more essential connections, the MORN 110 may generate an expected feature map based on the one or more essential connections. Subsequently, the MORN 110 may compare the expected feature map with the calculated feature map 211 of the IORN 101 to determine a balance in the accuracy of the IORN 101. Computer System FIG. 5 illustrates a block diagram of an exemplary computer system 500 for implementing embodiments consistent with the present disclosure. In an embodiment, the computer system 500 may be decision making system 103, which is used for generating an Optimal Object Recognition Network (OORN) 111 with balanced accuracy. The computer system 500 may include a central processing unit (“CPU” or “processor”) 502. The processor 502 may comprise at least one data processor for executing program components for executing user- or system-generated business processes. A user may include a person, a person using the decision making system 103 and the like. The processor 502 may include specialized processing units such as integrated system (bus) controllers, memory management control units, floating point units, graphics processing units, digital signal processing units, etc. The processor 502 may be disposed in communication with one or more input/output (I/O) devices (511 and 512) via I/O interface 501. The I/O interface 501 may employ communication protocols/methods such as, without limitation, audio, analog, digital, stereo, IEEE-1394, serial bus, Universal Serial Bus (USB), infrared, PS/2, BNC, coaxial, component, composite, Digital Visual Interface (DVI), high-definition multimedia interface (HDMI), Radio Frequency (RF) antennas, S-Video, Video Graphics Array (VGA), IEEE 802.n /b/g/n/x, Bluetooth, cellular (e.g., Code-Division Multiple Access (CDMA), High-Speed Packet Access (HSPA+), Global System For Mobile Communications (GSM), Long-Term Evolution (LTE) or the like), etc. Using the I/O interface 501, the computer system 500 may communicate with one or more I/O devices 511 and 512. In some embodiments, the processor 502 may be disposed in communication with a communication network 509 via a network interface 503. The network interface 503 may communicate with the communication network 509. The network interface 503 may employ connection protocols including, without limitation, direct connect, Ethernet (e.g., twisted pair 10/100/1000 Base T), Transmission Control Protocol/Internet Protocol (TCP/IP), token ring, IEEE 802.11a/b/g/n/x, etc. Using the network interface 503 and the communication network 509, the computer system 500 may communicate with one or more sources and/or users for receiving the IORN 101, which has to be optimized by identifying the one or more essential connections. Further, the communication network 509 may be used to provide the Optimal Object Recognition Network (OORN) to the users upon optimizing the IORN 101. The communication network 509 can be implemented as one of the several types of networks, such as intranet or Local Area Network (LAN) and such within the organization. The communication network 509 may either be a dedicated network or a shared network, which represents an association of several types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), etc., to communicate with each other. Further, the communication network 509 may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, etc. In some embodiments, the processor 502 may be disposed in communication with a memory 505 (e.g., RAM 513, ROM 514, etc. as shown in FIG. 5) via a storage interface 504. The storage interface 504 may connect to memory 505 including, without limitation, memory drives, removable disc drives, etc., employing connection protocols such as Serial Advanced Technology Attachment (SATA), Integrated Drive Electronics (IDE), IEEE-1394, Universal Serial Bus (USB), fiber channel, Small Computer Systems Interface (SCSI), etc. The memory drives may further include a drum, magnetic disc drive, magneto-optical drive, optical drive, Redundant Array of Independent Discs (RAID), solid-state memory devices, solid-state drives, etc. The memory 505 may store a collection of program or database components, including, without limitation, user/application 506, an operating system 507, a web browser 508, and the like. In some embodiments, computer system 500 may store user/application data 506, such as the data, variables, records, and the like as described in this disclosure. Such databases may be implemented as fault-tolerant, relational, scalable, secure databases such as Oracle or Sybase. The operating system 507 may facilitate resource management and operation of the computer system 500. Examples of operating systems include, without limitation, Apple Macintosh OS X, UNIX, Unix-like system distributions (e.g., Berkeley Software Distribution (BSD), FreeBSD, Net BSD, Open BSD, etc.), Linux distributions (e.g., Red Hat, Ubuntu, K-Ubuntu, etc.), International Business Machines (IBM) OS/2, Microsoft Windows (XP, Vista/7/8, etc.), Apple iOS, Google Android, Blackberry Operating System (OS), or the like. A user interface may facilitate display, execution, interaction, manipulation, or operation of program components through textual or graphical facilities. For example, user interfaces may provide computer interaction interface elements on a display system operatively connected to the computer system 500, such as cursors, icons, check boxes, menus, windows, widgets, etc. Graphical User Interfaces (GUIs) may be employed, including, without limitation, Apple Macintosh operating systems’ Aqua, IBM OS/2, Microsoft Windows (e.g., Aero, Metro, etc.), Unix X-Windows, web interface libraries (e.g., ActiveX, Java, JavaScript, AJAX, HTML, Adobe Flash, etc.), or the like. Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present invention. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., non-transitory. Examples include Random Access Memory (RAM), Read-Only Memory (ROM), volatile memory, nonvolatile memory, hard drives, Compact Disc (CD) ROMs, Digital Video Disc (DVDs), flash drives, disks, and any other known physical storage media. Advantages of the embodiment of the present disclosure are illustrated herein. In an embodiment, the present disclosure discloses a method for generating an Optimal Object Recognition Network having balanced accuracy, by identifying essential connections in an Input Object Recognition network. In an embodiment, the method of present disclosure helps in reducing complexity of the IORN, since one or more non-essential and/or redundant connections in the IORN are masked during run-time of the IORN. In an embodiment, the method of present disclosure uses multiple object statistics such as position of objects and their feature maps in addition to determining the essential connections, thereby enhancing accuracy of object detection and/or recognition process. In an embodiment, the method of present disclosure includes training a Meta Object Recognition Network (MORN) with the one or more essential connections identified in the IORN, and subsequently using the trained MORN to optimize one or more new IORNs. Thus, the present disclosure helps in reducing overall computation time and complexity associated with object recognition process. In an embodiment, the method of present disclosure may be used in low-level, real-time safety critical applications such as Advanced Driver Assistant Systems (ADAS) and stereo cameras, which require object recognition to be balanced across all types of object detections, since the method of present disclosure produces balanced accuracy in detecting objects of multiple object classes. Also, present disclosure may be used as SaaS based neural network services such as colorization, network compression and the like. The terms "an embodiment", "embodiment", "embodiments", "the embodiment", "the embodiments", "one or more embodiments", "some embodiments", and "one embodiment" mean "one or more (but not all) embodiments of the invention(s)" unless expressly specified otherwise. The terms "including", "comprising", “having” and variations thereof mean "including but not limited to", unless expressly specified otherwise. The enumerated listing of items does not imply that any or all the items are mutually exclusive, unless expressly specified otherwise. The terms "a", "an" and "the" mean "one or more", unless expressly specified otherwise. A description of an embodiment with several components in communication with each other does not imply that all such components are required. On the contrary, a variety of optional components are described to illustrate the wide variety of possible embodiments of the invention. When a single device or article is described herein, it will be clear that more than one device/article (whether they cooperate) may be used in place of a single device/article. Similarly, where more than one device or article is described herein (whether they cooperate), it will be clear that a single device/article may be used in place of the more than one device or article or a different number of devices/articles may be used instead of the shown number of devices or programs. The functionality and/or the features of a device may be alternatively embodied by one or more other devices which are not explicitly described as having such functionality/features. Thus, other embodiments of the invention need not include the device itself. Finally, the language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this detailed description, but rather by any claims that issue on an application based here on. Accordingly, the embodiments of the present invention are intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims. While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims. Reference Numerals: Reference Number Description 100 Environment 101 Input Object Recognition Network (IORN) 103 Decision making system 105 I/O Interface 107 Processor 109 Memory 110 Meta Object Recognition Network (MORN) 111 Optimal Object Recognition Network (OORN) 207 Data 209 Modules 211 Calculated feature map 213 Calculated object score 215 Loss value 217 Other data 219 Connection identification module 221 Connection masking module 223 Loss value computation module 225 Training module 229 Other modules 501 I/O Interface of the exemplary computer system 502 Processor of the exemplary computer system 503 Network interface 504 Storage interface 505 Memory of the exemplary computer system 506 User/Application 507 Operating system 508 Web browser 509 Communication network 511 Input devices 512 Output devices 513 RAM 514 ROM
Claims:1. A method for generating an Optimal Object Recognition Network (OORN) (111) with balanced accuracy, the method comprising:
identifying, by a decision making system (103), a plurality of connections in an Input Object Recognition Network (IORN) (101);
generating, by the decision making system (103), a calculated feature map (211) of the IORN (101), and a calculated object score (213) for the IORN (101), by temporarily masking one or more connections among the plurality of connections in the IORN (101);
computing, by the decision making system (103), a loss value (215) for the IORN (101) using the calculated object score (213) and a predetermined expected object score; and
training, by the decision making system (103), a Meta Object Recognition Network (MORN) (110), corresponding to the IORN (101), by deactivating one or more connections in the IORN (101), when the loss value (215) is more than a threshold loss value, thereby generating the OORN (111).
2. The method as claimed in claim 1, wherein masking of the one or more connections among the plurality of connections in the IORN (101) is performed iteratively.
3. The method as claimed in claim 1, wherein the loss value (215) for the IORN (101) is computed using a loss function.
4. The method as claimed in claim 3, wherein the loss function comprises a logarithmic loss score computation function, a polynomial error score computation function, and a distance computation function.
5. The method as claimed in claim 4, wherein the logarithmic loss score computation function computes a logarithmic loss score for the IORN (101) by comparing the calculated feature map (211) with an expected feature map of MORN (110).
6. The method as claimed in claim 4, wherein the polynomial error score computation function computes a polynomial error score for the IORN (101) based on a confidence score associated with detection of each of the one or more objects in the input image.
7. The method as claimed in claim 4, wherein the distance computation function computes distance between one or more objects in an input image, corresponding to the IORN (101), by determining an initial position and a final position of each of the one or more objects, and computing distance between the initial position and the final position of each of the one or more objects.
8. The method as claimed in claim 1, wherein the MORN (101) is configured to:
identify one or more essential connections among the plurality of connections in the IORN (101);
generate an expected feature map based on the one or more essential connections; and
compare the expected feature map with the calculated feature map (211) of the IORN (101) to determine a balance in the accuracy of the IORN (101).
9. A decision making system (103) for generating an Optimal Object Recognition Network (OORN) (111) with balanced accuracy, the decision making system (103) comprising:
a processor (107); and
a memory (109), communicatively coupled to the processor (107), wherein the memory (109) stores processor-executable instructions, which on execution, cause the processor (107) to:
identify a plurality of connections in an Input Object Recognition Network (IORN) (101);
generate a calculated feature map (211) of the IORN (101), and a calculated object score (213) for the IORN (101), by temporarily masking one or more connections among the plurality of connections in the IORN (101);
compute a loss value (215) for the IORN (101) using the calculated object score (213) and a predetermined expected object score; and
train a Meta Object Recognition Network (MORN) (110), corresponding to the IORN (101), by deactivating the one or more connections in the IORN (101), when the loss value (215) is more than a threshold loss value, thereby generating the OORN (111).
10. The decision making system (103) as claimed in claim 9, wherein the instructions cause the processor (107) to iteratively mask the one or more connections among the plurality of connections in the IORN (101).
11. The decision making system (103) as claimed in claim 9, wherein the instructions cause the processor (107) to compute the loss value (215) for the IORN (101) using a loss function.
12. The decision making system (103) as claimed in claim 11, wherein the loss function comprises a logarithmic loss score computation function, a polynomial error score computation function, and a distance computation function.
13. The decision making system (103) as claimed in claim 12, wherein the logarithmic loss score computation function computes a logarithmic loss score for the IORN (101) by comparing the calculated feature map (211) with an expected feature map of MORN (110).
14. The decision making system (103) as claimed in claim 12, wherein the polynomial error score computation function computes a polynomial error score for the IORN (101) based on a confidence score associated with detection of each of the one or more objects in the input image.
15. The decision making system (103) as claimed in claim 12, wherein the distance computation function computes distance between one or more objects in an input image, corresponding to the IORN (101), by determining an initial position and a final position of each of the one or more objects, and computing distance between the initial position and the final position of each of the one or more objects.
16. The decision making system (103) as claimed in claim 9, wherein the MORN (110) is configured to:
identify one or more essential connections among the plurality of connections in the IORN (101);
generate an expected feature map based on the one or more essential connections; and
compare the expected feature map with the calculated feature map (211) of the IORN (101) to determine a balance in the accuracy of the IORN (101).
, Description:TECHNICAL FIELD
The present subject matter is related, in general, to artificial intelligence and more particularly, but not exclusively, to a method and system for generating an Optimal Object Recognition Network (OORN) with balanced accuracy.
BACKGROUND
Presently, deep learning is widely being used for number of applications such as object detection through stereo cameras, and Advanced Driver Assistant Systems (ADAS) due to their ability to produce results with near human accuracy. However, real-time applications of deep learning models are often restricted due to their high computational complexity, and memory footprint.
Generally, the complexity and memory requirements of the deep learning models are dependent on number of connections in a neural network. Typically, the neural networks comprise numerous redundant connections. These redundant connections do not assist in predictive performance of the deep learning models. Thus, the redundant connections may be removed, thereby reducing the complexity and the memory footprint of the deep learning models, and hence making them suitable for use in low memory applications.
There exist various network pruning approaches, ranging from a simple statistical test based method to a complex Bayesian approaches for identifying and removing the redundant connections from the neural networks. However, removing a connection from the neural network may affect overall accuracy of the object detection process. Also, removing the connections from the neural network may result in irregular network configuration, that not only demands extra representation efforts, but also causes imbalance in the network accuracy.
There have been instances that even after pruning the connections, not all preserved/remaining connections in the neural network contribute to the accuracy in prediction of objects of multiple object classes. For example, some connections may be significant only for prediction of “cars” in an image, while other connections are needed only for the prediction of “persons” in the image. In such scenarios, activating all the connections of the pruned network may result in an imbalanced accuracy of object prediction. Therefore, it is necessary to identify connections that are important for each class of the objects.
SUMMARY
One or more shortcomings of the prior art may be overcome, and additional advantages may be provided through the present disclosure. Additional features and advantages may be realized through the techniques of the present disclosure. Other embodiments and aspects of the disclosure are described in detail herein and are considered a part of the claimed disclosure.
Disclosed herein is a method for generating an Optimal Object Recognition Network (OORN) with balanced accuracy. The method comprises identifying, by a decision making system, a plurality of connections in an Input Object Recognition Network (IORN). Further, the method comprises generating a calculated feature map of the IORN, and a calculated object score for the IORN, by temporarily masking one or more connections among the plurality of connections in the IORN. Upon generating the calculated feature map, and the calculated object score, the method comprises computing a loss value for the IORN using the calculated object score and a predetermined expected object score. Finally, the method comprises training a Meta Object Recognition Network (MORN), corresponding to the IORN, by deactivating the one or more connections in the IORN, when the loss value is more than a threshold loss value, thereby generating the OORN.
Further, the present disclosure relates to a decision making system for generating an Optimal Object Recognition Network (OORN) with balanced accuracy. The decision making system comprises a processor and a memory. The memory is communicatively coupled to the processor, and stores processor-executable instructions, which on execution, cause the processor to identify a plurality of connections in an Input Object Recognition Network (IORN). Further, the instructions cause the processor to generate a calculated feature map of the IORN, and a calculated object score for the IORN, by temporarily masking one or more connections among the plurality of connections in the IORN. Upon generating the calculated feature map and the calculated object score, the instructions cause the processor to compute a loss value for the IORN using the calculated object score and a predetermined expected object score. Finally, the instructions cause the processor to train a Meta Object Recognition Network (MORN), corresponding to the IORN, by deactivating the one or more connections in the IORN, when the loss value is more than a threshold loss value, thereby generating the OORN.
The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the drawings and the following detailed description.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, explain the disclosed principles. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the figures to reference like features and components. Some embodiments of system and/or methods in accordance with embodiments of the present subject matter are now described, by way of example only, and regarding the accompanying figures, in which:
FIG. 1 illustrates an exemplary environment for generating an Optimal Object Recognition Network (OORN) with balanced accuracy in accordance with some embodiments of the present disclosure;
FIG. 2A shows a detailed block diagram illustrating a decision making system for generating the OORN with balanced accuracy in accordance with some embodiments of the present disclosure;
FIG. 2B is a flowchart indicating a method of training a Meta Object Recognition Network (MORN) in accordance with some embodiments of the present disclosure;
FIGS. 3A-3D are exemplary representations of IORN and corresponding input images, for illustrating a method of training the MORN in accordance with some embodiments of the present disclosure;
FIG. 4 shows a flowchart illustrating a method for generating the OORN with balanced accuracy in accordance with some embodiments of the present disclosure; and
FIG. 5 illustrates a block diagram of an exemplary computer system for implementing embodiments consistent with the present disclosure.
It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative systems embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and executed by a computer or processor, whether such computer or processor is explicitly shown.
DETAILED DESCRIPTION
In the present document, the word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment or implementation of the present subject matter described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
While the disclosure is susceptible to various modifications and alternative forms, specific embodiment thereof has been shown by way of example in the drawings and will be described in detail below. It should be understood, however that it is not intended to limit the disclosure to the specific forms disclosed, but on the contrary, the disclosure is to cover all modifications, equivalents, and alternative falling within the spirit and the scope of the disclosure.
The terms “comprises”, “comprising”, “includes”, or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a setup, device, or method that comprises a list of components or steps does not include only those components or steps but may include other components or steps not expressly listed or inherent to such setup or device or method. In other words, one or more elements in a system or apparatus proceeded by “comprises… a” does not, without more constraints, preclude the existence of other elements or additional elements in the system or method.
The present disclosure relates to a method and a decision making system for generating an Optimal Object Recognition Network (OORN) with balanced accuracy. The present method includes two distinct object recognition networks namely, an Input Object Recognition Network (IORN) and a Meta Object Recognition Network (MORN). The IORN acts as a parent network, corresponding to an input image, in which one or more essential connections must be identified for reducing complexity and enhancing accuracy of object recognition process. The MORN may be a pre-trained network, which assists in improving accuracy of the IORN by identifying the one or more essential connections in the IORN. In an embodiment, the input image may include, without limiting to, picture of a scene, picture of one or more objects, or any image captured by an image capturing device. For example, the input image may be, without limitation, a grayscale image, a colored image, a black and white image, and the like.
In an embodiment, the essential connections retained in the IORN may be related to multiple object classes. Further, only the essential connections in the IORN are activated by exploiting input dataset characteristics depending on type of objects to be recognized in the input image. This helps in enhancing overall accuracy of the IORN during runtime. In other words, during the run time of the IORN, the essential connections identified in the IORN are configured to work like a switch. As a result, only a specific set of connections would open for a specific class of object, and close for other classes of objects. Thus, the method of present disclosure dynamically modifies the IORN during runtime or testing phase of the IORN, thereby resulting in balanced accuracy.
In the following detailed description of the embodiments of the disclosure, reference is made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration specific embodiments in which the disclosure may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the disclosure, and it is to be understood that other embodiments may be utilized and that changes may be made without departing from the scope of the present disclosure. The following description is, therefore, not to be taken in a limiting sense.
FIG. 1 illustrates an exemplary environment 100 for generating an Optimal Object Recognition Network (OORN) 111 with balanced accuracy in accordance with some embodiments of the present disclosure.
The environment 100 includes a decision making system 103, which takes an Input Object Recognition Network (IORN) 101 as input, and generates an Optimal Object Recognition Network (OORN) 111 using a Meta Object Recognition Network (MORN) (110). As an example, the IORN 101 may be an object classifier neural network comprising one or more connections, which facilitate in classifying one or more objects in an input image. In an embodiment, a user associated with the decision making system 103 may provide the IORN 101 as an input to the decision making system 103. Alternatively, the decision making system 103 may itself generate the IORN 101, based on the input image provided by the user.
In an embodiment, the decision making system 103 includes an I/O interface 105, a processor (107), and a memory 109. The I/O interface 105 may be used to receive the input image and/or the IORN 101 corresponding to the input image from the user. Further, the I/O interface 105 may be used to provide the OORN 111 to the user. The memory 109 may be communicatively coupled to the processor 107, and may store various information and temporary data generated while training the MORN 110. The processor 107 may be configured to perform each function of the decision making system 103 for generating the OORN 111.
In an embodiment, upon receiving the IORN 101, the decision making system 103 may analyze the IORN 101 to identify a plurality of connections in the IORN 101. The plurality of connections in the IORN 101 may include each connection in the IORN 101 across each layer of the IORN 101, and also may include one or more redundant and/or non-essential connections, which need to be masked and/or deactivated for obtaining the OORN 111. Once the plurality of connections is identified in the IORN 101, the decision making system 103 may generate a calculated feature map 211 of the IORN 101, and a calculated object score 213 for the IORN 101.
In an embodiment, the calculated feature map 211 of the IORN 101, and the calculated object score 213 for the IORN 101 may be generated by temporarily masking one or more connections among the plurality of connections in the IORN 101. In an implementation, masking of the one or more connections among the plurality of connections may be performed iteratively. In other words, at each iteration, a connection from the plurality of connections may be selected from a specific layer of the IORN 101 and may be masked for generating the calculated feature map 211 and the calculated object score 213. Likewise, a set of distinct calculated feature map 211 and the calculated object score 213 may be generated for each of the plurality of connections in each layer of the IORN 101.
In an embodiment, upon generating the calculated feature map 211, the decision making system 103 may compute a loss value 215 for the IORN 101. As an example, the loss value 215 may be computed using the calculated object score 213 and a predetermined expected object score. The predetermined expected object score may be computed based on an expected feature map, which is generated when none of the plurality of connections in the IORN 101 are masked.
In an embodiment, the loss value 215 for the IORN 101 may be obtained as a resultant of training the one or more connections in the IORN 101. Consequently, the importance of each of the plurality of connections in the IORN 101 may be estimated based on the loss value 215 for the IORN 101 at each iteration of masking the one or more connections. Further, to determine whether a selected one of the plurality of connections in the IORN 101 is an important/essential connection for the IORN 101, the loss value 215, generated by masking the selected connection may be compared with a threshold loss value.
In an embodiment, the threshold loss value may be a negative value or a positive value. When the threshold loss value is set to be a negative value, the connection may be determined to be essential only when the loss value 215 is higher than the threshold loss value. In other words, the one or more connections among the plurality of connections, whose loss value 215 is less than the threshold loss value may be determined to be non-essential and deactivated, without affecting the accuracy of the IORN 101. Similarly, when the threshold loss value is set to be a positive value, the connections may be determined to be essential only when the loss value 215 is less than the threshold loss value.
In some implementations, the threshold loss value may be preconfigured and stored in the decision making system 103. In other implementations, the threshold loss value may be dynamically set, for example, based on a user input. Further, the threshold loss value may be identical for each identical IORN 101.
In an embodiment, the decision making system 103 may train the MORN 110 by deactivating the one or more connections in the IORN 101. Thus, at the end of training, based on training criterion defined by loss function, the MORN 110 learns a lossy summary of some of the task relevant aspect of the input with more precision than other. In other words, the MORN 110 may include information related to the one or more essential connections of the IORN 101. Subsequently, the decision making system 103 may use the information stored in the trained MORN 110 to determine one or more essential connections in any test IORN 101, having same and/or similar configuration with respect to the IORN 101 used for training the MORN 110. Further, the decision making system 103 may optimize the test IORN 101 by deactivating the one or more connections, other than the one or more essentials connections, thus determined in the test IORN 101.
FIG. 2A shows a detailed block diagram illustrating a decision making system 103 for generating an Optimal Object Recognition Network (OORN) 111 with balanced accuracy in accordance with some embodiments of the present disclosure.
In an implementation, the decision making system 103, in addition to the I/O interface 105, the processor 107 and the memory 109, may include data 207 and modules 209 for performing various operations in accordance with the embodiments of the present disclosure. In an embodiment, the data 207 may be stored within the memory 109 and may include, without limiting to, calculated feature map 211, calculated object score 213, loss value 215, and other data 217.
In some embodiments, the data 207 may be stored within the memory 109 in the form of various data structures. Additionally, the data 207 may be organized using data models, such as relational or hierarchical data models. The other data 217 may store data, including the threshold loss value, the actual object score of the IORN 101, the expected feature map of the MORN 110, and other temporary data and files generated by the modules 209 while performing various functions of the decision making system 103.
In an embodiment, the calculated feature map 211 of the IORN 101 may be generated by temporarily masking one or more connections among the plurality of connections in the IORN 101. In an implementation, a distinct calculated feature map 211 may be generated for each of the one or more connections being temporarily masked at each iteration of masking the one or more connections in the IORN 101.
In an embodiment, the calculated object score 213 may be computed based on the calculated feature map 211. The calculated object score 213 may be indicative of precision of recognizing an object, belonging to a specific object class, in the input image corresponding to the IORN 101. The calculated object score 213 of the calculated feature map 211 may vary at each iteration based on the one or more connections being masked in the IORN 101. In an embodiment, the calculated object score 213 may be computed using the calculated feature map 211 obtained at a last layer of the IORN 101.
In an embodiment, the loss value 215 may be indicative of importance of the one or more connections in the IORN 101. The importance of the one or more connections in the IORN 101 may be determined by comparing the loss value 215 with a threshold loss value.
In an embodiment, the MORN 110 is an additional network in the decision making system 103, used for generating the OORN 111. The decision making system 103 may train the MORN 110 by deactivating the one or more non-essential connections in the IORN 101. Therefore, at the end of training, based on training criterion defined by loss function the MORN 110 learns a lossy summary of some of the task relevant aspect of the input with more precision than other. In other words, the MORN 110 may include information related to the one or more essential connections that are required to be retained in the IORN 101 for achieving a balanced accuracy in object recognition. Subsequently, in the testing phase, the information stored in the trained MORN 110 may be used to generate an OORN 111 for the IORN 101, by deactivating the one or more non-essential connections among the plurality of connections in the IORN 101.
In an embodiment, the MORN 110 is capable of self-training. The MORN 110, similar to the IORN 101, may take the input image as an input, and compute loss value 215. Further, the MORN 110 may be configured to compare the expected feature map of the MORN 110 with the calculated feature map 211 of the IORN 101 for calculating the loss value 215, and to train itself based on variations in the loss value 215.
In an embodiment, the data 207 may be processed by one or more modules 209 of the decision making system 103. In one implementation, the one or more modules 209 may be stored as a part of the processor 107. In another implementation, the one or more modules 209 may be communicatively coupled to the processor 107 for performing one or more functions of the decision making system 103. The modules 209 may include, without limiting to, a connection identification module 219, a connection masking module 221, a loss value computation module 223, a training module 225, and other modules 229.
As used herein, the term module refers to an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. In an embodiment, the other modules 229 may be used to perform various miscellaneous functionalities of the decision making system 103. It will be appreciated that such modules 209 may be represented as a single module or a combination of different modules.
In an embodiment, the connection identification module 219 may be used for identifying the plurality of connections in the IORN 101. As an example, the connection identification module 219 may perform a layer-wise analysis of the IORN 101 to identify each of the plurality of connections.
The connection masking module 221 may be used for iteratively masking the one or more connections among the plurality of connections identified in the IORN 101. In an embodiment, the one or more connections may be temporarily masked, and the calculated feature map 211 and the calculated object score 213 corresponding to the one or more masked connections are generated. During each iteration, the loss value 215 for the IORN 215 may be computed to estimate the importance of the one or more masked connections in the IORN 101.
In an embodiment, the loss value computation module 223 may be used for computing the loss value 215 for the IORN 101. As an example, the loss value computation module 223 may compute the loss value 215 using a loss function, based on the calculated object score 213 and a predetermined expected object score. The loss function may be a multi-parameter function that includes a logarithmic loss score computation function, a polynomial error score computation function, and a distance computation function.
In an embodiment, the logarithmic loss score computation function may be used to compute a logarithmic loss score for the IORN 101 by comparing the calculated feature map 211 with an expected feature map of the MORN 110. It shall be noted that, the form and/or one or more parameters for the logarithmic loss score computation function may be varied according to user-specific or application-specific requirements. However, an exemplary illustration of the logarithmic loss score computation function may be as shown in Equation (1) below:
--- (1)
Where,
‘Yp ’ represents the calculated feature map 211 of the IORN 101; and
‘Yt ’ represents the expected feature map of the MORN 110
In an embodiment, the polynomial error score computation function may be used to compute a polynomial error score for the IORN 101 based on confidence scores associated with detection of each of the one or more objects in the input image. It shall be noted that, the form and/or one or more parameters for the polynomial error score computation function may be varied as per user-specific or application-specific requirements. However, an exemplary illustration of the polynomial error score computation function may be as indicated in Equation (2) below:
…. (2)
Where,
‘n’, ‘c’ represent number of objects in the input images; and
Y``ji and Yji represent the confidence scores associated with each object detection;
In an embodiment, distance computation function may be used to compute distance between one or more objects in the input image corresponding to the IORN 101. As an example, the distance between the one or more objects may be computed by determining an initial position and a final position of each of the one or more objects, and then computing a distance between the initial position and the final position of each of the one or more objects. It shall be noted that, the form and/or one or more parameters for the distance computation function may be varied as per user-specific or application-specific requirements. However, an exemplary illustration of the distance computation function may be as indicated in Equation (3) below:
… (3)
Where,
‘w’ corresponds to fraction of the time an object appears in a specific position in the input dataset;
(X1, X2) and (Y1, Y2) represent co-ordinates of initial position and the final position of the object respectively.
Thus, the loss function for computing the loss value 215 may be represented by Equation (4) below:
Loss function = f (Expected feature map, Calculated feature map) +
g (Confidence score 1, Confidence score 2) +
s (Initial position of object, Final position of object) … (4)
In some embodiments, as indicated in Equation (4), the loss function may be a three-parameter function, which takes each of the three parameters namely, the expected feature map, the confidence scores and the distance, for computing the loss value 215. In some alternative embodiments, it shall be possible to modify the loss function by excluding any of the said parameters from the loss function, and still compute the loss value 215 using the modified loss function, as shown in exemplary equations 4A, 4B and 4C. Such modifications to the loss function may be helpful in faster training and/or reducing computation time.
For example, the loss value may be computed using the parameters - expected feature map and the confidence score.
i.e. Loss function = f (Expected feature map, Calculated feature map) +
g (Confidence score 1, Confidence score 2) …….. (4A)
In another example, the loss value may be computed using the parameters - expected feature map and the distance.
i.e. Loss function = f (Expected feature map, Calculated feature map) +
s (Initial position of object, Final position of object) …….. (4B)
In further example, the loss value may be computed using the parameters - the confidence score and the distance.
i.e. Loss function = g (Confidence score 1, Confidence score 2) +
s (Initial position of object, Final position of object) …….(4C)
In an embodiment, upon computing the loss value 215 using the Equations (1) to (4) above, the computed loss value 215 may be used for training the MORN 110.
In an embodiment, the training module 225 may be used to train the MORN 110 by deactivating the one or more connections in the IORN 101, when the loss value 215 is more than a threshold loss value.
FIG. 2B provides an exemplary method 230 of training the MORN 110. At block 232, the IORN 101 that must be optimized for balanced accuracy may be received by the decision making system 103. At block 234, the decision making system 103 may identify the plurality of connections in the IORN 101 across each layer ‘L’ in the IORN 101. At block 238, the decision making system 103 may mask the one or more connections among the plurality of connections identified in the IORN 101, as per iterative looping condition indicated in block 236. i.e. the one or more connections may be masked iteratively until each connection ‘C’ in the IORN 101 is masked at least once. Further, at block 240, the decision making system 103 may generate the calculated feature map 211, and the calculated object score 213 for each of the one or more masked connections in the IORN 101 for determining importance of the one or more connections in the IORN 101 based on the loss value 215. Subsequently, the one or more masked connections, whose loss value 215 is higher than the threshold loss value may be determined to be the important/essential connections in the IORN 101. At block 242, the one or more connections which are determined to be essential may be back propagated onto the MORN 110 for training the MORN 110 with the one or more essential connections. Upon completion of the above training process, the trained MORN 110 may be used to optimize the IORN 101 by deactivating and/or masking the one or more non-essential connections in the IORN 101.
FIGS. 3A-3D are exemplary representations of IORN 101 and the corresponding input images, for illustrating a method of training the MORN 110 in accordance with some embodiments of the present disclosure.
In an embodiment, the parameters including the expected feature map of the MORN 110, the calculated feature map 211 of the IORN 101, the actual object score, the calculated object score 213 of the IORN 101, and the corresponding loss value 215 is required to be determined for generating the OORN for the given IORN 101. Table A below indicates exemplary values of the above parameters and the subsequent actions that are performed on the MORN 110 for training the MORN 110.
Reference IORN Expected feature map Calculated feature map Object score Loss value Training activity on the MORN
Actual Calculated
IORN - 1 (FIG. 3A) 110
111
010
101
011 110
101
010
101
011 0.12 0.61 0.70 Essential Connection
Include the connection in the MORN
IORN - 2 (FIG. 3B) 110
110
011
101
011 110
110
001
101
011 0.76 0.09 0.90 Non-essential Connection
Deactivate the connection in the MORN
IORN - 3 (FIG. 3C) 110
111
011
001
011 110
111
011
001
001 0.08 0.66 0.50 Essential connection
Include the connection in the MORN
IORN - 4 (FIG. 3D) 110
101
001
101
011 110
101
001
001
011 0.37 0.54 0.80 Non-essential Connection
Deactivate the connection in the MORN
Table A: Training of the MORN
Consider a connection ‘M’ (indicated by dotted line in FIG. 3A) in the IORN – 1. During the training phase, the connection ‘M’ may be temporarily masked for determining its importance in the IORN – 1. The loss value 215 for the IORN -1 may be computed based on the actual object score for IORN – 1 and the calculated object score 213 for IORN – 1. Now, referring to Table A, when the connection ‘M’ is masked in the IORN – 1, the resultant loss value 215 for IORN – 1 is 0.70. Here, the importance of connection ‘M’ may be determined by comparing the loss value 215 for the IORN – 1 with the threshold loss value, say 0.8 . Consequently, considering that the threshold loss value is a positive value, the connection ‘M’ may be determined as an essential connection, since the loss value 215 associated with the connection ‘M’ (i.e., 0.70) is less than the threshold loss value (i.e. 0.8). At the end of the training phase, the MORN may be updated with an information that the connection ‘M’ is an essential connection in IORN – 1. Subsequently, during the testing phase, the connection ‘M’ may be activated and retained in the OORN 111 based on the updated information stored in the MORN 110.
Similarly, consider a connection ‘N’ (dotted line in FIG. 3B) of the IORN – 2, which is temporarily masked for determining its importance in the IORN – 2. Now, referring to Table A, the loss value 215 for the IORN - 2, when the connection ‘N’ is masked in the IORN – 2, is 0.90 which is computed based on the actual object score for IORN – 2 and the calculated object score 213 for IORN – 2. Here, the importance of connection ‘N’ may be determined by comparing the loss value 215 for the IORN – 2 with the threshold loss value i.e. 0.8. Consequently, the connection ‘N’ may be determined as a non-essential connection, since the loss value 215 associated with the connection ‘N’, i.e., 0.90 more than the threshold loss value i.e. 0.8. As a result, the connection ‘M’ may be deactivated from the MORN 110. The importance of all the connections in the IORN may be determined using the above process.
FIG. 4 shows a flowchart illustrating a method for generating an Optimal Object Recognition Network (OORN) 111 with balanced accuracy in accordance with some embodiments of the present disclosure.
As illustrated in FIG. 4, the method 400 includes one or more blocks illustrating a method for generating the OORN 111 with balanced accuracy using a decision making system 103, for example the decision making system 103 of FIG. 1. The method 400 may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, and functions, which perform specific functions or implement specific abstract data types.
The order in which the method 400 is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method. Additionally, individual blocks may be deleted from the methods without departing from the spirit and scope of the subject matter described herein. Furthermore, the method can be implemented in any suitable hardware, software, firmware, or combination thereof.
At block 401, the method 400 comprises identifying, by the decision making system 103, a plurality of connections in the IORN 101. In an embodiment, the IORN 101 may be an object classifier network used for classifying and recognizing one or more objects in an input image. Further, total number of connections in the IORN 101 may be determined based on total number of layers in the IORN 101 and number of nodes in each layer.
At block 403, the method 400 comprises generating, by the decision making system 103, a calculated feature map 211 of the IORN 101, and a calculated object score 213 for the IORN 101 by temporarily masking one or more connections among the plurality of connections in the IORN 101. In an embodiment, masking of the one or more connections among the plurality of connections in the IORN 101 may be performed iteratively.
At block 405, the method 400 comprises computing, by the decision making system 103, a loss value 215 for the IORN 211 using the calculated object score 213 and a predetermined expected object score. In an embodiment, the loss value 215 may be computed using a loss function. The loss function may include a logarithmic loss score computation function, a polynomial error score computation function, and a distance computation function.
In an embodiment, the logarithmic loss score computation function may compute a logarithmic loss score for the IORN 101 by comparing the calculated feature map 211 with an expected feature map of MORN 110. Further, the polynomial error score computation function may compute a polynomial error score for the IORN 101 based on a confidence score associated with detection of each of the one or more objects in the input image. Likewise, wherein the distance computation function may be used to compute distance between one or more objects in an input image, corresponding to the IORN 101, by determining an initial position and a final position of each of the one or more objects, and computing distance between the initial position and the final position of each of the one or more objects.
At block 407, the method 400 comprises training, by the decision making system 103, a Meta Object Recognition Network (MORN) 110, corresponding to the IORN 101, by deactivating the one or more connections in the IORN 101, when the loss value 215 is more than a threshold loss value. In an embodiment, the MORN 110 may be configured to identify one or more essential connections among the plurality of connections in the IORN 101. Upon identifying the one or more essential connections, the MORN 110 may generate an expected feature map based on the one or more essential connections. Subsequently, the MORN 110 may compare the expected feature map with the calculated feature map 211 of the IORN 101 to determine a balance in the accuracy of the IORN 101.
Computer System
FIG. 5 illustrates a block diagram of an exemplary computer system 500 for implementing embodiments consistent with the present disclosure. In an embodiment, the computer system 500 may be decision making system 103, which is used for generating an Optimal Object Recognition Network (OORN) 111 with balanced accuracy. The computer system 500 may include a central processing unit (“CPU” or “processor”) 502. The processor 502 may comprise at least one data processor for executing program components for executing user- or system-generated business processes. A user may include a person, a person using the decision making system 103 and the like. The processor 502 may include specialized processing units such as integrated system (bus) controllers, memory management control units, floating point units, graphics processing units, digital signal processing units, etc.
The processor 502 may be disposed in communication with one or more input/output (I/O) devices (511 and 512) via I/O interface 501. The I/O interface 501 may employ communication protocols/methods such as, without limitation, audio, analog, digital, stereo, IEEE-1394, serial bus, Universal Serial Bus (USB), infrared, PS/2, BNC, coaxial, component, composite, Digital Visual Interface (DVI), high-definition multimedia interface (HDMI), Radio Frequency (RF) antennas, S-Video, Video Graphics Array (VGA), IEEE 802.n /b/g/n/x, Bluetooth, cellular (e.g., Code-Division Multiple Access (CDMA), High-Speed Packet Access (HSPA+), Global System For Mobile Communications (GSM), Long-Term Evolution (LTE) or the like), etc. Using the I/O interface 501, the computer system 500 may communicate with one or more I/O devices 511 and 512.
In some embodiments, the processor 502 may be disposed in communication with a communication network 509 via a network interface 503. The network interface 503 may communicate with the communication network 509. The network interface 503 may employ connection protocols including, without limitation, direct connect, Ethernet (e.g., twisted pair 10/100/1000 Base T), Transmission Control Protocol/Internet Protocol (TCP/IP), token ring, IEEE 802.11a/b/g/n/x, etc. Using the network interface 503 and the communication network 509, the computer system 500 may communicate with one or more sources and/or users for receiving the IORN 101, which has to be optimized by identifying the one or more essential connections. Further, the communication network 509 may be used to provide the Optimal Object Recognition Network (OORN) to the users upon optimizing the IORN 101.
The communication network 509 can be implemented as one of the several types of networks, such as intranet or Local Area Network (LAN) and such within the organization. The communication network 509 may either be a dedicated network or a shared network, which represents an association of several types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), etc., to communicate with each other. Further, the communication network 509 may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, etc.
In some embodiments, the processor 502 may be disposed in communication with a memory 505 (e.g., RAM 513, ROM 514, etc. as shown in FIG. 5) via a storage interface 504. The storage interface 504 may connect to memory 505 including, without limitation, memory drives, removable disc drives, etc., employing connection protocols such as Serial Advanced Technology Attachment (SATA), Integrated Drive Electronics (IDE), IEEE-1394, Universal Serial Bus (USB), fiber channel, Small Computer Systems Interface (SCSI), etc. The memory drives may further include a drum, magnetic disc drive, magneto-optical drive, optical drive, Redundant Array of Independent Discs (RAID), solid-state memory devices, solid-state drives, etc.
The memory 505 may store a collection of program or database components, including, without limitation, user/application 506, an operating system 507, a web browser 508, and the like. In some embodiments, computer system 500 may store user/application data 506, such as the data, variables, records, and the like as described in this disclosure. Such databases may be implemented as fault-tolerant, relational, scalable, secure databases such as Oracle or Sybase.
The operating system 507 may facilitate resource management and operation of the computer system 500. Examples of operating systems include, without limitation, Apple Macintosh OS X, UNIX, Unix-like system distributions (e.g., Berkeley Software Distribution (BSD), FreeBSD, Net BSD, Open BSD, etc.), Linux distributions (e.g., Red Hat, Ubuntu, K-Ubuntu, etc.), International Business Machines (IBM) OS/2, Microsoft Windows (XP, Vista/7/8, etc.), Apple iOS, Google Android, Blackberry Operating System (OS), or the like.
A user interface may facilitate display, execution, interaction, manipulation, or operation of program components through textual or graphical facilities. For example, user interfaces may provide computer interaction interface elements on a display system operatively connected to the computer system 500, such as cursors, icons, check boxes, menus, windows, widgets, etc. Graphical User Interfaces (GUIs) may be employed, including, without limitation, Apple Macintosh operating systems’ Aqua, IBM OS/2, Microsoft Windows (e.g., Aero, Metro, etc.), Unix X-Windows, web interface libraries (e.g., ActiveX, Java, JavaScript, AJAX, HTML, Adobe Flash, etc.), or the like.
Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present invention. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., non-transitory. Examples include Random Access Memory (RAM), Read-Only Memory (ROM), volatile memory, nonvolatile memory, hard drives, Compact Disc (CD) ROMs, Digital Video Disc (DVDs), flash drives, disks, and any other known physical storage media.
Advantages of the embodiment of the present disclosure are illustrated herein.
In an embodiment, the present disclosure discloses a method for generating an Optimal Object Recognition Network having balanced accuracy, by identifying essential connections in an Input Object Recognition network.
In an embodiment, the method of present disclosure helps in reducing complexity of the IORN, since one or more non-essential and/or redundant connections in the IORN are masked during run-time of the IORN.
In an embodiment, the method of present disclosure uses multiple object statistics such as position of objects and their feature maps in addition to determining the essential connections, thereby enhancing accuracy of object detection and/or recognition process.
In an embodiment, the method of present disclosure includes training a Meta Object Recognition Network (MORN) with the one or more essential connections identified in the IORN, and subsequently using the trained MORN to optimize one or more new IORNs. Thus, the present disclosure helps in reducing overall computation time and complexity associated with object recognition process.
In an embodiment, the method of present disclosure may be used in low-level, real-time safety critical applications such as Advanced Driver Assistant Systems (ADAS) and stereo cameras, which require object recognition to be balanced across all types of object detections, since the method of present disclosure produces balanced accuracy in detecting objects of multiple object classes. Also, present disclosure may be used as SaaS based neural network services such as colorization, network compression and the like.
The terms "an embodiment", "embodiment", "embodiments", "the embodiment", "the embodiments", "one or more embodiments", "some embodiments", and "one embodiment" mean "one or more (but not all) embodiments of the invention(s)" unless expressly specified otherwise.
The terms "including", "comprising", “having” and variations thereof mean "including but not limited to", unless expressly specified otherwise. The enumerated listing of items does not imply that any or all the items are mutually exclusive, unless expressly specified otherwise.
The terms "a", "an" and "the" mean "one or more", unless expressly specified otherwise. A description of an embodiment with several components in communication with each other does not imply that all such components are required. On the contrary, a variety of optional components are described to illustrate the wide variety of possible embodiments of the invention.
When a single device or article is described herein, it will be clear that more than one device/article (whether they cooperate) may be used in place of a single device/article. Similarly, where more than one device or article is described herein (whether they cooperate), it will be clear that a single device/article may be used in place of the more than one device or article or a different number of devices/articles may be used instead of the shown number of devices or programs. The functionality and/or the features of a device may be alternatively embodied by one or more other devices which are not explicitly described as having such functionality/features. Thus, other embodiments of the invention need not include the device itself.
Finally, the language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this detailed description, but rather by any claims that issue on an application based here on. Accordingly, the embodiments of the present invention are intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.
While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims.
Reference Numerals:
Reference Number Description
100 Environment
101 Input Object Recognition Network (IORN)
103 Decision making system
105 I/O Interface
107 Processor
109 Memory
110 Meta Object Recognition Network (MORN)
111 Optimal Object Recognition Network (OORN)
207 Data
209 Modules
211 Calculated feature map
213 Calculated object score
215 Loss value
217 Other data
219 Connection identification module
221 Connection masking module
223 Loss value computation module
225 Training module
229 Other modules
501 I/O Interface of the exemplary computer system
502 Processor of the exemplary computer system
503 Network interface
504 Storage interface
505 Memory of the exemplary computer system
506 User/Application
507 Operating system
508 Web browser
509 Communication network
511 Input devices
512 Output devices
513 RAM
514 ROM
| # | Name | Date |
|---|---|---|
| 1 | 201841005915-STATEMENT OF UNDERTAKING (FORM 3) [16-02-2018(online)].pdf | 2018-02-16 |
| 2 | 201841005915-REQUEST FOR EXAMINATION (FORM-18) [16-02-2018(online)].pdf | 2018-02-16 |
| 3 | 201841005915-PROOF OF RIGHT [16-02-2018(online)].pdf | 2018-02-16 |
| 4 | 201841005915-Proof of Right (MANDATORY) [16-02-2018(online)].pdf | 2018-02-16 |
| 5 | 201841005915-FORM-26 [16-02-2018(online)].pdf | 2018-02-16 |
| 6 | 201841005915-FORM 18 [16-02-2018(online)].pdf | 2018-02-16 |
| 7 | 201841005915-FORM 1 [16-02-2018(online)].pdf | 2018-02-16 |
| 8 | 201841005915-DRAWINGS [16-02-2018(online)].pdf | 2018-02-16 |
| 9 | 201841005915-DECLARATION OF INVENTORSHIP (FORM 5) [16-02-2018(online)].pdf | 2018-02-16 |
| 10 | 201841005915-COMPLETE SPECIFICATION [16-02-2018(online)].pdf | 2018-02-16 |
| 11 | Correspondence by Agent_Proof of Right_22-02-2018.pdf | 2018-02-22 |
| 12 | Correspondence by Agent_Power of Attorney_22-02-2018.pdf | 2018-02-22 |
| 13 | 201841005915-FER.pdf | 2020-08-11 |
| 14 | 201841005915-FER_SER_REPLY [12-11-2020(online)].pdf | 2020-11-12 |
| 15 | 201841005915-CORRESPONDENCE [12-11-2020(online)].pdf | 2020-11-12 |
| 16 | 201841005915-CLAIMS [12-11-2020(online)].pdf | 2020-11-12 |
| 17 | 201841005915-ABSTRACT [12-11-2020(online)].pdf | 2020-11-12 |
| 18 | 201841005915-PatentCertificate22-03-2022.pdf | 2022-03-22 |
| 19 | 201841005915-IntimationOfGrant22-03-2022.pdf | 2022-03-22 |
| 20 | 201841005915-RELEVANT DOCUMENTS [21-08-2023(online)].pdf | 2023-08-21 |
| 1 | 2020-06-2311-04-41E_23-06-2020.pdf |