Sign In to Follow Application
View All Documents & Correspondence

A System And Method For Blood Glucose Estimation From Video Photoplethysmography (Ppg) Using A Smartphone

Abstract: ABSTRACT A SYSTEM AND METHOD FOR BLOOD GLUCOSE ESTIMATION FROM VIDEO PHOTOPLETHYSMOGRAPHY (PPG) USING A SMARTPHONE The present invention relates to method and system for blood glucose estimation from video photoplethysmography (PPG) using one or more machine learning techniques. Further, the system (100) comprises one or more portable devices (108) coupled with one or more optical sensors (102) and a light source (105). The processor (302) receives the video of user’s a fingertip (201) captured by one or more portable device (203). Further, the system (100) extracts the red channel, and computes the PPG waveform. This waveform is inverted, filtered for noise, and evaluated for signal strength and quality. Pulse correction involves peak detection, area calculation, and validation through fiducial points. Curves are fitted to the validated pulse, and the Least Square Error (LSE) is calculated. If LSE meets criteria, features are extracted and applied to a machine learning model for blood glucose estimation. The process optimizes accuracy and reliability in a compact, non-invasive system. [To be published with Fig. 1]

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
10 July 2024
Publication Number
29/2024
Publication Type
INA
Invention Field
BIO-MEDICAL ENGINEERING
Status
Email
Parent Application

Applicants

CORTIQA HEALTH PRIVATE LIMITED
No.542A, 8th Main Road, 4th Block, Koramangala, Bengaluru, Bangalore, Karnataka, India, 560034

Inventors

1. Macline Lewis
CORTIQA HEALTH PRIVATE LIMITED No.542A, 8th Main Road, 4th Block, Koramangala, Bengaluru, Bangalore, Karnataka, India, 560034
2. Sharat Krishnagiri
CORTIQA HEALTH PRIVATE LIMITED No.542A, 8th Main Road, 4th Block, Koramangala, Bengaluru, Bangalore, Karnataka, India, 560034
3. Yogesh Sharma
CORTIQA HEALTH PRIVATE LIMITED No.542A, 8th Main Road, 4th Block, Koramangala, Bengaluru, Bangalore, Karnataka, India, 560034

Specification

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:
A SYSTEM AND METHOD FOR BLOOD GLUCOSE ESTIMATION FROM VIDEO PHOTOPLETHYSMOGRAPHY (PPG) USING A SMARTPHONE

APPLICANT:
CORTIQA HEALTH PRIVATE LIMITED
An Indian entity having address as:
No.542A, 8th Main Road, 4th Block,
Koramangala, Bengaluru, Bangalore, Karnataka (IN) 560034

The following specification particularly describes the invention and the manner in which it is to be performed.

CROSS-REFERENCE TO RELATED APPLICATIONS AND PRIORITY
The present application does not claim priority from any other application.
TECHNICAL FIELD
The present invention relates to a method and a system for blood glucose estimation, and more particularly to a method and a system for blood glucose estimation from video photoplethysmography (PPG) signals captured by a smartphone's camera and its associated light source.
BACKGROUND
This section is intended to introduce the reader to various aspects of art (the relevant technical field or area of knowledge to which the invention pertains), which may be related to various aspects of the present disclosure that are described or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. Accordingly, it should be understood that these statements in this background section are to be read in this light, and not as admissions of prior art. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also correspond to implementations of the claimed technology.
Diabetes mellitus is a chronic metabolic disorder characterized by persistent hyperglycemia due to defects in insulin secretion, insulin action, or both. It is a major global health concern, with its prevalence steadily increasing over the past few decades. The World Health Organization (WHO) estimates that around 8.5% of adults worldwide are affected by diabetes, with the numbers continuing to rise. The regulation of blood glucose levels is tightly controlled by the interplay of various hormones, primarily insulin and glucagon. Insulin, produced by beta cells in the pancreas, facilitates the uptake of glucose by cells, promoting its utilization for energy or storage. Glucagon, on the other hand, acts to raise blood glucose levels when they fall too low. In diabetes mellitus, the normal regulatory mechanisms are impaired, leading to persistent hyperglycemia. This can result from insufficient insulin production (as in type 1 diabetes) or from the body's cells becoming resistant to the effects of insulin (as in type 2 diabetes). Additionally, other forms of diabetes, such as gestational diabetes and secondary diabetes, can arise due to various factors including pregnancy, medications, or underlying medical conditions.
Further, the consequences of uncontrolled hyperglycemia are profound and multifaceted. Chronic exposure to elevated blood glucose levels can damage blood vessels and nerves throughout the body, increasing the risk of cardiovascular diseases, hypertension, chronic kidney disease, retinopathy, blindness, and peripheral neuropathies. Further, these complications not only impair quality of life but also significantly contribute to morbidity and mortality associated with diabetes. Furthermore, diabetes often coexists with other medical conditions, known as comorbidities, which further exacerbate the burden of the disease. The prevalence of comorbidities among diabetic individuals is alarmingly high, with a significant proportion suffering from two or more concurrent ailments. This highlights the complex interplay between diabetes and other health conditions, underscoring the importance of holistic approaches to diabetes management.
Addressing the global epidemic of diabetes and its associated complications requires a comprehensive public health strategy encompassing prevention, early detection, and effective management. Lifestyle modifications, including healthy diet, regular exercise, and weight management, play a crucial role in preventing type 2 diabetes and managing the disease in those already affected. Additionally, access to affordable healthcare services, education, and support networks are essential for empowering individuals with diabetes to effectively manage their condition and minimize the risk of complications.
However, reliability concern methods stem from various factors that can lead to inconsistent readings or outright failures in estimation. Environmental factors such as temperature and humidity fluctuations can affect the performance of testing equipment and reagents, potentially leading to inaccurate results. Physiological variations such as changes in circulation, hydration levels, or medication interactions can further exacerbate reliability issues, influencing the accuracy of glucose estimation. These inconsistencies not only undermine user confidence in the technology but also deter regular usage, as individuals may question the reliability of the results and hesitate to rely on them for informed decision-making in diabetes management.
Firstly, variations in technique among users can impact the consistency and reliability of results, as differences in puncture depth, blood volume collected, and sampling site can introduce variability. Additionally, factors such as inadequate sample mixing, improper storage conditions, or contamination of testing equipment can lead to inaccurate readings. Furthermore, physiological factors such as dehydration or hematocrit levels can affect the viscosity and composition of blood, influencing glucose measurements. Moreover, the time delay between blood sampling and analysis can result in temporal discrepancies, especially in cases of rapidly changing glucose levels. These accuracy discrepancies not only compromise the effectiveness of treatment decisions but also contribute to patient frustration and anxiety, highlighting the need for improved methods of blood glucose measurement in diabetes management. Further, due to the static nature of the conventional glucose measurement device, possesses limited regulatory oversight and lacks incorporation of population level health data, patient feedback and continuous quality improvement. Additionally, cost and affordability of the digital monitoring device, along with recurring expenses for device maintenance and consumables, pose significant barriers to access for individuals with limited financial resources or inadequate health insurance coverage.
Further, the user experience challenges associated with current implementations of glucose estimation highlights the need for intuitive interfaces and clear guidance to facilitate proper sensor placement and usage. Users often encounter difficulties in positioning the device correctly, which can result in suboptimal readings or frustration. Furthermore, the complexity of analyzing PPG signals to extract glucose information presents a significant technical hurdle.
The problem of interference and noise in glucose calculation arises from various external factors that can distort the accuracy of measurements. Ambient light variations, especially in environments with fluctuating lighting conditions, can interfere with the sensors used for glucose measurement, leading to inaccurate readings. Additionally, motion artifacts caused by physical movement can introduce noise into the measurement process, complicating the interpretation of glucose levels. Furthermore, physiological noise, such as fluctuations in blood flow due to heart rate changes or muscle activity, can further obscure the true glucose signal, making it challenging to obtain precise measurements. These sources of interference and noise collectively undermine the reliability of glucose calculation methods, necessitating the development of robust techniques to filter out unwanted signals and improve the accuracy of glucose measurements.
As an example, let us consider a scenario of an individual diabetic person relies on traditional testing methods to monitor blood glucose levels but faces several challenges that illustrate the issues with accuracy discrepancies and reliability concerns in traditional glucose calculation methods. The individual begins the day with a test to check fasting glucose levels before breakfast. However, they notice a significant discrepancy between the reading on their glucometer and their expected glucose level, despite following their usual nighttime insulin regimen and dietary restrictions. Concerned about the accuracy, they repeat the test, obtaining a different result indicating a lower glucose level.
However, the individual experiences inconsistencies in fingerstick test readings, even under similar conditions. They suspect variations in fingerstick technique, blood sample volume, or environmental factors contribute to the discrepancies. As they prepare for a mid-morning snack, the individual accidentally drops their glucometer, causing it to malfunction and display an error message. Unable to obtain a glucose reading, they feel frustrated and anxious, realizing the potential consequences of relying solely on traditional testing methods. Despite efforts to adhere to the testing routine and maintain meticulous records of glucose levels, the individual struggles to trust the reliability of fingerstick tests. The inconsistencies undermine their confidence in traditional glucose calculation methods, posing challenges to effective diabetes management.
In order to solve the challenge sophisticated algorithms and signal processing techniques are required for accurate estimation, but implementing these algorithms in real-time on consumer-grade devices while maintaining both accuracy and efficiency is a formidable task. Balancing the intricacies of data processing with the need for user-friendly interfaces poses a challenge that must be addressed to improve usability and effectiveness.
In this example, the issues of accuracy discrepancies and reliability concerns inherent in traditional fingerstick testing methods. Despite their widespread use, variations in technique, equipment malfunctions, and user error can compromise the reliability of fingerstick tests.
In view of the above, addressing the aforementioned technical challenges requires an improved method for estimating blood glucose.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of described systems with some aspects of the present disclosure, as set forth in the remainder of the present application and with reference to the drawings.
SUMMARY
This summary is provided to introduce concepts related to a method and a system for Blood glucose estimation using video photoplethysmography (PPG) from a smartphone and the concepts are further described below in the detailed description. This summary is not intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.
According to embodiments illustrated herein, there is provided a method for blood glucose estimation from video photoplethysmography (PPG) using one or more machine learning (ML) techniques. The method may be implemented by an electronic device including one or more processors and a memory communicatively coupled to the processor and the memory is configured to store processor-executable programmed instructions. Further, the method may comprise a step of receiving a video of user’s fingertip. The video may be captured using one or more optical sensors coupled with a portable device along with a light source. Further, the method may comprise the step of extracting a red channel from each frame of one or more frames of the received video. Further, the method may comprise a step of obtaining a PPG waveform by taking average of one or more red channels from the one or more frames of the received video. Further, the method may comprise a step of inverting the PPG waveform to correct inversion format of the PPG waveform and obtain an inverted PPG waveform. Further, the method may comprise a step of filtering the inverted PPG waveform to remove noise from the inverted PPG waveform and obtain a filtered PPG waveform. Further, the method may comprise one or more steps of selecting the filtered PPG waveform based on detecting signal strength and signal quality. Further, the method may comprise a step for extracting a portion of PPG pulse from the selected PPG waveform. Further, the method may comprise a plurality of steps for performing the pulse correction on the PPG pulse. The plurality of steps may comprise a step of detecting peaks and troughs from the PPG pulse. The peak may be the highest point between two troughs. Further, the plurality of steps may comprise a step of removing the PPG pulse if maximum peak is higher than mean of all the detected peak. Further, the plurality of steps may comprise detecting an ascending section and a descending section of the PPG pulse. The ascending section may be starting from a first trough of the PPG pulse ending at the peak of the PPG pulse and the descending section may be starting from the peak of the PPG pulse ending at a second trough of the PPG pulse. Further, the plurality of steps may comprise a step of calculating areas of both the ascending section and the descending section. Further, the plurality of steps may comprise a step of flipping the PPG pulse if area of the ascending section may be greater than the area of the descending section. Further, the method may comprise a step for validating the PPG pulse through fiducial point detection, fiducial point validation by defining thresholds on the fiducial points. Further, the method may comprise a step of fitting one or more curves on the validated pulse. Further, a first curve from one or more curves corresponds to systolic curve and a second curve from one or more curves corresponds to diastolic curve. Further, the method may comprise a step of calculating least square error (LSE) between the PPG pulse and one or more curves. Further, the method may comprise a step of extracting one or more features from the PPG pulse if value of the LSE is greater than a predetermined value. Furthermore, the method may comprise a step of applying one or more extracted features to a blood glucose level model to estimate the blood glucose of the user.
According to embodiments illustrated herein, there may be provided a system for blood glucose estimation from video photoplethysmography (PPG) from a smartphone using one or more machine learning techniques. The system may comprise one or more portable devices. Further, the one or more portable devices may be coupled with one or more optical sensors and a light source. Further, the system may comprise a memory and a processor. Further, the processor may be coupled to execute programmed instructions stored in the memory. Further, the processor may be configured to perform one or more steps of receiving a video of user’s fingertip. Further, the processor may be configured to receive a video Nitin user’s fingertip, which may be captured using one or more optical sensors coupled with the portable device along with the light source. Further, the processor may be configured for extracting a red channel from each frame of one or more frames of the received video. Further, the processor may be configured for obtaining a PPG waveform by taking an average of one or more red channels from the one or more frames of the received video. Further, the processor may be configured for inverting the PPG waveform to correct inversion format of the PPG waveform and obtain an inverted PPG waveform. Further, the processor may be configured for filtering the inverted PPG waveform to remove noise from the inverted PPG waveform and obtain a filtered PPG waveform. Further, the processor may be configured for selecting the filtered PPG waveform based on detecting signal strength and signal quality. Further, the processor may be configured for extracting a portion of PPG pulse portion from the selected PPG waveform. Further, the processor may be configured to perform one or more steps for performing pulse correction on the PPG pulse. Further, the one or more steps for pulse correction may correspond to detecting peaks and troughs from the PPG pulse. A peak is the highest point between two troughs. Further, one or more steps may correspond to removing the PPG pulse if maximum peak is higher than mean of all the detected peaks. Further, the one or more steps may correspond to detecting an ascending section and a descending section of the PPG pulse. Further, the ascending section may be starting from the first trough of the PPG pulse ending at the peak of the PPG pulse and the descending section may be starting from the peak of the PPG pulse ending at a second trough of the PPG pulse. Further, one or more steps may correspond to calculating areas of both the ascending section and the descending section of the PPG pulse. Further, the one or more steps may be configured for flipping the PPG pulse if area of the ascending section may be greater than the area of the descending section. Further, the processor may be configured for validating the PPG pulse through fiducial point detection and fiducial point validation by defining thresholds on the fiducial points. Further, the processor may be configured for fitting one or more curves on the validated pulse. Further, a first curve from one or more curves may correspond to systolic curve and a second curve from one or more curves may correspond to diastolic curves. Further, the processor may be configured for calculating the least square error (LSE) between the PPG pulse and one or more curves. Further, the processor may be configured for extracting one or more features from the PPG pulse if the value of the LSE is greater than a predefined value. Furthermore, the processor may be configured for applying one or more extracted features to a blood glucose level model to estimate the blood glucose of the user.
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 DRAWINGS
The accompanying drawings illustrate the various embodiments of systems, methods, and other aspects of the disclosure. Any person with ordinary skills in art will appreciate that the illustrated element boundaries (e.g., boxes, groups of boxes, or other shapes) in the figures represent one example of the boundaries. In some examples, one element may be designed as multiple elements, or multiple elements may be designed as one element. In some examples, an element shown as an internal component of one element may be implemented as an external component in another, and vice versa. Further, the elements may not be drawn to scale.
Various embodiments will hereinafter be described in accordance with the appended drawings, which are provided to illustrate and not to limit the scope in any manner, wherein similar designations denote similar elements, and in which:
FIG. 1 is a block diagram that illustrates a system environment (100) for blood glucose estimation using video photoplethysmography (PPG) , in accordance with an embodiment of present subject matter.
FIG. 2 is a block diagram (100) that illustrates the visual arrangement of capturing video of user’s fingertip for blood glucose estimation using the system (100), in accordance with an embodiment of present subject matter.
FIG. 3A-3E is a block diagram (300) that illustrates various components of an application server configured for performing steps for blood glucose estimation using video photoplethysmography (PPG), in accordance with an embodiment of present invention.
FIG. 4A-4C is a flowchart (400) that illustrates a method for blood glucose estimation using video photoplethysmography (PPG), in accordance with an embodiment of present invention; and
FIG. 5 illustrates a block diagram (500) of an exemplary computer system for implementing embodiments consistent with the present disclosure.
DETAILED DESCRIPTION
The present disclosure may be best understood with reference to the detailed figures and description set forth herein. Various embodiments are discussed below with reference to the figures. However, those skilled in the art will readily appreciate that the detailed descriptions given herein with respect to the figures are simply for explanatory purposes as the methods and systems may extend beyond the described embodiments. For example, the teachings presented, and the needs of a particular application may yield multiple alternative and suitable approaches to implement the functionality of any detail described herein. Therefore, any approach may extend beyond the particular implementation choices in the following embodiments described and shown.
References to “one embodiment,” “at least one embodiment,” “an embodiment,” “one example,” “an example,” “for example,” and so on indicate that the embodiment(s) or example(s) may include a particular feature, structure, characteristic, property, element, or limitation but that not every embodiment or example necessarily includes that particular feature, structure, characteristic, property, element, or limitation. Further, repeated use of the phrase “in an embodiment” does not necessarily refer to the same embodiment. The terms “comprise”, “comprising”, “include(s)”, or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a setup, system 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 system or method. In other words, one or more elements in a system or apparatus preceded by “comprises… a” does not, without more constraints, preclude the existence of other elements or additional elements in the system or apparatus.
The present disclosure relates to a system and method for blood glucose estimation from video photoplethysmography (PPG) using one or more machine learning techniques. The system and method is implemented by an electronic device including one or more processors and a memory communicatively coupled to the processor and the memory is configured to store processor-executable instructions. The method includes receiving a video of the user’s fingertip. The video is captured using one or more optical sensors coupled with the electronic device along with a light source. The method includes extracting a red channel from each frame of one or more frames of the received video. Further, the method includes obtaining a PPF waveform by taking an average of one or more red channels from one or more frames of the received video. Further, the method includes inverting the PPG waveform to correct inversion format of the PPG waveform and obtain an inverted PPG waveform. Further, the method includes filtering the inverted PPG waveform to remove noise from the inverted PPG waveform and obtain a filtered PPG waveform. Further, the method includes selecting the filtered PPG waveform based on detecting signal strength and signal quality. Further, the method includes extracting a portion of PPG pulse from the selected PPG waveform. Further, the method includes performing a pulse correction on the PPG pulse. The pulse correction is performed by the following steps. Further, the method includes detecting peaks and troughs from the PPG pulse. A peak is the highest point between two troughs. Further, the method includes removing the PPG pulse if maximum peak is higher than mean of all the detected peaks. Further, the method includes detecting an ascending section and a descending section of the PPG pulse. The ascending section is starting from a first trough of the PPG pulse, ending at the peak of the PPG pulse and the descending section is starting from the peak of the PPG pulse, and ends at a second trough of the PPG pulse. Further, the method includes calculating areas of both the ascending section and the descending section of the PPG pulse. Further, the method includes flipping the PPG pulse if areas of the ascending section is greater than the area of the descending section. Further, the method includes validating the PPG pulse through fiducial point detection, fiducial point validation by defining thresholds on the fiducial points. Further, the method includes fitting one or more curves on the validated pulse. A first curve from one or more curves corresponds to systolic curve and a second curve from one or more curves corresponds to diastolic curve. Further, the method includes calculating the least square error (LSE) between the PPG pulse and one or more curves. Further, the method includes extracting one or more features from the PPG pulse if value of the LSE is greater than a predefined value. Furthermore, the method includes applying one or more extracted features to a blood glucose level model to estimate the blood glucose of the user.
The objective of the present disclosure is to develop a non-invasive method for blood glucose estimation using video PPG technology, eliminating the need for painful fingerstick tests, its associated discomfort and risk and improving user comfort.
Another objective of the present disclosure is to enhance the user experience by providing a seamless and intuitive method that enables the users to effortlessly navigate and interact with the one or more portable devices.
Another objective of the present disclosure is to ensure accurate blood glucose estimation using video PPG by implementing robust calibration and validation procedures.
Yet another objective of the present disclosure is to overcome the significant issues of inadvertent motion artifacts and ambient light interference during blood glucose measurement in existing PPG devices. The present disclosure describes various signal processing methodologies for video signals from the smartphone which will effectively remove the non-performing/erroneous PPG signals and identify/adapting the important PPG signals for blood glucose estimation.
Yet another objective of the present disclosure is to implement machine learning model and signal processing techniques for continuous real-time and accurate blood glucose estimation. This real-time monitoring capability is valuable for tracking changes in blood glucose and detecting abnormalities promptly.
Yet another objective of the present disclosure is to integrate seamlessly with smartphones and other smart devices, enabling integration with existing digital health platforms and applications. This facilitates personalized health management and data sharing for healthcare professionals. Integrating with existing smartphones provides cost effective solutions to the costly and affordability barrier of conventional healthcare monitoring devices, specifically for individuals with limited financial resources or inadequate health insurance coverage
Yet another objective of the present disclosure is to facilitate continues improvement in performance and accuracy over time. The present disclosure incorporates population level health data and includes dynamic features of patient feedback and continuous quality improvement. Due to dynamic nature of the present disclosure, the blood glucose monitored through the disclosed method, always align with the current regulatory healthcare standards to overcome standardization challenge of traditional monitoring device.
Yet another objective of the present disclosure is to offer a user-friendly and intuitive implementation for calculating blood glucose, ensuring ease of use and accessibility for all users, and convenient blood glucose monitoring anytime and anywhere, without the need for additional specialized equipment or corresponding training and education. The present disclosure enhances accessibility to blood glucose monitoring, especially in remote or underserved areas where access to medical facilities may be limited.
Yet another objective of the present disclosure is to promote widespread adoption of video PPG-based blood glucose estimation by addressing user concerns, optimizing device performance, and providing comprehensive training and support resources.
Yet another objective of the present disclosure is to encompass the overarching goal of improving blood glucose estimation methods to enhance the overall experience for individuals with diabetes. It emphasizes the importance of accuracy, reliability, user comfort, convenience, and actionable insights in the development of blood glucose monitoring technologies.
FIG. 1 is a block diagram that illustrates a system environment (100) for blood glucose estimation using video photoplethysmography (PPG), in accordance with an embodiment of present subject matter. The system environment (100) typically includes a database server (102), an application server (104), a communication network (106), and one or more portable devices (108). The database server (102), the application server (104), and the one or more portable devices (108) are typically communicatively coupled with each other via the communication network (106). In an embodiment, the application server (104) may communicate with the database server (102), and the one or more portable devices (108) using one or more protocols such as, but not limited to, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), RF mesh, Bluetooth Low Energy (BLE), and the like, to communicate with one another.
In an embodiment, the database server (102) may refer to a computing device that may be configured to store user’s fingertip data, training data, other intermediate processing data. In an embodiment, the database server (102) may include a special purpose operating system specifically configured to perform one or more database operations on the stored content. Examples of database operations may include, but are not limited to, Select, Insert, Update, and Delete. In an embodiment, the database server (102) may include hardware that may be configured to perform one or more predetermined operations. In an embodiment, the database server (102) may be realized through various technologies such as, but not limited to, Microsoft® SQL Server, Oracle®, IBM DB2®, Microsoft Access®, PostgreSQL®, MySQL®, SQLite®, distributed database technology and the like. In an embodiment, the database server (102) may be configured to utilize the application server (104) for storage and retrieval of data used for securely performing one or more operations in a user interface platform.
A person with ordinary skills in art will understand that the scope of the disclosure is not limited to the database server (102) as a separate entity. In an embodiment, the functionalities of the database server (102) can be integrated into the application server (104) or into the one or more portable device (108).
In an embodiment, the application server (104) may refer to a computing device or a software framework hosting an application or a software service. In an embodiment, the application server (104) may be implemented to execute procedures such as, but not limited to, programs, routines, or scripts stored in one or more memories for supporting the hosted application or the software service. In an embodiment, the hosted application or the software service may be configured to perform one or more predetermined operations. The application server (104) may be realized through various types of application servers such as, but are not limited to, a Java application server, a .NET framework application server, a Base4 application server, a PHP framework application server, or any other application server framework.
In an embodiment, the application server (104) may be configured to utilize the database server (102) and the one or more portable device (108), in conjunction, for securely performing one or more operations in a user interface platform. In an implementation, the application server (104) corresponds to the user interface platform for securely performing one or more operations recommended by one or more users.
In an embodiment, the communication network (106) may correspond to a communication medium through which the application server (104), the database server (102), and the one or more portable device (108) may communicate with each other. Such a communication may be performed in accordance with various wired and wireless communication protocols. Examples of such wired and wireless communication protocols include, but are not limited to, Transmission Control Protocol and Internet Protocol (TCP/IP), User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), Wireless Application Protocol (WAP), File Transfer Protocol (FTP), ZigBee, EDGE, infrared IR), IEEE 802.11, 802.16, 2G, 3G, 4G, 5G, 6G, 7G cellular communication protocols, and/or Bluetooth (BT) communication protocols. The communication network (106) may either be a dedicated network or a shared network. Further, the communication network (106) may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, and the like. The communication network (106) may include, but is not limited to, the Internet, intranet, a cloud network, a Wireless Fidelity (Wi-Fi) network, a Wireless Local Area Network (WLAN), a Local Area Network (LAN), a cable network, the wireless network, a telephone network (e.g., Analog, Digital, POTS, PSTN, ISDN, xDSL), a telephone line (POTS), a Metropolitan Area Network (MAN), an electronic positioning network, an X.25 network, an optical network (e.g., PON), a satellite network (e.g., VSAT), a packet-switched network, a circuit-switched network, a public network, a private network, and/or other wired or wireless communications network configured to carry data.
In an embodiment, the one or more portable devices (108) may refer to a computing device used by a user. The one or more portable devices (108) may comprise of one or more processors and one or more memory. The one or more memories may include computer readable code that may be executable by one or more processors to perform predetermined operations. In an embodiment, the one or more portable devices (108) may present a web user interface to transmit the training file and the testing file to the application server (102). Example web user interfaces presented on the one or more portable devices (108) to display a portal visualizing user profile and relevant information, to securely perform one or more operations in the user interface platform. Examples of the one or more portable devices (108) may include, but are not limited to, a personal computer, a laptop, a personal digital assistant (PDA), a mobile device, a tablet, or any other computing device.
The system (100) can be implemented using hardware, software, or a combination of both, which includes using where suitable, one or more computer programs, mobile applications, or “apps” by deploying either on-premises over the corresponding computing terminals or virtually over cloud infrastructure. The system (100) may include various micro-services or groups of independent computer programs which can act independently in collaboration with other micro-services. The system (100) may also interact with a third-party or external computer system. Internally, the system (100) may be the central processor of all requests for transactions by the various actors or users of the system. A critical attribute of the system (100) is that it can concurrently and instantly complete an online transaction by a system user in collaboration with other systems. In a specific embodiment, the system (100) is implemented to securely perform one or more operations in the user interface platform.
Now referring to FIG. 2, a block diagram (200) showing visual arrangement of capturing video of user’s fingertip for blood glucose estimation using the system (100), is illustrated in accordance with an embodiment of present subject matter. The block diagram (200) comprises a user’s fingertip (201), one or more optical sensors (202), one or more portable devices (203), a light source (205). In one embodiment, the one or more optical sensors (202) and the light source (205) may be integrated within the one or portable device (203). In another embodiment, the one or more optical sensors (202), the light source (205) and the one or more portable device (203) may be communicatively coupled and may operate in conjunction with each other. The one or more optical sensors (202) may be configured to capture video of user’s fingertip. The light source (205) may be configured to provide light to surrounding objects. In an exemplary embodiment, user may need to place the user’s fingertip (201) on the one or more optical sensor (202), the light source (205) may illuminate the user’s fingertip (201) placed on the one or more optical sensor (202). Then one or more optical sensors (202) may be configured to capture video of the user’s fingertip (201), illuminated by the light source (205), for a predetermined time period. The one or more portable devices (203) are configured to receive the video of the user’s fingertip (201) captured by one or more optical sensors (202). Further, the one or more portable devices (203) may comprise one selected from a group consisting of a smartphone, IoT device, personal digital assistant (PDA), laptop computer, stationary personal computer, IPTV remote control, web tablet, laptop computer, pocket PC, a television set capable of receiving IP based video services and mobile IP device. Further, one or more optical sensors (202) may correspond to rear camera of the smartphone. Further, the light source (205) corresponds to a flashlight placed on rear side of the smartphone and generally placed adjacent to the optical sensor (202).
FIG. 3 illustrates a block (300) diagram illustrating components of the application server (104) configured for performing stepwise blood glucose estimation using video photoplethysmography (PPG), in accordance with an embodiment of present invention. Further, FIG. 3 is explained in conjunction with elements from FIG. 1. Here, the application server (104) preferably includes a processor (302), a memory (304), a transceiver (306), an input/output unit (308), a pre-processing unit (309), a pulse extraction and validation unit (310), a glucose estimation unit (311). The processor (302) is further preferably communicatively coupled to the memory (304), the transceiver (306), the input/output unit (308), the pre-processing unit (309), the pulse extraction and validation unit (310), the glucose estimation unit (311), while the transceiver (306) is preferably communicatively coupled to the communication network (106).
The processor (302) comprises suitable logic, circuitry, interfaces, and/or code that may be configured to execute a set of instructions stored in the memory (304), and may be implemented based on several processor technologies known in the art. The processor (302) works in coordination with the transceiver (306), the input/output unit (308), the pre-processing unit (309), the pulse extraction and validation unit (310), the glucose estimation unit (311) for blood glucose estimation from video photoplethysmography (PPG). Examples of the processor (302) include, but not limited to, standard microprocessor, microcontroller, central processing unit (CPU), an X86-based processor, a Reduced Instruction Set Computing (RISC) processor, an Application- Specific Integrated Circuit (ASIC) processor, and a Complex Instruction Set Computing (CISC) processor, distributed or cloud processing unit, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions and/or other processing logic that accommodates the requirements of the present invention.
The memory (304) comprises suitable logic, circuitry, interfaces, and/or code that may be configured to store the set of instructions, which are executed by the processor (302). Preferably, the memory (304) is configured to store one or more programs, routines, or scripts that are executed in coordination with the processor (302). Additionally, the memory (304) may include any computer-readable medium or computer program product 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, a Hard Disk Drive (HDD), flash memories, Secure Digital (SD) card, Solid State Disks (SSD), optical disks, magnetic tapes, memory cards, virtual memory and distributed cloud storage. The memory (304) may be removable, non-removable, or a combination thereof. Further, the memory (304) may include routines, programs, objects, components, data structures, etc., which perform particular tasks or implement particular abstract data types. The memory (304) may include programs or coded instructions that supplement applications and functions of the system (100). In one embodiment, the memory (304), amongst other things, serves as a repository for storing data processed, received, and generated by one or more of the programs or the coded instructions. In yet another embodiment, the memory (304) may be managed under a federated structure that enables adaptability and responsiveness of the application server (104).
The transceiver (306) comprises suitable logic, circuitry, interfaces, and/or code that may be configured to receive, process or transmit information, data or signals, which are stored by the memory (304) and executed by the processor (302). The transceiver (306) is preferably configured to receive, process or transmit, one or more programs, routines, or scripts that are executed in coordination with the processor (302). The transceiver (306) is preferably communicatively coupled to the communication network (106) of the system (100) for communicating all the information, data, signal, programs, routines or scripts through the network.
The transceiver (306) may implement one or more known technologies to support wired or wireless communication with the communication network (106). In an embodiment, the transceiver (306) may include, but is not limited to, an antenna, a radio frequency (RF) transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a Universal Serial Bus (USB) device, a coder-decoder (CODEC) chipset, a subscriber identity module (SIM) card, and/or a local buffer. Also, the transceiver (306) may communicate via wireless communication with networks, such as the Internet, an Intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN). Accordingly, the wireless communication may use any of a plurality of communication standards, protocols and technologies, such as: Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), wideband code division multiple access (W-CDMA), code division multiple access (CDMA), time division multiple access (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g and/or IEEE 802.11n), voice over Internet Protocol (VoIP), Wi-MAX, a protocol for email, instant messaging, and/or Short Message Service (SMS).
The input/output (I/O) unit (308) comprises suitable logic, circuitry, interfaces, and/or code that may be configured to receive or present information. The input/output unit (308) comprises of various input and output devices that are configured to communicate with the processor (302). Examples of the input devices include, but are not limited to, a keyboard, a mouse, a joystick, a touch screen, a microphone, a camera, and/or a docking station. Examples of the output devices include, but are not limited to, a display screen and/or a speaker. The I/O unit (308) may include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like. The I/O unit (308) may allow the system (100) to interact with the user directly or through the portable devices (108). Further, the I/O unit (308) may enable the system (100) to communicate with other computing devices, such as web servers and external data servers (not shown). The I/O unit (208) can facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. The I/O unit (308) may include one or more ports for connecting a number of devices to one another or to another server. In one embodiment, the I/O unit (308) allows the application server (104) to be logically coupled to other portable devices (108), some of which may be built in. Illustrative components include tablets, mobile phones, wireless devices, etc.
FIG.3A illustrates input/output unit (308). Further, the input/output units (308) comprises a step of video recording (312) and a step of extracting frames (313). Further, the data collected by the input/output unit (308) may include the video recording of the user’s fingertip by placing the fingertip on the one or more optical sensor (202) of the one or more portable device (203). Further, the input/output unit (308) is configured for extracting one or more frames (313) from the captured video.
Further, FIG. 3B illustrates the preprocessing unit (309) of the application server (104), in accordance with an embodiment of the present subject matter. The preprocessing unit (309) may be configured to extract channels (314) from each frame of the one or more frames of the captured video of the user’s fingertip (201). After red channel extraction from each frame of the one or more frames, the preprocessing unit (309) may be configured to obtain a PPG waveform from the one or more red channels extracted from the one or more frames of the captured video. In an embodiment, the PPG waveform may be obtained by taking an average of one or more red channels from the one or more frames of the captured video. Further, the preprocessing unit (309) may be configured for inverting (315) the PPG waveform to correct inversion format of the PPG waveform and obtain an inverted PPG waveform. In one operation, inverting the PPG waveform corresponds to vertically inverting the PPG waveform. Further, inverting the PPG waveform corresponds to inverting polarity of the PPG waveform. Further, the preprocessing unit (309) may be configured for filtering the inverted PPG waveform to remove noise from the inverted PPG waveform and obtain a filtered PPG waveform. The filtering of the inverted PPG waveform may be performed using one or more filtering techniques. Further, one or more filtering techniques may correspond to bandpass filter and butter worth filter (316), moving average filtering, signal smoothing and signal interpolation and a combination thereof.
In operation, the present invention may be implemented within a pre-processing unit (309), wherein various filtering techniques may be applied to the PPG waveform. One potential technique involves utilizing a Bandpass filter (316) that may selectively pass frequencies within a specified range relevant to the PPG signal, potentially attenuating frequencies outside this range. This targeted filtering approach may effectively reduce noise that could interfere with the clarity of the PPG waveform.
In another embodiment of the present invention, a Butterworth filter (316) may be integrated into the pre-processing unit (309) to potentially further refine the filtered PPG waveform. This may involve filtering the PPG waveform using one or more specified filtering techniques. These filtering techniques may include bandpass filtering, signal smoothing, and signal interpolation, or a combination thereof. The Butterworth filter, known for its smooth frequency response, may be configured to suppress unwanted noise while preserving the essential characteristics of the PPG signal, including its shape and temporal dynamics.
In yet another embodiment of the present invention, the combined use of Bandpass and Butterworth filters (316) within the pre-processing unit (309) may potentially contribute to comprehensive noise reduction, resulting in potentially enhanced PPG waveforms suitable for accurate glucose analysis. By aiming to improve the signal-to-noise ratio of the PPG data, this method may offer potential benefits in extracting clinically relevant information from video-derived PPG waveforms, thereby advancing the potential applications in non-invasive glucose monitoring.
FIG. 3C illustrates the pulse extraction and validation unit (310) of the application server (104), in accordance with an embodiment of the present subject matter. The signal analysis and selection unit (306) may be configured for selecting the filtered PPG waveform based on signal strength and signal quality. In operation, the pulse extraction and validation unit (310) may be configured for detecting the signal strength of the filtered PPG waveform by quantifying noise present in the filtered PPG waveform. Further, the pulse extraction and validation unit (310) may be configured for determining the signal quality and if the filtered PPG waveform by applying techniques selected from one of thresholding, kurtosis, entropy, baseline wander removal and a combination thereof.
In operation, the pulse extraction and validation unit (310) is configured for pulse detection (317) extracting a portion of PPG pulse from the selected PPG waveform. In this process, the extraction of the PPG pulse portion from the waveform can be accomplished by sliding a window of a predetermined time period over the PPG waveform without overlapping. During the PPG pulse extraction, the sliding window technique enables targeted segmentation of the PPG waveform, facilitating the isolation of individual PPG pulse segments. By sliding the window over the PPG waveform at predetermined intervals, each window captures a distinct portion of the PPG signal, aligning with the temporal characteristics of pulsatile events. Further, the pulse extraction and validation unit (310) is configured for performing a pulse correction (320) on the PPG pulse. Further, the pulse correction (320) is performed by executing one or more steps mentioned below. Further, the pulse correction and validation unit (310) is configured for detecting peaks and troughs from the PPG pulse. A peak is the highest point between two troughs. Further, the pulse correction and validation unit (310) are configured for removing the PPG pulse if maximum peak is higher than mean of all the detected peaks. Further, the pulse correction and validation unit (310) is configured for detecting an ascending section and a descending section of the PPG pulse. Further, the ascending section is starting from a first trough of the PPG pulse ending at the peak of the PPG pulse and the descending section is starting from the peak of the PPG pulse ending at a second trough of the PPG pulse. Further, the pulse correction and validation unit (310) is configured for calculating the areas of both the ascending section and the descending section. Further, the ascending section corresponds to start of the PPG pulse to the peak of the PPG pulse. Further, the descending section corresponds to the peak of the PPG pulse to an end of the PPG pulse. Further, the pulse correction and validation unit (310) may be configured to compare (318) the area of the ascending section with the area of the descending section. Further, pulse correction and validation unit (307) may be configured to perform the PPG pulse correction (320), to refine their quality for accurate glucose analysis, if the area of the ascending section is greater than the area of the descending section. The pulse correction and validation unit (310) may be configured to proceed for nothing to do with the pulse (319) if the area of the ascending section is not greater than the area of the descending section. The correction of the PPG pulse may correspond to flipping the PPG pulse. Further, flipping of the pulse corresponds to horizontally flipping the PPG pulse. Further, flipping of the pulse corresponds to reversing the phase of the PPG pulse. Further, removing the PPG pulse if the maximum peak is higher than the mean of all the detected peak. Further, the pulse correction and validation unit (310) may be configured to send the PPG pulse for pulse validation (321). In an embodiment, the pulse validation (321) may be performed through fiducial point detection, fiducial point validation by defining thresholds on the fiducial points. The fiducial points of the PPG pulse comprise the start point of the PPG pulse, maximum slope point, systolic peak, inflection point, dicrotic notch, diastolic peak, and end point of the PPG pulse. Further, fiducial points of a velocity plethysmogram (VPG) pulse comprises u-peak, v-peak, and w-peak. The VPG pulse is the first derivative of the PPG pulse. Further, fiducial points of an acceleration plethysmogram (APG) pulse comprises a-peak, b-peak, c-peak, d-peak, and e-peak. The APG pulse is a second derivative of the PPG pulse. Further, fiducial points of Jerk plethysmogram (JPG) pulse comprises p0, p1, p2, p3, and p4. The JPG pulse is a third derivative of the PPG pulse. Further, fiducial points of Snap plethysmogram (SPG) pulse comprises q1, q2, q3 and q4. The SPG pulse is a fourth derivative of the PPG pulse.
In one embodiment, detection of the fiducial points of the PPG pulse by the pulse correction and validation unit (310) is performed by finding the start point and the end point of the PPG pulse, wherein the start points, and the end point of the PPG pulse are local minima of the PPG pulse. Further, detection of the fiducial points of the PPG pulse is performed by the pulse correction and validation unit (310) correspond to finding the maximum slope point of the PPG pulse based on maxima of the VPG pulse, wherein the maxima of the VPG pulse corresponds to u-peak of the VPG pulse. Further, detection of the fiducial points of the PPG pulse is performed by finding the diastolic peak of the PPG pulse based on minima of the APG pulse, wherein the minima of the APG pulse corresponds to e-peak of the APG pulse. Further, detection of the fiducial points of the PPG pulse is performed by finding the dicrotic notch of the PPG pulse based on coinciding minima point of the VPG pulse with the PPG pulse. Further, the minima point of the VPG pulse corresponds to the v-peak of the VPG pulse. Further, detection of the fiducial points of the PPG pulse is performed by finding the inflection point of the PPG pulse based on a peak of the APG pulse close to a value zero, wherein the peak of the APG pulse close to zero corresponds to one of the c-peak, d-peak or a combination thereof.
Furthermore, following fiducial point detection, the pulse extraction and validation unit (310) may perform validation of the fiducial points through defining thresholds on the fiducial points of the PPG pulse. Further, the pulse extraction and validation unit (310) is configured for excluding the PPG pulse, if either two consecutive local minima in the PPG pulse are not available or one of the two local minima is not detected. Further, the pulse extraction and validation unit (310) is configured for excluding the PPG pulse, if local maxima is not available between two consecutive local minimas. Further, the pulse extraction and validation unit (310) is configured for considering extrema (the last minima) of the APG pulse as the diastolic peak of the PPG pulse, if more than one minima are available on the APG pulse, Further, the pulse extraction and validation unit (310) is configured for ensuring the diastolic peak of the PPG pulse to be not equal to either the maximum slope point of the PPG pulse or the systolic peak of the PPG pulse. Further, the pulse extraction and validation unit (310) is configured for considering local minima of either the APG pulse or the VPG pulse, as the dicrotic notch of the PPG pulse, if the minima point of the VPG pulse does not coincide with the PPG pulse. Further, the pulse extraction and validation unit (310) is configured for ensuring the dicrotic notch of the PPG pulse to be lies between the systolic peak and the diastolic peak of the PPG pulse. Further, the pulse extraction and validation unit (310) is configured for considering an average of the diastolic peak of the PPG pulse and the dicrotic notch of the PPG pulse, as the inflection point of the PPG pulse, if no peak of the APG pulse close to the value zero. Further, the pulse extraction and validation unit (310) is configured for swapping one or more fiducial points on the ascending section of the PPG pulse with one or more fiducial points on the descending section of the PPG pulse, if the diastolic peak of the PPG pulse lies before the systolic peak of the PPG pulse. Further, the pulse extraction and validation unit (310) is configured for swapping one or more fiducial points on the ascending section of the PPG pulse with one or more fiducial points on the descending section of the PPG pulse, if dicrotic notch of the PPG pulse lies before the systolic peak of the PPG pulse. Further, the pulse extraction and validation unit (310) is configured for swapping dicrotic notch of the PPG pulse with diastolic peak of the PPG pulse, if dicrotic notch of the PPG pulse lies after the diastolic peak of the PPG pulse.
Further, the pulse extraction and validation unit (310) is configured to validate the PPG pulse by defining the maximum pulse period and minimum pulse period on a dataset. Further, the pulse extraction and validation unit (310) is configured for checking for period of the PPG pulse to be within the range of the defined thresholds. Further, PPG pulse validation involves checking if the maximum of the pulse is less than one. Further, PPG pulse validation involves checking the condition for validation of the pulse. Further, if the pulse is validated then find the minimum index of the PPG pulse. Further, checking the if min index of the pulse is equal or less than minus one. Further, PPG pulse validation involves finding difference (diff) of the ascending section and further checking if length of the difference is not equal to one and minimum of the difference is greater than one.
Further, the pulse correction and validation unit (310) is configured to perform fitting one or more curves on the validated pulse. Further, a first curve from one or more curves corresponds to a systolic curve and a second curve from one or more curves corresponds to a diastolic curve. Further, the one or more curves corresponds to a gaussian curves, a bell curve, normal curve. Further, the pulse correction and validation unit (310) is configured to fit (321) the two gaussian curves on the validated pulse. Further, the pulse correction and validation unit (310) is configured to calculate (322) Least Square Error (LSE) between the PPG pulse and gaussian curves. Further, the pulse correction and validation unit (310) is configured to compare the value of the LSE if less than a predefined value. Further, the pulse correction and validation unit (310) is configured to discard (324) the pulse if the value of LSE is less than the predefined threshold. Further, the pulse correction and validation unit (310) is configured to send the pulse to Glucose estimation unit (311) if the value of LSE is greater than the predefined threshold.
FIG. 3E illustrates the glucose estimation unit (311) of the application server (104), in accordance with an embodiment of the present subject matter. configured for extracting various features from the validated PPG pulse if value of the LSE is greater than a predefined value, each contributing valuable information about glucose measurement dynamics and user-specific characteristics. Further, the feature extraction may include extraction of demographic detail (325) and PPG pulse length, Amplitude analysis and Time domain analysis (326). Further, these one or more features may include the rising time and falling time of the PPG pulse, demographic details of the user (such as age and gender), pulse length, and amplitude measurements of key peaks including the systolic peak, diastolic peak, dicrotic notch, and inflection point.
In another embodiment, one or more features from the PPG pulse comprise rising time of the PPG pulse, falling time of the PPG pulse, demographic details of the user, pulse length of the PPG pulse, amplitude of the systolic peak of the PPG pulse, amplitude of the diastolic peak of the PPG pulse, amplitude of the dicrotic notch of the PPG pulse, inter-beat interval, amplitude of the systolic peak in Gaussian curve, amplitude of the diastolic peak in Gaussian curve, position of the systolic peak in Gaussian curve, position of the diastolic peak in Gaussian curve, half width from systolic peak to the base of the Gaussian curve, half width from diastolic peak to the base of the Gaussian curve, position of the systolic peak of the PPG pulse, position of the diastolic peak of the pulse, position of the dicrotic notch of the pulse in time domain, period of the single PPG pulse, maximum rising rate of the pulse (start to systolic peak), maximum falling rate of the pulse (systolic peak to end), maximum falling rate from the systolic peak to diastolic peak, time difference between the systolic and the dicrotic notch, time difference between dicrotic notch and diastolic peak, time difference between the diastolic peak and end of the PPG pulse, area of single PPG pulse, area of the triangle formed by the start of the PPG pulse to the maximum point and maximum point's position of the PPG pulse, area of the triangle formed by maximum point of the PPG pulse to the dicrotic notch and dicrotic notch's position of the PPG pulse, area of the triangle formed by the dicrotic notch of the PPG pulse to the diastolic peak and diastolic peak's position of the PPG pulse, area of the triangle formed by diastolic peak of the pulse to the end of the PPG pulse and end of the pulse's position of the pulse, and density plot of the features throughout the dataset. Further, the pulse correction and validation unit (310) comprise using a zero-derivative method for the peak detection. further, the method comprises adding an adaptive threshold method to remove lower peaks from the PPG pulse.
Further, the glucose estimation unit (311) of the application server (104) is configured for applying one or more extracted features of a blood glucose level model to estimate blood glucose of the user. The glucose estimation unit (311) may be configured to Train/Validate glucose level model using a Random Forest Algorithm. The glucose level model are trained and validated using PPG pulse features extracted from the user, including rising time, falling time, demographic details, pulse length, and various peak amplitudes (systolic, diastolic, dicrotic notch, inflection point), among others. The extracted features are applied to the trained models, to estimate the glucose level of the user. The models analyze the relationship between the input features and blood glucose values, learning from a labelled dataset to make accurate predictions in real-time scenarios. The machine learning-based blood glucose estimation system may operate in conjunction with smartphones, or other PPG measurement devices, offering convenient and continuous monitoring capabilities. By harnessing the power of machine learning, this approach enables personalized and precise blood glucose assessment without invasive procedures. The machine learning-based blood glucose estimation system may operate in conjunction with smartphones, or other PPG measurement devices, offering convenient and continuous monitoring capabilities. By harnessing the power of machine learning, this approach enables personalized and precise blood glucose assessment without invasive procedures.
.
Further, the application server (104), via the blood glucose estimation, provides real-time notifications to one or more first users. The real-time notifications are indicative of the status/value of the first information. Further, the application server (104) is configured to receive feedback from the user’s fingertip.
A person skilled in the art will understand that the scope of the disclosure should not be limited to blood glucose domain and using the aforementioned techniques. Further, the examples provided in supra are for illustrative purposes and should not be construed to limit the scope of the disclosure.
FIG. 4A-4C is a flowchart that illustrates a method (400) for blood glucose estimation from video photoplethysmography (PPG) using one or more machine learning techniques, in accordance with at least one embodiment of the present subject matter. The method (400) may be implemented by an electronic device (108) including one or more processors (302) and a memory (304) communicatively coupled to the processor (302) and the memory (304) is configured to store processor-executable programmed instructions.
At step (401), the method (400) is configured to receive a video of user’s fingertip (201). The video is captured using one or more optical sensors (202) coupled with a portable device (203) along with a light source (205).
At step (402), the method (400) is configured to extract a red channel from each frame of one or more frames of the received video.
At step (403), the method (400) is configured to obtain a PPG waveform by taking an average of one or more red channels from one or more frames of the received video.
At step (404), the method (400) is configured to invert the PPG waveform to correct inversion format of the PPG waveform and obtain an inverted PPG waveform.
At step (405), the method (400) is configured to filter the inverted PPG waveform to remove noise from inverted PPG waveform and obtain a filtered PPG waveform.
At step (406), the method (400) is configured to select the filtered PPG waveform based on detecting signal strength and signal quality.
At step (407), the method (400) is configured to extract a portion of PPG pulse from the selected PPG waveform.
At step (408), the method (400) is configured to perform a pulse correction on the PPG pulse. The pulse correction is performed by following steps.
At step (409), the method (400) is configured to detect peaks and troughs from the PPG pulse. A peak is the highest point between two troughs.
At step (410), the method (400) is configured to remove the PPG pulse if maximum peak is higher than mean of all the detected peaks.
At step (411), the method (400) is configured to detect an ascending section and a descending section of the PPG pulse. The ascending section is starting from a first trough of the PPG pulse ending at the peak of the PPG pulse and the descending section is starting from the peak of the PPG pulse ending at a second trough of the PPG pulse.
At step (412), the method (400) is configured to calculate areas of both the ascending section and the descending section of the PPG pulse.
At step (413), the method (400) is configured to flip the PPG pulse if area of the ascending section is greater than the area of the descending section.
At step (414), the method (400) is configured to validate the PPG pulse through fiducial point detection. the fiducial point validation by defining thresholds on the fiducial points.
At step (415), the method (400) is configured to fit one or more curves on the validated pulse. A first curve from one or more curves corresponds to systolic curve and a second curve from one or more curves corresponds to diastolic curve.
At step (416), the method (400) is configured to calculate a least square error (LSE) between the PPG pulse and one or more curves.
At step (417), the method (400) is configured to extract one or more features from the PPG pulse if value of the LSE is greater than a predefined value.
At step (418), the method (400) is configured to apply one or more features to the glucose level model to estimate the blood glucose of the user.
Let us delve into a detailed working example of the present disclosure.
Example: X is a person with diabetes who needs to monitor their blood glucose levels regularly.
Now, X have a portable device equipped with an optical sensor and a light source. X places his fingertip on the optical sensor along with the light passing through it, and the device captures a video of his fingertip. This video contains valuable information about X's blood glucose levels. Video contains plurality of frames, and each frame comprises red, green, and blue channels from which the system extracts the red channels from the video frames. These red channels contain information about the blood flow, including the fluctuating changes corresponding to the heartbeat. By averaging the red channels, the system obtains a PPG waveform, which essentially captures the heartbeats hidden in the video. The system inverts the PPG waveform and filters out noise to obtain a clear PPG waveform. The system performs pulse correction to identify peaks and troughs in the pulse. Any abnormal peaks are removed, and the ascending and descending sections of the pulse are evaluated to ensure they're in the correct order. further, system checks the pulse against fiducial points and sets thresholds to confirm its validity.
Once validated, the system fits gaussian curves onto the pulse, distinguishing between systolic and diastolic phases. It calculates the Least Square Error (LSE) to measure the goodness of fit between the pulse and the curves. With the validated pulse and curves, the system extracts feature from the pulse, which are essential for estimating blood glucose levels.
Finally, armed with these features, the system employs a machine learning model to estimate X's blood glucose levels based on the information gathered from the video and pulse analysis.
And thus, through the collaboration of X with the video of fingertip and the estimated blood glucose, our method unveils the secrets of blood glucose estimation, blending technology and detective work into a seamless narrative innovation.
A person skilled in the art will understand that the scope of the disclosure is not limited to scenarios based on the aforementioned factors and using the aforementioned techniques, and that the examples provided do not limit the scope of the disclosure.
FIG. 5 illustrates a block diagram of an exemplary computer system (501) for implementing embodiments consistent with the present disclosure.
Variations of computer system (501) may be used for securely performing one or more operations in a user interface platform. The computer system (501) may comprise 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 requests. A user may include a person, a person using a device such as such as those included in this disclosure, or such a device itself. Additionally, 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, or the like. In various implementations the processor (502) may include a microprocessor, such as AMD Athlon, Duron or Opteron, ARM’s application, embedded or secure processors, IBM PowerPC, Intel’s Core, Itanium, Xeon, Celeron or other line of processors, for example. Accordingly, the processor (502) may be implemented using mainframe, distributed processor, multi-core, parallel, grid, or other architectures. Some embodiments may utilize embedded technologies like application-specific integrated circuits (ASICs), digital signal processors (DSPs), or Field Programmable Gate Arrays (FPGAs), for example.
Processor (502) may be disposed in communication with one or more input/output (I/O) devices via I/O interface (503). Accordingly, the I/O interface (503) may employ communication protocols/methods such as, without limitation, audio, analog, digital, monoaural, RCA, 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), RF antennas, S-Video, 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), WiMAX, or the like, for example.
Using the I/O interface (503), the computer system (501) may communicate with one or more I/O devices. For example, the input device (504) may be an antenna, keyboard, mouse, joystick, (infrared) remote control, camera, card reader, fax machine, dongle, biometric reader, microphone, touch screen, touchpad, trackball, sensor (e.g., accelerometer, light sensor, GPS, gyroscope, proximity sensor, or the like), stylus, scanner, storage device, transceiver, video device/source, or visors, for example. Likewise, an output device (505) may be a user’s smartphone, tablet, cell phone, laptop, printer, fax machine, video display (e.g., cathode ray tube (CRT), liquid crystal display (LCD), light- emitting diode (LED), plasma, or the like), or audio speaker, for example. In some embodiments, a transceiver (506) may be disposed in connection with the processor (502). The transceiver (506) may facilitate various types of wireless transmission or reception. For example, the transceiver (506) may include an antenna operatively connected to a transceiver chip (example devices include the Texas Instruments® WiLink WL1283, Broadcom® BCM4750IUB8, Infineon Technologies® X-Gold 618-PMB9800, or the like), providing IEEE 802.11a/b/g/n, Bluetooth, FM, global positioning system (GPS), and/or 2G/3G/5G/6G HSDPA/HSUPA communications, for example.
In some embodiments, the processor (502) may be disposed in communication with a communication network (508) via a network interface (507). The network interface (507) is adapted to communicate with the communication network (508). The network interface (507) 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, or IEEE 802.11a/b/g/n/x, for example. The communication network (508) may include, without limitation, a direct interconnection, local area network (LAN), wide area network (WAN), wireless network (e.g., using Wireless Application Protocol), or the Internet, for example. Using the network interface (507) and the communication network (508), the computer system (501) may communicate with devices such as shown as a laptop (509) or a mobile/cellular phone (510). Other exemplary devices may include, without limitation, personal computer(s), server(s), fax machines, printers, scanners, various mobile devices such as cellular telephones, smartphones (e.g., Apple iPhone, Blackberry, Android-based phones, etc.), tablet computers, eBook readers (Amazon Kindle, Nook, etc.), laptop computers, notebooks, gaming consoles (Microsoft Xbox, Nintendo DS, Sony PlayStation, etc.), or the like. In some embodiments, the computer system (501) may itself embody one or more of these devices.
In some embodiments, the processor (502) may be disposed in communication with one or more memory devices (e.g., RAM 413, ROM 414, etc.) via a storage interface (512). The storage interface (512) may connect to memory devices 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, or solid-state drives, for example.
The memory devices may store a collection of program or database components, including, without limitation, an operating system (516), user interface application (517), web browser (518), mail client/server (519), user/application data (520) (e.g., any data variables or data records discussed in this disclosure) for example. The operating system (516) may facilitate resource management and operation of the computer system (501). Examples of operating systems include, without limitation, Apple Macintosh OS X, UNIX, Unix-like system distributions (e.g., Berkeley Software Distribution (BSD), FreeBSD, NetBSD, OpenBSD, etc.), Linux distributions (e.g., Red Hat, Ubuntu, Kubuntu, etc.), IBM OS/2, Microsoft Windows (XP, Vista/7/8, etc.), Apple iOS, Google Android, Blackberry OS, or the like.
The user interface (517) if for facilitating the 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 (501), such as cursors, icons, check boxes, menus, scrollers, windows, or widgets, for example. 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, or web interface libraries (e.g., ActiveX, Java, JavaScript, AJAX, HTML, Adobe Flash, etc.), for example.
In some embodiments, the computer system (501) may implement a web browser (518) stored program component. The web browser (518) may be a hypertext viewing application, such as Microsoft Internet Explorer, Google Chrome, Mozilla Firefox, Apple Safari, or Microsoft Edge, for example. Secure web browsing may be provided using HTTPS (secure hypertext transport protocol), secure sockets layer (SSL), Transport Layer Security (TLS), or the like. Web browsers may utilize facilities such as AJAX, DHTML, Adobe Flash, JavaScript, Java, or application programming interfaces (APIs), for example. In some embodiments the computer system (501) may implement a mail client/server (519) stored program component. The mail server (519) may be an Internet mail server such as Microsoft Exchange, or the like. The mail server may utilize facilities such as ASP, ActiveX, ANSI C++/C#, Microsoft .NET, CGI scripts, Java, JavaScript, PERL, PHP, Python, or WebObjects, for example. The mail server (519) may utilize communication protocols such as internet message access protocol (IMAP), messaging application programming interface (MAPI), Microsoft Exchange, post office protocol (POP), simple mail transfer protocol (SMTP), or the like. In some embodiments, the computer system (501) may implement a mail client (520) stored program component. The mail client (520) may be a mail viewing application, such as Apple Mail, Microsoft Entourage, Microsoft Outlook, or Mozilla Thunderbird.
In some embodiments, the computer system (501) may store user/application data (521), such as the data, variables, records, or the like as described in this disclosure. Such databases may be implemented as fault-tolerant, relational, scalable, secure databases such as Oracle or Sybase, for example. Alternatively, such databases may be implemented using standardized data structures, such as an array, hash, linked list, struct, structured text file (e.g., XML), table, or as object-oriented databases (e.g., using ObjectStore, Poet, Zope, etc.). Such databases may be consolidated or distributed, sometimes among the various computer systems discussed above in this disclosure. It is to be understood that the structure and operation of the any computer or database component may be combined, consolidated, or distributed in any working combination.
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.
Various embodiments of the disclosure encompass numerous advantages including methods and systems for blood glucose estimation using photoplethysmography (PPG). The disclosed method and system have several technical advantages, but not limited to the following:
• Unlike traditional methods that require a blood sample, PPG-based glucose estimation is non-invasive, eliminating the need for finger pricking or other invasive procedures.
• PPG allows for continuous monitoring of blood glucose levels, providing real-time data that can be crucial for managing diabetes and other conditions.
• Because it doesn't require blood samples, PPG-based glucose estimation offers greater convenience for patients, reducing discomfort and inconvenience associated with traditional methods.
• By eliminating the need for puncturing the skin, PPG reduces the risk of infection associated with invasive methods of blood glucose monitoring.
• The non-invasive nature of PPG may lead to improved compliance with glucose monitoring regimens, as patients are more likely to perform regular measurements.
• PPG technology can be integrated into wearable devices such as smartwatches or fitness trackers, allowing for seamless and continuous monitoring of blood glucose levels throughout the day.
• PPG-based glucose estimation may offer cost savings compared to traditional methods, particularly if it reduces the need for disposable test strips and lancets.
• PPG data can be analysed using advanced algorithms to provide insights into glucose trends and patterns over time, aiding in personalized treatment plans and adjustments.
• PPG-based glucose monitoring may improve accessibility to glucose monitoring for individuals in resource-limited settings or those with limited mobility, where traditional methods may be less practical.
• The development of PPG-based glucose estimation opens up avenues for further research and development in the field of non-invasive health monitoring and biosensing technologies.
In summary, these technical advantages solve the technical problem of providing a more convenient, less invasive, and continuous method for monitoring blood glucose levels, thereby addressing the challenges associated with traditional invasive methods such as discomfort, inconvenience, and the risk of infection. Additionally, these advantages contribute to improved patient compliance, better accessibility to glucose monitoring, and the potential for cost savings, ultimately enhancing the overall management of diabetes and related conditions.
The claimed invention of a system and a method for securely performing one or more operations in a user interface platform involves tangible components, processes, and functionalities that interact to achieve specific technical outcomes. The system integrates various elements such as processors, memory, databases, encryption, authorization and authentication techniques to effectively perform one or more operations in a user interface platform.
Furthermore, the invention involves a non-trivial combination of technologies and methodologies that provide a technical solution for a technical problem. While individual components like processors, databases, encryption, authorization and authentication are well-known in the field of computer science, their integration into a comprehensive system for securely performing one or more operations in a user interface platform, brings about an improvement and technical advancement in the field of performing secure operations on a user interface platform.
In light of the above-mentioned advantages and the technical advancements provided by the disclosed method and system, the claimed steps as discussed above are not routine, conventional, or well understood in the art, as the claimed steps enable the following solutions to the existing problems in conventional technologies. Further, the claimed steps clearly bring an improvement in the functioning of the device itself as the claimed steps provide a technical solution to a technical problem.
The present disclosure may be realized in hardware, or a combination of hardware and software. The present disclosure may be realized in a centralized fashion, in at least one computer system, or in a distributed fashion, where different elements may be spread across several interconnected computer systems. A computer system or other apparatus adapted for carrying out the methods described herein may be suited. A combination of hardware and software may be a general-purpose computer system with a computer program that, when loaded and executed, may control the computer system such that it carries out the methods described herein. The present disclosure may be realized in hardware that comprises a portion of an integrated circuit that also performs other functions.
A person with ordinary skills in the art will appreciate that the systems, modules, and sub-modules have been illustrated and explained to serve as examples and should not be considered limiting in any manner. It will be further appreciated that the variants of the above disclosed system elements, modules, and other features and functions, or alternatives thereof, may be combined to create other different systems or applications.
Those skilled in the art will appreciate that any of the aforementioned steps and/or system modules may be suitably replaced, reordered, or removed, and additional steps and/or system modules may be inserted, depending on the needs of a particular application. In addition, the systems of the aforementioned embodiments may be implemented using a wide variety of suitable processes and system modules, and are not limited to any particular computer hardware, software, middleware, firmware, microcode, and the like. The claims can encompass embodiments for hardware and software, or a combination thereof.
While the present disclosure has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made, and equivalents may be substituted without departing from the scope of the present disclosure. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present disclosure without departing from its scope. Therefore, it is intended that the present disclosure is not limited to the particular embodiment disclosed, but that the present disclosure will include all embodiments falling within the scope of the appended claims.
, Claims:WE CLAIM:
1. A method (400) for blood glucose estimation from video photoplethysmography (PPG) using one or more machine learning techniques, the method (400) comprising:
receiving (401), by a processor (302), a video of user's fingertip (201), wherein the video is captured using one or more optical sensors (202) coupled with a portable device (203) along with a light source (205);
extracting (402), by the processor (302), a red channel from each frame of one or more frames of the received video;
obtaining (403), by the processor (302), a PPG waveform by taking average of one or more red channels from the one or more frames of the received video;
inverting (404), by the processor (302), the PPG waveform to correct inversion format of the PPG waveform and obtain an inverted PPG waveform;
filtering (405), by the processor (302), the inverted PPG waveform to remove noise from the inverted PPG waveform and obtain a filtered PPG waveform;
selecting (406), by the processor (302), the filtered PPG waveform based on detecting signal strength and signal quality;
extracting (407), by the processor (302), a portion of PPG pulse from the selected PPG waveform;
performing (408), by the processor (302), a pulse correction on the PPG pulse, wherein the pulse correction is performed by:
detecting (409), by the processor (302), peaks and troughs from the PPG pulse, wherein a peak is the highest point between two troughs;
removing (410), by the processor (302), the PPG pulse if maximum peak is higher than mean of all the detected peaks;
detecting (411), by the processor (302), an ascending section and a descending section of the PPG pulse, wherein the ascending section is starting from a first trough of the PPG pulse ending at the peak of the PPG pulse and the descending section is starting from the peak of the PPG pulse ending at a second trough of the PPG pulse;
calculating (412), by the processor (302), areas of both the ascending section and the descending section of the PPG pulse;
flipping (413), by the processor (302), the PPG pulse if area of the ascending section is greater than the area of the descending section;
validating (414), by the processor (302), the PPG pulse through fiducial point detection, fiducial point validation by defining thresholds on the fiducial points;
fitting (415), by the processor (302), one or more curves on the validated pulse, wherein a first curve from one or more curves corresponds to systolic curve and a second curve from one or more curves corresponds to diastolic curve;
calculating (416), by the processor (302), a Least Square Error (LSE) between the PPG pulse and one or more curves;
extracting (417) by the processor (302), one or more features from the PPG pulse if value of the LSE is greater than a predefined value, and
applying (418) by the processor (302), one or more extracted features to a blood glucose level model, to estimate the blood glucose of the user.
2. The method (400) as claimed in claim 1, wherein filtering the inverted PPG waveform is performed using on one or more filtering techniques; wherein one or more filtering techniques correspond to one of bandpass filtering, moving average filtering, signal smoothing, signal interpolation and a combination thereof.
3. The method (400) as claimed in claim 1, wherein the method (400) comprises detecting the signal strength of the filtered PPG waveform by quantifying noise present in the filtered PPG waveform; wherein the method (400) comprises determining signal quality of the filtered PPG waveform by applying techniques selected from one of thresholding, kurtosis, entropy, baseline wander removal and a combination thereof.
4. The method (400) as claimed in claim 1, wherein extracting the portion of the PPG pulse from the selected PPG waveform is performed by sliding a window of a predetermined time-period over the selected PPG waveform without overlapping.
5. The method (400) as claimed in claim 1, wherein the method (400) comprises using a zero-derivative method for the peak detection, wherein the method comprises adding adaptive threshold method to remove lower peaks from the PPG pulse.
6. The method (400) as claimed in claim 1, wherein the ascending section corresponds to start of the PPG pulse to the peak of the PPG pulse; wherein the descending section corresponds to peak of the PPG pulse to an end of the PPG pulse.
7. The method (400) as claimed in claim 1,
wherein the fiducial points of the PPG pulse comprise start point of the PPG pulse, maximum slope point, systolic peak, inflection point, dicrotic notch, diastolic peak, and end point of the PPG pulse;
wherein fiducial points of a velocity plethysmogram (VPG) pulse comprises u-peak, v-peak, and w-peak;
wherein fiducial points of an acceleration plethysmogram (APG) pulse comprises a-peak, b-peak, c-peak, d-peak, and e-peak;
wherein fiducial points of Jerk plethysmogram (JPG) pulse comprises p0, p1, p2, p3, and p4;
wherein fiducial points of Snap plethysmogram (SPG) pulse comprises q1, q2, q3 and q4;
wherein the VPG pulse is a first derivative of the PPG pulse, the APG pulse is a second derivative of the PPG pulse, the JPG pulse is a third derivative of the PPG pulse and SPG pulse is a fourth derivative of the PPG pulse.
8. The method (400) as claimed in claim 7, wherein detection of the fiducial points of the PPG pulse is performed by:
finding the start point and the end point of the PPG pulse, wherein the start point, and the end point of the PPG pulse are local minima of the PPG pulse;
finding the maximum slope point of the PPG pulse based on maxima of the VPG pulse, wherein the maxima of the VPG pulse corresponds to u-peak of the VPG pulse;
finding the diastolic peak of the PPG pulse based on minima of the APG pulse, wherein the minima of the APG pulse corresponds to e-peak of the APG pulse;
finding the dicrotic notch of the PPG pulse based on coinciding minima point of the VPG pulse with the PPG pulse, wherein the minima point of the VPG pulse corresponds to the v-peak of the VPG pulse; and
finding the inflection point of the PPG pulse based on a peak of the APG pulse close to a value zero, wherein the peak of the APG pulse close to zero corresponds to one of the c-peak, d-peak or a combination thereof.
9. The method (400) as claimed in claim 8, wherein validation of the fiducial points through defining thresholds on the fiducial points of the PPG pulse is performed by:
excluding the PPG pulse, if either two consecutive local minima in the PPG pulse are not available or one of the two local minima is not detected;
excluding the PPG pulse, if local maxima is not available between two consecutive local minimas;
considering extrema (the last minima) of the APG pulse as the diastolic peak of the PPG pulse, if more than one minima are available on the APG pulse;
ensuring the diastolic peak of the PPG pulse to be not equal to either the maximum slope point of the PPG pulse or the systolic peak of the PPG pulse;
considering local minima of either the APG pulse or the VPG pulse, as the dicrotic notch of the PPG pulse, if the minima point of the VPG pulse does not coincide with the PPG pulse;
ensuring the dicrotic notch of the PPG pulse to be lies between the systolic peak and the diastolic peak of the PPG pulse;
considering an average of the diastolic peak of the PPG pulse and the dicrotic notch of the PPG pulse, as the inflection point of the PPG pulse, if no peak of the APG pulse close to the value zero;
swapping one or more fiducial points on the ascending section of the PPG pulse with one or more fiducial points on the descending section of the PPG pulse, if the diastolic peak of the PPG pulse lies before the systolic peak of the PPG pulse;
swapping one or more fiducial points on the ascending section of the PPG pulse with one or more fiducial points on the descending section of the PPG pulse, if dicrotic notch of the PPG pulse lies before the systolic peak of the PPG pulse; and
swapping dicrotic notch of the PPG pulse with diastolic peak of the PPG pulse, if dicrotic notch of the PPG pulse lies after the diastolic peak of the PPG pulse.
10. The method (400) as claimed in claim 1, wherein the method comprises validating the PPG pulse by:
defining maximum pulse period and minimum pulse period based on dataset;
checking for period of the PPG pulse to be within the range of the defined thresholds;
checking if maxima of the PPG pulse < 1;
checking if len(sp.argrelmax(np.array(pulse))[0]) < 2;
finding minimum index of the PPG pulse;
checking if (min_index == 0 or min_index == len(pulse) - 1):
finding difference (diff) of the ascending section;
checking if len(diff) != 0 and min(diff) > 0; and
checking if abs(pulse[0] - pulse[-1]) / (pulse[max_index] - pulse[min_index]) < 0.3
11. The method (400) as claimed in claim 1, wherein one or more curves corresponds to gaussian curves, bell curve, normal curve.
12. The method (400) as claimed in claim 11, wherein one or more features from the PPG pulse comprise rising time of the PPG pulse, falling time of the PPG pulse, demographic details of the user, pulse length of the PPG pulse, amplitude of the systolic peak of the PPG pulse, amplitude of the diastolic peak of the PPG pulse, amplitude of the dicrotic notch of the PPG pulse, inter-beat interval, amplitude of the systolic peak in Gaussian curve, amplitude of the diastolic peak in Gaussian curve, position of the systolic peak in Gaussian curve, position of the diastolic peak in Gaussian curve, half width from systolic peak to the base of the Gaussian curve, half width from diastolic peak to the base of the Gaussian curve, position of the systolic peak of the PPG pulse, position of the diastolic peak of the pulse, position of the dicrotic notch of the pulse in time domain, period of the single PPG pulse, maximum rising rate of the pulse (start to systolic peak), maximum falling rate of the pulse (systolic peak to end), maximum falling rate from the systolic peak to diastolic peak, time difference between the systolic and the dicrotic notch, time difference between dicrotic notch and diastolic peak, time difference between the diastolic peak and end of the PPG pulse, area of single PPG pulse, area of the triangle formed by the start of the PPG pulse to the maximum point and maximum point's position of the PPG pulse, area of the triangle formed by maximum point of the PPG pulse to the dicrotic notch and dicrotic notch's position of the PPG pulse, area of the triangle formed by the dicrotic notch of the PPG pulse to the diastolic peak and diastolic peak's position of the PPG pulse, area of the triangle formed by diastolic peak of the pulse to the end of the PPG pulse and end of the pulse's position of the pulse, and density plot of the features throughout the dataset.
13. The method (400) as claimed in claim 1, comprises training the blood glucose level model, using machine learning technique; wherein the machine learning technique corresponds to random forest algorithm.
14. The method (400) as claimed in claim 1, comprises discarding the validated pulse if value of the LSE is less than or equal to the predefined value.
15. The method (400) as claimed in claim 1, wherein the method (400) comprises capturing the video using the optical sensor (201) and the light source (205) placed within the portable device (203); wherein the portable device (203) corresponds to a smartphone, wherein the optical sensor (201) corresponds to rear camera of the smartphone, wherein the light source (205) corresponds to a flashlight placed on rear side of the smartphone.
16. The method (300) as claimed in claim 1, wherein inverting the PPG waveform corresponds to vertically inverting the PPG waveform; wherein inverting the PPG waveform corresponds to inverting polarity of the PPG waveform.
17. The method (300) as claimed in claim 1, wherein flipping of the PPG pulse corresponds to horizontally flipping the PPG pulse; wherein flipping of the PPG pulse corresponds to reversing phase of the PPG pulse.
18. A system (100) for blood glucose estimation from video photoplethysmography (PPG) using one or more machine learning techniques, the system (100) comprises:
one or more portable devices (108), wherein one or more portable devices (108) are coupled with one or more optical sensors (102) and a light source (105);
a memory (304);
a processor (302), wherein the processor (302) is configured to execute programmed instructions stored in the memory (304), by:
receiving a video of user's fingertip (201), wherein the video is captured using one or more optical sensors (202) coupled with the portable device (203) along with the light source (205);
extracting a red channel from each frame of one or more frames of the received video;
obtaining a PPG waveform by taking average of one or more red channels from the one or more frames of the received video;
inverting the PPG waveform to correct inversion format of the PPG waveform and obtain an inverted PPG waveform;
filtering the inverted PPG waveform to remove noise from the inverted PPG waveform and obtain a filtered PPG waveform;
selecting the filtered PPG waveform based on detecting signal strength and signal quality;
extracting a portion of PPG pulse portion from the selected PPG waveform;
performing a pulse correction on the PPG pulse, wherein the pulse correction is performed by:
detecting peaks and troughs from the PPG pulse, wherein a peak is the highest point between two troughs;
removing the PPG pulse if maximum peak is higher than mean of all the detected peaks;
detecting an ascending section and a descending section of the PPG pulse, wherein the ascending section is starting from a first trough of the PPG pulse ending at the peak of the PPG pulse and the descending section is starting from the peak of the PPG pulse ending at a second trough of the PPG pulse;
calculating areas of both the ascending section and the descending section of the PPG pulse;
flipping the PPG pulse if area of the ascending section is greater than the area of the descending section;
validating the PPG pulse through fiducial point detection, fiducial point validation by defining thresholds on the fiducial points;
fitting one or more curves on the validated pulse, wherein a first curve from one or more curves corresponds to systolic curve and a second curve from one or more curves corresponds to diastolic curve;
calculating a Least Square Error (LSE) between the PPG pulse and one or more curves;
extracting one or more features from the PPG pulse if value of the LSE is greater than a predefined value, and
applying one or more extracted features to a blood glucose level model, to estimate the blood glucose of the user.
Dated this 10th Day of July 2024

Abhijeet Gidde
Agent for the Applicant
IN/PA-4407

Documents

Application Documents

# Name Date
1 202441052840-STATEMENT OF UNDERTAKING (FORM 3) [10-07-2024(online)].pdf 2024-07-10
2 202441052840-REQUEST FOR EXAMINATION (FORM-18) [10-07-2024(online)].pdf 2024-07-10
3 202441052840-FORM FOR SMALL ENTITY(FORM-28) [10-07-2024(online)].pdf 2024-07-10
4 202441052840-FORM FOR SMALL ENTITY [10-07-2024(online)].pdf 2024-07-10
5 202441052840-FORM 18 [10-07-2024(online)].pdf 2024-07-10
6 202441052840-FORM 1 [10-07-2024(online)].pdf 2024-07-10
7 202441052840-FIGURE OF ABSTRACT [10-07-2024(online)].pdf 2024-07-10
8 202441052840-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [10-07-2024(online)].pdf 2024-07-10
9 202441052840-EVIDENCE FOR REGISTRATION UNDER SSI [10-07-2024(online)].pdf 2024-07-10
10 202441052840-DRAWINGS [10-07-2024(online)].pdf 2024-07-10
11 202441052840-DECLARATION OF INVENTORSHIP (FORM 5) [10-07-2024(online)].pdf 2024-07-10
12 202441052840-COMPLETE SPECIFICATION [10-07-2024(online)].pdf 2024-07-10
13 202441052840-MSME CERTIFICATE [11-07-2024(online)].pdf 2024-07-11
14 202441052840-FORM28 [11-07-2024(online)].pdf 2024-07-11
15 202441052840-FORM-9 [11-07-2024(online)].pdf 2024-07-11
16 202441052840-FORM 18A [11-07-2024(online)].pdf 2024-07-11
17 202441052840-Proof of Right [18-07-2024(online)].pdf 2024-07-18
18 202441052840-FORM-26 [12-09-2024(online)].pdf 2024-09-12
19 202441052840-FER.pdf 2025-04-02
20 202441052840-FORM 3 [03-06-2025(online)].pdf 2025-06-03
21 202441052840-OTHERS [25-09-2025(online)].pdf 2025-09-25
22 202441052840-FER_SER_REPLY [25-09-2025(online)].pdf 2025-09-25
23 202441052840-DRAWING [25-09-2025(online)].pdf 2025-09-25
24 202441052840-COMPLETE SPECIFICATION [25-09-2025(online)].pdf 2025-09-25
25 202441052840-US(14)-HearingNotice-(HearingDate-07-11-2025).pdf 2025-10-07
26 202441052840-Correspondence to notify the Controller [28-10-2025(online)].pdf 2025-10-28

Search Strategy

1 202441052840_SearchStrategyNew_E_202441052840E_19-03-2025.pdf