A non-contact physiological indicator detection method, device and electronic equipment

CN122140217BActive Publication Date: 2026-10-23NINGBO JUFENG SYST SOFTWARE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202610624046.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-05-08
Publication Date
2026-10-23
Estimated Expiration
2046-05-08

AI Technical Summary

Benefits of technology

[0023]本公开的一种非接触式生理指标的检测方法、装置、电子设备及存储介质,首先接收来自客户端的视频流接入请求,响应该接入请求,基于WebRTC协议与客户端建立实时视频传输链接,以获取包含目标人脸的视频帧序列;之后对该视频帧序列进行目标检测,得到感兴趣区域帧序列,最后基于远程光电容积描记法对感兴趣区域帧序列进行信号处理,得到脉搏信号,再由脉搏信号确定实时心率值。应用本方法,无需额外硬件,通过智能手机摄像头对目标人脸进行拍摄,获取目标人脸的视频帧序列,依赖远程光电容积描记法即可推断出脉搏信号,呼救人无需下载或安装新的应用程序,使用摄像头对准患者即可,实现从视频到生理指标的非接触式测量,无需直接接触患者,降低了使用门槛和操作风险,兼容性强,可以得到更准确的生理指标数据。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122140217B_ABST
    Figure CN122140217B_ABST
Patent Text Reader

Abstract

The present disclosure provides a non-contact physiological indicator detection method and device and electronic equipment, the method comprising: receiving a video stream access request from a client; in response to the access request, establishing a real-time video transmission link with the client based on the WebRTC protocol to obtain a video frame sequence containing a target face; performing target detection on the video frame sequence to obtain a region of interest; performing signal processing on the region of interest frame sequence based on remote photoplethysmography to obtain a pulse signal; and determining a real-time heart rate value based on the pulse signal. By applying the method, the pulse signal can be inferred by obtaining the video frame sequence of the target face, non-contact measurement from video to physiological indicators is achieved, the use threshold and operation risk are reduced, and more accurate physiological indicator data can be quickly obtained.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of medical testing, and in particular to a non-contact method, device, and electronic device for detecting physiological indicators. Background Technology

[0002] In typical 120 emergency call or video emergency scenarios, dispatchers generally rely on the caller's subjective assessment of whether the patient has suffered cardiac arrest, lacking objective and quantitative evidence, leading to a certain error rate. Furthermore, they cannot immediately access blood tests, echocardiograms, or clinical judgment from a professional physician, impacting patient rescue efforts. Current technologies often employ photoplethysmography (PPG) to determine a patient's heartbeat. While PPG offers high accuracy and stability, it suffers from significant adaptability limitations in core 120 emergency scenarios and cannot be used without dedicated equipment, failing to meet the demands for near-instantaneous, contactless, and universally applicable emergency response.

[0003] Currently, in 120 emergency scenarios, dispatchers can only determine if there is a heartbeat by physically assessing the patient's chest rise and fall or breathing, which is too subjective. Furthermore, emergency scenarios rely on specialized hardware equipped with dedicated light-emitting and receiving modules and signal processing chips. However, the probability of emergency callers carrying such equipment is extremely low; without specialized equipment, detection is impossible, failing to meet the practical needs of emergency scenarios where such equipment is unavailable. Additionally, some devices require manual activation and selection of detection modes, and Bluetooth-connected devices require terminal pairing, all of which are time-consuming. Manual contact assessment requires remote guidance from the dispatcher to perform physical contact, which cannot meet the core requirement of "second-level response" in emergency scenarios. Moreover, device data is only displayed on a local screen, lacking a standardized interface for integration with the 120 dispatch center. Dispatchers cannot obtain objective, quantifiable patient heartbeat data in real time and can only make subjective judgments based on the information conveyed by the caller, resulting in a high error rate.

[0004] Professional equipment hardware requires a tight fit to the human skin during testing. However, emergency scenes are often outdoors in complex, unstable environments. In emergency situations, patients are often unconscious, experiencing limb convulsions, or being in an unstable position. Dispatchers cannot remotely guide callers to complete standardized procedures, and callers often struggle to quickly and accurately put on the equipment. The testing results are greatly affected by the patient's skin condition, limb movement, and the environment in which the equipment is worn or filmed, which can easily lead to signal interruption, testing failure, or data distortion, resulting in an inability to stably output heart rate data. Furthermore, the equipment's testing parameters are fixed and cannot be dynamically adjusted according to changes in the emergency scene or the equipment's condition. If the equipment moves or becomes loose, it will directly lead to a significant decrease in testing accuracy and a large deviation in heart rate calculation.

[0005] Furthermore, specialized devices of different brands and models lack interoperability, supporting only their own hardware's proprietary detection logic. They cannot reuse common devices such as smartphones, which is inconsistent with the reality of "random devices used by those calling for help" in emergency scenarios. The hardware coverage is far from meeting the universal needs of emergency care. Moreover, there is no network collaboration or data transmission optimization design, supporting only local data processing and display. It cannot achieve stable data transmission and remote interaction in the weak network environment of emergency scenarios, resulting in poor adaptability. Summary of the Invention

[0006] This disclosure provides a non-contact method, apparatus, electronic device, and storage medium for detecting physiological indicators, thereby at least solving the above-mentioned technical problems existing in the prior art.

[0007] According to a first aspect of this disclosure, a non-contact method for detecting physiological indicators is provided, the method comprising: receiving a video stream access request from a client; responding to the access request by establishing a real-time video transmission link with the client based on the WebRTC protocol to obtain a video frame sequence containing a target face; performing target detection on the video frame sequence to obtain a region of interest frame sequence; performing signal processing on the region of interest frame sequence based on remote photoplethysmography to obtain a pulse signal; and determining a real-time heart rate value based on the pulse signal.

[0008] In one possible implementation, receiving a video stream access request from a client includes: obtaining a key corresponding to an application programming interface based on the access request; verifying whether the key exists in a pre-authorized key list; if the verification is successful, responding to the access request and determining the corresponding user identifier; if the verification fails, rejecting the access request.

[0009] In one embodiment, after obtaining the region of interest frame sequence, the method further includes: determining a time series signal for each color channel based on the brightness value of each color channel of all pixels in the region of interest frame sequence; performing detrending processing on the time series signal; and performing enhancement processing on the detrending time series signal to obtain an initial signal.

[0010] In one possible implementation, after obtaining the pulse signal, determining the real-time heart rate value based on the pulse signal includes: filtering the pulse signal to obtain a filtered signal; performing a fast Fourier transform on the filtered signal to obtain the spectral energy distribution of the filtered signal; determining the dominant frequency of the pulse signal based on the spectral energy distribution; and determining the real-time heart rate value based on the dominant frequency of the pulse signal.

[0011] In one embodiment, after acquiring a video frame sequence containing a target face, the method further includes: creating an independent session buffer for each detection session using a combination of tenant identifier and user identifier as the key, to manage the buffer of the video frame sequence; determining the resolution of the current video frame sequence after acquiring the video frame sequence containing the target face; comparing the resolution of the current video frame sequence with the resolution of the historical video frame sequence in its corresponding session buffer; and clearing the historical video frame sequence in the session buffer corresponding to the current video frame sequence when the resolution of the current video frame sequence is inconsistent with the resolution of the historical video frame sequence.

[0012] In one embodiment, the method further includes: setting a lifespan for each data in the session buffer; determining the time interval between the current video frame sequence and the historical video frame sequence in the session buffer; if the time interval is greater than a preset time interval, or the storage duration of the historical video frame sequence in the session buffer is greater than the lifespan of the session buffer, clearing the historical video frame sequence in the session buffer and storing the current video frame sequence in the session buffer.

[0013] In one possible implementation, the step of processing the frame sequence of the region of interest based on remote photoplethysmography to obtain a pulse signal includes: using the CHROM algorithm, POS algorithm, or a PhysNet-based neural network model to process the frame sequence of the region of interest to obtain a pulse signal.

[0014] According to a second aspect of this disclosure, a non-contact physiological indicator detection device is provided, the device comprising: a receiving module for receiving a video stream access request from a client; a response module for responding to the access request and establishing a real-time video transmission link with the client based on the WebRTC protocol to obtain a video frame sequence containing a target face; a detection module for performing target detection on the video frame sequence to obtain a region of interest frame sequence; a first determination module for performing signal processing on the region of interest frame sequence based on remote photoplethysmography to obtain a pulse signal; the first determination module is further configured to determine a real-time heart rate value based on the pulse signal.

[0015] In one possible implementation, the receiving module is specifically configured to obtain the key corresponding to the application programming interface based on the access request; verify whether the key exists in the pre-authorized key list; if the verification is successful, respond to the access request and determine the corresponding user identifier; if the verification fails, reject the access request.

[0016] In one embodiment, the apparatus further includes: a preprocessing module, configured to, after obtaining the region of interest frame sequence, determine the time series signal of each color channel based on the brightness value of each color channel of all pixels in the region of interest frame sequence; perform detrending processing on the time series signal; and perform enhancement processing on the detrending time series signal to obtain an initial signal.

[0017] In one embodiment, the device further includes: a first determining module, specifically configured to: filter the pulse signal to obtain a filtered signal; perform a fast Fourier transform on the filtered signal to obtain the spectral energy distribution of the filtered signal; determine the dominant frequency of the pulse signal based on the spectral energy distribution; and determine the real-time heart rate value based on the dominant frequency of the pulse signal.

[0018] In one embodiment, the apparatus further includes: a management module, configured to, after acquiring a video frame sequence containing a target face, create an independent session buffer for each detection session using a combination of a tenant identifier and a user identifier as a key, to perform buffer management on the video frame sequence; after acquiring a video frame sequence containing a target face, determine the resolution of the current video frame sequence; compare the resolution of the current video frame sequence with the resolution of historical video frame sequences in its corresponding session buffer; and when the resolution of the current video frame sequence is inconsistent with the resolution of the historical video frame sequences, clear the historical video frame sequences in the session buffer corresponding to the current video frame sequence.

[0019] In one embodiment, the management module is further configured to set a lifecycle for each data in the session buffer; determine the time interval between the current video frame sequence and the historical video frame sequence in the session buffer; if the time interval is greater than a preset time interval, or the storage duration of the historical video frame sequence in the session buffer is greater than the lifecycle of the session buffer, clear the historical video frame sequence in the session buffer, and store the current video frame sequence in the session buffer.

[0020] In one possible implementation, the first determining module is specifically used to perform signal processing on the frame sequence of the region of interest using the CHROM algorithm, the POS algorithm, or a neural network model based on PhysNet to obtain a pulse signal.

[0021] According to a third aspect of this disclosure, an electronic device is provided, comprising: At least one processor; and a memory communicatively connected to said at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the methods described in this disclosure.

[0022] According to a fourth aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions for causing the computer to perform the methods described in this disclosure.

[0023] This disclosure discloses a non-contact method, apparatus, electronic device, and storage medium for detecting physiological indicators. First, it receives a video stream access request from a client. Responding to the request, it establishes a real-time video transmission link with the client based on the WebRTC protocol to acquire a video frame sequence containing a target face. Then, it performs target detection on the video frame sequence to obtain a region of interest (ROI) frame sequence. Finally, it performs signal processing on the ROI frame sequence using remote photoplethysmography (RPG) to obtain a pulse signal, which is then used to determine the real-time heart rate. This method requires no additional hardware; it uses a smartphone camera to capture a video frame sequence of the target face, and the pulse signal can be inferred using RPG. The person calling for help does not need to download or install a new application; they can simply point the camera at the patient. This achieves non-contact measurement of physiological indicators from video, eliminating the need for direct contact with the patient, lowering the barrier to entry and operational risks, and providing strong compatibility and more accurate physiological indicator data.

[0024] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0025] The above and other objects, features, and advantages of this disclosure will become readily apparent from the following detailed description of exemplary embodiments, taken in conjunction with the accompanying drawings. Several embodiments of this disclosure are illustrated in the drawings by way of example and not limitation, in which: In the accompanying drawings, the same or corresponding reference numerals indicate the same or corresponding parts.

[0026] Figure 1 This illustration shows the implementation flow of a non-contact physiological indicator detection method according to an embodiment of the present disclosure. Figure 1 ; Figure 2 This illustration shows the implementation flow of a non-contact physiological indicator detection method according to an embodiment of the present disclosure. Figure 2 ; Figure 3 This illustration shows the implementation flow of a non-contact physiological indicator detection method according to an embodiment of the present disclosure. Figure 3 ; Figure 4 This illustration shows the implementation flow of a non-contact physiological indicator detection method according to an embodiment of the present disclosure. Figure 4 ; Figure 5 This illustration shows the implementation flow of a non-contact physiological indicator detection method according to an embodiment of the present disclosure. Figure 5 ; Figure 6 A schematic diagram illustrating an implementation scenario of a non-contact physiological indicator detection method according to an embodiment of the present disclosure is shown. Figure 7 This paper shows a schematic diagram of the module composition of a non-contact physiological indicator detection device according to an embodiment of this application; Figure 8 A schematic diagram of the composition structure of an electronic device according to an embodiment of the present disclosure is shown. Detailed Implementation

[0027] To make the objectives, features, and advantages of this disclosure more apparent and understandable, the technical solutions in the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of this disclosure without creative effort are within the scope of protection of this disclosure.

[0028] Figure 1 This illustration shows a flowchart of a non-contact physiological indicator detection method according to an embodiment of the present disclosure. Figure 1 ,include: Step 101: Receive a video stream access request from the client.

[0029] Step 102: Respond to the access request and establish a real-time video transmission link with the client based on the WebRTC protocol to obtain a video frame sequence containing the target face.

[0030] The server exposes a unified inference entry point through web frameworks such as FastAPI, allowing clients, such as H5 pages, to call this entry point. The following is a specific implementation scenario: After receiving a request from a client, a 120 dispatcher can immediately send a heartbeat SMS containing a link to the server entry point. The client clicks this link, opening an H5 page that automatically accesses the phone's camera. The server then receives the video stream access request from the client and responds. Using the WebRTC (Web Real-Time Communications) protocol, the server establishes a real-time video transmission link with the client in receive-only mode and extracts a sequence of video frames containing the target face from the client frame by frame based on this link. Specifically, the server creates an RTCPeerConnection to pull the video frame sequence in receive-only mode and, upon receiving the video track, encapsulates the original video track into a custom ProcessedVideoTrack for processing. The WebRTC protocol enables low-latency video frame transmission, meeting real-time requirements.

[0031] Step 103: Perform target detection on the video frame sequence to obtain the region of interest frame sequence.

[0032] The beating of the human heart causes periodic changes in the blood volume of blood vessels throughout the body. Therefore, when visible light shines on the skin of the face, the light penetrates the skin surface and is absorbed or reflected by the blood, bones, muscles and other tissues in the subcutaneous blood vessels. When the heart contracts, the blood volume in the facial blood vessels increases, the absorption of light increases, and the intensity of the light reflected to the camera will decrease slightly. When the heart relaxes, the blood volume decreases, the absorption of light decreases, and the intensity of the reflected light will increase slightly.

[0033] Therefore, after acquiring the video frame sequence containing the target face, target detection is first performed on this sequence. This target detection is face detection, which involves identifying regions with large skin areas, rich blood vessel distribution, and little background interference, such as the forehead and cheeks, as regions of interest (ROIs) from the video frame sequence, and removing invalid pixels such as hair, eyes, and background. For emergency scenarios where the patient's position is not fixed and the face is partially occluded, an adaptive ROI extraction strategy can be used to ensure that effective detection areas can still be identified even with partial facial occlusion.

[0034] Step 104: Perform signal processing on the frame sequence of the region of interest based on remote photoplethysmography to obtain the pulse signal.

[0035] Step 105: Determine the real-time heart rate value based on the pulse signal.

[0036] The periodic, subtle changes in light intensity reflected from the camera are perfectly synchronized with the heartbeat cycle. Therefore, the region of interest frame sequence can be processed using remote photoplethysmography (rPPG) to obtain the pulse signal from the video frame sequence. rPPG is a non-contact physiological signal detection technology. Its core principle relies on the correlation between the reflective properties of light and the cardiovascular system. By capturing subtle fluctuations in pixel brightness / color in facial video captured by a camera, it extracts the subtle periodic changes in light reflection from the skin surface. This visual signal is converted into a physiological signal associated with the heartbeat, resulting in the pulse signal. Finally, the real-time heart rate value is determined based on the pulse signal.

[0037] In this application, the core of rPPG is to recover the pulse signal from the frame sequence of the region of interest, as shown in the following formula: Specifically, This is a pulse signal. This is the rPPG signal extraction function. For the region of interest frame sequence in the time dimension, These are interference factors, including common interferences such as sudden changes in lighting, human movement, camera shake, and changes in the shooting background. This represents the region of interest video data for a single frame at time t. For pixel coordinates, For color channels, The width and height of the video frame representing the region of interest. In this application, the rPPG sliding window is 805 frames.

[0038] This application first receives a video stream access request from a client and establishes a real-time video transmission link with the client based on the access request to obtain a video frame sequence containing the target face. Then, target detection is performed on the video frame sequence to obtain a region of interest (ROI) frame sequence. Finally, signal processing is performed on the ROI frame sequence using remote photoplethysmography (RPG) to obtain a pulse signal, which is then used to determine the real-time heart rate value. Applying this method, no additional hardware is required. A video frame sequence of the target face is captured using a smartphone camera, and the pulse signal can be inferred using RPG. This achieves non-contact measurement from video to physiological indicators, reducing the barrier to entry and operational risks, and providing more accurate physiological indicator data.

[0039] In one possible implementation, receiving a video access request from a client includes: Obtain the key corresponding to the application coding interface based on the access request; verify whether the key exists in the pre-authorized key list; if the verification is successful, respond to the access request and determine the corresponding user identifier; if the verification fails, reject the access request.

[0040] When a client calls the server's API, it includes an X-API-Key field in the request header, the value of which is a specific key assigned to the client. Upon receiving the client's access request, the server retrieves this key and loads the mapping between valid API keys and organization IDs from environment variables. It then authenticates the X-API-Key field to verify the legitimacy of the client's request. This authentication process identifies the service caller and defines the resource and logical boundaries for subsequent data processing, achieving data isolation between different organizations. If the authentication passes, the server responds to the client's access request and establishes a real-time video transmission link with the client based on the WebRTC protocol; if the authentication fails, the server rejects the client's access request.

[0041] In one possible implementation, such as Figure 2 As shown, after obtaining the frame sequence of the region of interest, the method further includes: Step 201: Determine the time series signal of each color channel based on the brightness value of each color channel of all pixels in the frame sequence of the region of interest; Step 202: Perform detrending processing on the time series signal; Step 203: Enhance the detrended time series signal to obtain the initial signal.

[0042] After obtaining the frame sequence of the region of interest, the luminance value of each color channel of all pixels in each frame is determined, including the R, G, and B color channels. The average luminance value of each color channel is calculated based on these values. Thus, the video data of each frame's region of interest is transformed from a single... The two-dimensional image is compressed into [ A scalar is used to obtain a three-dimensional raw color signal consisting of a time series. Averaging over a region rather than individual pixels can smooth out image sensor noise and subtle texture differences in skin to some extent, making the signal more stable.

[0043] Each frame of video data in the region of interest is compressed into a scalar, and the final region of interest frame sequence is converted into a time series signal with three color channels (R(t), G(t), B(t)). The time series signal is then detrended, such as by using a moving average filter or a high-pass filter, to remove slowly changing trend components in the signal. Detrending of the time series signal can effectively eliminate low-frequency interference that can mask weak pulse fluctuations caused by slow changes in ambient light, such as cloud movement, slow movement of the human body or camera, and physiological baseline drift.

[0044] Finally, the detrended time-series signal is enhanced. The core of this enhancement process is based on an algorithmic model that linearly or nonlinearly combines the detrended time-series signal to generate an output signal that is insensitive to motion interference and primarily contains pulse information. This enhancement process minimizes signal interference caused by head movements, facial expressions, etc., integrating and enhancing the weak information related to blood volume changes scattered across the R, G, and B channels to generate a one-dimensional, preliminarily purified physiological signal—the initial signal—laying a solid foundation for the final rPPG waveform recovery.

[0045] In one possible implementation, such as Figure 3 As shown, determining the real-time heart rate value based on the pulse signal includes: Step 301: Filter the pulse signal to obtain a filtered signal; Step 302: Perform a fast Fourier transform on the filtered signal to obtain the spectral energy distribution of the filtered signal; Step 303: Determine the dominant frequency of the pulse signal based on the spectral energy distribution; Step 304: Determine the real-time heart rate value based on the dominant frequency of the pulse signal.

[0046] After recovering the one-dimensional time-domain pulse signal from the frame sequence of the region of interest, the resulting pulse signal is relatively pure, but may contain residual noise outside the heart rate range. Therefore, the pulse signal is first filtered using a bandpass filter. The bandpass filter used in this application has a passband frequency of 0.7 Hz to 3.0 Hz to remove irrelevant noise. Further filtering is performed to remove interference from breathing (typically below 0.7 Hz), subtle body tremors, and high-frequency electronic noise (typically above 3.0 Hz), resulting in a filtered signal. The frequency range of 0.7 Hz to 3.0 Hz corresponds to a heart rate of 42 to 180 beats per minute, which covers the clinically common adult heart rate range. This step ensures that subsequent analysis focuses only on physiologically possible heart rates.

[0047] The filtered signal is then transformed from the time domain to the frequency domain using a Fast Fourier Transform (FFT). FFT reveals the energy of each frequency component in the signal, resulting in the spectral energy distribution of the filtered signal. The horizontal axis of this distribution represents frequency, and the vertical axis represents the energy or power of that frequency component. Within the frequency range of 0.7 Hz to 3.0 Hz, the peak point with the highest energy is identified. The frequency corresponding to this peak point is considered the most significant and stable periodic component of the pulse signal, i.e., the dominant frequency of the pulse signal, denoted as . Then, according to the formula... Determine the heart rate value, where HR is the heart rate value, in BPM (beats per minute). Pulse signal The dominant frequency, measured in Hz, represents the number of heartbeats per second. Multiplying this by 60 converts it to the number of heartbeats per minute, which is the clinically standard real-time heart rate value.

[0048] In one possible implementation, such as Figure 4 As shown, after obtaining the video frame sequence containing the target face, the method further includes: Step 401: Using the combination of tenant identifier and user identifier as the key, create an independent session buffer for each detection session to manage the buffered video frame sequence; Step 402: After obtaining the video frame sequence containing the target face, determine the resolution of the current video frame sequence; Step 403: Compare the resolution of the current video frame sequence with the resolution of the historical video frame sequence in its corresponding session buffer; Step 404: When the resolution of the current video frame sequence is inconsistent with the resolution of the historical video frame sequence, clear the historical video frame sequence in the session buffer corresponding to the current video frame sequence.

[0049] After receiving the video frame sequence from the client, the server establishes an independent session buffer for each detection session, using the combination key client_id:user_id as the session identifier, where client_id is the tenant identifier and user_id is the user identifier, to manage the buffering of the video frame sequence. For each target person's video frame sequence, buffering is performed using an independent session.

[0050] Upon receiving a video frame sequence, the resolution of the current video frame sequence and its corresponding session buffer are first determined. The resolution of the current video frame sequence is then compared with the resolution of the historical video frame sequences in its corresponding session buffer. If the resolution of the current video frame sequence matches the resolution of the corresponding historical video frame sequence, the current video frame sequence is analyzed to determine the corresponding pulse signal. If the resolution of the current video frame sequence does not match the resolution of the corresponding historical video frame sequence, the historical video frame sequences in the session buffer are cleared.

[0051] This is an important optimization for addressing the uncertainties in mobile device data acquisition. It can effectively prevent the mismatch between the size of historical frames and the current frame due to screen orientation changes, camera switching, or application layer parameter adjustments at the acquisition end. This avoids preprocessing errors and model inference anomalies, enhances service robustness, ensures the consistency of model input, and prevents subsequent analysis failures due to data format chaos.

[0052] Furthermore, this application selects Redis as the frame buffer and session state storage, storing the video frame sequences corresponding to different session representations in a shared in-memory database for buffering and management. This allows the server to deploy multiple stateless instances, access the same session context through shared Redis, achieve load balancing, ensure that multiple concurrent detection tasks do not interfere with each other, realize horizontal scaling, rolling updates and failover, and meet high availability requirements.

[0053] In one possible implementation, the method further includes: Set a lifecycle for the data in each session buffer; Determine the time interval between the current video frame sequence and the historical video frame sequence in the session buffer; If the time interval is greater than the preset time interval, or the storage duration of the historical video frame sequence in the session buffer is greater than the lifetime of the session buffer, the historical video frame sequence in the session buffer is cleared, and the current video frame sequence is stored in the session buffer.

[0054] After establishing a session buffer for each detection session, a time-to-live (TTL) period is set for the data in each session buffer. If a session buffer does not receive new video frame data within the TTL period, that is, the storage duration of the historical video frame sequence in the session buffer is longer than the TTL period of the session buffer, then the historical video frame sequence in the session buffer will be cleared before the next request for the corresponding video frame data arrives, to prevent historical data from polluting the new session.

[0055] Alternatively, after receiving the current video frame sequence, the time interval between the current video frame sequence and the historical video frame sequence in the session buffer is determined. This time interval is compared with a preset time interval. If the time interval is greater than the preset time interval, it indicates that the time interval between the current video frame sequence and the historical video frame sequence is relatively long. To avoid the influence of the historical video frame sequence on the current video frame sequence, the historical video frame sequence in the session buffer is cleared, and the current video frame sequence is stored in the session buffer. If the time interval is less than the preset time interval, it indicates that the time interval between the current video frame sequence and the historical video frame sequence is relatively short. Both the historical video frame sequence and the current video frame sequence are used to determine the heart rate value.

[0056] The above two methods of clearing data in the session buffer can ensure the automatic reclamation of system memory resources, prevent memory leaks, and adapt to the characteristics of emergency rescue, high concurrency, and short sessions.

[0057] In one possible implementation, signal processing is performed on the frame sequence of the region of interest based on remote photoplethysmography to obtain a pulse signal, including: using the CHROM algorithm, POS algorithm, or a neural network model based on PhysNet to perform signal processing on the frame sequence of the region of interest to obtain a pulse signal.

[0058] In practical applications, this application can reconstruct pulse signals using either classic rPPG algorithms such as CHROM and POS, or deep learning models such as PhysNet and PhysFormer. Classic rPPG algorithms have low computational cost and fast inference speed; deep learning models offer high signal recovery accuracy and better suppression of complex noise. In real-world scenarios, algorithms can be dynamically switched, automatically selecting the algorithm type based on the smartphone's hardware performance.

[0059] Figure 5 This illustration shows the implementation flow of a non-contact physiological indicator detection method according to an embodiment of the present disclosure. Figure 5 .

[0060] like Figure 5 As shown, the implementation flowchart of a non-contact physiological indicator detection method of this application includes: the person calling for help initiates a video access request to the dispatcher; the dispatcher sends a text message containing a dedicated link to the person calling for help's mobile phone; the person calling for help does not need to download or install any application, and can activate the service by clicking the link; following the instructions, the person calling for help points their mobile phone camera at the patient's face; the client page begins to collect video stream data containing the face in real time; the client reports the collected video stream data by calling the unified FastAPI interface exposed by the server, formally initiating the service request.

[0061] Upon receiving the request, the server verifies the X-API-Key carried in the request to confirm the legitimacy of the request source and implements multi-tenant data isolation. Then, the server proactively establishes a low-latency, peer-to-peer video transmission link with the client based on the WebRTC protocol, actively pulling the video stream in "receive-only" mode to ensure real-time performance.

[0062] The server intelligently buffers the retrieved video frames, using tenant ID:user ID to uniquely identify sessions and achieve data isolation. Furthermore, if a change in video frame size within the same session is detected, such as during screen orientation switching, the session's historical buffer is cleared to prevent data processing errors. When the buffered video frames accumulate to a preset length, such as 160 frames, the rPPG algorithm pipeline is automatically triggered for asynchronous computation, balancing real-time requirements with the short-term stability needed for signal analysis.

[0063] Specifically, the process involves locating the face within a video frame sequence, identifying skin areas rich in subcutaneous blood vessels and exhibiting significant blood volume changes, such as the forehead and cheeks, as Regions of Interest (ROIs). Simultaneously, invalid pixels such as background and hair are removed. This application employs an adaptive ROI extraction strategy, dynamically adjusting the effective detection area to ensure signal availability in emergency scenarios where the patient's face may be partially obscured or their position is unstable. Spatially averaging the R, G, and B channel values ​​of all pixels within the ROI area yields a time-series signal with three color channels to reduce noise. Low-frequency baseline drift caused by slow body movement or gradual changes in ambient light is removed from the signal, pulse-related signal components are separated, and artifacts caused by rigid head movements are suppressed.

[0064] A dual-mode algorithm strategy is adopted to dynamically adapt to caller phones with different performance levels: Traditional algorithm path (CHROM / POS): Based on an optical-physical model, signal separation is performed, requiring less computation and offering high speed. It is designed specifically for mid-to-low-end phones, ensuring the universality of basic functions. Deep learning model path (PhysNet / PhysFormer): Utilizing neural networks to extract deep features end-to-end, it boasts strong anti-interference capabilities and high accuracy, providing optimal performance for high-end phones. The system automatically selects the path based on device performance evaluation results, ultimately outputting a preliminary time-domain pulse wave signal.

[0065] The time-domain pulse signal is filtered to retain only the frequency components corresponding to the clinical heart rate range (42-180 BPM), eliminating irrelevant frequency interference such as respiration and equipment noise. A Fast Fourier Transform (FFT) is then performed on the filtered signal to convert it from the time domain to the frequency domain, obtaining the energy spectrum. The strongest energy peak is then identified within the 0.7-3 Hz range; its corresponding frequency is the dominant frequency. According to the formula, heart rate (BPM) = 60 × (Hz) Calculates the real-time heart rate value.

[0066] The calculated heart rate value is simultaneously returned to both the on-site emergency caller and the dispatcher, achieving information synchronization. This provides dispatchers with objective and quantifiable vital sign data, greatly improving the accuracy and scientific rigor of patient assessment, supporting more efficient remote guidance and resource allocation, and enabling digitalized and precise emergency decision-making.

[0067] Figure 6 This illustration shows a schematic diagram of an implementation scenario for a non-contact physiological indicator detection method according to an embodiment of this application. Figure 6 As shown, by collecting video frame sequences of the forehead region and analyzing the video frame sequences of the forehead region, the real-time heart rate value is finally obtained.

[0068] Figure 7 A schematic diagram of the module composition of a non-contact physiological indicator detection device according to an embodiment of the present disclosure is shown.

[0069] like Figure 7 As shown, according to a second aspect of this application, a non-contact physiological indicator detection device is provided. The device includes: a receiving module 701, configured to receive a video stream access request from a client; a response module 702, configured to respond to the access request and establish a real-time video transmission link with the client based on the WebRTC protocol to obtain a video frame sequence containing a target face; a detection module 703, configured to perform target detection on the video frame sequence to obtain a region of interest frame sequence; a first determination module 704, configured to perform signal processing on the region of interest frame sequence based on remote photoplethysmography to obtain a pulse signal; the first determination module 704 is further configured to determine a real-time heart rate value based on the pulse signal.

[0070] In one possible implementation, the receiving module 701 is specifically used to obtain the key corresponding to the application programming interface based on the access request; verify whether the key exists in the pre-authorized key list; if the verification is successful, respond to the access request and determine the corresponding user identifier; if the verification fails, reject the access request.

[0071] In one embodiment, the apparatus further includes: a preprocessing module 705, configured to, after obtaining the region of interest frame sequence, determine the time series signal of each color channel based on the brightness value of each color channel of all pixels in the region of interest frame sequence; perform detrending processing on the time series signal; and perform enhancement processing on the detrending time series signal to obtain an initial signal.

[0072] In one embodiment, the device further includes: a first determining module 704, specifically configured to: filter the pulse signal to obtain a filtered signal; perform a fast Fourier transform on the filtered signal to obtain the spectral energy distribution of the filtered signal; determine the dominant frequency of the pulse signal based on the spectral energy distribution; and determine the real-time heart rate value based on the dominant frequency of the pulse signal.

[0073] In one embodiment, the apparatus further includes: a management module 706, configured to, after acquiring a video frame sequence containing a target face, create an independent session buffer for each detection session using a combination of tenant identifier and user identifier as the key, to manage the buffered video frame sequence; after acquiring a video frame sequence containing a target face, determine the resolution of the current video frame sequence; compare the resolution of the current video frame sequence with the resolution of the historical video frame sequence in its corresponding session buffer; and when the resolution of the current video frame sequence is inconsistent with the resolution of the historical video frame sequence, clear the historical video frame sequence in the session buffer corresponding to the current video frame sequence.

[0074] In one embodiment, the management module 706 is further configured to set a lifecycle for data in each session buffer; determine the time interval between the current video frame sequence and the historical video frame sequence in the session buffer; if the time interval is greater than a preset time interval, or the storage duration of the historical video frame sequence in the session buffer is greater than the lifecycle of the session buffer, clear the historical video frame sequence in the session buffer and store the current video frame sequence in the session buffer. In one embodiment, the first determining module 704 is specifically configured to perform signal processing on the region of interest frame sequence using the CHROM algorithm, POS algorithm, or a PhysNet-based neural network model to obtain a pulse signal.

[0075] According to embodiments of this disclosure, this disclosure also provides an electronic device and a readable storage medium.

[0076] Figure 8 A schematic block diagram of an example electronic device that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0077] like Figure 8 As shown, device 800 includes a computing unit 801, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 802 or a computer program loaded from storage unit 808 into random access memory (RAM) 803. RAM 803 may also store various programs and data required for the operation of device 800. The computing unit 801, ROM 802, and RAM 803 are interconnected via bus 804. Input / output (I / O) interface 805 is also connected to bus 804.

[0078] Multiple components in device 800 are connected to I / O interface 805, including: input unit 606, such as keyboard, mouse, etc.; output unit 807, such as various types of monitors, speakers, etc.; storage unit 808, such as disk, optical disk, etc.; and communication unit 809, such as network card, modem, wireless transceiver, etc. Communication unit 809 allows device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0079] The computing unit 801 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as a method for detecting a non-contact physiological indicator. For example, in some embodiments, a method for detecting a non-contact physiological indicator may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of a method for detecting a non-contact physiological indicator described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured by any other suitable means (e.g., by means of firmware) to perform a non-contact physiological indicator detection method.

[0080] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0081] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0082] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0083] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0084] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0085] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0086] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this disclosure can be achieved, and this is not limited herein.

[0087] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this disclosure, "a plurality of" means two or more, unless otherwise explicitly specified.

[0088] The above description is merely a specific embodiment of this disclosure, but the scope of protection of this disclosure is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this disclosure should be included within the scope of protection of this disclosure. Therefore, the scope of protection of this disclosure should be determined by the scope of the claims.

Claims

1. A non-contact method for detecting physiological indicators, characterized in that, The method includes: Receive video stream access requests from clients; In response to the access request, a real-time video transmission link is established with the client based on the WebRTC protocol to obtain a video frame sequence containing the target face; target detection is performed on the video frame sequence to obtain a region of interest frame sequence; The pulse signal is obtained by performing signal processing on the frame sequence of the region of interest based on remote photoplethysmography. The real-time heart rate value is determined based on the pulse signal; The step of determining the real-time heart rate value based on the pulse signal includes: determining the heart rate value based on the following formula: HR is the heart rate value. The dominant frequency of the pulse signal; After acquiring the video frame sequence containing the target face, the method further includes: creating an independent session buffer for each detection session using a combination of tenant identifier and user identifier as the key, to manage the buffer of the video frame sequence; determining the resolution of the current video frame sequence after acquiring the video frame sequence containing the target face; comparing the resolution of the current video frame sequence with the resolution of the historical video frame sequence in its corresponding session buffer; and clearing the historical video frame sequence in the session buffer corresponding to the current video frame sequence when the resolution of the current video frame sequence is inconsistent with the resolution of the historical video frame sequence. The method further includes: setting a lifespan for each data in the session buffer; determining the time interval between the current video frame sequence and the historical video frame sequence in the session buffer; if the time interval is greater than a preset time interval, or the storage duration of the historical video frame sequence in the session buffer is greater than the lifespan of the session buffer, clearing the historical video frame sequence in the session buffer and storing the current video frame sequence in the session buffer.

2. The method according to claim 1, characterized in that, The receiving of video stream access requests from clients includes: Obtain the key corresponding to the application programming interface based on the access request; Verify that the key exists in the pre-authorized key list; If the verification passes, respond to the access request and determine the corresponding user identifier; if the verification fails, reject the access request.

3. The method according to claim 1, characterized in that, After obtaining the frame sequence of the region of interest, the method further includes: Based on the brightness value of each color channel of all pixels in the frame sequence of the region of interest, determine the time series signal of each color channel; The time series signal is detrended. The detrended time series signal is enhanced to obtain the initial signal.

4. The method according to claim 1, characterized in that, The determination of the real-time heart rate value based on the pulse signal includes: The pulse signal is filtered to obtain a filtered signal; Perform a Fast Fourier Transform on the filtered signal to obtain the spectral energy distribution of the filtered signal; The dominant frequency of the pulse signal is determined based on the spectral energy distribution. The real-time heart rate value is determined based on the dominant frequency of the pulse signal.

5. The method according to claim 1, characterized in that, The signal processing of the frame sequence of the region of interest based on the long-range photoplethysmography method to obtain the pulse signal includes: The pulse signal is obtained by processing the frame sequence of the region of interest using the CHROM algorithm, POS algorithm, or a PhysNet-based neural network model.

6. A non-contact physiological indicator detection device, characterized in that, The device includes: The receiving module is used to receive video stream access requests from clients; The response module is used to respond to the access request and establish a real-time video transmission link with the client based on the WebRTC protocol in order to obtain a video frame sequence containing the target face; The detection module is used to perform target detection on the video frame sequence to obtain the region of interest frame sequence; The first determining module is used to perform signal processing on the frame sequence of the region of interest based on remote photoplethysmography to obtain a pulse signal. The first determining module is further configured to determine a real-time heart rate value based on the pulse signal; Specifically, the first determining module is used to determine the heart rate value based on the following formula: HR is the heart rate value. The dominant frequency of the pulse signal; The management module is used to manage the video frame sequence by creating an independent session buffer for each detection session after acquiring a video frame sequence containing the target face, using a combination of tenant identifier and user identifier as the key; after acquiring a video frame sequence containing the target face, it determines the resolution of the current video frame sequence; compares the resolution of the current video frame sequence with the resolution of the historical video frame sequence in its corresponding session buffer; when the resolution of the current video frame sequence is inconsistent with the resolution of the historical video frame sequence, it clears the historical video frame sequence in the session buffer corresponding to the current video frame sequence. The management module is also used to set a lifecycle for each data in the session buffer; determine the time interval between the current video frame sequence and the historical video frame sequence in the session buffer; if the time interval is greater than a preset time interval, or the storage duration of the historical video frame sequence in the session buffer is greater than the lifecycle of the session buffer, clear the historical video frame sequence in the session buffer and store the current video frame sequence in the session buffer.

7. An electronic device, characterized in that, include: At least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-5.

8. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-5.

Citation Information

Patent Citations

  • Cross-platform data transmission method based on 120 network warning

    CN109361756A

  • Virtual Patient Care (VPC) Platform Measuring Vital Signs Extracted from Video During Video Conference with Clinician

    US20220047223A1