Somatosensory control method of intelligent fan, intelligent fan and storage medium

By recognizing user body movements to construct a dynamic human coordinate system and generate directional rays, the problem of poor airflow control in smart fans has been solved, achieving precise air delivery and natural interaction, thus expanding application scenarios.

CN123028162APending Publication Date: 2026-11-03SHENZHEN SHUNTER TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611483962.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-09-22
Publication Date
2026-11-03

AI Technical Summary

Technical Problem

Existing smart fans cannot accurately recognize the user's limb direction, resulting in poor airflow control and making them unsuitable for contactless smart home usage scenarios.

Method used

By recognizing image sequences of user body movements, a dynamic human coordinate system is constructed, a pointing ray is generated, and the coordinates of its intersection with the spatial scene in front of the fan are calculated. A collaborative drive signal is then generated to control the fan to align with the target air delivery position.

Benefits of technology

It enables precise control of fan airflow direction and natural interaction, expanding the application scenarios of air supply to non-human targets such as the ground and walls, and improving the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123028162A_ABST
    Figure CN123028162A_ABST
Patent Text Reader

Abstract

The application discloses a somatosensory control method of an intelligent fan, the intelligent fan and a storage medium, and relates to the technical field of smart home control. The method comprises the following steps: recognizing human body skeleton key points based on an image sequence of user limb actions, and constructing a human body coordinate system which is adjusted according to human body postures with a midpoint of double shoulders as a dynamic origin; determining a pointing ray according to the position of a hand key point in the human body coordinate system; when the displacement change amount of the hand key point is less than a preset displacement threshold value within a preset frame number, it is determined that the user enters a locking state of stable pointing; calculating the intersection of the extension line of the pointing ray and the surface of an object as a target air supply position, and driving the fan to align the target air supply position for air supply according to the angle deviation amount between the target air supply position and the fan air supply center line. The application enables the intelligent fan to automatically adjust the air supply direction according to the pointing action of the user, and improves the accuracy of air direction control and the naturalness of interaction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of smart home control technology, and in particular to a motion control method for a smart fan, a smart fan, and a storage medium. Background Technology

[0002] In the field of smart homes, whether a smart fan can accurately identify the direction of a user's body and adjust the airflow accordingly directly affects the user's ease of use, interactive comfort, and product competitiveness.

[0003] In related technologies, smart fans typically adjust airflow direction using methods such as handheld remote controls, preset gesture control, or simple human body tracking. Remote control and preset gesture control rely on pre-defined command mappings, requiring users to actively operate the device or make specific gestures to trigger control commands. While human body tracking requires no operation, it can only direct airflow towards the user, not towards the ground, walls, or other spatial locations. These methods are difficult to adapt to contactless smart home scenarios, resulting in poor airflow control.

[0004] The above content is only used to help understand the technical solution of this application and does not represent an admission that the above content is prior art. Summary of the Invention

[0005] The main objective of this application is to provide a motion-sensing control method for an intelligent fan, an intelligent fan, and a storage medium, aiming to solve the technical problem of poor airflow control performance.

[0006] To achieve the above objectives, this application proposes a motion-sensing control method for an intelligent fan, the method comprising: Based on the image sequence of user limb movements, key points of the human skeleton are identified, and a human coordinate system that is adjusted with changes in human posture is constructed according to the relative spatial position relationship of the key points of the human skeleton. Based on the human body coordinate system and the relative spatial position relationship, a pointing ray is determined in the human body coordinate system; When the displacement change of the hand key point in the human skeleton is less than the preset displacement threshold within a preset number of frames, it is determined that the user is in a stable pointing locked state and a lock trigger signal is output. In response to the lock trigger signal, calculate the coordinates of the intersection point between the extension of the pointing ray and the surface of an object in the space scene in front of the fan, and determine the intersection point coordinates as the target air delivery position; Calculate the angular deviation between the target air delivery position and the fan's air delivery centerline, and generate a collaborative drive signal based on the angular deviation to control the smart fan to deliver air to the target air delivery position.

[0007] In one embodiment, the user's limb movements are captured in real time by the color imaging unit and depth imaging unit of the smart fan, and the real time images are spatially registered at the pixel level to obtain the coordinate-aligned image sequence. The image sequence is inferred and calculated by the human pose estimation network of the smart fan to determine the two-dimensional coordinates of the human skeletal key points corresponding to the user's shoulders, elbows and hands in the image plane. Based on the depth measurement values ​​corresponding to the key points of the human skeleton in the depth image of the image sequence, the two-dimensional coordinates are mapped back to three-dimensional spatial coordinates to determine the relative spatial position relationship of the key points of the human skeleton. Using the midpoint of the line connecting the key points of both shoulders as the dynamic origin for direction determination, and combining the relative spatial position relationship, a human coordinate system that adjusts with changes in human posture is constructed.

[0008] In one embodiment, the three-dimensional spatial coordinates of the key hand points are transformed and mapped from the global spatial coordinate system to the human body coordinate system, and the relative position vector of the key hand points relative to the dynamic origin is calculated by combining the relative spatial position relationship. Using the dynamic origin as the ray starting point and the spatial direction of the relative position vector as the ray direction, an initial ray is generated that passes through the key points of the hand from the dynamic origin. The relative position vector is normalized to obtain the unit direction vector; Based on the projection components of the unit direction vector on each reference axis of the human coordinate system, the azimuth angle of the initial ray relative to the horizontal reference axis and the pitch angle relative to the horizontal plane are calculated, and the pointing ray is determined based on the azimuth angle and the pitch angle.

[0009] In one embodiment, the three-dimensional spatial coordinates of the key hand points are determined frame by frame from multiple frames of the image sequence, and a time sequence sequence of the coordinates of the key hand points is constructed according to the frame acquisition time sequence; The magnitude of the three-dimensional spatial displacement vector of the hand key points between adjacent frames in the coordinate time sequence is calculated by using a sliding window method to obtain a sequence of displacement changes for multiple consecutive frames. The displacement changes in the displacement change sequence are compared one by one with the preset displacement threshold. When the displacement changes within the preset number of consecutive frames are all less than the preset displacement threshold, a pointing stability determination result is generated. Based on the directional stability determination result, the user interaction state is switched from the free directional state to the locked directional state, and the locking trigger signal is output on the rising edge of the state switch.

[0010] In one embodiment, the items in the displacement change sequence that are greater than the preset displacement threshold are accumulated for consecutive frames to obtain a continuous displacement over-limit count value; Compare the continuous displacement over-limit count value with the preset release frame number. When the continuous displacement over-limit count value reaches the preset release frame number, determine that the user has exited the locked state of the stable pointing and generate a lock release trigger signal. In response to the lock release trigger signal, the target air supply position corresponding to the current lock is cleared, and the directional following of the fan oscillation mechanism to the target air supply position is terminated; Release the current user's control over the airflow direction of the smart fan, and drive the smart fan to smoothly switch from directional airflow mode to the default working mode, thereby completing the exit from the locked state and system reset.

[0011] In one embodiment, in response to the lock trigger signal, the spatial scene in front of the fan is segmented into planes based on the distribution of depth measurement values ​​in the depth image to determine the candidate spatial planes of the object surface and their corresponding spatial equation parameters; The pointing ray is parametrically extended from the location of the key hand point along the direction of the pointing ray to generate a parametric equation for the ray extension line covering the effective air delivery range in front of the fan. Solve the parametric equations of the ray extension line and the spatial equations of each of the candidate spatial planes simultaneously to obtain the set of coordinates of the candidate intersection points where the ray extension line intersects with each of the candidate spatial planes; Select the target intersection point that is within the fan's field of view and closest to the fan from the set of candidate intersection point coordinates, and determine the spatial coordinates of the target intersection point as the target air supply position.

[0012] In one embodiment, the current pointing orientation of the fan air delivery centerline in the global spatial coordinate system is determined based on the current horizontal and pitch angles of the fan oscillation mechanism. Transform the spatial coordinates of the target air delivery position to the fan's own coordinate system, and calculate the horizontal and pitch target angles required to align the fan's air delivery centerline with the target air delivery position. Calculate the horizontal angle deviation between the horizontal target angle and the current horizontal rotation angle, and the pitch angle deviation between the pitch target angle and the current pitch rotation angle, respectively, to obtain the dual-axis angle deviation. Based on the aforementioned dual-axis angle deviation, a dual-axis coordinated speed is planned to synchronize the rotation processes of horizontal steering and pitch steering, thereby generating the coordinated drive signal for the horizontal motor and the pitch motor. The coordinated drive signal is output to the horizontal motor and the pitch motor respectively, driving the fan oscillation mechanism to rotate in a dual-axis linkage, and feeding back the rotation angle status until the fan air delivery centerline is aligned with the target air delivery position.

[0013] In one embodiment, during the process of the smart fan blowing air towards the target air delivery position, human body detection is performed on all users in the space scene in front of the fan, and the facial orientation angle of each user is determined by a human pose estimation network. Compare the angle between the facial orientation angle of each user and the direction directly in front of the fan, and include users whose facial orientation angle is less than a preset angle threshold into the control candidate queue; When there are multiple candidate users in the control candidate queue, the distance between each candidate user and the smart fan is calculated, and the candidate user closest to the smart fan is selected as the target control user and given the wind direction control right. During the period when the target control user holds the wind direction control right, the spatial position change of the target control user's hand key points is detected. When a new stable pointing lock state is detected, the target air delivery position is updated and the smart fan is driven to synchronously follow the direction. If no user is detected in a stable pointing locked state within a continuously preset waiting time for turning, the wind direction control is released, and the smart fan is driven to return from the directional air supply mode to the default working mode.

[0014] In addition, to achieve the above objectives, this application also proposes an intelligent fan, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the somatosensory control method for the intelligent fan as described above.

[0015] In addition, to achieve the above objectives, this application also proposes a storage medium, which is a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, it implements the steps of the somatosensory control method for the intelligent fan as described above.

[0016] This application provides a motion-sensing control method for an intelligent fan, comprising: identifying key points of the human skeleton based on an image sequence of user limb movements; constructing a dynamic human coordinate system that adjusts with changes in human posture based on the relative spatial relationships of the key points of the human skeleton; determining a three-dimensional pointing ray from the shoulder to the hand in the human coordinate system; determining that the user is in a stable pointing locked state and outputting a lock trigger signal when the displacement change of the hand key point within a preset number of frames is less than a preset displacement threshold; and calculating and determining the coordinates of the intersection point between the extension of the pointing ray and the surface of an object in the space scene in front of the fan in response to the lock trigger signal. The system identifies the target air delivery location, calculates the angular deviation between the target air delivery location and the fan's air delivery centerline, and generates a collaborative drive signal to control the smart fan's dual-axis linkage to align with the target air delivery location. This solves the technical problems of existing smart fans, which require a handheld remote control, can only be controlled discretely through preset gestures, or can only track the human body and cannot point to arbitrary spatial locations, resulting in insufficient accuracy and naturalness of airflow control. It improves the intuitiveness and accuracy of fan airflow control, realizes a zero-wear, zero-contact, "what you see is what you get" haptic interaction experience, and expands the application scenarios of smart fans for air delivery to non-human targets such as the ground and walls.

[0017] In summary, this application constructs a dynamic human coordinate system by identifying key points of the human skeleton and generating directional rays. After locking and determining the location, the intersection of the directional rays and the spatial plane is calculated as the target air delivery position, and the dual-axis fan is driven to align and deliver air. This solves the technical problem of poor airflow control, improves control accuracy and natural interaction, and achieves the effect of "what you see is what you get". Attached Figure Description

[0018] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0019] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0020] Figure 1 This is a flowchart illustrating the first embodiment of the motion control method for the intelligent fan of this application; Figure 2 This is a schematic diagram of the control flow of the motion control method for the intelligent fan in this application; Figure 3 This is a schematic diagram of the architecture of the motion control system of the smart fan in this application; Figure 4This is a schematic diagram of the geometric model of the ray pointing towards the applicant's body; Figure 5 This is a flowchart illustrating the fifth embodiment of the motion control method for the intelligent fan of this application; Figure 6 This is a flowchart illustrating the eighth embodiment of the motion control method for the intelligent fan of this application; Figure 7 This is a schematic diagram of the structure of the intelligent fan in this application.

[0021] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0022] It should be understood that the specific embodiments described herein are merely illustrative of the technical solutions of this application and are not intended to limit this application.

[0023] In related technologies, smart fans typically adjust airflow direction using methods such as handheld remote controls, preset gesture control, or simple human body tracking. Remote control and preset gesture control rely on pre-defined command mappings, requiring users to actively operate the device or make specific gestures to trigger control commands. While human body tracking requires no operation, it can only direct airflow towards the user, not towards the ground, walls, or other spatial locations. These methods are difficult to adapt to contactless smart home scenarios, resulting in poor airflow control.

[0024] This application provides a solution: First, based on the image sequence of user limb movements, key points of the human skeleton are identified. A human coordinate system is constructed based on the relative spatial relationships of these key points, adjusting to changes in human posture. Then, based on the human coordinate system and the relative spatial relationships, a directional ray is determined within the human coordinate system. When the displacement change of the hand key point among the key points of the human skeleton is less than a preset displacement threshold within a preset number of frames, it is determined that the user is in a stable pointing locked state, and a lock trigger signal is output. In response to the lock trigger signal, the coordinates of the intersection point between the extension of the directional ray and the surface of an object in the space scene in front of the fan are calculated, and the intersection point coordinates are determined as the target air delivery position. Finally, the angular deviation between the target air delivery position and the fan's air delivery centerline is calculated, and a collaborative drive signal is generated based on the angular deviation to control the intelligent fan to deliver air to the target air delivery position.

[0025] It should be noted that the executing entity in this embodiment can be a computing service device with data processing, network communication, and program execution functions, such as a tablet computer, personal computer, or mobile phone, or an electronic device or smart fan capable of performing the above functions. The following description uses a smart fan as an example to illustrate this embodiment and the subsequent embodiments.

[0026] To better understand the technical solution of this application, a detailed description will be provided below in conjunction with the accompanying drawings and specific implementation methods.

[0027] This application provides a motion-sensing control method for an intelligent fan, referring to... Figure 1 , Figure 1 This is a flowchart illustrating the first embodiment of the motion control method for the intelligent fan of this application.

[0028] In this embodiment, the motion control method for the intelligent fan includes steps S10 to S50: Step S10: Identify key points of the human skeleton based on the image sequence of the user's limb movements, and construct a human coordinate system that adjusts with changes in human posture according to the relative spatial position relationship of the key points of the human skeleton.

[0029] The image sequence of user limb movements is a multi-frame image data containing changes in user limb posture, continuously acquired by the imaging unit on the fan host. Human skeletal keypoints are coordinate points describing the spatial position of key joints in the human body, including at least the left shoulder keypoint, right shoulder keypoint, elbow keypoint, and hand keypoint. The human coordinate system is a dynamic reference coordinate system with the midpoint of the line connecting the two shoulder keypoints as its origin, updated in real time with the human posture.

[0030] In this embodiment, key points of the human skeleton are identified based on image sequences of user limb movements, and a human coordinate system is constructed.

[0031] For example, there are three methods for human skeletal key point recognition and human coordinate system construction. The first method is a dual-mode simultaneous acquisition and edge-side inference method using color and depth imaging units integrated on the fan host. Real-time images containing user limb movements are simultaneously acquired by the color imaging unit and depth imaging unit integrated on the fan host. Pixel-level spatial registration is performed on the color and depth images to obtain a coordinate-aligned image sequence. The image sequence is input into a lightweight human pose estimation network deployed in the fan's built-in processing unit for inference operations, extracting the two-dimensional coordinates of the user's left shoulder, right shoulder, elbow, and hand skeletal key points in the image plane in real time. Then, the depth measurement values ​​of the corresponding pixel positions in the depth image are retrieved, and the two-dimensional coordinates of each skeletal key point are mapped back to three-dimensional spatial coordinates. Finally, a dynamic human coordinate system is constructed, updated in real time with the human posture, using the midpoint of the line connecting the left and right shoulder key points as the origin, the extension direction of the shoulder line as the horizontal reference axis, and the vertical direction of the human torso as the vertical reference axis. This method completes both acquisition and inference on the fan end, eliminating the need to upload to the cloud, resulting in low latency, protection of user privacy, and high accuracy in three-dimensional coordinate reconstruction.

[0032] The second method involves monocular color sequence acquisition and 3D pose inference. This method continuously acquires color images of the user's limb movements using a single color imaging unit. Multiple consecutive frames of color images are input into a 2D human pose estimation network to extract the 2D pixel coordinates of key points on each skeleton. Then, based on the motion parallax of key points between consecutive frames, motion recovery 3D structure calculations are performed. Combined with prior proportional constraints of the human skeleton, the depth information of each key point is completed, resulting in the 3D spatial coordinates of each skeleton key point. Finally, a dynamic human coordinate system is constructed with the midpoint of the line connecting the left and right shoulder key points as the origin. This method requires only a single color imaging unit, has low hardware costs, and is suitable for cost-sensitive fan products.

[0033] The third approach involves panoramic fisheye image acquisition and multi-target global optimization. This method uses a fisheye panoramic imaging unit to capture images within a large field of view in front of the fan. After distortion correction of the fisheye image, multi-human pose estimation is performed. Simultaneously, the skeletal keypoints of all users within the scene are identified. Then, based on the relative positions of each user and the fan, global coordinate system calibration is performed, constructing a dynamic human coordinate system for each user with its origin at the midpoint of their shoulder. A unified spatial index is applied to all coordinate systems. This method offers a large field of view and can simultaneously support pose perception and coordinate system management for multiple users.

[0034] Before identifying key points of the human skeleton, the activation conditions for imaging acquisition can be determined based on the following methods. One option is to use a human presence detection trigger. A built-in human presence sensor continuously monitors the area in front of the fan. When a human is detected entering the sensing range, the imaging unit automatically starts acquiring image sequences of the user's limb movements. This method allows imaging acquisition to be turned off when no one is present, reducing device power consumption. Another option is to use a voice wake-up trigger. The fan continuously detects preset wake-up keywords. When the user speaks the wake-up keyword, the imaging unit starts acquiring image sequences and enters posture recognition mode. This method provides clear interaction and avoids accidental triggering.

[0035] In an exemplary scheme for determining key points of the human skeleton and the human coordinate system, the color imaging unit and the depth imaging unit are first activated to synchronously acquire continuous color and depth frames. Then, pixel-level registration is performed to align and map the pixel coordinates of the color and depth frames, generating a fused image frame. Next, the fused image frame is input into a lightweight human pose estimation network for inference, outputting the two-dimensional pixel coordinates of key points on the left shoulder, right shoulder, elbow, and hand. Then, the depth values ​​of the corresponding pixel positions of each key point are retrieved, converting the two-dimensional pixel coordinates into three-dimensional spatial coordinates. The midpoint of the line connecting the left and right shoulder key points is then calculated as the origin, with the shoulder line direction as the horizontal reference axis and the torso direction as the vertical reference axis, completing the construction of a dynamic human coordinate system. Finally, the three-dimensional spatial coordinates of each skeletal key point and the human coordinate system parameters are output to the pointing ray determination module for subsequent pointing ray generation.

[0036] It should be noted that in some special cases, when there are multiple users in the screen, an independent dynamic human coordinate system is constructed for each user, and a unique user identifier is assigned to each coordinate system. Subsequent ray determination and locking judgment are performed independently based on the user identifier to avoid coordinate confusion among multiple users.

[0037] Step S20: Determine the pointing ray in the human body coordinate system based on the human body coordinate system and the relative spatial position relationship.

[0038] A directional ray is a three-dimensional directed line segment in the human body coordinate system that originates from the origin and extends along the direction of key points on the hand. It is used to represent the spatial direction in which the user's limbs point. The relative spatial position relationship is the relationship between the coordinate differences and directions of the key points on each skeleton in the human body coordinate system.

[0039] In this embodiment, the relative spatial position relationship between the human body coordinate system and each skeletal key point is used as input to determine the pointing ray in the human body coordinate system.

[0040] For example, there are three ways to determine the pointing ray. The first is the direct connection method from the shoulder origin. This method transforms and maps the three-dimensional spatial coordinates of the hand key points from the global spatial coordinate system to the dynamic human body coordinate system, calculates the relative position vector of the hand key points relative to the coordinate origin, uses the coordinate origin as the ray origin and the spatial direction of the relative position vector as the ray direction, generates a three-dimensional pointing ray that passes through the hand key points from the midpoint of the shoulder. The relative position vector is then normalized to obtain a unit direction vector. Based on the projection components of the unit direction vector on each reference axis of the human body coordinate system, the azimuth and pitch angles of the pointing ray are calculated, completing the parameterization of the pointing ray. This method directly represents the pointing direction with the shoulder-hand connection line, conforms to human intuition, and requires less computation.

[0041] The second method is the elbow joint constraint correction method. First, an initial pointing ray is generated with the midpoint of the shoulder as the origin and the key point of the hand as the endpoint. Then, the spatial position of the elbow key point is introduced as a constraint condition. The upper arm direction vector from the shoulder to the elbow and the forearm direction vector from the elbow to the hand are calculated. The degree of arm bending is determined based on the angle between the upper arm direction vector and the forearm direction vector. When the degree of arm bending exceeds a preset bending threshold, the forearm direction vector is used to replace the direction of the shoulder-hand connection as the direction of the pointing ray, correcting the initial pointing ray to obtain the elbow-constrained corrected pointing ray. This method considers the impact of arm bending on pointing accuracy, accurately representing the true pointing direction even when the user bends their arm, avoiding angular errors caused by the deviation of the shoulder origin and the hand connection from the actual pointing direction.

[0042] The third method is a temporal multi-frame smoothing filtering approach. This method extracts the 3D spatial coordinate sequence of hand keypoints from multiple consecutive frames, performs Kalman filtering on the coordinate sequence to predict and correct the current optimal spatial coordinates of the hand keypoints, and then generates a directional ray using the filtered optimal coordinates of the hand keypoints and the shoulder midpoint coordinates. Simultaneously, a moving average filter is applied to the azimuth and pitch angles of the directional ray generated from multiple consecutive frames to obtain a smooth and stable directional ray. This method suppresses keypoint detection jitter through temporal filtering, resulting in a stable and smooth directional ray direction, avoiding directional ray jumps caused by single-frame keypoint detection noise.

[0043] Before determining the pointing ray, the reference for coordinate transformation can be determined based on the following methods. In one option, a fixed global coordinate system reference is used, with the geometric center of the fan unit as the origin of the global coordinate system. The transformation matrix between the global coordinate system and each user's human coordinate system is pre-calibrated. When determining the pointing ray, the key point coordinates are uniformly transformed to the global coordinate system for calculation. This method has a fixed reference, facilitating unified management of multi-user coordinates. In another option, a local human coordinate system reference is used. The generation of the pointing ray and angle calculation are completed directly within each user's own dynamic human coordinate system. The local-to-global transformation is only performed when interaction with the fan coordinate system is required. This method reduces unnecessary coordinate transformations and has high computational efficiency.

[0044] In an exemplary scheme for determining the pointing ray, the three-dimensional spatial coordinates of key points of each human skeleton and the parameters of the dynamic human coordinate system are first loaded. Then, a coordinate transformation is performed to transform the global three-dimensional coordinates of the hand key points to the dynamic human coordinate system, obtaining the relative position vector of the hand key points relative to the origin. Next, an initial pointing ray is generated, with the origin as the starting point and the direction of the relative position vector as the direction. Then, elbow constraint verification is performed, calculating the angle between the upper arm direction vector and the forearm direction vector. When the angle exceeds a preset bending threshold, the direction of the pointing ray is corrected using the forearm direction vector. The pointing ray is then normalized, and its azimuth and pitch angle parameters are calculated. Finally, the parameterized pointing ray is output to the lock-state determination module for subsequent recognition of stable pointing intentions.

[0045] It should be noted that in some special cases, when the user's hand key points are obscured or the detection confidence is lower than the preset threshold, the elbow key point substitution scheme is activated. The spatial position of the elbow key point temporarily replaces the hand key point to generate a pointing ray, and the ray is marked as a low confidence ray. After the hand key point is detected again, the system will automatically switch back to the pointing ray generated by the hand key point.

[0046] Step S30: When the displacement change of the hand key point in the human skeleton is less than the preset displacement threshold within a preset number of frames, it is determined that the user is in a stable pointing locked state and a lock trigger signal is output.

[0047] The displacement change is the magnitude of the three-dimensional spatial displacement vector of the hand keypoint between adjacent frames, used to characterize the degree of change in hand position. The locked state is the interactive state in which the user's hand maintains a stable pointing direction, intending to confirm the air delivery target. The lock trigger signal is the control trigger signal output when the locked state is established, used to initiate the calculation of the target air delivery position.

[0048] In this embodiment, the spatial position changes of key points on the hand are continuously detected. When the displacement change is less than a preset displacement threshold for a preset number of frames, it is determined that the user is in a stable pointing locked state and a lock trigger signal is output.

[0049] For example, there are three methods for determining the locked state. The first is a fixed window displacement threshold determination method. This method extracts the three-dimensional spatial coordinates of key hand points frame by frame from continuously captured multiple frames. A time sequence of hand key point coordinates is constructed according to the frame capture sequence. A sliding window method is used to calculate the magnitude of the three-dimensional spatial displacement vector of the hand key points between adjacent frames in the time sequence, resulting in a sequence of displacement changes over multiple frames. Each item in the displacement change sequence is compared with a preset displacement threshold. When the displacement change within a preset number of consecutive frames is less than the preset displacement threshold, a stable pointing determination result is generated. The user interaction state is then switched from a free pointing state to a stable pointing locked state, and a lock trigger signal is output on the rising edge of the state switch. This method is logically simple and stable, with clear determination conditions, and is easy to implement.

[0050] The second method is an adaptive threshold and trend stability determination approach. First, it statistically analyzes the displacement distribution of natural hand tremors based on historical user pointing behavior data, dynamically generating a displacement threshold adapted to the current user. Then, it calculates the first-order differential displacement change and second-order differential acceleration change of the hand's key point coordinate time sequence. When the first-order differential displacement change within a preset number of consecutive frames is less than the adaptive displacement threshold and the second-order differential acceleration change is less than the preset acceleration threshold, the hand is determined to be not only positionally stable but also exhibiting a smooth movement trend. A pointing stability determination result is generated, and a lock trigger signal is output. This method adapts the threshold to the tremor characteristics of different users and introduces motion trend determination, effectively distinguishing between active fine-tuning of the hand's pointing and unconscious tremors, resulting in a low false positive rate.

[0051] The third method is the pointing ray angle stability determination method. It generates pointing rays for each frame from multiple consecutive frames, calculates the azimuth and pitch angles of the pointing ray in each frame, and calculates the changes in azimuth and pitch angles between adjacent frames. When the changes in azimuth and pitch angles within a preset number of consecutive frames are both less than a preset angle threshold, the user's pointing direction is determined to be stable, a pointing stability determination result is generated, and a lock trigger signal is output. This method determines the stability based on the pointing direction rather than the stability of the hand position. Even if the user's shoulder moves slightly but the pointing direction remains unchanged, it can still correctly determine the locked state, avoiding lock release caused by slight movements of the entire body.

[0052] Before determining the lock state, the preset frame rate and preset threshold can be determined based on the following methods. One option uses fixed parameter configuration, where both the preset frame rate and preset displacement threshold are factory-preset fixed values, such as 15 frames per second and 5 centimeters for the preset displacement threshold. This fixed parameter is used uniformly for all user scenarios. This method offers uniform parameters and is easy to debug. Another option uses scene-dynamic adaptation parameters. The preset frame rate and preset displacement threshold are dynamically adjusted based on the current frame rate, the distance between the user and the fan, and the detection confidence of the user's hand. When the distance is greater, the displacement threshold is appropriately increased; when the frame rate is higher, the preset frame rate is appropriately increased, ensuring a consistent perceived lock determination time across different scenarios. This method has strong adaptability and provides a consistent lock experience across different distances and frame rates.

[0053] In an exemplary scheme for determining the locked state, the three-dimensional spatial coordinates of multiple consecutive frames are first extracted from the key hand points corresponding to the pointing ray, constructing a coordinate temporal sequence. Then, a sliding window is used to calculate the displacement change between adjacent frames, obtaining a displacement change sequence. Next, each item in the displacement change sequence is compared with a preset displacement threshold, and the number of consecutive frames with values ​​less than the threshold is counted. When the number of consecutive frames with values ​​less than the threshold reaches a preset number, a pointing stability determination result is generated. The user interaction state is then switched from a free pointing state to a locked state, and a lock trigger signal is output at the state switching edge. Finally, the lock trigger signal is output to the target air supply position calculation module to initiate the calculation of the intersection coordinates.

[0054] It should be noted that in some special cases, when an item in the displacement change sequence exceeds the preset displacement threshold, the displacement over-limit continuous counting is started. The cumulative displacement change is continuously greater than the preset displacement threshold for a certain number of frames. When the cumulative number of frames reaches the preset release frame number, it is determined that the user has exited the stable pointing lock state, the target air supply position corresponding to the currently locked pointing is cleared, the air direction control is released, and the fan is driven back to the default working mode.

[0055] Step S40: In response to the lock trigger signal, calculate the coordinates of the intersection point between the extension of the pointing ray and the surface of an object in the space scene in front of the fan, and determine the intersection point coordinates as the target air delivery position.

[0056] The intersection coordinates are the three-dimensional spatial coordinates of the point where the ray, extended along its pointing direction, intersects with the spatial plane in the scene in front of the fan. The target air delivery position is the spatial target point that the fan's air delivery centerline needs to be aligned with, determined by the intersection coordinates. The spatial plane includes the ground, walls, and the surfaces of objects in the scene.

[0057] In this embodiment, in response to the lock trigger signal, the pointing ray is extended along the pointing direction, and the coordinates of its intersection with the surface of an object in the space scene in front of the fan are calculated to determine the target air delivery position.

[0058] For example, there are three methods for calculating the intersection coordinates. The first method is a combination of depth plane segmentation and ray plane solving. In response to a lock trigger signal, the spatial scene in front of the fan is segmented based on the depth value distribution in the depth image. Candidate spatial planes such as the ground, walls, and object surfaces are identified. The spatial equation parameters of each candidate spatial plane are extracted. The three-dimensional pointing ray is parametrically extended from the location of the hand key point along the pointing direction to generate the parametric equation of the ray extension line covering the effective air supply range in front of the fan. The parametric equation of the ray extension line is solved simultaneously with the spatial equations of each candidate spatial plane to calculate the set of candidate intersection point coordinates where the ray extension line intersects with each candidate spatial plane. From the set of candidate intersection point coordinates, the effective intersection point that is within the fan's field of view and closest to the fan is selected, and the spatial coordinates of this effective intersection point are determined as the target air supply position. This method performs plane segmentation based on depth information, has high intersection point calculation accuracy, and supports various plane types such as the ground and walls.

[0059] The second method involves semantic segmentation target recognition and ray-based target intersection. Responding to a lock trigger signal, semantic segmentation is performed on the color image to identify semantic target regions such as the ground, wall, and furniture areas in front of the fan. A corresponding spatial surface equation is fitted to each semantic target region. Then, the extension of the pointing ray is intersected with the spatial surface equation of each semantic target region to obtain candidate intersection points. The final intersection point is selected based on the priority of the semantic target pointed to by the user: the ground intersection point is selected when the pointing ray points to the ground area, and the wall intersection point is selected when it points to the wall area. The coordinates of the selected intersection point are determined as the target air delivery location. This method incorporates semantic information and can intelligently select intersection points based on target category, avoiding the selection of incorrect intersection points when the ray penetrates multiple surfaces.

[0060] The third method involves 3D voxel space projection and nearest surface intersection. Responding to a lock trigger signal, a 3D voxel occupancy grid is constructed based on the depth image to represent the space in front of the fan. Each voxel is marked as occupied or vacant. A directional ray is projected step-by-step in the voxel space along its pointing direction, detecting the occupancy status voxel by voxel. When the ray first encounters an occupied voxel, the center point of the surface closest to the ray's origin on that voxel is taken as the intersection point coordinates, which are then determined as the target air delivery location. This method eliminates the need for explicit fitting of plane equations, directly projecting rays into voxel space. It is suitable for irregular objects with complex surface shapes and exhibits strong robustness in intersection point calculation.

[0061] Before calculating the intersection coordinates, the recognition range of the spatial plane can be determined based on the following methods. One option is to use full-scene plane recognition, performing full plane segmentation on the depth image within the entire field of view in front of the fan, identifying all detectable spatial planes, and including all planes in the candidate intersection range. This method is comprehensive and will not miss any potential pointing targets. Another option is to use local region recognition in the pointing direction, performing plane segmentation only on the local depth image within a preset angle range around the extension of the pointing ray, identifying candidate spatial planes within the local region and performing intersection calculations. This method has low computational cost and fast intersection point calculation speed.

[0062] In an exemplary scheme for determining the target air supply position, a lock trigger signal is first received to initiate the target air supply position calculation process. Then, spatial plane segmentation is performed based on the current depth image, identifying candidate spatial planes such as the ground, walls, and object surfaces, and extracting their spatial equation parameters. Next, the pointing ray is parameterized and extended along its pointing direction, generating the parametric equation of the ray extension line. Then, the parametric equation of the ray extension line is solved simultaneously with the spatial equations of each candidate spatial plane to obtain a set of candidate intersection point coordinates. Next, the effective intersection point, located within the fan's field of view and closest to the fan, is selected from the candidate intersection point set. Finally, the spatial coordinates of this effective intersection point are determined as the target air supply position and output to the wind direction control module for subsequent calculation of angle deviation and fan direction control.

[0063] It should be noted that in some special cases, when the extension of the pointing ray does not intersect with any spatial plane within the effective air supply range of the fan, it is determined that the pointing is out of the effective range, the target air supply position is not generated, and the user is prompted to adjust the pointing direction through the fan indicator light or voice prompt. The intersection calculation is automatically restored after the pointing ray re-enters the effective range.

[0064] Step S50: Calculate the angular deviation between the target air delivery position and the fan air delivery centerline, and generate a cooperative drive signal based on the angular deviation to control the smart fan to deliver air to the target air delivery position.

[0065] The angular deviation is the angular difference between the desired airflow direction corresponding to the target airflow position and the current airflow centerline direction of the fan, including horizontal and pitch angular deviations. The coordinated drive signal is a control signal generated based on the angular deviation, used to simultaneously drive the horizontal and pitch motors. The airflow centerline is the geometric central axis of the fan's airflow direction.

[0066] In this embodiment, the angular deviation between the target air delivery position and the fan air delivery centerline is calculated. Based on the angular deviation, a coordinated drive signal is generated to control the horizontal motor and the pitch motor of the smart fan to rotate in conjunction, so that the air delivery centerline is aligned with the target air delivery position to deliver air.

[0067] For example, the generation of the collaborative drive signal and the fan alignment control methods include three types. The first is a dual-axis decoupled independent drive method. This method acquires the current horizontal and pitch angles of the fan oscillation mechanism, determines the current pointing attitude of the fan's airflow centerline in the global spatial coordinate system, transforms the spatial coordinates of the target airflow position to the fan's own coordinate system, calculates the target horizontal and pitch angles required to align the airflow centerline with the target airflow position, calculates the horizontal angle deviation between the target horizontal angle and the current horizontal angle, and the pitch angle deviation between the target pitch angle and the current pitch angle, respectively, and generates independent drive signals for the horizontal motor and the pitch motor based on the horizontal angle deviation. These signals are output to the horizontal and pitch motors, respectively, driving the two axes to rotate independently until their respective angle deviations return to zero. This method features decoupled dual-axis control, allowing each axis to adjust independently, resulting in simple control logic.

[0068] The second method is a dual-axis coordinated speed planning drive. After calculating the horizontal and pitch angle deviations, it performs dual-axis coordinated speed planning based on the proportional relationship between the two-axis angle deviations. This ensures that the horizontal and pitch rotation processes start and stop synchronously, meaning the horizontal and pitch motors start simultaneously and reach the target angle at the same time. It generates coordinated drive signals for the horizontal and pitch motors, which are then output to the two motors to drive the fan oscillation mechanism to rotate in a dual-axis linkage. This allows the air delivery centerline to smoothly align with the target air delivery position along a straight spatial trajectory. This method features synchronous dual-axis linkage, ensuring the air delivery centerline follows a straight trajectory during fan rotation, resulting in a smooth and natural rotation process. It avoids the stepped rotation experience where one axis reaches its position first while waiting for the other.

[0069] The third method is a closed-loop feedback model predictive adaptive drive. This method establishes a dynamic model of the fan oscillation mechanism. Based on the current horizontal rotation angle, pitch angle, horizontal angle deviation, pitch angle deviation, and the current motor speed, a model predictive control algorithm continuously optimizes the motor drive for future control cycles within each control cycle. This generates adaptive coordinated drive signals for the horizontal and pitch motors, driving the fan to rotate. Simultaneously, the rotation angle feedback signal is collected in real time to correct model prediction deviations until the air delivery centerline is aligned with the target air delivery position. This method uses a dynamic model for predictive control, considering motor inertia and mechanical delay, resulting in fast steering response, low overshoot, and high alignment accuracy.

[0070] Before generating the coordinated drive signal, the control parameters of the drive signal can be determined based on the following methods. In one option, fixed proportional-derivative control parameters are used. The control parameters for both the horizontal and pitch motors are factory-pre-configured fixed values, including proportional gain, derivative gain, and maximum speed limit. These fixed parameters are used uniformly for drive control in all scenarios. This method offers stable parameters and mature debugging. In another option, adaptive angle deviation parameters are used. The control parameters are dynamically adjusted according to the magnitude of the current angle deviation. When the angle deviation is large, high gain is used for rapid steering; when the angle deviation is small, low gain is used for precise positioning, achieving adaptive switching between rapid coarse alignment and slow fine alignment. This method balances steering speed and alignment accuracy.

[0071] In an exemplary scheme for determining the coordinated drive signal and controlling fan alignment, the current horizontal and pitch angles of the fan oscillation mechanism are first acquired to determine the current pointing attitude of the air delivery centerline. Then, the spatial coordinates of the target air delivery position are transformed to the fan's own coordinate system, and the target horizontal and pitch angles are calculated. Next, the horizontal and pitch angle deviations are calculated separately. Then, coordinated speed planning is performed based on the dual-axis angle deviations to synchronize the horizontal and pitch rotations, generating a coordinated drive signal. This coordinated drive signal is then output to the horizontal and pitch motors respectively, driving the dual-axis linkage rotation. Finally, the angle status is fed back in real time until the air delivery centerline is precisely aligned with the target air delivery position, completing wind direction control and entering directional air delivery mode.

[0072] It should be noted that in some special cases, when the horizontal or pitch angle corresponding to the target air supply position exceeds the mechanical limit range of the fan oscillation mechanism, the target angle is restricted to the mechanical limit boundary, the fan is driven to rotate to the limit boundary to supply air, and the indicator light will indicate to the user that the target position has exceeded the reachable range, so as to avoid the motor from being blocked and damaged due to overtravel drive.

[0073] Further, please refer to Figure 2 , Figure 2 This is a schematic diagram of the control flow of the motion-sensing control method for the intelligent fan of this application. Figure 2As shown, after the process begins, the imaging unit on the fan host first acquires a sequence of user images. Based on the image sequence of the user's limb movements, pose estimation (PE) is performed, extracting key points of the human skeleton such as shoulder key points, elbow key points, and hand key points. A human coordinate system is constructed based on the relative spatial relationships of these key points, adjusting to changes in human posture. Next, a pointing ray (PR) R is generated in the human coordinate system based on the relative spatial relationships. Intent recognition and locking determination are then performed. If the displacement change of the hand key point within the human skeleton is less than a preset displacement threshold within a preset number of frames, it is determined as yes, entering a locking state and outputting a locking trigger signal; if no, the process returns to the step of acquiring the user image sequence to continue detection. In response to the locking trigger signal, the coordinates P(x,y,z) of the intersection point between the extension of the pointing ray and the surface of an object in the space scene in front of the fan are calculated, and these intersection coordinates are determined as the target air delivery position. The angular deviation between the target air delivery position and the fan's centerline is then calculated. Based on this angular deviation, a pulse width modulation (PWM) collaborative drive signal is generated to drive the horizontal and vertical motors, causing the fan to align with point P for air delivery. During the air delivery process, it is continuously determined whether the pointing state is still locked: if so, the process returns to the step of calculating the intersection of the pointing ray and the spatial plane to update the target air delivery position in real time and follow synchronously; if not, the process ends.

[0074] Second Embodiment This embodiment provides an exemplary scheme for identifying key points of the human skeleton and constructing a human coordinate system. In this example, the real-time images of the user's limb movements are first acquired through the color imaging unit and depth imaging unit of the smart fan, and pixel-level spatial registration is performed to obtain a coordinate-aligned image sequence. Then, the image sequence is inferred and calculated using a human pose estimation network to determine the two-dimensional coordinates of key points of the shoulders, elbows, and hands. Based on the depth measurement values ​​of the depth image, the two-dimensional coordinates are mapped back to three-dimensional spatial coordinates, and the relative spatial positional relationships are determined. Finally, a human coordinate system that adjusts with changes in human posture is constructed with the midpoint of the line connecting the key points of the shoulders as the dynamic origin. Step S10 includes steps A11 to A14: Step A11: Acquire real-time images of the user's limb movements through the color imaging unit and depth imaging unit of the smart fan, and perform pixel-level spatial registration on the real-time images to obtain the coordinate-aligned image sequence.

[0075] Step A12: Perform inference operations on the image sequence using the human pose estimation network of the smart fan to determine the two-dimensional coordinates of the human skeletal key points corresponding to the user's shoulders, elbows, and hands in the image plane.

[0076] Step A13: Based on the depth measurement values ​​corresponding to the key points of the human skeleton in the depth image of the image sequence, the two-dimensional coordinates are mapped back to three-dimensional spatial coordinates to determine the relative spatial position relationship of the key points of the human skeleton.

[0077] Step A14: Using the midpoint of the line connecting the key points of both shoulders as the dynamic origin for direction determination, and combining the relative spatial position relationship, construct the human body coordinate system that adjusts with changes in human posture.

[0078] Real-time footage is a collection of color and depth frames synchronously acquired by the color imaging unit and depth imaging unit, containing user limb movement information. It is the object of pixel-level spatial registration. Pixel-level spatial registration is a correction process that maps the pixel coordinates of color and depth frames to each other, and is a fundamental operation to ensure the accuracy of subsequent 3D coordinate reconstruction of skeletal key points. The human pose estimation network is a lightweight neural network model deployed in the fan's built-in processing unit, used to identify and locate key human joints in images. It is the core computational unit for extracting the 2D coordinates of human skeletal key points. 2D coordinates are the pixel position coordinates of human skeletal key points in the image plane, including horizontal and vertical coordinates. Depth measurement values ​​are values ​​acquired by the depth imaging unit that represent the distance between each pixel's corresponding spatial point in the image and the imaging unit. 3D spatial coordinates are the spatial position coordinates of human skeletal key points in the global spatial coordinate system, including coordinate components in the horizontal, vertical, and depth dimensions.

[0079] The relative spatial position relationship refers to the coordinate difference and direction vector relationship between the three-dimensional spatial coordinates of each key point of the human skeleton. It is the core basis for constructing the human coordinate system and determining the pointing rays. The dynamic origin is the origin of the coordinate system that is updated in real time with changes in human posture. In this embodiment, it is the midpoint of the line connecting the key points of both shoulders.

[0080] In this example, when acquiring real-time images of user limb movements using the color imaging unit and depth imaging unit and performing pixel-level spatial registration to obtain an image sequence, the process can be performed using hardware synchronous triggering and calibration parameter mapping. The same trigger signal simultaneously drives the color imaging unit and depth imaging unit to capture images, ensuring that the timestamps of the color and depth frames are completely consistent. Then, the factory-calibrated intrinsic and extrinsic parameter matrices and distortion coefficients between the color and depth imaging units are called to perform coordinate transformation on each pixel coordinate of the color frame, mapping it to the pixel coordinate system of the depth frame, thus completing pixel-level spatial registration between the color and depth images and obtaining a coordinate-aligned image sequence. Alternatively, software feature matching and parallax correction can be used. While acquiring color and depth frames, corner and edge features in the color frames are extracted. The extracted features are matched and aligned with the corresponding depth transition edges in the depth frames. Based on the matching results, translation, rotation, and scaling correction parameters between the two frames are calculated. Parallax correction and pixel mapping are performed frame by frame, accumulating to obtain a coordinate-aligned image sequence, thereby completing the real-time image acquisition and registration.

[0081] After image sequence acquisition and registration, the inference process of the human pose estimation network is initiated. The coordinate-aligned image sequence is input into the network, and for each frame of the fused image sequence, feature extraction, keypoint heatmap prediction, and keypoint coordinate decoding are performed sequentially to determine the two-dimensional coordinates of the human skeletal keypoints corresponding to the user's left shoulder, right shoulder, elbow, and hand in the image plane. Then, according to the acquisition sequence of the image sequence, the two-dimensional coordinates of the human skeletal keypoints in all frames are arranged to obtain a temporal sequence of keypoint two-dimensional coordinates. Next, based on this temporal sequence, the coordinate displacement of the same keypoint between adjacent frames is compared. Abnormal frames with coordinate jumps exceeding a preset threshold are identified, and temporal interpolation correction is performed on the keypoint coordinates of these abnormal frames. Based on the corrected temporal sequence, stable two-dimensional coordinates of each keypoint are determined using a preset mapping rule. This temporally correlated keypoint inference and abnormal frame correction improve the detection stability of the two-dimensional coordinates of human skeletal keypoints, avoiding coordinate jumps caused by single-frame detection jitter.

[0082] For example, there are two methods for determining the two-dimensional coordinates of human skeletal key points by performing inference operations on image sequences using a human pose estimation network. The first method is single-frame independent inference, where each frame of the image sequence is independently input into the human pose estimation network. Feature extraction and key point heatmap prediction are performed separately for each frame. The pixel position with the highest response value in the heatmap is taken as the two-dimensional coordinate of the corresponding human skeletal key point in that frame. After determining the two-dimensional coordinates of all key points frame by frame, the set of two-dimensional coordinates of key points for each frame is output according to the acquisition time sequence. This method adopts the computational logic of frame-decoupled frame-by-frame independent inference and heatmap peak decoding. By performing independent operations and peak localization for each frame, it avoids the problems of inter-frame error accumulation and time sequence dependence, and restores the true key point positions of human pose in each frame.

[0083] The second approach involves temporal correlation and multi-frame joint inference. This method reads the image sequence and analyzes inter-frame optical flow features. Based on the motion trends of key points across multiple consecutive frames, it performs temporal feature fusion. The image features of the current frame and its preceding and following frames are weighted and fused before being input into a human pose estimation network for joint inference. In the key point heatmap prediction stage, the positions of key points from previous frames are introduced as prior constraints. The heatmap response values ​​and prior position constraints are weighted and fused to decode the two-dimensional coordinates of the human skeleton key points in the current frame. Simultaneously, low-confidence key points with confidence levels below a preset threshold are marked, providing a quality reference for subsequent 3D coordinate reconstruction. This method employs a computational logic of multi-frame temporal feature fusion and prior position constraint joint inference. Through pre-processing inter-frame optical flow analysis and temporal feature weighting, it pre-determines the motion trends of human key points, reducing missed and false detections of key points due to local occlusion or motion blur.

[0084] After determining the 2D coordinates of key points in the human skeleton, the process of restoring 3D spatial coordinates is initiated. For the 2D coordinates of each key point, the depth measurement value of the corresponding pixel position in the depth image is retrieved. The 2D coordinates and depth measurement values ​​are combined with the intrinsic parameter matrix of the imaging unit to perform back projection calculation. The 2D pixel coordinates of each key point are mapped and restored to 3D spatial coordinates in the global spatial coordinate system in turn. Then, according to the category of key points, the 3D spatial coordinates of the left shoulder, right shoulder, elbow, and hand are grouped and arranged to obtain a set of 3D coordinates of key points. Then, based on the set of 3D coordinates of key points, the shoulder line direction vector between the left and right shoulders, the upper arm direction vector between the midpoint of the shoulder and the elbow, and the forearm direction vector between the elbow and the hand are calculated. The magnitude and angle of each direction vector are counted. Based on each direction vector, the relative spatial position relationship of the key points of the human skeleton is determined by preset rules. In this way, the accuracy of 3D spatial coordinate restoration and relative position relationship determination is improved by back projection with depth constraints and multi-vector relationship modeling, avoiding spatial relationship distortion caused by missing depth or coordinate mapping deviation.

[0085] For example, there are two methods for mapping and restoring two-dimensional coordinates to three-dimensional spatial coordinates based on depth measurements to determine relative spatial relationships. The first is direct depth mapping and restoration. Based on the original pixel positions bound to the two-dimensional coordinates of keypoints, starting from the initial pixel position of the depth image, the depth pixels corresponding to the two-dimensional coordinates of each keypoint are located sequentially. The depth measurement value of that pixel position is read. After each keypoint's depth value is read, a back projection operation is simultaneously performed in conjunction with the imaging unit's intrinsic parameter matrix to convert the two-dimensional pixel coordinates and depth measurement value into three-dimensional spatial coordinates. If the depth measurement value is valid, the corresponding three-dimensional spatial coordinates are added to the keypoint's three-dimensional coordinate set, and the number of restored keypoints is continuously accumulated. If the depth measurement value is missing or exceeds the valid range, the direct restoration process for the current keypoint is terminated, and depth interpolation of adjacent keypoints is used to complete the restoration. After all keypoints have completed depth reading and coordinate restoration, the three-dimensional spatial coordinates of all keypoints are summarized and statistically analyzed. The direction vector and coordinate difference between each keypoint are calculated to determine the relative spatial relationship. This method employs a pixel-based point-by-point depth reading and back projection transformation calculation logic. By acquiring point-by-point depth and transforming coordinates to match the original pixel positions, it avoids the problem of mismatch between depth values ​​and pixel positions and restores the true spatial distribution of key points of the human skeleton.

[0086] The second method involves depth completion and multi-view constraint restoration. It reads the depth image and performs global depth distribution analysis. Based on the effective depth regions in the depth image, it performs depth completion processing, filling in missing depth regions using neighborhood depth interpolation and prior human skeleton proportion constraints to generate a complete depth map. The boundary nodes between the completed region and the original effective region are then marked. Simultaneously, 3D coordinate restoration processing is initiated for the 2D coordinates of all keypoints. At each keypoint location, back projection is performed using the depth value from the complete depth map and the imaging unit intrinsic parameter matrix to obtain preliminary 3D coordinates. These preliminary 3D coordinates are then verified and corrected based on prior human skeleton proportion constraints, and the 3D coordinates of keypoints conforming to the skeleton proportion constraints are statistically analyzed. After the 3D coordinate restoration and correction of all keypoints are completed, the 3D spatial coordinates of all keypoints are summarized, and the relative spatial relationships between each keypoint are calculated. This method employs a global depth completion and skeleton prior constraint verification calculation logic. Through pre-processing depth distribution analysis and missing region completion, it preemptively repairs invalid regions in the depth image, reducing the failure of keypoint 3D coordinate restoration due to depth loss.

[0087] After determining the relative spatial relationships of key points in the human skeleton, the process of constructing a human coordinate system is initiated. The midpoint of the line connecting the left and right shoulder key points in 3D space is calculated and used as the dynamic origin for pointing determination. Then, based on the shoulder line direction vector in the relative spatial relationships, the horizontal reference axis direction is determined, and based on the torso direction vector, the vertical reference axis direction is determined. A human coordinate system is established, adjusting to changes in human posture, with the dynamic origin as the coordinate origin and the horizontal and vertical reference axes as reference axes. Subsequently, the 3D spatial coordinates of each key point in the human skeleton are transformed into this human coordinate system to obtain the relative coordinates of each key point. Next, the orthogonality and scale consistency of the coordinate system are verified based on the relative coordinates. If the verification passes, the human coordinate system parameters and the relative coordinates of each key point are output; if the verification fails, the reference axis direction correction is re-executed until the verification passes. In this way, by constructing a coordinate system with a dynamic origin and posture-adaptive reference axes, the fit between the human coordinate system and the user's actual posture is improved, avoiding deviations in pointing ray directions caused by a fixed coordinate system.

[0088] For example, there are two ways to construct a human coordinate system that adjusts with changes in human posture, using the midpoint of the line connecting the two shoulder key points as the dynamic origin. The first method directly constructs the coordinate system using the shoulder line reference axis. The midpoint of the line connecting the left and right shoulder key points is calculated as the dynamic origin. The projection direction of the shoulder line direction vector in the horizontal plane is taken as the horizontal reference axis, and the direction perpendicular to the horizontal plane upwards is taken as the vertical reference axis. The human coordinate system is directly established using the dynamic origin as the origin and the horizontal and vertical reference axes as orthogonal reference axes. After the coordinate system is constructed, the coordinates of all key points are transformed to this coordinate system and output. This method uses the calculation logic of directly establishing the coordinate system with a fixed shoulder line projection axis and orthogonal axes. By combining the horizontal projection of the shoulder line direction with a fixed vertical direction, it avoids the interference of the human torso tilt on the coordinate system direction, restoring a stable pointing reference space based on the human shoulder.

[0089] The second method involves constructing an adaptive reference axis for torso posture. This method performs joint analysis on the shoulder line direction vector and torso direction vector in their relative spatial relationship. Based on the spatial relationship between the midpoints of the shoulders and key points on the neck, it calculates the torso tilt angle. The vertical reference axis is then adaptively corrected according to this tilt angle to ensure consistency with the torso direction. Using the corrected vertical reference axis as a reference, the shoulder line direction vector is projected onto a plane perpendicular to the vertical reference axis as a horizontal reference axis. A human coordinate system is established with the midpoint of the line connecting the shoulders as the dynamic origin, adaptively adjusting to the torso posture. Simultaneously, extreme posture scenarios where the torso tilt angle exceeds a preset threshold are marked, providing posture reference for subsequent ray determination. This method employs a computational logic of torso tilt analysis and adaptive reference axis correction. Through prior joint analysis of torso posture and dynamic correction of the vertical axis, it pre-adapts to non-upright postures such as bending over or turning sideways, reducing coordinate system reference deviations caused by torso tilt.

[0090] Further, please refer to Figure 3 , Figure 3 This is a schematic diagram of the architecture of the motion-sensing control system for the intelligent fan of this application. Figure 3As shown, the vision-based intelligent fan motion control system includes a camera module (i.e., image acquisition module) installed on the top of the fan unit. This camera module uses a combination of red-green-blue (RGB) cameras and time-of-flight (ToF) depth cameras to acquire image sequences containing user body movements in real time. A pose estimation module deployed in the fan's built-in neural processing unit (NPU, i.e., edge AI processing unit) runs a lightweight human pose estimation neural network model to identify and extract the user's shoulder, elbow, and hand key points from the image sequences in real time. The pointing calculation module constructs a dynamic coordinate system with the midpoint of the shoulder as the origin based on the relative spatial relationship between the shoulder and hand key points and generates a three-dimensional pointing ray R from the midpoint of the shoulder to the hand key point. The intent determination module determines that the user has entered a locked pointing state when the spatial displacement change of the hand key point within a preset number of consecutive frames is less than a preset threshold. The control execution module then determines the user's position based on the specified parameters. When the pointing mode is locked, the coordinates of the intersection point of the extension of the pointing ray R with the ground, wall, or target object surface within the fan's field of view are calculated as the target point P(x,y,z). This drives the oscillating mechanism, which includes a horizontal motor and a pitch motor, to align the fan's airflow centerline with the target point P(x,y,z). The multi-user arbitration module determines the facing angle of each user's face and includes only users whose faces are facing the fan in the control candidate queue. If multiple users meet the criteria, the user closest to the fan is selected to gain control. If there is no locked pointing mode for a preset period of time, the control is automatically released and the system returns to the default working mode. The corresponding method includes: image acquisition to obtain red, green and blue images and depth data; pose estimation to extract shoulder key points, elbow key points and hand key points; establishing a dynamic human coordinate system with the midpoint of the line connecting the left and right shoulders as the origin and generating a three-dimensional pointing ray R and calculating its azimuth and pitch angles; continuously detecting changes in the position of the hand key points and determining that the pointing lock state is entered when the displacement change is less than five centimeters within fifteen consecutive frames; extending the pointing ray R forward and calculating the coordinates of its intersection with the spatial plane as the target point P(x,y,z); generating PWM control signals for the horizontal motor and pitch motor based on the deviation between the target point coordinates and the current air supply center line of the fan to drive the fan to turn and align with the target point P; continuously detecting changes in the position of the hand key points in the pointing lock state, updating the target point coordinates in real time and driving the fan to follow synchronously until the user releases the pointing lock state or the control is released.

[0091] Third Embodiment This embodiment provides an exemplary scheme for determining a pointing ray in a human coordinate system. In this example, the three-dimensional spatial coordinates of key hand points are first transformed and mapped from the global spatial coordinate system to the human coordinate system, and the relative position vector relative to the dynamic origin is calculated. Then, an initial ray is generated passing through the key hand points, with the dynamic origin as the ray origin and the spatial direction of the relative position vector as the ray direction. Based on the relative position vector, a normalization operation is performed to obtain a unit direction vector. Finally, the azimuth and pitch angles are calculated based on the projection components of the unit direction vector on each reference axis to determine the pointing ray. Step S20 includes steps B11 to B14: Step B11: Transform and map the three-dimensional spatial coordinates of the key hand points from the global spatial coordinate system to the human body coordinate system, and calculate the relative position vector of the key hand points relative to the dynamic origin by combining the relative spatial position relationship.

[0092] Step B12: Using the dynamic origin as the ray starting point and the spatial direction of the relative position vector as the ray direction, generate an initial ray that passes through the key point of the hand from the dynamic origin.

[0093] Step B13: Normalize the relative position vector to obtain the unit direction vector.

[0094] Step B14: Based on the projection components of the unit direction vector on each reference axis of the human coordinate system, calculate the azimuth angle of the initial ray relative to the horizontal reference axis and the pitch angle relative to the horizontal plane, and determine the pointing ray based on the azimuth angle and the pitch angle.

[0095] The global spatial coordinate system is a fixed spatial reference coordinate system established with the geometric center of the fan host as the origin. It serves as the original representation benchmark for the three-dimensional spatial coordinates of the hand keypoints. The relative position vector is a directed line segment pointing from the dynamic origin to the hand keypoints, representing the spatial offset and direction of the hand keypoints relative to the dynamic origin. The initial ray is a three-dimensional directed line segment extending along the direction of the relative position vector from the dynamic origin; it represents the unparalleled original form of the pointing ray. The normalization operation is a mathematical operation that scales the magnitude of a vector to a unit length while maintaining its direction. It is the core operation for generating unit direction vectors. The unit direction vector is a direction vector with a magnitude of one, representing only spatial direction and not containing distance information.

[0096] The reference axes are orthogonal reference axes in the human coordinate system, including the horizontal and vertical reference axes. Projection components are the orthogonal projection values ​​of a unit direction vector onto each reference axis, and are the fundamental data for calculating azimuth and elevation angles. The azimuth angle is the horizontal deflection angle of a pointing ray relative to the horizontal reference axis in the horizontal plane. The elevation angle is the vertical tilt angle of a pointing ray relative to the horizontal plane.

[0097] In this example, when transforming the 3D spatial coordinates of hand keypoints from the global coordinate system to the human coordinate system to calculate the relative position vector, it can be done by directly mapping using a pre-calibrated transformation matrix. This involves calling the factory-calibrated rotation matrix and translation vector between the global and human coordinate systems, left-multiplying the global 3D spatial coordinates of the hand keypoints by the rotation matrix, and then superimposing the translation vector to complete the coordinate transformation to the human coordinate system in one step. The transformed hand keypoint coordinates are then subtracted from the dynamic origin coordinates to calculate the relative position vector of the hand keypoints relative to the dynamic origin. Alternatively, a real-time adaptive pose transformation can be used. This involves simultaneously reading the 3D spatial coordinates of each skeletal keypoint in the current frame and dynamically calculating the rotation and translation parameters of the current human coordinate system relative to the global coordinate system based on the real-time poses of the shoulder and elbow keypoints. An adaptive transformation matrix is ​​generated frame by frame, and coordinate mapping is performed, accumulating the coordinates and relative position vectors of the hand keypoints in the human coordinate system for each frame. This completes the coordinate transformation and the calculation of the relative position vector.

[0098] After calculating the relative position vector, the initial ray generation process is initiated. Using the three-dimensional spatial coordinates of the dynamic origin as the ray's starting point coordinates and the spatial direction of the relative position vector as the ray's direction, an initial ray is generated from the dynamic origin along the direction of the relative position vector, traversing key points of the hand. Subsequently, a normalization operation is performed on the relative position vector, calculating its magnitude and dividing each component by the magnitude to obtain the unit direction vector. Then, based on the projection components of the unit direction vector onto the horizontal and vertical reference axes of the human coordinate system, the azimuth angle of the initial ray relative to the horizontal reference axis and the pitch angle relative to the horizontal plane are calculated using inverse trigonometric functions. The azimuth and pitch angle parameters are then bound to the initial ray to obtain the final determined pointing ray. This layered processing of coordinate transformation, ray generation, normalization, and angle calculation improves the accuracy and parameter completeness of the pointing ray's direction representation, avoiding subsequent intersection point calculation deviations caused by missing angle parameters.

[0099] For example, there are two methods for calculating the azimuth and pitch angles based on the projection components of the unit direction vector on each reference axis of the human coordinate system to determine the pointing ray. The first method is direct calculation using the arctangent function. Based on the horizontal and vertical reference axis projection components bound to the unit direction vector, starting from the initial position of the projection components, the horizontal and vertical projection components of the horizontal reference axis are sequentially selected to perform arctangent calculations. After each set of projection components has undergone arctangent calculation, it is simultaneously determined whether the calculated angle value is within a preset valid angle range. If it is within the valid range, the corresponding angle value is added to the pointing ray parameter set, and the number of calculated angle parameters is continuously accumulated. If it exceeds the valid range, the direct calculation process for the current angle is terminated, and the projection component sign correction is enabled before recalculation. After all the azimuth and pitch angles have undergone arctangent calculation and range verification, all angle parameters of the pointing ray are summarized and statistically obtained. The angle parameters are then bound to the initial ray to obtain the determined pointing ray. This method employs a calculation logic of dynamic accumulation of the projection component's arctangent dimensionally and the range verification. By performing dimensionally angle calculation and range verification that conforms to the reference axis projection, it avoids the problems of misjudgment and over-boundary of angle quadrants and restores the true spatial orientation of the pointing ray in the human coordinate system.

[0100] The second method involves interpolation and table lookup of projection component ratios. This method reads the projection components of each reference axis of the unit direction vector and analyzes the global component distribution. Based on the ratio characteristics between projection components, it performs interval division, grouping projection components with ratios within the same preset interval into the same angle lookup interval. It also marks the boundary nodes between intervals, generating multiple angle lookup intervals that are computationally independent. Then, parallel lookup processing is initiated simultaneously for all divided angle lookup intervals. Within each interval, the projection component ratios are compared with entries in the preset angle lookup table. Linear interpolation is used to calculate the azimuth and elevation angles within the corresponding interval, and angle parameters meeting accuracy requirements are statistically analyzed. After all parallel lookup and interpolation for all angle lookup intervals are completed, all angle parameters are summarized, and the azimuth and elevation angles are bound to the initial ray to obtain a defined pointing ray. This method employs a calculation logic of projection ratio interval division and parallel table lookup interpolation across the entire interval. By pre-clustering of projection component ratios and pre-division of intervals, the angle range of the pointing ray is locked in advance, reducing the real-time computation of the arctangent function and improving the execution speed of angle calculation.

[0101] Further, please refer to Figure 4 , Figure 4 This is a schematic diagram of the geometric model of the ray pointing towards the applicant's body. For example... Figure 4As shown, this schematic diagram uses a three-dimensional coordinate system (3DCS) as a spatial reference, with the x-axis, y-axis, z-axis, and the origin Oc. On the human side, the left shoulder point J1, right shoulder point J2, the midpoint of the shoulder (i.e., the origin O), the elbow key point E1, and the hand key point H1 are marked. The midpoint of the line connecting the left shoulder point J1 and the right shoulder point J2 is the origin O. A straight line with an arrow is drawn from the origin O through the hand key point H1 and marked as the pointing ray R. In the three-dimensional coordinate system, the angle between the pointing ray R and the x-axis in the horizontal direction is the azimuth angle β, and the angle between the pointing ray R and the horizontal plane in the vertical direction is the pitch angle α. Based on this geometric model, the user's shoulder key points (including left shoulder point J1 and right shoulder point J2), elbow key point E1, and hand key point H1 are first identified. The midpoint of the line connecting left shoulder point J1 and right shoulder point J2 is calculated as the origin O. With the origin O as the ray starting point and the direction from the origin O to the hand key point H1 as the ray direction, an arrowed ray R is generated starting from point O and passing through H1. The ray R is then projected onto the horizontal plane of the three-dimensional coordinate system, and the angle between it and the horizontal direction of the x-axis is calculated to obtain the azimuth angle β. The vertical angle between the ray R and the horizontal plane is calculated to obtain the pitch angle α. Thus, the parameterized construction of the human body ray geometric model including the origin O, the ray R, the azimuth angle β, and the pitch angle α is completed.

[0102] Fourth embodiment This embodiment provides an exemplary scheme for determining a stable pointing lock state and outputting a lock trigger signal. In this example, the three-dimensional spatial coordinates of the hand key points are first determined frame by frame from multiple frames of an image sequence, and a coordinate time sequence is constructed according to the acquisition time sequence. Then, the magnitude of the three-dimensional spatial displacement vector of the hand key points between adjacent frames is calculated using a sliding window method to obtain a displacement change sequence. Based on the displacement change sequence, a pointing stability determination result is generated when the displacement change sequence is compared with a preset displacement threshold and is less than the threshold within a consecutive preset number of frames. Finally, based on the pointing stability determination result, the user interaction state is switched from a free pointing state to a locked state, and a lock trigger signal is output on the rising edge. Step S30 includes steps C11 to C14: Step C11: Determine the three-dimensional spatial coordinates of the key points of the hand frame by frame from the multiple frames of the image sequence, and construct the coordinate time sequence of the key points of the hand according to the image acquisition time sequence.

[0103] Step C12: Calculate the magnitude of the three-dimensional spatial displacement vector of the hand key points between adjacent frames in the coordinate time sequence using a sliding window method to obtain a sequence of displacement changes for multiple consecutive frames.

[0104] Step C13: Compare the displacement changes in the displacement change sequence with the preset displacement threshold one by one. When the displacement changes within the preset number of consecutive frames are all less than the preset displacement threshold, generate a pointing stability determination result.

[0105] Step C14: Based on the pointing stability determination result, switch the user interaction state from the free pointing state to the locked state of the stable pointing state, and output the locking trigger signal on the rising edge of the state switch.

[0106] The coordinate time sequence is an ordered set of three-dimensional spatial coordinates of hand keypoints arranged according to the frame capture sequence, serving as the fundamental data for calculating displacement changes. The sliding window is a time window that slides continuously at a fixed length across the coordinate time sequence, used to limit the data range for displacement calculations between adjacent frames. The magnitude is the length of the three-dimensional spatial displacement vector, i.e., the spatial displacement distance of the hand keypoints between adjacent frames. The displacement change sequence is an ordered set of displacement vector magnitudes from multiple consecutive frames arranged in time sequence, serving as the core basis for determining pointing stability. The pointing stability determination result is a Boolean-type determination signal generated when the displacement change within a consecutive preset number of frames is less than a preset displacement threshold, indicating that the user's hand pointing has reached a stable state.

[0107] User interaction state describes the current stage of the user's interaction with the fan, including free pointing and locked states. The free pointing state is the interaction stage where the user's hand is not yet stable and the pointing direction is still being adjusted. The locked state is the interaction stage where the user's hand maintains a stable pointing direction, intending to confirm the airflow target. The rising edge of the state transition is the instant the user interaction state jumps from the free pointing state to the locked state, and it is the timing for the lock trigger signal to be output.

[0108] In this example, when determining the 3D spatial coordinates of hand keypoints frame by frame from multiple frames of an image sequence to construct a coordinate temporal sequence, a fixed-length circular buffer can be used. A circular buffer with a fixed capacity is pre-allocated. Each time the 3D spatial coordinates of the hand keypoints in a new frame are determined, these coordinates are written to the current write position in the circular buffer, and the write pointer is advanced. When the buffer is full, the oldest coordinate data is overwritten, always retaining the 3D spatial coordinates of the hand keypoints from the most recent preset number of frames, forming a coordinate temporal sequence according to the frame capture sequence. Alternatively, a dynamic length construction method can be used, triggering events. While detecting the start event of the user's finger-raising action, the 3D spatial coordinates of the hand keypoints are accumulated and stored starting from the frame corresponding to the start event, until the user lowers their arm or a locked state is established. This dynamically generates the coordinate temporal sequence within the corresponding interaction cycle, thus completing the construction of the coordinate temporal sequence.

[0109] After constructing the coordinate time sequence, the displacement change calculation process is initiated. A sliding window continuously slides across the coordinate time sequence at fixed steps. For each pair of adjacent frame coordinates within the sliding window, the 3D spatial displacement vector of the hand keypoints between the two frames is calculated, and its magnitude is determined. Then, following the original order of the coordinate time sequence, the magnitudes of the displacement vectors of all adjacent frames are arranged to obtain the displacement change sequence. Next, based on the displacement change sequence, the relationship between each displacement change and a preset displacement threshold is compared, and the number of frames continuously less than the preset displacement threshold is counted. When the number of consecutive frames less than the threshold reaches a preset number, a pointing stability determination result is generated. Based on this determination result, the user interaction state is switched from a free pointing state to a locked state through state machine switching rules, and a lock trigger signal is output on the rising edge. This layered processing of time-series coordinate acquisition, sliding window displacement calculation, continuous threshold determination, and state machine switching improves the accuracy and anti-jitter capability of the locked state determination, avoiding false or missed locks caused by momentary hand movements.

[0110] For example, there are two methods for comparing the displacement change sequence with a preset displacement threshold to generate a pointing stability determination result. The first method is a fixed threshold frame-by-frame comparison and continuous counting. Based on the original image acquisition time sequence bound to the displacement change sequence, starting from the beginning of the sequence, two adjacent displacement changes in time sequence are selected for threshold comparison. After each frame of displacement change threshold comparison is completed, it is simultaneously determined whether the corresponding displacement of the frame is less than the preset displacement threshold. If it is less than the threshold, the corresponding frame is added to the continuous stable frame set, and the number of continuous stable frames is continuously accumulated. If it is greater than or equal to the threshold, the accumulation process of the current continuous stable frame is terminated, the continuous counter is cleared, and the determination and accumulation of the next continuous stable frame begins. After all displacement changes have been compared and determined, a pointing stability determination result is generated when the accumulated number of continuous stable frames reaches the preset number of frames. This method uses a time-locked frame-by-frame threshold comparison and breakpoint-based dynamic accumulation calculation logic. By comparing sequentially with the original acquisition time sequence and dynamically accumulating continuous frames, it avoids the problem of misstatistics in non-continuous frames and restores the actual stable and continuous situation of the user's hand pointing.

[0111] The second method involves parallel determination of displacement interval clustering and interval stability. It reads the displacement change sequence and analyzes the global displacement distribution. Based on the overall distribution characteristics of the displacement changes in the sequence, it performs clustering processing, dividing displacement values ​​that are consecutive in time within the same preset fluctuation range into the same stable feature interval. Instability boundary nodes between intervals are marked, generating multiple stable feature intervals that are computationally independent of each other. Then, parallel stability verification is simultaneously initiated for all the divided stable feature intervals. Within each stable feature interval, all displacement changes are compared to a preset displacement threshold to verify whether all displacement changes are less than the preset threshold. The number of consecutive frames within an interval that meets the overall stability requirement is counted. After all the parallel verification and statistics for all stable feature intervals are completed, a stability determination result is generated when a stable interval with a preset number of consecutive frames exists. This method employs a computational logic of global displacement clustering interval division and full-interval parallel stability verification. By performing pre-processing global displacement distribution clustering, it pre-identifies potential stable intervals where the user's hand is pointing, reducing the number of invalid frame-by-frame threshold comparisons.

[0112] Furthermore, taking the living room scenario as an example, we will explain the intelligent fan direction locking method based on the stability determination of hand key point displacement. This method is used to solve the problem that when users control the fan direction by pointing with their limbs, the natural micro-movement of the hand causes inaccurate locking determination, easy accidental triggering, or locking delay. In this scenario, the user sits on the sofa and points to a corner to control the fan's airflow direction. The smart fan determines the 3D spatial coordinates of the hand's key points frame by frame from a multi-frame image sequence. It constructs a Coordinate TimeSeries (CTS) of the hand's key points according to the image acquisition sequence. Using a sliding window (SW), it calculates the magnitude of the 3D spatial displacement vector (3DSDV) of the hand's key points between adjacent frames in the coordinate timeseries, obtaining a Displacement Change Value Sequence (DCVS) for multiple consecutive frames. The displacement changes in this sequence are compared one by one with a preset displacement threshold (PDT). When the displacement changes within a preset number of consecutive frames (PFN) are all less than the preset displacement threshold, a Pointing Stability Determination Result (PSDR) is generated. Based on the PSDR, the user interaction state (UIS) is changed from the free pointing state (FPS). The system switches from the State to the Locking State (LS) for stable pointing and outputs a Locking Trigger Signal (LTS) on the rising edge of the state switch to start the subsequent target air supply position calculation. This allows for accurate identification of the user's stable pointing intention through continuous frame displacement stability determination, avoiding false locking or locking delay caused by natural hand shaking.

[0113] Fifth embodiment This embodiment provides an exemplary scheme for unlocking and resetting the system. In this example, items in the displacement change sequence exceeding a preset displacement threshold are first accumulated for consecutive frames to obtain a continuous displacement over-limit count. Then, the continuous displacement over-limit count is compared with a preset unlock frame count. When the preset unlock frame count is reached, it is determined that the user has exited the locked state, and a lock-unlock trigger signal is generated. Based on the lock-unlock trigger signal, the current target airflow position is cleared, and the directional following of the fan oscillation mechanism is terminated. This ultimately releases airflow control and drives the fan to smoothly switch from directional airflow mode to the default operating mode to complete the system reset. Please refer to... Figure 5 , Figure 5 This is a flowchart illustrating the fifth embodiment of the motion control method for the intelligent fan of this application. Following step C12, steps D11-D14 are also included: Step D11: Accumulate the number of consecutive frames for items in the displacement change sequence that are greater than the preset displacement threshold to obtain a continuous count value of displacement exceeding the limit.

[0114] Step D12: Compare the continuous displacement over-limit count value with the preset release frame number. When the continuous displacement over-limit count value reaches the preset release frame number, determine that the user has exited the stable pointing lock state and generate a lock release trigger signal.

[0115] Step D13: In response to the lock release trigger signal, clear the target air supply position corresponding to the current lock pointing, and terminate the directional following of the fan oscillation mechanism to the target air supply position.

[0116] Step D14: Release the current user's control over the airflow direction of the smart fan, and drive the smart fan to smoothly switch from directional airflow mode to the default working mode, so as to complete the exit from the locked state and system reset.

[0117] The continuous displacement over-limit count is the number of frames in the displacement change sequence that are consecutively greater than a preset displacement threshold. It is the core counting indicator for determining whether the user has exited the locked state. The preset release frame count is a pre-set minimum number of consecutive over-limit frames required to determine whether the locked state has been released. The lock release trigger signal is a pulse-type control signal generated when the continuous displacement over-limit count reaches the preset release frame count. It is used to initiate the lock exit and system reset process. The fan oscillation mechanism is the mechanical actuator that drives the fan to rotate horizontally and pitch, including a horizontal motor and a pitch motor. Directional following is the control process in which the fan oscillation mechanism adjusts its rotation in real time to keep the air delivery centerline continuously aligned with the target air delivery position.

[0118] Wind direction control is the exclusive right of a user to control the direction of the fan airflow, and only one user can have this right at a time. Directional airflow mode is the operating mode where the fan's center line is fixedly aligned with the target airflow location for continuous airflow. Default operating mode is the normal operating mode when the fan is not being controlled by the user, such as the default oscillation mode or fixed-angle airflow mode. System reset is the process of restoring the fan's control status, target parameters, and control rights to their initial default state.

[0119] In this example, when accumulating consecutive frames of displacement changes exceeding a preset displacement threshold in the displacement change sequence to obtain a continuous displacement over-limit count, it can be done by comparing the threshold frame by frame and incrementing the count. Starting from the beginning of the displacement change sequence, the displacement change is read frame by frame, and each frame's displacement change is compared with the preset displacement threshold. When the displacement change is greater than the preset displacement threshold, the over-limit counter is incremented; when the displacement change is less than or equal to the preset displacement threshold, the over-limit counter is reset to zero, and the current value of the over-limit counter is output in real time as the continuous displacement over-limit count. Alternatively, it can be done by clustering and statistically analyzing over-limit intervals. While reading the displacement change sequence, consecutive frame intervals exceeding the preset displacement threshold are identified, and the number of frames in each over-limit interval is statistically marked. The number of frames in the currently ongoing over-limit interval is taken as the continuous displacement over-limit count, thus completing the accumulation of the continuous displacement over-limit frame count.

[0120] After accumulating the continuous displacement over-limit count, the lock release determination process is initiated. The continuous displacement over-limit count is compared with a preset release frame count. When the continuous displacement over-limit count reaches the preset release frame count, it is determined that the user has exited the stable pointing lock state, and a lock release trigger signal is generated. Subsequently, in response to the lock release trigger signal, the target air delivery position data corresponding to the current locked pointing is cleared, and a control command to stop directional following is sent to the fan oscillation mechanism, terminating the real-time steering and following of the target air delivery position by the horizontal and pitch motors. Then, the current user's control over the fan's airflow direction is released, and the control ownership identifier is cleared. The intelligent fan is driven to smoothly switch from directional air delivery mode to the default working mode through a gradual transition in speed and angle. In this way, through the layered processing of over-limit accumulation, release determination, target clearing, permission release, and mode switching, the accuracy of exiting the lock state and the smoothness of mode switching are improved, avoiding mis-extraction or sudden mode changes caused by instantaneous hand displacement.

[0121] For example, there are two methods for comparing the continuous displacement overrun count with a preset release frame count to determine if the user has exited the locked state and generate a lock release trigger signal. The first method is to determine the value frame by frame using a fixed frame threshold. Based on the original image acquisition sequence bound to the continuous displacement overrun count, starting from the beginning of the count, the updated continuous displacement overrun count for each frame is compared with the preset release frame count. After each frame comparison, it is simultaneously determined whether the count has reached the preset release frame count. If not, the locked state is maintained and the overrun frame count is continuously accumulated. If it has reached the preset release frame count, the current locked state maintenance process is terminated, a lock release trigger signal is generated, and the lock exit and system reset process is initiated. After the lock release trigger signal is generated, the displacement overrun counter is cleared and the determination logic is reset. This method uses a time-locked frame-by-frame count comparison and a threshold-triggered determination logic. By comparing the count with the threshold in accordance with the original acquisition sequence, it avoids the problem of erroneous accumulation of non-continuous overrun frames and restores the actual continuous situation of the user's hand leaving the stable pointing position.

[0122] The second method involves weighted over-limit amplitude and adaptive release determination. This method reads the displacement change sequence and analyzes the global over-limit distribution. Based on the amplitude characteristics of the over-limit displacement in the sequence, weighting is applied, assigning higher release weights to frames with larger over-limit amplitudes. The weights of temporally consecutive over-limit frames are accumulated to generate a weighted release count. Non-over-limit boundary nodes between over-limit intervals are marked, generating multiple over-limit intervals that are computationally independent of each other. Parallel release verification is then initiated synchronously for all divided over-limit intervals. Within each over-limit interval, the weight values ​​of all over-limit frames are accumulated, and the weighted cumulative value of the interval is checked to see if it reaches a preset weighted release threshold. Intervals that meet the release conditions are counted. Once all parallel verifications for all over-limit intervals are completed, if a current over-limit interval has a weighted cumulative value that reaches the release threshold, the user is determined to exit the locked state, and a lock release trigger signal is generated. This method employs a computational logic of weighted interval division based on excessive amplitude and parallel release verification across the entire interval. By performing weighted interval division based on excessive amplitude and interval clustering in advance, it can lock the potential release interval for large hand movements in advance, reducing the release delay caused by relying solely on frame count determination and improving the response speed to user-initiated cancellation of pointing actions.

[0123] Furthermore, taking a study room scenario as an example, this illustrates the automatic exit and system reset method for the smart fan's directional locking state. This method addresses the issue of the fan failing to exit the directional airflow mode promptly after the user stops pointing, continuing to point at a space where airflow is no longer needed, resulting in energy waste and a poor user experience. In this scenario, after the user completes directional airflow, lowers their arm, and turns away from the desk, the smart fan accumulates the number of consecutive frames for items in the displacement change sequence that exceed a preset displacement threshold, obtaining a Displacement Exceeding Continuous Count Value (DECCV). Comparing the Displacement Exceeding Continuous Count Value with a preset release frame number (PRFN), when the Displacement Exceeding Continuous Count Value reaches the preset release frame number, it determines that the user has exited the stable pointing locking state and generates a Lock Release Trigger Signal (LRTS). In response to the lock release trigger signal, the target air supply position (TAP) corresponding to the current lock is cleared, and the directional following (DF) of the fan oscillation mechanism (FOM) to the target air supply position is terminated. The current user's wind direction control (WDC) is released, and the smart fan is driven to smoothly switch from the directional air supply mode (DAM) to the default working mode (DWM) to complete the exit of the smart fan pointing lock state and system reset (SR). Thus, by accumulating consecutive over-limit frames to determine the termination of the user's pointing intention, the automatic exit of the lock state and the smooth recovery of the working mode are achieved.

[0124] Sixth Embodiment This embodiment provides an exemplary scheme for calculating the intersection point of a pointing ray and a spatial plane and determining the target air delivery position. In this example, firstly, in response to a lock trigger signal, the spatial scene in front of the fan is segmented into planes based on the depth measurement value distribution of the depth image to determine candidate spatial planes and spatial equation parameters. Then, the pointing ray is parameterized and extended along the pointing direction to generate the ray extension line parametric equation. Based on the ray extension line parametric equation and the spatial equation parameters of each candidate spatial plane, the coordinate set of candidate intersection points is obtained by solving the system of equations simultaneously. Finally, the target intersection point located within the fan's field of view and closest to the fan is selected from the candidate intersection point coordinate set and determined as the target air delivery position. Step S40 includes steps E11~E14: Step E11: In response to the lock trigger signal, perform planar segmentation of the space scene in front of the fan based on the depth measurement value distribution in the depth image, and determine the candidate spatial planes of the object surface and their corresponding spatial equation parameters.

[0125] Step E12: Parametrically extend the pointing ray from the location of the key hand point along the direction of the pointing ray to generate a parametric equation for the ray extension line covering the effective air delivery range in front of the fan.

[0126] Step E13: Solve the parametric equations of the ray extension line and the spatial equations of each candidate spatial plane simultaneously to obtain the set of coordinates of the candidate intersection points where the ray extension line intersects with each candidate spatial plane.

[0127] Step E14: Select the target intersection point that is within the fan's field of view and closest to the fan from the candidate intersection point coordinate set, and determine the spatial coordinates of the target intersection point as the target air supply position.

[0128] Plane segmentation is an image processing procedure that divides the space in front of the fan into multiple approximate planar regions based on the distribution of depth measurements. Candidate spatial planes are spatial planes obtained from plane segmentation that may intersect with the pointing ray, including the ground, walls, and object surfaces. Spatial equation parameters are the equation coefficients describing the position and orientation of the candidate spatial plane in the global spatial coordinate system, including the plane normal vector and plane constant terms. Parametric extension is a mathematical operation that extends the pointing ray from its origin along its direction into a parametric straight line containing parameter variables. The effective air delivery range is the spatial range allowed by the mechanical limit of the fan's oscillation mechanism.

[0129] The parametric equation of a ray extension is a parameterized mathematical expression representing the spatial coordinates of any point on the ray using parameter variables. Solving simultaneously involves substituting the parametric equation of the ray extension into the spatial equations of the candidate spatial planes to solve for the intersection point parameter values. The set of candidate intersection point coordinates is the set of spatial coordinates of all intersection points of the ray extension with all candidate spatial planes. The fan's field of view is the spatial region jointly defined by the imaging unit's visible angle and the fan's reach. The target intersection point is the effective intersection point selected from the set of candidate intersection point coordinates, located within the fan's field of view and closest to the fan.

[0130] In this example, when performing planar segmentation of the space scene in front of the fan based on the distribution of depth measurements in the depth image to determine candidate spatial planes and spatial equation parameters, it can be done using a depth gradient edge detection and region growing plane fitting approach. First, the depth gradient between adjacent pixels in the depth image is calculated, and edge pixels with depth gradients exceeding a preset gradient threshold are marked, dividing the depth image into multiple depth-continuous regions. Then, least-squares plane fitting is performed on each depth-continuous region, calculating the corresponding plane normal vector and plane constant term. Regions with fitting residuals less than a preset residual threshold are determined as candidate spatial planes, and their spatial equation parameters are output. Alternatively, a random sampling consistency plane segmentation approach can be used. While reading the depth measurements from the depth image, three points are randomly sampled in the 3D point cloud to calculate the candidate plane equation. The number of interior points that conform to the plane equation is counted, and the plane with the most interior points is iteratively selected as a candidate spatial plane, and its interior points are removed. This process is repeated until the remaining point cloud is insufficient, accumulating all candidate spatial planes and their spatial equation parameters, thus completing the planar segmentation of the space scene in front of the fan.

[0131] After determining the candidate spatial planes and their spatial equation parameters, the process for generating the ray extension parametric equations is initiated. The pointing ray is parametrically extended from the location of the hand key point along its pointing direction. Using the 3D coordinates of the hand key point as the ray's starting point and the unit direction vector of the pointing ray as its direction, ray parameter variables are introduced, and their value range is set to cover the effective airflow range in front of the fan, generating the ray extension parametric equations. Subsequently, the ray extension parametric equations are solved simultaneously with the spatial equation parameters of each candidate spatial plane. Substituting these values ​​into the calculations, the coordinates of the candidate intersection points where the ray extension intersects with each candidate spatial plane are obtained. All candidate intersection points are arranged according to the order of the candidate spatial planes to obtain a set of candidate intersection point coordinates. Next, based on this set, each candidate intersection point is iterated to verify whether it is within the fan's field of view and its distance from the fan is calculated. The target intersection point, located within the fan's field of view and closest to the fan, is selected, and its spatial coordinates are determined as the target airflow location. By employing a layered processing approach involving depth plane segmentation, ray parameterization extension, simultaneous intersection calculation, and nearest neighbor selection, the accuracy and robustness of the target air supply location calculation are improved, avoiding deviations in the air supply target caused by insufficient plane identification or improper intersection point selection.

[0132] For example, there are two methods for solving the parametric equations of the ray extension line and the spatial equations of each candidate spatial plane simultaneously to obtain the set of candidate intersection point coordinates. The first method is a sequential solution plane by plane. According to the plane segmentation sequence bound to the candidate spatial planes, starting from the beginning of the candidate spatial plane set, the spatial equation parameters of each candidate spatial plane and the parametric equations of the ray extension line are selected sequentially for substitution and solution. After completing the simultaneous solution for each candidate plane, it is simultaneously determined whether the calculated intersection point parameter value is within the valid range of the ray parameters. If it is within the valid range, the corresponding intersection point coordinates are added to the candidate intersection point coordinate set, and the number of valid intersection points is continuously accumulated. If it exceeds the valid range, the solution result collection for the current plane is terminated, and the simultaneous solution for the next candidate plane begins. After all candidate spatial planes have completed the simultaneous solution and range determination, the spatial coordinate set of all valid candidate intersection points is summarized and statistically obtained. This method employs a time-locked, plane-by-plane substitution solution and a dynamic accumulation calculation logic for range verification. By combining the time sequence of plane segmentation with effective range verification, it avoids the problem of erroneous intersection of ray backward extensions and restores the actual intersection distribution of directional rays in the space in front of the fan.

[0133] The second method involves grouping plane normals and performing parallel intersection calculations across all groups. This process reads the candidate spatial plane set and analyzes the global normal distribution. Based on the orientation characteristics of the normal vectors of each candidate spatial plane, clustering is performed, dividing planes with normal vectors within the same preset angle range and spatially continuous into the same planar feature group. Discontinuous boundary nodes between groups are marked, generating multiple planar feature groups that are computationally independent. Then, parallel simultaneous solution processing is initiated for all the divided planar feature groups. Within each planar feature group, the spatial equations of each candidate spatial plane and the parametric equations of the ray extensions are substituted and solved one by one. The parameter values ​​of all intersection points within the group are verified to be within the effective range of the rays, and the coordinates of candidate intersection points that meet the effective range requirement are counted. After all the parallel solutions and verifications for all planar feature groups are completed, the spatial coordinates of all valid candidate intersection points are summarized to obtain the candidate intersection point coordinate set. This method employs a computational logic of planar normal clustering grouping and parallel solution of the entire group. By performing pre-processing planar normal distribution clustering, planes with similar orientations are grouped and processed in parallel in advance, reducing the cumulative time consumption of serial plane-by-plane solution and improving the execution efficiency of intersection point calculation.

[0134] Furthermore, taking a single-person scenario as an example, the directional airflow method is explained. This method addresses the problem of users wanting to improve airflow in the corner next to the sofa in a living room, but traditional remote controls are cumbersome to operate and cannot accurately point to any spatial location. In this scenario, there is only one user in the room. After the fan is turned on, the compact camera module (CCM) begins to capture images in real time. The user wants the airflow to be directed to the corner next to the sofa, so they naturally raise their arm, point to that corner, and hold their hand still for about 0.5 seconds. The pose estimation module (PEM) identifies the key points of the user's left shoulder, right shoulder, right elbow, and right hand. The pointing calculation module (PCM) generates a ray R from the midpoint of the shoulder to the right hand. The intention determination module (IDM) detects that the displacement change of the hand within fifteen frames is less than five centimeters, and determines that the pointing state is locked. The control execution module (CEM) calculates the coordinates P of the intersection point of ray R and the wall at the corner, and drives the horizontal motor (HM) and the pitch motor (PM). The system (Motor) ensures that the fan's airflow centerline is accurately aligned with point P to begin blowing air. When the user moves their finger to point to another location, the system updates the target point in real time and drives the fan to follow synchronously. Two seconds after the user lowers their arm, the system releases control, and the fan returns to the default oscillation mode, thus achieving a precise, targeted airflow experience in a single-person scenario with zero wear and zero contact.

[0135] Seventh Embodiment This embodiment provides an exemplary scheme for controlling a fan to align with a target air delivery position based on a cooperative drive signal generated from dual-axis angular deviation. In this example, the current pointing attitude of the fan's air delivery centerline is first determined based on the current horizontal and pitch angles of the fan's oscillation mechanism. Then, the spatial coordinates of the target air delivery position are transformed to the fan's own coordinate system to calculate the horizontal and pitch target angles. Based on the target angles and the current angles, the horizontal and pitch angle deviations are calculated to obtain the dual-axis angular deviation. Subsequently, based on the dual-axis angular deviation, a cooperative speed is planned to generate a cooperative drive signal. Finally, the cooperative drive signal is output to the horizontal and pitch motors to drive the dual-axis linkage rotation and provide feedback on the angle status until the air delivery centerline is aligned with the target air delivery position. Step S50 includes steps F11 to F15: Step F11: Determine the current pointing orientation of the fan air delivery centerline in the global spatial coordinate system based on the current horizontal and pitch angles of the fan oscillation mechanism.

[0136] Step F12: Transform the spatial coordinates of the target air supply position to the fan's own coordinate system, and calculate the horizontal and pitch target angles required to align the fan's air supply centerline with the target air supply position.

[0137] Step F13: Calculate the horizontal angle deviation between the horizontal target angle and the current horizontal rotation angle, and the pitch angle deviation between the pitch target angle and the current pitch rotation angle, to obtain the dual-axis angle deviation.

[0138] Step F14: Based on the dual-axis angle deviation, plan the dual-axis coordinated speed to synchronize the start and stop of the horizontal steering and pitch steering rotation processes, and generate the coordinated drive signal of the horizontal motor and the pitch motor.

[0139] Step F15: Output the cooperative drive signal to the horizontal motor and the pitch motor respectively, drive the fan oscillation mechanism to rotate in a dual-axis linkage, and provide feedback on the rotation angle until the fan air delivery centerline is aligned with the target air delivery position.

[0140] The horizontal rotation angle is the current angle value of the fan oscillation mechanism's horizontal rotation around the vertical axis, representing the horizontal orientation of the airflow centerline. The pitch angle is the current angle value of the fan oscillation mechanism's pitch around the horizontal axis, representing the vertical orientation of the airflow centerline. The current pointing attitude is the current orientation of the fan's airflow centerline in the global coordinate system, determined by the current horizontal rotation angle and the current pitch angle. The fan's own coordinate system is a local reference coordinate system with the rotation center of the fan oscillation mechanism as its origin, fixed with the fan base, and is the computational space for calculating the target angle. The horizontal target angle is the expected horizontal rotation angle value required to align the fan's airflow centerline with the target airflow position. The pitch target angle is the expected pitch rotation angle value required to align the fan's airflow centerline with the target airflow position. The horizontal angle deviation is the angle difference between the horizontal target angle and the current horizontal rotation angle. The pitch angle deviation is the angle difference between the pitch target angle and the current pitch angle.

[0141] The dual-axis angular deviation is a combination of the horizontal and pitch angle deviations, serving as the input for coordinated speed planning. Dual-axis coordinated speed is the planned matching speed value that synchronizes the start and stop of horizontal and pitch rotation. The horizontal motor drives the fan to oscillate horizontally. The pitch motor drives the fan to tilt vertically. Dual-axis linkage is the working mode in which the horizontal and pitch motors rotate synchronously and in coordination. Angle status feedback is a closed-loop process that collects the horizontal and pitch angles in real time and transmits them back to the control unit.

[0142] In this example, when determining the current pointing attitude of the fan's airflow centerline based on the current horizontal and pitch angles of the fan oscillation mechanism, it can be done by directly reading the motor encoders. The horizontal motor's built-in rotary encoder reads the pulse count of the current horizontal angle and converts it into an angle value; the pitch motor's built-in rotary encoder reads the pulse count of the current pitch angle and converts it into an angle value. Based on the horizontal and pitch angles, a direction vector synthesis calculation is performed to obtain the current pointing attitude of the fan's airflow centerline in the global coordinate system. Alternatively, it can be done through visual feedback attitude estimation. While capturing real-time images of the fan unit, visual markers at the fan outlet are identified. Based on the changes in the markers' positions in the image, a visual attitude estimation algorithm is used to inversely calculate the current horizontal and pitch angles, accumulating the current pointing attitude of the fan's airflow centerline to complete the determination of the current pointing attitude.

[0143] After determining the current pointing attitude, the target angle calculation process is initiated. The spatial coordinates of the target air delivery position are transformed from the global spatial coordinate system to the fan's own coordinate system. Based on the transformed target position coordinates, arctangent calculation is used to calculate the horizontal and pitch target angles required to align the fan's air delivery centerline with the target air delivery position. Subsequently, the horizontal angle deviation between the horizontal target angle and the current horizontal rotation angle, and the pitch angle deviation between the pitch target angle and the current pitch rotation angle are calculated to obtain the dual-axis angle deviation. Next, based on the dual-axis angle deviation, the dual-axis coordinated speed is planned to synchronize the horizontal and pitch rotation processes, generating coordinated drive signals for the horizontal and pitch motors. The coordinated drive signals are then output to the horizontal and pitch motors respectively, driving the fan oscillation mechanism to rotate in a dual-axis linkage and providing real-time feedback on the rotation angle status, until the alignment error between the fan's air delivery centerline and the target air delivery position is less than a preset threshold. By using a layered processing approach involving current attitude acquisition, target angle calculation, dual-axis deviation calculation, collaborative speed planning, and closed-loop feedback drive, the synchronization and accuracy of fan steering alignment are improved, avoiding stepped steering or alignment overshoot caused by dual-axis asynchrony.

[0144] For example, there are two methods for planning the coordinated speed of two axes based on the dual-axis angle deviation to generate a coordinated drive signal. The first is time-optimal synchronization start and end planning. Based on the horizontal and pitch deviation values ​​bound to the dual-axis angle deviation, starting from the initial calculation time of the dual-axis deviation, the shortest time required for horizontal turning is calculated sequentially by selecting the horizontal angle deviation and the maximum allowable speed of the horizontal motor, and the shortest time required for pitch turning is calculated by selecting the pitch angle deviation and the maximum allowable speed of the pitch motor. After the shortest time calculation for each axis is completed, it is simultaneously determined whether that axis is a slow axis with a longer rotation time. If it is a slow axis, its speed is planned to rotate at a constant speed and used as a synchronization reference, continuously accumulating the total rotation time of the slow axis. If it is a fast axis, its speed is scaled proportionally according to the total time of the slow axis, so that the fast axis and the slow axis start and stop simultaneously. After all the dual-axis speed planning is completed, the coordinated drive signal of the horizontal motor and the pitch motor is generated. This method employs a planning logic that locks the slow axis reference and scales it proportionally with the fast axis. By calculating the shortest time to match the deviation between the two axes and matching the rotation speed, it avoids the problem of the air supply centerline going astray due to asynchronous rotation of the two axes, and restores the smooth alignment of the air supply centerline along a straight line in space during the fan rotation process.

[0145] The second method involves deviation coupling grouping and acceleration / deceleration curve collaborative planning. This method reads the dual-axis angular deviation and analyzes the global deviation distribution. Based on the proportional relationship between horizontal and pitch deviations, it performs coupling grouping, classifying dual-axis combinations with deviation ratios within the same preset range into the same collaborative planning group. It also marks the proportional boundary nodes between different groups, generating multiple collaborative planning groups that are computationally independent of each other. Then, parallel acceleration / deceleration curve planning is initiated synchronously for all the completed collaborative planning groups. Within each collaborative planning group, S-shaped acceleration / deceleration speed curves for the horizontal and pitch axes are generated based on the dual-axis deviations. By adjusting the acceleration / deceleration slopes and maximum speeds of the two axes, the acceleration / deceleration, constant speed, and deceleration phases are synchronized. The method verifies whether both axes fully meet the synchronization start and end requirements and statistically analyzes the speed curve parameters that meet the collaborative requirements. After all parallel planning and verification of all collaborative planning groups are completed, the collaborative drive signals for the horizontal and pitch motors are generated. This method employs a computational logic of deviation proportional coupling grouping and parallel acceleration / deceleration curve planning for the entire group. Through pre-emptive deviation proportional analysis and collaborative grouping, the speed matching relationship of dual-axis steering is locked in advance, reducing the sudden changes in speed and mechanical shock caused by simply relying on time-optimal planning, and improving the smoothness and quietness of the fan steering process.

[0146] Furthermore, let's take the example of a floor drying scenario that targets non-human objects. This scenario is used to solve the problem that users want to speed up the drying of the floor after mopping, but they have to squat down to adjust the fan angle or move the fan position, which is cumbersome and laborious.In this scenario, the user has just finished mopping the floor, stands in front of the fan, points to the ground, and remains still for approximately 0.5 seconds. The system identifies the intersection of the extended line of the pointing ray R with the ground, with the intersection point coordinates being Pfloor, and determines this as the target air supply position (TAP). The control execution module determines the current pointing attitude (CPA) of the fan air supply centerline (FASC) in the global spatial coordinate system (GSCS) based on the current horizontal angle (HA) and pitch angle (PA) of the fan oscillation mechanism (FOM). It then transforms the spatial coordinates of the target air supply position to the fan's own coordinate system (FOCS) to calculate the horizontal target angle (HTA) and pitch target angle (PTA) required to align the fan air supply centerline with the target air supply position. The horizontal angle deviation (HAD) between the horizontal target angle and the current horizontal rotation angle and the pitch angle deviation (PAD) between the pitch target angle and the current pitch rotation angle are calculated to obtain the dual-axis angle deviation (DAD). Based on the dual-axis angle deviation, the dual-axis collaborative speed (DCS) is planned to synchronize the start and end of the horizontal and pitch rotation processes. A collaborative drive signal (CDS) for the horizontal motor (HM) and the pitch motor (PM) is generated. The collaborative drive signal is output to the horizontal motor and the pitch motor respectively to drive the fan oscillation mechanism to rotate in a dual-axis linkage and provide feedback on the rotation angle until the fan air delivery centerline is aligned with the target air delivery position. That is, the fan is driven to tilt downwards so that the airflow blows towards the ground at an appropriate angle to accelerate water evaporation. In this scenario, the user does not need to squat down or move the fan. The operation can be completed by simply pointing, thereby realizing convenient and precise directional air delivery to non-human targets such as the ground.

[0147] Eighth embodiment This embodiment provides an exemplary scheme for wind direction control arbitration and dynamic tracking updates in a multi-user scenario. In this example, during the process of the fan directing airflow towards the target air delivery position, human detection is performed on all users in front of the fan, and the facial orientation angle of each user is determined. Then, the facial orientation angle is compared with a preset angle threshold, and users meeting the criteria are included in the control candidate queue. When multiple candidate users exist, the user closest to the fan is selected as the target control user and given wind direction control rights. During the period the target control user holds control, changes in their hand position are detected, and when a new locked state is detected, the target air delivery position is updated, driving the fan to follow synchronously. Finally, when no locked state is detected within a preset continuous time period, control rights are released, and the system returns to the default operating mode. Please refer to... Figure 6 , Figure 6 This is a flowchart illustrating the eighth embodiment of the motion control method for the intelligent fan of this application. Following step S50, steps G11-G15 are also included: Step G11: During the process of the smart fan directing airflow toward the target airflow position, human body detection is performed on all users in the space in front of the fan, and the facial orientation angle of each user is determined by the human pose estimation network.

[0148] Step G12: Compare the angle between the facial orientation angle of each user and the direction directly in front of the fan, and include users whose facial orientation angle is less than a preset angle threshold into the control candidate queue.

[0149] Step G13: When there are multiple candidate users in the control candidate queue, calculate the distance between each candidate user and the smart fan, select the candidate user closest to the smart fan as the target control user, and grant the target control user wind direction control rights.

[0150] Step G14: During the period when the target control user holds the wind direction control, detect the spatial position change of the target control user's hand key points, and when a new stable pointing lock state is detected, update the target air supply position and drive the smart fan to synchronously follow the direction.

[0151] Step G15: When no user is detected in a stable pointing locked state within a continuously preset waiting time for turning, the wind direction control is released, and the smart fan is driven to return from the directional air supply mode to the default working mode.

[0152] Human detection is an image processing step that identifies and locates all human targets in the image in front of the fan, serving as a prerequisite for multi-person arbitration. Facial orientation angle is the spatial angle between the user's facial normal and the direction directly in front of the fan, used to determine if the user is facing the fan. The direction directly in front of the fan is the projection direction of the fan's airflow centerline onto the horizontal plane, serving as a reference direction for facial orientation determination. The preset angle threshold is a pre-set maximum allowable angle value used to determine if a user is facing the fan. The control candidate queue is the set of users whose facial orientation angle is less than the preset angle threshold, representing the candidate range for wind direction control arbitration. Candidate users are those included in the control candidate queue and are eligible to participate in the competition for wind direction control. The target control user is selected from the candidate users and is the user currently holding wind direction control. The preset waiting time is a pre-set maximum duration of the unlocked state used to determine the release of control.

[0153] In this example, when performing human detection and determining the facial orientation angle of each user within the space in front of the fan, a multi-human detection algorithm can be applied to the entire scene in front of the fan, identifying all human targets and outputting bounding boxes for each human. Then, a human pose estimation network is executed within the region of each bounding box to extract facial keypoints, including eye keypoints and nose tip keypoints. Based on the spatial relationship of these keypoints, the facial normal direction is calculated to determine the facial orientation angle of each user. Alternatively, a depth-based human segmentation and head pose estimation approach can be used. While reading the depth image, human regions are segmented based on depth value differences, extracting the head depth point cloud region for each user. Based on the geometric features of the head point cloud, a head pose estimation algorithm is used to calculate the yaw and pitch angles of each user, accumulating these to obtain the facial orientation angle of each user, thus completing multi-user human detection and facial orientation determination.

[0154] After determining the facial orientation angle of each user, the process of constructing a control candidate queue is initiated. The angle between each user's facial orientation angle and the direction directly in front of the fan is compared, and users whose facial orientation angle is less than a preset threshold are included in the control candidate queue. Subsequently, when multiple candidate users exist in the control candidate queue, the distance between each candidate user and the smart fan is calculated, and the candidate user closest to the fan is selected as the target control user and granted wind direction control. Then, while the target control user holds wind direction control, the spatial position changes of their hand key points are continuously monitored. When a new stable pointing lock state is detected, the target air delivery position is recalculated, and the smart fan is driven to synchronously follow the direction. If no user is detected in a stable pointing lock state within a preset waiting time, wind direction control is released, the control ownership marker is cleared, and the smart fan is driven to return from directional air delivery mode to the default working mode. This layered processing of multi-user detection, orientation filtering, distance arbitration, dynamic tracking, and timeout release improves the fairness of wind direction control allocation and the timeliness of interactive response in multi-user scenarios, avoiding fan malfunctions or control conflicts caused by multiple users pointing simultaneously.

[0155] For example, when there are multiple candidate users in the control candidate queue, there are two ways to select the target control user and assign wind direction control rights. The first is a nearest-to-last serial arbitration. Based on the user enqueue order bound to the control candidate queue, starting from the beginning of the candidate queue, each candidate user is selected sequentially to calculate the spatial distance between itself and the smart fan. After each candidate user's distance calculation is completed, the user's distance is compared with the current minimum distance. If it is less than the current minimum distance, the corresponding user is updated as the temporary target control user and the minimum distance value is continuously updated. If it is greater than or equal to the current minimum distance, the original temporary target control user is retained, and the distance calculation for the next candidate user is started. After all candidate users have completed the distance calculation and comparison, the final temporary target control user is determined as the target control user and assigned wind direction control rights. This method uses a time-locked, user-by-user distance calculation and a minimum value dynamic update arbitration logic. By comparing sequentially according to the candidate queue time and dynamically accumulating nearest neighbors, it avoids the problem of mismatched distances among multiple users and restores the actual control rights of the user closest to the fan in a multi-user scenario.

[0156] The second method involves orientation confidence clustering and weighted parallel arbitration. This method reads and analyzes the global feature distribution of all candidate users in the control candidate queue. Based on the facial orientation angle, hand pointing confidence, and spatial distance of each candidate user, multi-dimensional feature clustering is performed. Users whose features fall within the same preset range are grouped into the same competitive group, and feature boundary nodes between groups are marked, generating multiple competitive groups that are computationally independent of each other. Then, parallel weighted scoring is initiated simultaneously for all the divided competitive groups. Within each competitive group, facial orientation confidence score, distance priority score, and pointing stability score are calculated for each candidate user. A weighted sum is then used to obtain the comprehensive control score for each user. The user with the highest score within the group is verified to meet the minimum control eligibility requirements, and eligible candidate users are identified. After all parallel scoring and verification for all competitive groups are completed, the candidate user with the highest comprehensive score is selected as the target control user and assigned wind direction control rights. This method employs an arbitration logic of multi-dimensional feature clustering and parallel weighted scoring of the entire group. By clustering facial orientation and pointing features in advance, it can identify user groups with genuine control intentions in advance, reducing the misallocation of control rights caused by relying solely on distance judgment, and improving the accuracy and rationality of control arbitration in multi-user scenarios.

[0157] Furthermore, taking a multi-user scenario as an example, the priority arbitration method is used to solve the problem of confusion in control ownership when multiple users are simultaneously in front of the fan, and the problem of users with their backs to the fan accidentally triggering the control, resulting in frequent erroneous switching of the airflow direction. In this scenario, there are two users in the room. User A is sitting on the sofa reading a book with their back to the fan, 1.5 meters away from it. User B is standing facing the fan and pointing towards the window, 3 meters away from it. The Multi-user Arbitration Module (MAM) performs human detection (HD) on all users in the space in front of the fan while the smart fan is directing airflow towards the target location. It then uses the Human Pose Estimation Network (HPEN) to determine the face orientation angle (FOA) of each user. It determines that User A is facing away from the fan and the angle between their face orientation and the direction directly in front of the fan is greater than 90 degrees. User B is facing the fan. The system compares the angle between each user's face orientation angle and the direction directly in front of the fan (FFD). Users whose face orientation angle is less than the preset angle threshold (PAT) are included in the Control Candidate Queue (CCQ). Therefore, even though User A is closer to the fan, only User B is included in the Control Candidate Queue. Since there is only one candidate user (CU) in the control candidate queue, there is no need for distance arbitration. User B is directly identified as the target control user (TCU) and given wind direction control (WDC). If there are multiple candidate users in the control candidate queue, the distance between each candidate user and the smart fan is calculated, and the one with the closest distance is selected as the target control user.After User B gains control, the fan responds to User B's pointing gesture and directs airflow towards the window. During the period when the target user holds control of the airflow direction, the fan detects changes in the spatial position of key points on the user's hand. When a new stable pointing lock state (SPLS) is detected, the target air supply position (TAP) is updated, and the smart fan is driven to synchronously follow the direction. After User B lowers their arm, if no user is detected in a stable pointing lock state within a preset waiting time (PWTD, e.g., two seconds), the fan releases control of the airflow direction and drives the smart fan to return from directional air supply mode (DAM) to the default working mode (DWM). If User A turns to face the fan and makes a pointing gesture at this time, User A gains control, thus achieving fair arbitration of control rights based on facial orientation selection and distance priority in multi-user scenarios.

[0158] This application provides a smart fan, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, which are executed by the at least one processor to enable the at least one processor to perform the motion control method of the smart fan in the above embodiments.

[0159] The following is for reference. Figure 7 The diagram illustrates a structural schematic suitable for implementing the smart fan in the embodiments of this application. The smart fan in the embodiments of this application may include, but is not limited to, smart electric fans, inverter fans, induction fans, and other household smart fans, as well as commercial smart fans. Figure 7 The smart fan shown is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments of this application.

[0160] like Figure 7As shown, the intelligent fan may include a processing device 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 1002 or a program loaded from storage device 1003 into random access memory (RAM) 1004. The random access memory 1004 also stores various programs and data required for the operation of the intelligent fan. The processing device 1001, ROM 1002, and RAM 1004 are interconnected via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus 1005. Typically, the following devices can be connected to I / O interface 1006: input devices 1007 including, for example, a color imaging unit, a depth imaging unit, an image sensor, an accelerometer, a gyroscope, etc.; output devices 1008 including, for example, a horizontal steering motor, a pitch steering motor, a dual-axis oscillation drive mechanism, indicator lights, a liquid crystal display (LCD), a speaker, etc.; storage devices 1003 including, for example, magnetic tape, a hard disk, etc.; and communication devices 1009. Communication device 1009 allows the smart fan to communicate wirelessly or wiredly with other devices to exchange data. Although a smart fan with various devices is shown in the figure, it should be understood that it is not required to implement or have all the devices shown, and more or fewer devices may be implemented alternatively.

[0161] Specifically, according to the embodiments disclosed in this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from storage device 1003, or installed from read-only memory 1002. When the computer program is executed by processing device 1001, it performs the functions defined in the methods of the embodiments disclosed in this application.

[0162] The intelligent fan provided in this application employs the motion-sensing control method of the intelligent fan in the above embodiments, which can solve the technical problem of poor wind direction control. Compared with the prior art, the beneficial effects of the intelligent fan provided in this application are the same as those of the motion-sensing control method of the intelligent fan provided in the above embodiments, and other technical features of this intelligent fan are the same as those disclosed in the method of the previous embodiment, and will not be repeated here.

[0163] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples.

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

[0165] This application provides a computer-readable storage medium having computer-readable program instructions (i.e., a computer program) stored thereon, the computer-readable program instructions being used to execute the motion control method for the smart fan in the above embodiments.

[0166] The computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), or flash memory, optical fiber, portable compact disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, radio frequency (RF), etc., or any suitable combination thereof.

[0167] The aforementioned computer-readable storage medium may be included in the intelligent fan; or it may exist independently and not be assembled into the intelligent fan.

[0168] The aforementioned computer-readable storage medium carries one or more programs. When the one or more programs are executed by the intelligent fan, the intelligent fan: identifies key points of the human skeleton based on an image sequence of the user's limb movements; constructs a human coordinate system that adjusts with changes in human posture based on the relative spatial relationships of the key points of the human skeleton; determines a pointing ray in the human coordinate system based on the human coordinate system and the relative spatial relationships; when the displacement change of the hand key point among the key points of the human skeleton is less than a preset displacement threshold within a preset number of frames, determines that the user is in a stable pointing locked state and outputs a lock trigger signal; responds to the lock trigger signal, calculates the coordinates of the intersection point of the extension line of the pointing ray and the surface of an object in the space scene in front of the fan, and determines the intersection point coordinates as the target air delivery position; calculates the angular deviation between the target air delivery position and the fan's air delivery centerline, and generates a cooperative drive signal based on the angular deviation, so as to control the intelligent fan to deliver air to the target air delivery position through the cooperative drive signal.

[0169] Computer program code for performing the operations of this application can be written in one or more programming languages ​​or a combination thereof. These programming languages ​​include object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as C or similar languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0170] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation that may be implemented in systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0171] The modules described in the embodiments of this application can be implemented in software or hardware. The names of the modules do not necessarily limit the functionality of the modules themselves.

[0172] The readable storage medium provided in this application is a computer-readable storage medium that stores computer-readable program instructions (i.e., a computer program) for executing the above-described motion control method for a smart fan, thereby solving the technical problem of poor wind direction control. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as those of the motion control method for a smart fan provided in the above embodiments, and will not be repeated here.

[0173] The above description is only a part of the embodiments of this application and does not limit the patent scope of this application. All equivalent structural transformations made under the technical concept of this application and using the contents of the specification and drawings of this application, or direct / indirect applications in other related technical fields, are included in the patent protection scope of this application.

Claims

1. A method for controlling a smart fan using motion sensing, characterized in that, The method includes: Based on the image sequence of user limb movements, key points of the human skeleton are identified, and a human coordinate system that is adjusted with changes in human posture is constructed according to the relative spatial position relationship of the key points of the human skeleton. Based on the human body coordinate system and the relative spatial position relationship, a pointing ray is determined in the human body coordinate system; When the displacement change of the hand key point in the human skeleton is less than the preset displacement threshold within a preset number of frames, it is determined that the user is in a stable pointing locked state and a lock trigger signal is output. In response to the lock trigger signal, calculate the coordinates of the intersection point between the extension of the pointing ray and the surface of an object in the space scene in front of the fan, and determine the intersection point coordinates as the target air delivery position; Calculate the angular deviation between the target air delivery position and the fan's air delivery centerline, and generate a collaborative drive signal based on the angular deviation to control the smart fan to deliver air to the target air delivery position.

2. The motion control method for an intelligent fan as described in claim 1, characterized in that, The step of identifying key points of the human skeleton based on image sequences of user limb movements, and constructing a human coordinate system that adjusts with changes in human posture based on the relative spatial relationships of the key points of the human skeleton, includes: The smart fan acquires real-time images of the user's limb movements using its color imaging unit and depth imaging unit, and performs pixel-level spatial registration on the real-time images to obtain the coordinate-aligned image sequence. The image sequence is inferred and calculated by the human pose estimation network of the smart fan to determine the two-dimensional coordinates of the human skeletal key points corresponding to the user's shoulders, elbows and hands in the image plane. Based on the depth measurement values ​​corresponding to the key points of the human skeleton in the depth image of the image sequence, the two-dimensional coordinates are mapped back to three-dimensional spatial coordinates to determine the relative spatial position relationship of the key points of the human skeleton. Using the midpoint of the line connecting the key points of both shoulders as the dynamic origin for direction determination, and combining the relative spatial position relationship, a human coordinate system that adjusts with changes in human posture is constructed.

3. The motion control method for an intelligent fan as described in claim 2, characterized in that, The step of determining the pointing ray in the human body coordinate system based on the human body coordinate system and the relative spatial position relationship includes: The three-dimensional spatial coordinates of the key hand points are transformed and mapped from the global spatial coordinate system to the human body coordinate system. Combined with the relative spatial position relationship, the relative position vector of the key hand points relative to the dynamic origin is calculated. Using the dynamic origin as the ray starting point and the spatial direction of the relative position vector as the ray direction, an initial ray is generated that passes through the key hand point from the dynamic origin. The relative position vector is normalized to obtain the unit direction vector; Based on the projection components of the unit direction vector on each reference axis of the human coordinate system, the azimuth angle of the initial ray relative to the horizontal reference axis and the pitch angle relative to the horizontal plane are calculated, and the pointing ray is determined based on the azimuth angle and the pitch angle.

4. The motion control method for an intelligent fan as described in claim 1, characterized in that, The step of determining that the user is in a stable pointing locked state and outputting a lock trigger signal when the displacement change of the hand key point in the human skeleton is less than a preset displacement threshold within a preset number of frames includes: The three-dimensional spatial coordinates of the key hand points are determined frame by frame from multiple frames of the image sequence, and the coordinate temporal sequence of the key hand points is constructed according to the image acquisition time sequence. The magnitude of the three-dimensional spatial displacement vector of the hand key points between adjacent frames in the coordinate time sequence is calculated by using a sliding window method to obtain a sequence of displacement changes for multiple consecutive frames. The displacement changes in the displacement change sequence are compared one by one with the preset displacement threshold. When the displacement changes within the preset number of consecutive frames are all less than the preset displacement threshold, a pointing stability determination result is generated. Based on the directional stability determination result, the user interaction state is switched from the free directional state to the locked directional state, and the locking trigger signal is output on the rising edge of the state switch.

5. The motion control method for an intelligent fan as described in claim 4, characterized in that, After the step of calculating the magnitude of the three-dimensional spatial displacement vector of the hand key points between adjacent frames in the coordinate time sequence using a sliding window method to obtain a sequence of displacement changes across multiple consecutive frames, the motion control method for the intelligent fan further includes: The number of consecutive frames is accumulated for items in the displacement change sequence that are greater than the preset displacement threshold to obtain a continuous count value of displacement exceeding the limit; Compare the continuous displacement over-limit count value with the preset release frame number. When the continuous displacement over-limit count value reaches the preset release frame number, determine that the user has exited the locked state of the stable pointing and generate a lock release trigger signal. In response to the lock release trigger signal, the target air supply position corresponding to the current lock is cleared, and the directional following of the fan oscillation mechanism to the target air supply position is terminated; Release the current user's control over the airflow direction of the smart fan, and drive the smart fan to smoothly switch from directional airflow mode to the default working mode, thereby completing the exit from the locked state and system reset.

6. The motion control method for an intelligent fan as described in claim 2, characterized in that, The step of responding to the lock trigger signal, calculating the coordinates of the intersection point between the extension of the pointing ray and the surface of an object in the space scene in front of the fan, and determining the intersection point coordinates as the target air delivery position includes: In response to the lock trigger signal, the spatial scene in front of the fan is segmented into planes based on the distribution of depth measurement values ​​in the depth image, and candidate spatial planes on the surface of the object and their corresponding spatial equation parameters are determined. The pointing ray is parametrically extended from the location of the key hand point along the direction of the pointing ray to generate a parametric equation for the ray extension line covering the effective air delivery range in front of the fan. Solve the parametric equations of the ray extension line and the spatial equations of each of the candidate spatial planes simultaneously to obtain the set of coordinates of the candidate intersection points where the ray extension line intersects with each of the candidate spatial planes; Select the target intersection point that is within the fan's field of view and closest to the fan from the set of candidate intersection point coordinates, and determine the spatial coordinates of the target intersection point as the target air supply position.

7. The motion control method for an intelligent fan as described in claim 1, characterized in that, The step of calculating the angular deviation between the target air delivery position and the fan's air delivery centerline, and generating a coordinated drive signal based on the angular deviation, to control the smart fan to deliver air to the target air delivery position via the coordinated drive signal, includes: Based on the current horizontal and pitch angles of the fan oscillation mechanism, determine the current pointing orientation of the fan's air delivery centerline in the global spatial coordinate system. Transform the spatial coordinates of the target air delivery position to the fan's own coordinate system, and calculate the horizontal and pitch target angles required to align the fan's air delivery centerline with the target air delivery position. Calculate the horizontal angle deviation between the horizontal target angle and the current horizontal rotation angle, and the pitch angle deviation between the pitch target angle and the current pitch rotation angle, respectively, to obtain the dual-axis angle deviation. Based on the aforementioned dual-axis angular deviation, a dual-axis coordinated speed is planned to synchronize the rotation processes of horizontal steering and pitch steering, thereby generating the coordinated drive signal for the horizontal motor and the pitch motor. The coordinated drive signal is output to the horizontal motor and the pitch motor respectively, driving the fan oscillation mechanism to rotate in a dual-axis linkage, and feeding back the rotation angle status until the fan air delivery centerline is aligned with the target air delivery position.

8. The motion control method for an intelligent fan as described in claim 1, characterized in that, After the steps of calculating the angular deviation between the target air delivery position and the fan air delivery centerline, generating a cooperative drive signal based on the angular deviation, and controlling the smart fan to deliver air to the target air delivery position via the cooperative drive signal, the motion control method for the smart fan further includes: During the process of the smart fan directing airflow toward the target airflow position, human body detection is performed on all users in the space scene in front of the fan, and the facial orientation angle of each user is determined by the human posture estimation network. Compare the angle between the facial orientation angle of each user and the direction directly in front of the fan, and include users whose facial orientation angle is less than a preset angle threshold into the control candidate queue; When there are multiple candidate users in the control candidate queue, the distance between each candidate user and the smart fan is calculated, and the candidate user closest to the smart fan is selected as the target control user and given the wind direction control right. During the period when the target control user holds the wind direction control right, the spatial position change of the target control user's hand key points is detected. When a new stable pointing lock state is detected, the target air delivery position is updated and the smart fan is driven to synchronously follow the direction. If no user is detected in a stable pointing locked state within a continuously preset waiting time for turning, the wind direction control is released, and the smart fan is driven to return from the directional air supply mode to the default working mode.

9. A smart fan, characterized in that, The smart fan includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the motion control method for the smart fan as described in any one of claims 1 to 8.

10. A storage medium, characterized in that, The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, it implements the steps of the motion control method for the intelligent fan as described in any one of claims 1 to 8.