Target object identification method and related device and equipment
By sending motion instructions to the target object and matching the actual pose and predicted pose, the problem of robotics that are difficult to identify obvious external features in the prior art is solved, and the accurate identification and positioning of target objects with similar external features is achieved.
Patent Information
- Application Number
- CN202010745428.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-07-29
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2040-07-29
AI Technical Summary
Existing visual positioning technologies are difficult to identify robots that lack obvious external features, and cannot accurately identify and locate target objects with similar external features.
By sending motion instructions to the target object and matching the actual position and predicted position, the recognition results of the target object, including positioning and identification information.
The recognition and positioning of the target object is realized without relying on the external features of the target object, and the recognition and positioning ability of target objects with similar external features is improved.
Smart Images

Figure CN111881836B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of visual positioning technology, and in particular to a target object recognition method and related devices and equipment. Background Art
[0002] Visual positioning refers to detecting and positioning the robot based on the collected images to obtain the robot's posture information.
[0003] At present, when using visual positioning technology to identify robots, the robots need to have distinct external features (shape, color, etc.) to be able to identify each robot. For robots that do not have distinct external features, the visual positioning system often cannot identify each robot. Summary of the invention
[0004] The present application at least provides a target object identification method and related devices and equipment.
[0005] The first aspect of the present application provides a device identification method, which includes: sending motion instructions to at least one target object respectively, wherein each target object corresponds to an identification information, and the motion instruction corresponds to each identification information one by one; performing image acquisition on the target object after executing the motion instruction to obtain a first image; obtaining a predicted posture of the target object according to the motion instruction, and an actual posture of the target object in the first image after executing the motion instruction; based on the actual posture and the predicted posture, determining a recognition result of the target object in the first image, the recognition result including the positioning and identification information of the target object.
[0006] Therefore, the positioning and identification information corresponding to a target object can be determined based on the actual position and predicted position of the target object, thereby realizing the recognition and positioning of the target object. Moreover, the recognition of the target object is directly based on the position of the target object, without relying on the external features of the target object, thereby improving the recognition and positioning capabilities of target objects with similar external features.
[0007] Among them, the step of obtaining the predicted posture of the target object according to the motion instruction includes: obtaining the predicted changed posture corresponding to the motion instruction, wherein each motion instruction causes the target object to produce a different changed posture; the step of obtaining the actual posture of the target object in the first image after executing the motion instruction includes: obtaining the initial posture of the target object; using the first image, obtaining the final posture of the target object after executing the motion instruction; and obtaining the actual changed posture caused by the target object executing the motion instruction based on the initial posture and final posture of the target object.
[0008] Therefore, since each motion instruction causes the target object to produce a different changed posture, the recognition result of the target object in the first image can be determined based on the predicted changed posture corresponding to each motion instruction and the actual changed posture of the target object, thereby realizing the recognition of the target object.
[0009] Among them, the step of obtaining the predicted posture of the target object according to the motion instruction includes: obtaining the initial posture of the target object and the predicted change posture corresponding to the motion instruction, wherein the motion instruction executed by each of the target objects is known; based on the initial posture of the target object and the preset change posture corresponding to the executed motion instruction, obtaining the predicted final posture of the target object after executing the motion instruction; the step of obtaining the actual posture of the target object in the first image after executing the motion instruction includes: using the first image to obtain the actual final posture of each of the target devices after executing the motion instruction.
[0010] Therefore, since the motion instructions executed by each target object are known, the predicted final posture of each target object after executing the motion instructions can be obtained. Then, the recognition result of the target object in the first image can be determined based on the predicted final posture and the actual final posture of the target object to achieve the recognition of the target object.
[0011] Wherein, determining the recognition result of the target object in the first image based on the actual posture and the predicted posture includes: selecting the predicted posture that matches the actual posture of the target object; and determining the identification information of the target object based on the selected predicted posture.
[0012] Therefore, by selecting a predicted posture that matches the actual posture of the target object, the target object can be recognized based on the selected predicted posture.
[0013] Among them, selecting the predicted posture that matches the actual posture of the target object includes: obtaining the differences between the actual posture of the target object and at least some of the predicted postures; and selecting the predicted posture with the smallest difference as the predicted posture that matches the actual posture of the target object.
[0014] Therefore, by comparing the difference between the actual pose and the predicted pose of the target object and selecting the predicted pose with the smallest difference as the predicted pose matching the actual pose, the accurate matching between the actual pose and the predicted pose is improved.
[0015] Wherein, obtaining the difference between the actual posture of the target object and at least part of the predicted postures includes: based on the predicted posture, cutting out an image area in the first image; obtaining the difference between the actual posture of each target object in the image area and the predicted posture.
[0016] Therefore, for each predicted posture, the matching actual posture can be searched for the associated image area in the first image, that is, only the relevant area is searched specifically, which can reduce the amount of calculation and improve the search efficiency and accuracy of the matching posture.
[0017] Wherein, after determining the recognition result of the target object in the first image based on the actual posture and the predicted posture, the method further includes: sending the positioning information of the target object to the target object according to the identification information of the target object.
[0018] Therefore, the positioning information can be fed back to the target object so that the target object can perform processing such as posture adjustment according to its positioning information.
[0019] The second aspect of the present application provides a visual positioning device, including: a sending module, used to send motion instructions to at least one target object respectively, wherein each target object corresponds to an identification information, and the motion instruction corresponds to each identification information one by one; a first acquisition module, used to perform image acquisition on the target object after executing the motion instruction to obtain a first image; a second acquisition module, used to acquire the predicted posture of the target object according to the motion instruction, and the actual posture of the target object in the first image after executing the motion instruction; a determination module, used to determine the recognition result of the target object in the first image based on the actual posture and the predicted posture, and the recognition result includes the positioning and identification information of the target object.
[0020] A third aspect of the present application provides a visual positioning device, which includes a memory and a processor coupled to each other, and the processor is used to execute program instructions stored in the memory to implement the device identification method of the first aspect above.
[0021] A fourth aspect of the present application provides a storage device, which stores a computer program that can be executed by a processor, and the computer program is used to implement the device identification method of the first aspect above.
[0022] Therefore, the positioning and identification information corresponding to a target object can be determined based on the actual position and predicted position of the target object, thereby realizing the recognition and positioning of the target object. Moreover, because the recognition of the target object is directly based on the position of the target object, it does not need to rely on the external features of the target object, thereby improving the recognition and positioning capabilities of target objects with similar external features.
[0023] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] The drawings herein are incorporated into the specification and constitute a part of the specification. These drawings illustrate embodiments consistent with the present application and are used together with the specification to illustrate the technical solution of the present application.
[0025] Figure 1 It is a flowchart of an embodiment of a target object identification method of the present application;
[0026] Figure 2 It is a flowchart of another embodiment of the target object identification method of the present application;
[0027] Figure 3 is a schematic diagram of a process for obtaining an actual change posture in another embodiment of the target object recognition method of the present application;
[0028] Figure 4 is a schematic diagram of a process for obtaining a predicted final position in another embodiment of the target object recognition method of the present application;
[0029] Figure 5 It is a partial flow chart of another embodiment of the target object identification method of the present application;
[0030] Figure 6 It is a schematic diagram of the framework of an embodiment of the visual positioning device of the present application;
[0031] Figure 7 It is a schematic diagram of the framework of an embodiment of the visual positioning device of the present application. DETAILED DESCRIPTION
[0032] The scheme of the embodiment of the present application is described in detail below in conjunction with the drawings of the specification.
[0033] In the following description, for the purpose of explanation rather than limitation, specific details such as specific system structures, interfaces, and technologies are provided to facilitate a thorough understanding of the present application.
[0034] The term "and / or" in this article is only a description of the association relationship of associated objects, indicating that there may be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the objects associated before and after are in an "or" relationship. In addition, "many" in this article means two or more than two. In addition, the term "at least one" in this article means any combination of at least two of any one or more of a plurality of, for example, including at least one of A, B, and C, can mean including any one or more elements selected from the set consisting of A, B, and C.
[0035] The subject that executes the device identification method described in this application can be a visual positioning device that has data processing and can use image information to obtain the position and posture of the target object, such as a computer, server, etc. The image acquisition device used to collect image information is, for example, a camera, etc. The image acquisition device can be a part of the visual positioning device or an independent part. The target object is, for example, a robot, a smart car, or other objects.
[0036] Visual positioning equipment can use visual positioning technology to obtain the position and posture information of the target object. Visual positioning technology uses calibrated image acquisition equipment, such as cameras, to capture images of the target object and recognize the captured images to calculate the coordinates and rotation coordinates of the target object in the camera coordinate system, and then obtain the relative coordinates and rotation coordinates of the image acquisition equipment relative to the target object, so as to obtain the position and posture information of the target object relative to the ground.
[0037] See also Figure 1 , Figure 1 This is a flow chart of an embodiment of the target object identification method of the present application. Specifically, it may include the following steps:
[0038] Step S11: Sending motion instructions to at least one target object respectively.
[0039] Each target object corresponds to an identification information, and the motion instruction corresponds to each identification information one by one. Each motion instruction can be the same or different.
[0040] In the process of preliminarily determining the identification information of the target object in the present embodiment, different motion instructions are set for different identification information, so as to facilitate the rapid determination of the target object corresponding to the identification information according to the response of the target object. In the process of preliminarily determining the identification information of the target object and re-determining the identification information of the target object, the motion instructions sent to the target object can be the same or different. Since the identification information corresponding to the target object before the movement has been determined, the posture of the corresponding target object after executing the motion instruction can be predicted for different identification information, and then the target object corresponding to the identification information is determined according to the predicted posture, thereby achieving accurate tracking and identification of the target object. Moreover, during the movement of the target object, the identification information of the target object can be repeatedly confirmed, so as to achieve secondary confirmation of the identification information of the target object and improve the recognition accuracy.
[0041] In the disclosed embodiment, a motion instruction may be sent to at least one target object respectively. The target object is, for example, a robot, such as a handling robot. In addition, each target object has unique identification information, that is, each target object corresponds to an identification information. Therefore, the target object corresponding to the identification information may be determined by the identification information. The identification information is, for example, a serial number of the target object, or a unique serial number assigned to each target object, such as device No. 1, device No. 2, and so on.
[0042] The visual positioning device can obtain the identification information of the target object. For example, the visual positioning device can communicate with all target objects to obtain the identification information of the target objects; or, the visual positioning device can import the identification information set of the target objects through external data to obtain the identification information of the target objects.
[0043] In this case, there are two situations. In the first situation, the visual positioning device can match each acquired identification information with the target object, that is, the visual positioning device can determine that the target object matches the corresponding identification information; in the second situation, the target object cannot match each acquired identification information with its corresponding target object. The first situation can be considered to be in the above-mentioned re-determination process, and the second situation can be considered to be in the above-mentioned preliminary determination process.
[0044] Although the corresponding identification information has been matched for each target object in the first case, the position of the target object changes after executing the motion command, and the external features (shape, color, etc.) of each target object are highly similar, so the visual positioning device cannot directly match the target object after movement with the acquired identification information. In order to better achieve continuous tracking of the target object, it is still necessary to match the corresponding identification information for the target object again on the subsequently acquired images. In the second case, one of the reasons why each acquired identification information cannot be matched with its corresponding target object is because the external features (shape, color, etc.) of each target object are highly similar, which makes it impossible for the visual positioning device to distinguish each target object, and it is also impossible to match the corresponding identification information for each target object.
[0045] Therefore, during recognition, a motion instruction can be sent to at least one target object according to the identification information of the target object, that is, the visual positioning device can send a motion instruction to the target object corresponding to each identification information according to each identification information. For example, according to the first identification information, a first motion instruction is sent; according to the second identification information, a second motion instruction is sent.
[0046] It is understandable that in the first case, because the visual positioning device can match the corresponding identification information for each target object in the image it acquires, the visual positioning device can determine which target object the motion instruction it sends is sent to. In the second case, because the visual positioning device cannot match the corresponding identification information for each target object in the image it acquires, the visual positioning device cannot determine which target object the motion instruction it sends is sent to.
[0047] Step S12: performing image acquisition on the target object after executing the motion instruction to obtain a first image.
[0048] After receiving the motion instruction, the target object will execute the received instruction, that is, the target object will move accordingly according to the motion instruction.
[0049] After the target object moves according to the received motion instruction, the visual positioning device can use the image acquisition device to acquire a first image obtained by acquiring the image of the target object after the motion instruction is executed. In other words, the position and posture of the target object in the first image is the position and posture after the target object has moved according to the motion instruction. The first image can be an RGB image or a grayscale image.
[0050] In a disclosed embodiment, there may be a target object in the first image that has not received a motion instruction, and the position and posture of the target object that has not received a motion instruction does not change.
[0051] Step S13: obtaining the predicted position and posture of the target object according to the motion instruction, and the actual position and posture of the target object in the first image after executing the motion instruction.
[0052] The motion command sent by the visual positioning device can be the change in position of the target object that needs to be moved. For example, the motion command can be to move 5 in the X-axis direction, move 6 in the Y-axis direction, deflect 20 degrees in the positive direction of the X-axis, and so on.
[0053] By using the motion instructions received by the target object for calculation, its posture can be predicted, and the obtained posture is the predicted posture. The predicted posture can include the predicted change posture and the predicted final posture. Based on the motion instructions received by the target object, the predicted change posture of the target object calculated is the amount of posture change generated by the motion instructions. Based on the predicted change posture of the target object and its initial posture, the predicted final posture of the target object can be calculated. The initial posture is the posture information before the target object moves.
[0054] When the visual positioning device sends several motion instructions to several target objects during target object recognition, each target object can obtain a corresponding number of predicted postures based on all the motion instructions. For example, the visual positioning device sends one motion instruction to each of the five target objects, that is, a total of five motion instructions are sent. At this time, a certain target object needs to calculate the corresponding five predicted postures for these five motion instructions. When the predicted posture is a predicted final posture, five predicted final postures will be obtained; when the predicted posture is a predicted change posture, five predicted change postures will be obtained. In the first case mentioned above, because the visual positioning device can determine which target object the motion instruction it sends is sent to, it can only calculate the predicted posture, such as the predicted change posture and the predicted final posture, based on the motion instruction received by the target object. The target object executes the motion instruction it receives, and the actual posture after moving according to the motion instruction is the actual posture. Similarly, the actual posture can also include the actual change posture and the actual final posture. The visual positioning device uses the visual positioning technology to analyze the first image to obtain the actual final position of the target object. The actual final position is compared with the initial position to obtain the actual changed position of the target object.
[0055] Step S14: Determine a recognition result of the target object in the first image based on the actual posture and the predicted posture.
[0056] The recognition result includes the location and identification information of the target object.
[0057] After obtaining the actual posture and the predicted posture, the recognition result of the target object in the first image can be determined by comparing the actual posture of the target object with the predicted posture obtained based on the target object. The recognition result includes the positioning and identification information of the target object. The positioning of the target object is the posture information of the target object.
[0058] Specifically, the predicted posture that matches the actual posture of the target object in the first image can be determined, and then the corresponding identification information can be determined through the matched predicted posture, and the identification information is the identification information corresponding to the target object. At the same time, after the identification information of the target device is determined, the positioning of the target object corresponding to the identification information can also be determined. When the predicted posture is a predicted change posture, the actual change posture that matches the predicted change posture is determined; when the predicted posture is a predicted final posture, the actual final posture that matches the predicted final posture is determined.
[0059] For example, the visual positioning device sends one motion instruction to each of the five target objects. The corresponding actual change posture of a target object in the first image is P0. Based on the five motion instructions sent by the visual positioning device, the target object can obtain five predicted change postures P1, P2, P3, P4 and P5. By comparing P0 with P1, P2, P3, P4 and P5, it is determined that the predicted change posture that matches P0 is P3. At this time, it can be determined that the identification information corresponding to the third motion instruction sent is the identification information of the target object. The posture information of the target object is the identification information of the target object whose identification information is determined.
[0060] Therefore, the positioning and identification information corresponding to a target object can be determined according to the actual position and predicted position of the target object, thereby realizing the recognition and positioning of the target object. Moreover, the recognition of the target object in this embodiment is directly based on the position of the target object, without relying on the external features of the target object, thereby improving the recognition and positioning capabilities of target objects with similar external features.
[0061] For further information, see Figure 2 , Figure 2 : is a flow chart of another embodiment of the target object identification method of the present application, comprising the following steps:
[0062] Step S21: Sending motion instructions to at least one target object respectively.
[0063] For the description of this step, please refer to the above step S11.
[0064] In one example, if the visual positioning device only sends a motion instruction to one target object, the target object that has executed the motion instruction can be directly determined through the first image without judging based on the predicted posture and the actual posture, and the identification information corresponding to the moved target object can be determined.
[0065] Step S22: performing image acquisition on the target object after executing the motion instruction to obtain a first image.
[0066] Please refer to step S12 for details, which will not be described again here.
[0067] Step S23: obtaining the predicted posture of the target object generated according to the motion instruction, and the actual posture of the target device target object in the first image after executing the motion instruction.
[0068] In a disclosed embodiment, the predicted posture is a predicted change posture, and the actual posture is an actual change posture. That is, the predicted change posture generated by the target object according to the motion instruction and the actual change posture of the target device target object in the first image after executing the motion instruction are obtained.
[0069] Since the motion instruction is the amount of change in the position and posture of the target object, the predicted change in position and posture corresponding to the motion instruction can be directly obtained. For example, if the visual positioning device sends 4 motion instructions, 4 predicted change in position and posture can be determined based on these 4 motion instructions.
[0070] Because the embodiment of the present disclosure determines the recognition result of the target object by predicting the change in posture, at this point, it can be considered to be in the process of preliminary confirmation. In order to ensure the uniqueness of the recognition result, each motion instruction can cause the target object to produce a different change in posture. For example, when the posture information is two-dimensional coordinates and orientation information, each motion instruction causes the target object to produce a different change in posture. It can be understood that the change in posture produced by a motion instruction, the absolute value of the coordinate change value of the two-dimensional coordinate or the absolute value of the angle change value of the orientation, at least one is different from the change in posture produced by other motion instructions. It can be understood that obtaining the predicted change in posture corresponding to the motion instruction in this step can be executed after the motion instruction is sent, that is, it can be executed after step S21.
[0071] See also Figure 3 , Figure 3 FIG. 2 is a flow chart of obtaining the actual changed posture in another embodiment of the target object recognition method of the present application. In the embodiment of the present disclosure, the following steps S231-S232 may be performed to obtain the actual changed posture.
[0072] Step S231: Acquire the initial posture of the target object.
[0073] Before the visual positioning device issues a motion instruction, the initial position and posture of the target object before executing the motion instruction can be obtained through the image acquisition device. For example, the visual positioning device can obtain an image of the target object before sending the motion instruction, and use the visual positioning technology to obtain the initial position and posture of the target object before executing the motion instruction from the image.
[0074] Acquiring the initial position and posture of the target object may be performed before step S21.
[0075] In a disclosed embodiment, when acquiring an image of a target object before executing a motion instruction, the distance of each target object can be set at a certain distance, so that the visual positioning device can obtain the initial posture of the target object from the image, and can also obtain the final posture of the same target object from the first image.
[0076] Step S232: using the first image, obtaining the final posture of the target object after executing the motion instruction.
[0077] Because the position and posture information of the target object in the first image is the position and posture of the target object after executing the motion instruction, the visual positioning device can use the visual positioning technology to analyze the first image to obtain the final position and posture of the target object after moving.
[0078] It is understandable that in some embodiments, the final pose may be obtained first, and then the initial pose may be obtained.
[0079] Step S233: Based on the initial posture and final posture of the target object, the actual changed posture resulting from the target object executing the motion instruction is obtained.
[0080] After obtaining the initial and final poses of the target object, the actual changed pose resulting from the execution of the motion command by the target object can be obtained by comparing the two pose information. For example, the actual initial pose of the target object is (5,8), facing due north, and the actual final pose of the target object after executing the motion command is (10,10), facing due south. Then the actual changed pose resulting from the execution of the motion command by the target object is (5,2), which is deflected by 180 degrees.
[0081] Through the above method, since each motion instruction causes the target object to produce a different changed posture, the recognition result of the target object in the first image can be determined according to the predicted changed posture corresponding to each motion instruction and the actual changed posture of the target object, thereby realizing the recognition of the target object.
[0082] In another disclosed embodiment, the predicted pose is a predicted final pose, and the actual pose is an actual final pose. That is, the predicted final pose generated by the target object according to the motion instruction and the actual final pose of the target device target object in the first image after executing the motion instruction are obtained.
[0083] For example, the first image may be used to obtain the actual final position of each target device after executing the motion instruction. Please refer to the above step S233 for details, which will not be repeated here.
[0084] See also Figure 4 , Figure 4 FIG. 2 is a flow chart of obtaining the predicted final position in another embodiment of the target object recognition method of the present application. In the disclosed embodiment, the following steps S235-S236 may be performed to obtain the predicted final position.
[0085] Step S235: Acquire the initial posture of the target object and the predicted changed posture corresponding to the motion instruction.
[0086] For the description of obtaining the initial posture of the target object, please refer to the above step S231, which will not be repeated here.
[0087] To obtain the predicted change posture corresponding to the motion command, please refer to the above description on the acquisition of the predicted change posture, which will not be repeated here.
[0088] In addition, since the embodiment of the present disclosure determines the recognition result of the target object by predicting the final posture and the actual final posture, in the embodiment of the present disclosure, the motion instruction executed by each target object can be executed when it is known, and it can be considered that it is in the process of reconfirmation. In this case, the visual positioning device can determine which target object the motion instruction it sent is specifically sent to, that is, the first case described in the above step S11.
[0089] Step S236: Based on the initial posture of the target object and the preset changed posture corresponding to the executed motion instruction, a predicted final posture of the target object after executing the motion instruction is obtained.
[0090] Because the visual positioning device can determine the identification information of the target object, it can also obtain the initial position and posture of the target object corresponding to each identification information, as well as the preset change position and posture corresponding to the motion instruction executed by the target object. On this basis, the visual positioning device can obtain the predicted final position and posture of the target object after executing the motion instruction based on the initial position and predicted change position corresponding to the same identification information.
[0091] For example, the visual positioning device determines that the initial pose of the target object with identification information A is P0, and also determines that the predicted change pose sent to the target object with identification information A is P′. Then, the predicted final pose of the target object with identification information A can be obtained as P1′, where P1′=P0+P′.
[0092] Through the above method, since the motion instructions executed by each target object are known, the predicted final posture of each target object after executing the motion instruction can be obtained. Then, the recognition result of the target object in the first image can be determined based on the predicted final posture and the actual final posture of the target object, thereby realizing the recognition of the target object.
[0093] Step S24: Select the predicted pose that matches the actual pose of the target object.
[0094] Corresponding to the above-mentioned public embodiment in which the actual posture is the actual changed posture and the predicted posture is the predicted changed posture, selecting the predicted posture that matches the actual posture of the target object is to select the predicted changed posture that matches the actual changed posture of the target object.
[0095] For a target object, several predicted change postures will be obtained based on all motion instructions. Then, after obtaining the actual change posture of the target object, the predicted change posture that matches the actual change posture of the target object can be determined. Selecting the predicted change posture that matches the actual change posture of the target object can be understood as selecting the predicted change posture that is closest to the actual change posture. In this way, the identification information of the target object can be determined through the actual change posture and the predicted change posture of the target object, and there is no need to rely on the external features of the target object, thereby improving the recognition and positioning capabilities of target objects with similar external features.
[0096] Corresponding to the above-mentioned actual posture is the actual final posture (actual posture), the predicted posture is a public embodiment of the predicted final posture, selecting the predicted posture that matches the actual posture of the target object, that is, selecting the predicted final posture that matches the actual final posture of the target object (actual posture).
[0097] For a target object, because the visual positioning device can determine the preset final posture of the target object with known identification information, the actual final posture that is closest to the predicted final posture in the first image can be considered to be the actual final posture that matches the predicted final posture. Therefore, the visual positioning device can select the target object whose actual final posture matches the predicted final posture. Selecting the predicted change posture that matches the actual change posture of the target object can be understood as selecting the actual final posture that is closest to the predicted final posture of the target object with certain identification information. In this way, the identification information of the target object can be determined by the actual final posture and the predicted final posture of the target object without relying on the external features of the target object, thereby improving the recognition and positioning capabilities of target objects with similar external features.
[0098] See also Figure 5 , Figure 5 This is a partial flow chart of a further embodiment of the target object recognition method of the present application. In a disclosed embodiment, the following steps S241-S242 can be performed to select a predicted change posture that matches the actual change posture of the target object.
[0099] Step S241: Obtaining differences between the actual pose of the target object and at least some of the predicted poses.
[0100] Corresponding to the disclosed embodiment in which the actual posture is the actual change posture and the predicted posture is the predicted change posture, the difference between the actual change posture of the target object and at least some of the predicted change postures is obtained, that is, the difference between the actual change posture of each target object and some of the predicted change postures, or all of the predicted change postures is obtained. For example, if there are 5 predicted change postures in total, the difference between one actual change posture and 3 predicted change postures, or 5 change postures, is obtained.
[0101] Corresponding to the public embodiment in which the actual pose is the actual final pose (actual pose) and the predicted pose is the predicted final pose, the difference between the actual final pose (actual pose) of the target object and at least some of the predicted final poses is obtained, that is, the difference between the actual final pose (actual pose) of each target object and some of the predicted final poses, or all of the predicted final poses is obtained. For example, if there are 5 predicted final poses in total, the difference between one actual final pose (actual pose) and 3 predicted final poses, or 5 predicted final poses, is obtained.
[0102] The difference between the actual posture and the predicted posture can be the similarity between the two. It can be represented by calculating the distance between the features of the actual posture and the predicted posture, and the smallest distance represents the most similarity. When the posture information is a two-dimensional coordinate and an angle, the two coordinate values of the two-dimensional coordinate and the angle value are the features. The distance between the features of the actual posture and the predicted posture can be Minkowski distance, Manhattan distance, Euclidean distance, cosine distance, etc.
[0103] In one disclosed embodiment, the difference is a cosine distance. When calculating the cosine distance between the actual posture and the predicted posture, the coordinate values and angle values of the actual posture and the predicted posture can be normalized first. In this way, the influence of the angle value on the cosine distance can be reduced, and the accuracy of the cosine distance in representing the difference between the actual posture and the predicted posture can be improved.
[0104] In a disclosed embodiment, an image area can be captured in the first image based on the predicted posture. For example, an image area can be captured in the first image based on the predicted final posture. Because each target object will move according to the motion instructions it receives, although there may be errors during movement, the errors are generally not too large, that is, the difference between each predicted final posture and its actual final posture is not too large. Therefore, in the first image, corresponding to each predicted final posture, an image area containing the predicted final posture can be captured. Specifically, an image of a certain shape can be captured with the position of a predicted final posture as the center, for example, a rectangular or square image can be captured.
[0105] In a disclosed embodiment, based on the size of the target object on the first image, an area twice the length of the side of the target object can be intercepted with the center point of the target object as the center as the image area. For example, if the size of the target object on the first image is 100*100 pixels, then an area of 200*200 pixels can be intercepted with the center of the target object on the first image as the center as the image area.
[0106] When there are several preset final poses, there are also several cropped image areas.
[0107] Obtain the difference between the actual pose and the predicted pose of each target object in the image area. It can be understood that the actual final pose of the target object in the image area can be considered as a target object with a smaller difference from the predicted final pose. In this way, the actual final pose of the target object that is closer to the predicted final pose can be preliminarily screened out, so that when subsequent calculations are performed, the amount of calculation can be reduced and the efficiency of device recognition can be improved. For example, when there are N target objects in the image area, there will be N differences, and among these N differences, the actual final pose with the smallest difference.
[0108] Therefore, for each predicted posture, the matching actual posture can be searched for the associated image area in the first image, that is, only the relevant area is searched specifically, which can reduce the amount of calculation and improve the search efficiency and accuracy of the matching posture.
[0109] Step S242: Selecting the predicted pose with the smallest difference as the predicted pose that matches the actual pose of the target object.
[0110] After obtaining several differences between the actual posture and at least some of the predicted postures, it can be considered that the predicted posture with the smallest difference has the highest similarity with the actual posture. Therefore, the predicted posture with the smallest difference can be selected as the predicted posture that matches the actual posture of the target object. Therefore, by comparing the difference between the actual posture of the target object and the predicted posture, and selecting the predicted posture with the smallest difference as the predicted posture that matches the actual posture, the accuracy of the match between the actual posture and the predicted posture is improved.
[0111] Corresponding to the actual posture being the actual changed posture and the predicted posture being the public embodiment of the predicted changed posture, the predicted changed posture with the smallest difference from the actual changed posture of a certain target object is selected. Corresponding to the actual posture being the actual final posture (actual posture) and the predicted posture being the public embodiment of the predicted final posture, the actual final posture (actual posture) with the smallest difference from the predicted final posture of a target object of a certain identification information is selected.
[0112] Step S25: Based on the selected predicted posture, determine the identification information of the target object.
[0113] For example, when the predicted posture is the predicted change posture and the actual posture is the actual change posture, after selecting the corresponding predicted change posture for the actual change posture of the target device, it can be considered that the motion instruction corresponding to the selected predicted posture is the motion instruction actually executed by the target object, and then the identification information corresponding to the motion instruction actually executed by the target object is the identification information of the target object. In this way, the identification information of the target object can be determined.
[0114] For example, the visual positioning device sends a first motion instruction to the target object with identification information A. After the above steps, it is determined that the target object S in the first image has executed the first motion instruction, and the identification information corresponding to the target object S is A.
[0115] When the identification information is a unique serial number assigned to the target object, and the visual positioning device also sends motion instructions according to the unique serial number, the serial number corresponding to the target object can be determined according to the above method. In this way, by selecting the predicted posture that matches the actual posture, the motion instructions actually executed by the target object can be determined by the posture of the target object, without having to use the external features of the target object, so that the visual positioning device can determine the actual motion instructions executed for target objects with similar external features, and thereby determine the identification information of the target object, thereby realizing the recognition of the target object. Moreover, through the above method, it can be achieved that after each movement of the target object, the identification information of the target object can be identified without relying on the external features of the target object, thereby realizing continuous tracking and recognition of the target object.
[0116] For another example, when the predicted posture is the predicted final posture and the actual posture is the actual final posture, after selecting the corresponding predicted final posture for the actual final posture of the target device, because the visual positioning device can determine the predicted final posture of the target object with known identification information, the known identification information of the target object corresponding to the predicted final posture can be determined as the identification information corresponding to the target device.
[0117] Step S26: sending the positioning information of the target object to the target object according to the identification information of the target object.
[0118] After determining the corresponding identification information for each target object in the first image, the visual positioning device can send the final posture information (final posture) to the corresponding target object according to the determined identification information of the target object. In this way, the target object matching the identification information can obtain its actual final posture (final posture) after moving.
[0119] After the target object obtains its actual final posture (final posture) after the movement, it can adjust its posture according to its own posture, for example, adjust its own orientation and so on.
[0120] In a disclosed embodiment, in the above embodiment, when a plurality of first differences or second differences are identical, the above identification method may be performed again to determine identification information of target objects having the same first differences or second differences.
[0121] Through the above method, the target object recognition result can be obtained, that is, the location and identification information of the target object can be determined, so that the recognition and location of the target object can be realized without relying on the external features of the target object.
[0122] In some embodiments, the device identification method of the present application may include a preliminary confirmation process and a reconfirmation process. In the preliminary confirmation process, the above-mentioned method of determining the identification information of the target object using the predicted change posture and the actual change posture can be executed. After the identification information is matched for the target object, it is in the reconfirmation process, and the above-mentioned method of determining the identification information of the target object using the predicted final posture and the actual final posture (actual posture) can be executed. Thereafter, because the identification information has been matched for the target object, the above-mentioned method of determining the identification information of the target object using the predicted final posture and the actual final posture (actual posture) can be repeatedly executed. In this way, continuous identification and positioning of the target object and continuous tracking of the target object are achieved.
[0123] Those skilled in the art will appreciate that, in the above method of specific implementation, the order in which the steps are written does not imply a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of the steps should be determined by their functions and possible internal logic.
[0124] See also Figure 6 , Figure 6 It is a framework diagram of an embodiment of the visual positioning device of the present application. The visual positioning device 40 includes a first sending module 41, a first acquisition module 42, a second acquisition module 43 and a determination module 44. The first sending module 41 is used to send motion instructions to at least one target object respectively, wherein each of the target objects corresponds to an identification information, and the motion instruction corresponds to each of the identification information one by one. The first acquisition module 42 is used to perform image acquisition on the target object after executing the motion instruction to obtain a first image. The second acquisition module 43 is used to obtain the predicted posture of the target object according to the motion instruction, and the actual posture of the target object in the first image after executing the motion instruction. The determination module 44 is used to determine the recognition result of the target object in the first image based on the actual posture and the predicted posture, and the recognition result includes the positioning and identification information of the target object.
[0125] Among them, the second acquisition module 43 includes a first acquisition unit and a second acquisition unit, the first acquisition unit is used to obtain the predicted change posture corresponding to the motion instruction, wherein each motion instruction causes the target object to produce a different change posture; the second acquisition unit is used to obtain the initial posture of the target object; using the first image, the final posture of the target object after executing the motion instruction is obtained; based on the initial posture and final posture of the target object, the actual change posture generated by the target object executing the motion instruction is obtained.
[0126] Among them, the second acquisition module 43 includes a third acquisition unit and a fourth acquisition unit, the third acquisition unit is used to acquire the initial posture of the target object and the predicted change posture corresponding to the motion instruction, wherein the motion instruction executed by each of the target objects is known; based on the initial posture of the target object and the preset change posture corresponding to the executed motion instruction, the predicted final posture of the target object after executing the motion instruction is obtained; the fourth acquisition unit is used to use the first image to obtain the actual final posture of each of the target devices after executing the motion instruction.
[0127] The determination module 44 is specifically used to select the predicted posture that matches the actual posture of the target object; and determine the identification information of the target object based on the selected predicted posture.
[0128] Furthermore, the determination module 44 executes the selection of the predicted posture that matches the actual posture of the target object, and may also include: obtaining the differences between the actual posture of the target object and at least some of the predicted postures; and selecting the predicted posture with the smallest difference as the predicted posture that matches the actual posture of the target object.
[0129] Furthermore, the determination module 44 executes the step of obtaining the difference between the actual posture of the target object and at least part of the predicted posture, and may also include: based on the predicted posture, cutting out an image area in the first image; and obtaining the difference between the actual posture of each target object in the image area and the predicted posture.
[0130] The visual positioning device 40 further includes a second sending module. The second sending module is used to send the positioning information of the target object to the target object according to the identification information of the target object.
[0131] See also Figure 7 , Figure 7 Schematic diagram of the framework of an embodiment of the visual positioning device of the present application. The visual positioning device 50 includes a memory 51 and a processor 52 coupled to each other, and the processor 52 is used to execute the program instructions stored in the memory 51 to implement the steps of any of the above-mentioned device identification method embodiments. In a specific implementation scenario, the electronic device 50 may include but is not limited to: a microcomputer, a server, and in addition, the electronic device 50 may also include a mobile device such as a laptop computer and a tablet computer, which is not limited here.
[0132] Specifically, the processor 52 is used to control itself and the memory 51 to implement the steps of the training method embodiment of any of the above-mentioned image detection models, or to implement the steps in the above-mentioned image detection method embodiment. The processor 52 can also be referred to as a CPU (Central Processing Unit). The processor 52 may be an integrated circuit chip with signal processing capabilities. The processor 52 may also be a general-purpose processor, a digital signal processor (DigitalSignal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. In addition, the processor 52 may be implemented by an integrated circuit chip.
[0133] The present application also provides a storage device embodiment. The storage device of this embodiment stores a computer program, and when the computer program is executed by a processor, the steps of the information display method in any of the above embodiments can be implemented.
[0134] The storage device of this embodiment may specifically be a medium that can store computer programs, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, or may be a server that stores the computer program. The server may send the stored computer program to other devices for execution, or may also execute the stored computer program itself.
[0135] The above scheme can determine the positioning and identification information corresponding to a target object based on the actual posture and predicted posture of the target object, thereby realizing the recognition and positioning of the target object without relying on the external features of the target object, thereby improving the recognition and positioning capabilities of target objects with similar external features.
[0136] In some embodiments, the functions or modules included in the device provided by the embodiments of the present disclosure can be used to execute the method described in the above method embodiments. The specific implementation can refer to the description of the above method embodiments, and for the sake of brevity, it will not be repeated here.
[0137] The above description of various embodiments tends to emphasize the differences between the various embodiments. The same or similar aspects can be referenced to each other, and for the sake of brevity, they will not be repeated herein.
[0138] In the several embodiments provided in the present application, it should be understood that the disclosed methods and devices can be implemented in other ways. For example, the device implementation described above is only schematic. For example, the division of modules or units is only a logical function division. There may be other division methods in actual implementation, such as units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical, mechanical or other forms.
[0139] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0140] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) or a processor (processor) to perform all or part of the steps of each implementation method of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program code.
Claims
1. A target object recognition method, characterized in that: include: Sending a motion instruction to at least one target object respectively, wherein each target object corresponds to an identification information, and the motion instruction corresponds to each identification information one by one; Capturing an image of the target object after executing the motion instruction to obtain a first image; Acquire a predicted position and posture of the target object according to the motion instruction, and an actual position and posture of the target object in the first image after executing the motion instruction; Selecting the predicted pose that matches the actual pose of the target object; Based on the selected predicted position and posture, the identification information of the target object is determined as a recognition result of the target object in the first image, and the recognition result includes the positioning and identification information of the target object.
2. The method according to claim 1, characterized in that The obtaining of the predicted position and posture of the target object according to the motion instruction includes: Acquire a predicted change posture corresponding to the motion instruction, wherein each motion instruction causes the target object to produce a different change posture; The obtaining of the actual position and posture of the target object in the first image after executing the motion instruction includes: Obtaining an initial position and posture of the target object; Using the first image, obtaining a final posture of the target object after executing the motion instruction; Based on the initial posture and the final posture of the target object, an actual changed posture resulting from the target object executing the motion instruction is obtained.
3. The method according to claim 1, characterized in that The obtaining of the predicted position and posture of the target object according to the motion instruction includes: Acquire the initial posture of the target object and the predicted change posture corresponding to the motion instruction, wherein the motion instruction executed by each target object is known; Based on the initial posture of the target object and the preset changed posture corresponding to the executed motion instruction, obtaining a predicted final posture of the target object after executing the motion instruction; The obtaining of the actual position and posture of the target object in the first image after executing the motion instruction includes: Using the first image, the actual final posture of each target device after executing the motion instruction is obtained.
4. The method according to claim 1, characterized in that: The selecting the predicted pose that matches the actual pose of the target object comprises: Obtaining differences between the actual pose of the target object and at least some of the predicted poses; The predicted pose with the smallest difference is selected as the predicted pose that matches the actual pose of the target object.
5. The method according to claim 4, characterized in that The obtaining of differences between the actual pose of the target object and at least some of the predicted poses includes: Based on the predicted posture, intercepting an image region in the first image; Obtain a difference between the actual position and the predicted position of each target object in the image region.
6. The method according to any one of claims 1 to 5, characterized in that: After determining the identification information of the target object based on the selected predicted pose as a recognition result of the target object in the first image, the method further includes: According to the identification information of the target object, the positioning information of the target object is sent to the target object.
7. A visual positioning device, characterized in that: include: A sending module, used to send a motion instruction to at least one target object respectively, wherein each target object corresponds to an identification information, and the motion instruction corresponds to each identification information one by one; A first acquisition module, used for acquiring an image of the target object after executing the motion instruction, to obtain a first image; A second acquisition module, used to acquire the predicted posture of the target object according to the motion instruction, and the actual posture of the target object in the first image after executing the motion instruction; A determination module is used to select the predicted posture that matches the actual posture of the target object; based on the selected predicted posture, determine the identification information of the target object as a recognition result of the target object in the first image, and the recognition result includes the positioning and identification information of the target object.
8. A visual positioning device, characterized in that: The invention comprises a memory and a processor coupled to each other, wherein the processor is used to execute program instructions stored in the memory to implement the method according to any one of claims 1 to 6.
9. A storage device, characterized in that: A computer program that can be executed by a processor is stored, and the computer program is used to implement the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Device and method for correction of robot inaccuracy
CN1033590A
Pose error correction method and device, robot and storage medium
CN107030699A