Body shape difference display method and electronic device
Through the body shape difference display method of electronic equipment, the body shape is automatically compared with 3D models and 2D images, and the problems of low efficiency and poor accuracy of body shape change display in the prior art are solved, and intuitive and accurate body shape change display is achieved.
Patent Information
- Application Number
- PCT/CN2024/127401
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-08
- Filing Date
- 2024-10-25
- Publication Date
- 2025-06-12
AI Technical Summary
The prior art is difficult to visually display changes in user body shape. Users need to manually measure or compare photos with naked eyes, which is inefficient and poor accuracy.
A body shape difference display method is provided, using electronic devices to automatically compare body shapes, express body shape comparison results through 3D models and/or 2D images, and include indication information in the image to visually indicate body shape differences.
It realizes automated body shape comparison, improves efficiency and accuracy, and users can intuitively feel body shape changes and improves user experience.
Smart Images

Figure CN2024127401_12062025_PF_FP_ABST
Abstract
Description
Body shape difference display method and electronic device
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of the People's Republic of China on December 8, 2023, with application number 202311692081.1 and application name "A method and electronic device for displaying body shape differences", the entire contents of which are incorporated by reference into this application. Technical Field
[0003] The present application relates to the field of terminal technology, and in particular to a body shape difference display method and electronic device. Background Art
[0004] As time goes by, people are increasingly focusing on improving their physical fitness, and fitness exercises in their spare time have become a popular trend. Generally speaking, users pay more attention to physical changes after exercising. For example, after each workout, users may use a scale to measure their weight and perceive the effect of their exercise based on the change in weight. However, this method only detects changes in weight, not changes in body shape.
[0005] Summary of the Invention
[0006] The embodiments of the present application provide a method and electronic device for displaying body shape differences, which can intuitively display changes in a user's body shape.
[0007] In a first aspect, a method for displaying body shape differences is provided, applicable to an electronic device. The electronic device may be, for example, a mobile phone. The method may include: receiving a first operation; and displaying a body shape comparison result between a first body shape and a second body shape, wherein the body shape comparison result is expressed as a 3D model and / or a 2D image.
[0008] In the embodiment of the present application, the electronic device can automatically compare body shapes without the need for the user to manually measure the dimensions of each dimension for comparison, nor does it require the user to compare photos with the naked eye. This is relatively intelligent and efficient. Moreover, the electronic device displays body shape changes through 3D models and / or 2D images, which is relatively intuitive and provides a better user experience.
[0009] In a possible design, the 3D model and / or 2D image includes first indication information, where the first indication information is used to indicate a difference between the first body shape and the second body shape.
[0010] In an embodiment of the present application, the electronic device can express the comparison result between the two body shapes through a 3D model and / or a 2D image, and the 3D model and / or the 2D image also includes first indication information, which can indicate the difference between the two body shapes to the user more intuitively and clearly, and provide a better user experience.
[0011] In a possible design, the first body shape and the second body shape are the body shapes of the same user at different times, or the body shapes of different users.
[0012] Therefore, the technical solution provided in the embodiment of the present application is applicable to the body shape comparison of the same user at different times, and is also applicable to the body shape comparison of different users.
[0013] In one possible design, before displaying the body shape comparison result of the first body shape and the second body shape, the method further includes: obtaining the body shape comparison result based on the first body shape information and the second body shape information; the first body shape information includes at least one of the 3D model, 2D image or dimensional data of the first body shape; the second body shape information includes at least one of the 3D model, 2D image or dimensional data of the second body shape.
[0014] In an embodiment of the present application, the electronic device can obtain body shape comparison results based on 3D models, 2D images, dimensional data, etc. of two body shapes, and the body shape comparison results are displayed through 3D models and / or 2D images, which is more intuitive and provides a better user experience.
[0015] In one possible design, before obtaining the body shape comparison result based on the first body shape information and the second body shape information, the method further includes: determining the first body shape information and the second body shape information in the N body shape information based on labels of the N body shape information, where N is a positive integer, and the label includes at least one of the body shape information number, construction time, user identification, and body mark, and the body mark is used to mark the whole body or a local body part.
[0016] In the embodiment of the present application, the electronic device can independently determine two body shapes for comparison, and can display the comparison results of the two body shapes through a 3D model and / or a 2D image, which is more intuitive.
[0017] In a possible design, before obtaining the body shape comparison result based on the first body shape information and the second body shape information, it also includes: displaying an identifier of N body shape information, where N is a positive integer; and determining the first body shape information and the second body shape information from the N body shape information based on a user selection operation.
[0018] In an embodiment of the present application, a user can select two body types, and the electronic device compares the two body types and displays the comparison results of the two body types through a 3D model and / or a 2D image, which is more intuitive.
[0019] In one possible design, before obtaining the body shape comparison result based on the first body shape information and the second body shape information, it also includes: displaying a first interface, the first interface is used to obtain a user image or dimensional data, and the user image or dimensional data is used to obtain the first body shape information; displaying a second interface, the second interface includes the first body shape information; receiving a second operation; and determining the second body shape information from N historical body shape information based on the first body shape information or the user operation, where N is a positive integer.
[0020] In an embodiment of the present application, the electronic device can determine the first body shape information through the first interface, and then the electronic device can also determine a historical body shape information by itself, compare the two body shape information, and display the comparison results of the two body shapes through a 3D model and / or 2D image, which is more intuitive.
[0021] In one possible design, the second interface includes a first button, and receiving the second operation includes: receiving the second operation for the first button.
[0022] In an embodiment of the present application, after the electronic device obtains the first body shape information, it can first display the first body shape information and can also display a first button (for example, a body shape comparison button). If the user wants to compare the first body shape information with historical body shape information, the user can click the first button.
[0023] In one possible design, a first interface is displayed, including: displaying an image capture interface, the image capture interface is used to capture a user image, the first body shape information includes the user image or a 3D model obtained based on the user image; or, displaying an interface of a gallery application, the interface includes at least one image, the first body shape information includes an image selected by the user in the interface or a 3D model obtained based on the image selected by the user; or, displaying an input interface for dimensional data, the first body shape information includes dimensional data input in the input interface or a 3D model generated based on the dimensional data.
[0024] In an embodiment of the present application, the electronic device can obtain the first body shape information through an image shooting interface, an interface of a gallery application, a dimension input interface, etc. Taking the first body shape information as a 3D model as an example, the electronic device shoots an image through the image shooting interface, or selects an image through the interface of a gallery application, and then constructs a 3D model based on the image, or inputs dimensions through the dimension input interface, and then constructs a 3D model based on the dimension data, etc. The method is relatively flexible.
[0025] In one possible design, after displaying the image capture interface, it also includes: automatically capturing when it is detected that the capture interface includes the user and the time for which the user remains stable is greater than a preset time; or, starting a countdown, and automatically capturing when the countdown reaches 0.
[0026] In the embodiment of the present application, the electronic device can capture images through the image capture interface, and can capture images automatically without the user manually triggering the capture button to capture, which is more convenient.
[0027] In a possible design, the second body shape information satisfies at least one of the following conditions:
[0028] The second body shape information is a model whose construction time is closest to or furthest from the construction time of the first body shape information among the N historical body shape information;
[0029] The second body shape information and the first body shape information correspond to the same user;
[0030] The second body shape information and the first body shape information are both whole body information or local information;
[0031] The second body shape information corresponds to the same body part as the first body shape information;
[0032] The second body shape information is body shape information selected by the user from among the N historical body shape information.
[0033] In an embodiment of the present application, after the electronic device obtains the first body shape information through the first interface, it can independently determine a historical body shape information (i.e., the second body shape information), compare the two body shape information, and express the comparison result of the two body shapes through a 3D model and / or a 2D image.
[0034] In a possible design, the method further includes: when determining the second body shape information from N historical body shape information fails, outputting a prompt message, wherein the prompt message is used to prompt that the second body shape information has not been determined.
[0035] In the embodiment of the present application, after the electronic device obtains the first body shape information through the first interface, it can determine historical body shape information (ie, second body shape information) by itself, and can prompt the user if the determination of the historical body shape information fails.
[0036] In one possible design, the method also includes: the electronic device further displays a second button and receives a third operation for the second button; displays an interface of a gallery application, the interface including at least one image; receives a fourth operation, the fourth operation being used to select an image from the at least one image, the second body shape information being the selected image or a 3D model obtained based on the selected image.
[0037] In an embodiment of the present application, considering that historical body shape information does not exist in the electronic device during first-time use, the electronic device fails to determine the historical body shape information. In this case, the electronic device may prompt the user and may also display a second button. If the user clicks the second button, the interface of the gallery application is opened, allowing the user to select an image within the interface of the gallery application, and then the historical body shape information is obtained based on the image selected by the user.
[0038] In one possible design, before obtaining the body shape comparison result based on the first body shape information and the second body shape information, it also includes: displaying a third interface, wherein the third interface is used to obtain the image or dimensional data of the first user, and the image or dimensional data of the first user is used to obtain the first body shape information; and displaying a fourth interface, wherein the fourth interface is used to obtain the image or dimensional data of the second user, and the image or dimensional data of the second user is used to obtain the second body shape information.
[0039] In an embodiment of the present application, the electronic device can obtain the first body shape information of the first user through the third interface, obtain the second body shape information of the second user through the fourth interface, and then compare the body shape information of the two users, and display the body shape changes through 3D models and / or 2D images, which is more intuitive.
[0040] In one possible design, the body shape comparison result is a 3D model, and the display angle of the 3D model is a first angle. The method also includes: receiving a fifth operation, adjusting the display angle of the 3D model to a second angle, and the 3D model includes second indication information at the second angle, and the second indication information is used to indicate the difference between the first body shape and the second body shape at the second angle.
[0041] In an embodiment of the present application, when the body shape comparison result is a 3D model, the user can adjust the angle of the 3D model to view the body shape differences at different angles.
[0042] In one possible design, the body shape comparison result is a 3D model, and the method further includes: receiving a sixth operation; and generating a 2D image based on the 3D model, wherein the 2D image is an image of the 3D model from a third angle. For example, the third angle can be any angle of the 3D model.
[0043] In an embodiment of the present application, the electronic device can derive a 2D image based on a 3D model. For example, it can derive a 2D image at any angle of the 3D model.
[0044] In a possible design, the body shape comparison result is a 2D image, and the method further includes: receiving a seventh operation; and generating a 3D model based on the 2D image.
[0045] In an embodiment of the present application, the electronic device can derive a 3D model based on a 2D image, so that body shape differences can be viewed from different angles.
[0046] In one possible design, the method also includes: receiving an eighth operation, the eighth operation being used to specify a first body part; displaying at least one of first dimensional data, second dimensional data, and a data comparison between the first dimensional data and the second dimensional data; wherein the first dimensional data is dimensional data of the first body part on the first body shape, and the second dimensional data is dimensional data of the first body part on the second body shape.
[0047] In an embodiment of the present application, when a user clicks on a body part, the electronic device can display a comparison of the dimensional data of the body part on the first body type and the second body type, thereby more accurately showing the body shape difference.
[0048] In one possible design, the first body shape corresponds to a first local body part, the second body shape corresponds to the whole body or a second local body part, and the second local body part includes the first local body part. Before displaying the body shape comparison result, it also includes: displaying first body shape information and second body shape information, the first body shape information including a 2D image or 3D model of the first body shape, and the second body shape information including an image or 3D model of the second body shape; receiving an operation for dragging the first body shape information to a first position, and the first position corresponds to the first local body part in the second body shape information.
[0049] In an embodiment of the present application, the electronic device can compare two body shapes, both of which can be whole bodies, or both can be local body parts, or one can be whole bodies and the other can be local body parts, and the difference between the two body shapes can be displayed through 3D models and / or 2D images, which is more intuitive.
[0050] In one possible design, a comparison result of a first body type and a second body type is displayed, and the body type comparison result is expressed through a 3D model and / or a 2D image, including: overlapping display of a first 3D model of the first body type and a second 3D model of the second body type; and / or overlapping display of a first 2D image of the first body type and a second 2D image of the second body type.
[0051] In an embodiment of the present application, the electronic device can display 3D models and / or 2D images of two body shapes in an overlapping manner, so that the user can intuitively see the difference between the body shapes.
[0052] In a possible design, the first 3D model is displayed on an upper layer of the second 3D model, and a first feature point on the first 3D model and a second feature point on the second 3D model are displayed at the same position.
[0053] In a possible design, the first 2D image is displayed on an upper layer of the second 2D image, and a first feature point on the first 2D image and a second feature point on the second 2D image are displayed at the same position.
[0054] In a possible design, the first indication information is located in a non-overlapping area of the first body shape and the second body shape in the 3D model and / or 2D image.
[0055] In the embodiment of the present application, there is first indication information in the non-overlapping area of the first body shape and the second body shape, so the user can intuitively see the difference between the two body shapes through the first indication information.
[0056] In one possible design, the first indication information includes at least one of a vector, a color, a shadow, and transparency. It should be noted that these examples illustrate only several possible display modes for the first indication information, and the first indication information may also have other display modes, which are not limited in the embodiments of this application.
[0057] In a second aspect, an electronic device is further provided, including:
[0058] a processor, a memory, and one or more programs;
[0059] The one or more programs are stored in the memory, and the one or more programs include instructions. When the instructions are executed by the processor, the electronic device executes the method steps described in the first aspect above.
[0060] In a third aspect, a computer-readable storage medium is provided, wherein the computer-readable storage medium is used to store a computer program. When the computer program is run on a computer, the computer is caused to execute the method according to the first aspect.
[0061] In a fourth aspect, a computer program product is provided, comprising a computer program, which, when executed on a computer, enables the computer to execute the method described in the first aspect.
[0062] In the fifth aspect, a chip system is also provided, which is coupled to a memory in an electronic device and is used to call a computer program stored in the memory and execute the technical solution of the first aspect of the embodiment of the present application. In the embodiment of the present application, "coupling" refers to the direct or indirect combination of two components with each other.
[0063] For the technical effects that can be achieved in the above-mentioned second to fifth aspects, please refer to the description of the technical effects that can be achieved by the corresponding design scheme in the above-mentioned first aspect, and this application will not repeat them here. BRIEF DESCRIPTION OF THE DRAWINGS
[0064] FIG1A is a hardware schematic diagram of an electronic device provided in one embodiment of the present application;
[0065] FIG1B is a software schematic diagram of an electronic device provided in one embodiment of the present application;
[0066] FIG2 is a schematic diagram of a flow chart of a method for displaying body shape differences according to an embodiment of the present application;
[0067] FIG3A is a schematic diagram of a health and exercise application provided by an embodiment of the present application;
[0068] 3B and 3C are schematic diagrams of an image capture interface provided in an embodiment of the present application;
[0069] FIG3D is a schematic diagram of an interface of a gallery application provided in accordance with an embodiment of the present application;
[0070] FIG3E is a schematic diagram of a dimension input interface provided in an embodiment of the present application;
[0071] FIG4A is a schematic diagram of a current 3D model provided by an embodiment of the present application;
[0072] 4B and 4C are schematic diagrams of selecting a historical 3D model according to an embodiment of the present application;
[0073] 4D to 4F are schematic diagrams of body shape comparison results provided in one embodiment of the present application;
[0074] FIG5A is a schematic diagram of constructing a historical 3D model according to an embodiment of the present application;
[0075] FIG5B is a schematic diagram of a selection history 3D model provided by an embodiment of the present application;
[0076] 6A and 6B are another schematic diagram of body shape comparison results provided in one embodiment of the present application;
[0077] FIG7 is another schematic flow chart of a method for displaying body shape differences according to an embodiment of the present application;
[0078] FIG8A is a schematic diagram of an image capture interface, a gallery application interface, and a dimension input interface provided in an embodiment of the present application;
[0079] FIG8B is a schematic diagram of a current image of a user provided by an embodiment of the present application;
[0080] 8C and 8D are schematic diagrams of selecting a historical image according to an embodiment of the present application;
[0081] FIG8E is a schematic diagram of a body shape comparison process according to an embodiment of the present application;
[0082] 8F to 8G are schematic diagrams of body shape comparison results provided in one embodiment of the present application;
[0083] FIG9 is a schematic diagram of determining a historical model according to an embodiment of the present application;
[0084] FIG10A and FIG10B are another schematic diagram of body shape comparison results provided in one embodiment of the present application;
[0085] FIG11 is another schematic flow chart of a method for displaying body shape differences according to an embodiment of the present application;
[0086] FIG12 is a schematic diagram of an interface of a health and exercise application provided in accordance with an embodiment of the present application;
[0087] FIG13 is a schematic structural diagram of an electronic device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0088] Below, some terms used in the embodiments of the present application are explained to facilitate understanding by those skilled in the art.
[0089] The at least one involved in the embodiments of the present application includes one or more; wherein, more means greater than or equal to two. In addition, it should be understood that, in the description of this specification, words such as "first" and "second" are only used for the purpose of distinguishing the description, and cannot be understood as expressing or implying relative importance, nor can they be understood as expressing or implying order. For example, the first body shape and the second body shape do not represent the importance of the two or the order of the two, but are only for distinguishing the description. In the embodiments of the present application, "and / or" is only a description of the association relationship, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the objects related to each other are in an "or" relationship.
[0090] References to "one embodiment" or "some embodiments" in this specification mean that a particular feature, structure, or characteristic described in connection with that embodiment is included in one or more embodiments of the specification. Thus, phrases such as "in one embodiment," "in some embodiments," "in other embodiments," and "in yet other embodiments" appearing in various places in this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "including," "comprising," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0091] As used in this specification, the terms “when” or “after” may be interpreted to mean “if” or “after” or “in response to determining that” or “in response to detecting that”, depending on the context. Similarly, the phrases “upon determining that” or “if (stated condition or event) is detected” may be interpreted to mean “if it is determined that” or “in response to determining that” or “upon detecting (stated condition or event)” or “in response to detecting (stated condition or event)”, depending on the context.
[0092] The body shape difference display method provided in the embodiment of the present application is applicable to electronic devices. For example, the electronic device can be a portable electronic device such as a mobile phone, a tablet computer, a laptop computer; or, it can also be a large-screen device such as a television set, a smart screen; or, it can also be a wearable device such as a watch or a bracelet; or, it can also be a virtual reality (VR) device, an augmented reality (AR) device, a mixed reality (MR) device; etc. In short, the embodiment of the present application does not limit the specific type of electronic device. For ease of understanding, this article mainly takes the electronic device as a mobile phone as an example for explanation.
[0093] FIG1A shows a schematic diagram of the structure of an electronic device. The electronic device may be, for example, a mobile phone. As shown in FIG1A , the electronic device may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone jack 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0094] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). The different processing units may be independent devices or integrated into one or more processors. The controller may serve as the nerve center and command center of the electronic device. The controller may generate operation control signals based on instruction opcodes and timing signals to control instruction fetching and execution. The processor 110 may also include memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a high-speed cache memory. This memory may store instructions or data that have just been used or are being recycled by the processor 110. If the processor 110 needs to use the instruction or data again, it can directly retrieve it from the memory. This avoids duplicate accesses, reduces the processor 110's waiting time, and thus improves system efficiency. Optionally, the processor 110 can be used to execute the process of the body shape difference display method provided in the embodiment of the present application.
[0095] In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface.
[0096] The I2C interface is a bidirectional synchronous serial bus that includes a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple I2C bus lines. The processor 110 may be coupled to the touch sensor 180K, the charger, the flash, the camera 193, and the like via different I2C bus interfaces. For example, the processor 110 may be coupled to the touch sensor 180K via the I2C interface, enabling communication between the processor 110 and the touch sensor 180K via the I2C bus interface, thereby implementing the touch function of the electronic device 100.
[0097] The I2S interface can be used for audio communication. In some embodiments, the processor 110 can include multiple I2S buses. The processor 110 can be coupled to the audio module 170 via the I2S bus to enable communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the I2S interface, enabling the function of answering calls through a Bluetooth headset.
[0098] The PCM interface can also be used for audio communication, sampling, quantizing, and encoding analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 can be coupled via a PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 via the PCM interface, enabling the function of answering calls via a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.
[0099] The UART interface is a universal serial data bus used for asynchronous communication. This bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is typically used to connect the processor 110 and the wireless communication module 160. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 160 via the UART interface to implement Bluetooth functionality. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the UART interface, enabling the function of playing music through Bluetooth headphones.
[0100] The MIPI interface can be used to connect the processor 110 to peripheral devices such as the display 194 and the camera 193. MIPI interfaces include the camera serial interface (CSI) and the display serial interface (DSI). In some embodiments, the processor 110 and the camera 193 communicate via the CSI interface to implement the camera function of the electronic device 100. The processor 110 and the display 194 communicate via the DSI interface to implement the display function of the electronic device 100.
[0101] The GPIO interface can be configured via software. The GPIO interface can be configured as either a control signal or a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 to the camera 193, display 194, wireless communication module 160, audio module 170, sensor module 180, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.
[0102] The USB interface 130 is an interface that complies with USB standards and may be a Mini USB interface, a Micro USB interface, a USB Type-C interface, or the like. The USB interface 130 can be used to connect a charger to charge the electronic device 100, or to transfer data between the electronic device 100 and peripheral devices. It can also be used to connect headphones to play audio. This interface can also be used to connect other electronic devices, such as augmented reality devices.
[0103] It is understood that the interface connection relationship between the modules illustrated in the embodiment of the present invention is merely an illustrative illustration and does not constitute a structural limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may also adopt different interface connection methods from the above embodiments, or a combination of multiple interface connection methods.
[0104] The wireless communication function of the electronic device can be implemented using antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, a modem processor, and a baseband processor. Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the electronic device can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antenna can be used in conjunction with a tuning switch.
[0105] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied in electronic devices. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.
[0106] The wireless communication module 160 can provide wireless communication solutions for electronic devices, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc. The wireless communication module 160 can be one or more devices that integrate at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, frequency modulate it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.
[0107] In some embodiments, antenna 1 of the electronic device is coupled to mobile communication module 150 , and antenna 2 is coupled to wireless communication module 160 , so that the electronic device can communicate with the network and other devices through wireless communication technology.
[0108] The display screen 194 is used to display the display interface of the application, etc. The display screen 194 includes a display panel. In some embodiments, the electronic device may include one or more display screens 194.
[0109] The electronic device 100 can realize the shooting function through the ISP, the camera 193, the video codec, the GPU, the display screen 194 and the application processor, etc. Among them, the ISP is used to process the data fed back by the camera 193.
[0110] The internal memory 121 can be used to store computer executable program code, which includes instructions. The processor 110 executes various functional applications and data processing of the electronic device by running the instructions stored in the internal memory 121. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area can store an operating system, and the software code of at least one application, etc. The data storage area can store data (such as images, videos, etc.) generated during the use of the electronic device. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash memory, etc.
[0111] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device. The external memory card communicates with the processor 110 via the external memory interface 120 to implement data storage functions. For example, files such as pictures and videos can be stored on the external memory card.
[0112] The electronic device can implement audio functions such as music playback and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.
[0113] The audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. The audio module 170 can also be used to encode and decode audio signals. In some embodiments, the audio module 170 can be provided in the processor 110, or some functional modules of the audio module 170 can be provided in the processor 110.
[0114] The speaker 170A, also called a "speaker," is used to convert audio electrical signals into sound signals. The electronic device 100 can listen to music or listen to external speaker scenarios such as hands-free calls through one or more speakers 170A.
[0115] The receiver 170B, also called "earpiece", can be one or more and is used to convert audio electrical signals into sound signals. When the electronic device 100 receives a call or voice message, the voice can be heard by placing the receiver 170B close to the human ear.
[0116] Microphone 170C, also called "microphone" or "microphone", is used to convert sound signals into electrical signals.
[0117] The headphone jack 170D is used to connect a wired headphone.
[0118] The pressure sensor 180A is used to sense the pressure signal and convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A can be disposed on the display screen 194 .
[0119] The gyro sensor 180B can be used to determine the motion posture of the electronic device. In some embodiments, the gyro sensor 180B can be used to determine the angular velocity of the electronic device around three axes (i.e., the x, y, and z axes). The gyro sensor 180B can also be used for anti-shake photography.
[0120] The air pressure sensor 180C is used to measure air pressure. In some embodiments, the electronic device calculates the altitude using the air pressure value measured by the air pressure sensor 180C to assist in positioning and navigation.
[0121] The magnetic sensor 180D includes a Hall sensor. For example, the electronic device can use the magnetic sensor 180D to detect the opening and closing of a flip leather case.
[0122] The acceleration sensor 180E can detect the magnitude of the electronic device's acceleration in various directions (generally three axes) and the magnitude and direction of gravity when the electronic device is stationary.
[0123] The distance sensor 180F is used to measure distance. The electronic device can measure distance using infrared or laser.
[0124] The proximity light sensor 180G may include, for example, a light emitting diode (LED) and a light detector, such as a photodiode. The light emitting diode may be an infrared light emitting diode. The electronic device emits infrared light through the light emitting diode. The electronic device uses the photodiode to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the electronic device. When insufficient reflected light is detected, the electronic device can determine that there is no object near the electronic device.
[0125] The ambient light sensor 180L is used to sense the brightness of the ambient light. The electronic device can adaptively adjust the brightness of the display screen 194 according to the sensed ambient light brightness.
[0126] The fingerprint sensor 180H is used to collect fingerprints.
[0127] The temperature sensor 180J is used to detect temperature.
[0128] The touch sensor 180K, also known as a "touch panel," can be mounted on the display screen 194. The touch sensor 180K and the display screen 194 form a touch screen, also known as a "touch screen." The touch sensor 180K is used to detect touch operations applied to or near it. The touch sensor can transmit the detected touch operations to the application processor to determine the type of touch event.
[0129] The bone conduction sensor 180M can obtain a vibration signal. In some embodiments, the bone conduction sensor 180M can obtain a vibration signal of a vibrating bone mass in a human vocal part.
[0130] The buttons 190 include a power button, a volume button, etc. The button 190 can be a mechanical button. It can also be a touch button. The electronic device can receive button input and generate key signal input related to the user settings and function control of the electronic device. The motor 191 can generate a vibration prompt. The motor 191 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback. The indicator 192 can be an indicator light, which can be used to indicate the charging status, power changes, messages, missed calls, notifications, etc. The SIM card interface 195 is used to connect the SIM card. The SIM card can be connected to and separated from the electronic device by inserting it into the SIM card interface 195 or pulling it out from the SIM card interface 195.
[0131] It is understood that the components shown in FIG1A do not constitute a specific limitation on the electronic device. The electronic device in the embodiment of the present invention may include more or fewer components than those shown in FIG1A. In addition, the combination / connection relationship between the components in FIG1A can also be adjusted and modified.
[0132] FIG1B is a diagram of the software structure of an electronic device provided in an embodiment of the present application. The electronic device may be a mobile phone. As shown in FIG1B , the software structure of the electronic device may be a layered structure, wherein the layered architecture divides the software into several layers, and each layer has a clear role and division of labor. The layers communicate with each other through software interfaces. The layered architecture may be, for example, an event-driven architecture, a micro-kernel architecture, a microservice architecture, or a cloud architecture. The embodiment of the present application is based on a layered architecture. The system is used as an example to illustrate the software structure of the electronic device. In some embodiments, The system is divided into five layers, from top to bottom: application layer, application framework layer, Android runtime and system library, kernel layer and hardware layer.
[0133] The application layer can include a series of application packages. As shown in Figure 1B, the application layer can include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, and short message. Optionally, the application layer can also include health and fitness applications (not shown in the figure), such as the Huawei Health and Fitness application.
[0134] The application framework layer provides an application programming interface (API) and programming framework for applications in the application layer. The application framework layer includes some predefined functions. As shown in Figure 2, the application framework layer may include a window manager, a content provider, a view system, a telephony manager, a resource manager, a notification manager, and so on. The window manager manages window programs. It can obtain the display screen size, determine whether a status bar is present, lock the screen, take screenshots, and so on. The content provider stores and retrieves data and makes this data accessible to applications. This data may include video, images, audio, dialed and received calls, browsing history and bookmarks, and a phone book. The view system includes visual controls, such as controls for displaying text and images. The view system can be used to build applications. The display interface can be composed of one or more views. For example, a display interface including a text message notification icon may include a view for displaying text and a view for displaying images. The telephony manager provides communication functions for electronic device 100, such as managing call status (including connected and hung up). The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on. The Notification Manager allows applications to display notifications in the status bar. These messages can be displayed briefly and then disappear automatically without user interaction. For example, the Notification Manager is used to notify users of completed downloads and message reminders. The Notification Manager can also display notifications in the top status bar of the system as icons or scrolling text, such as notifications from background applications, or as dialog windows on the screen. Examples include text messages in the status bar, beeps, vibrations on electronic devices, and flashing indicator lights.
[0135] The Android Runtime consists of core libraries and a virtual machine. The Android runtime is responsible for scheduling and management of the Android system. The core library consists of two parts: one for Java-based functions and the other for the Android core library. The application layer and the application framework layer run in the virtual machine. The virtual machine executes Java files from the application layer and application framework layer as binary files. The virtual machine performs functions such as object lifecycle management, stack management, thread management, security and exception management, and garbage collection. The system library includes multiple functional modules, such as the surface manager, media libraries, 3D graphics libraries (such as OpenGL ES), and 2D graphics engines (such as SGL). The surface manager manages the display subsystem and provides fusion of 2D and 3D layers for multiple applications. The media library supports playback and recording of various common audio and video formats, as well as still image files. The media library supports a variety of audio and video codecs, such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG. The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing. The 2D graphics engine is a drawing engine for 2D drawing.
[0136] The kernel layer is the layer between hardware and software. The kernel layer includes at least display driver, camera driver, audio driver, wifi driver, etc.
[0137] The hardware layer includes various hardware, such as touch sensors, cameras, displays, etc.
[0138] It should be understood that the software structure shown in FIG1B does not constitute a specific limitation on the software structure of an electronic device. The software structure of the electronic device in the embodiments of the present invention may include more or fewer modules than shown in FIG1B , for example, more or fewer layers than shown in FIG1B , or a layer may include more or fewer modules than shown in FIG1B , etc. Furthermore, the combination / connection relationship between the modules in FIG1B may also be adjusted and modified.
[0139] The following uses a mobile phone as an example and describes the body shape difference display method provided by the embodiment of the present application in conjunction with the accompanying drawings.
[0140] For users who do fitness for the purpose of shaping their bodies, they are often more concerned about the changes in body shape brought about by fitness, such as changes in waist circumference, hip circumference and other dimensions. One possible way is that after exercising, the user uses a ruler to measure the size of various dimensions of the body (for example, waist circumference, hip circumference, etc.) to feel the changes in body shape. This method is cumbersome and not smart enough. Another possible way is that the user can take photos and record them after each fitness exercise (for example, take full-body photos). The user can browse the photos in the mobile phone gallery to compare the changes in body shape. This method is not smart enough and the efficiency is too low because it requires comparison with the naked eye of the user. Moreover, due to the influence of shooting angle and distance, the photos taken twice cannot accurately compare the changes in body shape, so the accuracy is low.
[0141] In view of this, an embodiment of the present application provides a method for displaying body shape differences. In this method, an electronic device can compare two body shapes and display the body shape comparison results. The body shape comparison results may include a 3D model and / or a 2D image, and the 3D model and / or the 2D image include indication information for indicating the difference between the two body shapes. Therefore, in the technical solution provided by the embodiment of the present application, on the one hand, the electronic device can automatically compare body shapes, without the need for the user to manually measure the dimensions of each dimension for comparison, nor does it require the user to compare photos with the naked eye, which is more intelligent and efficient; on the other hand, through the indication information in the 3D model and / or the 2D image, the user can intuitively feel the changes in body shape, and the user experience is better.
[0142] As mentioned above, an electronic device can compare two body shapes and visualize the body shape comparison results. Taking the two body shapes including a first body shape and a second body shape as an example, in an embodiment of the present application, the first body shape can be described by the first body shape information, and the second body shape can be described by the second body shape information. The electronic device obtains the body shape comparison result based on the first body shape information and the second body shape information. For example, as shown in Figure 2, the first body shape information is used to describe the first body shape of user A. For example, the first body shape information may include at least one of user A's 3D model, 2D image, or dimensional data (waist circumference, chest circumference, etc.). The second body shape information is used to describe the second body shape of user B. For example, the second body shape information may include at least one of user B's 3D model, 2D image, or dimensional data. Optionally, user A and user B may be the same user or different users. Taking user A and user B as the same user as an example, the first body shape and the second body shape may be the body shapes of this user at different times.
[0143] In other words, the embodiment of the present application can be applied to the body shape comparison of the same user or the body shape comparison of different users. The following mainly uses the body shape comparison of the same user as an example for explanation.
[0144] As previously mentioned, in embodiments of the present application, an electronic device can indicate changes in a user's body shape using a 3D model and / or a 2D image. For ease of understanding, the following description provides two scenarios. The first scenario involves the electronic device indicating changes in the user's body shape using a 3D model. The second scenario involves the electronic device indicating changes in the user's body shape using a 2D image.
[0145] In some examples, the body shape difference display method provided in the embodiments of the present application can be integrated into an application on a mobile phone, which can be a system application or a third-party application. For ease of understanding, the following description uses the body shape difference display method provided in the embodiments of the present application integrated into a health and fitness application (hereinafter referred to as the health and fitness application) as an example. The health and fitness application can be, for example, the Huawei Health and Fitness application.
[0146] The first option
[0147] As shown in (a) in Figure 3A, it is a schematic diagram of the mobile phone desktop. The mobile phone desktop includes icons of various applications, including icons of health and exercise applications. When the mobile phone receives an operation for the icon of the health and exercise application, the interface 301 as shown in (b) in Figure 3A is displayed. The interface 301 includes a body shape analysis module for executing the body shape difference display method provided in the embodiment of the present application. It will be understood that, although not shown in (b) in Figure 3A, the interface 301 may also include other information, for example, it may also include the user's fitness data, such as calories, exercise duration, heart rate, number of steps, etc. In short, the embodiment of the present application does not limit the style of the interface 301, and the position of the body shape analysis module in the health and exercise application is not limited by the embodiment of the present application.
[0148] In one possible implementation, as shown in Figure 3A (b), when the mobile phone receives an operation on the body shape analysis module, it can determine the user's 3D body model, which can be referred to as the current 3D model. The mobile phone can also determine a historical 3D model, then compare the current 3D model with the historical 3D model and display the body shape comparison results. The following describes the process of determining the current 3D model and the historical 3D model.
[0149] The method for the mobile phone to determine the current 3D model includes one of the following methods A to C.
[0150] Method A: The mobile phone activates its camera to capture an image of the user, and then constructs a current 3D model of the user based on the image. For example, after receiving an operation on the body shape analysis module in interface 301, the mobile phone activates the camera and displays the capture interface shown in FIG3B (a) for capturing the user's image. It is understood that to improve the accuracy of the constructed 3D model, full-body photos should be captured whenever possible. One possible implementation is to display a prompt message and / or play a voice prompt message in the capture interface in FIG3B (a): Please take a full-body photo from the front. Considering the impact of the mobile phone camera's field of view, the user may place the phone on the ground and then move it away so that the user's entire body is within the camera's capture range. Since manual capture is impossible when the user moves away from the phone, the mobile phone in this embodiment of the application can automatically capture the photo, that is, the user can automatically capture the photo without manually triggering the capture button. One possible implementation is that after the mobile phone opens the capture interface in FIG3B (a), it starts a countdown (e.g., 10 seconds). When the countdown reaches 0, the photo is automatically captured. Alternatively, the mobile phone automatically captures the photo when it detects that the user's body is stable (indicating that the user is standing properly) in the capture interface for a preset period of time. The specific value of the preset duration is not limited in the embodiments of the present application. Optionally, in order to improve the accuracy of the constructed 3D model, the mobile phone can obtain images of the user from multiple angles, such as obtaining a front view and a side view of the user. For example, in (a) of Figure 3B, after the mobile phone automatically takes a full-body front view, it can display a shooting interface as shown in (b) of Figure 3B, and display a prompt message and / or play a voice prompt message: Please take a full-body side view. The mobile phone starts the countdown again, and automatically takes a picture when the countdown reaches 0; or, the mobile phone automatically takes a picture when it detects that the user's body is stable for a preset time in the shooting interface. It can be understood that in Figure 3B, taking a full-body front view and a full-body side view as an example, in actual applications, pictures from other angles can also be taken, such as a full-body back view, etc., which is not limited in the embodiments of the present application.
[0151] In some examples, to improve the accuracy of the 3D model, the shooting interface can display guidance information to guide the user in shooting. This results in more accurate images and, consequently, a more accurate 3D model. For example, after receiving an operation on the body shape analysis module in interface 301, the mobile phone activates the camera and displays the shooting interface shown in FIG3C (a). The shooting interface displays guidance information (i.e., a dotted box), and may also display a prompt and / or play a voice prompt: Please take a full-body photo from the front, ensuring that the body is within the dotted box. The mobile phone can start a countdown and automatically shoot when the countdown reaches 0. Alternatively, the mobile phone can automatically shoot after detecting that the user's body is within the dotted box and has remained stable for a preset period of time. In FIG3C (a), after the mobile phone automatically shoots, it displays the shooting interface shown in FIG3C (b), displays guidance information (i.e., a dotted box), and may also display a prompt and / or play a voice prompt: Please take a full-body photo from the right side, ensuring that the body is within the dotted box. The mobile phone can start the countdown again and automatically shoot when the countdown reaches 0. Alternatively, the phone automatically takes a photo when it detects that the user's body is within the dotted frame and remains stable for a preset time.
[0152] In method B, the mobile phone obtains the user image from the gallery, and then constructs the user's current 3D model based on the user image. Taking (a) in Figure 3C as an example, the shooting interface includes a gallery button. If the user wants to select an image in the gallery, he can click the gallery button. When the mobile phone receives an operation on the gallery button, it displays the interface shown in Figure 3D, which includes various images stored in the gallery, and the user can select one or more images. For example, in Figure 3D, the user selected the first and second images. When the mobile phone receives an operation on the completion button, it constructs the user's current 3D model based on the image selected by the user.
[0153] In the above description, the mobile phone opens the Gallery application interface (i.e., FIG3D ) by using the Gallery button within the shooting interface (e.g., the shooting interface of FIG3B or FIG3C ). However, the present embodiment does not limit the method for opening the Gallery application interface. For example, in FIG3A(b), when the mobile phone receives an operation on the Body Shape Analysis button, the Gallery application interface (i.e., FIG3D ) is directly displayed. Of course, the mobile phone can also open the Gallery application interface through other methods or entrances, and the present embodiment does not provide examples one by one.
[0154] Method C: The mobile phone obtains the user's current 3D model based on the data of each dimension input by the user. For example, taking (b) in Figure 3C as an example, the shooting interface includes a dimension button. If the user wants to enter the dimension, he can click the dimension button. When the mobile phone receives an operation for the dimension button, it displays an interface as shown in Figure 3E, which includes input boxes for each dimension. The user enters the dimension data in the input box and clicks Done. The mobile phone obtains the user's current 3D model based on the dimension data entered by the user.
[0155] In the above description, the dimension input interface (i.e., FIG. 3E ) is opened by the mobile phone through the dimension button within the shooting interface (e.g., the shooting interface of FIG. 3B or FIG. 3C ). However, the embodiment of the present application does not limit the method of opening the dimension input interface. For example, in FIG. 3A (b), when the mobile phone receives the operation of the body shape analysis button, the dimension input interface (i.e., the interface of FIG. 3E ) is directly displayed. Of course, the mobile phone can also open the dimension input interface through other methods or entrances, and the embodiment of the present application does not cite them one by one.
[0156] In other examples, the mobile phone may also obtain the dimensional data in other ways. For example, a user measures various dimensions of his body on a body assessment device in a gym. The user connects the mobile phone to the body assessment device to obtain the user's dimensional data from the body assessment device.
[0157] The above are three examples of how a mobile phone can obtain the current 3D model. In actual applications, there may be other methods, as long as a 3D human body model can be constructed. This embodiment of the present application does not limit this. Optionally, there are many ways for a mobile phone to construct a 3D human body model, for example, the 3D Skinned Multi-Person Linear (SMPL) method, AI body rendering method, etc., which are not described in detail in the present embodiment of the present application.
[0158] In this embodiment of the present application, after the mobile phone constructs the current 3D model of the user, it may display interface 401 as shown in FIG4A , which includes the current 3D model 400. Optionally, as shown in FIG4A , interface 401 may also include other information, such as a body shape analysis: pear-shaped body; and improvement suggestions: strengthening lower limb strength.
[0159] Optionally, the interface 401 may also include a setting button. When the mobile phone receives an operation for the setting button, it may set a label for the current 3D model 400. The label may include, for example, one or more of the following: the number of the current 3D model 400, the build time, the corresponding user ID, whether the current 3D model 400 is a full-body model or a partial model, and if it is a partial model, the corresponding body part (for example, waist, hips, etc.) may also be set. It is understandable that all or part of the information in the label of the current 3D model 400 may be determined by the mobile phone itself, or manually input by the user. For example, the mobile phone may automatically identify whether the current 3D model 400 is a full-body model or a partial model, and automatically determine the build time, etc.; or, the mobile phone may determine whether the current 3D model 400 is a full-body model or a partial model, and determine the build time, etc. based on user input.
[0160] Optionally, the interface 401 also includes a "body size comparison" button for triggering the mobile phone to perform a body size comparison, for example, triggering the mobile phone to compare the current 3D model 400 with the historical 3D model. The historical 3D model will be described later. Optionally, the "body size comparison" button in Figure 4A may not be displayed or may be displayed in other styles, which is not limited in the embodiment of the present application. Assuming that the "body size comparison" button is not displayed, the body size comparison between the current 3D model and the historical 3D model can be triggered by a gesture operation (for example, a long press operation, a double-click operation, a knuckle tapping operation, etc.).
[0161] In Figure 4A, when the mobile phone receives an operation for the "Body Size Comparison" button, it can determine the historical 3D model, and then compare the current 3D model with the determined historical 3D model. The historical 3D model can be understood as a 3D model of the human body constructed by the mobile phone based on the user's image in history. For example, every time the user finishes exercising, he will take an image and construct a 3D model based on the image. Therefore, the mobile phone can store the 3D model constructed each time to form a historical 3D model, which can be stored locally on the mobile phone or on a cloud server. To facilitate inquiries, the mobile phone includes a label for each historical 3D model. Optionally, the label may include one or more of the following: the number of the historical 3D model, the construction time, the user identifier, the whole body model or the local model. If it is a local model, the label also includes the mark of the local body part corresponding to the local model. For example, the labels of each historical 3D model are shown in Table 1 below.
[0162] Table 1: Labels of various historical 3D models
[0163] Optionally, the method for the mobile phone to determine the historical 3D model includes but is not limited to the following method A and method B.
[0164] In method A, the mobile phone can determine the historical 3D model by itself. For example, the mobile phone can select randomly, or select a historical 3D model based on the label of the current 3D model 400 and the labels of each historical 3D model. For example, the user identifier in the label of the current 3D model 400 is user A, and the mobile phone can determine the historical 3D model, and the user identifier in the label of the historical 3D model is also user A. For another example, the construction time in the label of the current 3D model 400 is T1, and the mobile phone can determine the historical 3D model, and the construction time in the label of the historical 3D model is closest to or farthest from T1. For another example, if the current 3D model 400 is a full-body model, then the historical 3D model is also a full-body model. If the current 3D model 400 is a local model, then the historical 3D model is also a local model and corresponds to the same body part.
[0165] In method B, the mobile phone can select a historical 3D model based on the user's selection. For example, the mobile phone can display the identifiers of each historical 3D model to facilitate user selection. The identifiers of the historical 3D models can be labels, preview images of the historical 3D models, or other similar items.
[0166] For example, in Figure 4A, when the phone receives an action on the "Body Size Comparison" button, it displays interface 402 as shown in Figure 4B. Interface 402 may include one or more tags. When the phone receives an action on a tag, it compares the current 3D model 400 with the historical 3D model corresponding to that tag.
[0167] Optionally, the number of tags in the interface 402 may be equal to the total number of historical 3D models. In other words, if there are P historical 3D models in total, corresponding to P tags, the interface 402 includes P tags. P is a positive integer.
[0168] Alternatively, the number of tags in interface 402 may be less than the total number of historical 3D models. For example, there are a total of P historical 3D models, corresponding to P tags. The mobile phone can filter the P historical 3D models to obtain Q historical 3D models, where Q is a positive integer less than or equal to P. Interface 402 includes Q tags corresponding to the Q historical models. One filtering method is that the mobile phone filters out the Q historical 3D models that correspond to the same user as the current 3D model 400 from the P historical 3D models based on the P tags. Another filtering method is that since the current 3D model 400 is a full-body model, the mobile phone filters out the Q historical models that belong to the full-body model from the P historical models based on the P tags.
[0169] For another example, in FIG4A , when the mobile phone receives an operation on the "Body Size Comparison" button, interface 402 shown in FIG4C is displayed. Interface 402 includes a calendar. The current date (e.g., October 8th) is circled in the calendar, although other marking methods are possible. Markers are displayed for some dates (e.g., October 1st, October 2nd, and October 3rd) to indicate that a historical 3D model exists for that date. In FIG4C (a), the mark is a black dot, but it should be understood that the mark can also have other forms. Assuming the mobile phone receives an operation on October 2nd, it can compare the historical 3D model built on October 2nd with the current model 400. There may be more than one historical model built on October 2nd. If there is only one, the mobile phone compares that historical model with the current model 400 after receiving the operation on October 2nd. If there are more than one historical 3D model, the mobile phone can select one from the multiple historical 3D models after receiving the operation on October 2nd. The mobile phone can select by itself or according to the user operation. When the mobile phone selects by itself, it can select randomly or according to the construction time (for example, select the historical 3D model that is closest to or farthest from the construction time of the current model 400). The way in which the mobile phone selects according to the user operation may include: please refer to (a) in Figure 4C. When the mobile phone receives the operation for No. 10.2, two labels as shown in (b) in Figure 4C are displayed. These two labels correspond to two historical 3D models with a construction time of No. 10.2. Assuming that the mobile phone receives the operation for the first label, it is determined that the historical model corresponding to the first label is compared with the current model.
[0170] It is understandable that, in actual applications, the mobile phone can use any one of the two methods (method A and method B) for determining the historical 3D model. Optionally, the two methods can also be switched. For example, a switch button (not shown in the figure) is set in the mobile phone. When the switch button is in a first state (for example, a selected state), the mobile phone uses the above method A to determine the historical 3D model. When the switch button is in a second state (for example, an unselected state), the mobile phone uses the above method B to determine the historical 3D model. Therefore, the user can set which method the mobile phone uses according to his or her needs. The embodiment of the present application does not limit the specific setting position of the switch button.
[0171] In an embodiment of the present application, after the mobile phone determines the historical 3D model, it can compare the current 3D model 400 with the historical 3D model in terms of size. Optionally, the size comparison process of the current 3D model and the historical 3D model may include: (1) the mobile phone aligns and displays the current 3D model with the historical 3D model (or displays them in an overlapping manner). The alignment display here may include: the mobile phone determines a first feature point on the current 3D model, and determines a second feature point on the historical 3D model corresponding to the first feature point. The mobile phone displays the current 3D model and the historical 3D model, wherein the display positions of the first feature point and the second feature point are the same. Feature points (or key points) may be joint points on the 3D model, such as shoulder joints, knee joints, elbow joints, and wrist joints. The first feature point may be one or more feature points, and the second feature point may also be one or more feature points. If the first feature point is a plurality of feature points and the second feature point is a plurality of feature points, the first feature point and the second feature point correspond one to one. For example, taking the case where the first feature point is the shoulder joint and the knee joint, and the second feature point is the shoulder joint and the knee joint, the shoulder joint of the current 3D model and the shoulder joint of the historical 3D model are displayed at the same position, and the knee joint of the current 3D model and the knee joint of the historical 3D model are displayed at the same position. Therefore, in this way, the mobile phone aligns and displays the current 3D model with the historical 3D model. It should be noted that there are many algorithms for feature point alignment, such as 3D skin point alignment, iterative closest point (ICP) alignment, etc., which are not listed one by one in the embodiments of this application. (2) Since the current 3D model and the historical 3D model have different body shapes, the two 3D models will not completely overlap after being aligned and displayed, and the non-overlapping area is the area where the user's body shape changes.
[0172] The mobile phone can display a size comparison result between the current 3D model 400 and the historical 3D model. One possible display method is to display the current 3D model and the historical 3D model in an aligned manner. Because the two models are not exactly identical, the user can see the non-overlapping areas, i.e., the size differences. Alternatively, the two models can be displayed separately, for example, using different colors and / or different transparency levels for the current 3D model and the historical 3D model.
[0173] To more intuitively demonstrate body shape differences to the user, the phone can also display indicative information within the non-overlapping area. This information indicates the body shape change. Optionally, the indicative information can include at least one of a vector, color, and transparency. The following examples illustrate this.
[0174] Example 1, as shown in Figure 4D, a historical 3D model 410 and a current 3D model 400 are displayed on the mobile phone. The two models are aligned and displayed. In addition, multiple vectors are displayed in the non-overlapping area of the historical 3D model 410 and the current 3D model 400. Taking vector 403 as an example, vector 403 is determined based on the distance and direction between a feature point 404 on the historical 3D model 410 and a feature point 405 on the current 3D model 400 corresponding to feature point 404. For example, the direction of vector 403 is the direction from feature point 404 to feature point 405, and the distance of vector 403 is the distance between feature point 404 and feature point 405. Therefore, through the vectors in Figure 4D, the user can intuitively feel the difference between the historical 3D model 410 and the current 3D model 400. For example, compared with the historical 3D model 410, the abdominal dimension of the current 3D model 400 is reduced, the crotch dimension is reduced, and the biceps dimension is increased.
[0175] Optionally, in FIG4D , the mobile phone may also display a partial close-up (the portion circled in FIG4D ) to facilitate user viewing.
[0176] Optionally, as shown in FIG4D , the mobile phone also displays body shape comparison data, for example, waist circumference decreases by 2 cm, hip circumference decreases by 3 cm, and biceps dimension increases by 1 cm.
[0177] In Example 2, as shown in Figure 4E , a historical 3D model 410 and a current 3D model 400 are displayed on the phone. The two models are aligned, and the areas of the historical 3D model 410 and the current 3D model 400 that do not overlap are filled with color (the color is represented by diagonal lines in the figure). Therefore, the user can intuitively perceive the difference between the historical 3D model and the current 3D model through the colors in Figure 4E .
[0178] Optionally, in FIG4E , the mobile phone may also display a partial close-up (the portion circled in FIG4E ) to facilitate user viewing.
[0179] In some examples, the extent of body shape changes can also be indicated by color depth. For example, when the waist circumference changes significantly, dark yellow is used, and when the waist circumference changes slightly, light yellow is used.
[0180] In other examples, in Figure 4E, the dimensions of multiple body parts have changed compared to the historical 3D model in the current 3D model. One possible way is to fill the same color in the dimensional change areas of the multiple body parts. For example, the same color is filled in the waist change area, the biceps femoris change area, and the crotch change area. Optionally, the color can be default or user-set. Another possible way is to fill the dimensional change areas of different body parts with different colors. For example, color 1 is filled in the waist change area, color 2 is filled in the biceps femoris change area, and color 3 is filled in the crotch change area. Optionally, color 1, color 2, and color 3 can be default or user-set. For example, the mobile phone sets the colors corresponding to different body parts according to user needs. For example, the waist corresponds to color 1 and the biceps femoris corresponds to color 2. Therefore, the mobile phone fills color 1 in the waist change area and color 2 in the biceps femoris change area.
[0181] Optionally, in FIG4E , the current 3D model 400 has portions with reduced dimensions (e.g., reduced abdominal dimensions, reduced crotch dimensions) and portions with increased dimensions (e.g., increased biceps dimensions) relative to the historical 3D model 410. The portions with reduced dimensions may be displayed in one color, while the portions with increased dimensions may be displayed in another color.
[0182] Optionally, as shown in FIG4E , the mobile phone also displays body shape comparison data, for example, waist circumference decreases by 2 cm, hip circumference decreases by 3 cm, and biceps dimension increases by 1 cm.
[0183] Optionally, in Figure 4D or Figure 4E, the mobile phone can also hide the body shape comparison data. For example, when the mobile phone receives a first preset operation, it cancels the display of the body shape comparison data. Optionally, after hiding the body shape comparison data, the mobile phone can display it again. For example, when the mobile phone receives a second preset operation, it displays the body shape comparison data again. For example, if the first and second preset operations are the same, such as long press operations, a possible scenario is that if the mobile phone detects that the user presses the screen for 3 seconds and then releases it in the interface of Figure 4D, the body shape comparison data is hidden. After hiding the body shape comparison data, if the mobile phone detects that the user presses the screen for 3 seconds and then releases it again, the body shape comparison data is displayed. Alternatively, the first and second preset operations can be the same operation. For example, if the mobile phone detects that the user presses the screen for 3 seconds but does not release it in the interface of Figure 4D, the body shape comparison data is hidden. When the phone detects that the press operation has been released, the body shape comparison data is displayed again. Simply put, if the user long presses the phone screen without releasing it, the body shape comparison data is hidden. When the user releases it, the body shape comparison data is displayed again. Alternatively, when the body shape comparison data has been hidden on the mobile phone, when the user long presses the mobile phone screen and does not release it, the body shape comparison data is displayed, and when the user releases it, the body shape comparison data is hidden again.
[0184] Optionally, in Figures 4D and 4E , when the phone hides the body shape comparison data, the local close-up (i.e., the circled portion) can also be hidden. Optionally, the indicative information within the non-overlapping area of the two 3D models can also be hidden, meaning that only both 3D models or only one of the 3D models (e.g., only the current 3D model 400) is displayed, with all other information hidden. Similarly, after hiding the body shape comparison data, if the phone displays it again, all other information hidden along with the body shape comparison data can be displayed.
[0185] In other embodiments, the phone may not initially display any body shape comparison data or any close-up shots. The user selects a body part on the 3D model, and the phone displays the body shape comparison data for that body part, along with a close-up shot of that body part. For example, if the phone detects that the user clicked on the waist on the 3D model, it will display waist shape comparison data, such as a 2cm decrease in waist shape, and a close-up shot of the waist shape. If the phone detects that the user clicked on the crotch on the 3D model, it will display crotch shape comparison data, such as a 3cm decrease in crotch shape, and a close-up shot of the crotch.
[0186] It should be noted that Examples 1 and 2 above mainly illustrate two display methods for the non-overlapping area (i.e., the body shape change area) of the historical 3D model 410 and the current 3D model 400. It is understandable that, in addition to the two methods mentioned above, there may be other display methods within the body shape change area, for example, displaying transparency within the body shape change area, or displaying shadows, etc. In short, the embodiments of the present application do not limit the display method within the body shape change area, as long as the body shape change area can be indicated to the user. In addition, the above display methods for the body shape change area can be used alone or in combination, for example, the body shape change area can be filled with both color and transparency, or both transparency and shadows, etc.
[0187] In some examples, after the phone displays the body shape comparison results, the user can adjust the angle of the body shape comparison results to comprehensively view the body shape differences. Taking the previous example 1 as an example, referring to Figure 4F (a), when the phone receives a gesture operation for adjusting the angle, it displays the interface shown in Figure 4F (b), in which the angles of both the historical 3D model 410 and the current 3D model 400 are adjusted. Furthermore, after the angle adjustment, the indicator information is still displayed in the non-overlapping area of the historical 3D model 410 and the current 3D model 400. As shown in Figure 4F (b), the non-overlapping area displays a vector, which allows the user to see the changes in the user's body shape from the side. For example, gesture operations for adjusting the angle may include: sliding, double-clicking, etc. Taking the sliding operation as an example, the adjustment angle of the 3D model is related to the sliding direction. For example, if the sliding direction of the sliding operation is from left to right as shown in Figure 4F (a), the 3D model rotates counterclockwise to adjust the angle. Optionally, the operation for adjusting the angle of the 3D model may be designed differently from the first preset operation and the second preset operation for hiding and displaying the body shape comparison data in the foregoing text to distinguish them.
[0188] In some examples, the mobile phone can export a 2D image based on the 3D model. For example, taking (a) in Figure 4F as an example, when the mobile phone receives an operation for the export button, it can export a 2D image. Optionally, the exported 2D image may include: one or more 2D images of the current 3D model (for example, images at different angles), one or more 2D images of a historical 3D model (for example, images at different angles), and one or more 2D images of the comparison results between the current 3D model and the historical 3D model (for example, images of the multi-angle comparison results of the two 3D models).
[0189] In some examples, when the 3D model is displayed at a first angle, the derived 2D image is an image at the first angle.
[0190] For example, in FIG4F (a), the 3D model is displayed from the front, so the exported 2D image includes a front view. For example, the exported 2D image includes a front view image of the current 3D model 400, a front view image of the historical 3D model 410, and an image comparing the front views of the two models. This image may or may not include indication information. Optionally, after the mobile phone exports the 2D image, it may also record the body shape data corresponding to the 2D image (e.g., data of various dimensions).
[0191] For another example, in FIG4F (b), since the 3D model is displayed in profile, when the mobile phone receives an operation for the export button, the exported 2D image includes a profile image. For example, the exported 2D image may include a profile image of the current 3D model 400, a profile image of the historical 3D model 410, and an image of the side comparison result of the two models. The image may or may not include indication information. Optionally, after the mobile phone exports the 2D image, it may also record the body shape data corresponding to the 2D image. After the mobile phone exports the 2D image, it may store the 2D image and the corresponding body shape data locally or on a server.
[0192] In the above embodiment, after the mobile phone obtains the current 3D model 400, it needs to determine a historical 3D model and then compare the determined historical 3D model with the current 3D model 400. There is a possibility that the mobile phone cannot determine the historical 3D model, for example, if no historical 3D model exists on the mobile phone, or if the user is using the health and fitness app for the first time. In this case, in Figure 4A, after the mobile phone obtains the current 3D model 400, the body shape comparison button may not be displayed, or the body shape comparison button may be displayed but displayed in grayscale to indicate that it is unresponsive, or the body shape comparison button may be displayed but not necessarily in grayscale. When the mobile phone detects an operation on the button, a prompt message is displayed, such as in Figure 5A (a), which indicates: No historical 3D model detected. If no historical 3D model exists, the mobile phone can construct a historical 3D model using the same principles as the current 3D model 400 construction method described above. For example, the historical 3D model can be constructed based on images selected by the user in the gallery app, or it can be obtained based on dimensional data entered by the user. For example, as shown in Figure 5A (a), the phone displays a prompt asking whether to select an image from the gallery to create a historical 3D model, along with "Confirm" and "Cancel" buttons. When the "Confirm" button is pressed, the phone displays the interface shown in Figure 5A (b), which includes images from the gallery. When the phone receives an image selection and a Done button press, the historical 3D model is created based on the user's selected image.
[0193] Optionally, after the mobile phone creates the historical 3D model, it can create a label for the 3D model, which includes a number, build time, and whether it is full or partial. The build time can be the time when the image selected by the user was captured, or the time when the 3D model was generated. Alternatively, the user can set the build time. The mobile phone compares the historical 3D model with the current 3D model 400 and displays the size comparison results, such as the interface shown in Figure 4C or Figure 4D. Please refer to the previous text for details on the size comparison process, which will not be repeated for the sake of brevity.
[0194] In the above embodiment, when the mobile phone receives an operation on the "Body Analysis" button in FIG3A(b), it first obtains the user image to construct the current 3D model 400, then determines the historical 3D model 410, compares the two 3D models, and displays the body shape comparison result. In other embodiments, when the mobile phone receives an operation on the "Body Analysis" button in FIG3A(b), it can automatically determine two historical 3D models, then compare the two historical 3D models, and display the body shape comparison result. In other words, after receiving an operation on the "Body Analysis" button in FIG3A(b), the mobile phone directly displays the body shape comparison result as shown in FIG4D or 4E. The manner in which the mobile phone automatically determines the two historical 3D models can include: randomly determining, or, based on the tags of the historical 3D models, determining the two historical 3D models with the closest or furthest construction time; or determining two historical 3D models corresponding to the same user. In yet other embodiments, after the mobile phone receives an operation on the "Body Analysis" button in FIG. 3A (b), the user selects two historical 3D models for body shape comparison and then displays the body shape comparison results as shown in FIG. 4D or 4E. For example, when the mobile phone receives an operation on the "Body Analysis" button in FIG. 3A (b), the interface shown in FIG. 5B (a) or FIG. 5B (b) is displayed. FIG. 5B (a) displays labels, and FIG. 5B (b) displays a calendar, as described above. The user can select two historical 3D models for comparison through the interface shown in FIG. 5B (a) or FIG. 5B (b). Taking the interface shown in FIG. 5B (a) as an example, there are N labels in the interface. Each of the N labels corresponds to N historical 3D models. Optionally, the N historical 3D models can be all historical 3D models stored in the mobile phone, or N historical 3D models filtered from all historical 3D models. For example, the phone contains a total of P historical 3D models. Based on the tags of the P historical 3D models, N historical 3D models are filtered out from the P historical 3D models, and then the N tags of the N historical 3D models are displayed. In Figure 5B (a), the user can select two tags. The phone compares the two historical 3D models corresponding to the two selected tags and displays the size comparison results.
[0195] Continuing with Figure 5B (a) as an example, if the user wants to build a new 3D model, they can click the "New" button. When the phone receives the "New" button, it can display an interface such as Figure 3B or Figure 3C, where the user can build a new 3D model by taking a photo, accessing the gallery, or entering dimensions.
[0196] In the above embodiment, the mobile phone compares two 3D models and displays the body shape comparison result. In the above, both 3D models are full-body 3D models. In other embodiments, at least one of the two 3D models can be a 3D model of a local body part (hereinafter referred to as a local 3D model).
[0197] For example, referring to FIG6A , the mobile phone displays a local 3D model 700. One possible implementation method for the mobile phone to obtain the local 3D model 700 is that the mobile phone obtains an image of a local body part of the user, and then constructs the local 3D model 700 based on the image of the local body part. The way in which the mobile phone obtains the image of the local body part is similar to FIG3B , FIG3C or FIG3D in the foregoing text, and will not be repeated here. In (a) of FIG6A , when the mobile phone receives an operation for the “body shape comparison” button, it determines the historical 3D model. As mentioned above, the historical 3D model can be selected by the user or determined by the mobile phone itself. One possible method is that, whether it is selected by the user or determined by the mobile phone itself, when the determined historical 3D model is a full-body 3D model, the following method 1 is used; if the determined historical 3D model is a local 3D model, the following method 2 is used. Another possible implementation is that when the mobile phone determines the historical 3D model by itself, it prioritizes searching for a historical full-body 3D model. If no historical full-body 3D model can be found, it searches for a historical partial 3D model, i.e., it prioritizes using Method 1 below. If Method 1 cannot be used (i.e., no historical full-body 3D model exists), it uses Method 2 below. Yet another possible implementation is that when the mobile phone determines the historical 3D model by itself, it prioritizes searching for a historical partial 3D model that belongs to the same part as the partial 3D model 700 based on the tag. If such a model exists, it uses Method 2 below. If such a model does not exist, it searches for a historical full-body model using Method 1, or it searches for a historical full-body model and extracts the historical full-body model that is consistent with the partial 3D model from the historical full-body model and then uses Method 2 below.
[0198] Method 1: The historical 3D model is a full-body 3D model.
[0199] For example, in FIG6A (a), after receiving an operation on the "Body Size Comparison" button, the mobile phone obtains the historical 3D model and displays the interface shown in FIG6A (b), which includes historical 3D model 710, which is a full-body model. Since historical 3D model 710 is a full-body 3D model, the mobile phone needs to determine which body part on the historical full-body 3D model 710 to compare the body size of the partial 3D model 700 with. One possible implementation is to display the partial 3D model 700 in a floating manner, as shown in FIG6A (b). The mobile phone also displays a prompt message: Please drag the partial model to the target location. When the mobile phone receives a drag operation targeting partial 3D model 700, its position moves. Assuming the mobile phone detects that partial 3D model 700 has been dragged to and remains in the first area (the dotted-line area) in FIG. 6A (b) for a predetermined duration, the mobile phone then compares the body shape of partial 3D model 720 (referred to as historical partial 3D model 720) within the first area (i.e., the dotted-line area) of full-body 3D model 710 with partial 3D model 700. The principle of this comparison is similar to the principle of comparing current 3D model 400 with historical 3D model 410 described above. For example, historical partial 3D model 720 is aligned with the current partial 3D model 700 and the non-overlapping area between historical partial 3D model 720 and the current partial 3D model 700 is determined. For the sake of brevity, this description is not repeated here. After obtaining the body shape comparison results (i.e., the non-overlapping areas between historical partial 3D model 720 and partial 3D model 700), the mobile phone displays the body shape comparison results. For example, referring to FIG. 6A (c), indication information is displayed in the non-overlapping area between the historical local 3D model 720 and the local 3D model 700. The indication information may be, for example, a vector, or may be color, transparency, shadow, etc.
[0200] In some examples, the mobile phone can identify the body part corresponding to the 3D model. For example, after the mobile phone obtains the partial 3D model 700, it can identify which body part the partial 3D model 700 corresponds to. One possible identification method is that after the mobile phone obtains the partial 3D model 700, it sets a label, and the label includes a mark of the body part, for example, waist. Therefore, the mobile phone can determine the body part corresponding to the partial 3D model 700 through the label. In this case, in (a) of Figure 6A, when the mobile phone receives an operation for the body shape comparison button, the interface of (c) in Figure 6A can be directly displayed without going through (b) in Figure 6A, because the mobile phone already knows the body part of the partial 3D model 700.
[0201] Method 2: The historical 3D model is a local 3D model.
[0202] For example, in (a) of Figure 6B , after the mobile phone receives an operation on the "Body Size Comparison" button, it obtains the historical 3D model and displays an interface as shown in (b) of Figure 6B , which includes the historical 3D model 710. Since the historical 3D model 710 is a local 3D model (referred to as the historical local 3D model 710), the mobile phone needs to determine to which body part the current local 3D model 700 and the historical local 3D model 710 belong. One possible implementation is, as shown in (b) of Figure 6B , that both the current local 3D model 700 and the historical local 3D model 710 are displayed in a suspended manner, and their display positions can be different. In addition, the mobile phone also displays a default template of the human body 3D model (the dotted human body 3D model in the figure). The mobile phone receives a drag operation on the current local 3D model 700 and determines that the current local 3D model 700 has been dragged into the first area (the dotted box area) in FIG6B(b). The mobile phone also receives a drag operation on the historical local 3D model 710 and determines that the historical local 3D model 710 has been dragged into the first area (the dotted box area) in FIG6B(b). The mobile phone then compares the size of the historical local 3D model 710 with the current local 3D model 700. The principle of this comparison is the same as the principle of comparing the current 3D model 400 with the historical 3D model 410 described above. For example, the historical local 3D model 710 is aligned with the current local 3D model 700 and the non-overlapping area of the historical local 3D model 710 and the current local 3D model 700 is determined. For the sake of brevity, this description is not repeated here. After obtaining the body shape comparison result (i.e., the non-overlapping area between the historical local 3D model 710 and the current local 3D model 700), the mobile phone displays the body shape comparison result. For example, referring to FIG6B (c), the non-overlapping area between the historical local 3D model 710 and the current local 3D model 700 displays indicator information. The indicator information can be, for example, a vector, or can also be represented by color, transparency, or shadow.
[0203] In some examples, the phone can identify the body part corresponding to the historical 3D model. For example, the phone can identify the body part corresponding to the historical 3D model 710 based on the tag of the historical 3D model 710. In this case, the historical partial 3D model 710 in Figure 6B (b) can be displayed directly within the dotted area because the phone has already identified that the historical partial 3D model 710 corresponds to the waist, without the user having to drag it.
[0204] In other examples, the phone can also identify which body part the current 3D model 700 corresponds to. For example, the phone can identify which body part the current 3D model 700 corresponds to based on the label of the current 3D model 700. In this case, the current 3D model 700 in FIG6B(b) can also be directly displayed within the dotted area without the user having to drag it.
[0205] Optionally, when the mobile phone is able to identify the body parts corresponding to the current 3D model 700 and the historical 3D model 710, in (a) of Figure 6B, when the mobile phone receives an operation for the body shape comparison button, it can directly display the interface of (c) in Figure 6B without going through (b) in Figure 6B, because the mobile phone has identified the body parts of the local 3D model 700 and the historical local 3D model 710, and the user does not need to drag.
[0206] As described above, after the mobile phone receives the "Body Analysis" button in FIG3A(b), it compares the two 3D models and displays the body comparison result. In the above embodiment, the two 3D models compared by the mobile phone are 3D models of the same user at different times. In other embodiments, the two 3D models can also be models of different users. The method by which the mobile phone determines the 3D models of different users may include:
[0207] (1) When the mobile phone receives the "Body Analysis" button operation in (b) of Figure 3A, it randomly determines two historical 3D models. These two historical 3D models correspond to different users. Alternatively, the mobile phone selects the two historical 3D models with the closest or furthest construction time based on the tags. These two historical 3D models correspond to different users.
[0208] (2) When the mobile phone receives an operation on the "Body Analysis" button in (b) of Figure 3A, the interface in (a) or (b) of Figure 5B is displayed. The user selects two historical 3D models in this interface, and the two historical 3D models correspond to different users.
[0209] (3) When the mobile phone receives an operation on the "Body Analysis" button in (b) of Figure 3A, it can activate the camera to capture an image of user A, select an image of user A from the image library, or input the dimensional data of user A, and then construct a current 3D model of user A, for example, displaying the interface shown in Figure 4A. Afterwards, the mobile phone determines, based on the tag, a historical 3D model that is closest to or furthest from the construction time of user A's current 3D model. This historical 3D model is user B's 3D model.
[0210] (4) When the mobile phone receives an operation on the "Body Analysis" button in (b) of FIG3A , it can activate the camera to capture an image of user A, select an image of user A from the image gallery, or input the dimensional data of user A, and then construct the current 3D model of user A. Afterwards, the mobile phone activates the camera again to capture an image of user B, select an image of user B from the image gallery, or input the dimensional data of user B, and then construct the current 3D model of user B.
[0211] In the above embodiment, two 3D models are compared as an example. In reality, more 3D models can be compared, for example, five 3D models. The principle by which the mobile phone determines these five 3D models is the same as the principle for determining the two 3D models described above. For example, the mobile phone may determine the five 3D models on its own, or the user may select five 3D models, or the mobile phone may construct a current model through an image capture interface, a gallery application interface, or a dimension input interface, and then determine four historical models, etc. Optionally, these five models may correspond to the same user or different users.
[0212] Optionally, the mobile phone may compare any two of the five 3D models, or, taking one of the 3D models as a reference, compare the remaining four models with the 3D model one by one to obtain a comparison result.
[0213] One possible approach is that when the mobile phone displays the comparison result, all five 3D models can be displayed at once, and all five 3D models are displayed aligned.
[0214] Another possible approach is for the phone to display the comparison results by first displaying two of the five 3D models, with these two 3D models aligned. Optionally, the phone can also display a button or progress bar, which allows users to view the comparison results of the other three 3D models. A possible scenario involves the five 3D models including a current model and four historical models, listed in the following order: Model 1, Model 2, Model 3, and Model 4. In other words, Model 1 is the most recent model to be built, and Model 4 is the most recent model to be built. Optionally, the phone can display the current model and Model 1 first, allowing users to see changes in their body shape from two recent workouts, for example. When the phone receives an action on the button or progress bar, the current model remains displayed, Model 1 is removed, and Model 2 is displayed. When the phone receives another action on the button or progress bar, the current model remains displayed, Model 2 is removed, and Model 3 is displayed. When the phone receives an operation on a button or progress bar again, the current model continues to be displayed, model 3 is canceled, and model 4 is displayed; this allows the user to see the changes in body shape caused by long-term fitness. Therefore, through the button or progress bar, the user can continuously view the changes in multiple models, which is convenient to operate. Optionally, the phone can also display the comparison results of two adjacent models. When the phone receives an operation on a button or progress bar, the current model is canceled and model 1 and model 2 are displayed. When the phone receives an operation on a button or progress bar again, model 1 is canceled and model 2 and model 3 are displayed. When the phone receives an operation on a button or progress bar again, model 2 is canceled and model 3 and model 4 are displayed; this allows the user to continuously see each body shape change.
[0215] It should be noted that, in the above, the display order of the four historical models is the order of the construction time of the models. Of course, it can also be other orders, which is not limited in the embodiment of the present application.
[0216] Continuing with the example of the five 3D models above, the phone can also store a video showing the current model and, in sequence, four historical models compared to the current model. Optionally, the phone can save the video automatically or manually. Optionally, the video can be stored locally on the phone or on a server (e.g., an application server for a health and fitness app).
[0217] Please refer to Figure 7, which is a schematic diagram of a method for displaying body shape differences according to an embodiment of the present application. This method can be applied to a mobile phone, for example. As shown in Figure 7, the process includes:
[0218] (1) Obtaining a first image set, the first image set including images of user A from at least one angle, for example, a front view and a side view, or a front view and a back view, or a back view or a side view, etc. Specifically, there are multiple ways for the mobile phone to obtain the first image set. For example, the first image set is obtained by the method described in FIG. 3B , FIG. 3C , or FIG. 3D , which will not be repeated here for the sake of brevity.
[0219] (2) Construct a first 3D model of user A based on the first image set.
[0220] Optionally, the mobile phone stores an algorithm for constructing a 3D human body model based on images, and the algorithm can be used to construct a first 3D model based on the first image set. The algorithm can be, for example, a 3D Skinned Multi-Person Linear (SMPL) method or an AI body shape rendering method, or other algorithms, as long as they can construct a 3D human body model based on user images, and the embodiments of the present application are not limited thereto.
[0221] It should be noted that, here the first 3D model is obtained based on the first image set. In fact, the first 3D model can also be obtained according to other methods, for example, according to dimensional data entered by the user. This embodiment of the present application does not limit this.
[0222] (3) Obtaining a second image set, which is an image of user B from at least one angle. Specifically, there are multiple ways for the mobile phone to obtain the second image set. For example, the second image set can be obtained by the method shown in FIG. 3B , FIG. 3C , or FIG. 3D . For the sake of brevity, the details are not repeated here.
[0223] Optionally, user B and user A may be the same user or different users.
[0224] (4) Construct a second 3D model of user B based on the second image set.
[0225] Optionally, the mobile phone stores an algorithm for constructing a 3D human body model based on images, and this algorithm can be used to construct a second 3D model based on the second image set. The algorithm can be, for example, the SMPL method or the AI body shape rendering method, or other algorithms, as long as it can construct a 3D human body model based on the user image, and the embodiments of the present application are not limited thereto. It is understood that in order to accurately compare body shapes, the algorithm for constructing the first 3D model can be the same as the algorithm for constructing the second 3D model.
[0226] It should be noted that the second 3D model is obtained here based on the second image set. In fact, the second 3D model can also be obtained according to other methods, for example, according to dimensional data entered by the user. This embodiment of the present application is not limited to this.
[0227] (5) Compare the body shapes of the first 3D model and the second 3D model.
[0228] Optionally, the principle of comparing the body shapes of the first 3D model and the second 3D model can be found in the above description, which will not be repeated here for the sake of brevity.
[0229] (6) Display the body size comparison results.
[0230] Optionally, for the display method of the body shape comparison results, please refer to Example 1 or Example 2 above. For the sake of brevity, it will not be repeated here.
[0231] Second option
[0232] In the first solution mentioned above, the phone displays the user's body shape changes through a 3D model. Unlike the first solution, the second solution uses a 2D image to display the user's body shape changes. It should be noted that all or part of the first solution can be applied to the second solution.
[0233] In one possible implementation, continuing with Figure 3A (b) as an example, when the mobile phone receives an operation on the body shape analysis module in interface 301, it can determine the user's image, which can be referred to as the current image. The mobile phone can also determine historical images, then compare the current image with the historical images and display the body shape comparison results. The following describes the process of determining the current image and the historical images respectively.
[0234] The method for the mobile phone to determine the current image includes the following method A, method B or method C.
[0235] Method A: The mobile phone starts the camera to capture the current image. For example, after the mobile phone receives the operation for the body shape analysis module in interface 301, it starts the camera and displays the shooting interface shown in (a) of Figure 8A, and captures the image through the shooting interface. One possible implementation method is that after the mobile phone opens the shooting interface in (a) of Figure 8A, it starts a countdown of, for example, 10 seconds, and automatically captures the image when the countdown reaches 0. Alternatively, the mobile phone automatically captures the image when it detects that the user's body is stable (indicating that the user is standing well) for a preset time in the shooting interface. The specific value of the preset time is not limited in the embodiment of the present application.
[0236] In some examples, the shooting interface may also display guidance information to guide the user in shooting. For example, as shown in Figure 8A (b), the shooting interface displays a dotted box and a prompt message: Please shoot from the front and ensure your body is within the dotted box. After the phone opens the shooting interface, it starts a countdown, and when the countdown reaches 0, the shot is automatically taken. Alternatively, the phone automatically takes the shot after detecting that the user's body is within the dotted box and the stability period reaches a preset time.
[0237] It should be noted that the guidance information in (b) of Figure 8A is used to guide the user to take a frontal photo. It is understandable that the user may be more concerned about the body shape from the side. When the mobile phone receives an operation for button 701, the shooting interface shown in (c) of Figure 8A is displayed. The shooting interface includes another guidance information: Please shoot from the side and ensure that the body is within the dotted frame. The user can take a side photo according to the guidance information. Therefore, if the user wants to know the changes in body shape from the front, use the shooting interface in (b) of Figure 8A to take a frontal photo. If the user wants to know the changes in body shape from the side, use the shooting interface in (c) of Figure 8A to take a side photo.
[0238] In method B, the mobile phone obtains the current image from the gallery. Taking (c) in Figure 8A as an example, the shooting interface includes a gallery button. When the mobile phone receives an operation for the gallery button, it displays the interface shown in (d) in Figure 8A, which includes images stored in the gallery, and the user can select an image. For example, in (d) in Figure 8A, the user selected the second image. When the mobile phone receives an operation for the finish button, it determines that the current user image is the image selected by the user. Optionally, the mobile phone does not necessarily open the interface of the gallery application through the gallery button in the shooting interface, and can also open the interface of the gallery application through other methods. For example, in (b) in Figure 3A, when the mobile phone receives an operation for the body shape analysis button, it directly displays the interface of the image application.
[0239] In method C, the mobile phone determines the current image based on the dimension data input by the user. Optionally, the current image may be a non-real person image, for example, a cartoon image. Taking (c) in Figure 8A as an example, the shooting interface includes a dimension button. When the mobile phone receives an operation for the dimension button, the dimension input interface as shown in (e) in Figure 8A is displayed. Optionally, the mobile phone does not necessarily open the dimension input interface through the dimension button in the shooting interface, but can also open the dimension input interface through other methods. For example, in (b) in Figure 3A, when the mobile phone receives an operation for the body shape analysis button, the dimension input interface is directly displayed.
[0240] In other examples, the mobile phone may also obtain the dimensional data in other ways. For example, a user measures various dimensions of his body on a body assessment device in a gym. The user connects the mobile phone to the body assessment device to obtain the user's dimensional data from the body assessment device.
[0241] Optionally, the current image is a real-person image or a non-real-person image. The non-real-person image may be generated based on dimensional data or based on a real-person image.
[0242] The above are three examples of how a mobile phone determines the current image. In actual applications, there may be other ways, as long as the current user image can be determined. The embodiments of this application are not limited thereto.
[0243] After the mobile phone obtains the current image, it may display interface 801 as shown in FIG8B . Interface 801 includes current image 800. Optionally, as shown in FIG8B , interface 801 may also include other information, such as body shape analysis: pear-shaped body; and improvement suggestion: strengthening lower limb strength.
[0244] Optionally, the current image 800 can be a complete image or an image block on a complete image. For example, after the mobile phone determines the image in the above manner, it determines the area where the user's body is located in the image (for example, the area surrounded by the edge outline of the body), and then segments the area from the image to obtain the current image 800.
[0245] Optionally, the interface 801 may also include a setting button. When the mobile phone receives an operation for the setting button, the label of the current image can be set. The label may include, for example: the number of the current image 800, the generation time, the corresponding user ID, the shooting angle (front, side or back, etc.). The current image 800 is a full-body image or a partial image. If it is a partial image, the corresponding body part (for example, waist, hips, etc.) can also be set.
[0246] Optionally, the interface 801 further includes a “body shape comparison” button for triggering the mobile phone to perform body shape comparison, for example, triggering the mobile phone to perform body shape comparison between the current image 800 and historical images.
[0247] In Figure 8B, when the mobile phone receives an operation for the "Body Shape Comparison" button, it can determine the historical image, and then compare the current image 800 with the determined historical image. For example, the user can take and store a user image every time after exercising, so the mobile phone can store the user image taken each time, which can be stored locally on the mobile phone or on a cloud server. For easy reference, the mobile phone can store a label for each historical image. Optionally, the label may include one or more of the following: the number of the historical image, the time of generation, the user tag, the shooting angle (front, side or back, etc.), the whole body or part. If it is a partial image, the label also includes the mark of the local body part corresponding to the partial image. Exemplary, the labels of each historical image are shown in Table 2 below.
[0248] Table 2: Labels of various historical images
[0249] Optionally, the method for the mobile phone to determine the historical image includes but is not limited to the following method A and method B.
[0250] In Method A, the mobile phone can independently determine the historical image. For example, the mobile phone can randomly select, or determine the historical image based on the current image's tag and the tags of various historical images. For example, if the user identifier in the current image's tag is user A, the mobile phone can determine that the user identifier in the tag is a historical image of user A. For another example, if the current image's tag contains a capture time of T1, the mobile phone can determine the historical image whose capture time in the tag is closest to or furthest from T1. For example, if the current image's annotation indicates that the current image was shot from a frontal angle, the mobile phone can determine that the historical image whose tag contains a frontal angle is a frontal angle. It should be noted that this article primarily uses the example of two frontal images, i.e., two frontal images, for comparison. However, this embodiment of the present application is applicable not only to the comparison of two images taken from the same angle (e.g., both frontal images), but also to the comparison of images taken from different angles, such as a frontal and side view. It should be understood that when a user selects images from different angles for comparison, a prompt message can be displayed in the form of a pop-up window, prompting the user to select an image with a similar angle to achieve a better comparison effect. This embodiment of the present application does not limit the form of this prompt message.
[0251] In method B, the mobile phone can select a historical image based on the user's selection. For example, the mobile phone can display the identifiers of each historical image to facilitate user selection. The identifiers of the historical images can be labels, preview images, or other similar images.
[0252] For example, as shown in Figure 8B, when the mobile phone receives an action on the "Body Size Comparison" button, it displays interface 802 as shown in Figure 8C. Interface 802 may include one or more tags. When the mobile phone receives an action on a tag, it compares the current image 800 with the historical images corresponding to that tag.
[0253] Optionally, the number of tags included in interface 802 may be equal to or less than the total number of historical images. For example, the mobile phone may filter out some historical images from all historical images and display the tags corresponding to the filtered historical images in interface 800. The filtering method is described above and will not be repeated here.
[0254] For another example, when the mobile phone receives an operation on the "Body Comparison" button, it displays the interface 802 shown in FIG8D. The interface 802 includes a calendar, and the user can select a historical image in the calendar. The specific implementation principle is the same as above and will not be repeated.
[0255] Method C, the mobile phone determines a historical 3D model, and then determines a historical image based on the historical 3D model. Optionally, the mobile phone can determine a historical 3D model based on the label of the current image, and then obtain the historical image based on the historical 3D model. For example, the label of the historical 3D model includes the same user identifier as the label of the current image, and / or the construction time of the label of the historical 3D model is closest to or farthest from the shooting time in the label of the current image. Optionally, the mobile phone obtains the historical image based on the historical 3D model, which may include: determining a historical image with the same angle as the current image based on the historical 3D model. For example, if the current image is a frontal photo, the frontal image is obtained from the historical 3D model; if the current image is a side photo, the side image is obtained from the historical 3D model.
[0256] It is understandable that, in actual applications, the mobile phone can use any of the above-mentioned methods A and B to determine the historical image. After the mobile phone determines the historical image, it can compare the current image 800 with the historical image in terms of body shape. Optionally, the body shape comparison process between the current user image and the historical user image may include: (1) the mobile phone segments the first portrait from the current user image, where the first portrait is the portrait of the user in the current user image. The mobile phone segments the second portrait from the historical user image, where the second portrait is the portrait of the user in the historical user image. (2) the mobile phone aligns and displays the first portrait and the second portrait. For example, the mobile phone determines the first feature point on the first portrait; and determines the second feature point on the second portrait corresponding to the first feature point. The mobile phone displays the first portrait on the upper layer or lower layer of the second portrait, and the display position of the first feature point and the second feature point are the same. For example, as shown in FIG8D , the mobile phone aligns and displays the first and second portraits, and displays the chest key points on the first portrait and the chest key points on the second portrait at the same position, and displays the waist key points on the first portrait and the waist key points on the second portrait at the same position. Of course, other key points (e.g., shoulder key points, knee key points) may also be aligned and displayed. (3) After the first and second portraits are aligned and displayed, the mobile phone determines that the non-overlapping difference between the first and second portraits is the user's body shape change area. For example, as shown in FIG8E , the mobile phone determines that the area between the first point (including point A) on the first portrait and the second point (including point B) on the second portrait is the user's body shape change area. The first point includes the intersection A of the left edge of the first portrait and the horizontal line. The second point includes the intersection B of the left edge of the second portrait and the horizontal line. It can be understood that if there are multiple horizontal lines, there are multiple intersections A and multiple intersections B. The area between intersection A and intersection B is the non-overlapping area, i.e., the body shape change area, and the body shape change area determined in this way is more accurate. Therefore, in this way, the mobile phone obtains the body shape comparison result, that is, the area where the first and second portraits do not overlap.
[0257] After obtaining the body shape comparison results (i.e., the non-overlapping areas of the first and second portraits), the mobile phone can display the body shape comparison results. For example, in the non-overlapping areas of the first and second portraits, indicator information can be displayed to indicate the body shape change. Optionally, the indicator information can include at least one of a vector, color, and transparency. Examples are provided below.
[0258] Example 1, as shown in Figure 8F, the mobile phone displays a portrait 810 segmented from a historical image and a portrait 820 segmented from a current image 800, and the two portraits are displayed aligned. Moreover, the mobile phone displays multiple vectors in the area where the portrait 810 and the portrait 820 do not overlap. Taking vector 830 as an example, vector 830 is determined based on the distance and direction between the feature point 804 of the portrait 810 and the feature point 805 on the portrait 820. For example, the direction of vector 830 is the direction from feature point 804 to feature point 805, and the distance of vector 830 is the distance between feature point 804 and feature point 805. Therefore, through the vectors in Figure 8F, the user can feel the changes in the user's body shape, for example, the abdominal dimension is reduced, the crotch dimension is reduced, and the biceps femoris dimension is increased.
[0259] Optionally, in FIG8F , the mobile phone may also display a partial close-up (the portion circled in FIG8F ) to facilitate user viewing.
[0260] Optionally, as shown in FIG8F , the mobile phone also displays body shape comparison data, for example, waist circumference decreases by 2 cm, thigh circumference decreases by 3 cm, and biceps dimension increases by 1 cm.
[0261] In Example 2, as shown in Figure 8G , the phone displays a portrait 810 segmented from a historical image and a portrait 820 segmented from a current image 800. Furthermore, the non-overlapping areas of portraits 810 and 820 are filled with color (the color is indicated by diagonal lines in the figure). Therefore, the user can perceive the differences in body shape through the colors in Figure 8G .
[0262] Optionally, in FIG8G , the mobile phone can also display a partial close-up (the part circled in FIG8G ) to facilitate user viewing.
[0263] In some embodiments, the extent of body shape changes can also be indicated by color depth. For example, when the waist circumference changes greatly, dark yellow is used to indicate it, and when the waist circumference changes less, light yellow is used to indicate it.
[0264] In other examples, in FIG8G , the dimensions of multiple body parts have changed compared to the historical images in the current image. Optionally, the regions where the dimensions of the multiple body parts have changed are all filled with the same color. The color can be default or user-set. Alternatively, the regions where the dimensions of different body parts have changed are filled with different colors.
[0265] Optionally, in FIG8G , the current image has a portion with reduced dimensionality and a portion with increased dimensionality relative to the historical image. The portion with reduced dimensionality may be displayed in one color, while the portion with increased dimensionality may be displayed in another color.
[0266] Optionally, as shown in FIG8G , the mobile phone also displays body shape comparison data, for example, waist circumference decreases by 2 cm, thigh circumference decreases by 3 cm, and biceps femoris dimension increases by 1 cm.
[0267] Optionally, in FIG8F or FIG8G , the mobile phone can also hide the body shape comparison data. Optionally, after hiding the body shape comparison data, the mobile phone can display it again. The specific implementation principle is described above and will not be repeated here.
[0268] Optionally, in Figure 8F or Figure 8G, when the phone hides the body shape comparison data, the local close-up (i.e., the circled portion) can also be hidden. Optionally, the indicative information within the non-overlapping area of the historical image and the current image can also be hidden, meaning that only the historical image and the current image, or only one of the two images (e.g., only the current image) is displayed, with all other information hidden. Similarly, after hiding the body shape comparison data, if the phone displays the body shape comparison data again, all other information hidden along with the body shape comparison data can be displayed.
[0269] In other embodiments, the phone may not initially display any body shape comparison data or any close-up shots. The user selects a body part on the 3D model, and the phone displays the body shape comparison data for that body part, along with a close-up shot of that body part. For example, if the phone detects that the user clicked on the waist on the 3D model, it will display waist shape comparison data, such as a 2cm decrease in waist shape, and a close-up shot of the waist shape. If the phone detects that the user clicked on the crotch on the 3D model, it will display crotch shape comparison data, such as a 3cm decrease in crotch shape, and a close-up shot of the crotch.
[0270] It should be noted that Examples 1 and 2 above primarily illustrate two methods for displaying the non-overlapping area (i.e., the body shape change area) between portraits 810 and 820. It is understood that, in addition to the two methods described above, the body shape change area may also have other display methods, such as displaying transparency within the body shape change area, or displaying a shadow, etc. In short, the embodiments of the present application do not limit the display method of the body shape change area, as long as the body shape change area can be indicated to the user. Furthermore, the above methods for displaying the body shape change area may be used individually or in combination, such as, for example, the body shape change area may be filled with both color and transparency, or may have both transparency and shadows, etc.
[0271] In some examples, the mobile phone can export a 3D model based on a 2D image. For example, in Figure 8F, when the mobile phone receives an operation on the export button, it can export the 3D model. Optionally, the exported 3D model can include a 3D model corresponding to portrait 810 and / or a 3D model corresponding to portrait 820. Optionally, after exporting the 3D model, the mobile phone can also record the body shape data corresponding to the 3D model (e.g., data of various dimensions).
[0272] In the above embodiment, after obtaining the current image 800, the mobile phone needs to determine historical images and then compare the determined historical images with the current user image 800. There is a possibility that the mobile phone cannot determine historical images. For example, this is the user's first time using the health and fitness app, so no historical images exist in the health and fitness app. In this case, as shown in Figure 8B, the mobile phone may not display the body shape comparison button, or it may display the body shape comparison button but display it in grayscale, indicating that it is unresponsive. Alternatively, it may display the body shape comparison button but not necessarily display it in grayscale. When the mobile phone detects an operation on this button, it displays a prompt message, such as in Figure 9 (a), which reads: "No historical user images detected." If no historical user images exist, the mobile phone can also obtain historical images using the same method as described above for obtaining the current image, such as selecting historical images from the gallery app, or obtaining historical images using dimensional data entered by the user. For example, as shown in Figure 9 (a), the mobile phone also displays a prompt message: "Do you want to select an image from the gallery?" and displays "Confirm" and "Cancel" buttons. When the mobile phone receives an operation for the "Confirm" button, an interface as shown in Figure 9 (b) is displayed, which includes images in the gallery. When the mobile phone receives an operation for the user to select an image and an operation for the Complete button, it determines that the image selected by the user is a historical image. Optionally, after the mobile phone obtains the historical image, it can create a label for the historical image, which includes a number, generation time, full body or partial image, etc. The generation time can be the shooting time of the image selected by the user, or the time can be manually set by the user. The mobile phone compares the body shape of the historical image with the current image 800 and displays the comparison result. Please refer to the previous text for the body shape comparison process. For the sake of brevity, it will not be repeated.
[0273] In the above embodiment, when the mobile phone receives an operation on the "Body Analysis" button in FIG3A(b), it first obtains the user's current image by capturing an image or selecting an image from the image library. It then determines a historical image, compares the two images, and displays the body shape comparison result. In other embodiments, when the mobile phone receives an operation on the "Body Analysis" button in FIG3A(b), it can automatically determine two historical images, compare the two historical images, and display the body shape comparison result. In other words, after receiving an operation on the "Body Analysis" button in FIG3A(b), the mobile phone directly displays the body shape comparison result as shown in FIG8F or 8G. The mobile phone can automatically determine the two historical images by: determining the two historical images with the closest or furthest capture time based on the tags of the historical images; or determining two historical images corresponding to the same user. In still other embodiments, after receiving an operation on the "Body Analysis" button in FIG3A(b), the user selects two historical images for body shape comparison, and then displays the body shape comparison result as shown in FIG8F or 8G. For example, when the phone receives an action on the "Body Analysis" button in Figure 3A (b), it displays an interface similar to Figure 5B (a) or Figure 5B (b). Using Figure 5B (a) as an example, the user can select two tags. The phone then compares the two historical images corresponding to the selected tags and displays the body shape comparison results.
[0274] Continuing with the interface in Figure 5B (a) as an example, if the user wants to capture a new image, they can click the "New" button. When the phone receives the "New" button operation, it may display an interface such as Figure 8A (a), Figure 8A (b), or (d), and the user can capture the new image by taking a photo, accessing the gallery, or other methods.
[0275] In the above embodiment, the current image and the historical image are both full-body photos. In other embodiments, at least one of the two images may be an image of a local body part (hereinafter referred to as a local image).
[0276] For example, referring to FIG10A , the mobile phone displays a partial image 1000. For example, the mobile phone obtains the partial image 1000 in a manner similar to FIG8A in the previous text, which will not be repeated here. In FIG10A (a), when the mobile phone receives an operation on the “body shape comparison” button, it determines the historical image. As described above, the historical image can be selected by the user or determined by the mobile phone itself. One possible method is that, whether selected by the user or determined by the mobile phone itself, when the determined historical image is a full-body 3D model, the following method 1 is used; if the determined historical image is a partial image, the following method 2 is used. Another possible implementation method is that when the mobile phone determines the historical 3D model itself, it prioritizes searching for historical full-body images. If the historical full-body images cannot be found, it searches for historical partial images, i.e., it prioritizes using the following method 1. When method 1 cannot be used (i.e., there are no historical full-body images), method 2 is used. Another possible implementation method is that when the mobile phone determines the historical 3D model by itself, it prioritizes searching for historical partial images belonging to the same part as the partial image 1000 based on the label. If such a historical partial image exists, method 2 below is used. If not found, method 1 can be used to search for historical full-body images, or method 1 can be used to search for historical full-body images and extract partial images with the same body part as the partial image 1000 from the historical full-body images, and then method 2 below can be used.
[0277] Method one: the historical image is a full-body image of history.
[0278] For example, in FIG10A(a), when the mobile phone receives an action on the "Body Size Comparison" button, it retrieves a historical image (a full-body image) and displays the interface shown in FIG10A(b), which includes a partial image 1000 and a historical image 1100. Since historical image 1100 is a full-body photo, the mobile phone needs to determine which body part 1200 in partial image 1000 should be compared with the body part in historical image 1100. One possible implementation, as shown in FIG10A(b), is to place partial image 1000 in a suspended state. When the mobile phone receives a drag action on partial image 1000, its position moves. Assuming the mobile phone detects that partial image 1000 has been dragged into the first area (the dotted box area) in FIG10A(b) and remains there for a predetermined period of time, the body part 1300 in the first area of historical image 1100 is compared with the body part 1200 in partial image 1000. The principle of comparison is the same as the principle of body shape comparison of the first and second portraits described above. For example, body part 1300 is aligned with body part 1200 and the non-overlapping area of body part 1300 and body part 1200 is determined. For the sake of brevity, this description will not be repeated here. After the mobile phone obtains the comparison result (i.e., the non-overlapping area of body part 1300 and body part 1200), it displays the comparison result. For example, referring to (c) in Figure 10A, the mobile phone displays indication information in the non-overlapping area. The indication information can be a vector, and of course it can also be a color, transparency, shadow, etc.
[0279] In some examples, the mobile phone can identify the user's body parts based on the image. For example, after the mobile phone obtains the partial image 1000, it can identify which body part the partial image 1000 corresponds to. One possible identification method is that after the mobile phone obtains the partial image 1000, it sets a label, and the label includes a mark of the body part, for example, thigh. Therefore, the mobile phone can determine the body part corresponding to the partial image 1000 through the label. In this case, in (a) of Figure 10A, when the mobile phone receives an operation for the body shape comparison button, it can directly display the interface of (c) in Figure 10A without going through (b) in Figure 10A, because the mobile phone already knows the body part of the partial image 1000 and does not need to be dragged by the user.
[0280] The second method is that historical images are partial images of history.
[0281] For example, in FIG10B (a), when the mobile phone receives an operation for the "body shape comparison" button, it obtains a historical image and displays an interface as shown in FIG10B (b), which includes a partial image 1000 and a historical image 1100 (including a partial body part 1300), as well as a default human body template (a dotted human body template). Since both the partial image 1000 and the historical image 1100 are partial photos, the mobile phone needs to determine which body part the two partial photos belong to. One possible implementation method is to, as shown in FIG10B (b), display both the partial image 1000 and the historical image 1100 in a suspended manner. When the mobile phone receives a drag operation for the partial image 1000 and determines that the partial image 1000 is dragged into the first area (dashed box area) in (b) of Figure 10B, and the mobile phone also receives a drag operation for the historical image 1100 and determines that the historical image 1100 is dragged into the first area (dashed box area) in (b) of Figure 10B, the mobile phone segments the partial body part 1200 in the partial image 1000 and segments the partial body part 1300 in the historical image 1100, and then performs a body shape comparison. The principle of comparison is the same as the body shape comparison principle of the first and second portraits in the figure. For example, the partial body part 1200 is aligned with the partial body part 1300 and a non-overlapping area is determined. For the sake of brevity of the specification, it is not repeated here. After the mobile phone obtains the comparison result (i.e., the non-overlapping area), it displays the comparison result. For example, referring to FIG10B (c), the mobile phone displays indication information in the non-overlapping area. The indication information may be a vector, and of course the indication information may also be color, transparency, shadow, etc. Optionally, from FIG10B (b) to FIG10B (c), the mobile phone stops displaying the human body template. Optionally, in FIG10B (c), the mobile phone may continue to display the human body template.
[0282] In some examples, the phone can identify the body part corresponding to the historical image. For example, the phone can identify which body part the historical image 1100 corresponds to based on the tag of the historical image 1100. In this case, the historical image 1100 in FIG10B(b) can be directly displayed within the dotted area without the user having to drag it.
[0283] In other examples, the phone can identify the body part corresponding to the current image. For example, the phone can identify which body part the current image 1000 corresponds to based on the label of the current image 1000. In this case, the current image 1000 in FIG10B(b) can also be displayed directly within the dotted area without the user having to drag it.
[0284] Optionally, when the mobile phone is able to identify the body parts corresponding to the current image 1000 and the historical image 1100, in (a) of Figure 10B, when the mobile phone receives an operation for the body shape comparison button, it can directly display the interface of (c) in Figure 10B without going through (b) in Figure 10B, because the mobile phone already knows the body parts of the current image 1000 and the historical image 1100, and the user does not need to drag.
[0285] As described above, after the mobile phone receives the "Body Analysis" button in FIG3A(b), it compares the two images and displays the body comparison result. In the above embodiment, the two images compared by the mobile phone are images of the same user at different times. In other embodiments, the two images may also be images of different users. The mobile phone may determine that the images are different users by:
[0286] (1) When the mobile phone receives an operation on the "Body Analysis" button in (b) of FIG3A , it randomly determines two historical images, and these two historical images correspond to different users. Alternatively, the mobile phone selects two historical images with the closest or furthest shooting time based on the tags, and these two historical images correspond to different users. Optionally, the mobile phone determines that at least one of the two historical images can be obtained based on the historical 3D model.
[0287] (2) When the mobile phone receives an operation on the "Body Analysis" button in (b) of Figure 3A, an interface similar to (a) or (b) in Figure 5B is displayed. The user selects two historical images in this interface, and the two historical images correspond to different users.
[0288] (3) When the mobile phone receives an operation on the "Body Analysis" button in (b) of Figure 3A, it can activate the camera to capture an image of user A or select an image of user A from the gallery, and then display the interface shown in Figure 8B. Afterwards, the mobile phone determines the historical images of user B based on the tags, for example, the historical images of user B that were taken closest to or furthest from the current image of user A.
[0289] (4) When the mobile phone receives an operation on the "Body Analysis" button in (b) of FIG3A , it can activate the camera to capture an image of user A, or select an image of user A from the image gallery, or obtain an image of user A based on the input dimensional data of user A. Thereafter, the mobile phone activates the camera again to capture an image of user B, or select an image of user B from the image gallery, or obtain an image of user B based on the input dimensional data of user B.
[0290] In the above embodiment, two 2D images are compared as an example. In fact, more 2D images can be compared. The principle is the same as that of comparing multiple 3D models (for example, comparing 5 3D models) in the previous article, and will not be repeated.
[0291] Please refer to Figure 11, which is another flow chart of a method for displaying body shape differences according to an embodiment of the present application. As shown in Figure 11, the flow chart includes:
[0292] (1) Obtaining a first image, which is an image of user A. Optionally, the first image can be a front view, a side view, or a back view of user A. Specifically, there are multiple ways for the mobile phone to obtain the first image. For example, the first image is obtained by the method shown in FIG. 8A above. For the sake of brevity, the details are not repeated here.
[0293] (2) Acquire a second image, which is an image of user B. Optionally, the second image can be a front view, a side view, or a back view of user B. Specifically, there are multiple ways for the mobile phone to acquire the second image. For example, the second image is acquired by the method shown in FIG. 8A above. For the sake of brevity, the details are not repeated here.
[0294] It should be noted that the first image and the second image are images taken at the same angle, for example, both are front views, or both are side views, and so on.
[0295] (3) Perform portrait segmentation on the first image and the second image.
[0296] For example, the mobile phone segments a first person portrait from the first image and segments a second person portrait from the second image. The specific image segmentation method is not limited in the embodiment of the present application.
[0297] (4) Align the first and second portraits and display them.
[0298] For the multiple layers of the first and second portraits displayed in alignment, please refer to the previous article and will not be repeated here.
[0299] Optionally, the execution order between step (3) and step (4) is not limited.
[0300] (5) Compare the body shapes of the first and second portraits.
[0301] For example, after the phone aligns the first and second portraits for display, it determines the non-overlapping areas between the first and second portraits as the user's body shape change area. For more details on the implementation process, please refer to the previous article.
[0302] (6) Display the body shape comparison results.
[0303] Optionally, for the display method of the body shape comparison results, please refer to Example 1 or Example 2 above. For the sake of brevity, it will not be repeated here.
[0304] In some examples, the mobile phone may include only the first solution, or only the second solution. For example, the health and exercise application in the mobile phone may only integrate the program code of the first solution, or only integrate the program code of the second solution.
[0305] In other examples, the mobile phone includes the first solution and the second solution. For example, the program code of the first solution and the program code of the second solution are integrated into the health and fitness application in the mobile phone. In this case, the mobile phone can use either of the two solutions, for example, the first solution or the second solution is used by default. Alternatively, the user can set which solution the mobile phone uses. One possible way is to provide a button in the interface of the health and fitness application, through which you can set which solution the health and fitness application uses. For example, in Figure 12, the mobile phone displays the interface of the health and fitness application, which has a 3D option and a 2D option. When the 3D option is selected, when the mobile phone receives an operation on the "Body Shape Comparison" button, the first solution is used. When the 2D option is selected, when the mobile phone receives an operation on the "Body Shape Comparison" button, the second solution is used.
[0306] It should be noted that FIG12 is only an example, and the mobile phone can be set to use the first solution or the second solution in other ways. For example, the first solution or the second solution can be set in the settings application of the mobile phone.
[0307] Figure 13 is a structural diagram of an electronic device 1300 provided in an embodiment of the present application. The electronic device 1300 may be the mobile phone mentioned above. As shown in Figure 13, the electronic device 1300 may include: one or more processors 1301; one or more memories 1302; a communication interface 1303, and one or more computer programs 1304, and the above-mentioned devices may be connected through one or more communication buses 1305. The one or more computer programs 1304 are stored in the above-mentioned memory 1302 and are configured to be executed by the one or more processors 1301, and the one or more computer programs 1304 include instructions. For example, when the electronic device 1300 is the mobile phone mentioned above, the instruction can be used to execute the relevant steps of the mobile phone in the corresponding embodiment above, for example, the steps of the mobile phone in the embodiments shown in Figures 7 and 11. The communication interface 1303 is used to realize communication between the electronic device 1300 and other devices, for example, the communication interface may be a transceiver.
[0308] In the embodiments provided in the present application above, the method provided in the embodiment of the present application is introduced from the perspective of an electronic device (e.g., a mobile phone) as an execution subject. In order to implement the various functions in the method provided in the embodiment of the present application above, the electronic device may include a hardware structure and / or a software module to implement the above functions in the form of a hardware structure, a software module, or a hardware structure plus a software module. Whether a function of the above functions is executed in the form of a hardware structure, a software module, or a hardware structure plus a software module depends on the specific application and design constraints of the technical solution.
[0309] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)). In the absence of conflict, the solutions of the above embodiments can be used in combination.
[0310] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0311] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the present application. It should be understood that each flow and / or box in the flow chart and / or block diagram, as well as the combination of the flow chart and / or box in the flow chart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for implementing the functions specified in one or more flow charts and / or one or more boxes in the block diagram.
[0312] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0313] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0314] Obviously, those skilled in the art may make various changes and modifications to the present application without departing from the scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include these modifications and variations.
Claims
1. A method for displaying body shape differences, characterized in that: Applied to electronic equipment, the method comprises: receiving a first operation; A body shape comparison result between the first body shape and the second body shape is displayed, wherein the body shape comparison result is expressed through a 3D model and / or a 2D image.
2. The method according to claim 1, characterized in that The 3D model and / or the 2D image includes first indication information, where the first indication information is used to indicate a difference between the first body shape and the second body shape.
3. The method according to claim 1 or 2, characterized in that: The first body shape and the second body shape are body shapes of the same user at different times, or body shapes of different users.
4. The method according to any one of claims 1 to 3, characterized in that: Before displaying the body shape comparison result between the first body shape and the second body shape, the method further includes: Obtaining the body shape comparison result according to the first body shape information and the second body shape information; The first body shape information includes at least one of a 3D model, a 2D image or dimensional data of the first body shape; The second body shape information includes at least one of a 3D model, a 2D image or dimensional data of the second body shape.
5. The method according to claim 4, characterized in that Before obtaining the body shape comparison result according to the first body shape information and the second body shape information, the method further includes: According to labels of N body shape information, the first body shape information and the second body shape information are determined in the N body shape information, where N is a positive integer, and the labels include at least one of a body shape information number, a construction time, a user identifier, and a body mark, and the body mark is used to mark the whole body or a local body part.
6. The method according to claim 4, characterized in that Before obtaining the body shape comparison result according to the first body shape information and the second body shape information, the method further includes: The flag showing the type information of N individuals, where N is a positive integer; According to a user selection operation, the first body shape information and the second body shape information are determined in the N body shape information.
7. The method according to claim 4, characterized in that Before obtaining the body shape comparison result according to the first body shape information and the second body shape information, the method further includes: Displaying a first interface, where the first interface is used to obtain a user image or dimension data, where the user image or dimension data is used to obtain the first body shape information; Displaying a second interface, wherein the second interface includes the first body shape information; receiving a second operation; The second body shape information is determined from N historical body shape information according to the first body shape information or user operation, where N is a positive integer.
8. The method according to claim 7, characterized in that The first interface is displayed, including: displaying an image capturing interface, wherein the image capturing interface is used to capture an image of the user, wherein the first body shape information includes the user image or a 3D model obtained based on the user image; or Displaying an interface of a gallery application, wherein the interface includes at least one image, and the first body shape information includes an image selected by a user in the interface or a 3D model obtained according to the image selected by the user; or An input interface for dimensional data is displayed, wherein the first body shape information includes the dimensional data input in the input interface or a 3D model generated according to the dimensional data.
9. The method according to claim 7, characterized in that: The second body shape information satisfies at least one of the following conditions: The second body shape information is a model whose construction time is closest to or farthest from the construction time of the first body shape information among the N historical body shape information; The second body shape information and the first body shape information correspond to the same user; The second body shape information and the first body shape information are both whole body information or local information; The second body shape information corresponds to the same body part as the first body shape information; The second body shape information is body shape information selected by the user from among the N historical body shape information.
10. The method according to claim 7, characterized in that The method further comprises: When the second body shape information fails to be determined from the N historical body shape information, a prompt message is output, where the prompt message is used to prompt that the second body shape information has not been determined.
11. The method according to claim 4, characterized in that Before obtaining the body shape comparison result according to the first body shape information and the second body shape information, the method further includes: displaying a third interface, wherein the third interface is used to obtain an image or dimensional data of a first user, wherein the image or dimensional data of the first user is used to obtain the first body shape information; A fourth interface is displayed, where the fourth interface is used to obtain the image or dimensional data of the second user, and the image or dimensional data of the second user is used to obtain the second body shape information.
12. The method according to any one of claims 2 to 11, characterized in that: The body shape comparison result is a 3D model, and the display angle of the 3D model is a first angle, and the method further includes: Receive the fifth operation, The display angle of the 3D model is adjusted to a second angle, and the 3D model includes second indication information at the second angle, and the second indication information is used to indicate the difference between the first body shape and the second body shape at the second angle.
13. The method according to any one of claims 1 to 12, characterized in that: The body shape comparison result is a 3D model, and the method further includes: receiving a sixth operation; A 2D image is generated according to the 3D model, where the 2D image is an image of the 3D model at a third angle.
14. The method according to any one of claims 1 to 13, characterized in that: The method further comprises: receiving an eighth operation, wherein the eighth operation is used to designate a first body part; Display at least one of first dimensional data, second dimensional data, and data comparison between the first dimensional data and the second dimensional data; wherein the first dimensional data is dimensional data of the first body part on the first body shape, and the second dimensional data is dimensional data of the first body part on the second body shape.
15. The method according to any one of claims 1 to 14, characterized in that: The first body shape corresponds to a first partial body part, the second body shape corresponds to the whole body or a second partial body part, the second partial body part includes the first partial body part, and before displaying the body shape comparison result, the method further includes: Displaying first body shape information and second body shape information, wherein the first body shape information includes a 2D image or a 3D model of the first body shape, and the second body shape information includes an image or a 3D model of the second body shape; An operation of dragging the first body shape information to a first position is received, and the first position corresponds to the first partial body part in the second body shape information.
16. The method according to any one of claims 1 to 15, characterized in that: Displaying a comparison result of the first body shape and the second body shape, wherein the body shape comparison result is expressed by a 3D model and / or a 2D image, including: Overlaying and displaying a first 3D model of the first body type and a second 3D model of the second body type; and / or, A first 2D image of the first body shape and a second 2D image of the second body shape are displayed in an overlapping manner.
17. The method according to any one of claims 2 to 16, characterized in that: The first indication information is located in a non-overlapping area of the first body shape and the second body shape in the 3D model and / or the 2D image.
18. The method according to any one of claims 2 to 17, characterized in that: The first indication information includes: at least one of vector, color, shadow and transparency.
19. An electronic device, characterized in that: include: a processor, a memory, and one or more programs; The one or more programs are stored in the memory, and the one or more programs include instructions, which, when executed by the processor, enable the electronic device to perform the method steps as described in any one of claims 1 to 18.
20. A computer-readable storage medium, characterized in that: The computer-readable storage medium is used to store a computer program, and when the computer program is run on a computer, the computer is caused to execute the method according to any one of claims 1 to 18.
Citation Information
Patent Citations
AI intelligent photographing body measuring system
CN112541961A
Remote intelligent examination system for radiology department
CN113456095A
Fitness recommendation method and electronic equipment
CN115203524A
KR20200096336A