Methods, apparatus and electronic equipment for determining key points of a 3D spatial browsing path
By using automated methods to determine key points on the 3D spatial browsing path, the problem of batch processing that is difficult to achieve with manual annotation is solved, enabling barrier-free access and a comprehensive 3D tour experience.
Patent Information
- Application Number
- CN202210255543.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-15
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2042-03-15
AI Technical Summary
In existing technologies, the annotation of key points in 3D design schemes mainly relies on manual methods, which makes it difficult to achieve mass production.
The key points of the 3D spatial browsing path are determined automatically, including identifying the location of obstacles, dividing the grid for clustering, combining the central axis topology and the location of key objects to generate an accessible route, identifying candidate points within the grid, and finally selecting key points that meet the requirements of quantity and field of view coverage.
It enables automatic identification of key points in 3D spatial browsing, reduces reliance on manual annotation, improves the barrier-free access simulation effect of the browsing experience, and ensures that users can fully browse the spatial content.
Smart Images

Figure CN114842170B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of 3D spatial design technology, and in particular to methods, apparatus and electronic devices for determining key points of a three-dimensional spatial browsing path. Background Technology
[0002] In 3D home decoration shopping guides and other related processes, immersive indoor navigation is a crucial way for consumers to enjoy professional design solutions. Providing this experience requires simulating the consumer's indoor navigation route. Considering rendering cost constraints, the conventional approach is to pre-generate key points along the 3D scene navigation route, allowing users to navigate according to these key points. For example, the vicinity of the sofa in the living room, the dining table, the bedroom door, and the bed can all serve as key points, allowing users to navigate within the 3D scene. Specifically, if a user enters the room and clicks on a point near the sofa, the 3D scene around that point will be rendered. After browsing that point, the user can click on another point near the dining table, and the 3D scene around that point will be rendered, and so on. This method reduces rendering costs by only rendering the 3D scene at key points, allowing consumers to enjoy an immersive experience of professional design solutions at a lower cost.
[0003] In existing technologies, key points are usually obtained through manual annotation. That is, after generating a 3D design plan (e.g., a 3D model of a house with furniture placed), specific key points can be specified through manual annotation so that users can be provided with a 3D scene tour experience through these key points.
[0004] However, since manual annotation is not conducive to mass content production, how to automate the annotation of key points in 3D design schemes has become a technical problem that needs to be solved by those skilled in the art. Summary of the Invention
[0005] This application provides a method, apparatus, and electronic device for determining key points in a three-dimensional spatial browsing path, which can automatically determine key points in a spatial design scheme.
[0006] This application provides the following solution:
[0007] A method for determining key points of a 3D spatial browsing path includes:
[0008] The location information of the obstacles in the design scheme of the target space is determined. The location information of the obstacles includes: the location information of the spatial boundary of the target space, and the location information of the outer boundary of at least one object in the target space.
[0009] Based on the location information of the obstacles, a route that can be traversed without obstacles in the target space is determined, wherein the route consists of multiple access points, and the distance between the access points and their associated spatial boundaries, as well as the distance between the objects and their surrounding boundaries, all satisfy the target conditions.
[0010] The plane containing the target space is divided into multiple grids, and the passable points in each grid are clustered to obtain multiple candidate points;
[0011] Based on the candidate locations, key locations of the browsing path in the target space are determined.
[0012] The route that allows unobstructed passage in the target space is determined based on the central axis topology of the target space, wherein the passage point is located on the center line between the nearest spatial boundary and the outer boundary of the object.
[0013] The central axis topology is connected.
[0014] This also includes:
[0015] Identify the key objects in the target space;
[0016] Multiple points are identified around the outer boundary of the key object and added to the candidate points.
[0017] The target space includes multiple subspaces;
[0018] The method further includes:
[0019] Multiple points are determined at the entrances and exits of the multiple subspaces and added to the candidate points.
[0020] The step of determining the key points of the browsing path in the target space based on the candidate points includes:
[0021] If some points are removed from the candidate points, and the remaining points meet the target conditions in terms of both quantity and field of view coverage, then the remaining points are determined as key points of the browsing path in the target space.
[0022] The step of removing some points from the candidate points includes:
[0023] After merging two candidate points whose distance is less than the safety threshold into a single point, determine whether the remaining points meet the target conditions in terms of quantity and field of view coverage. Repeat this step until the remaining points meet the target conditions in terms of quantity and field of view coverage.
[0024] A device for determining key points of a three-dimensional spatial browsing path, comprising:
[0025] An obstacle location information determination unit is used to determine the location information of obstacles existing in the design scheme of the target space. The location information of the obstacles includes: the location information of the spatial boundary of the target space, and the location information of the outer boundary of at least one object in the target space.
[0026] The route determination unit is used to determine a route that can be passed through the target space without obstacles based on the location information of the passage obstacles. The route consists of multiple passage points, and the distance between the passage points and their associated spatial boundaries, as well as the distance between the passage points and the outer boundaries of the objects, all satisfy the target conditions.
[0027] The candidate point determination unit is used to divide the plane where the target space is located into multiple grids, and to cluster the passable points in each grid to obtain multiple candidate points;
[0028] The key point determination unit is used to determine the key points of the browsing path in the target space based on the candidate points.
[0029] A computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the steps of any of the preceding methods.
[0030] An electronic device, comprising:
[0031] One or more processors; and
[0032] A memory associated with the one or more processors, the memory being used to store program instructions that, when read and executed by the one or more processors, perform the steps of the method described in any of the preceding descriptions.
[0033] According to the specific embodiments provided in this application, the following technical effects are disclosed:
[0034] Through the embodiments of this application, the design scheme of the target space and the location information of the obstacles can first be determined. Based on the location information of the obstacles, multiple access points are determined, and these access points can be connected to form a route that allows unimpeded passage within the target space. Then, the plane containing the target space can be divided into multiple grids, and the access points within each grid are clustered to obtain multiple candidate points. Based on these candidate points, key points in the target space can be determined. After the target space is associated with a certain design scheme, some key points can be automatically determined in the above manner, reducing the reliance on manually adding key points. Furthermore, since accessibility factors are considered in the automatic determination of key points, the process of navigating and viewing the target space can better simulate the user's actual unimpeded passage in physical space.
[0035] In a preferred embodiment, some key objects can be identified in the target space, and candidate points can be placed near these key objects, allowing users to explore and view them. Additionally, if the target space includes multiple sub-spaces, candidate points can be placed in front of entrances and exits such as doors and windows to ensure unimpeded passage between the sub-spaces.
[0036] Of course, any product implementing this application does not necessarily need to achieve all of the advantages described above at the same time. Attached Figure Description
[0037] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0038] Figure 1 This is a schematic diagram of the system architecture provided in the embodiments of this application;
[0039] Figure 2 This is a flowchart of the method provided in the embodiments of this application;
[0040] Figure 3-1 , 3-2 This is a visual processing diagram of the spatial design scheme provided in the embodiments of this application;
[0041] Figure 4 This is a schematic diagram of the barrier-free access route provided in the embodiments of this application;
[0042] Figure 5 This is a schematic diagram of the mesh division method provided in the embodiments of this application;
[0043] Figure 6 This is a schematic diagram of the device provided in the embodiments of this application;
[0044] Figure 7 This is a schematic diagram of the electronic device provided in the embodiments of this application. Detailed Implementation
[0045] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.
[0046] This application provides a scheme for automatically determining key points on a travel route in a target space. In this scheme, the design information of the target space is first obtained, specifically including a floor plan, the location of furniture within the rooms, and the 3D model information of the furniture, etc. Then, the location information of obstacles in the design of the target space can be determined. For example, in a specific implementation, the design of the specific space can be projected onto a horizontal plane to obtain the location information of the spatial boundary of the target space, as well as the location information of the outer boundary of at least one object within the target space (during projection, the outer boundary is usually rectangular; therefore, the location of the outer boundary can be represented by the coordinates of the object's center point and the length and width of the outer boundary, etc.). Then, based on the location information of the obstacles, a route that allows unobstructed passage in the target space can be determined. This route can consist of multiple access points, and the distance between these access points and their nearby spatial boundaries and object outer boundaries satisfies the target conditions. In other words, many points can be found within the target space, and distance constraints will ensure that these points only appear in locations that meet the conditions. For example, if a boundary of a sofa is very close to a wall, then no passage point will be created between that boundary and the wall. That is, after entering the target space, a person cannot walk to the area between the sofa and the wall to explore the room. Therefore, the generated navigation route will not include any points at that location. After identifying multiple passage points, these points can be connected into one or more lines (e.g., a line from the doorway to the sofa, etc.) to form a passable route within the target space. For example, in a practical implementation, the central axis topology of the target space can be determined based on the location information of the aforementioned obstacles. In this central axis topology, specific passage points can be located on the center line between the nearest spatial boundary and the outer boundary of the object. In other words, specific passage points are not only relatively far from the obstacles on both sides, but can also be located on the center line of the passage formed between the obstacles on both sides, thus better ensuring barrier-free passage. In addition, specific passable routes can also be connected (adjacent points do not intersect with walls, objects, etc.), so that one can enter the room along the specific route and walk out, which can better simulate the user's actual unobstructed passage in the physical space during the process of exploring the target space.
[0047] After obtaining the aforementioned unobstructed routes within the target space, the plane containing the target space can be divided into multiple grids. This will assign the aforementioned access points to different grids. Then, the access points within each grid can be clustered to obtain multiple candidate points. For example, a pixel center point can be determined within each grid (the grid only retains the aforementioned access points and no longer contains images of specific furniture or other objects), and this center point can be designated as the cluster center, and so on.
[0048] After obtaining multiple candidate points, specific key points can be determined based on these candidate points. For example, in practical implementation, the required number of key points can usually be preset. In this way, the grid can be divided directly according to the required number of key points. For example, if 9 key points need to be set up, then in the above grid division step, 9 grids can be divided. In this way, the cluster center of the passable points in each grid can be used as each key point.
[0049] In practical applications, since it is impossible to determine whether a suitable cluster center can be found in every grid (for example, there may be a grid without any passable points), the number of grids often exceeds the number of key points. In this case, if the number of candidate points obtained from clustering is large, some points can be removed from these candidate points to meet the requirement for the number of key points.
[0050] In addition to quantity requirements, there can also be certain requirements for the line-of-sight coverage of key points, such as greater than 95%, so that users can roughly browse all the content in the target space through these key points.
[0051] Furthermore, in a preferred approach, in addition to determining candidate points through the aforementioned methods, some key objects can be designated in the target space, and candidate points can be determined around these key objects. These candidate points are then merged with the candidate points determined through the aforementioned methods to select key points. Additionally, if the target space includes subspaces, for example, a house with multiple rooms such as a living room, bedroom, and kitchen, candidate points can be determined at the entrances and exits of these subspaces (e.g., the positions before entering or exiting the house). These candidate points can also be merged with other candidate points before selecting key points, and so on.
[0052] The above method enables the automatic determination of key points, eliminating the need for manual placement. Furthermore, by identifying the locations of obstacles in the target space and determining unobstructed routes, candidate points can be obtained by dividing the space into a grid and identifying cluster centers of passable points within the grid. These candidate points are then used to determine the key points in the target space. Therefore, it ensures that the determined key points are located on unobstructed communication routes, reducing the likelihood of invalid points (e.g., points located on walls or objects), thus better guaranteeing the user experience.
[0053] From a system architecture perspective, see Figure 1 This application embodiment can provide a service for automatically generating key points in various related applications such as "3D scene digitization," "scene shopping," "VR house viewing," and "cloud exhibition hall" provided by a commodity information service system (the specific commodities involved may include multiple fields, or may only involve vertical fields such as furniture and home furnishings). Specifically, this service can run on the application's server side. After determining the target space and its design scheme (for example, the consumer user can specify the actual apartment type by inputting the coordinates of the corner points, doors, windows, etc. of the target space, and then the system automatically migrates the pre-generated seed design scheme to the actual apartment type specified by the consumer user. The seed design scheme may include specific furniture combinations and the placement of each piece of furniture in the space), the location of obstacles in the space can be determined, and then a route that can be passed through the target space without obstacles can be determined accordingly. Candidate points are then determined through grid division, clustering, etc. Alternatively, candidate locations can be set around key objects (such as sofas, dining tables, and beds placed in the core functional areas of the space that easily attract users' attention) and at the entrances and exits of sub-spaces. These candidate locations obtained from various methods can then be merged to determine the key locations. Afterward, the target space can be rendered in 3D at these key locations and published online. Consumers can then view the design scheme of the target space through a client application and immerse themselves in the space by following the specific key locations.
[0054] Of course, the solution provided in this application can be applied not only to the above-mentioned indoor scenarios, but also to outdoor scenarios, and is not limited here.
[0055] The specific implementation schemes provided in the embodiments of this application will be described in detail below.
[0056] Example 1
[0057] First, from the perspective of the aforementioned server, this first embodiment provides a method for determining key points of a three-dimensional spatial browsing path, see [link to previous document]. Figure 2 The method may specifically include:
[0058] S201: Determine the location information of the obstacles in the design scheme of the target space, wherein the location information of the obstacles includes: the location information of the spatial boundary of the target space, and the location information of the outer boundary of at least one object in the target space.
[0059] The target space can specifically be a room of a certain apartment type, or other indoor or outdoor spaces. The specific design scheme can be a decoration and furnishing scheme suitable for use in the target space, including furniture matching schemes, etc. This embodiment of the application automatically generates key points after determining the specific target space and the corresponding design scheme. Therefore, the information of the target space (e.g., coordinates of apartment corners, doors, windows, etc.) and the location information of specific objects (sofas, beds, tables, chairs, etc.) within the target space can be known. For example, the specific target space information can be specified by the consumer user, or, in applications that generate design schemes in batches, the relevant modules in the application can collect specific apartment type information, etc. The specific design scheme can also be pre-generated and then matched to a specific apartment type, and the design scheme can include the location information of specific objects in the space. Of course, it can also include dedicated design schemes specifically provided for a particular target space.
[0060] In this embodiment, the object's center point can be represented by its coordinates in the target space and the side length of its surrounding boundary (usually a rectangle). Furthermore, this embodiment can visualize the floor plan. For example, it can be drawn based on the coordinates of corner points, doors, windows, and other key hard furnishings input by the consumer user, thus determining the spatial boundary of the target space. Here, the spatial boundary refers to the location of walls, doors, windows, etc., within the target space. If the same target space includes multiple subspaces, the specific boundary can also include the boundaries of each subspace. For example, if a floor plan includes multiple rooms such as a living room and bedrooms, the specific boundary can include the walls between the rooms. Specifically, if there is a wall separating the living room and a bedroom, this wall is also part of the boundary of that space, and so on. Since the specific floor plan information can include the coordinates of corner points, doors, windows, etc., the aforementioned spatial boundary location information can be obtained from the floor plan information.
[0061] After drawing the floor plan, a design scheme matching the current target space can be determined. Then, based on the center coordinates of specific objects in the design scheme, the length and width of their surrounding boundaries, etc., the vertical projections of these objects are drawn onto the floor plan. For example, the design scheme corresponding to a certain target space might be as follows: Figure 3-1 As shown, at this point, the drawn floor plan and corresponding object projections can be displayed as follows: Figure 3-2 As shown, in order to simplify location information, the position of the object's bounding box is used to represent the object's position.
[0062] In this context, specific spatial boundaries such as walls, as well as specific objects placed within a space, all obstruct actual passage within that space; therefore, they can be termed passage obstacles. Thus, by obtaining the location information of the specific spatial boundaries and the objects, the positions of passage obstacles within the specific target space can be determined.
[0063] S202: Determine a route that can be traversed without obstacles in the target space based on the location information of the passage obstacles, wherein the route consists of multiple passage points, and the distance between the passage points and their associated spatial boundaries, as well as the distance between the objects and their surrounding boundaries, all satisfy the target conditions.
[0064] After determining the location information of obstacles in the target space, a route that allows unobstructed passage within the target space can be determined based on this location information. Specifically, when determining this route, multiple access points can be identified, and then these access points can be connected to form a passageway. The access points can be determined based on the location of the specific spatial boundaries and the outer boundaries of objects. Specifically, some points that meet certain conditions can be found first; for example, if the distance between a point and its two nearest boundaries is greater than a certain threshold, it can be identified as a qualified access point. Then, these access points can be connected to form a passageway. Specifically, the route that allows unobstructed passage within the target space can be determined based on the central axis topology of the target space, where the central axis topology includes, for example,... Figure 4 As shown (where the solid black rectangles represent specific furniture or other objects in the space, and the thin lines represent the defined barrier-free access routes), the access points are located on the center line between the nearest spatial boundary and the outer boundary of the object. Furthermore, the specific central axis topology can also be interconnected, with adjacent points not intersecting with walls, objects, etc., ensuring the connectivity of the defined travel route. That is, users can ensure they can "enter and exit" by following the key points on this route, and the specific key points will not fall on walls or objects, guaranteeing the rationality of the viewing perspective.
[0065] S203: Divide the plane containing the target space into multiple grids, and cluster the passable points in each grid to obtain multiple candidate points.
[0066] After obtaining the aforementioned passable routes, in order to determine some key points, in this embodiment of the application, the plane containing the target space can first be divided into multiple grids. Thus, the passable points on the specific routes may be divided into multiple different grids. Then, the passable points within each grid can be clustered to find the cluster centers. For example, after obtaining... Figure 4 Following the indicated passageway, the resulting grid can be divided as follows: Figure 5 As shown by the dashed lines, each grid can include a subset of passage points, and the cluster centers of these passage points can be found within each grid. In practice, the number of grids is not limited, and there are multiple methods for clustering within a grid. For example, one method involves calculating a weighted average of the pixel values of each point within each grid to determine the coordinates of its center point. These coordinates then serve as the location of the cluster center within that grid. Specifically, within the same grid, there are multiple pixels. If a pixel is on the passageway, its weight can be 1; otherwise, its weight can be 0. After weighted averaging, the coordinates of the cluster center can be obtained. The cluster center points obtained through this clustering can then be used as candidate points, meaning that multiple key points can be further identified from these candidate points.
[0067] It should be noted here that, as Figure 5 As shown by the solid black dots, the specific cluster center may be located on a specific travel route or not. Of course, even if it is not on the travel route, it is usually close to the travel route. If it is far from the travel route, it can be removed from the candidate points to avoid the final key point falling on a wall or object.
[0068] It should also be noted that besides determining multiple candidate points through the methods described above, other methods can also be used to determine candidate points. These candidate points can then be merged and used to select key points uniformly. For example, in one approach, since the candidate points determined by defining the passageway and then performing grid division and clustering prioritize accessibility, the specific candidate points may not be very close to any furniture. For instance, they might be located on the center line between the sofa and the dining table, at a certain distance from both. However, in practical applications, users may need to approach a particular object to view it, such as needing to stand near the sofa to view the living room. Therefore, in a preferred embodiment, some key objects can be identified in the target space, and then multiple points can be determined around the outer boundary of these key objects and added to the candidate points. The so-called key objects can be specifically determined based on the attention mechanism principles of consumers browsing content in the main functional areas (living room, dining room, bedroom, etc.) of the target space (e.g., typically focusing on important furniture such as the bed, sofa, and dining table). In other words, when users enter a room to take a look, they are more likely to choose to view the room from the bed, sofa, dining table, and other similar locations. Therefore, these objects are considered key objects in the space. Candidate points can be set near these objects, for example, at a certain distance (e.g., 30cm) from the objects in front, behind, left, and right. These points can also be added to the candidate points.
[0069] In addition to key objects, the hard furnishing environment of the target space can also be considered. For example, if a target space includes multiple sub-spaces (such as living room, bedroom, kitchen, bathroom, etc.), in order to better ensure barrier-free passage between multiple sub-spaces, candidate points can be placed in front of entrances and exits such as doors and windows, so that users can enter from one sub-space to another for viewing, and so on.
[0070] S204: Determine the key points of the browsing path in the target space based on the candidate points.
[0071] After obtaining multiple candidate locations, multiple key locations can be determined based on these candidate locations, so that end consumers can use these key locations to immerse themselves in the target space.
[0072] Specifically, there are several ways to determine key points in the target space based on candidate points. For example, in one approach, the required number of key points can be preset. Therefore, it can be first determined whether the current number of candidate points is greater than the required number of key points. If it is, some points can be removed. Simultaneously, during the removal of points, it can be considered whether the remaining points meet the requirements in terms of field of view coverage. If the remaining points meet the target conditions in both quantity and field of view coverage, then the remaining points can be determined as key points in the target space.
[0073] In practice, the process of removing some points needs to consider the field of view coverage as well. Therefore, it can be done in multiple steps. Each step can remove one point. For example, two candidate points with a distance less than the safety threshold can be merged into one point (that is, in each step of the calculation, the two closest candidate points in the current state can be identified and merged into one; one of them can be deleted, or the midpoint between the two can be taken, etc.). Then, it is determined whether the remaining points meet the target conditions in terms of quantity and field of view coverage. If they do, the next step can be continued; otherwise, the state of the previous step can be returned, two other relatively close points can be identified and merged, and the field of view coverage of the remaining points can be re-evaluated, and so on. This step is repeated until the remaining points meet the target conditions in terms of quantity and field of view coverage.
[0074] In calculating the field-of-view coverage area of the remaining points, a circle with a radius of a certain length (e.g., 1 meter) is drawn centered on each remaining point as the field-of-view coverage area for that single point. The field-of-view coverage areas of multiple points are then added together, removing any overlapping areas between different points. This yields the total field-of-view coverage area of all remaining points. The ratio between this area and the total area of the target space is then calculated. If this ratio is greater than a certain threshold (e.g., 95%), it indicates that the video coverage of the remaining points is relatively high, meaning that consumers can roughly view the entire target space through these points, thus proving that the condition is met.
[0075] In summary, through the embodiments of this application, the design scheme of the target space and the location information of the obstacles can first be determined. Based on the location information of the obstacles, multiple access points are determined, and these access points can be connected to form a route that allows unimpeded passage within the target space. Then, the plane containing the target space can be divided into multiple grids, and the access points within each grid are clustered to obtain multiple candidate points. Based on these candidate points, key points in the target space can be determined. After the target space is associated with a certain design scheme, some key points can be automatically determined in the above manner, reducing the reliance on manually adding key points. Furthermore, since accessibility factors are considered in the automatic determination of key points, the process of navigating and viewing the target space can better simulate the user's actual unimpeded passage in physical space.
[0076] In a preferred embodiment, some key objects can be identified in the target space, and candidate points can be placed near these key objects, allowing users to explore and view them. Additionally, if the target space includes multiple sub-spaces, candidate points can be placed in front of entrances and exits such as doors and windows to ensure unimpeded passage between the sub-spaces.
[0077] It should be noted that the embodiments of this application may involve the use of user data. In practical applications, user-specific personal data may be used in the scheme described herein within the scope permitted by applicable laws and regulations, provided that it complies with the applicable laws and regulations of the country (e.g., with the user's explicit consent, with the user being properly notified, etc.).
[0078] Corresponding to the foregoing method embodiments, this application also provides an apparatus for determining key points of a three-dimensional spatial browsing path, see [link to apparatus]. Figure 6 The device may include:
[0079] The obstacle location information determination unit 601 is used to determine the location information of the obstacles existing in the design scheme of the target space. The location information of the obstacles includes: the location information of the spatial boundary of the target space, and the location information of the outer boundary of at least one object in the target space.
[0080] The route determination unit 602 is used to determine a route that can be passed through the target space without obstacles based on the location information of the passage obstacles. The route consists of multiple passage points, and the distance between the passage points and their associated spatial boundaries, as well as the distance between the passage points and the outer boundaries of the objects, all satisfy the target conditions.
[0081] The candidate point determination unit 603 is used to divide the plane where the target space is located into multiple grids, and to cluster the passable points in each grid to obtain multiple candidate points;
[0082] The key point determination unit 604 is used to determine the key points of the browsing path in the target space based on the candidate points.
[0083] In a specific implementation, the route that allows unobstructed passage in the target space can be determined based on the central axis topology of the target space, wherein the passage point is located on the center line between the nearest spatial boundary and the outer boundary of the object in the central axis topology.
[0084] The central axis topology is connected.
[0085] Additionally, the device may also include:
[0086] A key object determination unit is used to determine key objects in the target space;
[0087] The surrounding point determination unit is used to determine multiple points around the outer boundary of the key object and add them to the candidate points.
[0088] The target space includes multiple subspaces;
[0089] At this point, the device may also include:
[0090] The pre-position determination unit is used to determine multiple positions at the pre-position of the entrances and exits of the multiple subspaces and add them to the candidate positions.
[0091] Specifically, the key point determination unit can be used for:
[0092] If some points are removed from the candidate points, and the remaining points meet the target conditions in terms of both quantity and field of view coverage, then the remaining points are determined as key points of the browsing path in the target space.
[0093] Specifically, the key point determination unit can be used for:
[0094] After merging two candidate points whose distance is less than the safety threshold into a single point, determine whether the remaining points meet the target conditions in terms of quantity and field of view coverage. Repeat this step until the remaining points meet the target conditions in terms of quantity and field of view coverage.
[0095] In addition, embodiments of this application also provide a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the method described in any of the foregoing method embodiments.
[0096] And an electronic device, comprising:
[0097] One or more processors; and
[0098] A memory associated with the one or more processors, the memory being used to store program instructions that, when read and executed by the one or more processors, perform the steps of the method described in any of the foregoing method embodiments.
[0099] in, Figure 7 An exemplary architecture of an electronic device is shown, which may include a processor 710, a video display adapter 711, a disk drive 712, an input / output interface 713, a network interface 714, and a memory 720. The processor 710, video display adapter 711, disk drive 712, input / output interface 713, network interface 714, and memory 720 can communicate with each other via a communication bus 730.
[0100] The processor 710 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to achieve the technical solution provided in this application.
[0101] The memory 720 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 720 can store the operating system 721 for controlling the operation of the electronic device 700, and the basic input / output system (BIOS) for controlling the low-level operations of the electronic device 700. Additionally, it can store a web browser 723, a data storage management system 724, and a key point determination system 725, etc. The aforementioned key point determination system 725 can be the application program that specifically implements the aforementioned steps in this embodiment. In summary, when implementing the technical solution provided in this application through software or firmware, the relevant program code is stored in the memory 720 and is called and executed by the processor 710.
[0102] Input / output interface 713 is used to connect input / output modules to realize information input and output. Input / output modules can be configured as components in the device (not shown in the figure) or externally connected to the device to provide corresponding functions. Input devices may include keyboards, mice, touch screens, microphones, various sensors, etc., and output devices may include displays, speakers, vibrators, indicator lights, etc.
[0103] Network interface 714 is used to connect a communication module (not shown in the figure) to enable communication between this device and other devices. The communication module can communicate via wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).
[0104] Bus 730 includes a pathway for transmitting information between various components of the device, such as processor 710, video display adapter 711, disk drive 712, input / output interface 713, network interface 714, and memory 720.
[0105] It should be noted that although the above-described device only shows the processor 710, video display adapter 711, disk drive 712, input / output interface 713, network interface 714, memory 720, bus 730, etc., in specific implementations, the device may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the above-described device may only include the components necessary for implementing the solution of this application, and does not necessarily include all the components shown in the figures.
[0106] As can be seen from the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware platforms. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in various embodiments or some parts of the embodiments of this application.
[0107] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, for system or system embodiments, since they are basically similar to method embodiments, the description is relatively simple, and relevant parts can be referred to the descriptions in the method embodiments. The systems and system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0108] The method, apparatus, and electronic device for determining key points of a three-dimensional spatial browsing path provided in this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are only for the purpose of helping to understand the method and its core ideas. Furthermore, those skilled in the art will recognize that, based on the ideas of this application, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A method for determining key points of a three-dimensional spatial browsing path, characterized in that, include: The location information of the obstacles in the design scheme of the target space is determined. The location information of the obstacles includes: the location information of the spatial boundary of the target space, and the location information of the outer boundary of at least one object in the target space. Based on the location information of the obstacles, a route that can be traversed without obstacles in the target space is determined, wherein the route consists of multiple access points, and the distance between the access points and their associated spatial boundaries, as well as the distance between the objects and their surrounding boundaries, all satisfy the target conditions. The plane containing the target space is divided into multiple grids, and the passable points in each grid are clustered to obtain multiple candidate points; wherein, the number of grids is greater than the number of required key points; Determining key browsing path locations in the target space based on the candidate locations includes: merging two candidate locations with a distance less than a safety threshold into a single location, determining whether the remaining locations meet the target conditions in terms of quantity and field of view coverage, and repeating this step until the remaining locations meet the target conditions in terms of both quantity and field of view coverage, then determining the remaining locations as key browsing path locations in the target space.
2. The method according to claim 1, characterized in that, The route that allows unobstructed passage in the target space is determined based on the central axis topology of the target space, wherein the passage point is located on the center line between the nearest spatial boundary and the outer boundary of the object.
3. The method according to claim 2, characterized in that, The central axis topology is connected.
4. The method according to claim 1, characterized in that, Also includes: Identify the key objects in the target space; Multiple points are identified around the outer boundary of the key object and added to the candidate points.
5. The method according to claim 1, characterized in that, The target space includes multiple subspaces; The method further includes: Multiple points are determined at the entrances and exits of the multiple subspaces and added to the candidate points.
6. A device for determining key points of a three-dimensional spatial browsing path, characterized in that, include: An obstacle location information determination unit is used to determine the location information of obstacles existing in the design scheme of the target space. The location information of the obstacles includes: the location information of the spatial boundary of the target space, and the location information of the outer boundary of at least one object in the target space. The route determination unit is used to determine a route that can be passed through the target space without obstacles based on the location information of the passage obstacles. The route consists of multiple passage points, and the distance between the passage points and their associated spatial boundaries, as well as the distance between the passage points and the outer boundaries of the objects, all satisfy the target conditions. The candidate point determination unit is used to divide the plane where the target space is located into multiple grids, and to cluster the passable points in each grid to obtain multiple candidate points; wherein the number of grids is greater than the number of required key points; The key point determination unit is used to determine the key points of the browsing path in the target space based on the candidate points, including: merging two candidate points whose distance is less than a safety threshold into the same point, determining whether the remaining points meet the target conditions in terms of quantity and field of view coverage, and repeating this step until the remaining points meet the target conditions in terms of both quantity and field of view coverage, then determining the remaining points as key points of the browsing path in the target space.
7. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the program implements the steps of the method described in any one of claims 1 to 5.
8. An electronic device, characterized in that, include: One or more processors; as well as A memory associated with the one or more processors, the memory being used to store program instructions that, when read and executed by the one or more processors, perform the steps of the method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Roaming path generation method and device, storage medium and electronic equipment
CN113205601A