Loading position determination method and device based on key points

Through the method of determining loading position based on key points, the problem of low space utilization rate of flexible plastic bags in the prior art is solved, and more flexible item placement and higher space utilization rate are achieved.

CN119416939APending Publication Date: 2025-02-11SHANGHAI 100 METERS NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411430423.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-14
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

The existing three-dimensional packing algorithm is not flexible enough when dealing with the problem of plastic bagging of flexible materials, which can easily lead to waste of space and cannot effectively utilize the loading space.

Method used

Using the key point-based loading position determination method, the target placement order and orientation information of the item are determined through the item's attribute information and sequence optimization model, and the candidate key points are selected from the vertices of the loaded items in the loading container to determine the item's Target loading position.

Benefits of technology

It improves the space utilization rate of plastic bags, reduces space waste, makes the placement of items more flexible, and the fit of each item is closer.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119416939A_ABST
    Figure CN119416939A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a loading position determination method and device based on key points, which can be applied to the technical field of artificial intelligence, in the method, a target loading position of a first article is initialized based on a target placement sequence of M articles and target orientation information of each article; selecting a target key point matched with the target orientation information of the second article from a plurality of vertexes of loaded articles in the loading container; for each target key point, taking overlapping of the target key point and a position point on the surface of the second article as a reference, and obtaining a candidate position set of the second article in the loading container based on the orientation information of the second article; and on the basis of the space surplus corresponding to each candidate loading position in the candidate position set, the target loading position of the second article in the loading container is selected from the obtained candidate position set, so that the space utilization rate of the loading container is improved, and the space waste is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of artificial intelligence technology, and in particular, to a method and device for determining a loading position based on key points. Background Art

[0002] In real life, people need to pack (bag) items when shopping, delivering goods, moving, etc. Therefore, many industries have proposed three-dimensional packing algorithms to solve the packing problem.

[0003] However, in the related technologies, three-dimensional packing problems are mostly based on space segmentation packing algorithms to divide the loading space. However, this method is neither suitable for the bagging problem of plastic bags made of flexible materials nor flexible enough, which can easily make it impossible to load goods that could have been loaded, resulting in a waste of space. Summary of the invention

[0004] The embodiments of the present application provide a method, device, equipment and storage medium for determining a loading position based on key points, so as to improve the space utilization rate of plastic bag packing and reduce space waste.

[0005] On the one hand, an embodiment of the present application provides a method for determining a loading position based on key points, the method comprising:

[0006] Determine, based on attribute information of the M objects, a target placement order of the M objects and target orientation information of each of the M objects, where M is a positive integer greater than 1;

[0007] For a first object that ranks first in the target placement sequence, initializing a target loading position of the first object in the loading container;

[0008] For M-1 second objects other than the first object, the following operations are performed in sequence according to the target placement order: candidate key points are selected from multiple vertices of objects loaded in the loading container; and target key points matching the target orientation information of the second object are selected from the obtained multiple candidate key points;

[0009] For each target key point, taking the overlap between the target key point and a position point on the surface of the second object as a reference, and based on the target orientation information of the second object, obtaining a set of candidate positions of the second object in the loading container, and a remaining space amount corresponding to each candidate loading position in the set of candidate positions;

[0010] Based on the remaining space corresponding to each candidate loading position in the obtained candidate position set, a target loading position of the second object in the loading container is selected from the obtained candidate position set.

[0011] On the one hand, an embodiment of the present application provides a device for determining a loading position based on key points, the device comprising:

[0012] A sorting module, used to determine the target placement order of the M objects and the target orientation information of each of the M objects based on the attribute information of the M objects, where M is a positive integer greater than 1;

[0013] A first placement module, configured to initialize a target loading position of a first object in a loading container for the first object that is ranked first in the target placement sequence;

[0014] A second placement module is used to perform the following operations in sequence according to the target placement order for M-1 second objects other than the first object: selecting candidate key points from multiple vertices of objects loaded in the loading container; and selecting a target key point that matches the target orientation information of the second object from the obtained multiple candidate key points;

[0015] For each target key point, taking the overlap between the target key point and a position point on the surface of the second object as a reference, and based on the target orientation information of the second object, obtaining a set of candidate positions of the second object in the loading container, and a remaining space amount corresponding to each candidate loading position in the set of candidate positions;

[0016] Based on the remaining space corresponding to each candidate loading position in the obtained candidate position set, a target loading position of the second object in the loading container is selected from the obtained candidate position set.

[0017] Optionally, the sorting module is specifically used to:

[0018] Based on the volumes and shapes of the M objects, a plurality of initial information combinations are obtained, each of which includes: an initial placement order of the M objects and initial orientation information of the M objects under the initial placement order;

[0019] The multiple initial information combinations and the size of the loading container are input into a sequence optimization model to obtain a target placement order of the M objects and target orientation information of each of the M objects.

[0020] Optionally, the first placement module is specifically used to:

[0021] For the first object ranked first in the target placement order, any vertex is selected from the lower bottom surface of the loading container as the target key point of the first object;

[0022] Taking the overlap of the target key point of the first object and a vertex of the first object as a reference, and based on the target orientation information of the first object, a target loading position of the first object is obtained.

[0023] Optionally, the second placement module is specifically used to:

[0024] Selecting a plurality of uncovered vertices from all vertices of loaded items in the loading container as candidate key points;

[0025] Based on the target orientation information of the second object, a target key point satisfying the placement of the second object is selected from the obtained multiple candidate key points.

[0026] Optionally, the remaining space corresponding to the candidate loading position is obtained in the following manner, and the second placement module is specifically configured to:

[0027] Obtaining the remaining quantities of the loading container in each of the multiple dimensions after the second object is placed in the loading container according to the candidate loading position;

[0028] Based on the remaining amounts of each of the multiple dimensions, the remaining amount of space corresponding to the candidate loading position is obtained, wherein the multiple dimensions include a length dimension, a width dimension, and a height dimension.

[0029] Optionally, the second placement module is specifically used to:

[0030] A candidate loading position corresponding to the maximum remaining space is selected from the obtained candidate position set as the target loading position of the second object in the loading container.

[0031] In one aspect, an embodiment of the present application provides a computer device, including:

[0032] A memory for storing program instructions;

[0033] The processor is used to call the program instructions stored in the memory and execute the steps of the above-mentioned method for determining the loading position based on key points according to the obtained program.

[0034] On the one hand, an embodiment of the present application provides a computer-readable storage medium, including computer-readable instructions. When a computer reads and executes the computer-readable instructions, the computer executes the steps of the above-mentioned method for determining a loading position based on key points.

[0035] On the one hand, an embodiment of the present application provides a computer program product, including a computer program stored on a computer-readable storage medium, wherein the computer program includes program instructions, and when the program instructions are executed by a computer device, the computer device executes the steps of the above-mentioned method for determining a loading position based on key points.

[0036] In the embodiment of the present application, the target placement order of the items and the corresponding target orientation order are obtained through the respective attribute information of the multiple items and the sequence optimization model, so as to ensure that the loading container can accommodate multiple items; the target key points are selected from the multiple vertices of the loaded items in the loading container to determine the target placement position of the items, which not only makes the placement position of the items more flexible, but also makes the items fit more closely, thereby improving the space utilization rate of the loading container and reducing the waste of space resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0038] Figure 1 A schematic diagram of a system architecture provided in an embodiment of the present application;

[0039] Figure 2 A schematic diagram of a flow chart of a method for determining a loading position based on key points provided in an embodiment of the present application;

[0040] Figure 3A A schematic diagram of the structure of a loading container provided in an embodiment of the present application;

[0041] Figure 3B A schematic diagram of the structure of an object reference surface provided in an embodiment of the present application;

[0042] Figure 4 A structural schematic diagram of a first object orientation provided in an embodiment of the present application;

[0043] Figure 5 A structural schematic diagram of a first object orientation provided in an embodiment of the present application;

[0044] Figure 6 A structural schematic diagram of a first object orientation provided in an embodiment of the present application;

[0045] Figure 7 A structural schematic diagram of a first object orientation provided in an embodiment of the present application;

[0046] Figure 8 A structural schematic diagram of a first object orientation provided in an embodiment of the present application;

[0047] Fig. 9 A structural schematic diagram of a first object orientation provided in an embodiment of the present application;

[0048] Fig.10 A schematic diagram of the structure of a first article loading position provided in an embodiment of the present application;

[0049] Fig.11 A schematic diagram of the structure of a candidate key point provided in an embodiment of the present application;

[0050] Fig.12 A schematic diagram of the structure of a second item candidate loading position provided in an embodiment of the present application;

[0051] Fig.13 A schematic diagram of the structure of a second item candidate loading position provided in an embodiment of the present application;

[0052] Fig.14 A schematic diagram of a flow chart of a method for determining a loading position based on key points provided in an embodiment of the present application;

[0053] Fig.15 A schematic diagram of a structure of multiple article loading positions provided in an embodiment of the present application;

[0054] Fig.16 A schematic diagram of the structure of a candidate key point provided in an embodiment of the present application;

[0055] Fig.17 A three-view diagram of a plurality of article loading positions provided in an embodiment of the present application;

[0056] Fig.18 A schematic diagram of the structure of a second object target loading position provided in an embodiment of the present application;

[0057] Fig.19 A schematic diagram of the structure of a device for determining a loading position based on key points provided in an embodiment of the present application;

[0058] Fig. 20 A schematic diagram of the structure of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0059] In order to make the purpose, technical solution and beneficial effects of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.

[0060] refer to Figure 1 , which is a system architecture diagram applicable to an embodiment of the present application. The system architecture includes at least a terminal device 101 and a server 102. The number of terminal devices 101 can be one or more, and the number of servers 102 can also be one or more. The present application does not specifically limit the number of terminal devices 101 and servers 102.

[0061] The terminal device 101 is installed with an application for determining the loading position, which may be a client, a small program, or a web application, etc. The terminal device 101 may be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart home appliance, a smart voice interaction device, a smart vehicle-mounted device, etc., but is not limited thereto.

[0062] Server 102 is the background server of the application and provides services for the application. Server 102 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms, but is not limited to these.

[0063] It should be noted that the method in the embodiment of the present application can be executed by the terminal device 101 or the server 102 alone, or can be executed by the terminal device 101 and the server 102 together.

[0064] In the embodiment of the present application, the terminal device 101 and the server 102 may be directly or indirectly connected to each other through one or more networks. The network may be a wired network or a wireless network, for example, a mobile cellular network, or a wireless fidelity (Wireless-Fidelity, WIFI) network, or other possible networks, which are not limited in the embodiment of the present application.

[0065] The following is based on Figure 1 The system architecture diagram shown in the embodiment of the present application provides a process of a method for determining a loading position based on key points, such as Figure 2 As shown, the following steps are included:

[0066] Step 201, based on the attribute information of M objects, determine the target placement order of the M objects and the target orientation information of each of the M objects, where M is a positive integer greater than 1.

[0067] Specifically, the attribute information of an item includes information such as the volume and shape of the item.

[0068] In some embodiments, based on the volume and shape of each of the M objects, multiple initial information combinations are obtained, each initial information combination including: an initial placement order of the M objects and initial orientation information of each of the M objects under the initial placement order; the multiple initial information combinations and the size of the loading container are input into a sequence optimization model to obtain a target placement order of the M objects and target orientation information of each of the M objects.

[0069] Specifically, refer to Figure 3A The various surfaces of the loading container include: the front surface of the loading container, the rear surface of the loading container, the left side surface of the loading container, the right side surface of the loading container, the top surface of the loading container and the bottom surface of the loading container.

[0070] For example, there are 6 possible orientations for any item. Let's take the first item as an example. Figure 3B , assuming that the first object is a cuboid with a length of 70 cm, a height of 40 cm, and a width of 30 cm, and a first reference surface and a second reference surface are selected in the cuboid. The following specifically explains the multiple orientations of the first object:

[0071] See also Figure 4 When the first reference plane is parallel to the plane formed by the y-axis and the z-axis, and the second reference plane is parallel to the plane formed by the x-axis and the y-axis, the first object is in the first orientation.

[0072] See also Figure 5 When the first reference plane is parallel to a plane formed by the x-axis and the y-axis, and when the second reference plane is parallel to a plane formed by the y-axis and the z-axis, the first object is in the second orientation.

[0073] See also Figure 6 When the first reference plane is parallel to the plane formed by the y-axis and the z-axis, and the second reference plane is parallel to the plane formed by the x-axis and the z-axis, the object is in a third orientation.

[0074] See also Figure 7 When the first reference plane is parallel to the plane formed by the x-axis and the y-axis, and the second reference plane is parallel to the plane formed by the x-axis and the z-axis, the object is in a fourth orientation.

[0075] See also Figure 8 When the first reference plane is parallel to the plane formed by the x-axis and the z-axis, and the second reference plane is parallel to the plane formed by the x-axis and the y-axis, the object is in the fifth orientation.

[0076] See also Fig. 9 When the first reference plane is parallel to the plane formed by the x-axis and the z-axis, and the second reference plane is parallel to the plane formed by the y-axis and the z-axis, the object is in the sixth orientation.

[0077] Specifically, an initial information combination can be generated according to the volume of the M objects; another initial information combination can be generated according to the shape of the M objects; each initial information combination includes: an initial placement order of the M objects and initial orientation information of the M objects under the initial placement order. Multiple initial placement orders and initial orientation information of the M objects under each initial placement order, as well as the size of the loading container are input into the sequence optimization model, and the sequence optimization model outputs the target placement order of the M objects and the target orientation information of the M objects.

[0078] The sequence optimization model may be a genetic optimization algorithm, a particle swarm optimization algorithm, a dynamic programming model, etc., which is not limited in the embodiments of the present application. Taking the genetic optimization algorithm as an example, multiple initial information combinations of M items and information such as the size of the loading container are input into the genetic optimization algorithm, and the target placement order of the M items and the target orientation information of each of the M items are output.

[0079] Genetic Algorithm (GA) is a search and optimization technology based on natural selection and genetics. It simulates the biological evolution process and gradually finds the approximate optimal solution to the problem. Multiple initial information combinations, the size of the loading container, and the size and weight of multiple items are input into the genetic optimization algorithm to maximize the space utilization of the loading container. Specifically, there can be multiple loading containers at the same time.

[0080] Within the genetic optimization algorithm, multiple initial information combinations of M items are used as the initial population to calculate the fitness of each item. The fitness function includes: calculating the space utilization of the loading container under the placement order, checking whether the capacity of the loading container is exceeded, etc. Select excellent individuals (i.e., items with high space utilization) according to the fitness, and perform crossover operations on the selected individuals to generate new individuals. The crossover operation may involve exchanging the order of items or combining the order of different individuals. Perform mutation operations on the newly generated individuals to reverse or randomly change the order of some items to increase diversity. The mutation operation can be to exchange the placement order of two items or to reverse a subsequence in the placement order. It should be noted that when the crossover operation and mutation operation involve exchanging the placement order of items, the orientation information of the items in the placement order will be updated synchronously.

[0081] The new placement order and corresponding orientation information after crossover and mutation are used as the new population. The iterative operation of crossover and mutation is repeated on the new population until the preset condition is met, then the genetic optimization algorithm is terminated to obtain the target placement order of M items and their respective target orientation information. The preset condition is that the fitness difference of multiple consecutive offspring is less than 0.001.

[0082] Step 202 : for a first object that ranks first in the target placement sequence, initialize a target loading position of the first object in the loading container.

[0083] In some embodiments, for the first object ranked first in the target placement order, a vertex is randomly selected from the lower bottom surface of the loading container as the target key point of the first object; based on the overlap of the target key point of the first object and a vertex of the first object, the target loading position of the first object is obtained based on the target orientation information of the first object.

[0084] Specifically, since the loading container is empty before the first object is placed, the first object can use any vertex on the bottom surface of the loading container as the target key point. Assuming that the orientation information of the first object is the fourth orientation, refer to Fig.10 , there are vertices 1, 2, 3, and 4 on the bottom surface of the loading container, and vertex 1 is overlapped with any position point on the first object, Fig.10 The position point of the first object in is a vertex of the first object, and the first object is placed according to the fourth orientation. Of course, the first object can also be placed overlapping with any vertex among vertices 2, 3, and 4, and the other three placement situations are not described here.

[0085] Step 203, for the M-1 second objects other than the first object, the following steps 2031 to 2033 are performed in sequence according to the target placement order:

[0086] Specifically, except for the first item, the remaining M-1 items are all second items relative to their previous items.

[0087] Step 2031: Select candidate key points from multiple vertices of the loaded objects in the loading container; and select a target key point that matches the target orientation information of the second object from the obtained multiple candidate key points.

[0088] In some embodiments, multiple uncovered vertices are selected from all vertices of loaded objects in the loading container as candidate key points; based on the target orientation information of the second object, a target key point that satisfies the placement of the second object is selected from the obtained multiple candidate key points.

[0089] Specifically, satisfying the target key point for placing the second object means that the target key point overlaps with any position point on the surface of the second object, and the second object can be placed in the loading container.

[0090] Specifically, among all vertices of loaded items in the loading container, some vertices are covered by the loading container or items in adjacent positions. Fig.11, assuming that the loading container is a three-dimensional container made of flexible material of 80cm×70cm×70cm, and the first object is a cuboid with a length of 70cm, a height of 40cm, and a width of 30cm. Among all the vertices of the first object, vertex 1 and vertex 5 are covered by the loading container, so vertex 1 and vertex 5 of the first object cannot be used as candidate key points, and vertices 2, 3, 4, 6, 7, and 8 can be candidate key points of the second object.

[0091] At this time, it is assumed that the second item is a small cuboid with a length of 35 cm, a height of 30 cm, and a width of 30 cm, and the orientation information of the second item is the fourth orientation. Since the first item has been placed in the loading container, refer to Fig.11 , then the candidate key points 2 and 4 that meet the requirements for placing the second object are the target key points of the second object. Since the height of the first object is 40 cm, the remaining space of the loading container in the width dimension is 30 cm, and the orientation information of the second object is the fourth orientation, then Fig.11 Candidate key point 3 in cannot meet the placement requirement of the second object, so candidate key points 2 and 4 are the target key points of the second object.

[0092] Step 2032, for each target key point, taking the overlap of the target key point with a position point on the surface of the second object as a reference, based on the target orientation information of the second object, obtain a set of candidate positions of the second object in the loading container, and the remaining space corresponding to each candidate loading position in the candidate position set.

[0093] In some embodiments, the remaining space corresponding to the candidate loading position is obtained in the following manner: obtaining the remaining space of the loading container in multiple dimensions after the second object is placed in the loading container according to the candidate loading position; based on the remaining space of the multiple dimensions, obtaining the remaining space corresponding to the candidate loading position, wherein the multiple dimensions include length, width and height.

[0094] Specifically, refer to Fig.12 , assuming that the second item obtains a candidate loading position based on the overlap with the target key point 2, then after the second item is placed at the candidate loading position, the remaining space of the loading container in multiple dimensions is: length: 20cm, height: 0cm, width: 30cm, and the remaining space is the cumulative value of the remaining space in multiple dimensions of the loading container, that is, 50cm. Now assume that the second item obtains a candidate loading position based on the overlap with the target key point 4, refer to Fig.13 , then after the second item is placed at the candidate loading position, the remaining space of the loading container in multiple dimensions is: length: 20 cm, height: 0 cm, width: 0 cm, and the remaining space is the cumulative value of the remaining space in multiple dimensions of the loading container, which is 20 cm.

[0095] Step 2033: Based on the remaining space corresponding to each candidate loading position in the obtained candidate position set, a target loading position for the second object in the loading container is selected from the obtained candidate position set.

[0096] In the embodiment of the present application, target key points are selected from multiple vertices of items loaded in the loading container to determine the target placement position of the items. This not only makes the placement of the items more flexible, but also allows the items to fit more closely, thereby improving the space utilization of the loading container and reducing the waste of space resources.

[0097] In some embodiments, the candidate loading position corresponding to the maximum remaining space is selected from the obtained candidate position set as the target loading position of the second object in the loading container.

[0098] refer to Fig.12 , when the second object obtains a candidate loading position based on the overlap with the target key point 2, the remaining space corresponding to the candidate position is 50cm; Fig.13 , when the second item obtains a candidate loading position based on the overlap with the target key point 4, the space remaining amount corresponding to the candidate position is 20cm. The candidate loading position corresponding to the maximum space remaining amount is selected as the target loading position of the second item in the loading container, then Fig.12 The candidate loading position in is the target loading position of the second object in the target loading container.

[0099] In order to better explain the embodiment of the present application, the following describes a method for determining a loading position based on key points provided by the embodiment of the present application in combination with a plastic bag packing scenario. The process of the method is as follows: Figure 1 The terminal device or server shown in the figure executes, including the following steps: Fig.14 As shown:

[0100] Step 1401, based on the volume and shape of each of the M items, a plurality of initial information combinations are obtained, each of which includes: an initial placement order of the M items and initial orientation information of each of the M items under the initial placement order; the plurality of initial information combinations and the size of the loading container are input into a sequence optimization model to obtain a target placement order of the M items and target orientation information of each of the M items.

[0101] Specifically, among the available loading containers, a loading container with an initial size that can load any one item is selected. If the selected initial loading container cannot meet the requirements of loading M items, a loading container with a larger size can be replaced. In addition, there can be multiple loading containers for M items at the same time.

[0102] In addition, since plastic bags are deformable flexible packaging materials, there may be a 5% error in the results of the space utilization evaluation index of the sequence optimization model. For example, assuming that the space utilization evaluation index of the sequence optimization model is originally required to be 98%, considering the special flexible material of the plastic bag, even if the final output space utilization probability index is 93%, it is considered that the plastic bag can hold M items. In this case, since this application only requires that a position point on the surface of the second item overlaps with a target key point on the loaded item, the second item can be placed diagonally to make greater use of the space of the loading container.

[0103] If the space utilization index is lower than 93%, it is necessary to consider replacing the available loading containers with larger ones, or using multiple loading containers at the same time.

[0104] In the embodiment of the present application, since the second object is placed based only on the overlap between the target key point and a position point on the surface of the second object, the object can be placed obliquely when necessary, especially objects of irregular shapes, to maximize the use of the space in the loading container, and also make the loading position of the object more flexible, further improving the empty set utilization rate of the loading container.

[0105] Step 1402, for the first item ranked first in the target placement order, select a vertex from the lower bottom surface of the loading container as the target key point of the first item; based on the overlap of the target key point of the first item and a vertex of the first item, and based on the target orientation information of the first item, obtain the target loading position of the first item.

[0106] Step 1403, for the M-1 second objects other than the first object, perform the following steps 14031 to 14033 in sequence according to the target placement order:

[0107] Step 14031, select multiple uncovered vertices from all vertices of loaded objects in the loading container as candidate key points; based on the target orientation information of the second object, select the target key point that satisfies the placement of the second object from the obtained multiple candidate key points.

[0108] Step 14032, obtaining the remaining quantities of the loading container in multiple dimensions after the second object is placed in the loading container according to the candidate loading position; based on the remaining quantities of the multiple dimensions, obtaining the remaining quantity of the space corresponding to the candidate loading position, wherein the multiple dimensions include length dimension, width dimension and height dimension.

[0109] Step 14033: Select a candidate loading position corresponding to the maximum remaining space from the obtained candidate position set as the target loading position of the second object in the loading container.

[0110] Specifically, when multiple items have been loaded in the loading container, but the remaining space is still sufficient, there may be multiple target loading positions for the second item that meet the maximum remaining space. At this time, according to whether the overall shape formed by the loaded items in the loading container is regular, a target loading position for the second item is selected from the multiple target loading positions. If the overall shape formed by the loaded items in the loading container is irregular, and there is exactly one target loading position for the second item in the irregular space, the target loading position is selected first.

[0111] In the embodiment of the present application, the target placement order of the items and the corresponding target orientation order are obtained through the respective attribute information of the multiple items and the sequence optimization model, so as to ensure that the loading container can accommodate multiple items; the target key points are selected from the multiple vertices of the loaded items in the loading container to determine the target placement position of the items, which not only makes the placement position of the items more flexible, but also makes the items fit more closely, thereby improving the space utilization rate of the loading container and reducing the waste of space resources.

[0112] For example, assuming that the size of the loading container is 80 cm long, 70 cm wide and 70 cm high, the first item is a cuboid with a length of 70 cm, a height of 40 cm and a width of 30 cm, and the orientation information is the fourth orientation; the second item 1 is a cuboid with a length of 30 cm, a height of 30 cm and a width of 20 cm, and the orientation information is the first orientation; the second item 2 is a cuboid with a length of 10 cm, a height of 15 cm and a width of 15 cm, and the orientation information is the third orientation; the second item 3 is a cuboid with a length of 15 cm, a height of 35 cm and a width, and the orientation information is the fourth orientation. Fig.15 , the loading container has been loaded with the above-mentioned multiple items. Based on the multiple loaded items, the candidate key points of the second item 4 that can be selected are as follows: Fig.16 As shown, the multiple vertices enclosed by black circles are candidate key points of the second object 4 on the placed objects.

[0113] Now assume that the second object 4 is a cuboid with a length of 15 cm, a width of 15 cm, and a height of 10 cm, and the orientation information is the third orientation. Fig.16 Based on the three views of the loading container and the currently loaded items, such as Fig.17 As shown, it is determined that the remaining amount of the loading container in the length dimension is 15 cm, the remaining amount in the height dimension is 0 cm, and the remaining amount in the width dimension is 30 cm. The remaining space is the cumulative value of the length dimension, width dimension and height dimension, which is 45 cm.

[0114] When the second object 4 is placed at the candidate loading position of the candidate key point 2, 3, 4, 9, refer to Fig.18At this time, the remaining space of the loading container in the long dimension is 15 cm, the remaining space in the high dimension is 0 cm, and the remaining space in the wide dimension is 30 cm. The remaining space of the loading container remains unchanged. Therefore, this candidate loading position is a target loading position for the second item 4; similarly, the candidate loading position of the second item 4 is the candidate loading position surrounded by the candidate key points 5, 6, 7, and 8, and any point among the candidate key points 12, 13, 14, 15, 18, 19, 20, and 21 overlaps with any position point on the surface of the second item 4 as a reference, so that after the second item 4 is loaded, the remaining space of the loading container remains unchanged. Therefore, there are multiple target loading positions for the second item 4.

[0115] However, reference Fig.16 , the overall shape of the loaded items in the loading container is irregular, and a concave space is formed at the position surrounded by candidate key points 2, 3, 4, 9 and the position surrounded by candidate key points 5, 6, 7, 8. It happens that the target loading position of the second item exists at the position of the concave space. Therefore, the target loading position here is preferentially selected as the target loading position of the second item 4 in the loading container, such as Fig.18 Similarly, the position surrounded by the candidate key points 5, 6, 7, and 8 can also be used as the target loading position of the second object 4 in the loading container, which will not be described in detail here.

[0116] Based on the same technical concept, the embodiment of the present application provides a structural schematic diagram of a loading position determination device based on key points, such as Fig.19 As shown, the key point-based loading position determination device 1900 includes:

[0117] A sorting module 1901 is used to determine the target placement order of the M objects and the target orientation information of each of the M objects based on the attribute information of the M objects, where M is a positive integer greater than 1;

[0118] A first placement module 1902 is used to initialize a target loading position of a first object in a loading container for the first object that is ranked first in the target placement sequence;

[0119] The second placement module 1903 is used to perform the following operations in sequence according to the target placement order for M-1 second objects other than the first object: selecting candidate key points from multiple vertices of objects loaded in the loading container; and selecting a target key point that matches the target orientation information of the second object from the obtained multiple candidate key points;

[0120] For each target key point, taking the overlap between the target key point and a position point on the surface of the second object as a reference, and based on the target orientation information of the second object, obtaining a set of candidate positions of the second object in the loading container, and a remaining space amount corresponding to each candidate loading position in the set of candidate positions;

[0121] Based on the remaining space corresponding to each candidate loading position in the obtained candidate position set, a target loading position of the second object in the loading container is selected from the obtained candidate position set.

[0122] Optionally, the sorting module 1901 is specifically used for:

[0123] Based on the volumes and shapes of the M objects, a plurality of initial information combinations are obtained, each of which includes: an initial placement order of the M objects and initial orientation information of the M objects under the initial placement order;

[0124] The multiple initial information combinations and the size of the loading container are input into a sequence optimization model to obtain a target placement order of the M objects and target orientation information of each of the M objects.

[0125] Optionally, the first placement module 1902 is specifically configured to:

[0126] For the first object ranked first in the target placement order, any vertex is selected from the lower bottom surface of the loading container as the target key point of the first object;

[0127] Taking the overlap of the target key point of the first object and a vertex of the first object as a reference, and based on the target orientation information of the first object, a target loading position of the first object is obtained.

[0128] Optionally, the second placement module 1903 is specifically configured to:

[0129] Selecting a plurality of uncovered vertices from all vertices of loaded items in the loading container as candidate key points;

[0130] Based on the target orientation information of the second object, a target key point satisfying the placement of the second object is selected from the obtained multiple candidate key points.

[0131] Optionally, the remaining space corresponding to the candidate loading position is obtained in the following manner, and the second placement module 1903 is specifically configured to:

[0132] Obtaining the remaining quantities of the loading container in each of the multiple dimensions after the second object is placed in the loading container according to the candidate loading position;

[0133] Based on the remaining amounts of each of the multiple dimensions, the remaining amount of space corresponding to the candidate loading position is obtained, wherein the multiple dimensions include a length dimension, a width dimension, and a height dimension.

[0134] Optionally, the second placement module 1903 is specifically configured to:

[0135] A candidate loading position corresponding to the maximum remaining space is selected from the obtained candidate position set as the target loading position of the second object in the loading container.

[0136] In the embodiment of the present application, the target placement order of the items and the corresponding target orientation order are obtained through the respective attribute information of the multiple items and the sequence optimization model, so as to ensure that the loading container can accommodate multiple items; the target key points are selected from the multiple vertices of the loaded items in the loading container to determine the target placement position of the items, which not only makes the placement position of the items more flexible, but also makes the items fit more closely, thereby improving the space utilization rate of the loading container and reducing the waste of space resources.

[0137] Based on the same technical concept, the embodiment of the present application provides a computer device, which can be Figure 1 The server shown, such as Fig. 20 As shown, it includes at least one processor 2001 and a memory 2002 connected to the at least one processor. In the embodiment of the present application, the specific link medium between the processor 2001 and the memory 2002 is not limited. Fig. 20 For example, the processor 2001 and the memory 2002 are connected via a bus. The bus can be divided into an address bus, a data bus, a control bus, etc.

[0138] In the embodiment of the present application, the memory 2002 stores instructions executed by at least one processor 2001, and the at least one processor 2001 can perform the steps of the above-mentioned method for determining the loading position based on key points by executing the instructions stored in the memory 2002.

[0139] Among them, the processor 2001 is the control center of the computer device, and can use various interfaces and lines to connect various parts of the computer device, and realize the determination of the loading position based on the key points by running or executing the instructions stored in the memory 2002 and calling the data stored in the memory 2002. Optionally, the processor 2001 may include one or more processing modules, and the processor 2001 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface and application program, etc., and the modem processor mainly processes wireless communication. It is understandable that the above-mentioned modem processor may not be integrated into the processor 2001. In some embodiments, the processor 2001 and the memory 2002 may be implemented on the same chip, and in some embodiments, they may also be implemented separately on independent chips.

[0140] Processor 2001 can be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application-specific integrated circuit (ASIC), a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, and can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor can be a microprocessor or any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application can be directly embodied as a hardware processor for execution, or can be executed by a combination of hardware and software modules in the processor.

[0141] The memory 2002 is a non-volatile computer-readable storage medium, which can be used to store non-volatile software programs, non-volatile computer executable programs and modules. The memory 2002 may include at least one type of storage medium, such as a flash memory, a hard disk, a multimedia card, a card-type memory, a random access memory (Random Access Memory, RAM), a static random access memory (Static Random Access Memory, SRAM), a programmable read-only memory (Programmable Read Only Memory, PROM), a read-only memory (Read Only Memory, ROM), an electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), a magnetic memory, a disk, an optical disk, etc. The memory 2002 is any other medium that can be used to carry or store a desired program code in the form of an instruction or data structure and can be accessed by a computer device, but is not limited thereto. The memory 2002 in the embodiment of the present application can also be a circuit or any other device that can realize a storage function, for storing program instructions and / or data.

[0142] Based on the same inventive concept, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program that can be executed by a computer device. When the program runs on the computer device, the computer device executes the steps of the above-mentioned method for determining the loading position based on key points.

[0143] Based on the same inventive concept, an embodiment of the present application provides a computer program product, including a computer program stored on a computer-readable storage medium, wherein the computer program includes program instructions. When the program instructions are executed by a computer device, the computer device executes the steps of the above-mentioned method for determining a loading position based on key points.

[0144] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0145] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0146] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0147] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0148] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

Claims

1. A method for determining a loading position based on key points, characterized in that: include: Determine, based on attribute information of the M objects, a target placement order of the M objects and target orientation information of each of the M objects, where M is a positive integer greater than 1; For a first object that ranks first in the target placement sequence, initializing a target loading position of the first object in the loading container; For M-1 second objects other than the first object, the following operations are performed in sequence according to the target placement order: candidate key points are selected from a plurality of vertices of the loaded objects in the loading container; and selecting a target key point that matches the target orientation information of the second object from the obtained multiple candidate key points; For each target key point, taking the overlap between the target key point and a position point on the surface of the second object as a reference, and based on the target orientation information of the second object, obtaining a set of candidate positions of the second object in the loading container, and a remaining space amount corresponding to each candidate loading position in the set of candidate positions; Based on the remaining space corresponding to each candidate loading position in the obtained candidate position set, a target loading position of the second object in the loading container is selected from the obtained candidate position set.

2. The method according to claim 1, characterized in that Initializing the target loading position of the first object in the loading container for the first object ranked first in the target placement sequence includes: For the first object ranked first in the target placement order, any vertex is selected from the lower bottom surface of the loading container as the target key point of the first object; Taking the overlap of the target key point of the first object and a vertex of the first object as a reference, and based on the target orientation information of the first object, a target loading position of the first object is obtained.

3. The method according to claim 1, characterized in that The step of determining the target placement order of the M objects and target orientation information of each system of the M objects based on the attribute information of the M objects includes: Based on the volumes and shapes of the M objects, a plurality of initial information combinations are obtained, each of which includes: an initial placement order of the M objects and initial orientation information of the M objects under the initial placement order; The multiple initial information combinations and the size of the loading container are input into a sequence optimization model to obtain a target placement order of the M objects and target orientation information of each of the M objects.

4. The method according to claim 1, characterized in that The step of selecting candidate key points from a plurality of vertices of the loaded items in the loading container; Selecting a target key point that matches the target orientation information of the second object from the obtained multiple candidate key points includes: Selecting a plurality of uncovered vertices from all vertices of loaded items in the loading container as candidate key points; Based on the target orientation information of the second object, a target key point satisfying the placement of the second object is selected from the obtained multiple candidate key points.

5. The method according to claim 1, characterized in that The remaining space corresponding to the candidate loading position is obtained in the following manner: Obtaining the remaining quantities of the loading container in each of the multiple dimensions after the second object is placed in the loading container according to the candidate loading position; Based on the remaining amounts of each of the multiple dimensions, the remaining amount of space corresponding to the candidate loading position is obtained, wherein the multiple dimensions include a length dimension, a width dimension, and a height dimension.

6. The method according to claim 1, characterized in that The step of selecting a target loading position of the second object in the loading container from the obtained candidate position set based on the remaining space corresponding to each candidate loading position in the obtained candidate position set includes: A candidate loading position corresponding to the maximum remaining space is selected from the obtained candidate position set as the target loading position of the second object in the loading container.

7. A loading position determination device based on key points, characterized in that: include: A sorting module, used to determine the target placement order of the M objects and the target orientation information of each of the M objects based on the attribute information of the M objects, where M is a positive integer greater than 1; A first placement module, configured to initialize a target loading position of a first object in a loading container for the first object that is ranked first in the target placement sequence; A second placement module is configured to perform the following operations in sequence according to the target placement order for M-1 second objects other than the first object: selecting candidate key points from a plurality of vertices of objects loaded in the loading container; and selecting a target key point that matches the target orientation information of the second object from the obtained multiple candidate key points; For each target key point, taking the overlap between the target key point and a position point on the surface of the second object as a reference, and based on the target orientation information of the second object, obtaining a set of candidate positions of the second object in the loading container, and a remaining space amount corresponding to each candidate loading position in the set of candidate positions; Based on the remaining space corresponding to each candidate loading position in the obtained candidate position set, a target loading position of the second object in the loading container is selected from the obtained candidate position set.

8. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the steps of any one of the methods of claims 1 to 6 are implemented.

9. A computer-readable storage medium, characterized in that: It stores a computer program executable by a computer device. When the program is run on the computer device, the computer device executes the steps of any method described in claims 1 to 6.

10. A computer program product, characterized in that The computer program product comprises a computer program stored on a computer-readable storage medium, wherein the computer program comprises program instructions, and when the program instructions are executed by a computer device, the computer device is caused to execute the steps of the method according to any one of claims 1 to 6.