Acupoint massage design method
By extracting the user's three-dimensional body characteristics and acupoint positions and generating a personalized massage roadmap, the problem that existing massage systems are difficult to accurately reflect user characteristics is solved, and the effect of massage and user comfort is improved.
Patent Information
- Application Number
- CN202411370065.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-29
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2044-09-29
AI Technical Summary
The existing massage system is difficult to accurately reflect the user's three-dimensional body characteristics and acupoint location, resulting in poor massage effect and user comfort.
By obtaining user image data, extracting body shape and thickness data, identifying acupoint locations, and generating a personalized massage roadmap, ensuring that the massage plan is highly consistent with the user's specific situation.
It improves the accuracy of acupuncture points recognition and the effect of massage, and enhances user comfort and satisfaction.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of image data processing, and in particular to an acupoint massage design method. Background Art
[0002] As modern society's pursuit of health and comfortable life continues to increase, personalized health management and personalized treatment have gradually become research hotspots. Especially in the field of massage therapy, traditional massage techniques usually rely on the experience and intuition of masseurs, and it is difficult to accurately meet individual health needs. With the development of computer technology, intelligent massage systems based on image processing and data analysis have gradually attracted attention and application. Existing systems usually rely on two-dimensional images for body shape analysis, which is difficult to accurately reflect the user's three-dimensional body characteristics and the actual location of acupoints, thus affecting the effect of massage and the user's comfort. Summary of the invention
[0003] In order to solve the above technical problems, the present invention proposes an acupoint massage design method to solve at least one of the above technical problems.
[0004] The present application provides an acupoint massage design method, the method comprising:
[0005] S1. Obtain user image data;
[0006] S2, extracting user body shape data and user thickness data according to the user image data to obtain user body shape data and user thickness data;
[0007] S3, identifying acupoint positions according to the user's body shape data and the user's thickness data to obtain acupoint position data;
[0008] S4. Generate an acupoint massage route map according to the acupoint position data to obtain acupoint massage route map data.
[0009] In the present invention, by extracting the body shape and thickness data of the user's image data, the method can generate a corresponding body shape model for each user. This method avoids the "one size fits all" approach in traditional massage design and can more accurately reflect the actual physical characteristics of the user. The individual differences of users (such as body shape, fat thickness, etc.) can be fully considered in the model, thereby improving the accuracy of acupoint identification. Through accurate acupoint location identification, a personalized massage roadmap is generated in combination with body shape and thickness data. The generated massage roadmap is based on the user's actual physical characteristics and acupoint distribution, ensuring that each massage can be carried out according to the user's specific situation. Customized design based on scientific data helps to improve the accuracy and stability of massage, so that massage can act more effectively on the user's specific acupoints, thereby improving the accuracy of massage identification.
[0010] Optionally, the user image data includes user front image data, user side image data and user back image data, and S1 includes:
[0011] Collecting front data of the user through the first camera to obtain front image data of the user;
[0012] The user's side image is collected by a second camera to obtain user's side image data;
[0013] The image of the user's back is captured by the third camera to obtain image data of the user's back, wherein the first camera, the second camera and the third camera are cameras at different positions.
[0014] In the present invention, the first camera, the second camera and the third camera respectively collect image data from the front, side and back, so as to obtain the user's body information comprehensively. The multi-angle data collection method can capture different sides of the user's body, avoiding the lack of information that may be caused by a single perspective, thereby more accurately reflecting the user's body shape and thickness characteristics. The front, side and back image data can provide all-round body contour information, making the calculation of body shape and thickness more accurate. For example, the side image is particularly important for thickness measurement, while the front and back images are helpful for complete contour extraction and body shape analysis.
[0015] Optionally, S2 includes:
[0016] Extracting the body contour according to the front image data of the user and the back image data of the user to obtain the body contour data of the user;
[0017] Classifying the user's body contour data into body shapes to obtain the user's body shape data;
[0018] The user thickness is calculated based on the user side image data to obtain the user thickness data.
[0019] The present invention utilizes complete body contour data extracted from the front and back images to perform body type classification, which can more accurately identify the user's body characteristics. Combined with the user's full body contour information, the user's body type can be better classified into thin, standard, obese and other categories. By combining the data of the front, back and side images, the method can generate a highly accurate user body model. The model combines contour and thickness data from different angles to provide complete three-dimensional body information. The entire massage design scheme is made more accurate, ensuring that each massage step can effectively act on the user's key parts. The contour extraction, body type classification and thickness calculation steps used in the method are highly flexible and adaptable. Regardless of how the user's body shape changes, the method can dynamically adjust the generated model and scheme to ensure wide applicability and meet the needs of different users in different scenarios.
[0020] Optionally, the user thickness calculation is specifically as follows:
[0021] Extract body contour according to the user's side image data to obtain side body contour data;
[0022] Select thickness measurement points according to the side body contour data to obtain thickness measurement point data;
[0023] Perform vertical projection according to the thickness measurement point data to obtain the vertical projection data of the thickness measurement point;
[0024] The distance calculation is performed on the vertical projection data of the thickness measurement point to obtain the user thickness data.
[0025] The present invention accurately extracts body contour data from the side image, which can accurately reflect the external shape of the user's body. By analyzing the body contour data and selecting key thickness measurement points, the true thickness of each part of the user's body can be captured, and the targeted selection avoids the interference of irrelevant data, ensuring the representativeness of the thickness measurement points. By analyzing the body contour data and selecting key thickness measurement points, the true thickness of each part of the user's body can be captured, avoiding the interference of irrelevant data, and ensuring the representativeness of the thickness measurement points. By vertically projecting the thickness measurement point data, the errors caused by factors such as human body posture and angle can be effectively reduced, further enhancing the accuracy of thickness measurement. Distance calculation quantifies the distance between these projection points, directly reflects the thickness data of each part of the body, can dynamically adapt to the body shape and posture of different users, and ensure the reliability of thickness data.
[0026] Optionally, the thickness measurement point data includes first thickness measurement point data and second thickness measurement point data, and the thickness measurement points are specifically:
[0027] Performing body part detection on the user's side image data to obtain body part detection data;
[0028] Divide the side body contour data according to the human body part detection data to obtain body contour division data;
[0029] Extract thickness measurement points of human body parts according to the body contour division data to obtain first thickness measurement point data;
[0030] Performing vertical image division on the user's side image data to obtain vertical image division data;
[0031] The widest distance selection and the narrowest distance selection are performed according to the vertical image division data to obtain the second thickness measurement point data.
[0032] In the present invention, by detecting the human body parts of the user's side image data, the key parts of the user (such as the head, chest, waist, etc.) can be accurately identified. Then the body contour data is divided, so as to extract the first thickness measurement point at each key part, ensuring that the selection of the thickness measurement point is based on the actual anatomical structure of the user's body, with high accuracy and pertinence. Through the vertical image division method, the maximum width and minimum width (i.e., the widest distance and the narrowest distance) of the user's body at different parts can be identified, which supplements the selection of the first thickness measurement point, so that the thickness measurement is not only based on anatomical features, but also takes into account the overall morphological features of the body, providing more comprehensive thickness data. The first thickness measurement point is based on the anatomical structure, while the second thickness measurement point is based on the widest and narrowest parts of the body shape, which can ensure the comprehensiveness and accuracy of the thickness data. By combining the data of these two types of measurement points, the thickness measurement is not only more accurate, but also can reflect the real thickness changes of different body parts. By determining the measurement points of the widest and narrowest distances through vertical image division, the error caused by inaccurate measurement position can be reduced, the real thickness of the body can be better reflected, and the measurement deviation caused by local abnormal morphology or posture can be avoided, which improves the reliability of the measurement results.
[0033] Optionally, the vertical image division is specifically as follows:
[0034] Counting the row pixels of the user's side image data to obtain row pixel quantity data;
[0035] Calculating the average change rate of the row pixel quantity data to obtain the row pixel average change rate data;
[0036] Calculate the local change rate according to the row pixel quantity data to obtain the row pixel local change rate data;
[0037] The row pixel local change rate data is screened according to the row pixel average change rate data to obtain the row pixel local screening data;
[0038] Optimizing and generating division parameters based on the local screening data of row pixels to obtain row pixel division parameter data;
[0039] The user side image data is divided into image data according to the row pixel division parameter data to obtain vertical image division data.
[0040] In the present invention, the number of pixels in each row is obtained by counting the row pixels of the user's side image data, and the average change rate and local change rate of the row pixels are further calculated to capture the slight changes in the image, ensuring that the image division is based on specific body contour features rather than simple image segmentation. By calculating the local change rate of the row pixel number data, the significant change area in the image can be dynamically identified, corresponding to the key parts of the body (such as shoulders, waist, buttocks, etc.). Further, the local change rate is screened and optimized by the average change rate, which can filter out noise data and ensure the reliability and stability of the division result. The dynamic screening and optimization process enhances the robustness of the algorithm and can adapt to data from different users and different image acquisition conditions. By fine-grained analysis and screening of the row pixel change rate, the error caused by noise or image acquisition instability can be effectively reduced. At the same time, the optimization of the local change rate can ensure that key information will not be lost during the screening process, and the effective data related to the user's body shape is retained to the maximum extent.
[0041] Optionally, S3 includes:
[0042] A user body model is constructed according to the user thickness data, the user body shape data and the user body contour data to obtain a user body model;
[0043] Extract skeleton key points according to the user's body model to obtain skeleton key point data;
[0044] Acupoint distribution map matching is performed based on the bone key point data and the preset human acupoint distribution map to obtain the user's preliminary acupoint distribution map data;
[0045] Optimizing the acupoint positions of the preliminary acupoint distribution map data of the user according to the user's thickness data and the user's body shape data to obtain acupoint position optimization data;
[0046] Calculate the acupoint relationship according to the acupoint position optimization data to obtain the acupoint relationship data;
[0047] A user acupoint distribution map is generated according to the acupoint relationship data to obtain user acupoint distribution map data.
[0048] In the present invention, an accurate user body model is constructed by combining the user's thickness data, body shape data and body contour data, which accurately reflects the user's physical characteristics and provides a solid foundation for subsequent skeleton key point extraction and acupoint positioning. The extraction of skeleton key points not only depends on the accuracy of the body shape model, but also takes into account the individual differences of the users, so that the skeleton key points of the users can be efficiently extracted. It is possible to effectively combine the actual body shape characteristics of the user to generate a more accurate and practical acupoint distribution map, ensuring that the position of each acupoint is more in line with the user's body structure. According to the user's thickness data and body shape data, the acupoint distribution map initially generated is dynamically optimized, the acupoint position deviation caused by body shape differences is corrected, the body shape characteristics of different users can be adapted, and the accuracy and adaptability of acupoint positioning are improved. Based on the optimized acupoint position, multi-dimensional acupoint relationship calculation is performed to analyze the spatial and functional relationships between acupoints. Through this analysis, a more complex and accurate acupoint network can be constructed to provide data support for generating the final acupoint distribution map. The calculation of acupoint relationships not only considers the proximity of spatial locations, but also combines functional relevance, ensuring that the final distribution map is both scientific and practical.
[0049] Optionally, the acupoint relationship calculation is specifically as follows:
[0050] Perform distance calculation based on acupoint location optimization data to obtain acupoint location distance data;
[0051] According to the acupoint location distance data, adjacent acupoints are identified to obtain adjacent acupoints data;
[0052] A proximity graph is constructed based on the data of adjacent acupoints to obtain the spatial relationship data of acupoints;
[0053] Obtaining acupoint function label data and acupoint function location data;
[0054] Performing functional association based on acupoint location optimization data, acupoint function label data, and acupoint function location data to obtain acupoint location function association data;
[0055] A correlation graph is constructed based on the acupoint position function correlation data to obtain the acupoint function relationship data;
[0056] Acupoint spatial relationship data and acupoint functional relationship data are weightedly fused to obtain acupoint relationship data.
[0057] In the present invention, by calculating the distance between acupoints, the spatial relationship between each pair of acupoints can be accurately determined. Further adjacent acupoint identification can effectively find acupoints that are close to each other, laying the foundation for constructing a spatial relationship diagram of acupoints. Not only the physical location of the acupoints is taken into account, but also the functional attributes of each acupoint are combined, so that the calculation results are more in line with the actual massage application needs. Through this functional association, the potential connection between different acupoints in certain specific functions can be found, thereby providing more comprehensive guidance. Compared with simple spatial analysis, the functional relationship diagram reveals the functional interaction between acupoints, especially in certain specific massage demand scenarios, the functional relationship diagram can help identify key acupoint combinations and enhance the user's massage experience and effect. The present invention ensures the balance of the two types of relationship data by weighted fusion of the spatial relationship data and functional relationship data of the acupoints, taking into account both the physical proximity of the acupoints and their functional relevance.
[0058] Optionally, the functional association is specifically:
[0059] Performing split hierarchical clustering processing on the acupoint function label data and the acupoint function position data to obtain acupoint function label position clustering data;
[0060] According to the acupoint function label position clustering data, the acupoint position optimization data is associated with weights to obtain acupoint position function association data.
[0061] In the present invention, a multi-level clustering tree can be constructed by performing split hierarchical clustering on the acupoint function label data and the function position data. This method can reveal the hierarchical structure of different acupoints in terms of function and position, help identify acupoint groups with similar functions or close positions, and can more finely reveal the potential functional relationship between acupoints. Especially in complex body function systems, this hierarchical structure can provide deeper insights. The clustering results are combined with the actual acupoint position data, and accurate association weights are generated by calculating the correlation between each acupoint in function and position. The weights can reflect the comprehensive correlation between different acupoints in function and position, providing a scientific basis for the subsequent construction of functional relationship diagrams. Through the combination of function labels and position data, some implicit functional relationships that cannot be revealed by traditional methods can be excavated. For example, through cluster analysis, some acupoint combinations with different function labels but close positions can be found, so that users can provide more abundant and diverse massage services.
[0062] Optionally, S4 includes:
[0063] Obtain user massage demand data;
[0064] Matching the user's massage demand data with a preset massage acupoint demand mapping table to obtain the user's massage acupoint demand data;
[0065] Generate acupoint connection paths according to the user's acupoint massage demand data and the user's acupoint distribution map data to obtain acupoint connection path data;
[0066] The acupoint connection path is optimized according to the acupoint connection path data, the user's body shape data and the user's thickness data to obtain the acupoint massage route map data.
[0067] In the present invention, by obtaining the massage demand data of the user and matching it with the preset massage acupoint demand mapping table, the acupoints that the user needs to focus on massage can be accurately located, ensuring that the massage plan is highly consistent with the actual needs of the user, improving the effectiveness and pertinence of the massage, and avoiding the problem of "one size fits all" in the traditional massage plan. An accurate acupoint connection path is generated through the user's massage acupoint demand data and the user's acupoint distribution map data. This path generation takes into account the actual acupoint distribution of the user's body, ensuring that the massage route is more scientific and reasonable, and can effectively cover the user's required acupoints, thereby improving the overall massage effect. According to the acupoint connection path data, combined with the user's body shape data and thickness data, the path is optimized, so that the generated massage route is not only accurate, but also can dynamically adapt to the body shape characteristics and thickness differences of different users. Through optimization, the massage route is more in line with the user's actual body shape, improving the comfort and effect of the massage.
[0068] The objects of the present invention are:
[0069] 1. The present invention achieves accurate modeling of the user's body characteristics by acquiring the user's image data (S1) and further extracting the user's body shape data and thickness data (S2). Through comprehensive analysis of the user's front, side and back images, the generated body shape model and thickness data can accurately reflect the user's individual characteristics, ensuring that all subsequent analysis is based on the user's actual individual data rather than a general model, thereby improving the accuracy of recognition and processing.
[0070] 2. The present invention performs accurate acupoint location identification by comprehensively considering the user's body shape data and thickness data. This process is not only based on traditional acupoint location theory, but also combines the user's actual physical characteristics, such as body shape differences, thickness changes, etc., to ensure that each acupoint is more accurately located, greatly improving the accuracy of acupoint identification and avoiding acupoint location deviations caused by individual differences.
[0071] 3. The present invention generates a personalized acupoint massage route map based on the identified acupoint location data. This process takes into account the user's overall body shape, local thickness and specific acupoint distribution to design the optimal massage route. Through the intelligent path optimization algorithm, the massage route can cover important acupoints to the maximum extent while avoiding duplication and invalid paths, ensuring the maximum massage effect and improving the user's comfort and satisfaction. BRIEF DESCRIPTION OF THE DRAWINGS
[0072] Other features, objects and advantages of the present application will become more apparent by reading the detailed description of non-limiting implementations made with reference to the following drawings:
[0073] Figure 1 A flowchart showing a method for designing acupoint massage according to an embodiment of the present invention is provided;
[0074] Figure 2 A flowchart showing a method for collecting massage user image data according to an embodiment is shown;
[0075] Figure 3 A flowchart showing a method for extracting body shape and thickness parameters of a massage user according to an embodiment is shown;
[0076] Figure 4 A flowchart showing a method for identifying acupuncture point positions of a massage user according to an embodiment of the present invention is shown;
[0077] Figure 5 A flowchart showing the steps of a method for generating a massage route map for acupoints of a massage user according to an embodiment is shown;
[0078] The purpose, features and advantages of the present invention will be further described with reference to the accompanying drawings in conjunction with the embodiments. DETAILED DESCRIPTION
[0079] The following is a clear and complete description of the technical method of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by technicians in this field without creative work are within the scope of protection of the present invention.
[0080] In addition, the accompanying drawings are only schematic illustrations of the present invention and are not necessarily drawn to scale. The same reference numerals in the figures represent the same or similar parts, and their repeated description will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities and do not necessarily correspond to physically or logically independent entities. The functional entities can be implemented in software form, or implemented in one or more hardware modules or integrated circuits, or implemented in different networks and / or processor methods and / or microcontroller methods.
[0081] It should be understood that, although the terms "first", "second", etc. may be used herein to describe various units, these units should not be limited by these terms. These terms are used only to distinguish one unit from another unit. For example, without departing from the scope of the exemplary embodiments, the first unit may be referred to as the second unit, and similarly the second unit may be referred to as the first unit. The term "and / or" used herein includes any and all combinations of one or more of the listed associated items.
[0082] See also Figures 1 to 5 , the present application provides an acupoint massage design method, the method comprising:
[0083] S1. Obtain user image data;
[0084] Specifically, use high-definition camera equipment to obtain images of the front, side, and back of the user's body to ensure that the user's body features can be fully recorded at every angle. Perform noise filtering and image enhancement on the collected user image data to improve the image clarity and contrast. Adjust the image to a uniform size and resolution, and normalize the image according to the user's body proportions. If other data (such as thermal imaging, depth images, etc.) are obtained at the same time, these data are fused with the visible light image to provide more comprehensive information on the user's body features.
[0085] S2, extracting user body shape data and user thickness data according to the user image data to obtain user body shape data and user thickness data;
[0086] Specifically, the user's body contour is segmented through an edge detection algorithm (such as Canny edge detection) and a region growing algorithm, and the user's body area is separated from the background.
[0087] Use feature point detection algorithms (such as SIFT or SURF) to extract feature points of key parts of the user's body (such as shoulders, waist, knees, etc.) and establish the basic skeleton of the user's body shape.
[0088] Based on the extracted feature points, the user's body shape data, including height, shoulder width, waist circumference, etc., is obtained through geometric calculations (such as Euclidean distance calculation and angle calculation).
[0089] Volume reconstruction is performed using depth images or in combination with multi-view images to calculate the thickness data of various parts of the body and form a thickness data model for the user.
[0090] The body shape data and thickness data are fused to build a complete user body model for subsequent acupoint identification.
[0091] S3, identifying acupoint positions according to the user's body shape data and the user's thickness data to obtain acupoint position data;
[0092] Specifically, the user's body shape data is mapped and matched with the standard acupoint distribution using a pre-constructed standard acupoint distribution map, and the standard acupoint positions are adjusted through geometric transformation to adapt to the user's specific body shape.
[0093] According to the user's body model and thickness data, the mapped acupoint positions are precisely adjusted to take into account the differences in the thickness of the user's subcutaneous tissue to ensure the accuracy of the acupoint positions.
[0094] For specific body parts (such as waist, shoulders, etc.), fine-tuning is performed according to actual conditions, and the acupoint positions are further corrected in combination with the user's body posture and muscle distribution.
[0095] The identified acupoint locations are verified by comparing them with typical acupoint locations known in medicine to ensure the accuracy and consistency of the identification results.
[0096] S4. Generate an acupoint massage route map according to the acupoint position data to obtain acupoint massage route map data.
[0097] Specifically, based on the acupoint location data, graph theory algorithms (such as the shortest path algorithm) are used to design the optimal acupoint connection sequence to ensure that the massage route is both efficient and comfortable.
[0098] Combining the user's body shape and thickness data, the massage intensity of each acupoint is determined by simulating a model of the impact of massage intensity on acupoints, and a massage intensity distribution map is generated.
[0099] According to the user's real-time feedback (such as pain points or sensitive points), the massage route map is dynamically adjusted to ensure personalization and comfort.
[0100] The optimized acupoint connection path and force distribution results are used to generate a visual acupoint massage route map, which can be exported as a data file or directly used in the control program of the massage equipment.
[0101] In the present invention, by extracting the body shape and thickness data of the user's image data, the method can generate a corresponding body shape model for each user. This method avoids the "one size fits all" approach in traditional massage design and can more accurately reflect the actual physical characteristics of the user. The individual differences of users (such as body shape, fat thickness, etc.) can be fully considered in the model, thereby improving the accuracy of acupoint identification. Through accurate acupoint location identification, a personalized massage roadmap is generated in combination with body shape and thickness data. The generated massage roadmap is based on the user's actual physical characteristics and acupoint distribution, ensuring that each massage can be carried out according to the specific situation of the user. The customized design based on scientific data helps to improve the accuracy and stability of the massage, so that the massage can act more effectively on the user's specific acupoints, and provides data support for enhancing the effect of the massage from a computer perspective.
[0102] Optionally, the user image data includes user front image data, user side image data and user back image data, and S1 includes:
[0103] S11, collecting front data of the user through a first camera to obtain front image data of the user;
[0104] Specifically, a first camera is fixed in front of the user to ensure that the camera is level with the user's face, and at the same time, the focal length and viewing angle of the camera are adjusted to cover the front area of the entire body of the user.
[0105] Through the voice or image guidance system, the user is guided to stand at the specified position to ensure the consistency of the collection angle and distance of the front image data.
[0106] The camera automatically focuses on the user's face and body contours, and uses Auto Exposure Control (AEC) to optimize the brightness and clarity of the image. Multiple frames are taken continuously, and the multi-frame fusion algorithm is used to remove blur caused by slight movement to obtain clear frontal image data. A Gaussian filter is applied to remove noise in the image, and contrast stretching technology is used to enhance the details of the image.
[0107] S12, collecting a side image of the user through a second camera to obtain side image data of the user;
[0108] Specifically, the second camera is installed on the side of the user's body, ensuring that it maintains an appropriate distance and angle with the side of the user's body, so that the full body outline of the user's side can be fully recorded.
[0109] Calibrate the camera vertically and horizontally to ensure that the captured side image and front image are on the same horizontal line to avoid data deviation due to angle differences.
[0110] Use posture detection technology to detect whether the user's standing posture meets the requirements. If the user's posture is unstable, issue an adjustment instruction to ensure the standardization of the side image data. After the front image is acquired, the side image is acquired immediately to ensure the consistency of the user's position and posture. Use edge enhancement technology to strengthen the user's body contour lines, and apply histogram equalization to improve the contrast of the side image.
[0111] S13. Capturing the image of the back of the user through the third camera to obtain image data of the back of the user, wherein the first camera, the second camera and the third camera are cameras at different positions.
[0112] Specifically, the third camera is installed behind the user's body, ensuring that the camera is facing the user's back and maintains a suitable distance and angle with the user's body to collect complete back image data. Adjust the ambient light source or use a back fill light to avoid backlighting, thereby ensuring the quality of the back image.
[0113] The back posture detection algorithm is used to detect whether the user is facing the camera. If there is a deviation, the user's posture is corrected through voice or visual prompts. In order to cover more back details, the camera can move left and right within a small range to collect back images from different angles, and then synthesize them into a complete back image through an image stitching algorithm. Filtering technology is applied to the collected back images to remove noise, and a sharpening filter is used to highlight back details, such as the outline of the shoulders and spine.
[0114] In the present invention, the first camera, the second camera and the third camera respectively collect image data from the front, side and back, so as to obtain the user's body information comprehensively. The multi-angle data collection method can capture different sides of the user's body, avoiding the lack of information that may be caused by a single perspective, thereby more accurately reflecting the user's body shape and thickness characteristics. The front, side and back image data can provide all-round body contour information, making the calculation of body shape and thickness more accurate. For example, the side image is particularly important for thickness measurement, while the front and back images are helpful for complete contour extraction and body shape analysis.
[0115] Optionally, S2 includes:
[0116] S21, extracting the body contour according to the front image data of the user and the back image data of the user to obtain the body contour data of the user;
[0117] Specifically, the user's front and back image data are converted into grayscale images to reduce the computational complexity and highlight the edge features of the image. Median filtering or Gaussian filtering technology is applied to remove noise points in the image and retain the main image contour information.
[0118] The Canny algorithm is used to perform edge detection on the grayscale image to identify the main contours of the user's body. The Canny algorithm includes the following steps: Smooth the image to reduce the impact of noise. Calculate the gradient direction and intensity of each pixel in the image to generate a gradient amplitude map. Perform non-maximum suppression on the gradient amplitude map and retain the local maximum as a potential edge. Set two high and low thresholds to filter out strong edges and weak edges respectively, and use the connection algorithm to connect the weak edges to the strong edges to extract the complete body contour.
[0119] The contour data extracted from the front and back images are merged and processed, and the complete user body contour data is generated through feature point matching and contour splicing algorithms. The merged contour data is smoothed using polynomial fitting or spline curve fitting technology to remove subtle noise and irregular shapes.
[0120] S22, classifying the user's body contour data into body shape to obtain the user's body shape data;
[0121] Specifically, the user's body contour is described using Fourier descriptors or Hu invariant moments, and a numerical vector reflecting the user's overall body shape characteristics is extracted. Key points (such as the vertices of the shoulders, waist, and hips) and the distances and angles between these points are extracted from the contour data as features for further classification.
[0122] Use support vector machine (SVM) or K-nearest neighbor (KNN) classifier to classify user body types based on the extracted contour features. The choice of classifier depends on the characteristics of the training data set and the complexity of the classification task. Use the trained classifier to classify the user's body type into predefined categories such as standard, short and fat, tall and thin, etc. If you need to improve the classification accuracy, use multi-scale analysis technology to classify the user's contour at different scales, and fuse the classification results at different scales to obtain the final user's body shape data.
[0123] S23, calculating the user thickness according to the user side image data to obtain the user thickness data.
[0124] Specifically, if there is no depth camera support, binocular vision or a monocular depth estimation method based on deep learning can be used to infer the depth information of the user's side image.
[0125] When inferring depth, ensure the geometric consistency between the side image and the front and back images, and align the side image data through an image registration algorithm (such as the ICP algorithm).
[0126] The user's front and back contour data are matched with the contour in the side image, and the thickness at each position is calculated by combining the width data of the front and back contours.
[0127] For the known side profile edge depth information, the user's body thickness can be directly calculated through triangulation. The algorithm calculates the distance between the camera view and the profile to obtain the thickness value of each key point.
[0128] The calculated thickness data is fitted using a spline curve or a B-spline to smooth the thickness curve and eliminate thickness calculation errors caused by noise or image deviation.
[0129] The thickness data is dynamically adjusted according to the user's body shape and thickness distribution characteristics to ensure the accuracy of the final thickness data.
[0130] The present invention utilizes complete body contour data extracted from the front and back images to perform body type classification, which can more accurately identify the user's body characteristics. Combined with the user's full body contour information, the user's body type can be better classified into thin, standard, obese and other categories. By combining the data of the front, back and side images, the method can generate a highly accurate user body model. The model combines contour and thickness data from different angles to provide complete three-dimensional body information. The entire massage design scheme is made more accurate, ensuring that each massage step can effectively act on the user's key parts. The contour extraction, body type classification and thickness calculation steps used in the method are highly flexible and adaptable. Regardless of how the user's body shape changes, the method can dynamically adjust the generated model and scheme to ensure wide applicability and meet the needs of different users in different scenarios.
[0131] Optionally, the user thickness calculation is specifically as follows:
[0132] Extract body contour according to the user's side image data to obtain side body contour data;
[0133] Specifically, the user's side image data is converted into a grayscale image to reduce computational complexity and enhance edge features.
[0134] Edge enhancement: Apply Sobel operator or Laplacian operator to enhance the edge and highlight the edge information of the body contour. Use Canny edge detection algorithm to extract the body contour, which includes Gaussian smoothing, gradient calculation, non-maximum suppression and double threshold edge connection. Use contour tracing algorithm (such as findContours function in OpenCV) to extract the detected edge contour to form complete body contour data. Filter the extracted contour data to remove the noise contour irrelevant to the subject and retain the main body contour.
[0135] Select thickness measurement points according to the side body contour data to obtain thickness measurement point data;
[0136] Specifically, by calculating the geometric features of the contour (such as curvature, inflection point), identify key points on the body contour, such as the characteristic points of the shoulder, waist and hip. Select multiple thickness measurement points near the key points or based on preset rules (such as even spacing), which should cover important areas of the user's body. Analyze the contour data of different scales to ensure that the selected measurement points are stable at different scales. Verify whether the selection of measurement points conforms to the symmetry characteristics of the body. If not, adjust the position of the measurement point to achieve higher measurement accuracy.
[0137] Perform vertical projection according to the thickness measurement point data to obtain the vertical projection data of the thickness measurement point;
[0138] Specifically, for each thickness measurement point, calculate its normal direction on the contour, and the normal direction will be used as the reference direction for vertical projection. Select the direction perpendicular to the side image of the body (usually the X-axis or Y-axis) as the projection axis to ensure that the projection is consistent with the actual thickness of the body. Project each thickness measurement point vertically onto the opposite side contour line along its normal direction to obtain the corresponding vertical projection point. During the projection process, exclude any projection points projected to the background area or unreasonable positions to ensure the rationality and accuracy of the projection results.
[0139] The distance calculation is performed on the vertical projection data of the thickness measurement point to obtain the user thickness data.
[0140] Specifically, for each pair of thickness measurement points and their corresponding vertical projection points, the Euclidean distance between the two is calculated to obtain thickness measurement data. For each body part, based on the thickness data of multiple measurement points, the average value is calculated as the final part thickness data to reduce measurement errors. The discrete thickness data is connected into a smooth thickness curve through curve fitting (such as spline curve) to better reflect the thickness change trend of the user's body.
[0141] The present invention accurately extracts body contour data from the side image, which can accurately reflect the external shape of the user's body. By analyzing the body contour data and selecting key thickness measurement points, the true thickness of each part of the user's body can be captured, and the targeted selection avoids the interference of irrelevant data, ensuring the representativeness of the thickness measurement points. By analyzing the body contour data and selecting key thickness measurement points, the true thickness of each part of the user's body can be captured, avoiding the interference of irrelevant data, and ensuring the representativeness of the thickness measurement points. By vertically projecting the thickness measurement point data, the errors caused by factors such as human body posture and angle can be effectively reduced, further enhancing the accuracy of thickness measurement. Distance calculation quantifies the distance between these projection points, directly reflects the thickness data of each part of the body, can dynamically adapt to the body shape and posture of different users, and ensure the reliability of thickness data.
[0142] Optionally, the thickness measurement point data includes first thickness measurement point data and second thickness measurement point data, and the thickness measurement points are specifically:
[0143] Performing body part detection on the user's side image data to obtain body part detection data;
[0144] Specifically, pre-trained deep learning models (such as ResNet or MobileNet) are used to detect human body parts in user profile images. These models extract high-level features of the image through convolutional neural network (CNN) layers and output the detection results of each part through fully connected layers.
[0145] Combined with the Region Proposal Network (RPN), it proposes regions for human body parts in the image and automatically marks key parts such as the head, shoulders, waist, and hips.
[0146] The detected human body parts are marked on the image by key point annotation to form part detection data containing position coordinates. For each detected part, it is screened according to the confidence score of the model, and only the part detection results with confidence higher than the preset threshold are retained to improve the detection accuracy.
[0147] Divide the side body contour data according to the human body part detection data to obtain body contour division data;
[0148] Specifically, the body contour data is divided into multiple segments using the human body part detection data, each segment corresponds to a human body part (such as head, torso, leg). The segmentation boundary is determined at the junction of adjacent parts through interpolation algorithm or straight line fitting algorithm to ensure the smoothness and continuity of the contour division.
[0149] The small area after segmentation is fused (such as the connection between the neck and the shoulder) to reduce the influence of small areas on subsequent measurements. The contour data after segmentation is locally smoothed to remove unnecessary details and noise to obtain the final body contour segmentation data.
[0150] Extract thickness measurement points of human body parts according to the body contour division data to obtain first thickness measurement point data;
[0151] Specifically, within each divided contour segment, the shape characteristics of the contour curve are analyzed, and the positions with the largest curvature are selected as preliminary thickness measurement points. These positions usually correspond to the most prominent parts of the body. Considering the body symmetry and anatomical characteristics, the positions of the preliminary selected measurement points are fine-tuned to ensure that the measurement points accurately reflect the actual thickness of the human body parts.
[0152] Re-test the measurement points of each part at different scales to ensure that these points are stable at different scales. Use the K-means clustering algorithm to cluster the initially selected measurement points, and select each cluster center point as the final thickness measurement point to form the first thickness measurement point data.
[0153] Performing vertical image division on the user's side image data to obtain vertical image division data;
[0154] Specifically, the side image is evenly divided into several slices vertically from top to bottom, and each slice covers a part of the human body. Each slice is vertically projected, and the width changes of each slice are analyzed to determine the widest and narrowest positions in each area. The boundary positions of each slice are smoothed to avoid image breakage or discontinuity caused by division. For continuous slice areas (such as waist and hips), they can be merged according to the similarity between adjacent slices to reduce unnecessary subdivisions.
[0155] The widest distance selection and the narrowest distance selection are performed according to the vertical image division data to obtain the second thickness measurement point data.
[0156] Specifically, in each vertical slice, the widest and narrowest distances of the contour are calculated, corresponding to the maximum and minimum widths in the segmentation data corresponding to the body. The widest and narrowest positions are calibrated, and their coordinates in the image are recorded to form preliminary measurement points of the widest and narrowest distances.
[0157] For the positions of the widest and narrowest points, the left-right symmetry of the body is taken into consideration and necessary adjustments are made to ensure that the measurement points accurately reflect the actual body thickness. The data of the widest and narrowest measurement points are integrated to obtain the data of the second thickness measurement point.
[0158] Specifically, for each vertical area, count the number of pixels in the horizontal direction. This number of pixels can represent the width of the area (that is, the thickness of the body in this area). From the width data of all vertical areas, find the area with the largest number of pixels. The distance corresponding to this area is the "widest distance", which indicates the thickest part of the user's body. Similarly, from the width data of all vertical areas, find the area with the least number of pixels. The distance corresponding to this area is the "narrowest distance", which indicates the thinnest part of the user's body. Mark the positions of the widest distance and the narrowest distance as the data of the second thickness measurement point. This data will contain two points, representing the measurement results of the thickest and thinnest parts of the body respectively.
[0159] In the present invention, by detecting the human body parts of the user's side image data, the key parts of the user (such as the head, chest, waist, etc.) can be accurately identified. Then the body contour data is divided, so as to extract the first thickness measurement point at each key part, ensuring that the selection of the thickness measurement point is based on the actual anatomical structure of the user's body, with high accuracy and pertinence. Through the vertical image division method, the maximum width and minimum width (i.e., the widest distance and the narrowest distance) of the user's body at different parts can be identified, which supplements the selection of the first thickness measurement point, so that the thickness measurement is not only based on anatomical features, but also takes into account the overall morphological features of the body, providing more comprehensive thickness data. The first thickness measurement point is based on the anatomical structure, while the second thickness measurement point is based on the widest and narrowest parts of the body shape, which can ensure the comprehensiveness and accuracy of the thickness data. By combining the data of these two types of measurement points, the thickness measurement is not only more accurate, but also can reflect the real thickness changes of different body parts. By determining the measurement points of the widest and narrowest distances through vertical image division, the error caused by inaccurate measurement position can be reduced, the real thickness of the body can be better reflected, and the measurement deviation caused by local abnormal morphology or posture can be avoided, which improves the reliability of the measurement results.
[0160] Optionally, the vertical image division is specifically as follows:
[0161] Counting the row pixels of the user's side image data to obtain row pixel quantity data;
[0162] Specifically, the user's side image data is scanned line by line from the top to the bottom of the image, and the number of pixels belonging to the body contour in each line is counted. The body contour can be distinguished from the background by setting a threshold, for example, based on the grayscale value or the result of edge detection. The number of pixels in each line is stored in an array to form row pixel number data. The length of the array is equal to the height of the image (i.e., the number of lines), and each element represents the number of pixels in the corresponding line.
[0163] Calculating the average change rate of the row pixel quantity data to obtain the row pixel average change rate data;
[0164] Specifically, for each row, the change rate of its pixel number and the pixel number of the previous row is calculated, and the change rates of all rows are averaged to obtain the average change rate data of the row pixels of the entire image, reflecting the overall vertical change trend of the image.
[0165] Calculate the local change rate according to the row pixel quantity data to obtain the row pixel local change rate data;
[0166] Specifically, generate sliding window data, and calculate the local change rate of the row pixel number data according to the sliding window data to obtain the row pixel local change rate data, which can be achieved by calculating the ratio of the change in the number of row pixels in each window to the window size. Define a sliding window of fixed size (for example, 5 rows or 10 rows), perform sliding calculation on the row pixel number data, and gradually calculate the change in the number of pixels in each window. In each window, calculate the local change rate. The formula is similar to the global change rate calculation, but only applies to the data in the window. Store the local change rate of each window in an array to form the row pixel local change rate data. This data can reveal subtle vertical changes in the image. Collect the row pixel number data to form a one-dimensional array. For example: [100, 150, 200, 120, 180, 160, 140, 220,190, 210]. Select a sliding window of fixed size, such as 5 rows. Create an empty array to store the local change rate of each window. Use a loop to traverse the row pixel number data and move the sliding window step by step: for example, for the window from row i to row (i+4), calculate the rate of change within the window. In each window, calculate the amount of change: amount of change = the number of pixels in the last row of the current window - the number of pixels in the first row of the current window. Calculate the local rate of change: local rate of change = amount of change / the number of pixels in the first row of the current window.
[0167] The row pixel local change rate data is screened according to the row pixel average change rate data to obtain the row pixel local screening data;
[0168] Specifically, multiple calculation is performed based on the row pixel average change rate data to generate row pixel change rate threshold data; it is determined whether the row pixel local change rate data is greater than or equal to the row pixel change rate threshold data; when it is determined that the row pixel local change rate data is greater than the row pixel change rate threshold data, the corresponding row pixel local change rate data is determined as the row pixel local screening data. According to the row pixel average change rate data, a screening threshold is set, and several times of the average change rate are usually selected as the screening standard for the local change rate. The row pixel local change rate data is traversed, and those rows whose change rates exceed the set threshold are retained, and the change rates below the threshold are removed. The result forms the row pixel local screening data, which represents the significant vertical change positions in the image. First, the average value of the row pixel local change rate is calculated, for example: the local change rate data is [0.8, 0.067, -0.3, 0.833, 0.056, 0.3125]. Average rate of change = (0.8 + 0.067 - 0.3 + 0.833 +0.056 + 0.3125) / 6 ≈ 0.2446. Set the screening threshold based on the calculated average rate of change. For example, select 2 times the average rate of change as the threshold: Screening threshold = 0.2446 2 ≈ 0.4892. Traverse the row pixel local change rate data to check whether each change rate exceeds the set threshold. The specific process is as follows: For change rate 0.8: greater than the threshold, retain. For change rate 0.067: less than the threshold, remove. For change rate -0.3: less than the threshold, remove. For change rate 0.833: greater than the threshold, retain. For change rate 0.056: less than the threshold, remove. For change rate 0.3125: less than the threshold, remove. According to the screening results, the retained change rate is [0.8, 0.833], forming the row pixel local screening data. The screening process helps remove rows with low change rates, ensuring that only the significant vertical change positions in the image are focused on, which can effectively eliminate noise and unnecessary fluctuations. The filtered data [0.8, 0.833] represents the significant vertical change positions in the image, showing that the change rates of those rows in a relatively small range are significantly higher than the overall trend, which are often related to important features or boundaries in the image.
[0169] Optimizing and generating division parameters based on the local screening data of row pixels to obtain row pixel division parameter data;
[0170] Specifically, median filtering is performed on the local screening data of row pixels to obtain local screening optimization data, and key segmentation points are determined based on the local screening optimization data to obtain key segmentation point data; partition parameters are generated based on the key segmentation point data to obtain row pixel partition parameter data. For the screened local change points, median filtering or other smoothing techniques are applied to eliminate possible noise or outliers to ensure the stability of the partition. According to the distribution of the screening data, the continuous change areas are classified, the positions of the key segmentation points are determined, and preliminary partition parameters are generated. The optimized key segmentation points are converted into partition parameters, such as the row number of each segmentation point and the corresponding width range. According to the accuracy requirements of the partition, the final row pixel partition parameter data is determined, and these parameters will be used for the actual segmentation of the image. For example, if the filtered local change point data is [125, 256, 345, 412, 587, 72, 684, 732, 805, 1095], the optimized data after median filtering is [256, 345, 412, 587, 684, 805]. Set the change rate threshold, for example, 300, to identify high change areas. The identified high-change areas are as follows: area 1: rows 250 to 600 (for example, the change rate of rows 256, 345, and 412 is greater than 300), area 2: rows 700 to 1100 (for example, the change rate of rows 684, 805, and 1095 is greater than 300); key segmentation points are determined for each high-change area (a point with a change rate significantly higher than that of the surrounding rows is selected as a key segmentation point, which corresponds to a significant feature or boundary in the image, or, in the local change rate data, a local maximum is identified, and the point corresponding to the local maximum is a turning point or boundary of the image feature): key segmentation points for area 1: rows 256, 345, and 412, key segmentation points for area 2: rows 684, 805, and 1095; the key segmentation points are converted into division parameters, including a row number range: the number of division rows for area 1 is rows 256, 345, and 412, and the number of division rows for area 2 is rows 684, 805, and 1095. Corresponding width range: Region 1: row 250 to row 600 (width is 351), Region 2: row 700 to row 1100 (width is 401); optimize the segmentation parameters according to the accuracy requirements (check all rows between row 412 and row 684 to ensure that their change rate is lower than the set threshold. For example, if the change rate is within 10%, you can consider merging), for example, merge the area between row 412 and row 684. The merged parameters are: row 256, row 345, row 412, row 684, row 805, row 1095. In the actual segmentation process, these row numbers will be used as dividing lines to separate different areas in the image.
[0171] The user side image data is divided into image data according to the row pixel division parameter data to obtain vertical image division data.
[0172] Specifically, the generated row pixel division parameter data is used to segment the user's side image in the vertical direction. Each segmentation point corresponds to a specific row, and the image is divided into several vertical regions. Each segmented region is calibrated, and its starting row, ending row and corresponding pixel width are recorded to form vertical image division data. If some segmented regions are too small or too large, they are adjusted according to the actual situation to ensure the uniformity and rationality of each region. The final vertical image division data can be used for subsequent thickness measurement point selection and other analysis tasks.
[0173] In the present invention, the number of pixels in each row is obtained by counting the row pixels of the user's side image data, and the average change rate and local change rate of the row pixels are further calculated to capture the slight changes in the image, ensuring that the image division is based on specific body contour features rather than simple image segmentation. By calculating the local change rate of the row pixel number data, the significant change area in the image can be dynamically identified, corresponding to the key parts of the body (such as shoulders, waist, buttocks, etc.). Further, the local change rate is screened and optimized by the average change rate, which can filter out noise data and ensure the reliability and stability of the division result. The dynamic screening and optimization process enhances the robustness of the algorithm and can adapt to data from different users and different image acquisition conditions. By fine-grained analysis and screening of the row pixel change rate, the error caused by noise or image acquisition instability can be effectively reduced. At the same time, the optimization of the local change rate can ensure that key information will not be lost during the screening process, and the effective data related to the user's body shape is retained to the maximum extent.
[0174] Optionally, S3 includes:
[0175] S31, constructing a user body model according to the user thickness data, the user body shape data and the user body contour data to obtain a user body model;
[0176] Specifically, the user's thickness data, body shape data, and body contour data are fused, and these data are mapped to a unified three-dimensional coordinate system through an interpolation algorithm or a spatial alignment algorithm to ensure the alignment and consistency of each data set.
[0177] The integrated data is used to generate a 3D body model of the user using Delaunay triangulation or Marching Cubes algorithm. This process converts discrete point data into a continuous surface model to construct the user's body mesh. Through Laplace smoothing or other geometric filtering techniques, noise and irregular surfaces in the 3D model are removed to obtain a smooth user body model.
[0178] S32, extracting skeleton key points according to the user's body model to obtain skeleton key point data;
[0179] Specifically, the user's body model is matched with a predefined human skeleton model, and the two are aligned through the ICP (Iterative Closest Point) algorithm to preliminarily locate the positions of the skeleton key points in the user's body model. In the user's body model, geometric features (such as curvature, protrusions and depressions at joints) are used to further accurately locate the skeleton key points. Commonly used techniques include curvature analysis and Gaussian curvature calculation.
[0180] For symmetrical skeletal parts (such as left and right shoulders, knees, etc.), check and correct the symmetry of key points to ensure the accuracy and symmetry of skeletal key points. Perform multi-scale detection on skeletal key points and optimize the position of key points to adapt to different levels of geometric details.
[0181] S33, performing acupoint distribution map matching according to the skeleton key point data and the preset human acupoint distribution map to obtain preliminary acupoint distribution map data of the user;
[0182] Specifically, based on the skeleton key point data, the preset human acupuncture point distribution map is rigidly transformed (translated, rotated, scaled) and preliminarily matched to the user's body model. Use an optimization algorithm based on rigid transformation, such as Levenberg-Marquardt optimization, to achieve accurate matching. Based on the preliminary matching, non-rigid registration (such as Thin PlateSpline transformation) is performed to adapt to the subtle differences in the user's body shape and obtain more accurate acupuncture point locations. Calculate the error between the user's skeleton key points and the corresponding acupuncture points in the preset distribution map, use the least squares method for global correction, reduce the overall matching error, and generate preliminary user acupuncture point distribution map data.
[0183] S34, optimizing the acupoint positions of the preliminary acupoint distribution map data of the user according to the user's thickness data and the user's body shape data, to obtain acupoint position optimization data;
[0184] Specifically, the user's thickness data is used to adjust the depth position of each acupoint to ensure that the acupoint is in the correct position on the user's body surface. Depth mapping can use a shape-based interpolation algorithm to map thickness information to a three-dimensional model. For specific body shape features (such as waist curvature, shoulder width, etc.), the position of the acupoint is adjusted to make it highly compatible with the user's body shape. B-spline or other local interpolation methods can be used to make subtle adjustments to the acupoint position. All optimized acupoint positions are smoothed overall to eliminate possible jumps or discontinuities and obtain optimized acupoint position data.
[0185] S35, calculating acupoint relationships according to the acupoint location optimization data to obtain acupoint relationship data;
[0186] Specifically, based on the acupoint location optimization data, Delaunay triangulation is used to generate the connection relationship between acupoints to form an acupoint connection network. On the acupoint connection network, the Dijkstra algorithm or A* algorithm is used to calculate the shortest path between acupoints to determine the best connection method for the massage route. According to the geometric distance between the acupoints, the weight of each connection is calculated to form acupoint relationship data with weights. According to the importance of each acupoint (such as specific acupoints in traditional Chinese medicine theory), the weight is adjusted to ensure that the massage path is more in line with actual needs.
[0187] S36. Generate a user acupoint distribution map based on the acupoint relationship data to obtain user acupoint distribution map data.
[0188] Specifically, the acupoint relationship data is converted into a visual acupoint distribution map, showing the connection paths between acupoints and the precise location of each acupoint. Graphics rendering technology (such as OpenGL or DirectX) is used to generate a three-dimensional acupoint distribution map for the user, providing a three-dimensional sense and interactivity. The generated user acupoint distribution map data is exported into multiple formats, such as two-dimensional images, three-dimensional model files or data tables, for further use or analysis. The accuracy of the generated user acupoint distribution map is verified by comparison with the standard acupoint distribution map, and final fine-tuning is performed according to requirements.
[0189] In the present invention, an accurate user body model is constructed by combining the user's thickness data, body shape data and body contour data, which accurately reflects the user's physical characteristics and provides a solid foundation for subsequent skeleton key point extraction and acupoint positioning. The extraction of skeleton key points not only depends on the accuracy of the body shape model, but also takes into account the individual differences of the users, so that the skeleton key points of the users can be efficiently extracted. It is possible to effectively combine the actual body shape characteristics of the user to generate a more accurate and practical acupoint distribution map, ensuring that the position of each acupoint is more in line with the user's body structure. According to the user's thickness data and body shape data, the acupoint distribution map initially generated is dynamically optimized, the acupoint position deviation caused by body shape differences is corrected, the body shape characteristics of different users can be adapted, and the accuracy and adaptability of acupoint positioning are improved. Based on the optimized acupoint position, multi-dimensional acupoint relationship calculation is performed to analyze the spatial and functional relationships between acupoints. Through this analysis, a more complex and accurate acupoint network can be constructed to provide data support for generating the final acupoint distribution map. The calculation of acupoint relationships not only considers the proximity of spatial locations, but also combines functional relevance, ensuring that the final distribution map is both scientific and practical.
[0190] Optionally, the acupoint relationship calculation is specifically as follows:
[0191] Perform distance calculation based on acupoint location optimization data to obtain acupoint location distance data;
[0192] Specifically, for each pair of acupoints, the distance between them is calculated using the Euclidean distance formula according to their three-dimensional coordinate data, and the distance calculation results between all acupoints are stored in a distance matrix to form complete acupoint position distance data.
[0193] According to the acupoint location distance data, adjacent acupoints are identified to obtain adjacent acupoints data;
[0194] Specifically, a distance threshold is set, and acupoint pairs whose distance is less than the threshold are marked as adjacent acupoints. This threshold can be set according to human anatomical characteristics or TCM theory. Acupoint pairs that satisfy the adjacent relationship are recorded to generate adjacent acupoint data, including each acupoint and its adjacent acupoint list.
[0195] A proximity graph is constructed based on the data of adjacent acupoints to obtain the spatial relationship data of acupoints;
[0196] Specifically, each acupoint is regarded as a node in the graph, and the adjacent acupoints are regarded as the edges between the nodes. A proximity graph is constructed based on the adjacent acupoint data. Weights are set on the edges of the graph, which are the distance between two acupoints or the predefined proximity relationship strength, to form a weighted proximity graph, which is output as the acupoint spatial relationship data.
[0197] Obtaining acupoint function label data and acupoint function location data;
[0198] Specifically, the function label of each acupoint is obtained from the preset TCM acupoint database or literature, and these labels describe the main function of the acupoint (such as pain relief, meridian dredging, etc.). Combined with the distribution of acupoints on the human body, the action area of each function label is calibrated to form acupoint function position data, including the acupoint and its corresponding function label and position relationship.
[0199] Performing functional association based on acupoint location optimization data, acupoint function label data, and acupoint function location data to obtain acupoint location function association data;
[0200] Specifically, the optimized position data of each acupoint is mapped with its functional label and position data to determine whether there is a functional association between these acupoints. For acupoints with similar functions and close locations, their functional association strength is calculated, which can be achieved through similarity measurement or rule-based association algorithm. The functional association strength between all acupoints is represented in matrix form to generate acupoint position functional association data for subsequent graph construction.
[0201] A correlation graph is constructed based on the acupoint position function correlation data to obtain the acupoint function relationship data;
[0202] Specifically, similar to the proximity graph, a graph structure based on functional association is constructed, where each acupoint is a node and the functional association strength is the weight of the edge. According to the functional importance and association strength of the acupoints, the graph structure is optimized, the most important functional associations are retained, and the output is the acupoint functional relationship data.
[0203] Acupoint spatial relationship data and acupoint functional relationship data are weightedly fused to obtain acupoint relationship data.
[0204] Specifically, weighted fusion is performed on the acupoint spatial relationship data and the acupoint functional relationship data. The fusion formula may be linear weighting. The weighted fusion results of all acupoint pairs are calculated to obtain the final acupoint relationship data, indicating the overall relationship strength between the acupoints.
[0205] In the present invention, by calculating the distance between acupoints, the spatial relationship between each pair of acupoints can be accurately determined. Further adjacent acupoint identification can effectively find acupoints that are close to each other, laying the foundation for constructing a spatial relationship diagram of acupoints. Not only the physical location of the acupoints is taken into account, but also the functional attributes of each acupoint are combined, so that the calculation results are more in line with the actual massage application needs. Through this functional association, the potential connection between different acupoints in certain specific functions can be found, thereby providing more comprehensive guidance. Compared with simple spatial analysis, the functional relationship diagram reveals the functional interaction between acupoints, especially in certain specific massage demand scenarios, the functional relationship diagram can help identify key acupoint combinations and enhance the user's massage experience and effect. The present invention ensures the balance of the two types of relationship data by weighted fusion of the spatial relationship data and functional relationship data of the acupoints, taking into account both the physical proximity of the acupoints and their functional relevance.
[0206] Optionally, the functional association is specifically:
[0207] Performing split hierarchical clustering processing on the acupoint function label data and the acupoint function position data to obtain acupoint function label position clustering data;
[0208] Specifically, the acupoint function label data and its corresponding function position data are integrated into a data matrix, and each data point contains a function label and corresponding position coordinates.
[0209] In the initial stage, all acupoint function labels and location data are considered as a whole, and their overall function and location characteristics are calculated. The overall data is gradually split into several subsets. In each step, the subset with the largest difference is selected for splitting, which can be achieved by maximizing the variance between clusters, including DIANA (Divisive AnalysisClustering). At each split, the subset with the least similar function labels or locations is selected for splitting, and recursive splitting continues until all subsets reach the preset similarity threshold.
[0210] Through the above splitting process, a tree structure is generated, each node represents a cluster, and the hierarchical relationship between nodes reflects the similarity between the acupoint function labels and locations. The generated cluster tree data represents the hierarchical relationship between different acupoint functions and locations.
[0211] According to the acupoint function label position clustering data, the acupoint position optimization data is associated with weights to obtain acupoint position function association data.
[0212] Specifically, the generated clustering tree data (acupoint location function association data) is traversed, and the weight of each acupoint in different function and location levels is calculated level by level from the leaf node of the tree upward.
[0213] The functional association weight of the acupoint is calculated based on its hierarchical position in the clustering tree and its functional similarity with other acupoints. Acupoints with higher similarity are given higher weights, or the weights are adjusted according to the hierarchical depth. Alternatively, a linear combination model is used to calculate the association weight.
[0214] The calculated association weights of each pair of acupoints are filled into a matrix to form complete acupoint location function association data.
[0215] In the present invention, a multi-level clustering tree can be constructed by performing split hierarchical clustering on the acupoint function label data and the function position data. This method can reveal the hierarchical structure of different acupoints in terms of function and position, help identify acupoint groups with similar functions or close positions, and can more finely reveal the potential functional relationship between acupoints. Especially in complex body function systems, this hierarchical structure can provide deeper insights. The clustering results are combined with the actual acupoint position data, and accurate association weights are generated by calculating the correlation between each acupoint in function and position. The weights can reflect the comprehensive correlation between different acupoints in function and position, providing a scientific basis for the subsequent construction of functional relationship diagrams. Through the combination of function labels and position data, some implicit functional relationships that cannot be revealed by traditional methods can be excavated. For example, through cluster analysis, some acupoint combinations with different function labels but close positions can be found, so that users can provide more abundant and diverse massage services.
[0216] Optionally, S4 includes:
[0217] S41, obtaining user massage demand data;
[0218] Specifically, the user's massage needs are obtained through a user-friendly interactive interface. The user can enter the demand data by selecting options such as body part, pain level, massage type (such as relaxation, treatment), etc.
[0219] If the user inputs their requirements using natural language, natural language processing (NLP) technology can be used to parse the user's text input and extract key requirement information, such as target acupoints, massage intensity, etc.
[0220] The massage demand data input by the user is converted into a standardized format that can be processed by the system, such as converting different demand types into corresponding preset tags (such as shoulder and neck relaxation, waist pain relief, etc.). According to the user's preference, weights are set for different massage demands, which will be used for path optimization in subsequent steps.
[0221] S42, matching the user's massage demand data with a preset massage acupoint demand mapping table to obtain the user's massage acupoint demand data;
[0222] Specifically, a massage acupoint demand mapping table is pre-set, which matches the user's massage needs (such as relaxation, treatment of certain pains) with specific acupoints. A hash table or a rule-based matching algorithm is used to match the user's demand data with the acupoints in the mapping table to generate the user's massage acupoint demand data. This process ensures that each demand can be associated with one or more specific acupoints. All matched acupoint demand data are integrated into a set, duplicate acupoints are removed, and sorted by demand weight to form the user's acupoint demand list.
[0223] S43, generating an acupoint connection path according to the user's acupoint massage demand data and the user's acupoint distribution map data to obtain acupoint connection path data;
[0224] Specifically, the user's acupoint distribution map data is regarded as a graph model, where the acupoints are nodes and the edges between the nodes represent the connection paths between the acupoints. A graph theory algorithm (such as the Dijkstra algorithm or the A* algorithm) is used to generate the shortest path from one acupoint to another in the graph. According to the weight of the user's massage needs, priorities are set for different paths. Acupoints with high weights will be connected first to form the main massage path.
[0225] For the case where multiple acupoints are involved in the demand, multiple paths are generated to ensure that all required acupoints are effectively connected, and a set of path data is obtained, each path corresponding to the user's specific massage demand.
[0226] S44, optimizing the acupoint connection path according to the acupoint connection path data, the user's body shape data, and the user's thickness data, to obtain acupoint massage route map data.
[0227] Specifically, the initially generated acupoint connection path is optimized in combination with the user's body shape data and thickness data. An optimization algorithm based on energy minimization, such as Simulated Annealing or Genetic Algorithm, can be used to adjust the path to adapt to the user's body shape. Bezier curves or spline curves are applied to smooth the path to ensure the continuity and smoothness of the path and avoid discomfort during actual massage.
[0228] The optimized path data is converted into a three-dimensional acupoint massage roadmap and displayed on the user's body model to provide an intuitive path display. The generated acupoint massage roadmap data is exported into a machine-readable format, such as JSON or XML, for further use by massage equipment or programs.
[0229] In the present invention, by obtaining the massage demand data of the user and matching it with the preset massage acupoint demand mapping table, the acupoints that the user needs to focus on massage can be accurately located, ensuring that the massage plan is highly consistent with the actual needs of the user, improving the effectiveness and pertinence of the massage, and avoiding the problem of "one size fits all" in the traditional massage plan. An accurate acupoint connection path is generated through the user's massage acupoint demand data and the user's acupoint distribution map data. This path generation takes into account the actual acupoint distribution of the user's body, ensuring that the massage route is more scientific and reasonable, and can effectively cover the user's required acupoints, thereby improving the overall massage effect. According to the acupoint connection path data, combined with the user's body shape data and thickness data, the path is optimized, so that the generated massage route is not only accurate, but also can dynamically adapt to the body shape characteristics and thickness differences of different users. Through optimization, the massage route is more in line with the user's actual body shape, improving the comfort and effect of the massage.
[0230] The objects of the present invention are:
[0231] 1. The present invention achieves accurate modeling of the user's body characteristics by acquiring the user's image data (S1) and further extracting the user's body shape data and thickness data (S2). Through comprehensive analysis of the user's front, side and back images, the generated body shape model and thickness data can accurately reflect the user's individual characteristics, ensuring that all subsequent analysis is based on the user's actual individual data rather than a general model, thereby improving the accuracy of recognition and processing.
[0232] 2. The present invention performs accurate acupoint location identification by comprehensively considering the user's body shape data and thickness data. This process is not only based on traditional acupoint location theory, but also combines the user's actual physical characteristics, such as body shape differences, thickness changes, etc., to ensure that each acupoint is more accurately located, greatly improving the accuracy of acupoint identification and avoiding acupoint location deviations caused by individual differences.
[0233] 3. The present invention generates a personalized acupoint massage route map based on the identified acupoint location data. This process takes into account the user's overall body shape, local thickness and specific acupoint distribution to design the optimal massage route. Through the intelligent path optimization algorithm, the massage route can cover important acupoints to the maximum extent while avoiding duplication and invalid paths, ensuring the maximum massage effect and improving the user's comfort and satisfaction.
[0234] The above description is only a specific embodiment of the present invention, so that those skilled in the art can understand or implement the present invention. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown herein, but should conform to the widest scope consistent with the principles and novel features invented herein.
Claims
1. A method for designing acupoint massage, characterized in that: The method comprises: S1. Obtain user image data; S2, extracting user body shape data and user thickness data according to the user image data to obtain user body shape data and user thickness data; S3, identifying acupoint positions according to the user's body shape data and the user's thickness data to obtain acupoint position data; S4, generating an acupoint massage route map according to the acupoint position data to obtain acupoint massage route map data; S3 includes: A user body shape model is constructed according to the user thickness data, the user body shape data and the user body contour data to obtain a user body shape model; Extract skeleton key points according to the user's body model to obtain skeleton key point data; Acupoint distribution map matching is performed based on the bone key point data and the preset human acupoint distribution map to obtain the user's preliminary acupoint distribution map data; Optimizing the acupoint positions of the preliminary acupoint distribution map data of the user according to the user's thickness data and the user's body shape data to obtain acupoint position optimization data; Calculate the acupoint relationship according to the acupoint position optimization data to obtain the acupoint relationship data; Generate a user's acupoint distribution map based on the acupoint relationship data to obtain acupoint location data; The calculation of acupoint relationship is as follows: Perform distance calculation based on acupoint location optimization data to obtain acupoint location distance data; According to the acupoint location distance data, adjacent acupoints are identified to obtain adjacent acupoints data; A proximity graph is constructed based on the data of adjacent acupoints to obtain the spatial relationship data of acupoints; Obtaining acupoint function label data and acupoint function location data; Performing functional association based on acupoint location optimization data, acupoint function label data, and acupoint function location data to obtain acupoint location function association data; A correlation graph is constructed based on the acupoint position function correlation data to obtain the acupoint function relationship data; Acupoint spatial relationship data and acupoint functional relationship data are weightedly fused to obtain acupoint relationship data.
2. The method according to claim 1, characterized in that: The user image data includes the user front image data, the user side image data and the user back image data, and S1 includes: Collecting front data of the user through the first camera to obtain front image data of the user; The user's side image is collected by a second camera to obtain user's side image data; The image of the user's back is captured by the third camera to obtain image data of the user's back, wherein the first camera, the second camera and the third camera are cameras at different positions.
3. The method according to claim 2, characterized in that S2 include: Extracting the body contour according to the front image data of the user and the back image data of the user to obtain the body contour data of the user; Classifying the user's body contour data into body shapes to obtain the user's body shape data; The user thickness is calculated based on the user side image data to obtain the user thickness data.
4. The method according to claim 3, characterized in that: The user thickness calculation is as follows: Extract body contour according to the user's side image data to obtain side body contour data; Select thickness measurement points according to the side body contour data to obtain thickness measurement point data; Perform vertical projection according to the thickness measurement point data to obtain the vertical projection data of the thickness measurement point; The distance calculation is performed on the vertical projection data of the thickness measurement point to obtain the user thickness data.
5. The method according to claim 4, characterized in that The thickness measurement point data includes the first thickness measurement point data and the second thickness measurement point data. The thickness measurement points are specifically: Performing body part detection on the user's side image data to obtain body part detection data; Divide the side body contour data according to the human body part detection data to obtain body contour division data; Extract thickness measurement points of human body parts according to the body contour division data to obtain first thickness measurement point data; Performing vertical image division on the user's side image data to obtain vertical image division data; The widest distance selection and the narrowest distance selection are performed according to the vertical image division data to obtain the second thickness measurement point data.
6. The method according to claim 5, characterized in that The vertical image division is specifically as follows: Counting the row pixels of the user's side image data to obtain row pixel quantity data; Calculating the average change rate of the row pixel quantity data to obtain the row pixel average change rate data; Generate sliding window data, and calculate the local change rate of the row pixel quantity data according to the sliding window data to obtain the row pixel local change rate data, which can be achieved by calculating the ratio of the change amount of the row pixel quantity in each window to the window size; Perform multiple calculation based on the row pixel average change rate data to generate row pixel change rate threshold data; Determine whether the row pixel local change rate data is greater than or equal to the row pixel change rate threshold data; When it is determined that the row pixel local change rate data is greater than the row pixel change rate threshold data, the corresponding row pixel local change rate data is determined as the row pixel local screening data; Perform median filtering on the local screening data of the row pixels to obtain local screening optimization data, and determine the key segmentation points based on the local screening optimization data to obtain key segmentation point data; The division parameters are generated according to the key segmentation point data to obtain the row pixel division parameter data; The user side image data is divided into image data according to the row pixel division parameter data to obtain vertical image division data.
7. The method according to claim 1, characterized in that The functional associations are as follows: Performing split hierarchical clustering processing on the acupoint function label data and the acupoint function position data to obtain acupoint function label position clustering data; According to the acupoint function label position clustering data, the acupoint position optimization data is associated with weights to obtain acupoint position function association data.
8. The method according to claim 1, characterized in that S4 include: Obtain user massage demand data; Matching the user's massage demand data with a preset massage acupoint demand mapping table to obtain the user's massage acupoint demand data; Generate acupoint connection paths according to the user's acupoint massage demand data and the user's acupoint distribution map data to obtain acupoint connection path data; The acupoint connection path is optimized according to the acupoint connection path data, the user's body shape data and the user's thickness data to obtain the acupoint massage route map data.
Citation Information
Patent Citations
Artificial intelligent full-automatic high-precision acupoint recognition and positioning method
CN115804714A
Acupuncture point positioning method and acupuncture point physiotherapy robot
CN118356341A