A sofa posture self-adaptive adjusting system based on multi-modal sensor fusion
By employing multimodal sensor fusion technology, utilizing pressure and temperature sensor arrays and a three-dimensional convolutional neural network, the problems of insufficient accuracy in posture recognition and lack of adaptability in the adjustment system under a single sensor are solved, thus realizing high-precision posture perception and personalized comfort adjustment of the smart sofa.
Patent Information
- Application Number
- CN202611132253.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-29
- Publication Date
- 2026-08-25
AI Technical Summary
Existing smart sofa posture recognition systems rely on a single sensor, making it difficult to accurately identify sitting postures when users are wearing heavy clothing or have significant differences in body shape. Furthermore, the adjustment strategies lack personalized adaptive capabilities, resulting in insufficient comfort.
By employing a distributed pressure sensor array and an infrared temperature sensor array, and through local binary pattern texture transformation and spatiotemporal modeling of a three-dimensional convolutional neural network, combined with a dynamic time warping algorithm, spatiotemporal feature extraction and attitude sequence matching of multimodal sensor data are achieved, generating personalized adjustment and control quantities.
It improves the accuracy and robustness of posture recognition, and realizes high-precision posture perception and adaptive comfort adjustment of the sofa, providing a support state that matches the user's preferences when the user unconsciously adjusts their posture.
Smart Images

Figure CN122623910A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of the integration of smart home and sensors, and particularly to a sofa posture adaptive adjustment system based on multi-modal sensing fusion. Background Art
[0002] Smart sofa products usually use pressure sensors to detect the sitting posture of users in order to adjust the backrest angle or cushion support. Existing sitting posture detection schemes mostly rely only on a single pressure sensor array, and infer the user's posture by analyzing the static pressure distribution or simple pressure change trend on the cushion. This single sensing method is limited by the ambiguity of the pressure signal. When the user wears thick clothes or has a large body size difference, the pressure distribution is likely to spread and distort, resulting in a significant decrease in the accuracy of posture recognition. Especially during the continuous movement and subtle posture adjustment of the human body, it is difficult to distinguish the relative position relationship between the torso and limbs only by pressure data, and misjudgment is likely to occur. Some schemes attempt to introduce additional sensing dimensions, but mostly use simple threshold fusion or independent discrimination, and do not deeply and jointly utilize multi-modal information at the feature level, and cannot achieve highly robust perception of complex dynamic postures. On the other hand, existing sofa posture adjustment strategies mostly execute preset single adjustment actions based on fixed posture classification results, and lack the ability to adaptively match the comfortable body posture differences of different users. The adjustment system usually directly drives the motor or airbag according to several gears set at the factory, and it is difficult to perform continuous and smooth linkage adjustment according to the actual personalized comfortable posture of the user. There are also systems that allow users to manually store the seat position, but it requires the user to manually trigger the memory multiple times, and cannot automatically find the most comfortable template that conforms to the user's habits according to the recognized dynamic posture sequence. During the process of the user unconsciously adjusting the sitting posture, the system is difficult to independently provide a support state that conforms to the user's preference, resulting in a low level of comfort adaptability.
[0003] Multi-modal sensing fusion has the above limitations in the spatial texture characterization and time series matching links, which makes it necessary to solve the problem of how to accurately extract spatio-temporal texture features from pressure and temperature signals to improve the dynamic posture recognition ability under the condition of multi-sensor arrays, and the problem of how to perform time series elastic matching between the recognized posture sequence and the user's comfortable posture template to achieve personalized adaptive adjustment. Summary of the Invention
[0004] This invention provides a sofa posture adaptive adjustment system based on multimodal sensor fusion. The purpose is to utilize a dual-modal sensor array of pressure and temperature, through local binary pattern texture transformation and three-dimensional convolutional neural network spatiotemporal modeling, to solve the problem of insufficient accuracy in dynamic sitting posture recognition under a single sensor modality. At the same time, by matching the posture sequence with a comfort template through dynamic time warping, the system automatically generates adjustment control quantities, solving the problem of the lack of personalized adaptive matching in existing adjustment systems, thereby achieving high-precision posture perception and comfort adaptation in linkage adjustment.
[0005] To achieve the above objectives, the present invention provides the following technical solution: The present invention provides a sofa posture adaptive adjustment system based on multimodal sensor fusion, including a data acquisition module, a feature extraction module, a posture recognition module, a template matching module, and a drive adjustment module. The data acquisition module is used to acquire the pressure spatiotemporal sequence output by a distributed pressure sensor array on the sofa cushion and the temperature spatiotemporal sequence output by an infrared temperature sensor array. Preferably, the pressure values of each pressure sensor unit and the temperature values of each infrared temperature sensor unit are synchronously acquired at a fixed sampling frequency. All pressure values at the same sampling moment are arranged in an array to form a pressure frame, and all temperature values are arranged in an array to form a temperature frame. Pressure frames from multiple consecutive sampling moments are stacked in chronological order to form the pressure spatiotemporal sequence, and temperature frames from multiple consecutive sampling moments are stacked in chronological order to form the temperature spatiotemporal sequence. Through the synchronous acquisition of the two modes and the construction of the spatiotemporal sequence, the dynamic changes in force and heat distribution during the user's sitting pressure process can be completely preserved.
[0006] The feature extraction module performs local binary mode transformation on the pressure spatiotemporal sequence and the temperature spatiotemporal sequence respectively to obtain pressure texture feature maps and temperature texture feature maps. Preferably, before performing local binary mode transformation, median filtering is applied to the pressure frame to remove isolated noise, Gaussian filtering is applied to the temperature frame to smooth the temperature distribution, and the filtered data is normalized to a uniform numerical range. Then, for each frame, a neighborhood is selected centered on each sensing unit, the relationship between the center value and the neighborhood value is compared and encoded as a local binary mode value, which replaces the original value to obtain the texture feature map. Circular neighborhoods are used in the local binary mode transformation, and the neighborhood radius is adaptively determined according to the resolution of the pressure frame. This processing method can stably extract the local spatial texture structure of the pressure field and temperature field, eliminating interference caused by individual weight differences and environmental temperature shifts. The posture recognition module stacks the pressure texture feature map and the temperature texture feature map along the time axis and inputs them into a three-dimensional convolutional neural network to output a three-dimensional posture heatmap of the user's body. Specifically, pressure texture feature maps and temperature texture feature maps at the same time are stacked along the channel axis as two channels to form a multi-channel feature map sequence. This sequence is input into a 3D convolutional neural network, where the convolutional kernel slides along the spatial and temporal dimensions to extract spatiotemporal joint features. Then, a deconvolutional layer upsamples the data to a preset spatial resolution to obtain the pose activation value of each spatial location on the time axis. These values are then arranged according to spatial coordinates to generate the 3D pose heatmap. The 3D convolutional neural network preferably employs a 3D residual network structure. Its initial convolutional layer weights are pre-trained from publicly available human motion recognition datasets and fine-tuned using the spatiotemporal sequences of pressure and temperature generated by the current user in various sitting postures to obtain a user-specific network model.
[0007] Furthermore, the network can contain at least two 3D convolutional layers and two 3D pooling layers, with a global average pooling layer connected after the last 3D pooling layer to enhance feature representation. This multimodal spatiotemporal fusion approach can capture subtle posture changes from thermodynamic textures, achieving high accuracy and strong generalization ability in recognizing complex sitting postures. The template matching module is used to perform dynamic time warping matching between the 3D posture heatmap and multiple preset comfortable posture templates to obtain the target posture template with the smallest matching deviation. Each of the pre-stored comfortable posture templates is a 3D posture heatmap sequence, representing the standard pressure-temperature fusion features of the user in a specific comfortable posture. During matching, the dynamic time warping distance between the current user's 3D posture heatmap sequence and each template sequence is calculated. By constructing a distance matrix and searching for warping paths to accumulate local distances, the comfortable posture template with the smallest distance is determined as the target posture template. The calculation of local distance preferably integrates the Euclidean distance and cosine similarity of posture activation values in the 3D posture heatmap to take into account both amplitude differences and distribution pattern differences. The template library supports updates: When a user manually adjusts the sofa to a comfortable position, a corresponding 3D posture heatmap sequence is collected and added to the library as a new template. The system provides feedback and scores based on the automatic adjustment results, deleting templates with usage frequency below a preset threshold and low feedback scores. This enables the template library to adaptively evolve, ensuring that the system's matching results continuously align with the user's actual preferences.
[0008] The drive adjustment module is used to drive the sofa backrest motor and seat cushion airbags to perform coordinated adjustment based on the actuator control quantities corresponding to the target posture template. It reads the target values for the backrest tilt angle, backrest support point position, seat cushion airbag inflation pressure, and armrest height from the database. The module compares the current actual values with the target values to obtain the deviation, and generates control signals to send to the drivers of the backrest motor, backrest support point adjustment motor, seat cushion airbag inflation / deflation solenoid valves, and armrest height adjustment motor, causing all actuators to operate simultaneously until the target value is reached. The entire adjustment process is seamless and rapid, automatically switching the sofa to the most comfortable configuration matching the current posture without disturbing the user, significantly improving seating comfort and health support.
[0009] The technical effects and advantages provided by the present invention in the above technical solution are as follows: A distributed pressure sensor array and an infrared temperature sensor array are used to simultaneously acquire spatiotemporal sequences of pressure and temperature. Local binary mode transformation (LMT) is performed on each pressure and temperature frame. The LMT of the pressure frame compares the pressure values of the central sensing unit with those of its neighbors within the spatial neighborhood to form a texture code. The temperature frame is constructed in the same way to create a temperature texture feature map, thus converting the original pressure and temperature values into texture features reflecting local spatial relative change patterns. The pressure texture feature map can depict the edges, ridges, and local support details of the human body's pressure distribution, while the temperature texture feature map captures the heat conduction pattern in the area where the body contacts the sofa. Both represent the spatial structure of the sitting posture from mechanical and thermal dimensions, respectively. This dual-modal texture extraction method maps heterogeneous sensor data to the same feature representation space, eliminating scale mismatch caused by absolute value differences. It enhances robustness to factors such as different clothing conditions, weight changes, and padding deformation, enabling subsequent posture recognition to stably distinguish the pressure centers and temperature distribution patterns of different torsos and limbs, compensating for the shortcomings of single pressure sensing in distinguishing similar pressure distributions. The pressure and temperature texture feature maps, obtained through local binary mode transformation, are aligned along the time axis and stacked in the channel dimension to form a multi-channel feature map sequence, which is then input into a 3D convolutional neural network. The network's convolutional kernels slide simultaneously in both spatial and temporal dimensions, performing spatiotemporal joint convolution on the pressure and temperature textures to extract spatiotemporal joint features that combine spatial distribution patterns with temporal evolution patterns. Through upsampling via deconvolutional layers, the network outputs a 3D posture heatmap of the user's body covering a preset spatial resolution. This heatmap continuously labels posture activation values at various spatial locations and along the time axis, clearly distinguishing the posture trajectory changes of different body parts. Compared to 2D convolutional recognition using only pressure or temperature, 3D convolution is more temporally continuous in capturing slow adjustments, rapid posture changes, and continuous micro-movements while sitting, reducing misidentification caused by frame jumps and accurately reflecting the dynamic transition process of complex movements such as sitting upright, leaning back, and sideways.
[0010] Based on a 3D posture heatmap sequence, a dynamic time warping algorithm is used to perform time-series elastic matching with multiple pre-stored comfortable posture templates. Each comfortable posture template records the spatiotemporal evolution pattern of the complete pressure and temperature fusion characteristics of a user in a certain comfortable sitting posture. During matching, the warped path with the minimum cumulative local distance is searched in the distance matrix, allowing for non-uniform alignment and local scaling of the sequence on the time axis. This ensures that the target posture template with the minimum matching deviation can still be accurately found even when the user's action execution speed changes. After obtaining the target posture template, the associated control quantities such as the backrest tilt angle, support point position, and seat cushion airbag zonal inflation pressure are directly read, and synchronous control signals for each actuator are generated, enabling the sofa backrest motor and seat cushion airbags to adjust to the pre-stored comfortable support state in a linked manner. This template matching and adjustment strategy based on dynamic time warping can adaptively match the unique comfortable body posture temporal patterns of different users, making the sofa adjustment result conform to the user's individual body support preferences in scenarios such as relaxation, reading, or napping, avoiding repeated manual corrections caused by fixed-level adjustments. Attached Figure Description
[0011] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this invention. For those skilled in the art, other drawings can be obtained based on these drawings.
[0012] Figure 1 This is a schematic diagram of a sofa posture adaptive adjustment system based on multimodal sensor fusion. Figure 2 It is a flowchart of dynamic time warping template matching based on fused local distance; Figure 3 This is a flowchart of the linkage adjustment control process of the drive adjustment module. Detailed Implementation
[0013] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0014] See Figure 1This invention provides a sofa posture adaptive adjustment system based on multimodal sensing fusion, including a data acquisition module, a feature extraction module, a posture recognition module, a template matching module, and a drive adjustment module. The data acquisition module acquires the spatiotemporal sequence of pressure output from a distributed pressure sensor array on the sofa cushion and the spatiotemporal sequence of temperature output from an infrared temperature sensor array. The feature extraction module performs local binary mode transformation on the pressure and temperature spatiotemporal sequences respectively to obtain pressure texture feature maps and temperature texture feature maps. The posture recognition module stacks the pressure and temperature texture feature maps along the time axis and inputs them into a three-dimensional convolutional neural network to output a three-dimensional posture heatmap of the user's body. The template matching module performs dynamic time warping matching between the three-dimensional posture heatmap and multiple preset comfortable posture templates to obtain the target posture template with the smallest matching deviation. The drive adjustment module drives the sofa backrest motor and seat cushion airbags to perform coordinated adjustment based on the actuator control quantity corresponding to the target posture template.
[0015] In practice, the data acquisition module synchronously acquires the pressure values of each pressure sensing unit in the distributed pressure sensor array and the temperature values of each infrared temperature sensing unit in the infrared temperature sensor array at a fixed sampling frequency. The fixed sampling frequency is set to 20 Hz, and the sampling interval is 50 milliseconds. Synchronous acquisition is achieved by the data acquisition module sending a unified clock trigger signal to the distributed pressure sensor array and the infrared temperature sensor array, ensuring that the pressure frame and temperature frame at each sampling moment are strictly aligned in time.
[0016] A pressure frame is constructed by arranging the pressure values of all pressure sensing units at the same sampling time in an array. The distributed pressure sensor array contains multiple pressure sensing units, which are arranged on the surface of the sofa cushion according to a predetermined number of rows and columns, forming a two-dimensional sensing matrix. The position of each element in the pressure frame corresponds one-to-one with the physical position of a pressure sensing unit in the two-dimensional sensing matrix. The resolution of the pressure frame is determined by the number of rows and columns of the pressure sensing units. Similarly, a temperature frame is constructed by arranging the temperature values of all infrared temperature sensing units at the same sampling time in an array. The resolution of the temperature frame is consistent with the row and column arrangement of the infrared temperature sensing units in the infrared temperature sensor array.
[0017] Pressure frames from multiple consecutive sampling times are stacked in chronological order to form a pressure spatiotemporal sequence, and temperature frames from multiple consecutive sampling times are stacked in chronological order to form a temperature spatiotemporal sequence. Each of the pressure and temperature spatiotemporal sequences contains a fixed number of 128 frames, corresponding to a continuous sampling time window of 6.4 seconds.
[0018] After obtaining the pressure and temperature spatiotemporal sequences, median filtering is first performed on each pressure frame in the pressure spatiotemporal sequence to remove isolated noisy pressure values. During median filtering, for each pressure sensing unit in a pressure frame, nine pressure values within a 3×3 neighborhood centered on the pressure sensing unit are selected. These nine pressure values are then sorted by numerical value, and the pressure value at the middle position after sorting is taken as the filtered pressure value for that pressure sensing unit, replacing the original pressure value. For pressure sensing units located at the boundaries of pressure frames, a mirror-fill method is first used to complete the missing pressure values in the 3×3 neighborhood before performing median filtering.
[0019] Gaussian filtering is applied to each temperature frame in the temperature spatiotemporal sequence to smooth the temperature distribution. Gaussian filtering uses a 5×5 Gaussian kernel to convolve the temperature frames. The weights of the Gaussian kernel are determined by the discrete values of a two-dimensional Gaussian function at the 5×5 coordinate positions, and the standard deviation of the Gaussian kernel is set to 1.0. During Gaussian filtering, for the temperature value corresponding to each infrared temperature sensing unit in the temperature frame, the Gaussian kernel is overlaid on a 5×5 neighborhood region centered on that infrared temperature sensing unit. The weighted sum of the Gaussian kernel weights and the corresponding temperature value is calculated, and the result of the weighted sum replaces the original temperature value of the central infrared temperature sensing unit. The temperature frame boundaries are first mirror-filled before the convolution operation.
[0020] The filtered pressure and temperature spatiotemporal sequences are normalized to map pressure and temperature values to a unified numerical range [0,1]. The normalization method uses maximum and minimum value normalization. For each pressure frame in the filtered pressure spatiotemporal sequence, the normalized pressure value is calculated using the following formula:
[0021] in, This indicates that the pressure within a pressure frame in the filtered spatiotemporal sequence of pressure is located at the th Line 1 The pressure value corresponding to the pressure sensing unit of the column, This represents the minimum pressure value among all pressure sensing units within the same pressure frame. This represents the maximum pressure value among all pressure sensing units within the same pressure frame. This represents the pressure value corresponding to the pressure sensing unit after normalization. For each temperature frame in the filtered temperature spatiotemporal sequence, the same form of normalization is applied. During calculation, the temperature values, minimum temperature, and maximum temperature corresponding to each infrared temperature sensing unit within the temperature frame are used to obtain the normalized temperature value. The feature extraction module performs local binary mode transformation on the normalized pressure spatiotemporal sequence and temperature spatiotemporal sequence to generate pressure texture feature maps and temperature texture feature maps.
[0022] In practical implementation, the feature extraction module performs local binary mode transformation on the normalized pressure and temperature spatiotemporal sequences. For each pressure frame in the pressure spatiotemporal sequence, a circular neighborhood is selected around each pressure sensing unit in the pressure frame. The number of sampling points in the circular neighborhood is fixed at 8. The radius of the circular neighborhood is adaptively determined according to the resolution of the pressure frame, which is characterized by the number of rows and columns of the pressure sensing units. Let the number of rows in the pressure frame be... The number of columns is The radius of the circular neighborhood is calculated by taking... and 5% of the smaller value and rounded down, i.e., radius The reason for setting the radius to 5% of the smaller number of rows and columns is that the physical distance between adjacent pressure sensing units in a distributed pressure sensor array is positively correlated with the reciprocal of the number of rows and columns. The 5% ratio ensures that the circular neighborhood covers multiple pressure sensing units adjacent to the central pressure sensing unit in terms of spatial range, thereby capturing sufficiently rich information on local pressure spatial changes, while avoiding the introduction of irrelevant pressure values from distant locations due to an excessively large neighborhood.
[0023] Determine the radius of the circular neighborhood Then, with the position of the central pressure sensing unit as the center, within a radius of... Eight sampling points are evenly distributed on the circumference. The angular positions of the eight sampling points are as follows: The floating-point coordinates of each sampling point in the pressure frame are calculated. If the sampling point coordinates do not fall exactly on the integer grid coordinates of the pressure sensing unit, the pressure value corresponding to that sampling point is calculated by bilinear interpolation. The specific process of bilinear interpolation is to take the pressure values corresponding to the four nearest integer grid points around the floating-point coordinates, and perform a weighted average according to the horizontal and vertical distance weights to obtain the pressure value of the sampling point.
[0024] The actual pressure value of the central pressure sensing unit The pressure values obtained from 8 sampling points through bilinear interpolation are denoted as follows: The pressure value of the central pressure sensing unit. Pressure values at each sampling point Compare the size relationships one by one, among which The sampling point number, Take the integer and The comparison rule is set as follows: if the pressure value at the sampling point... The pressure value is greater than or equal to that of the central pressure sensing unit. If the pressure value at the sampling point is 1, then the comparison result is encoded as binary "1"; The pressure value is less than that of the central pressure sensing unit. The comparison result is encoded as binary "0". According to the sampling point sequence number... The comparison results are arranged sequentially from 0 to 7 to form an 8-bit binary number.
[0025] This 8-bit binary number is converted to a decimal number to serve as the local binary mode value for the central pressure sensing unit. The conversion is calculated using the following formula:
[0026] in, This indicates the row and column coordinates of the central pressure sensing unit in the pressure frame. Indicates the location at coordinates The local binary mode value corresponding to the pressure sensing unit at that location; Indicates the 8 sampling points. The serial number of each sampling point The value of is an integer from 0 to 7; Indicates the first The pressure value obtained by bilinear interpolation of each sampling point; Indicates the actual pressure value of the central pressure sensing unit; function For threshold comparison function, when hour, The value is 1, when hour, The value is 0; Represents the first binary number. The weight value corresponding to each bit.
[0027] For pressure sensing units located in the edge region of a pressure frame, the sampling points in their circular neighborhood may exceed the effective range of the pressure frame. The solution is to first extend the pressure frame boundary using a mirror-fill method, that is, to copy symmetrical pressure values outside the pressure frame boundary, ensuring that the effective range of the extended pressure frame covers the coordinates of all sampling points. Then, sampling points are selected on the extended pressure frame, and local binary mode values are calculated. After calculation, only the local binary mode values within the original pressure frame range are retained.
[0028] The original pressure value is replaced with the local binary mode values of all pressure sensing units to obtain a pressure texture feature map. The pressure texture feature map has the same row and column dimensions as the original pressure frame, and the value at each position is the local binary mode value of the corresponding pressure sensing unit.
[0029] For each temperature frame in the temperature spatiotemporal sequence, the same method as for the pressure frame is used to obtain the temperature texture feature map. During processing, the temperature value of each infrared temperature sensing unit in the temperature frame is used as the center value, and the same number of circular neighborhood sampling points (8) and the same neighborhood radius are used. ,in The temperature frame resolution is adaptively determined based on the number of rows and columns of the infrared temperature sensing unit. This resolution is calculated as 5% of the smaller of the row and column numbers, rounded down. The temperature values at sampling points are obtained through bilinear interpolation. The relationship between the center temperature value and the sampling point temperature values is compared, encoded into binary numbers, and then converted to decimal numbers to obtain the local binary mode value for each infrared temperature sensing unit, ultimately forming a temperature texture feature map.
[0030] In practical implementation, the pose recognition module aligns the pressure texture feature map and the temperature texture feature map in the time dimension. The alignment operation uses the timestamp of the sampling moment as a reference, pairing the pressure texture feature map and the temperature texture feature map generated at the same sampling moment. The pressure texture feature map and the temperature texture feature map at the same moment are stacked as two channels along the channel axis to form a fused feature map with two channels. The fused feature maps from multiple consecutive sampling moments are arranged in chronological order to form a multi-channel feature map sequence. The time length of the multi-channel feature map sequence is equal to the number of frames in the pressure texture feature map sequence and the temperature texture feature map sequence, set to 128 frames. The spatial size of the multi-channel feature map sequence is consistent with the number of rows and columns of the pressure texture feature map, denoted as... ,in, For the number of rows, Let be the number of columns. The dimension of a multi-channel feature map sequence is represented as . ,in, For a time frame of 128, The initial number of channels is 2.
[0031] A multi-channel feature map sequence is input into a 3D convolutional neural network. The 3D convolutional neural network employs a 3D residual network structure. This structure consists of an initial 3D convolutional layer, four 3D residual blocks, a global average pooling layer, and a deconvolutional upsampling layer. The kernel size of the initial 3D convolutional layer is [size missing]. The convolution kernel slides across the time, height, and width dimensions to perform the convolution operation, with a stride of [value missing]. The number of output channels is set to 64. A batch normalization layer and a linear rectified activation function are connected after the initial 3D convolutional layer.
[0032] The first 3D residual block contains two 3D convolutional layers, each with a kernel size of [size missing]. Step size is The number of output channels remains at 64. The input and output of the 3D residual block are added together via identity shortcut. The first 3D residual block does not change the spatial and temporal dimensions of the feature map. The stride of the first 3D convolutional layer in the second 3D residual block is set to... The number of output channels is increased to 128, and the stride of the remaining 3D convolutional layers is... Add one to the quick link. The 3D convolutional layers are used to match variations in channel count and size. The stride of the first 3D convolutional layer in the third 3D residual block is set to... The number of output channels is 256. The stride of the first 3D convolutional layer in the fourth 3D residual block is set to... The output channel count is 512. All 3D convolutional layers are followed by batch normalization layers and linear rectified activation functions.
[0033] After passing through four 3D residual blocks, the output feature map size is the same as the original multi-channel feature map sequence size in the time dimension, spatial height dimension, and spatial width dimension. The number of channels is 512. A global average pooling layer is connected after the last 3D residual block. The global average pooling layer calculates the average value in the time and spatial dimensions, compresses the feature map of each channel into a scalar, and outputs a 512-dimensional feature vector.
[0034] The 512-dimensional feature vector output by the global average pooling layer is mapped to the pose latent space through a fully connected layer, with the output dimension of the fully connected layer being 1024. This 1024-dimensional vector is then reshaped into... The 3D tensor is used as the initial input for deconvolution upsampling. The deconvolution layer employs a 3D transposed convolution operation with a stride of . The kernel size is By progressively upsampling, the spatial resolution of the feature map is restored to the preset spatial resolution. The preset spatial resolution is set to The deconvolutional upsampling layer consists of three 3D transposed convolutional layers. Each transposed convolutional layer is followed by a batch normalization layer and a linear rectified activation function. The last transposed convolutional layer has 1 output channel, yielding the pose activation value for each spatial location along the time axis. After deconvolutional upsampling, the time dimension is restored to 8. The calculation formula for the deconvolutional upsampling process is expressed as:
[0035] in, This indicates the time index in the output feature map. Spatial height index and space width index The activation value of the pose at that location, The value of is an integer from 0 to 7. and The values of are integers from 0 to 63; This represents the channel index of the input feature map. The value of is an integer from 1 to 512; , , These represent the offsets of the convolutional kernel in the time dimension, spatial height dimension, and spatial width dimension, respectively. , , These are the temporal dimension, spatial height dimension, and spatial width dimension of the convolutional kernel, respectively, and all three are 4. This represents the weight tensor in a 3D transposed convolutional layer with respect to the offset. and input channel The weight value at the location; This indicates that the input feature map is in coordinates and channels The value at that location, , , These are the input coordinates after step size conversion.
[0036] All spatial position attitude activation values are arranged according to spatial coordinates. and time coordinates Arrange the data to generate a 3D attitude heatmap. The spatial resolution of the 3D attitude heatmap is [value missing]. The time depth is 8, and the value of each voxel represents the pose activation intensity of the corresponding user's body part in the corresponding time segment.
[0037] The initial convolutional layer weights of the 3D convolutional neural network were obtained through pre-training on a publicly available human action recognition dataset. The Kinetics-400 dataset was selected as the publicly available human action recognition dataset. During pre-training, the video frames of the Kinetics-400 dataset were adjusted to have the same input size as the multi-channel feature map sequence, i.e., 128 temporal frames and a spatial size of [missing information]. A 3D residual network structure was used for action category classification training. The pre-training optimizer was a stochastic gradient descent optimizer with a momentum parameter of 0.9, a weight decay coefficient of 0.0001, an initial learning rate of 0.01, and a cosine annealing decay strategy to adjust the learning rate. The batch size was set to 32, and the number of training epochs was 200. After pre-training, the weight parameters of the initial 3D convolutional layers and the four 3D residual blocks were retained.
[0038] After pre-training, pressure and temperature spatiotemporal sequences generated by the current user in various sitting postures were collected as fine-tuning datasets. These postures included five types: upright sitting, leaning forward, leaning back, leaning to the left, and leaning to the right. Fifty complete pressure and temperature spatiotemporal sequences were collected for each posture, with each sequence containing 128 frames. The pressure and temperature spatiotemporal sequences were processed using local binary mode transformation and channel stacking to form corresponding multi-channel feature map sequences, which served as input samples for the fine-tuning dataset. The labels for the fine-tuning dataset were manually annotated coordinates of the user's body parts in 3D space, which were mapped to the spatial resolution of the output heatmap. At a time depth of 8, a three-dimensional attitude heat map of the target is formed.
[0039] The parameters of the pre-trained 3D residual network structure were fine-tuned using a fine-tuning dataset. During fine-tuning, the classification layer from the pre-training stage was removed, and a deconvolutional upsampling layer was connected. The loss function used for fine-tuning was mean squared error loss, which calculates the average of the squared differences of each voxel value between the predicted 3D pose heatmap and the target 3D pose heatmap. The optimizer was an adaptive moment estimation optimizer, with a learning rate of 0.0001, a batch size of 4, and 50 training epochs. During fine-tuning, the weight parameters of the initial 3D convolutional layer and the first two 3D residual blocks in the 3D residual network structure were frozen, and only the weight parameters of the last two 3D residual blocks and the deconvolutional upsampling layer were updated. After fine-tuning, a user-specific 3D convolutional neural network was obtained, which can predict a 3D pose heatmap that matches the user's body characteristics from the user's multi-channel feature map sequence.
[0040] In specific implementation, please refer to Figure 2The template matching module pre-stores multiple comfortable posture templates. These templates are stored in an updatable template library located in the non-volatile memory of the sofa control system. Each comfortable posture template is a sequence of three-dimensional posture heatmaps, representing the standard pressure-temperature fusion characteristics detected by the sofa when the user is in a certain comfortable posture. The three-dimensional posture heatmap sequence consists of multiple consecutive frames of three-dimensional posture heatmaps arranged chronologically. Each frame of the three-dimensional posture heatmap has a spatial resolution of 64×64 and a temporal depth of 8. The number of frames in the three-dimensional posture heatmap sequence is consistent with the number of frames in the current user's three-dimensional posture heatmap sequence output by the posture recognition module.
[0041] The template matching module calculates the dynamic time warping distance between the current user's 3D posture heatmap sequence and each comfortable posture template sequence. The current user's 3D posture heatmap sequence is represented as the first sequence, and the comfortable posture template sequences are represented as the second sequence. Let the length of the first sequence be... That is, the first sequence contains Frame 3D attitude heatmap The value is 8. Let the length of the second sequence be... That is, the second sequence contains Frame 3D attitude heatmap The value is the same as the actual number of frames in the comfortable posture template sequence.
[0042] Construct a sequence with the number of rows equal to the length of the first sequence. And the number of columns is equal to the length of the second sequence. The distance matrix. The row number in the distance matrix is the first row number. And the column number is the second column number. The element value is the first element in the first sequence. The three-dimensional attitude heatmap of the frame and the second sequence The fusion local distance between the three-dimensional pose heatmaps of the frames, where the first sequence number is... The value range is from 1 to Integer, second sequence number The value range is from 1 to Integers.
[0043] The calculation process for the fused local distance is as follows: calculate the first sequence in the first sequence... The three-dimensional attitude heatmap of the frame and the second sequence The Euclidean distance between frames of 3D pose heatmaps is calculated, and the cosine similarity between two frames of 3D pose heatmaps is also calculated. The Euclidean distance and the distance metric converted from the cosine similarity are then weighted and summed. Let the first frame in the first sequence be... Frame 3D attitude heatmap in spatial coordinates and time index The activation value at the pose is In the second sequence, the first Frame 3D attitude heatmap in the same spatial coordinates and time index The activation value at the pose is ,in The value of is an integer from 0 to 7. and The value range is from 0 to 63.
[0044] Euclidean distance The calculation formula is:
[0045] Cosine similarity The calculation method is as follows: first, each of the two frames of 3D attitude heatmaps is unfolded into a one-dimensional vector. Let the first sequence be the first... The one-dimensional vector after the frame heatmap is unfolded is In the second sequence, the first The one-dimensional vector after the frame heatmap is unfolded is The vector dimension is Calculate the ratio of the inner product of two one-dimensional vectors to the product of their magnitudes. This distance metric is obtained from cosine similarity transformation. The calculation method is as follows Fusion of local distances The calculation formula is expressed as:
[0046] in, To integrate the weighting coefficients, The range of values for is the range of real numbers within the open interval (0,1). The method for obtaining the value is to select the value that results in the highest user feedback score after the sofa posture is adjusted from the preset candidate set {0.3, 0.5, 0.7} through cross-validation. This value is used when the sofa is first manufactured. The default value is set to 0.5. The basis for setting it to 0.5 is to ensure that Euclidean distance and cosine similarity transformed distance have equal initial contribution weights in the calculation of fused local distance; For the first sequence The three-dimensional attitude heatmap of the frame and the second sequence Euclidean distance between frames of 3D attitude heatmaps; The distance metric is obtained from cosine similarity transformation; As the first serial number, This is the second sequence number. Each element in the distance matrix is assigned a value according to the calculation method of fused local distance.
[0047] Search for a normalized path from the top left to the bottom right corner of the distance matrix. The normalized path consists of a series of matrix element positions, representing the correspondence between frame numbers in the first sequence and frame numbers in the second sequence. The starting point of the normalized path is the position in the distance matrix with row number 1 and column number 1, and the ending point is the position in the distance matrix with row number 1... And the column number is The position. When searching for a regular path, the allowed step size is limited to moving right, down, or diagonally to the right. Moving right means that the current frame in the first sequence remains unchanged while the frame number in the second sequence is incremented by 1; moving down means that the current frame in the second sequence remains unchanged while the frame number in the first sequence is incremented by 1; moving diagonally to the right means that the frame numbers in both the first and second sequences are incremented by 1.
[0048] In the distance matrix, let the positions of the matrix elements traversed by the normalized path be as follows: ,in Let be the total number of steps in the regularized path. The goal of regularizing a path is to minimize the sum of the values of all matrix elements traversed by the path. A regularized path satisfying this condition is determined using dynamic programming. Define the cumulative distance matrix. The number of rows in the cumulative distance matrix is equal to The number of columns equals The row number in the cumulative distance matrix is... And the column number is element value This indicates the location reached from the starting point (1,1) of the regular path. The minimum cumulative distance. The cumulative distance matrix is calculated using the following recursive method: ,in, The row number in the distance matrix is And the column number is The fused local distance values, The row number in the cumulative distance matrix is And the column number is The element value, The row number in the cumulative distance matrix is And the column number is The element value, The row number in the cumulative distance matrix is And the column number is The element value, This indicates taking the minimum of the three values. The boundary initialization method for the cumulative distance matrix is as follows: ;for From 2 to , ;for From 2 to , After the calculation is complete, the row number in the cumulative distance matrix is... And the column number is element value This is the dynamic time warping distance. The minimum sum characterizes the overall difference between the current user's 3D posture heatmap sequence and the comfortable posture template sequence. The template matching module compares all calculated dynamic time warping distances and determines the comfortable posture template with the smallest dynamic time warping distance as the target posture template.
[0049] In some implementations, multiple preset comfortable posture templates are stored in an updatable template library. When a user manually adjusts the sofa to a comfortable position using the adjustment buttons, the user confirms and triggers a template recording command. The data acquisition module collects the spatiotemporal sequences of pressure and temperature corresponding to the period during which the user maintains a stable posture in that comfortable position. The feature extraction module and posture recognition module process the data sequentially to generate a corresponding three-dimensional posture heatmap sequence. The three-dimensional posture heatmap sequence is added to the template library as a new comfortable posture template, and the timestamp of the addition moment is recorded.
[0050] During the operation of the sofa control system, user feedback ratings submitted via the user interface after each automatic adjustment are recorded. These ratings range from 1 to 5, with 5 indicating very comfortable and 1 indicating very uncomfortable. For each comfortable posture template in the template library, its usage frequency within a preset observation period is calculated. Usage frequency is defined as the number of times the comfort posture template is identified as the target posture template within the observation period, divided by the total number of automatic adjustments performed by the system within the observation period. The preset observation period is set to 90 days. The average user feedback rating after matching a particular comfort posture template is also calculated.
[0051] Comfort posture templates whose usage frequency is below a preset usage frequency threshold and whose average feedback rating is below a preset rating threshold will be deleted from the template library. The preset usage frequency threshold is set to 0.05, based on the fact that if a comfort posture template is matched less than 5% of the time within 90 days, it indicates that the comfort posture template corresponds to a posture pattern rarely used by users. The preset rating threshold is set to 3.0, based on the fact that 3 points corresponds to the median of the feedback rating range, and a score below 3 points indicates that users are generally dissatisfied with the posture adjustment effect. Comfort posture templates that meet both conditions—a usage frequency below 0.05 and an average feedback rating below 3.0—are marked as invalid templates and deleted from the template library. If the total number of comfort posture templates in the template library is less than the predetermined minimum retention number of 5, the deletion operation will be paused even if comfort posture templates that meet the deletion conditions exist, in order to maintain the basic size of the template library.
[0052] In specific implementation, please refer to Figure 3The drive adjustment module reads the set of preset actuator control quantities corresponding to the target posture template from the database. The database is stored in the non-volatile memory of the main control unit of the sofa control system. The database uses the unique identifier of the comfort posture template as an index to establish a mapping relationship between the comfort posture template and the set of preset actuator control quantities. The set of preset actuator control quantities includes the target value of the backrest tilt angle, the target value of the backrest support point position, the target value of the inflation pressure of each zone of the seat cushion airbags, and the target value of the armrest height. The target value of the backrest tilt angle is in degrees, representing the angle between the backrest plane and the seat cushion plane. The target value of the backrest support point position represents the distance of the lumbar support protrusion along the backrest height direction relative to the baseline of the backrest bottom, in centimeters. The target value of the inflation pressure of each zone of the seat cushion airbags corresponds to the air pressure inside the airbags in multiple independent areas of the seat cushion, in kilopascals. The seat cushion is divided into four zones: left front zone, right front zone, left rear zone, and right rear zone, each zone corresponding to a target inflation pressure value. The target value of the armrest height represents the vertical distance between the top of the armrest and the ground, in centimeters.
[0053] In one embodiment, the sofa control system includes a backrest tilt angle sensor, a backrest support point position sensor, pressure sensors for each zone of the seat cushion airbags, and an armrest height sensor. The backrest tilt angle sensor is mounted on the backrest rotation axis and outputs the current backrest tilt angle value. The backrest support point position sensor is mounted on the backrest support point adjustment mechanism and outputs the current backrest support point position value. The pressure sensors for each zone of the seat cushion airbags are respectively installed in the inflation lines of the left front zone, right front zone, left rear zone, and right rear zone, and output the current pressure value of each zone of the seat cushion airbags. The armrest height sensor is mounted on the armrest lifting mechanism and outputs the current armrest height value. The drive adjustment module reads the current values output by the above sensors at a preset sampling period, which is set to 50 milliseconds.
[0054] The drive adjustment module algebraically subtracts the current backrest tilt angle from the target value to obtain the backrest tilt angle deviation. It also algebraically subtracts the backrest support point position from the target value to obtain the backrest support point position deviation. Finally, it algebraically subtracts the current pressure of the left front, right front, left rear, and right rear sections of the seat cushion airbags from their corresponding inflation pressure target values to obtain the pressure deviation for each of the four sections.
[0055] The drive adjustment module generates control signals based on the deviation. The control signals are generated using a proportional-integral-derivative (PID) control law. The backrest tilt angle deviation serves as the input to the backrest tilt angle PID controller, which outputs a backrest motor control signal. This backrest motor control signal is a pulse-width modulation (PWM) signal, and its duty cycle is linearly mapped to the output value of the PID controller. The backrest support point position deviation serves as the input to the backrest support point position PID controller, which outputs a backrest support point adjustment motor control signal, also a PWM signal. The pressure deviations of the four zones serve as the inputs to four independent pressure PID controllers, which output four control signals for the inflation / deflation solenoid valves. These control signals are on / off signals. When the pressure deviation is positive, a control signal is output to open the inflation solenoid valve and simultaneously close the deflation solenoid valve; when the pressure deviation is negative, a control signal is output to open the deflation solenoid valve and simultaneously close the inflation solenoid valve; when the absolute value of the pressure deviation is less than the preset dead zone threshold, both the inflation and deflation solenoid valves are simultaneously closed. The preset dead zone threshold is set to 0.2 kPa. This setting is based on the fact that the standard deviation of the pressure sensor's measurement noise is approximately 0.05 kPa, and 0.2 kPa is four times the standard deviation, thus preventing frequent solenoid valve operation due to measurement noise. The handrail height deviation serves as the input to the handrail height proportional-integral-derivative (PID) controller, which outputs a control signal for the handrail height adjustment motor. This control signal is a pulse-width modulation (PWM) signal.
[0056] The drive adjustment module sends the generated backrest motor control signal to the backrest motor driver. The backrest motor driver includes an H-bridge power drive circuit, which adjusts the average voltage applied to both ends of the backrest motor according to the duty cycle of the pulse width modulation signal, thereby controlling the rotation direction and speed of the backrest motor. The backrest motor drives the backrest to pitch motion via a worm gear reduction mechanism. The backrest support point adjustment motor control signal is sent to the backrest support point adjustment motor driver. The backrest support point adjustment motor pushes the internal support plate of the backrest to move along the backrest height direction via a lead screw mechanism, changing the position of the backrest support point. The inflation / deflation solenoid valve control signals for the four zones of the seat cushion airbag are sent to the corresponding inflation / deflation solenoid valves. These solenoid valves control the airflow between the compressed air source and the airbag, adjusting the internal air pressure of each zone's airbag. The armrest height adjustment motor control signal is sent to the armrest height adjustment motor driver. The armrest height adjustment motor drives the armrest to rise and fall via a gear and rack mechanism.
[0057] The drive adjustment module simultaneously activates the backrest motor, backrest support point adjustment motor, seat cushion airbag inflation / deflation solenoid valves for each zone, and armrest height adjustment motor. During actuator operation, the drive adjustment module continuously reads sensor feedback values and calculates deviations, updating the control signal to form a closed-loop control. When the absolute value of all deviations is less than the corresponding preset convergence threshold, the drive adjustment module stops outputting control signals, completing the coordinated adjustment. The preset convergence threshold for the backrest tilt angle is set to 0.5 degrees, the preset convergence threshold for the backrest support point position is set to 0.3 cm, the preset convergence threshold for the seat cushion airbag pressure for each zone is set to 0.2 kPa, and the preset convergence threshold for the armrest height is set to 0.3 cm.
[0058] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.
Claims
1. A sofa posture adaptive adjustment system based on multimodal sensing fusion, characterized in that, include: The data acquisition module is used to acquire the spatiotemporal sequence of pressure output by the distributed pressure sensor array on the sofa cushion and the spatiotemporal sequence of temperature output by the infrared temperature sensor array. The feature extraction module is used to perform local binary mode transformation on the pressure spatiotemporal sequence and the temperature spatiotemporal sequence respectively to obtain pressure texture feature map and temperature texture feature map; The posture recognition module is used to stack the pressure texture feature map and the temperature texture feature map along the time axis and input them into a three-dimensional convolutional neural network to output a three-dimensional posture heat map of the user's body. The template matching module is used to perform dynamic time warping matching between the three-dimensional posture heatmap and multiple preset comfortable posture templates to obtain the target posture template with the smallest matching deviation. The drive adjustment module is used to drive the sofa backrest motor and seat cushion airbag to perform linkage adjustment based on the actuator control quantity corresponding to the target posture template.
2. The sofa posture adaptive adjustment system based on multimodal sensing fusion according to claim 1, characterized in that, In the step of obtaining the spatiotemporal sequence of pressure output from the distributed pressure sensor array on the sofa cushion and the spatiotemporal sequence of temperature output from the infrared temperature sensor array: The pressure value of each pressure sensing unit in the distributed pressure sensor array and the temperature value of each infrared temperature sensing unit in the infrared temperature sensor array are synchronously collected at a fixed sampling frequency. The pressure values of all pressure sensing units at the same sampling time are arranged in an array to form a pressure frame, and the temperature values of all infrared temperature sensing units at the same sampling time are arranged in an array to form a temperature frame. The pressure spatiotemporal sequence is formed by stacking pressure frames from multiple consecutive sampling times in chronological order, and the temperature spatiotemporal sequence is formed by stacking temperature frames from multiple consecutive sampling times in chronological order.
3. The sofa posture adaptive adjustment system based on multimodal sensing fusion according to claim 1, characterized in that, In the step of performing local binary mode transform on the pressure spatiotemporal sequence and the temperature spatiotemporal sequence respectively to obtain pressure texture feature maps and temperature texture feature maps: For each pressure frame in the pressure spatiotemporal sequence, other pressure sensing units in the neighborhood of each pressure sensing unit in the pressure frame are selected as the center. The pressure value of the center pressure sensing unit is compared with the pressure values of each pressure sensing unit in the neighborhood. The comparison result is encoded into a binary number and then converted into a decimal number as the local binary mode value of the center pressure sensing unit. The original pressure value is replaced with the local binary mode values of all pressure sensing units to obtain the pressure texture feature map. For each temperature frame in the temperature spatiotemporal sequence, the same method is used to process and obtain the temperature texture feature map.
4. The sofa posture adaptive adjustment system based on multimodal sensing fusion according to claim 3, characterized in that, In the local binary mode transformation, when comparing the pressure values of the central pressure sensing unit with those of each pressure sensing unit in the neighborhood, a circular neighborhood is used and the radius of the neighborhood is adaptively determined according to the resolution of the pressure frame.
5. The sofa posture adaptive adjustment system based on multimodal sensing fusion according to claim 1, characterized in that, In the step of stacking the pressure texture feature map and the temperature texture feature map along the time axis and inputting them into a three-dimensional convolutional neural network to output a three-dimensional posture heatmap of the user's body: After aligning the pressure texture feature map and the temperature texture feature map in the time dimension, the pressure texture feature map and the temperature texture feature map at the same moment are stacked as two channels along the channel axis to form a multi-channel feature map sequence. The multi-channel feature map sequence is input into a three-dimensional convolutional neural network, and the convolution kernel of the three-dimensional convolutional neural network slides in the spatial and temporal dimensions to perform convolution operations to extract spatiotemporal joint features. The extracted spatiotemporal joint features are upsampled to a preset spatial resolution through a deconvolution layer to obtain the pose activation value of each spatial location on the time axis. The attitude activation values of all spatial locations are arranged according to spatial coordinates to generate the three-dimensional attitude heatmap.
6. A sofa posture adaptive adjustment system based on multimodal sensing fusion according to claim 5, characterized in that, The three-dimensional convolutional neural network contains at least two three-dimensional convolutional layers and two three-dimensional pooling layers, and is connected to a global average pooling layer after the last three-dimensional pooling layer.
7. The sofa posture adaptive adjustment system based on multimodal sensing fusion according to claim 1, characterized in that, In the step of obtaining the target posture template with the smallest matching deviation by performing dynamic time warping matching between the three-dimensional posture heatmap and multiple preset comfortable posture templates: Multiple comfort posture templates are pre-stored. Each comfort posture template is a three-dimensional posture heatmap sequence, which represents the standard pressure and temperature fusion characteristics detected by the sofa when the user is in a certain comfort posture. Calculate the dynamic time warping distance between the current user's 3D posture heatmap sequence and each comfortable posture template sequence. The dynamic time warping distance is obtained by constructing a warping path and accumulating local distances. Compare all dynamic time warping distances and determine the comfortable posture template with the smallest distance as the target posture template.
8. A sofa posture adaptive adjustment system based on multimodal sensing fusion according to claim 7, characterized in that, In the dynamic time warping matching process, the calculation of local distance integrates the Euclidean distance and cosine similarity of the attitude activation values in the three-dimensional attitude heatmap.
9. A sofa posture adaptive adjustment system based on multimodal sensing fusion according to claim 7, characterized in that, In the step of calculating the dynamic time-warped distance between the current user's 3D posture heatmap sequence and each comfortable posture template sequence: The current user's 3D posture heatmap sequence is represented as the first sequence, and the comfortable posture template sequence is represented as the second sequence; Construct a distance matrix with the number of rows equal to the length of the first sequence and the number of columns equal to the length of the second sequence. The element in this distance matrix with the row number of the first sequence and the column number of the second sequence is the Euclidean distance between the heat map of the first frame in the first sequence and the heat map of the second frame in the second sequence. Search for a regular path from the top left corner to the bottom right corner of the distance matrix such that the sum of the values of all matrix elements traversed by the regular path is minimized. This minimum sum is the dynamic time regularized distance. When searching for regular paths, the allowed step size is limited to moving to the right, down, or to the lower right diagonal.
10. A sofa posture adaptive adjustment system based on multimodal sensing fusion according to claim 1, characterized in that, In the step of driving the sofa backrest motor and seat cushion airbag to perform linkage adjustment based on the actuator control quantity corresponding to the target posture template: Read the preset actuator control quantity set corresponding to the target posture template from the database. The preset actuator control quantity set includes the target value of the backrest tilt angle, the target value of the backrest support point position, the target value of the inflation pressure of each zone of the seat cushion airbag, and the target value of the armrest height. The current backrest tilt angle, backrest support point position, current pressure of each zone of the seat cushion airbag, and armrest height of the sofa are compared with the target values to obtain the deviation of each actuator. Control signals are generated based on the deviation and sent to the drivers of the backrest motor, the backrest support point adjustment motor, the inflation / deflation solenoid valves of each zone of the seat cushion airbag, and the armrest height adjustment motor, respectively, so that each actuator operates simultaneously until the target value is reached.