Pulse correction device, pulse estimation system, pulse correction method, and pulse correction program
Patent Information
- Application Number
- PCT/JP2024/008399
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-06
- Publication Date
- 2025-10-02
AI Technical Summary
Conventional pulse estimation systems face a trade-off between outlier removal and tracking performance, particularly when dealing with noise from external light, leading to delayed output estimates.
A pulse correction device that uses a particle filter method to generate particles with weighted averages based on a Gaussian distribution and reference values, adjusting weights to minimize outlier influence while maintaining tracking accuracy.
The device achieves simultaneous outlier removal and accurate pulse tracking, ensuring corrected pulse values align closely with actual changes without lag.
Smart Images

Figure JP2024008399_02102025_PF_FP_ABST
Abstract
Description
Pulse correction device, pulse estimation system, pulse correction method, and pulse correction program
[0001] The present disclosure relates to pulse correction techniques.
[0002] Patent Document 1 discloses technology related to a heart rate / respiratory rate detection device (claim 1) that detects a heart rate or respiratory rate from image data, and includes an optical wavelength component acquisition unit that acquires time series data of a plurality of optical wavelength components from image data in which a person to be detected is captured; an average value calculation unit that calculates an average value of each optical wavelength component based on the time series data of the optical wavelength components; an independent component analysis unit that applies independent component analysis to the calculated average values to obtain a plurality of independent signals; an independent signal sorting unit that rearranges and partitions the obtained plurality of independent signals so that the characteristics of each independent signal are consistently maintained; and a heart rate / respiratory rate detection unit that identifies, from a plurality of peak frequencies included in the spectral distribution of the partitioned independent signals, independent signals that include peak frequencies whose frequency value fluctuations fall within a certain range after the lapse of a certain time, and identifies these as independent signals that include peak frequencies attributable to a heart rate signal or a respiratory signal.
[0003] Furthermore, Patent Document 1 discloses a technology relating to a heart rate / respiration rate detection device (claim 5) in which the heart rate / respiration rate detection unit tracks fluctuations of multiple peak frequencies included in the spectral distribution of the segmented independent signals using a particle filter, and the particle filter uses the overlap rate of waveforms in the spectral distribution as a likelihood.
[0004] Japanese Patent Application Laid-Open No. 2012-239661
[0005] When using the device disclosed in Patent Document 1, it is possible to remove outliers by adjusting the parameter values of the particle filter. However, increasing the strength of the outlier removal can cause a problem in tracking. That is, when the strength of the outlier removal is increased, the device may output an estimated result in which the estimated pulse value lags behind the actual change in the pulse wave.
[0006] The present disclosure has been made to solve such problems, and aims to provide a pulse correction technology that can achieve both outlier removal and tracking performance.
[0007] One aspect of a pulse correction device according to an embodiment of the present disclosure includes a filter unit that acquires a current pulse estimate from a pulse acquisition device, generates N particles represented by pairs of realized values of variables and weights of the realized values using a particle filter method, where N is a positive integer, updates the weights of the N particles by multiplying a weighting function that weights each particle using a reference value calculated based on a time-series pulse estimate including the current pulse estimate and a Gaussian distribution function that has the current pulse estimate as its mean and is defined by the variance of the time-series pulse estimate, and outputs the weighted average of the N particles whose weights have been updated as a correction value for the current pulse estimate.
[0008] According to the pulse correction device according to the embodiment of the present disclosure, it is possible to achieve both removal of outliers and tracking performance.
[0009] FIG. 1 is a diagram illustrating an example configuration of a pulse correction device and a pulse estimation system including the pulse correction device. FIG. 2 is a diagram illustrating a case where system noise parameters are set so as to strongly remove outliers. FIG. 3 is a diagram illustrating a case where system noise parameters are set so as to weakly remove outliers, i.e., a case where tracking ability is increased. FIG. 4 is a diagram illustrating an example configuration of the hardware of the pulse correction device. FIG. 5 is a diagram illustrating an example configuration of the hardware of the pulse correction device. A flowchart illustrating the operation of a filter unit of the pulse correction device. A flowchart illustrating the operation of the filter unit of the pulse correction device. A diagram illustrating a step function. A flowchart illustrating the operation of a reference value calculation unit of the pulse correction device. A diagram illustrating the pulse correction result by an embodiment of the pulse correction device.
[0010] Various embodiments of the present disclosure will be described in detail below with reference to the drawings. In the drawings, identical or similar parts are designated by identical or similar reference numerals, and redundant explanations of such parts will be omitted. In addition, in this disclosure, the term "or" is used to mean an inclusive logical OR unless otherwise specified.
[0011] Embodiment 1. <Configuration> A pulse correction device and a pulse estimation system according to embodiment 1 of the present disclosure will be described with reference to Fig. 1. As shown in Fig. 1, a pulse estimation system 10 includes, as an example, a camera 40, a pulse acquisition device 20, and a pulse correction device 30.
[0012] The camera 40 captures time-series images including a human skin region. The images captured by the camera 40 may be color images or IR (Infrared) images. When the camera 40 captures IR images, the pulse rate estimation system 10 may include an IR light source (not shown).
[0013] The pulse acquisition device 20 is a known device that acquires a person's pulse from time-series images of the person captured by a camera 40. As an example, the pulse acquisition device 20 extracts brightness data indicating changes in the brightness of the person's skin from the time-series images of the person captured by the camera 40. The pulse acquisition device 20 calculates a pulse value and a reliability of the pulse value at regular intervals from the changes in the extracted brightness data. Examples of images include images of the person's face. Publicly known documents that teach the pulse acquisition device 20 include, for example, International Publication No. 2019 / 186955, Japanese Patent Application Laid-Open No. 2018-33771, and Japanese Patent Application Laid-Open No. 2023-41158. The pulse acquisition device 20 outputs the calculated pulse value and the reliability of the pulse value. Note that the pulse value acquired by the pulse acquisition device 20 is an estimated value. Hereinafter, the pulse value acquired by the pulse acquisition device 20 may be referred to as a pulse estimate value.
[0014] It is difficult to calculate the pulse value from an image captured in an environment with a lot of external light, and the calculated pulse value contains many outliers due to calculation failures. On the other hand, it is possible to calculate the pulse value with high accuracy from an image captured in an environment with little external light influence, and the calculated pulse value has a high reliability. The pulse value output from the pulse acquisition device 20 contains outliers, and each pulse value is associated with a reliability.
[0015] The pulse correction device 30 is a device that acquires the pulse estimate value and reliability output from the pulse acquisition device 20, corrects the pulse estimate value at the current time step using the pulse estimate value and reliability, and outputs the corrected pulse value as a corrected pulse value. The pulse correction device 30 corrects the pulse estimate value at the current time step based on the time series of the pulse estimate values up to the current time step.
[0016] 1, the pulse correction device 30 includes a reference value calculation unit 31 and a filter unit 32. The reference value calculation unit 31 includes a pulse storage buffer 311. The reference value calculation unit 31 and the filter unit 32 will be described in more detail below.
[0017] (Reference Value Calculation Unit) The reference value calculation unit 31 acquires the pulse estimates and their reliability levels output from the pulse acquisition device 20. The reference value calculation unit 31 stores, in the pulse storage buffer 311, pulse estimates whose reliability levels are equal to or higher than a predetermined threshold value among the acquired pulse estimates, and calculates the average value of the pulse estimates stored in the pulse storage buffer 311 up to the current time step t. The reference value calculation unit 31 calculates the calculated average value as a reference value m t The signal is supplied to the filter unit 32 as the signal.
[0018] (Filter Unit) The filter unit 32 acquires a current pulse estimate from the pulse acquisition device 20, generates N particles represented by pairs of realized values of variables and weights of the realized values using a particle filter method, where N is a positive integer, and updates the weights of the N particles by multiplying a weighting function that weights each particle using a reference value calculated based on a time-series pulse estimate including the current pulse estimate by a Gaussian distribution function whose mean is the current pulse estimate and is defined by the variance of the time-series pulse estimate, and outputs the weighted average value of the N particles whose weights have been updated as a correction value for the current pulse estimate.
[0019] The filter unit 32 uses a particle filter-based method to calculate the pulse estimate y t is calculated by the reference value calculation unit 31. tThe particle filter method is a technique for approximating a desired posterior distribution using a set of particles. A particle is represented by a pair of an actual value of an unobservable variable and a weight of the actual value. Here, problems with the particle filter method according to the prior art will be described with reference to FIGS. 2A and 2B.
[0020] 2A and 2B are reference diagrams for explaining the problems of the particle filter method according to the prior art. In FIGS. 2A and 2B, the solid line represents a sine wave sampled at 20 Hz, the raw data represents time series data obtained by adding Gaussian spike noise to the sine wave, and the dashed line represents a filter waveform obtained by applying a particle filter to the time series data. The particle filter method allows for the adjustment of the strength of the removal of observed outliers by adjusting parameters. FIG. 2A shows a case where the system noise parameters are set to strongly remove outliers. On the other hand, FIG. 2B shows a case where the system noise parameters are set to weakly remove outliers, i.e., where the tracking ability is enhanced. As can be seen from the comparison between FIGS. 2A and 2B, the filter waveform in FIG. 2A lags behind the sine wave more than the filter waveform in FIG. 2A, and the filter waveform in FIG. 2B has peaks or valleys that appear to be pulled by the outliers more than the filter waveform in FIG. 2A. Thus, there is a trade-off between outlier removal and tracking ability.
[0021] Because the time-series pulse values acquired by a pulse acquisition device contain both outliers due to estimation failures and pulse changes due to human physiological phenomena, a pulse value correction method that can simultaneously remove outliers and track pulse changes without delay is required. However, correction using particle filters, which are also used in conventional techniques, has the problem of being unable to achieve both outlier removal and tracking, and can only address one of these two. In particular, pulse estimation from facial images is prone to failing due to noise, such as external light, which is greater than the brightness changes caused by human pulses, resulting in outliers. As mentioned above, particle filters can effectively remove outliers by adjusting their parameters, but in such cases, tracking issues arise, resulting in output estimates that appear to lag behind actual pulse wave changes.
[0022] The pulse correction technology according to the present disclosure makes it possible to achieve both "outlier removal" and "tracking capability", which have not been achieved by conventional technologies. In order to achieve both of these, the filter unit 32 filters the reference value m calculated by the reference value calculation unit 31. t The pulse estimate y at the current time step t acquired from the pulse acquisition device 20 is calculated using a weighting function including the following parameters: t The operation of the filter unit 32 will be described in more detail later with reference to a flowchart.
[0023] Next, an example of the hardware configuration of the pulse correction device 30 will be described with reference to Figures 3A and 3B. Each function of the pulse correction device 30 is realized by a processing circuit. The processing circuitry may be a dedicated processing circuit 100a as shown in Figure 3A, or a processor 100b that executes a program stored in a memory 100c as shown in Figure 3B.
[0024] When the processing circuitry is a dedicated processing circuit 100a, the dedicated processing circuit 100a may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination thereof. The functions of the pulse correction device 30 may be realized by separate processing circuits, or the functions of the pulse correction device 30 may be realized together in a single processing circuit.
[0025] When the processing circuitry is a processor 100b, the functions of the pulse correction device 30 are realized by software, firmware, or a combination of software and firmware. The software and firmware are written as programs and stored in the memory 100c. The processor 100b as a computer realizes the functions of the pulse correction device 30 by reading and executing the programs stored in the memory 100c. Examples of the memory 100c include non-volatile or volatile semiconductor memory such as random access memory (RAM), read-only memory (ROM), flash memory, erasable programmable read-only memory (EPROM), and electrically erasable programmable read-only memory (EEPROM), as well as magnetic disks, flexible disks, optical disks, compact disks, minidisks, and DVDs.
[0026] It is also possible to implement some of the functions of the pulse correction device 30 using dedicated hardware, and other functions using software or firmware. In this way, the processing circuit can implement the functions of the pulse correction device 30 using hardware, software, firmware, or a combination of these.
[0027] The pulse acquisition device 20 can also be realized by a hardware configuration similar to that of the pulse correction device 30 .
[0028] <Operation> <Operation Example 1> Hereinafter, with reference to Fig. 4, an example of the operation of the filter unit 32 of the pulse correction device 30 will be described as Operation Example 1. In Operation Example 1, the filter unit 32 uses a Gaussian distribution function as a weighting function.
[0029] (Step ST10) In step ST10, the filter unit 32 receives the pulse estimate value y t The estimated pulse rate y is obtained. t is a filtering target by the filter unit 32.
[0030] (Step ST11) In step ST11, the filter unit 32 performs initialization for filtering by the particle filter method. Specifically, the filter unit 32 performs initialization for filtering by the particle filter method. Specifically, the filter unit 32 performs initialization for filtering by the particle filter method. t n and assigning a random initial pulse value x to the generated N particles. 0 n Hereafter, the variable x t n This is called the particle pulse value x t n Or the pulse rate value x indicated by the particle t n The value of N is predetermined by the designer of the device. N is a positive integer, and the value of N is, for example, 100, 500, or 1000, but may be any other integer value. The upper right subscript n of the variable x is a number for identifying the N particles, and takes values from 1 to N. The lower right subscript represents the time step. The time step is generally represented by t, and when t=0, it is simply abbreviated as 0.
[0031] (Step ST12) In step ST12, the filter unit 32 generates N system noises that follow a Gaussian distribution with a mean of 0 and a variance of σ, and adds the generated N system noises to the N particles. One system noise is added to the pulse value of one particle.
[0032] (Step ST13) In step ST13, the filter unit 32 calculates the reference value m output from the reference value calculation unit 31. t After obtaining the weighting function distfrommean(m t ,x t n ) to assign a weight to each of the N particles. In the first operational example, the filter unit 32 uses the Gaussian distribution function shown in equation (1). The Gaussian distribution function of equation (1) is a function of dividing the mean by a reference value m t , and the variance of the time-series pulse rate estimate value is σ. The filter unit 32 uses the Gaussian distribution function of formula (1) to filter the N particles with the pulse rate value x tn is the reference value m t The Gaussian distribution or Gaussian distribution function according to equation (1) will be referred to as "Gaussian distribution 1" or "Gaussian distribution function 1" for convenience.
[0033] (Step ST14) In step ST14, the filter unit 32 calculates the average of the observed value y t , and the variance ρ of the time series pulse estimates. t is an estimate of the observed pulse rate. t For convenience, the Gaussian distribution or Gaussian distribution function included in the formula (2-1) using the formula (2-1) will be referred to as "Gaussian distribution 2" or "Gaussian distribution function 2." From the formula (2-1) and the formula (1), the formula (2-1) can be rewritten as the formula (2-2). Therefore, the processing by the filter unit 32 in step ST14 is performed by the filter unit 32 calculating the weights of N particles and the average as the observed value y t It can also be said that this is an updating process using a Gaussian distribution with variance ρ.
[0034] As shown in equation (2-2), the reference value m t Gaussian distribution 1 using t The Gaussian distribution 2 is a distribution used in a general particle filter method, but in this embodiment, the Gaussian distribution 2 is multiplied by the Gaussian distribution 1, thereby obtaining the observed value y t The Gaussian distribution 2 using the reference value m calculated based on the pulse rate estimate up to the current time step is t This reduces the weight of outliers and leads to the disappearance of such particles.
[0035] (Step ST15) In step ST15, the filter unit 32 normalizes the weights according to the formula (3-1) and calculates the weighted average pulse rate value x of the N particles according to the formula (3-2). tis the observed pulse value y t The correction value is output.
[0036] (Step ST16) In step ST16, the filter unit 32 performs resampling. That is, the filter unit 32 generates new N particles according to the weights of the N particles in accordance with Equation (4), and generates a new pulse value x t+1 n Give.
[0037] By performing the above-described operations, the filter unit 32 can determine the range of possible pulse values adapted to each individual person, and can perform processing using a conventional particle filter within the determined range.
[0038] <Operation Example 2> Hereinafter, an example of the operation of the filter unit 32 of the pulse correction device 30 will be described as Operation Example 2 with reference to Fig. 5. In Operation Example 2, the filter unit 32 uses a reference value m t The pulse rate value x indicated by the particle is symmetrical about the axis passing through t n is the reference value m t A step function that decays in a stepwise manner as the distance from the center point increases is used. Operation example 2 differs from operation example 1 only in the function used as the weighting function. Therefore, only the overlapping parts of operation example 2 and operation example 1 will be briefly explained.
[0039] (Step ST20) In step ST20, the filter unit 32 receives the pulse estimate value y t The estimated pulse rate y is obtained. t is a filtering target of the filter unit 32, and the filter unit 32 filters the estimated pulse value y t If is an outlier, the pulse rate estimate y t It operates to remove
[0040] (Step ST21) In step ST21, the filter unit 32 generates N particles and assigns random positions to the N particles. That is, similar to step ST11, the filter unit 32 generates N particles and assigns random initial pulse values x 0 n Give.
[0041] (Step ST22) In step ST22, the filter unit 32 moves the positions of all of the N particles x with random noise. That is, similar to the case of step ST22, the filter unit 32 generates N system noises that follow a Gaussian distribution with a mean of 0 and a variance of σ, and adds the generated N system noises to the N particles.
[0042] (Step ST23) In step ST23, the filter unit 32 calculates the reference value m output from the reference value calculation unit 31. t After obtaining the reference value m t Weighting is given using a step function with the axis passing through as the axis of symmetry.
[0043] In formula (5), α 0 , α 1 , and α 2 are hyperparameters, and the value of the hyperparameter α is predetermined by the designer of the device. The range of values that these hyperparameters can take is 0<α 0 <1, α 1 > 0 and α 2 >0. max(·) is a function that returns the maximum argument, and round(·) is a function that returns an integer value by rounding down the decimal point of the argument. The step function expressed on the right side of equation (5) can be illustrated as shown in FIG. 6. In the graph of FIG. 6, the horizontal axis represents the pulse value x indicated by the particle, and the vertical axis represents the weight of the particle of pulse value x. As shown in FIG. 6, the step function of equation (5) is t The axis is the pulse rate value x indicated by the particle, and the value is the reference value m t From α 1 When the distance is α 0 It is an axisymmetric function that decays in a step-like manner as integer powers of .
[0044] (Step ST24) In step ST24, the filter unit 32 updates the weights using Gaussian distribution 2 in accordance with equation (2-3) instead of equation (2-2) in the first operation example.
[0045]
[0046] (Step ST25) In step ST25, the filter unit 32 normalizes the weights according to the formula (3-1) and calculates the weighted average pulse value x of the N particles according to the formula (3-2). t is output as the correction value.
[0047] (Step ST26) In step ST26, the filter unit 32 generates new N particles according to the weights of the N particles in accordance with equation (4), and calculates a new pulse value x t+1 n Give.
[0048] By performing the above-described operations, the filter unit 32 can determine the range of possible pulse values adapted to each individual person, and can perform processing using a conventional particle filter within the determined range.
[0049] By using the step function described above, it is possible to prevent degeneration during resampling. That is, when resampling according to Equation (4), in Operation Example 1 using Gaussian distribution 1, the weight of the reference value becomes too large, and degeneration, which is a phenomenon in which particles concentrate on the reference value, may occur. When degeneration occurs, the pulse rate estimation value of the filter unit becomes the reference value only, and tracking performance decreases. In Operation Example 2 using the step function, the shape of the function graph at the reference value and its vicinity is flat, so the weight does not concentrate only on the reference value, and degeneration is less likely to occur.
[0050] <Operation Example: Reference Value Calculation> An example of the operation of the reference value calculation unit 31 of the pulse correction device 30 will be described below with reference to Fig. 7. Fig. 7 is a flowchart showing the operation of the reference value calculation unit 31 of the pulse correction device 30.
[0051] (Step ST31) In step ST31, the reference value calculation unit 31 acquires the pulse estimate and its reliability output from the pulse acquisition device 20, and determines whether the reliability of the acquired pulse estimate is equal to or greater than a threshold. If the reliability of the acquired pulse estimate is less than the threshold, the process proceeds to step ST32. If the reliability of the acquired pulse estimate is equal to or greater than the threshold, the process proceeds to step ST33.
[0052] (Step ST32; Step ST33) In step ST33, the reference value calculation unit 31 adds the acquired pulse rate estimated value to the pulse rate storage buffer 311, and after adding, the process proceeds to step ST32. In step ST32, the reference value calculation unit 31 calculates the average pulse rate in the pulse rate storage buffer 311 as the reference value m t It is calculated as follows.
[0053] (Step ST34) In step ST34, the reference value calculation unit 31 calculates the reference value m t is output to the filter unit 32.
[0054] <Example> Next, an example of the pulse correction device 30 of the present disclosure will be described with reference to FIG. 8 . FIG. 8 is a diagram showing the pulse correction results obtained by the example of the pulse correction device 30. In FIG. 8 , the vertical axis represents the pulse rate (heart rate) bpm or reliability, and the horizontal axis represents time (seconds). RAW is the pulse estimate calculated by the pulse acquisition device 20. Confidence is the reliability calculated by the pulse acquisition device 20. Truth is the heart rate as a true value acquired by a biometric information acquisition device (not shown) for evaluation. Filter is the corrected pulse value calculated by the pulse correction device 30. Mean is the reference value calculated by the reference value calculation unit 31. As can be seen from FIG. 8 , due to the influence of external light noise and the like, the pulse estimate (RAW) contains a large number of outliers, while when the reliability is high, as indicated by Confidence of 50, there are fewer outliers.
[0055] The reference value calculation unit 31 collects highly reliable data that is unlikely to be an outlier and calculates its average as the reference value (mean). As can be seen from the fact that the reference value obtained in this manner falls within a range of approximately ±10 bpm from the true value indicated by "truth," the further the pulse rate estimate is from the reference value, the more likely it is to be an outlier. Therefore, when calculating the weight in the particle filter, the weight is reduced by the amount of deviation from the reference value, thereby enabling outlier removal. As a result, even when the particle filter parameters are set to prioritize tracking, the weight of the outlier is sufficiently small, thereby preventing influence by the outlier. As shown in the results of Figure 8, the corrected pulse value (filter) calculated by the filter unit 32 ensures tracking and is not influenced by outliers, achieving both outlier removal and tracking.
[0056] It is possible to combine the embodiments, and to modify or omit each embodiment as appropriate.
[0057] The pulse correction device of the present disclosure can be applied to, for example, a driver monitoring system for a vehicle.
[0058] 10 Pulse estimation system, 20 Pulse acquisition device, 30 Pulse correction device, 31 Reference value calculation unit, 32 Filter unit, 40 Camera, 100a Processing circuit, 100b Processor, 100c Memory, 311 Pulse storage buffer.
Claims
1. A pulse rate correction device comprising: a filter unit that acquires a current pulse rate estimate from a pulse rate acquisition device; generates N particles represented by pairs of realized values of variables and weights of the realized values using a particle filter method, where N is a positive integer; updates the weights of the N particles by multiplying a weighting function that weights each particle using a reference value calculated based on a time series of pulse rate estimates including the current pulse rate estimate by the weighting function and a Gaussian distribution function whose mean is the current pulse rate estimate and is defined by the variance of the time series of pulse rate estimates; and outputs the weighted average of the N particles whose weights have been updated as a correction value for the current pulse rate estimate.
2. The pulse correction device according to claim 1, wherein the weighting function is a Gaussian distribution function defined by the variance of the time series reference value calculated based on the time series pulse rate estimate value, with the reference value as the mean.
3. The pulse correction device according to claim 1, wherein the filter section is a step function that attenuates in a step-like manner as the realized value of the variable deviates from the reference value, with an axis passing through the reference value as the axis of symmetry.
4. The pulse correction device according to claim 3, wherein the step function is expressed by the following equation (5): However, α 0 , α 1 , and α 2 is a hyperparameter, and 0 < α 0 <1, α 1 > 0 and α 2 >0, max(·) is a function that returns the maximum argument, and round(·) is a function that rounds down the decimal point of the argument and returns an integer value.
5. A pulse correction device as described in any one of claims 1 to 4, further comprising a reference value calculation unit that acquires the time series pulse estimates and the reliability of each pulse estimate from the pulse acquisition device, and calculates the average of pulse values whose reliability is equal to or greater than a predetermined threshold as the reference value.
6. A pulse estimation system comprising the pulse correction device according to claim 5 and the pulse acquisition device, wherein the pulse acquisition device acquires the time-series pulse estimates and the reliability from changes in brightness of time-series images of a person captured by a camera that captures time-series images including a region of the person's skin.
7. The pulse estimation system according to claim 6, further comprising the camera.
8. A pulse correction method performed by a pulse correction device having a filter unit, comprising: a step in which the filter unit acquires a current pulse estimate from a pulse acquisition device; a step in which the filter unit generates N particles represented by pairs of realized values of variables and weights of the realized values using a particle filter method, where N is a positive integer; a step in which the filter unit updates weights of the N particles by multiplying a weighting function that weights each particle using a reference value calculated based on a time-series pulse estimate including the current pulse estimate by a Gaussian distribution function whose mean is the current pulse estimate and is defined by the variance of the time-series pulse estimate; and a step in which the filter unit outputs the weighted average of the N particles whose weights have been updated as a correction value for the current pulse estimate.
9. A pulse correction program that causes a computer to execute the steps of: acquiring a current pulse estimate from a pulse acquisition device; generating N particles represented by pairs of realized values of variables and weights of the realized values using a particle filter method, where N is a positive integer; updating weights of the N particles by multiplying a weighting function that weights each particle using a reference value calculated based on a time-series pulse estimate including the current pulse estimate, and a Gaussian distribution function whose mean is the current pulse estimate and is defined by the variance of the time-series pulse estimate; and outputting the weighted average of the N particles whose weights have been updated as a correction value for the current pulse estimate.