Abstract: This disclosure relates generally to method of detecting at least one anomaly in a sensing unit. A plurality of samples associated with a plurality of lane offsets is received from the sensing unit. At least one sample is filtered from the plurality of samples obtained from the sensing unit. A plurality of absolute differential values of the plurality of lane offsets is determined with at least one preceding sample. A plurality of clusters is generated by applying an unsupervised clustering on the plurality of absolute differential values. At least one centroid is dynamically selected at plurality of iterations. At least one silhouette value of a K mean cluster values is identified. At least one anomaly point is detected if a first cluster is identified based on at least one cluster with number of points less than max_C percentage of N, and at least one silhouette value is more than max_s.
Claims:
1. A processor implemented method of detecting at least one anomaly in a sensing unit, comprising:
receiving, from the sensing unit, a plurality of samples associated with a plurality of lane offsets, wherein the sensing unit corresponds to a camera sensor;
filtering, via one or more hardware processors, at least one sample from the plurality of samples obtained from the sensing unit to obtain at least one preceding sample;
determining, via the one or more hardware processors, a plurality of absolute differential values of the plurality of lane offsets with the at least one preceding sample;
generating, via the one or more hardware processors, a plurality of clusters by applying an unsupervised clustering on the plurality of absolute differential values;
dynamically selecting, via the one or more hardware processors, at least one centroid with a plurality of iterations from the plurality of clusters, wherein the plurality of iterations corresponds to a stability of the at least one centroid;
identifying, via the one or more hardware processors, at least one silhouette value of a K mean cluster values based on the at least one centroid; and
detecting, via the one or more hardware processors, at least one anomaly point if a first cluster is identified based on: (a) at least one cluster with a number of points less than max_C percentage of N, and (b) at least one silhouette value is more than max_s.
2. The processor implemented method as claimed in claim 1, wherein the plurality of lane offsets corresponds to (a) a left-side lane offset, and (b) a right-side lane offset.
3. The processor implemented method as claimed in claim 1, wherein the at least one sample is filtered based on at least one: (a) an unavailable values, and (b) a low confidence values.
4. The processor implemented method as claimed in claim 1, wherein the plurality of absolute differential values corresponds to at least one: (a) an absolute differential value of the left-side lane offset, and (b) an absolute differential value of the right-side lane offset.
5. The processor implemented method as claimed in claim 1, wherein the unsupervised clustering corresponds to a K-means nearest neighbour.
6. The processor implemented method as claimed in claim 1, wherein the at least one silhouette value corresponds to at least one data point sample placed away from at least one neighboring cluster.
7. A system (200) to detect at least one anomaly in a sensing unit, comprising:
a memory (202) storing instructions;
one or more communication interfaces (206); and
one or more hardware processors (204) coupled to the memory (202) via the one or more communication interfaces (206), wherein the one or more hardware processors (204) are configured by the instructions to:
receive, from the sensing unit, a plurality of samples associated with a plurality of lane offsets, wherein the sensing unit corresponds to a camera sensor;
filter, at least one sample from the plurality of samples obtained from the sensing unit to obtain at least one preceding sample;
determine, a plurality of absolute differential values of the plurality of lane offsets with the at least one preceding sample;
generate, a plurality of clusters by applying an unsupervised clustering on the plurality of absolute differential values;
dynamically select, at least one centroid with a plurality of iterations from the plurality of clusters, wherein the plurality of iterations corresponds to a stability of the at least one centroid;
identify, at least one silhouette value of a K mean cluster values based on the at least one centroid; and
detect, at least one anomaly point if a first cluster is identified based on: (a) at least one cluster with a number of points less than max_C percentage of N, and (b) at least one silhouette value is more than max_s.
8. The system (200) as claimed in claim 7, wherein the plurality of lane offsets corresponds to (a) a left-side lane offset, and (b) a right-side lane offset.
9. The system (200) as claimed in claim 7, wherein the at least one sample is filtered based on at least one: (a) an unavailable values, and (b) a low confidence values.
10. The system (200) as claimed in claim 7, wherein the plurality of absolute differential values corresponds to at least one: (a) an absolute differential value of the left-side lane offset, and (b) an absolute differential value of the right-side lane offset.
11. The system (200) as claimed in claim 7, wherein the unsupervised clustering corresponds to a K-means nearest neighbour.
12. The system (200) as claimed in claim 7, wherein the at least one silhouette value corresponds to at least one data point sample placed away from at least one neighboring cluster.
, Description:FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See Section 10 and Rule 13)
Title of invention:
METHOD AND SYSTEM OF DETECTING AN ANOMALY IN A SENSING UNIT
Applicant:
Tata Consultancy Services Limited
A company Incorporated in India under the Companies Act, 1956
Having address:
Nirmal Building, 9th Floor,
Nariman Point, Mumbai 400021,
Maharashtra, India
The following specification particularly describes the invention and the manner in which it is to be performed.
TECHNICAL FIELD
[001] The disclosure herein generally relates to automation systems, and, more particularly, to method and system of detecting an anomaly in a sensing unit.
BACKGROUND
[002] Advanced driver assistance systems (ADAS) from an Autonomous driving (AD), are a family of safety systems that designed to work together to automate and enhance vehicle safety by alerting the driver to potential problems and avoid collisions. Development and deployment of the ADAS/AD systems has very challenging and complex as it needs to be tested very rigorously at various stages of development to achieve very high reliability and accuracy. Multi million miles of vehicle testing required during development life cycle of an autonomous vehicle. The data collection in range of petabytes are required in huge amount. Analyzing the data manually to understand accuracy and anomalies associated with one or more sensing unit i.e., one or more sensors are very time-consuming process. Other method of automatically identification of failure at the one or more sensors scenarios by comparison of a ground truth data with the output associated with the one or more sensors. Generation of the ground truth data which are also time consuming and a costly process.
[003] With reference to FIG. 1, an approach for detecting anomaly in a camera sensor system includes a production camera sensor 102, reference ground truth camera sensor 104, a ground truth generation unit 106, an anomaly detection unit 108. The production camera sensor 102 and the reference ground truth camera sensor 104 were installed in a vehicle. The data were collected in different scenarios which includes a reference camera raw images and an output from the production camera sensor 102. The reference camera raw images are annotated to generate a ground truth data in manual and semi-automatic approach. The generated ground truth data were compared with the output from the production camera sensor 102 to identify the anomaly in a lane detection. The approach was very time consuming and involve high cost.
SUMMARY
[004] Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional systems. For example, in one aspect, a processor implemented method of detecting at least one anomaly in a sensing unit is provided. The processor implemented method includes at least one of: receiving, from the sensing unit, a plurality of samples associated with a plurality of lane offsets; filtering, via one or more hardware processors, at least one sample from the plurality of samples obtained from the sensing unit to obtain at least one preceding sample; determining, via the one or more hardware processors, a plurality of absolute differential values of the plurality of lane offsets with the at least one preceding sample; generating, via the one or more hardware processors, a plurality of clusters by applying an unsupervised clustering on the plurality of absolute differential values; dynamically selecting, via the one or more hardware processors, at least one centroid at a plurality of iterations from the plurality of clusters; identifying, via the one or more hardware processors, at least one silhouette value of a K mean cluster values based on the at least one centroid; and detecting, via the one or more hardware processors, at least one anomaly point if a first cluster is identified based on (a) at least one cluster with a number of points less than max_C percentage of N, and (b) at least one silhouette value is more than max_s. The sensing unit corresponds to a camera sensor. The plurality of iterations corresponds to a stability of the at least one centroid.
[005] In an embodiment, the plurality of lane offsets corresponds to (a) a left-side lane offset, and (b) a right-side lane offset. In an embodiment, the at least one sample is filtered based on at least one: (a) an unavailable values, and (b) a low confidence values. In an embodiment, the plurality of absolute differential values corresponds to at least one: (a) an absolute differential value of the left-side lane offset, and (b) an absolute differential value of the right-side lane offset. In an embodiment, the unsupervised clustering corresponds to a K-means nearest neighbour. In an embodiment, the at least one silhouette value corresponds to at least one data point sample placed away from at least one neighboring cluster.
[006] In another aspect, there is provided a system to detect at least one anomaly in a sensing unit. The system comprises a memory storing instructions; one or more communication interfaces; and one or more hardware processors coupled to the memory via the one or more communication interfaces. The one or more hardware processors are configured by the instructions to: receive, from the sensing unit, a plurality of samples associated with a plurality of lane offsets; filter, at least one sample from the plurality of samples obtained from the sensing unit to obtain at least one preceding sample; determine, a plurality of absolute differential values of the plurality of lane offsets with the at least one preceding sample; generate, a plurality of clusters by applying an unsupervised clustering on the plurality of absolute differential values; dynamically select, at least one centroid at a plurality of iterations from the plurality of clusters; identify, at least one silhouette value of a K mean cluster values based on the at least one centroid; and detect, at least one anomaly point if a first cluster is identified based on (a) at least one cluster with a number of points less than max_C percentage of N, and (b) at least one silhouette value is more than max_s. The sensing unit corresponds to a camera sensor. The plurality of iterations corresponds to a stability of the at least one centroid.
[007] In an embodiment, the plurality of lane offsets corresponds to (a) a left-side lane offset, and (b) a right-side lane offset. In an embodiment, the at least one sample is filtered based on at least one: (a) an unavailable values, and (b) a low confidence values. In an embodiment, the plurality of absolute differential values corresponds to at least one: (a) an absolute differential value of the left-side lane offset, and (b) an absolute differential value of the right-side lane offset. In an embodiment, the unsupervised clustering corresponds to a K-means nearest neighbour. In an embodiment, the at least one silhouette value corresponds to at least one data point sample placed away from at least one neighboring cluster.
[008] In yet another aspect, there are provided one or more non-transitory machine readable information storage mediums comprising one or more instructions which when executed by one or more hardware processors causes at least one of: receiving, from the sensing unit, a plurality of samples associated with a plurality of lane offsets; filtering, at least one sample from the plurality of samples obtained from the sensing unit to obtain at least one preceding sample; determining, a plurality of absolute differential values of the plurality of lane offsets with the at least one preceding sample; generating, a plurality of clusters by applying an unsupervised clustering on the plurality of absolute differential values; dynamically selecting, at least one centroid at a plurality of iterations from the plurality of clusters; identifying, at least one silhouette value of a K mean cluster values based on the at least one centroid; and detecting, at least one anomaly point if a first cluster is identified based on: (a) at least one cluster with a number of points less than max_C percentage of N, and (b) at least one silhouette value is more than max_s. The sensing unit corresponds to a camera sensor. The plurality of iterations corresponds to a stability of the at least one centroid.
[009] In an embodiment, the plurality of lane offsets corresponds to (a) a left-side lane offset, and (b) a right-side lane offset. In an embodiment, the at least one sample is filtered based on at least one: (a) an unavailable values, and (b) a low confidence values. In an embodiment, the plurality of absolute differential values corresponds to at least one: (a) an absolute differential value of the left-side lane offset, and (b) an absolute differential value of the right-side lane offset. In an embodiment, the unsupervised clustering corresponds to a K-means nearest neighbour. In an embodiment, the at least one silhouette value corresponds to at least one data point sample placed away from at least one neighboring cluster.
[010] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
BRIEF DESCRIPTION OF THE DRAWINGS
[011] The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles:
[012] FIG. 1 illustrates a typical approach of detecting anomaly in a sensing unit.
[013] FIG. 2 illustrates a system to detect at least one anomaly in a sensing unit, according to some embodiments of the present disclosure.
[014] FIG. 3 illustrates an exemplary block diagram of functional blocks comprised in the system of FIG. 2, according to some embodiments of the present disclosure.
[015] FIG. 4 is exemplary flow diagram illustrating a method of detecting the at least one anomaly in the sensing unit, according to some embodiments of the present disclosure.
[016] FIG. 5 is an exemplary graphical representation illustrating the at least one anomaly in a camera sensor which failed to provide an accurate lane offset value, according to some embodiments of the present disclosure.
DETAILED DESCRIPTION OF EMBODIMENTS
[017] Exemplary embodiments are described with reference to the accompanying drawings. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the scope of the disclosed embodiments.
[018] The embodiments of the present disclosure provide a method and system to find at least one anomaly in a lane information detected by a sensing unit i.e., a sensor or a camera sensor based on an unsupervised machine learning approach i.e., K-mean unsupervised machine learning algorithm.
[019] Referring now to the drawings, and more particularly to FIGS. 1 through 5, where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments and these embodiments are described in the context of the following exemplary system and/or method.
[020] FIG. 2 illustrates a system 200 for detection of the at least one anomaly in the sensing unit, according to some embodiments of the present disclosure. In an embodiment, the system 200 includes one or more processors 204, communication interface device(s) or input/output (I/O) interface(s) 206, and one or more data storage devices or memory 202 operatively coupled to the one or more processors 204. The memory 202 comprises a database 208. The one or more processors 204 that are hardware processors can be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor(s) is configured to fetch and execute computer-readable instructions stored in the memory. In an embodiment, the system 200 can be implemented in a variety of computing systems, such as laptop computers, notebooks, hand-held devices, workstations, mainframe computers, servers, a network cloud and the like.
[021] The I/O interface device(s) 206 can include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like and can facilitate multiple communications within a wide variety of networks N/W and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. In an embodiment, the I/O interface device(s) can include one or more ports for connecting a number of devices to one another or to another server.
[022] The memory 202 may include any computer-readable medium known in the art including, for example, volatile memory, such as static random-access memory (SRAM) and dynamic random-access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. In an embodiment, the memory 202 includes a plurality of modules and a repository for storing data processed, received, and generated by the plurality of modules. The plurality of modules may include routines, programs, objects, components, data structures, and so on, which perform particular tasks or implement particular abstract data types.
[023] The repository, amongst other things, includes a system database and other data. The other data may include data generated as a result of the execution of one or more modules in the plurality of modules. The database 208 may store information but are not limited to, a plurality of parameters obtained from one or more sensors, wherein the parameters are specific to an entity (e.g., user, machine, and the like). Parameters may comprise sensor data captured through the sensors either connected to the user and/or machine. Further, the database 208 stores information pertaining to inputs fed to the system 200 and/or outputs generated by the system 200 (e.g., data/output generated at each stage of the data processing), specific to the methodology described herein. More specifically, the database 208 stores information being processed at each step of the proposed methodology.
[024] FIG. 3 illustrates an exemplary block diagram of functional blocks comprised in the system of FIG. 2, according to some embodiments of the present disclosure. An exemplary anomaly detection system 300 includes a production camera sensor 302, and an anomaly detector 304. In an embodiment, the production camera sensor 302 is alternatively referred as a camera sensor. For example, a front camera system is installed in a vehicle near windshield connect with Advanced driver-assistance systems (ADAS), Electronic control unit (ECU) and data collection system. The front camera system process one or more images and identified lane information which include left-side lane offset, the right-side lane offset, and road curvature. The front camera system communicates information on a controller area network (CAN), Ethernet communication interface to the ADAS, ECU and the data collection system. Once the information is received, anomaly detection algorithm is deployed on either ADAS, ECU or the data collection system identifies the instances where the camera system is failed to provide correct information about lane offset. The unsupervised k-mean machine learning algorithm detects one or more failure cases.
[025] The anomaly detector 304 receives one or more samples associated with one or more lane offsets from the sensing unit. For example, a lane information may be the left-side lane offset, the right-side lane offset from the camera mounting position, and information associated with a lane curvature. In an embodiment, the one or more lane offsets corresponds to (a) a left-side lane offset, and (b) a right-side lane offset. In an embodiment, the sensing unit corresponds to at least one: (a) a sensor, (b) the camera sensor, or combination thereof. For example, the sensing unit corresponds to the production camera sensor 302. An ‘N’ number of samples of the left-side lane offset and the right-side lane offset are stored in a buffer received from the camera or one or more systems. The anomaly detector 304 filters at least one sample from the one or more samples obtained from the production camera sensor 302. The at least one sample is filtered based on at least one: (a) an unavailable values, and (b) a low confidence values. In an embodiment, if a sensor is not capable of providing an output is referred as the unavailable values. For example, the production camera sensor 302 is unable to provide output data. Alternatively, the production camera sensor 302 provides output data which is a low confidence value.
[026] The anomaly detector 304 is configured to determine one or more absolute differential values of the one or more lane offsets with at least one preceding sample. The plurality of absolute differential values corresponds to at least one: (a) an absolute differential value of the left-side lane offset, and (b) an absolute differential value of the right-side lane offset. In an embodiment, the absolute differential value of the left-side lane offset, and (b) the absolute differential value of the right-side lane offset is stored in a left differential buffer and a right differential buffer respectively. The anomaly detector 304 is configured to determine one or more clusters (C) by applying an unsupervised clustering on the one or more absolute differential values. For example, an initial value of the one or more clusters (C) is considered as two. The anomaly detector 304 is configured to dynamically select at least one centroid at one or more iterations by applying an unsupervised clustering algorithm.
[027] In an embodiment, the unsupervised clustering algorithm corresponds to a K-mean clustering algorithm i.e., K-means nearest neighbour. The one or more iterations corresponds to a stability of the at least one centroid. The anomaly detector 304 is configured to identify at least one silhouette value of K mean cluster values. The at least one silhouette value corresponds to at least one data point sample placed away from at least one neighboring cluster. The anomaly detector 304 is configured to detect at least one anomaly point if a first cluster is identified based on: (a) at least one cluster with a number of points less than max_C percentage of N, and (b) at least one silhouette value is more than max_s. Alternatively, ‘C’ value is incremented and the steps from K-mean cluster algorithm is repeated if no cluster satisfies above condition. Alternatively, if ‘C’ is more than max_C then process is stopped. The k-means clustering algorithm is a data-partitioning algorithm that assigns X observations to exactly one of N clusters defined by one or more centroids in iterative process. The steps involved are: (i) choose ‘N’ initial cluster centres corresponds to an additional centroid; (ii) compute observation to one or more centroid distances of one or more observations to each centroid; (iii) assign each of the observation to a cluster with a closest centroid; (iv) compute an average of the one or more observations in each cluster to obtain N new centroid locations; and (v) repeat steps i-iv until there are no change in cluster assignments, or maximum number of iterations is reached.
[028] FIG. 4 is an exemplary flow diagram illustrating a method of detecting the at least one anomaly in the sensing unit, according to some embodiments of the present disclosure. In an embodiment, the system 200 comprises one or more data storage devices or the memory 202 operatively coupled to the one or more hardware processors 204 and is configured to store instructions for execution of steps of the method by the one or more processors 204. The flow diagram depicted is better understood by way of following explanation/description. The steps of the method of the present disclosure will now be explained with reference to the components of the system as depicted in FIGS. 2 and 3.
[029] At step 402, a plurality of samples associated with a plurality of lane offsets is received from the sensing unit. The sensing unit corresponds to a camera sensor. The plurality of lane offsets corresponds to (a) a left-side lane offset, and (b) a right-side lane offset. At step 404, at least one sample is filtered from the plurality of samples obtained from the sensing unit to obtain at least one preceding sample. The at least one sample is filtered based on at least one: (a) an unavailable values, and (b) a low confidence values. At step 406, a plurality of absolute differential values of the plurality of lane offsets is determined with the at least one preceding sample. The plurality of absolute differential values corresponds to at least one: (a) an absolute differential value of the left-side lane offset, and (b) an absolute differential value of the right-side lane offset. At step 408, a plurality of clusters is generated by applying an unsupervised clustering on the plurality of absolute differential values. The unsupervised clustering corresponds to a K-means nearest neighbour. At step 410, at least one centroid is dynamically selected at a plurality of iterations from the plurality of clusters. The plurality of iterations corresponds to a stability of the at least one centroid. At step 412, at least one silhouette value of the K mean cluster values is identified based on the at least one centroid. The at least one silhouette value corresponds to at least one data point sample placed away from at least one neighboring cluster. At step 414, at least one anomaly point is detected if a first cluster is identified based on (a) at least one cluster with a number of points less than max_C percentage of N, and (b) at least one silhouette value is more than max_s.
[030] FIG. 5 is an exemplary graphical representation illustrating the at least one anomaly in the camera sensor which failed to provide an accurate lane offset value, according to some embodiments of the present disclosure. For example, the embodiment of the present disclosure was applied on number of points collected from the production camera sensor 302 to identify anomaly in a lane detection process. On x axis, one or more silhouette values are shown and on Y axis, cluster number is depicted. Values applied here to filter the cluster having anomaly points is max_c = 5% and max_s =0.9. The max_c corresponds to number of points in cluster and max_s corresponds to a silhouette value of cluster. First cluster include maximum number of points and does not fulfill the any of the criteria. Second cluster fulfill the first condition (max_c < 5%) but does not fulfill the second condition (max_s>0.9). Third cluster fulfill both the criteria's and provides anomaly values.
[031] The embodiments of present disclosure herein address unresolved problem of detection of the anomaly in the sensing unit. The embodiment thus provides the automated anomaly detection at the camera sensor based on a machine learning algorithm thereby saving time and effort of validation of an autonomous vehicle camera sensor which results in faster time and with less cost. The embodiments of present disclosure herein provide a method for detecting anomaly in the sensing unit based on K-mean unsupervised learning clustering algorithm. The embodiment of present disclosure herein utilizes an output data from the production camera sensor. The embodiment of present disclosure herein does not require an output data from a reference camera and no ground truth generation is required. The embodiments of the present disclosure in which data preprocessing is performed by taking absolute differential values with previous sample. Unavailable values (where sensor is not capable of providing output) and low confidence value (where sensor is providing output with low confidence) are removed out before taking differentiation.
[032] The written description describes the subject matter herein to enable any person skilled in the art to make and use the embodiments. The scope of the subject matter embodiments is defined by the claims and may include other modifications that occur to those skilled in the art. Such other modifications are intended to be within the scope of the claims if they have similar elements that do not differ from the literal language of the claims or if they include equivalent elements with insubstantial differences from the literal language of the claims.
[033] It is to be understood that the scope of the protection is extended to such a program and in addition to a computer-readable means having a message therein; such computer-readable storage means contain program-code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The hardware device can be any kind of device which can be programmed including e.g., any kind of computer like a server or a personal computer, or the like, or any combination thereof. The device may also include means which could be e.g., hardware means like e.g., an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of hardware and software means, e.g., an ASIC and an FPGA, or at least one microprocessor and at least one memory with software processing components located therein. Thus, the means can include both hardware means and software means. The method embodiments described herein could be implemented in hardware and software. The device may also include software means. Alternatively, the embodiments may be implemented on different hardware devices, e.g., using a plurality of CPUs.
[034] The embodiments herein can comprise hardware and software elements. The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various components described herein may be implemented in other components or combinations of other components. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
[035] The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope of the disclosed embodiments. Also, the words “comprising,” “having,” “containing,” and “including,” and other similar forms are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items. It must also be noted that as used herein and in the appended claims, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise.
[036] Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. 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., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
[037] It is intended that the disclosure and examples be considered as exemplary only, with a true scope of disclosed embodiments being indicated by the following claims.
| # | Name | Date |
|---|---|---|
| 1 | 202121024982-STATEMENT OF UNDERTAKING (FORM 3) [04-06-2021(online)].pdf | 2021-06-04 |
| 2 | 202121024982-REQUEST FOR EXAMINATION (FORM-18) [04-06-2021(online)].pdf | 2021-06-04 |
| 3 | 202121024982-FORM 18 [04-06-2021(online)].pdf | 2021-06-04 |
| 4 | 202121024982-FORM 1 [04-06-2021(online)].pdf | 2021-06-04 |
| 5 | 202121024982-FIGURE OF ABSTRACT [04-06-2021(online)].jpg | 2021-06-04 |
| 6 | 202121024982-DRAWINGS [04-06-2021(online)].pdf | 2021-06-04 |
| 7 | 202121024982-DECLARATION OF INVENTORSHIP (FORM 5) [04-06-2021(online)].pdf | 2021-06-04 |
| 8 | 202121024982-COMPLETE SPECIFICATION [04-06-2021(online)].pdf | 2021-06-04 |
| 9 | 202121024982-Proof of Right [24-08-2021(online)].pdf | 2021-08-24 |
| 10 | 202121024982-FORM-26 [13-10-2021(online)].pdf | 2021-10-13 |
| 11 | Abstract1..jpg | 2021-11-25 |
| 12 | 202121024982-FER.pdf | 2022-12-14 |
| 13 | 202121024982-OTHERS [14-04-2023(online)].pdf | 2023-04-14 |
| 14 | 202121024982-FER_SER_REPLY [14-04-2023(online)].pdf | 2023-04-14 |
| 15 | 202121024982-COMPLETE SPECIFICATION [14-04-2023(online)].pdf | 2023-04-14 |
| 16 | 202121024982-CLAIMS [14-04-2023(online)].pdf | 2023-04-14 |
| 17 | 202121024982-US(14)-HearingNotice-(HearingDate-06-01-2026).pdf | 2025-11-06 |
| 1 | SearchHistoryE_13-12-2022.pdf |
| 2 | AmendedSearchAE_20-12-2023.pdf |