Air conditioner control method and device, air conditioner, storage medium and program product
By combining CSI data and image data, using a convolutional neural network model to determine the number of people in the room, the problem of low accuracy of CSI signal detection is solved, and the precise adjustment of air conditioners and improvement of indoor comfort is achieved.
Patent Information
- Application Number
- CN202411761886.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-03
- Publication Date
- 2025-02-25
AI Technical Summary
The accuracy of CSI signal detection indoor number is low, which leads to inaccurate air conditioners when adjusting their own operating parameters, reducing indoor comfort.
By combining CSI data and image data, the data is processed based on the convolutional neural network model to determine the number of people indoors, which improves the accuracy of CSI signal detection.
Accurate adjustment based on the number of indoor people is achieved, indoor comfort is improved, and energy use is optimized.
Smart Images

Figure CN119508950A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of air conditioning, and specifically relates to an air conditioning control method, device, air conditioning, storage medium and computer program product, and more particularly to an air conditioning control method, device, air conditioning, storage medium and computer program product based on CSI signal detection of the number of people. Background Art
[0002] When using air conditioning to adjust the room temperature, automatically adjusting the operating parameters of the air conditioning based on the number of people in the room can improve indoor comfort. When detecting the number of people in the room, using CSI signals can more accurately detect the number of people, especially in multi-person scenarios, with higher detection accuracy and sensitivity and lower cost.
[0003] CSI (Channel State Information) detection technology, namely channel state information detection technology, is a technology that uses the channel state information of wireless signals (such as Wi-Fi signals) during the propagation process to detect people. CSI signals can capture signal changes caused by human activities, thereby detecting the number of people. However, wireless communication systems such as Wi-Fi, 4G, and 5G are mainly designed for communication, and CSI signals are difficult to support perception applications, making ISAC (simultaneous full-duplex communication and perception) difficult to achieve. For example, the signals sent by wireless access points are constrained by technologies such as MIMO (multiple input multiple output) and beamforming, resulting in poor consistency and low accuracy of CSI signals, which cannot correctly describe target and environmental information. The accuracy of CSI signals in detecting the number of people in the room is reduced, which in turn causes the air conditioner to adjust its own operating parameters inaccurately, reducing indoor comfort.
[0004] The above contents are only used to assist in understanding the technical solution of the present invention and do not constitute an admission that the above contents are prior art. Summary of the invention
[0005] The object of the present invention is to provide an air conditioner control method, device, air conditioner, storage medium and computer program product to solve the problem that the accuracy of CSI signal detection of the number of people in the room in the related scheme is low, resulting in the air conditioner not being accurate enough when adjusting its own operating parameters, thereby reducing the indoor comfort. By combining CSI data and image data, the data is processed based on a convolutional neural network model to determine the number of people in the room, thereby improving the accuracy of CSI signal detection of the number of people, and then the indoor temperature can be accurately adjusted according to the number of people in the room, thereby improving the effect of indoor comfort.
[0006] The present invention provides a method for controlling an air conditioner, comprising: acquiring current CSI data of an indoor environment and current image data of the indoor environment; determining the number of people indoors according to the current CSI data, the current image data and a preset model; the preset model comprises a convolutional neural network algorithm; controlling the start and stop of the air conditioner and the operating parameters of the air conditioner according to the number of people indoors; the operating parameters include a set temperature and a temperature adjustment rate of the air conditioner.
[0007] In some embodiments, determining the number of people indoors based on the current CSI data, the current image data, and a preset model includes: merging the current CSI data and the current image data to obtain processed CSI data; and inputting the processed CSI data into the preset model to obtain the number of people indoors.
[0008] In some embodiments, while obtaining the current CSI data, a first timestamp corresponding to the current CSI data is also obtained; while obtaining the current image data, a second timestamp corresponding to the current image data is also obtained; the current CSI data and the current image data are merged to obtain processed CSI data, including: converting the current image data into image data; determining the number of people in the image data using a preset algorithm; keeping the first timestamp consistent with the second timestamp, so that at the same moment, the current CSI data corresponds to the image data; thereafter, merging the current CSI data with the corresponding image data to obtain processed CSI data; the processed CSI data includes the current CSI data and the number of people information.
[0009] In some embodiments, the start and stop of the air conditioner and the operating parameters of the air conditioner are controlled according to the number of people indoors, including: judging the size of the number of people indoors; if the number of people indoors is within a first range, controlling the air conditioner to stop running; if the number of people indoors is within a second range, controlling the set temperature to be a preset first temperature, and the temperature adjustment rate to be a preset first temperature adjustment rate; if the number of people indoors is within a third range, controlling the set temperature to be a preset second temperature, and the temperature adjustment rate to be a preset second temperature adjustment rate; the first range < the second range < the third range, the preset first temperature > the preset second temperature, and the preset first temperature adjustment rate < the preset second temperature adjustment rate.
[0010] In some embodiments, it also includes: inputting preset CSI data into the untrained preset model to obtain the trained preset model; wherein the preset CSI data includes first CSI data and second CSI data, the first CSI data is used to train the preset model, and the second CSI data is used to verify the trained preset model.
[0011] Matching the above method, the present invention provides a control device for an air conditioner on the other hand, including: an acquisition unit, configured to acquire current CSI data of an indoor environment and current image data of the indoor environment based on current CSI data; a control unit, configured to determine the number of people indoors based on the current CSI data, the current image data and a preset model; the preset model includes a convolutional neural network algorithm; the control unit is also configured to control the start and stop of the air conditioner and the operating parameters of the air conditioner based on the number of people indoors; the operating parameters include the set temperature and temperature adjustment rate of the air conditioner.
[0012] In some embodiments, the control unit determines the number of people indoors based on the current CSI data, the current image data, and a preset model, including: merging the current CSI data and the current image data to obtain processed CSI data; and inputting the processed CSI data into the preset model to obtain the number of people indoors.
[0013] In some embodiments, the acquisition unit, while acquiring the current CSI data, also acquires a first timestamp corresponding to the current CSI data; while acquiring the current image data, also acquires a second timestamp corresponding to the current image data; the control unit merges the current CSI data and the current image data to obtain processed CSI data, including: converting the current image data into image data; determining the number of people information in the image data using a preset algorithm; keeping the first timestamp consistent with the second timestamp, so that at the same moment, the current CSI data corresponds to the image data; thereafter, merging the current CSI data with the corresponding image data to obtain processed CSI data; the processed CSI data includes the current CSI data and the number of people information.
[0014] In some embodiments, the control unit controls the start and stop of the air conditioner and the operating parameters of the air conditioner according to the number of people indoors, including: judging the size of the number of people indoors; if the number of people indoors is within a first range, controlling the air conditioner to stop running; if the number of people indoors is within a second range, controlling the set temperature to be a preset first temperature, and the temperature adjustment rate to be a preset first temperature adjustment rate; if the number of people indoors is within a third range, controlling the set temperature to be a preset second temperature, and the temperature adjustment rate to be a preset second temperature adjustment rate; the first range < the second range < the third range, the preset first temperature > the preset second temperature, and the preset first temperature adjustment rate < the preset second temperature adjustment rate.
[0015] In some embodiments, the control unit is further configured to input the preset CSI data into the untrained preset model to obtain the trained preset model; wherein the preset CSI data includes first CSI data and second CSI data, the first CSI data is used to train the preset model, and the second CSI data is used to verify the trained preset model.
[0016] Matching the above device, the present invention provides an air conditioner on another aspect, including: the control device of the air conditioner mentioned above.
[0017] In accordance with the above method, the present invention provides a storage medium on another aspect, wherein the storage medium includes a stored program, wherein when the program is running, the device where the storage medium is located is controlled to execute the above-mentioned air conditioning control method.
[0018] In accordance with the above method, the present invention provides a computer program product on another aspect, wherein the computer program product includes a computer program, and when the computer program product is processed and executed, the steps of the above air conditioner control method are implemented.
[0019] The solution of the present invention determines the number of people in the room based on the current CSI data of the indoor environment, the current image data, and a preset model including a convolutional neural network algorithm; and controls the operating state of the air conditioner based on the number of people in the room. Thus, by combining CSI data and image data, the data is processed based on the convolutional neural network model to determine the number of people in the room, thereby improving the accuracy of the CSI signal detection of the number of people, and then the indoor temperature can be accurately adjusted according to the number of people in the room, thereby improving the indoor comfort.
[0020] Other features and advantages of the present invention will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of the present invention.
[0021] The technical solution of the present invention is further described in detail below through the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] Figure 1 A schematic diagram of a flow chart of an embodiment of a method for controlling an air conditioner of the present invention;
[0023] Figure 2 A schematic structural diagram of an embodiment of a control device for an air conditioner of the present invention;
[0024] Figure 3 A network structure diagram of a CSI data processing model in the present invention;
[0025] Figure 4 FIG. 4 is a flow chart of another embodiment of the air conditioner control method of the present invention.
[0026] In conjunction with the accompanying drawings, the reference numerals in the embodiments of the present invention are as follows:
[0027] 102 - acquisition unit; 104 - control unit. DETAILED DESCRIPTION
[0028] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the specific embodiments of the present invention and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.
[0029] In order to enable the air conditioner to monitor the number of people indoors in real time, compared with traditional number detection methods such as infrared and cameras, CSI signal detection has the advantages of high privacy, low hardware cost, wide application scenarios, and certain wall penetration ability. However, since the wireless communication system is mainly designed for communication, the CSI signal is unstable and easily affected by the environment, resulting in a decrease in the accuracy of CSI detection of the number of people, making it impossible for the air conditioner to accurately adjust the indoor comfort based on the number of people indoors.
[0030] Therefore, this solution provides an air-conditioning control method, which uses CSI signals to detect the number of people indoors, and aligns the CSI signals with video annotation data to improve the accuracy and reliability of the data. The CSI signals are processed based on a convolutional neural network-based number detection model to automatically extract time series and predict the number of people, thereby achieving more efficient and accurate indoor number detection, thereby enabling the air-conditioning to more accurately adjust the indoor temperature, improve indoor comfort, and make the air-conditioning more energy-efficient.
[0031] According to an embodiment of the present invention, a method for controlling an air conditioner is provided. Figure 1 The flowchart of an embodiment of the method of the present invention is shown in FIG. The air conditioner control method may include: steps S110 to S130.
[0032] In step S110, current CSI data of the indoor environment and current image data of the indoor environment are acquired.
[0033] The current CSI data is the data of the CSI signal, and the current image data is the video data. The current CSI data of the indoor environment and the current image data can be obtained from other devices. Specifically, the device for collecting the current CSI data includes a signal transmitting device and a signal receiving device, and the signal receiving device is a WIFI router with dual antennas, such as a WIFI router with models TPLinkTLWR841N, Netgear R6100, and ASUS RTN66U. The signal receiving device is a network card, which can perform multi-link CSI signal collection, such as a network card with models Atheros AR9280, Realtek RTL8187, and Intel7260dualband. The device for collecting the current image data of the indoor environment is a camera.
[0034] The current CSI data and current image data of the indoor environment are collected at the same time. In order to facilitate the subsequent processing of the CSI data, the current CSI data format can be saved in CSV or MAT. The current image data is data in video formats such as MP4 and WMV.
[0035] In step S120, the number of people in the room is determined based on the current CSI data, the current image data and a preset model; the preset model includes a convolutional neural network algorithm.
[0036] In some implementations, in step S120, the specific process of determining the number of people indoors according to the current CSI data, the current image data, and a preset model includes: step S210 and step S220.
[0037] Step S210: Merge the current CSI data and the current image data to obtain processed CSI data.
[0038] In some implementations, while acquiring the current CSI data, a first timestamp corresponding to the current CSI data is also acquired; while acquiring the current image data, a second timestamp corresponding to the current image data is also acquired.
[0039] When collecting the current CSI data and current image data of the indoor environment, the timestamp of the collected data is also saved to facilitate the subsequent matching of the current CSI data and the current image data by time. The timestamp format can be "YYYY-MM-DD HH:MM:SS.mmm", for example, 2000-01-01 12:00:00.000.
[0040] In some implementations, in step S210, the specific process of merging the current CSI data and the current image data to obtain processed CSI data includes: steps S310 to S330.
[0041] Step S310, converting the current image data into image data.
[0042] Specifically, the current image data is converted into an image sequence in units of frames. For example, if the frame rate of the image data is 30 frames per second, the image sequence after the image data of each second is converted is 30 images. The image data can be saved in a format such as PNG, JPEG, etc.
[0043] The converted image data also has a corresponding timestamp. For example, if the frame rate of the image data is 30 frames per second, the interval between each of the 30 converted image data is 33.33 milliseconds. If the timestamp of the first image data is 2000-01-01 12:00:00.000, the timestamp of the second image data is 2000-01-01 12:00:00.033.
[0044] Step S320: Determine the number of people in the image data using a preset algorithm.
[0045] The preset algorithm can annotate the image data, extract key points of the human body from the image data of each frame, and determine the number of people in the image based on the annotation results. The preset algorithm can be an image processing algorithm such as OpenPose. Thus, the image data includes the corresponding second timestamp and number of people information.
[0046] Step S330, keeping the first timestamp consistent with the second timestamp, so that at the same moment, the current CSI data corresponds to the image data; then, merging the current CSI data with the corresponding image data to obtain processed CSI data; the processed CSI data includes the current CSI data and the number of people information.
[0047] In order to ensure the accuracy and reliability of the data, the current CSI data needs to be aligned with the image data. Specifically, the current CSI data corresponds to the image data by making the first timestamp of the current CSI data consistent with the second timestamp of the image data. For example, if the timestamp of a certain current CSI data is 2000-01-01 12:00:01.000, the image data with the same timestamp of 2000-01-01 12:00:01.000 is determined as the image data corresponding to the current CSI data.
[0048] Since there is a time difference in the data acquisition process, the first timestamp and the second timestamp are not necessarily completely consistent. Therefore, during the data alignment process, the image data corresponding to the second timestamp closest to the first timestamp can be determined as the image data corresponding to the current CSI data.
[0049] In order to quickly align the current CSI data with the image data, you can write a script to do this. For example, use a Python script to read the CSI data and image data line by line, match conditions based on timestamps, find the number of people corresponding to the closest CSI data, and merge them into a new CSV file. The script code is as follows:
[0050] import pandas as pd
[0051] #Read CSI data
[0052] csi_data=pd.read_csv('csi_data.csv',parse_dates=['timestamp'])
[0053] csi_data['timestamp']=pd.to_datetime(csi_data['timestamp'])
[0054] #Read video annotation data
[0055] video_data=pd.read_csv('video_data.csv',parse_dates=['timestamp'])
[0056] video_data['timestamp']=pd.to_datetime(video_data['timestamp'])
[0057] # Create a merged data frame
[0058] merged_data = []
[0059] #Align data
[0060] for index,video_row in video_data.iterrows():
[0061] #Find the CSI data closest to the current video timestamp
[0062] closest_csi=csi_data.iloc[(csi_data['timestamp']video_row['timestamp']).abs().argso rt()[:1]]
[0063] for_,csi_row in closest_csi.iterrows():
[0064] merged_data.append({
[0065] 'timestamp':video_row['timestamp'],
[0066] 'CSI_data':csi_row['CSI_data'],
[0067] 'person_count':video_row['person_count']
[0068] })
[0069] #Convert to DataFrame
[0070] merged_df=pd.DataFrame(merged_data)
[0071] #Save to CSV file
[0072] merged_df.to_csv('aligned_data.csv',index=False)
[0073] The current CSI data format is [timestamp, CSI data], for example, [2000-01-01 12:00:01.000, 1.23+0.56j], and the image data format is [timestamp, number of people information], for example, [2000-01-01 12:00:01.000, 3]. The merged CSI data format is [timestamp, CSI data, number of people information], for example, [2000-01-01 12:00:01.000, 1.23+0.56j, 3]. The accuracy and reliability of the data are ensured by aligning the CSI signal with the time of the video annotation.
[0074] Step S220: input the processed CSI data into the preset model to obtain the number of people in the room.
[0075] In order to accurately infer the number of people in the space from the collected CSI signals, a convolutional neural network is used in the preset model to process the CSI signals. When processing time series data, the convolutional neural network can automatically extract time series data and features, and the processing effect is better.
[0076] The preset model includes input layer, convolution layer, pooling layer, and fully connected layer. The input layer is used to receive CSI data; the convolution layer is used to extract the time series features in the CSI data; the pooling layer is used to reduce the data dimension and extract important features; the fully connected layer is used to output the predicted results of the number of people. Figure 3 As shown, the network structure of the preset model is shown in the following table:
[0077]
[0078]
[0079] In some embodiments, the process of training the preset model is also included, and the process specifically includes: inputting the preset CSI data into the untrained preset model to obtain the trained preset model; the trained preset model can determine the number of people in the room according to the current CSI data and the current image data; wherein the preset CSI data includes first CSI data and second CSI data, the first CSI data is used to train the preset model, and the second CSI data is used to verify the trained preset model.
[0080] Before training the preset model, the CSI data needs to be processed into a format suitable for model input. The dimension of the input data is (number of samples, 30, 1), that is, each data sample contains 30 CSI data points, and the sample label is the actual number of people.
[0081] After processing the CSI data into a format suitable for model input, the CSI data is normalized so that its value range is between 0 and 1. According to the timestamp and number of people collected, the CSI data is paired with the number of people label to form a training set and a test set. For example, training samples are generated from 500 sets of CSI data, using 80% of the data for training and 20% for validation.
[0082] Then, the preset model is built through a deep learning framework, which can be used with deep learning frameworks such as PyTorch or TensorFlow. For example, the code for building the preset model with PyTorch is:
[0083]
[0084]
[0085]
[0086] The loss function, optimizer, and performance indicators (RMSE and R) in the above code 2 The coefficients are explained as follows:
[0087] The loss function is a measure of the difference between the model output and the true label. During the training process, our goal is to minimize this loss value. The above code uses the mean square error as the loss function, which is defined as the average square error between the true value and the predicted value. The formula is as follows:
[0088]
[0089] Among them, y i is the true value (actual number of people), y i ` is the predicted value (the number of people predicted by the model), n is the number of samples, and MSE is the mean square error.
[0090] The Stochastic Gradient Descent (SGD) optimizer adjusts the model parameters to reduce the loss function value. The update formula of stochastic gradient descent is:
[0091]
[0092] Among them, θ is the model parameter (weight and bias), α is the learning rate (controls the step size of each adjustment), is the gradient of the loss function with respect to the parameters.
[0093] Root Mean Squared Error (RMSE) RMSE is a measure of the model prediction error, and the calculation formula is:
[0094]
[0095] Among them, y i is the true value (actual number of people), y i ` is the predicted value (the number of people predicted by the model), n is the number of samples, and RMSE is the root mean square error.
[0096] R 2 The coefficient is an indicator of the model's ability to explain variance, ranging from 0 to 1, and the calculation formula is:
[0097] R 2 =1-(SS_res / SS_tot)
[0098] Among them, SS_res (residual sum of squares) is:
[0099]
[0100] SS_tot (total sum of squares) is:
[0101]
[0102] Among them, y i is the true value, y i ` is the predicted value, R 2 The closer it is to 1, the more variance the model can explain, and the better the model prediction effect. 2 A negative value indicates that the model's predictions are poor.
[0103] The preset model based on convolutional neural network can automatically extract time series features and predict the number of people. It has higher data efficiency and training speed when processing CSI signals, and improves the interpretability of the model.
[0104] In step S130, the start and stop of the air conditioner and the operating parameters of the air conditioner are controlled according to the number of people in the room to accurately adjust the indoor ambient temperature and improve indoor comfort; the operating parameters include the set temperature and temperature adjustment rate of the air conditioner.
[0105] In some embodiments, in step S130, the specific process of controlling the start and stop of the air conditioner and the operating parameters of the air conditioner according to the number of people indoors includes: judging the size of the number of people indoors; if the number of people indoors is within a first range, controlling the air conditioner to stop running; if the number of people indoors is within a second range, controlling the set temperature to be a preset first temperature, and the temperature adjustment rate to be a preset first temperature adjustment rate; if the number of people indoors is within a third range, controlling the set temperature to be a preset second temperature, and the temperature adjustment rate to be a preset second temperature adjustment rate; the first range < the second range < the third range, the preset first temperature > the preset second temperature, and the preset first temperature adjustment rate < the preset second temperature adjustment rate.
[0106] The set temperature is the target temperature of the air conditioner, which is automatically adjusted by the air conditioner according to the number of people in the room and the indoor temperature and humidity. The adjustment range of the set temperature is [22℃, 26℃]. The temperature adjustment rate is the air conditioner's ability to adjust the indoor temperature. By changing the operating frequency of the compressor, the fan speed, and the opening of the expansion valve, the indoor heat exchange efficiency is controlled, thereby controlling the size of the temperature adjustment rate. In heating mode, if the air conditioner is equipped with an auxiliary electric heater, the temperature adjustment rate can also be controlled by changing the power of the electric heater.
[0107] The more people N are indoors, the greater the load on the air conditioner. If the number of people N indoors is zero, there is no need to adjust the room temperature temporarily. Therefore, the first range can be set to 0, the second range can be set to [1, 2], the third range can be set to [3, 5], the preset first temperature can be set to 25°C, the preset second temperature can be set to 23°C, the preset first temperature adjustment rate can be set to 0.1°C / 2min, and the second temperature adjustment rate can be set to 0.2°C / min. Specifically, when N=0, the air conditioner stops running and is in the off state. After that, the indoor temperature is detected every 5 minutes. If the indoor temperature is higher than the upper limit of the set temperature adjustment range, the air conditioner enters the standby state. In the standby state, the air conditioner maintains a low level of activity and can start quickly; when 1≤N≤2, the set temperature is 25℃, and the temperature adjustment rate is 0.1℃ / 2min. After that, the indoor temperature and humidity are detected every 2 minutes, and the set temperature is adjusted according to the indoor temperature and humidity. For example, when the indoor humidity at 25℃ is greater than 60%, the set temperature is lowered; when 3≤N≤5, the set temperature is 23℃, and the temperature adjustment rate is 0.2℃ / 2min. After that, the indoor temperature and humidity are detected every 5 minutes. The air conditioning load is determined according to the number of people in the room and the indoor temperature, and the room temperature adjustment range is calculated. When the indoor temperature reaches the set temperature + 0.5℃, the air conditioner automatically raises the set temperature. If the indoor humidity is less than 55%, the set temperature is lowered. When N>5, the set temperature is 22℃, and the temperature adjustment rate is 0.3℃ / 1min. After that, the indoor temperature and humidity are detected every 1min. When the indoor temperature is higher than the set temperature but the humidity is within an acceptable range, the vortex fan rotation mode is adopted or the internal fan speed is increased to enhance air circulation and further improve the heat exchange efficiency.
[0108] This solution is based on a dynamic air-conditioning control strategy based on CSI occupancy detection. Through adaptive algorithms and feedback mechanisms, it achieves a balance between comfort and energy efficiency, thereby optimizing energy use.
[0109] Figure 4 FIG. 1 is a flow chart of another embodiment of the air conditioner control method of the present invention. Figure 4 As shown, the method includes:
[0110] Step 1: When the air conditioner is running, detect the number of people N in the room and the indoor temperature and humidity.
[0111] Step 2, when N = 0, the air conditioner turns off the current operating mode and re-executes step 1 after 5 minutes. When 1≤N≤2, the air conditioner turns on the ecological mode, the set temperature of the air conditioner is 25℃, the temperature adjustment rate is 0.1℃ / 2min, and the set temperature is adjusted every 2 minutes according to the indoor temperature and humidity. When 3≤N≤5, the air conditioner operates normally, the set temperature is 23℃, the temperature adjustment rate is 0.2℃ / 2min, and the set temperature is adjusted every 5 minutes according to the indoor temperature and humidity. When N>5, the set temperature is 22℃, the temperature adjustment rate is 0.3℃ / 1min, and the fan speed is increased to enhance air circulation and improve heat exchange efficiency.
[0112] The technical solution of this embodiment is adopted to determine the number of people in the room according to the current CSI data of the indoor environment, the current image data, and the preset model including the convolutional neural network algorithm; and the operating state of the air conditioner is controlled according to the number of people in the room. Thus, by combining the CSI data and the image data, the data is processed based on the convolutional neural network model to determine the number of people in the room, which improves the accuracy of the CSI signal detection of the number of people, and then the indoor temperature can be accurately adjusted according to the number of people in the room, thereby improving the indoor comfort.
[0113] According to an embodiment of the present invention, a control device for an air conditioner corresponding to the control method for an air conditioner is also provided. Figure 2 The schematic diagram of the structure of an embodiment of the device of the present invention is shown. The control device of the air conditioner may include: an acquisition unit 102 and a control unit 104.
[0114] The acquisition unit 102 is configured to acquire current CSI data of the indoor environment and current image data of the indoor environment.
[0115] The current CSI data is the data of the CSI signal, and the current image data is the video data. The current CSI data of the indoor environment and the current image data can be obtained from other devices. Specifically, the device for collecting the current CSI data includes a signal transmitting device and a signal receiving device, and the signal receiving device is a WIFI router with dual antennas, such as a WIFI router with models TPLinkTLWR841N, Netgear R6100, and ASUS RTN66U. The signal receiving device is a network card, which can perform multi-link CSI signal collection, such as a network card with models Atheros AR9280, Realtek RTL8187, and Intel7260dualband. The device for collecting the current image data of the indoor environment is a camera.
[0116] The current CSI data and current image data of the indoor environment are collected at the same time. In order to facilitate the subsequent processing of the CSI data, the current CSI data format can be saved in CSV or MAT. The current image data is data in video formats such as MP4 and WMV.
[0117] The control unit 104 is configured to determine the number of people in the room based on the current CSI data, the current image data and a preset model; the preset model includes a convolutional neural network algorithm.
[0118] In some implementations, the control unit 104 determines the number of people in the room according to the current CSI data, the current image data, and a preset model, including:
[0119] The control unit 104 is further specifically configured to merge the current CSI data and the current image data to obtain processed CSI data.
[0120] In some implementations, the acquisition unit 102 acquires the first timestamp corresponding to the current CSI data while acquiring the current CSI data; and acquires the second timestamp corresponding to the current image data while acquiring the current image data.
[0121] When collecting the current CSI data and current image data of the indoor environment, the timestamp of the collected data is also saved to facilitate the subsequent matching of the current CSI data and the current image data by time. The timestamp format can be "YYYY-MM-DD HH:MM:SS.mmm", for example, 2000-01-01 12:00:00.000.
[0122] In some implementations, the control unit 104 combines the current CSI data and the current image data to obtain processed CSI data, including:
[0123] The control unit 104 is further configured to convert the current image data into image data.
[0124] Specifically, the current image data is converted into an image sequence in units of frames. For example, if the frame rate of the image data is 30 frames per second, the image sequence after the image data of each second is converted is 30 images. The image data can be saved in a format such as PNG, JPEG, etc.
[0125] The converted image data also has a corresponding timestamp. For example, if the frame rate of the image data is 30 frames per second, the interval between each of the 30 converted image data is 33.33 milliseconds. If the timestamp of the first image data is 2000-01-01 12:00:00.000, the timestamp of the second image data is 2000-01-01 12:00:00.033.
[0126] The control unit 104 is further specifically configured to determine the number of people information in the image data using a preset algorithm.
[0127] The preset algorithm can annotate the image data, extract key points of the human body from the image data of each frame, and determine the number of people in the image based on the annotation results. The preset algorithm can be an image processing algorithm such as OpenPose. Thus, the image data includes the corresponding second timestamp and number of people information.
[0128] The control unit 104 is also specifically configured to keep the first timestamp consistent with the second timestamp, so that at the same moment, the current CSI data corresponds to the image data; thereafter, the current CSI data is merged with the corresponding image data to obtain processed CSI data; the processed CSI data includes the current CSI data and the number of people information.
[0129] In order to ensure the accuracy and reliability of the data, the current CSI data needs to be aligned with the image data. Specifically, the current CSI data corresponds to the image data by making the first timestamp of the current CSI data consistent with the second timestamp of the image data. For example, if the timestamp of a certain current CSI data is 2000-01-01 12:00:01.000, the image data with the same timestamp of 2000-01-01 12:00:01.000 is determined as the image data corresponding to the current CSI data.
[0130] Since there is a time difference in the data acquisition process, the first timestamp and the second timestamp are not necessarily completely consistent. Therefore, during the data alignment process, the image data corresponding to the second timestamp closest to the first timestamp can be determined as the image data corresponding to the current CSI data.
[0131] In order to quickly align the current CSI data with the image data, you can write a script to do this. For example, use a Python script to read the CSI data and image data line by line, match conditions based on timestamps, find the number of people corresponding to the closest CSI data, and merge them into a new CSV file. The script code is as follows:
[0132] import pandas as pd
[0133] #Read CSI data
[0134] csi_data=pd.read_csv('csi_data.csv',parse_dates=['timestamp'])
[0135] csi_data['timestamp']=pd.to_datetime(csi_data['timestamp'])
[0136] #Read video annotation data
[0137] video_data=pd.read_csv('video_data.csv',parse_dates=['timestamp'])
[0138] video_data['timestamp']=pd.to_datetime(video_data['timestamp'])
[0139] # Create a merged data frame
[0140] merged_data = []
[0141] #Align data
[0142] for index,video_row in video_data.iterrows():
[0143] #Find the CSI data closest to the current video timestamp
[0144] closest_csi=csi_data.iloc[(csi_data['timestamp']video_row['timestamp']).abs().argso rt()[:1]]
[0145] for_,csi_row in closest_csi.iterrows():
[0146] merged_data.append({
[0147] 'timestamp':video_row['timestamp'],
[0148] 'CSI_data':csi_row['CSI_data'],
[0149] 'person_count':video_row['person_count']
[0150] })
[0151] #Convert to DataFrame
[0152] merged_df=pd.DataFrame(merged_data)
[0153] #Save to CSV file
[0154] merged_df.to_csv('aligned_data.csv',index=False)
[0155] The current CSI data format is [timestamp, CSI data], for example, [2000-01-01 12:00:01.000, 1.23+0.56j], and the image data format is [timestamp, number of people information], for example, [2000-01-01 12:00:01.000, 3]. The merged CSI data format is [timestamp, CSI data, number of people information], for example, [2000-01-01 12:00:01.000, 1.23+0.56j, 3]. The accuracy and reliability of the data are ensured by aligning the CSI signal with the time of the video annotation.
[0156] The control unit 104 is further specifically configured to input the processed CSI data into the preset model to obtain the number of people in the room.
[0157] In order to accurately infer the number of people in the space from the collected CSI signals, a convolutional neural network is used in the preset model to process the CSI signals. When processing time series data, the convolutional neural network can automatically extract time series data and features, and the processing effect is better.
[0158] The preset model includes input layer, convolution layer, pooling layer, and fully connected layer. The input layer is used to receive CSI data; the convolution layer is used to extract the time series features in the CSI data; the pooling layer is used to reduce the data dimension and extract important features; the fully connected layer is used to output the predicted results of the number of people. Figure 3 As shown, the network structure of the preset model is shown in the following table:
[0159]
[0160] In some embodiments, the control unit 104 is further configured to input the preset CSI data into the untrained preset model to obtain the trained preset model; the trained preset model can determine the number of people indoors based on the current CSI data and the current image data; wherein the preset CSI data includes first CSI data and second CSI data, the first CSI data is used to train the preset model, and the second CSI data is used to verify the trained preset model.
[0161] Before training the preset model, the CSI data needs to be processed into a format suitable for model input. The dimension of the input data is (number of samples, 30, 1), that is, each data sample contains 30 CSI data points, and the sample label is the actual number of people.
[0162] After processing the CSI data into a format suitable for model input, the CSI data is normalized so that its value range is between 0 and 1. According to the timestamp and number of people collected, the CSI data is paired with the number of people label to form a training set and a test set. For example, training samples are generated from 500 sets of CSI data, using 80% of the data for training and 20% for validation.
[0163] Then, the preset model is built through a deep learning framework, which can be used with deep learning frameworks such as PyTorch or TensorFlow. For example, the code for building the preset model with PyTorch is:
[0164] #Define hyperparameters
[0165] learning_rate=0.001
[0166] num_epochs = 100
[0167] #Load CSI data and corresponding number of people labels
[0168] data=LOAD_CSI_DATA()#Assume that the function loads CSI data
[0169] labels = LOAD_LABELS() #Assume that the function loads the number of people labels
[0170] # Divide the data into training set and test set
[0171] X_train,X_test,y_train,y_test=SPLIT_DATA(data,labels,test_size=0.2)
[0172] #Convert data into model input format
[0173] X_train_tensor=TO_TENSOR(X_train)
[0174] y_train_tensor=TO_TENSOR(y_train)
[0175] X_test_tensor=TO_TENSOR(X_test)
[0176] y_test_tensor=TO_TENSOR(y_test)
[0177] #Define model class
[0178] CLASS CSIModel:
[0179] FUNCTION__init__():
[0180] INIT_CONV_LAYER_1() #Initialize the first convolutional layer
[0181] INIT_POOLING_LAYER() #Initialize the pooling layer
[0182] INIT_CONV_LAYER_2() #Initialize the second convolutional layer
[0183] INIT_FC_LAYER_1() #Initialize the first fully connected layer
[0184] INIT_FC_LAYER_2() #Initialize the output layer
[0185] FUNCTION forward(x):
[0186] x=RELU(CONV1(x)) #Convolutional layer 1+ReLU activation
[0187] x=POOL(x) #Pooling layer
[0188] x=RELU(CONV2(x)) #Convolutional layer 2+ReLU activation
[0189] x=POOL(x) #Pooling layer
[0190] x=FLATTEN(x) #Flatten
[0191] x=RELU(FC1(x)) #Fully connected layer 1+ReLU activation
[0192] x=FC2(x) #output layer
[0193] RETURN x
[0194] #Instantiate the model
[0195] model = INSTANCE_OF(CSIModel)
[0196] #Set the loss function and optimizer
[0197] criterion=MEAN_SQUARED_ERROR()
[0198] optimizer=ADAM(model.parameters(),learning_rate)
[0199] #Train model
[0200] FOR epoch IN range(num_epochs):
[0201] MODEL_TRAIN_MODE(model)
[0202] optimizer.zero_grad()# Clear gradient
[0203] outputs = model.forward(X_train_tensor) # forward propagation
[0204] loss=criterion(outputs,y_train_tensor)#Calculate loss
[0205] loss.backward()#Backward propagation
[0206] optimizer.step()#Update parameters
[0207] IF(epoch+1)%10==0:
[0208] PRINT("Epoch",epoch+1,"Loss:",loss)
[0209] #Model evaluation
[0210] MODEL_EVAL_MODE(model)
[0211] test_outputs = model.forward(X_test_tensor) # forward propagation of test set
[0212] test_loss = criterion(test_outputs, y_test_tensor) # Calculate the test set loss
[0213] PRINT("Test Loss:",test_loss)
[0214] #Convert the output to the number of people
[0215] predicted_counts=ROUND(test_outputs)
[0216] Performance Evaluation
[0217] rmse=COMPUTE_RMSE(y_test,predicted_counts)
[0218] r2=COMPUTE_R2(y_test,predicted_counts)
[0219] PRINT("Root Mean Squared Error:",rmse)
[0220] PRINT("R 2 Score:",r2)
[0221] The loss function, optimizer, and performance indicators (RMSE and R) in the above code 2 The coefficients are explained as follows:
[0222] The loss function is a measure of the difference between the model output and the true label. During the training process, our goal is to minimize this loss value. The above code uses the mean square error as the loss function, which is defined as the average square error between the true value and the predicted value. The formula is as follows:
[0223]
[0224] Among them, y i is the true value (actual number of people), y i ` is the predicted value (the number of people predicted by the model), n is the number of samples, and MSE is the mean square error.
[0225] The Stochastic Gradient Descent (SGD) optimizer adjusts the model parameters to reduce the loss function value. The update formula of stochastic gradient descent is:
[0226]
[0227] Among them, θ is the model parameter (weight and bias), α is the learning rate (controls the step size of each adjustment), is the gradient of the loss function with respect to the parameters.
[0228] Root Mean Squared Error (RMSE) RMSE is a measure of the model prediction error, and the calculation formula is:
[0229]
[0230] Among them, y i is the true value (actual number of people), y i ` is the predicted value (the number of people predicted by the model), n is the number of samples, and RMSE is the root mean square error.
[0231] R 2 The coefficient is an indicator of the model's ability to explain variance, ranging from 0 to 1, and the calculation formula is:
[0232] R 2 =1-(SS_res / SS_tot)
[0233] Among them, SS_res (residual sum of squares) is:
[0234]
[0235] SS_tot (total sum of squares) is:
[0236]
[0237] Among them, y i is the true value, y i ` is the predicted value, R 2 The closer it is to 1, the more variance the model can explain, and the better the model prediction effect. 2 A negative value indicates that the model's predictions are poor.
[0238] The preset model based on convolutional neural network can automatically extract time series features and predict the number of people. It has higher data efficiency and training speed when processing CSI signals, and improves the interpretability of the model.
[0239] The control unit 104 is also configured to control the start and stop of the air conditioner and the operating parameters of the air conditioner according to the number of people in the room, so as to accurately adjust the indoor ambient temperature and improve indoor comfort; the operating parameters include the set temperature and temperature adjustment rate of the air conditioner.
[0240] In some embodiments, the control unit 104 controls the start and stop of the air conditioner and the operating parameters of the air conditioner according to the number of people indoors, including: judging the size of the number of people indoors; if the number of people indoors is within a first range, controlling the air conditioner to stop running; if the number of people indoors is within a second range, controlling the set temperature to be a preset first temperature, and the temperature adjustment rate to be a preset first temperature adjustment rate; if the number of people indoors is within a third range, controlling the set temperature to be a preset second temperature, and the temperature adjustment rate to be a preset second temperature adjustment rate; the first range < the second range < the third range, the preset first temperature > the preset second temperature, and the preset first temperature adjustment rate < the preset second temperature adjustment rate.
[0241] The set temperature is the target temperature of the air conditioner, which is automatically adjusted by the air conditioner according to the number of people in the room and the indoor temperature and humidity. The adjustment range of the set temperature is [22℃, 26℃]. The temperature adjustment rate is the air conditioner's ability to adjust the indoor temperature. By changing the operating frequency of the compressor, the fan speed, and the opening of the expansion valve, the indoor heat exchange efficiency is controlled, thereby controlling the size of the temperature adjustment rate. In heating mode, if the air conditioner is equipped with an auxiliary electric heater, the temperature adjustment rate can also be controlled by changing the power of the electric heater.
[0242] The more people N are indoors, the greater the load on the air conditioner. If the number of people N indoors is zero, there is no need to adjust the room temperature temporarily. Therefore, the first range can be set to 0, the second range can be set to [1, 2], the third range can be set to [3, 5], the preset first temperature can be set to 25°C, the preset second temperature can be set to 23°C, the preset first temperature adjustment rate can be set to 0.1°C / 2min, and the second temperature adjustment rate can be set to 0.2°C / min. Specifically, when N=0, the air conditioner stops running and is in the off state. After that, the indoor temperature is detected every 5 minutes. If the indoor temperature is higher than the upper limit of the set temperature adjustment range, the air conditioner enters the standby state. In the standby state, the air conditioner maintains a low level of activity and can start quickly; when 1≤N≤2, the set temperature is 25℃, and the temperature adjustment rate is 0.1℃ / 2min. After that, the indoor temperature and humidity are detected every 2 minutes, and the set temperature is adjusted according to the indoor temperature and humidity. For example, when the indoor humidity at 25℃ is greater than 60%, the set temperature is lowered; when 3≤N≤5, the set temperature is 23℃, and the temperature adjustment rate is 0.2℃ / 2min. After that, the indoor temperature and humidity are detected every 5 minutes. The air conditioning load is determined according to the number of people in the room and the indoor temperature, and the room temperature adjustment range is calculated. When the indoor temperature reaches the set temperature + 0.5℃, the air conditioner automatically raises the set temperature. If the indoor humidity is less than 55%, the set temperature is lowered. When N>5, the set temperature is 22℃, and the temperature adjustment rate is 0.3℃ / 1min. After that, the indoor temperature and humidity are detected every 1min. When the indoor temperature is higher than the set temperature but the humidity is within an acceptable range, the vortex fan rotation mode is adopted or the internal fan speed is increased to enhance air circulation and further improve the heat exchange efficiency.
[0243] This solution is based on a dynamic air-conditioning control strategy based on CSI occupancy detection. Through adaptive algorithms and feedback mechanisms, it achieves a balance between comfort and energy efficiency, thereby optimizing energy use.
[0244] Figure 4 FIG. 1 is a flow chart of another embodiment of the air conditioner control method of the present invention. Figure 4 As shown, the method includes:
[0245] Step 1: When the air conditioner is running, detect the number of people N in the room and the indoor temperature and humidity.
[0246] Step 2, when N = 0, the air conditioner turns off the current operating mode and re-executes step 1 after 5 minutes. When 1≤N≤2, the air conditioner turns on the ecological mode, the set temperature of the air conditioner is 25℃, the temperature adjustment rate is 0.1℃ / 2min, and the set temperature is adjusted every 2 minutes according to the indoor temperature and humidity. When 3≤N≤5, the air conditioner operates normally, the set temperature is 23℃, the temperature adjustment rate is 0.2℃ / 2min, and the set temperature is adjusted every 5 minutes according to the indoor temperature and humidity. When N>5, the set temperature is 22℃, the temperature adjustment rate is 0.3℃ / 1min, and the fan speed is increased to enhance air circulation and improve heat exchange efficiency.
[0247] Since the processing and functions implemented by the device of this embodiment basically correspond to the embodiments, principles and examples of the aforementioned method, for the details not fully described in this embodiment, please refer to the relevant descriptions in the aforementioned embodiments, and no further elaboration will be made here.
[0248] The technical solution of the present invention is adopted to determine the number of people in the room according to the current CSI data of the indoor environment, the current image data, and the preset model including the convolutional neural network algorithm; and the operating state of the air conditioner is controlled according to the number of people in the room. Thus, by combining the CSI data and the image data, the data is processed based on the convolutional neural network model to determine the number of people in the room, which improves the accuracy of the CSI signal detection of the number of people, and then the indoor temperature can be accurately adjusted according to the number of people in the room, thereby improving the indoor comfort.
[0249] According to an embodiment of the present invention, an air conditioner corresponding to the control device of the air conditioner is also provided. The air conditioner may include: the control device of the air conditioner described above.
[0250] Since the processing and functions implemented by the air conditioner of this embodiment basically correspond to the embodiments, principles and examples of the aforementioned devices, for the details not fully described in this embodiment, please refer to the relevant descriptions in the aforementioned embodiments and will not be repeated here.
[0251] The technical solution of the present invention is adopted to determine the number of people in the room according to the current CSI data of the indoor environment, the current image data, and the preset model including the convolutional neural network algorithm; and the operating state of the air conditioner is controlled according to the number of people in the room. Thus, by combining the CSI data and the image data, the data is processed based on the convolutional neural network model to determine the number of people in the room, which improves the accuracy of the CSI signal detection of the number of people, and then the indoor temperature can be accurately adjusted according to the number of people in the room, thereby improving the indoor comfort.
[0252] According to an embodiment of the present invention, a storage medium corresponding to the air conditioner control method is also provided, wherein the storage medium includes a stored program, wherein when the program is running, the device where the storage medium is located is controlled to execute the air conditioner control method described above.
[0253] Since the processing and functions implemented by the storage medium of this embodiment basically correspond to the embodiments, principles and examples of the aforementioned method, for the details not fully described in this embodiment, please refer to the relevant descriptions in the aforementioned embodiments, and no further elaboration will be made here.
[0254] The technical solution of the present invention is adopted to determine the number of people in the room according to the current CSI data of the indoor environment, the current image data, and the preset model including the convolutional neural network algorithm; and the operating state of the air conditioner is controlled according to the number of people in the room. Thus, by combining the CSI data and the image data, the data is processed based on the convolutional neural network model to determine the number of people in the room, which improves the accuracy of the CSI signal detection of the number of people, and then the indoor temperature can be accurately adjusted according to the number of people in the room, thereby improving the indoor comfort.
[0255] According to an embodiment of the present invention, a computer program product corresponding to the air conditioner control method is also provided, wherein the computer program product comprises a computer program, and when the computer program product is processed and executed, the steps of the air conditioner control method are implemented.
[0256] Since the processing and functions implemented by the computer program product of this embodiment basically correspond to the embodiments, principles and examples of the aforementioned method, for the details not fully described in this embodiment, please refer to the relevant descriptions in the aforementioned embodiments and will not be repeated here.
[0257] The technical solution of the present invention is adopted to determine the number of people in the room according to the current CSI data of the indoor environment, the current image data, and the preset model including the convolutional neural network algorithm; and the operating state of the air conditioner is controlled according to the number of people in the room. Thus, by combining the CSI data and the image data, the data is processed based on the convolutional neural network model to determine the number of people in the room, which improves the accuracy of the CSI signal detection of the number of people, and then the indoor temperature can be accurately adjusted according to the number of people in the room, thereby improving the indoor comfort.
[0258] In summary, it is easy for those skilled in the art to understand that, under the premise of no conflict, the above-mentioned advantageous methods can be freely combined and superimposed.
[0259] The above description is only an embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent substitution, improvement, etc. made within the spirit and principle of the present invention shall be included in the scope of the claims of the present invention.
Claims
1. A method for controlling an air conditioner, characterized in that: include: Obtain the current CSI data of the indoor environment and the current image data of the indoor environment; Determine the number of people in the room according to the current CSI data, the current image data and a preset model; the preset model includes a convolutional neural network algorithm; The start and stop of the air conditioner and the operating parameters of the air conditioner are controlled according to the number of people in the room; the operating parameters include the set temperature and temperature adjustment rate of the air conditioner.
2. The air conditioner control method according to claim 1, characterized in that: Determining the number of people in the room according to the current CSI data, the current image data, and a preset model includes: Merging the current CSI data and the current image data to obtain processed CSI data; The processed CSI data is input into the preset model to obtain the number of people in the room.
3. The air conditioner control method according to claim 2, characterized in that: While acquiring the current CSI data, also acquiring a first timestamp corresponding to the current CSI data; while acquiring the current image data, also acquiring a second timestamp corresponding to the current image data; The current CSI data and the current image data are combined to obtain processed CSI data, including: Converting the current image data into image data; Determine the number of people in the image data using a preset algorithm; The first timestamp is kept consistent with the second timestamp so that at the same moment, the current CSI data corresponds to the image data; then, the current CSI data is merged with the corresponding image data to obtain processed CSI data; the processed CSI data includes the current CSI data and the number of people information.
4. The air conditioner control method according to claim 1, characterized in that: Controlling the start and stop of the air conditioner and the operating parameters of the air conditioner according to the number of people in the room includes: Determine the number of people in the room; If the number of people in the room is within a first range, controlling the air conditioner to stop running; If the number of people in the room is within the second range, the set temperature is controlled to be the preset first temperature, and the temperature adjustment rate is the preset first temperature adjustment rate; If the number of people in the room is within the third range, the set temperature is controlled to be the preset second temperature, and the temperature adjustment rate is the preset second temperature adjustment rate; The first range is less than the second range and less than the third range, the preset first temperature is greater than the preset second temperature, and the preset first temperature adjustment rate is less than the preset second temperature adjustment rate.
5. The air conditioner control method according to any one of claims 1 to 4, characterized in that: Also includes: The preset CSI data is input into the untrained preset model to obtain the trained preset model; wherein the preset CSI data includes first CSI data and second CSI data, the first CSI data is used to train the preset model, and the second CSI data is used to verify the trained preset model.
6. A control device for an air conditioner, characterized in that: include: An acquisition unit, configured to acquire current CSI data of the indoor environment and current image data of the indoor environment; A control unit, configured to determine the number of people in the room according to the current CSI data, the current image data and a preset model; the preset model includes a convolutional neural network algorithm; The control unit is further configured to control the start and stop of the air conditioner and the operating parameters of the air conditioner according to the number of people in the room; the operating parameters include the set temperature and temperature adjustment rate of the air conditioner.
7. The air conditioner control device according to claim 6, characterized in that: The control unit determines the number of people in the room according to the current CSI data, the current image data and a preset model, including: Merging the current CSI data and the current image data to obtain processed CSI data; The processed CSI data is input into the preset model to obtain the number of people in the room.
8. An air conditioner, characterized in that: include: The air conditioner control device as claimed in claim 6 or 7.
9. A storage medium, characterized in that: The storage medium includes a stored program, wherein when the program is executed, the device where the storage medium is located is controlled to execute the air conditioner control method according to any one of claims 1 to 5.
10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 5 are implemented.