User similarity calculation method and device based on sweeping robot, and storage medium
Patent Information
- Application Number
- CN202211049711.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-30
- Publication Date
- 2026-10-27
- Estimated Expiration
- 2042-08-30
AI Technical Summary
[0005]本申请旨在解决上述技术问题,即,解决现有技术中对于用户实际生活的物理空间的数据比较缺乏,从日常生活空间角度对用户进行相似度度量对于提高智能家居产品的个性化设计和个性化推荐变得十分必要的问题,本申请提供了一种基于扫地机器人的用户相似度计算方法、存储介质及电子装置
[0037]在实施本申请的技术方案中,提出一种基于扫地机器人的用户相似度计算方法,该方法通过获取不同的用户的扫地机器人的工作轨迹数据,根据工作轨迹数据生成扫地机器人作业的地面区域的地图数据,根据地面区域的地图数据计算不同的用户之间的相似度,计算的相似度的结果可支持后续的用户分类以及相似用户习惯的聚类等,为智能家居产品的设计、广告精准投放以及个性化推荐提供了精准数据。
Smart Images

Figure CN115456057B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of smart home technology, and more specifically, to a method and apparatus for calculating user similarity based on a robotic vacuum cleaner, as well as a storage medium and electronic device. Background Technology
[0002] With the increasing popularity of smart homes, more and more smart home products, such as robot vacuums, support internet connectivity, remote control, and personalized operating modes. They also accumulate a wealth of information related to users' daily lives, such as preferred usage patterns, usage times, and cleaning areas. To continuously improve smart home products and enhance personalized design and recommendations, service providers need to understand users' lifestyles and the characteristics of their living spaces, such as usable floor space and furniture arrangement. This allows them to group similar users and provide precise, personalized products and services based on the characteristics of different user groups.
[0003] Current methods for measuring user similarity are mostly based on user behavior data, such as browsing history and geolocation, but data on users' actual physical living spaces is relatively scarce. However, measuring user similarity from the perspective of daily living spaces is also crucial for improving the personalized design and recommendations of smart home products. Therefore, how to protect user privacy while utilizing data analysis of smart home product operation processes to understand users' lifestyles and preferences, identify similar users, and improve product design capabilities and personalized service levels is a major challenge facing the promotion and use of smart home appliances.
[0004] Accordingly, there is a need in the field for a new user similarity calculation scheme based on robotic vacuum cleaners to solve the above problems. Summary of the Invention
[0005] This application aims to address the aforementioned technical problem: the lack of data on users' actual living physical spaces in existing technologies. Measuring user similarity from the perspective of daily living spaces is essential for improving the personalized design and recommendation of smart home products. This application provides a user similarity calculation method, storage medium, and electronic device based on a robotic vacuum cleaner. The user similarity calculation method provided in this application can acquire the working trajectory data of robotic vacuum cleaners from different users, generate map data of the ground area where the robotic vacuum cleaner operates based on the working trajectory data, and calculate the similarity between different users based on the map data. The calculated similarity results can support subsequent user classification and clustering of similar user habits, providing accurate data for the design of smart home products, precise advertising, and personalized recommendations.
[0006] In a first aspect, this application provides a user similarity calculation method based on a robotic vacuum cleaner, the user similarity calculation method comprising:
[0007] Obtain the working trajectory data of different users' robot vacuum cleaners within any historical time period;
[0008] The map data of the ground area where the sweeping robot is operating is generated based on the work trajectory data;
[0009] The similarity between different users is calculated based on the map data of the ground area.
[0010] In one technical solution of the above-mentioned user similarity calculation method for robotic vacuum cleaners, the step of obtaining the working trajectory data of robotic vacuum cleaners for different users over a historical period includes:
[0011] The robot vacuum cleaners of different users are marked with the waypoints and obstacles during their operation over a historical period, and a scatter plot of their trajectory is generated.
[0012] In one technical solution of the above-mentioned user similarity calculation method based on a robotic vacuum cleaner, the step of generating map data of the ground area where the robotic vacuum cleaner operates based on the work trajectory data includes:
[0013] The trajectory scatter plot is then graphically binarized.
[0014] Set an initial rolling ball radius value, and extract the initial contour map of the trajectory scatter plot after the image is binarized based on the rolling ball method according to the initial rolling ball radius;
[0015] Obtain the number of connected components in the region enclosed by the initial contour map;
[0016] Based on the number of connected components, the outline of the trajectory scatter plot after the graph is binarized is extracted as the map data of the ground area where the sweeping robot operates.
[0017] In one technical solution of the above-mentioned user similarity calculation method based on a robotic vacuum cleaner, the step of extracting the contour map of the trajectory scatter plot after image binarization based on the number of connected components as map data of the ground area where the robotic vacuum cleaner operates includes:
[0018] If the number of connected components is greater than the first preset threshold, update the rolling ball radius value, and extract a new contour map of the trajectory scatter plot after the image is binarized based on the updated rolling ball radius and the rolling ball method, and calculate the number of connected components in the region enclosed by the new contour map.
[0019] If the number of connected components is less than or equal to a first preset threshold, the rolling ball radius value will no longer be updated. The last updated rolling ball radius value will be used as the final rolling ball radius value. Based on the final rolling ball radius value, the final contour map of the trajectory scatter plot after the graph is binarized will be extracted using the rolling ball method and used as the map data of the ground area where the sweeping robot is operating.
[0020] In one technical solution of the above-mentioned user similarity calculation method based on a robotic vacuum cleaner, the step of calculating the similarity between different users based on the map data of the ground area includes:
[0021] Obtain the trajectory point cloud of the ground area where the robot vacuum cleaner operates for different users, wherein the trajectory point cloud represents multiple trajectory points;
[0022] Random consistency sampling is performed on the acquired trajectory point clouds of different users to obtain sampled point cloud data of different users;
[0023] By matching and calculating the point cloud data of different users' sampling points, the translational loss parameter Rti and the rotational loss parameter Rri of the point cloud data of different users' sampling points are obtained. The distance Li of the point cloud of the robot vacuum cleaner for different users is calculated as Li = Rti * Rri
[0024] Compare Li with the second preset threshold. If Li is greater than the second preset threshold, continue sampling and calculate the value of Li.
[0025] When Li is less than the second preset threshold, the average value L_avg of all sampled Li is taken as the distance between the ground area trajectory point clouds of the two users' robot vacuums, and the similarity between the two robot vacuums and the two users is 1 / L_avg.
[0026] In one of the above-mentioned technical solutions for user similarity calculation methods based on robotic vacuum cleaners, the initial rolling ball radius value is determined by the maximum Euclidean distance between two points in the trajectory scatter plot.
[0027] In one technical solution of the above-mentioned user similarity calculation method based on a robotic vacuum cleaner, obtaining the number of connected components in the initial contour map's enclosed region includes:
[0028] Scan the initial contour map twice to find and mark all connected components present in the initial contour map;
[0029] The number of connected components within the initial outline map's enclosed region is determined by the number of markers.
[0030] In a second aspect, this application provides a user similarity calculation device based on a robotic vacuum cleaner, the user similarity calculation device comprising:
[0031] The acquisition module is used to acquire the working trajectory data of the robot vacuum cleaners of different users over a historical period of time.
[0032] The generation module is used to generate map data of the ground area where the sweeping robot operates based on the work trajectory data;
[0033] The similarity calculation module is used to calculate the similarity between different users based on the map data of the ground area.
[0034] In a third aspect, this application provides a computer-readable storage medium comprising a stored program, wherein the program, when executed, performs the method described in the first aspect of this application.
[0035] In a fourth aspect, this application provides an electronic device including a memory and a processor, wherein the memory stores a computer program and the processor is configured to execute the method described in the first aspect of this application through the computer program.
[0036] The above-described technical solutions of this application have at least one or more of the following beneficial effects:
[0037] In implementing the technical solution of this application, a user similarity calculation method based on a robotic vacuum cleaner is proposed. This method obtains the working trajectory data of robotic vacuum cleaners from different users, generates map data of the ground area where the robotic vacuum cleaner operates based on the working trajectory data, and calculates the similarity between different users based on the map data of the ground area. The calculated similarity results can support subsequent user classification and clustering of similar user habits, providing accurate data for the design of smart home products, precise advertising, and personalized recommendations. Attached Figure Description
[0038] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0039] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0040] Figure 1 This is a schematic diagram of the hardware environment for a user similarity calculation method based on a robotic vacuum cleaner according to an embodiment of this application;
[0041] Figure 2This is a schematic diagram of the main steps of the user similarity calculation method based on a robot vacuum cleaner according to an embodiment of this application;
[0042] Figure 3 This is a schematic flowchart of the main steps of step S102 according to an embodiment of this application;
[0043] Figure 4 This is a schematic flowchart of the main steps of step S1024 according to an embodiment of this application;
[0044] Figure 5 This is a schematic flowchart of the main steps of step S103 according to an embodiment of this application;
[0045] Figure 6 This is a schematic diagram of the main steps of a user similarity calculation device based on a robot vacuum cleaner according to an embodiment of this application;
[0046] Figure 7 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Detailed Implementation
[0047] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.
[0048] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0049] In the description of this application, "module" and "processor" can include hardware, software, or a combination of both. A module can include hardware circuitry, various suitable sensors, communication ports, memory, and can also include software components, such as program code, or a combination of software and hardware. A processor can be a central processing unit, microprocessor, image processor, digital signal processor, or any other suitable processor. The processor has data and / or signal processing capabilities. The processor can be implemented in software, in hardware, or a combination of both. Non-transitory computer-readable storage media includes any suitable medium capable of storing program code, such as magnetic disks, hard disks, optical disks, flash memory, read-only memory, random access memory, etc. The term "A and / or B" means all possible combinations of A and B, such as only A, only B, or A and B. The terms "at least one A or B" or "at least one of A and B" have a similar meaning to "A and / or B" and can include only A, only B, or A and B. The singular terms "a" or "this" can also include plural forms.
[0050] With the increasing popularity of smart home appliances, more and more smart home products, such as robot vacuums, support internet connectivity, remote control, and personalized operating modes. They have also accumulated a wealth of information related to users' daily lives, such as preferred usage patterns, usage times, and cleaning areas. This data reflects, to some extent, users' behavioral habits, personal preferences, and family circumstances. To continuously improve smart home products and enhance personalized design and recommendations, service providers need to understand users' living habits and residential space characteristics, such as living area and furniture arrangement. This allows them to group similar users and provide precise, personalized products and services based on the characteristics of different user groups.
[0051] Current methods for measuring user similarity are mostly based on user behavior data, such as browsing history and geolocation, but data on users' actual physical living spaces is relatively scarce. However, measuring user similarity from the perspective of daily living spaces is also crucial for improving the personalized design and recommendations of smart home products. Therefore, how to protect user privacy while utilizing data analysis of smart home product operation processes to understand users' lifestyles and preferences, identify similar users, and improve product design capabilities and personalized service levels is a major challenge facing the promotion and use of smart home appliances.
[0052] To this end, this application provides a user similarity calculation method based on a robotic vacuum cleaner. This method obtains the working trajectory data of robotic vacuum cleaners from different users, generates map data of the ground area where the robotic vacuum cleaner operates based on the working trajectory data, calculates the similarity between different users based on the map data of the ground area, and the calculated similarity results can be used to identify users with similar home living spaces. By grouping similar users, a foundation is provided for designing products and personalized services for different user groups in the future.
[0053] According to one aspect of the embodiments of this application, a user similarity calculation method based on a robotic vacuum cleaner is provided. This user similarity calculation method based on a robotic vacuum cleaner is widely applicable to whole-house intelligent digital control application scenarios such as smart homes, smart home ecosystems, and intelligence house ecosystems. Optionally, in this embodiment, the above-mentioned user similarity calculation method based on a robotic vacuum cleaner can be applied to, for example... Figure 1 The hardware environment shown consists of terminal device 102 and server 104. For example... Figure 1 As shown, server 104 is connected to terminal device 102 via a network and can be used to provide services (such as application services) to the terminal or a client installed on the terminal. The client installed on the terminal can be a robot vacuum cleaner smart APP. The robot vacuum cleaner smart APP can obtain the working trajectory data of the robot vacuum cleaner after a cumulative working period of time, such as 20 hours. Terminal device 102 uploads the obtained working trajectory data to server 104. Server 104 receives the working trajectory data and generates map data of the ground area where the robot vacuum cleaner operates based on the working trajectory data. Server 104 calculates the similarity between different users based on the obtained map data of the ground area where the robot vacuum cleaner operates for different users.
[0054] The aforementioned networks may include, but are not limited to, at least one of the following: wired network, wireless network. The aforementioned wired network may include, but is not limited to, at least one of the following: wide area network (WAN), metropolitan area network (MAN), local area network (LAN). The aforementioned wireless network may include, but is not limited to, at least one of the following: Wi-Fi (Wireless Fidelity), Bluetooth. Terminal device 102 may not be limited to PCs, mobile phones, tablets, smart robotic vacuum cleaners, etc. Server 104 includes, but is not limited to, various personal computers, laptops, tablets, and portable wearable devices.
[0055] See appendix Figure 2-5 , Figure 2 This is a schematic flowchart illustrating the main steps of a user similarity calculation method based on a robotic vacuum cleaner according to an embodiment of this application. Figure 2As shown, the user similarity calculation method based on a robotic vacuum cleaner in this embodiment mainly includes the following steps S101-S103.
[0056] Step S101: Obtain the working trajectory data of the robot vacuum cleaner of different users at any historical time.
[0057] Robotic vacuum cleaners can be categorized into laser-guided, visual-guided, and gyroscope-guided types. Laser-guided vacuum cleaners emit lasers onto obstacles to create light spots, measure distances based on the pixel numbers of these spots, and then use a SLAM (Simultaneous Localization and Mapping) algorithm to perform path planning and room mapping. Visual-guided vacuum cleaners use panoramic cameras and internal sensors to observe and detect their surroundings, building and mapping the room using this information. An algorithm then determines the robot's position to design cleaning routes and strategies. Gyroscope-guided vacuum cleaners, also known as inertial navigation, use gyroscopes and accelerometers to acquire environmental information and calculate the robot's position.
[0058] It should be noted that this application does not limit the type of navigation for the robot vacuum cleaner, such as laser navigation, visual navigation, or gyroscope navigation. As long as the robot vacuum cleaner's working trajectory data over a historical period can be obtained, the next step can be taken based on the working trajectory data.
[0059] In one implementation, due to differences in lifestyle habits and home layout, the working trajectories of the robotic vacuum cleaners placed in different users' homes are also different. The working trajectory data of the robotic vacuum cleaners of different users over a historical period can be obtained through the smart robotic vacuum cleaner APP. The length of any historical period can be determined based on the robotic vacuum cleaner's battery life, route error, and reporting mechanism. For example, a historical period can be selected based on the cumulative working time of 20 hours within seven days from the current time.
[0060] In one embodiment, step S101 includes:
[0061] The robot vacuum cleaner for different users is marked with the path points and obstacle points it passes through during any historical time period, and a scatter plot of its trajectory is generated.
[0062] In one implementation, the robot vacuum cleaner establishes its own coordinate system. During the cleaning process, it marks the coordinates of waypoints and obstacle points and generates a trajectory scatter plot, which is displayed on the smart robot vacuum cleaner app. After obtaining these trajectory scatter plots, the smart robot vacuum cleaner app uploads them to the server.
[0063] Step S102: Generate map data of the ground area where the sweeping robot operates based on the work trajectory data.
[0064] In one implementation, Figure 3 This is a schematic flowchart of the main steps of step S102 according to an embodiment of this application, as follows: Figure 3 As shown, step S102 includes:
[0065] Step S1021: Perform graphical binarization on the trajectory scatter plot.
[0066] In one implementation, the trajectory scatter plot generated based on the working trajectory data of the sweeping robot is graphically binarized, the grayscale value of the background pixels is set to 0, and the grayscale value of each scatter pixel on the trajectory scatter plot is set to 255.
[0067] Step S1022: Set the initial rolling ball radius value, and extract the initial contour map of the trajectory scatter plot after the graphic is binarized based on the rolling ball method according to the initial rolling ball radius.
[0068] In one implementation, the initial contour map of the trajectory scatter plot after the image is binarized is extracted based on the rolling ball method. First, an initial rolling ball radius value is determined by the maximum Euclidean distance between two points in the trajectory scatter plot. Then, the boundary points of the trajectory scatter plot after the image is binarized are extracted based on the initial rolling ball radius using the rolling ball method to obtain the region enclosed by the boundary points, which is used as the initial contour map of the trajectory scatter plot.
[0069] Step S1023: Obtain the number of connected components in the region enclosed by the initial contour map.
[0070] In one implementation, the number of connected components in the initial contour map enclosed region can be obtained by using a two-pass or seed-filling method through connected component labeling.
[0071] The two-pass scanning method involves scanning the initial contour map twice to identify and mark all connected components present in the initial contour map. The number of connected components enclosed by the initial contour map is determined based on the number of marks. The general process of the two-pass scanning method is as follows: In the first scan, starting from the top left corner, traverse the pixels of the initial contour map, keeping background pixels at 0. Find the first pixel with a value of 255 and set its label to 1. When the left and top neighbors of this pixel are invalid, assign a new label value to the pixel, increment the label, and record the set. When either the left or top neighbor of this pixel has a valid value, assign the label of the valid pixel to the label value of this pixel. When both the left and top neighbors of this pixel have valid values, select the smaller label value and assign it to the label value of this pixel. In the second scan, update the label of each point to the smallest label in its set. After completing the two scans, pixels with the same label value in the initial contour map form the same connected region.
[0072] The seed fill method assumes that at least one pixel is known within a polygon or region, and then attempts to find all other pixels within the region and fill them. The region can be defined internally or by a boundary. If it's a boundary definition, all pixels on the boundary have a specific value or color, while all pixels inside the region do not take this specific value; however, pixels outside the boundary may have the same value as the boundary. If it's an internal definition, all pixels inside the region have the same color or value, while all pixels outside the region have a different color or value. Accordingly, the algorithm for filling internally defined regions is called the flood fill algorithm, and the algorithm for filling boundary-defined regions is called the boundary fill algorithm.
[0073] It should be noted that this application does not limit the method for obtaining the number of connected components in the region enclosed by the initial contour map. Whether the two-pass scanning method, the seed filling method, or other algorithms are used, as long as the number of connected components in the region enclosed by the initial contour map can be obtained.
[0074] Step S1024: Based on the number of connected components, extract the outline of the trajectory scatter plot after the graph is binarized as the map data of the ground area where the sweeping robot is working.
[0075] In one implementation, Figure 4 This is a schematic flowchart of the main steps of step S1024 according to an embodiment of this application, as follows: Figure 4 As shown, step S1024 includes:
[0076] Step S10241: If the number of connected components is greater than the first preset threshold, update the rolling ball radius value, and extract a new contour map of the trajectory scatter plot after the image is binarized based on the updated rolling ball radius and the rolling ball method, and calculate the number of connected components in the region enclosed by the new contour map.
[0077] Step S10242: If the number of connected components is less than or equal to the first preset threshold, the rolling ball radius value is no longer updated. The last updated rolling ball radius value is used as the final rolling ball radius value. Based on the final rolling ball radius value, the final contour map of the trajectory scatter plot after the graph is binarized is extracted using the rolling ball method and used as the map data of the ground area where the sweeping robot is working.
[0078] In one embodiment, after obtaining the number of connected components, it is compared whether the number of connected components meets the required number of connected components in this embodiment. In order to clearly obtain the ground area where the sweeping robot is operating, the number of connected components is set to 1 in this embodiment, that is, the first preset threshold is 1. When the number of connected components in the area enclosed by the obtained initial contour map is greater than 1, the rolling ball radius is updated. Using the updated rolling ball radius, a new contour map of the trajectory scatter plot after the image is binarized is extracted again based on the rolling ball method. The number of connected components in the area enclosed by the new contour map is obtained again using the two-pass scanning method or the seed filling method. If the number of connected components is still greater than 1 at this time, the rolling ball radius is updated continuously until the corresponding contour map of the trajectory scatter plot after the image is binarized is extracted based on the rolling ball method using the last updated rolling ball radius. After obtaining the number of connected components in the area enclosed by the corresponding contour map after the two-pass scanning method or the seed filling method is 1, the final contour map of the trajectory scatter plot after the image is binarized based on the last updated rolling ball radius is used as the map data of the ground area where the sweeping robot is operating.
[0079] Step S103: Calculate the similarity between different users based on the map data of the ground area.
[0080] In one implementation, after determining the map data of the ground area where the robot vacuum cleaner operates for different users, the ground area where the robot vacuum cleaner operates is the user's daily activity area. To obtain the similarity between users, the similarity between different users can be calculated based on the map data of the ground area of different users. Next, the calculation of the similarity between two users will be explained as an example.
[0081] In one implementation, Figure 5 This is a schematic flowchart of the main steps of step S103 according to an embodiment of this application, as follows: Figure 5 As shown, step S103 includes:
[0082] Step S1031: Obtain the trajectory point cloud of the ground area where the robot vacuum cleaner is operating for different users, wherein the trajectory point cloud represents multiple trajectory points;
[0083] Step S1032: Perform random consistency sampling on the acquired trajectory point clouds of different users to obtain sampled point cloud data of different users;
[0084] Step S1033: Match and calculate the sampling point cloud data of different users to obtain the translation loss parameter Rti and rotation loss parameter Rri of the sampling point cloud data of different users, and calculate the distance Li of the point cloud of the robot vacuum cleaner of different users as Li = Rti * Rri;
[0085] Step S1034: Compare the value of Li with the second preset threshold. If Li is greater than the second preset threshold, continue sampling and calculate the value of Li.
[0086] Step S1035: When Li is less than the second preset threshold, take the average value L_avg of all sampled Li as the distance between the ground area trajectory point clouds of the two users' sweeping robots, and obtain the similarity between the two sweeping robots and the two users as 1 / L_avg.
[0087] In one implementation, the trajectory point clouds of the ground areas where user A and user B's robotic vacuum cleaners are operating have been obtained. Random consistency sampling is performed on the trajectory point clouds of user A and user B's robotic vacuum cleaners. N points are randomly selected from the trajectory point clouds of user A and user B's robotic vacuum cleaners. Matching calculations are performed on the N randomly selected points from the trajectory point clouds of user A and user B's robotic vacuum cleaners. Sampling is then performed from the N randomly selected points in the trajectory point clouds of user A and user B's robotic vacuum cleaners. Starting from the first sampling, the relationship between user A and user B is calculated. The translational loss parameter Rti and rotational loss parameter Rri of the sampling point cloud data of the robotic vacuum cleaner are used to calculate the distance Li between the point clouds of the robotic vacuum cleaners of user A and user B as Li = Rti * Rri. The size of Li is compared with the second preset threshold. If it is greater than the second preset threshold, sampling continues and the calculation is repeated until after the i-th sampling, Li is less than the second preset threshold. At this time, the average value L_avg of all the sampled and calculated Li is taken as the distance of the ground area trajectory point cloud of the robotic vacuum cleaners of the two users. The similarity between the two robotic vacuum cleaners and the two users is obtained as 1 / L_avg, where 1≤i≤N.
[0088] Based on the above steps S101-S103, this application obtains the working trajectory data of the robot vacuum cleaners of different users, generates map data of the ground area where the robot vacuum cleaner operates based on the working trajectory data, calculates the similarity between different users based on the map data of the ground area, and the calculated similarity results can support subsequent user classification, clustering, etc., providing accurate data for the design of smart home products, precise advertising, and personalized recommendations.
[0089] It should be noted that although the steps in the above embodiments are described in a specific order, those skilled in the art will understand that in order to achieve the effect of this application, different steps do not necessarily have to be executed in such an order. They can be executed simultaneously (in parallel) or in other orders, and these variations are all within the scope of protection of this application.
[0090] Furthermore, this application also provides a user similarity calculation device based on a robotic vacuum cleaner.
[0091] See appendix Figure 6 , Figure 6 This is a main structural block diagram of a user similarity calculation device based on a robotic vacuum cleaner according to an embodiment of this application. Figure 6 As shown, the user similarity calculation device based on a robotic vacuum cleaner in this embodiment mainly includes an acquisition module 11, a generation module 12, and a similarity calculation module 13. In some embodiments, one or more of the acquisition module 11, generation module 12, and similarity calculation module 13 can be combined into a single module. For example, the acquisition module 11 and generation module 12 can be two separate modules or combined; the combined module is called the ground inference module. In some embodiments, the acquisition module 11 can be configured to acquire the working trajectory data of robotic vacuum cleaners from different users over a historical period. The generation module 12 can be configured to generate map data of the ground area where the robotic vacuum cleaner operates based on the working trajectory data. The similarity calculation module 13 can be configured to calculate the similarity between different users based on the map data of the ground area. The combined ground inference module is configured to acquire the working trajectory data of robotic vacuum cleaners from different users over a historical period and generate map data of the ground area where the robotic vacuum cleaner operates based on the working trajectory data.
[0092] In one implementation, the specific function can be described in steps S101-S103.
[0093] Those skilled in the art will understand that all or part of the processes in the method of the above-described embodiment can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable file, or some intermediate form. The computer-readable storage medium can include any entity or device capable of carrying the computer program code, a medium, a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, a computer memory, a read-only memory, a random access memory, an electrical carrier signal, a telecommunication signal, and a software distribution medium, etc. It should be noted that the content included in the computer-readable storage medium can be appropriately added or removed according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable storage medium does not include electrical carrier signals and telecommunication signals.
[0094] Furthermore, this application also provides a computer-readable storage medium. In one embodiment of the computer-readable storage medium according to this application, the computer-readable storage medium can be configured to store a program for performing the method of obtaining vehicle trip information in the above-described method embodiments. This program can be loaded and run by a processor to implement the above-described method of obtaining vehicle trip information. For ease of explanation, only the parts related to the embodiments of this application are shown; for specific technical details not disclosed, please refer to the method section of the embodiments of this application. The computer-readable storage medium can be a memory device formed by various electronic devices. Optionally, in the embodiments of this application, the computer-readable storage medium is a non-transitory computer-readable storage medium.
[0095] Furthermore, this application also provides an electronic device. In one embodiment of the electronic device according to this application, such as Figure 7 As shown, the electronic device includes a processor and a memory. The memory can be configured to store a program for executing the method of obtaining vehicle trip information according to the above method embodiments. The processor can be configured to execute the program in the memory, which includes, but is not limited to, a program for executing the method of obtaining vehicle trip information according to the above method embodiments. For ease of explanation, only the parts related to the embodiments of this application are shown. For specific technical details not disclosed, please refer to the method section of the embodiments of this application. The electronic device can be a control device device comprising various electronic devices.
[0096] Furthermore, it should be understood that since the various modules are only provided to illustrate the functional units of the device described in this application, the physical devices corresponding to these modules may be the processor itself, or a part of the processor's software, hardware, or a combination of both. Therefore, the number of modules shown in the figures is merely illustrative.
[0097] Those skilled in the art will understand that the various modules in the device can be adaptively split or combined. Such splitting or combining of specific modules will not cause the technical solution to deviate from the principles of this application; therefore, the technical solutions after splitting or combining will fall within the protection scope of this application.
[0098] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.
Claims
1. A method for calculating user similarity based on a robotic vacuum cleaner, characterized in that, include: Obtain the working trajectory data of different users' robot vacuum cleaners within any historical time period; The map data of the ground area where the sweeping robot is operating is generated based on the work trajectory data; Calculate the similarity between different users based on the map data of the ground area; The acquisition of the working trajectory data of different users' robot vacuums over a historical period includes: The robot vacuum cleaners of different users are marked with the waypoints and obstacles during their operation over a historical period, and a scatter plot of their trajectory is generated. The step of generating map data of the ground area where the sweeping robot operates based on the work trajectory data includes: The trajectory scatter plot is then graphically binarized. Set an initial rolling ball radius value, and extract the initial contour map of the trajectory scatter plot after the image is binarized based on the rolling ball method according to the initial rolling ball radius; Obtain the number of connected components in the region enclosed by the initial contour map; Based on the number of connected components, the outline of the trajectory scatter plot after the graph is binarized is extracted as the map data of the ground area where the sweeping robot operates. The step of extracting the contour map of the trajectory scatter plot after binarying the graph based on the number of connected components as map data for the ground area where the sweeping robot operates includes: If the number of connected components is greater than a first preset threshold, update the rolling ball radius value, and extract a new contour map of the trajectory scatter plot after the image is binarized based on the updated rolling ball radius and the rolling ball method, and calculate the number of connected components in the region enclosed by the new contour map. If the number of connected components is less than or equal to the first preset threshold, the rolling ball radius value will no longer be updated. The last updated rolling ball radius value will be used as the final rolling ball radius value. Based on the final rolling ball radius value, the final contour map of the trajectory scatter plot after the graph is binarized will be extracted using the rolling ball method and used as the map data of the ground area where the sweeping robot is working. The step of calculating the similarity between different users based on the map data of the ground area includes: Obtain the trajectory point cloud of the ground area where the robot vacuum cleaner operates for different users, wherein the trajectory point cloud represents multiple trajectory points; Random consistency sampling is performed on the acquired trajectory point clouds of different users to obtain sampled point cloud data of different users; By matching and calculating the point cloud data of sampling points from different users, the translational loss parameter Rti and the rotational loss parameter Rri of the point cloud data of sampling points from different users are obtained. The distance Li of the point cloud of the robot vacuum cleaner for different users is calculated as Li = Rti * Rri. Compare Li with the second preset threshold. If Li is greater than the second preset threshold, continue sampling and calculate the value of Li. When Li is less than the second preset threshold, the average value L_avg of all sampled Li is taken as the distance between the ground area trajectory point clouds of the two users' robot vacuums, and the similarity between the two robot vacuums and the two users is 1 / L_avg.
2. The method according to claim 1, characterized in that, The initial rolling ball radius value is determined by the maximum Euclidean distance between two points in the trajectory scatter plot.
3. The method according to claim 1, characterized in that, The step of obtaining the number of connected components of the region enclosed by the initial contour map includes: Scan the initial contour map twice to find and mark all connected components present in the initial contour map; The number of connected components within the initial outline map's enclosed region is determined by the number of markers.
4. A user similarity calculation device based on a robotic vacuum cleaner, characterized in that, include: The acquisition module is used to acquire the working trajectory data of the robot vacuum cleaners of different users over a historical period of time. The generation module is used to generate map data of the ground area where the sweeping robot operates based on the work trajectory data; The similarity calculation module is used to calculate the similarity between different users based on the map data of the ground area; The acquisition of the working trajectory data of different users' robot vacuums over a historical period includes: The robot vacuum cleaners of different users are marked with the waypoints and obstacles during their operation over a historical period, and a scatter plot of their trajectory is generated. The step of generating map data of the ground area where the sweeping robot operates based on the work trajectory data includes: The trajectory scatter plot is then graphically binarized. Set an initial rolling ball radius value, and extract the initial contour map of the trajectory scatter plot after the image is binarized based on the rolling ball method according to the initial rolling ball radius; Obtain the number of connected components in the region enclosed by the initial contour map; Based on the number of connected components, the outline of the trajectory scatter plot after the graph is binarized is extracted as the map data of the ground area where the sweeping robot operates. The step of extracting the contour map of the trajectory scatter plot after binarying the graph based on the number of connected components as map data for the ground area where the sweeping robot operates includes: If the number of connected components is greater than a first preset threshold, update the rolling ball radius value, and extract a new contour map of the trajectory scatter plot after the image is binarized based on the updated rolling ball radius and the rolling ball method, and calculate the number of connected components in the region enclosed by the new contour map. If the number of connected components is less than or equal to the first preset threshold, the rolling ball radius value will no longer be updated. The last updated rolling ball radius value will be used as the final rolling ball radius value. Based on the final rolling ball radius value, the final contour map of the trajectory scatter plot after the graph is binarized will be extracted using the rolling ball method and used as the map data of the ground area where the sweeping robot is working. The step of calculating the similarity between different users based on the map data of the ground area includes: Obtain the trajectory point cloud of the ground area where the robot vacuum cleaner operates for different users, wherein the trajectory point cloud represents multiple trajectory points; Random consistency sampling is performed on the acquired trajectory point clouds of different users to obtain sampled point cloud data of different users; By matching and calculating the point cloud data of sampling points from different users, the translational loss parameter Rti and the rotational loss parameter Rri of the point cloud data of sampling points from different users are obtained. The distance Li of the point cloud of the robot vacuum cleaner for different users is calculated as Li = Rti * Rri. Compare Li with the second preset threshold. If Li is greater than the second preset threshold, continue sampling and calculate the value of Li. When Li is less than the second preset threshold, the average value L_avg of all sampled Li is taken as the distance between the ground area trajectory point clouds of the two users' robot vacuums, and the similarity between the two robot vacuums and the two users is 1 / L_avg.
5. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored program, wherein the program, when executed, performs the method of any one of claims 1 to 3.
6. An electronic device comprising a memory and a processor, characterized in that, The memory stores a computer program, and the processor is configured to execute the method of any one of claims 1 to 3 through the computer program.
Citation Information
Patent Citations
Trajectory analysis method and device based on split hierarchical clustering and storage medium
CN112487234A