Obstacle position estimation method and device, equipment and storage medium

By using image processing technology in the robot, determine the identification box and estimation center points of the base type obstacles, and check the radius deviation, realize the precise estimation of the position of the obstacles, solve the accuracy of obstacles in the existing technology, the accuracy of the position accuracy of the obstacles is not accurate. High problems improve the accuracy of robotic path planning.

CN119379784APending Publication Date: 2025-01-28UBTECH ROBOTICS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411284677.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-12
Publication Date
2025-01-28

AI Technical Summary

Technical Problem

In the prior art, due to the low accuracy of the obstacle position, it is difficult for robots to accurately avoid obstacles when planning paths.

Method used

By obtaining the image of the base -type obstacle, the identification box is determined, and the middle point of the first edge of the identification box to the first direction of the first edge and the first direction of the identification box to find an estimated center point for obstacles. According to the estimated center point and midpoint, the first half and the second diameter are determined, and the position of the target center point is accurately determined through the radius deviation verification.

Benefits of technology

It improves the accuracy of obstacle position estimates, and enhances the ability of robots to avoid obstacles during path planning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119379784A_ABST
    Figure CN119379784A_ABST
Patent Text Reader

Abstract

The invention relates to the field of visual navigation, in particular to an obstacle position estimation method and device, equipment and a storage medium. The obstacle is a base type obstacle, and the method comprises the following steps: obtaining an image including the base type obstacle; determining an identification frame of the base type obstacle in the image; searching an estimated center point of the base type obstacle from a midpoint of a first edge of the identification frame to a first direction which is perpendicular to the first edge and faces the identification frame; determining a first radius according to the estimated center point and the midpoint, and determining a second radius along a direction parallel to the first edge according to the estimated center point; and determining the position of the target center point according to the radius deviation of the first radius and the second radius. The first direction is determined by the midpoint of the target center point, and the radius deviation verification is passed, so that the accuracy of the position of the target center point can be effectively improved, and more accurate path planning can be implemented.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of visual navigation, and in particular to a method, device, equipment and storage medium for estimating the position of an obstacle. Background Art

[0002] When performing tasks, a sweeping robot or other robot will identify obstacles in the scene and make path rules based on the identified obstacles in the scene, thereby reducing contact and collision with obstacles.

[0003] When robots such as sweepers use monocular cameras for image acquisition, since the monocular camera captures flat images, it is not conducive to obtaining the thickness of obstacles. Usually, an estimation method is used to determine the position of the obstacle. For example, for base-type obstacles such as fan bases and bar bases, the position of the object is determined by image blur. Since the accuracy of the estimated position is not high, it is not conducive to accurate path planning based on the obstacles. Summary of the invention

[0004] In view of this, the embodiments of the present application provide a method, device, equipment and storage medium for estimating the position of an obstacle to solve the problem in the prior art that the accuracy of the estimated obstacle position is not high, which is not conducive to accurate path planning for the obstacle.

[0005] A first aspect of an embodiment of the present application provides a method for estimating the position of an obstacle, wherein the obstacle is a base type obstacle, and the method includes:

[0006] Acquire an image including the above-mentioned base type obstacle;

[0007] Determine an identification frame of the base type obstacle in the image;

[0008] Find the estimated center point of the base type obstacle from the midpoint of the first edge of the identification frame in a first direction perpendicular to the first edge and toward the identification frame;

[0009] Determine a first radius according to the estimated center point and the midpoint, and determine a second radius according to the estimated center point along a direction parallel to the first edge;

[0010] The position of the target center point is determined according to the radius deviation between the first radius and the second radius.

[0011] In combination with the first aspect, in a first possible implementation manner of the first aspect, determining the position of the target center point according to the radius deviation between the first radius and the second radius includes:

[0012] updating the position of the estimated center point according to the correspondence between the predetermined radius deviation and the moving distance of the estimated center point;

[0013] The radius deviation is updated according to the position of the updated center point. If the radius deviation is greater than the deviation threshold, the position of the estimated center point is updated again until the radius deviation is less than or equal to the deviation threshold. The estimated center point with the radius deviation is finally determined as the target center point.

[0014] In combination with the first possible implementation manner of the first aspect, in a second possible implementation manner of the first aspect, updating the position of the estimated center point according to a correspondence between a predetermined radius deviation and a movement distance of the estimated center point includes:

[0015] When the radius deviation falls within the first deviation range, determining, according to the corresponding relationship, that the estimated center point moves by a first distance;

[0016] When the radius deviation falls within the second deviation range, determining, according to the corresponding relationship, to move the estimated center point by a second distance;

[0017] The radius deviation in the first deviation range is smaller than the radius deviation in the second deviation range, and the first distance is smaller than the second distance.

[0018] In combination with the first possible implementation manner of the first aspect, in a third possible implementation manner of the first aspect, before the estimated center point of the radius deviation is finally determined as the target center point, the method further includes:

[0019] When the radius deviation is less than or equal to the deviation threshold, comparing the first radius with a predetermined effective radius range;

[0020] When the first radius does not belong to the predetermined valid radius range, the estimated center point is determined to be an invalid center point.

[0021] In combination with the first aspect, in a fourth possible implementation manner of the first aspect, before searching for an estimated center point of the base-type obstacle in a first direction perpendicular to the first edge and toward the identification frame from the midpoint of the first edge of the identification frame, the method further includes:

[0022] Get the third distance between the above midpoint and the camera;

[0023] Determine the offset along the first direction starting from the midpoint according to the corresponding relationship between the preset distance and the offset;

[0024] A search starting point for the estimated center point is determined according to an offset from the midpoint along the first direction.

[0025] In combination with the fourth possible implementation manner of the first aspect, in a fifth possible implementation manner of the first aspect, before searching for the estimated center point of the base-type obstacle in a first direction perpendicular to the first edge and toward the identification frame from the midpoint of the first edge of the identification frame, the method further includes:

[0026] The maximum search range of the estimated center point is determined according to a predetermined ratio of the width of the first edge of the identification frame.

[0027] In combination with any one of the first aspect to the fifth possible implementation manner of the first aspect, in a sixth possible implementation manner of the first aspect, before searching for an estimated center point of the base-type obstacle in a first direction perpendicular to the first edge and toward the identification frame from the midpoint of the first edge of the identification frame, the method further includes:

[0028] Determining a first posture of the robot when acquiring the image, and a second posture of the robot when in a stationary state;

[0029] According to the first posture and the second posture, the position corresponding to the pixel in the image is corrected.

[0030] A second aspect of an embodiment of the present application provides a device for estimating the position of an obstacle, wherein the obstacle is a base type obstacle, and the device includes:

[0031] An image acquisition unit, used to acquire an image including the above-mentioned base type obstacle;

[0032] An identification frame determination unit, used to determine an identification frame of the base type obstacle in the image;

[0033] An estimated center point finding unit, used to find the estimated center point of the base type obstacle in a first direction perpendicular to the first edge and toward the identification frame from the midpoint of the first edge of the identification frame;

[0034] a radius determination unit, configured to determine a first radius according to the estimated center point and the midpoint, and to determine a second radius according to the estimated center point along a direction parallel to the first edge;

[0035] The target center point determination unit is used to determine the position of the target center point according to the radius deviation between the first radius and the second radius.

[0036] In conjunction with the second aspect, in a first possible implementation manner of the second aspect, the target center point determination unit includes:

[0037] A position updating subunit, used for updating the position of the estimated center point according to the correspondence between the predetermined radius deviation and the moving distance of the estimated center point;

[0038] The target center point determination subunit is used to update the above-mentioned radius deviation according to the position of the updated center point. If the above-mentioned radius deviation is greater than the above-mentioned deviation threshold, the position of the above-mentioned estimated center point is re-updated until the above-mentioned radius deviation is less than or equal to the above-mentioned deviation threshold, and the estimated center point with the above-mentioned radius deviation is finally determined as the target center point.

[0039] In combination with the first possible implementation manner of the second aspect, in a second possible implementation manner of the second aspect, the location updating subunit includes:

[0040] A first distance determination module, configured to determine, when the radius deviation falls within a first deviation range, a first distance for moving the estimated center point according to the corresponding relationship;

[0041] A second distance determination module, configured to determine, when the radius deviation falls within a second deviation range, a second distance for moving the estimated center point according to the corresponding relationship;

[0042] The radius deviation in the first deviation range is smaller than the radius deviation in the second deviation range, and the first distance is smaller than the second distance.

[0043] In combination with the first possible implementation manner of the second aspect, in a third possible implementation manner of the second aspect, the apparatus further includes:

[0044] a range comparison unit, configured to compare the first radius with a predetermined effective radius range when the radius deviation is less than or equal to the deviation threshold;

[0045] The invalid center point determining unit is used to determine that the estimated center point is an invalid center point when the first radius does not belong to a predetermined valid radius range.

[0046] In combination with the second aspect, in a fourth possible implementation manner of the second aspect, the apparatus further includes:

[0047] A third distance acquisition unit, used to acquire a third distance between the midpoint and the camera;

[0048] An offset determination unit, configured to determine an offset from the midpoint along the first direction according to a preset correspondence between the distance and the offset;

[0049] The search starting point determination unit is used to determine the search starting point of the estimated center point according to the offset along the first direction starting from the midpoint.

[0050] In combination with the fourth possible implementation manner of the second aspect, in a fifth possible implementation manner of the second aspect, the apparatus further includes:

[0051] The maximum search range determination unit is used to determine the maximum search range of the estimated center point according to a predetermined ratio of the width of the first edge of the identification frame.

[0052] In combination with any one of the second aspect to the fifth possible implementation manner of the second aspect, in a sixth possible implementation manner of the second aspect, the apparatus further includes:

[0053] a posture determination unit, used to determine a first posture of the robot when acquiring the above image, and a second posture of the above robot when it is in a stationary state;

[0054] The position correction unit is used to correct the position corresponding to the pixel in the above image according to the above first posture and the above second posture.

[0055] A third aspect of an embodiment of the present application provides an obstacle position estimation device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of any one of the methods of the first aspect when executing the computer program.

[0056] A fourth aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any one of the above methods in the first aspect are implemented.

[0057] Compared with the prior art, the embodiments of the present application have the following beneficial effects: the embodiments of the present application determine an identification frame of a base-type obstacle in an image, and use the midpoint of a first edge of the identification frame to search for an estimated center point of the base-type obstacle in a first direction perpendicular to the first edge and toward the identification frame; after determining the estimated center point, determine a first radius according to the estimated center point and the midpoint; determine a second radius according to the estimated center point in a direction parallel to the first edge; accurately determine the position of the target center point according to a radius deviation between the first radius and the second radius; since the target center point is searched in the first direction determined by the midpoint and the radius deviation is verified, the accuracy of the target center point position can be effectively improved, which is conducive to more accurate path planning. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0059] Figure 1It is a schematic diagram of an implementation flow of an obstacle position estimation method provided in an embodiment of the present application;

[0060] Figure 2 is a schematic diagram of an obstacle position estimation scenario provided by an embodiment of the present application;

[0061] Figure 3 It is a schematic diagram of an implementation flow of a physical coordinate correction method provided in an embodiment of the present application;

[0062] Figure 4 It is a schematic diagram of an implementation flow of a method for determining a search starting point provided in an embodiment of the present application;

[0063] Figure 5 It is a schematic diagram of an implementation process of a method for determining the position of a target center point provided in an embodiment of the present application;

[0064] Figure 6 is a schematic diagram of an obstacle position estimation device provided in an embodiment of the present application;

[0065] Figure 7 It is a schematic diagram of an obstacle position estimation device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0066] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.

[0067] In order to illustrate the technical solution described in this application, a specific embodiment is provided below for illustration.

[0068] Cleaning robots and other types of service robots need to move safely and efficiently in complex environments when performing cleaning, navigation or other tasks. To achieve this goal, robots are usually equipped with sensors for detecting obstacles, such as a monocular camera on a cleaning robot, which is used to perceive the surrounding environment and identify potential obstacles. These obstacles may include furniture, appliances or other household items, and the robot must be able to identify and navigate around them to avoid collisions and damage.

[0069] A monocular camera is a commonly used visual sensor that provides visual information of the robot's surroundings by capturing two-dimensional images. However, a major limitation of a monocular camera is that it can only provide planar images and lacks depth information, which makes it difficult to directly measure the size of obstacles, especially thickness. Therefore, robots usually need to rely on algorithmic estimation to infer the three-dimensional position and shape of obstacles.

[0070] In practical applications, for base-type obstacles, such as fan bases or bar stool bases, the robot may use fuzzy estimation methods to determine. However, due to the low accuracy of the estimation results, the robot cannot accurately avoid obstacles when performing path planning.

[0071] To solve the above problems, the present application embodiment proposes a method for estimating the position of an obstacle, and the method can be performed by a robot. The robot can include a sweeping robot or other robots that perform tasks. Figure 1 As shown, the method includes:

[0072] In S101 , an image including a base-type obstacle is acquired.

[0073] The base type obstacle in the embodiment of the present application is an obstacle including a base. The base type obstacle may include obstacles of round objects such as fan bases and bar stool bases.

[0074] The image in the embodiment of the present application may be an image captured by a monocular camera during the robot's task execution.

[0075] The base-type obstacles in the image in the embodiments of the present application can be identified by image recognition methods, including deep learning methods and random forest methods, to determine whether the objects included in the image are base-type obstacles.

[0076] In a possible implementation, it is also possible to identify whether the image includes a base-type obstacle by using the pre-set features of the base-type obstacle. For example, the features of the base-type obstacle may be pre-set, including the shape features and size features of round objects such as fan bases and bar stool bases at different angles. After the image is acquired, shape matching is performed based on the pre-set features of the base-type obstacle, including the shape features of round objects such as fan bases and bar stool bases, to determine whether the image includes a base-type obstacle.

[0077] In an embodiment of the present application, when a partial image including a base-type obstacle is identified in an image, such as the left side, right side, top side or bottom side of the base-type obstacle is located at the edge of the image, since the image of the base-type obstacle is incomplete, the image can continue to be acquired until the complete base-type obstacle is included in the image.

[0078] In S102, an identification frame of a base type obstacle in the image is determined.

[0079] The recognition frame of each object may be determined according to the object recognition method. Alternatively, a rectangular frame including the base type obstacle may be determined according to the determined shape information of the base type obstacle as the recognition frame of the base type obstacle.

[0080] The identification frame of the base type obstacle includes the entire area of ​​the base type obstacle. Figure 2 The scene image shown includes a base and a support column located on the base. A recognition frame indicated by a rectangular dotted line shape is determined according to the leftmost point, rightmost point, frontmost point and rearmost point of the base image. The edge of the recognition frame is parallel to the edge of the image, and the recognition frame does not include the area of ​​the support column part located on the base.

[0081] In S103, an estimated center point of the base type obstacle is found from the midpoint of the first edge of the identification frame in a first direction perpendicular to the first edge and toward the identification frame.

[0082] like Figure 2 As shown, after determining the identification frame of the base type obstacle, the size information of the identification frame can be determined, including the width w and height h of the identification frame. Among them, the width w is the length of the side parallel to the upper and lower edges of the image in the identification frame. The height is the length of the side parallel to the left and right edges of the image in the identification frame. After constructing the coordinate system of the image, the coordinates of the lower left corner vertex Pl and the lower right corner vertex Pr of the identification frame can be determined. For example, after constructing the coordinate system with the upper left corner vertex of the image as the origin of the coordinate system, the horizontal right direction is the x-axis direction, and the vertical direction is the y-axis direction, the coordinates of the lower left corner vertex Pl and the lower right corner vertex Pr of the identification frame are determined according to the constructed coordinate system. According to the determined coordinates of the lower left corner vertex Pl and the lower right corner vertex Pr of the identification frame, the coordinates of the midpoint Pc of the first edge of the identification frame where Pl and Pr are located can be obtained.

[0083] The first edge may be the lower edge of the recognition frame in the image, but is not limited thereto, and may also be the upper edge of the recognition frame in the image.

[0084] In order to further improve the accuracy of obstacle position estimation, before determining the position of the base-type obstacle, the embodiment of the present application can also perform distortion correction on the pixels in the image, including distortion correction of the coordinates of the recognition frame by methods such as perspective distortion correction. Based on the position of the pixel after distortion correction, combined with the distance determined by the monocular camera and the position of the monocular camera in the world coordinate system, the physical coordinates of each pixel on the recognition frame are determined. For example, the physical coordinates corresponding to the lower left vertex Pl, the lower right vertex Pr, and the midpoint Pc of the lower edge of the recognition frame can be determined as Pl_o, Pr_o, and Pc_o, respectively.

[0085] In a possible implementation, before finding the target center point, the physical coordinates of the pixels in the image can be corrected according to the robot's posture information, such as Figure 3 As shown, the correction process may include:

[0086] In S301 , a first posture of the robot when acquiring an image and a second posture of the robot when in a stationary state are determined.

[0087] Among them, the first posture of the robot when acquiring the image and the second posture of the robot in a stationary state can be determined by a posture sensor. For example, the first posture and the second posture can be obtained by IMU (full name of English is Inertial Measurement Unit, full name of Chinese is Inertial Measurement Unit).

[0088] Through external parameter calibration, the height of the monocular camera can be determined to be H. Through the posture sensor, the first pitch angle pitch1 and the first roll angle roll1 corresponding to the first posture can be determined, and the second pitch angle pitch2 and the second roll angle roll2 corresponding to the second posture can be determined.

[0089] Assuming that the x-axis direction of the physical coordinate system is the direction of the monocular camera, the y-axis direction is the same level as the x-axis direction and perpendicular to the x-axis, and the z-axis direction is the vertical upward direction, then the angle between the projection line of the line connecting any point Pt in the scene to the optical center of the monocular camera in the xz plane and the direction of gravity is: anglePtPitch=atan2(pt.x,H), and the angle between the projection line of the line connecting Pt to the optical center of the monocular camera in the yz plane and the direction of gravity is: anglePtRoll=atan2(pt.y,H). Among them, atan2(x,y) represents arctan(y / x).

[0090] In S302 , positions corresponding to pixels in the image are corrected according to the first posture and the second posture.

[0091] According to the first pitch angle pitch1 and the first roll angle roll1 corresponding to the first posture, the second pitch angle pitch2 and the second roll angle roll2 corresponding to the second posture, combined with the angle between the line connecting any point in the scene to the optical center of the monocular camera and the direction of gravity, the physical coordinates (the coordinates in the world coordinate system where the robot is located) Pt' (Pt'.x, Pt'.y) after the posture correction of the physical coordinates can be determined, which can be expressed as:

[0092] Pt'.x=H*tan(anglePtPitch-pitch1+pitch2)

[0093] pt'.y=H*tan(anglePtRoll-roll1+roll2)

[0094] The determined position of the target center point can be converted into a real position in the world coordinate system according to the corrected physical coordinates.

[0095] When determining the position of the target center point, the search can be performed toward the center of the recognition frame based on the determined midpoint. To improve the search efficiency, the search starting point can be determined based on the distance between the midpoint and the monocular camera. This process can be performed as follows: Figure 4 As shown, including:

[0096] In S401, a third distance between the midpoint and the camera is obtained.

[0097] like Figure 2 As shown, when the robot's monocular camera is installed at a predetermined height, the robot's external and internal parameters can be calibrated in advance, including the height of the single-card camera. Combined with the size of the base-type obstacle, the distance between the pixel point in the image and the monocular camera can be identified. For example, the third distance between the midpoint and the camera can be obtained.

[0098] In S402, the offset along the first direction starting from the midpoint is determined according to a preset correspondence between the distance and the offset.

[0099] That is, the first direction is the direction from the midpoint to the center of the identification frame, that is, the direction perpendicular to the first edge (the lower edge of the identification frame) and from the midpoint to the side where the identification frame is located.

[0100] When the distance between the midpoint and the monocular camera is closer, the image of the base-type obstacle in the acquired image is larger, and therefore, the distance between the coordinates of the target center point and the midpoint is also larger, and the estimated center point search can be performed after a larger offset in the first direction. If the distance between the midpoint and the monocular camera is farther, the image of the base-type obstacle in the acquired image is smaller, and therefore, the distance between the coordinates of the target center point and the midpoint is also smaller, and the estimated center point search can be performed after a smaller offset in the first direction.

[0101] For example, a plurality of distance ranges may be preset, and the larger the distance in the distance range to which the third distance belongs, the larger the offset for searching the starting point is determined to be.

[0102] For example, the distance thresholds can be set to include 0.2 meters, 0.25 meters, and 0.35 meters, the third distance is d, and the coordinates of the midpoint are (Pc.x, Pc.y). If d is less than 0.2 meters, the search starting point Pc' of the initial search is the pixel (Pc.x, Pc.y-36), that is, it is offset 36 pixels in the first direction as the search starting point; if d is greater than 0.2 and less than 0.25 meters, the search starting point Pc' of the initial search is the pixel (Pc.x, Pc.y-30), that is, it is offset 30 pixels in the first direction as the search starting point; if d is greater than 0.25 and less than 0.35 meters, the search starting point Pc' of the initial search is the pixel (Pc.x, Pc.y-12), that is, it is offset 12 pixels in the first direction as the search starting point; if d is greater than 0.35 meters, the search starting point Pc' of the initial search is the pixel (Pc.x, Pc.y-6), that is, it is offset 6 pixels in the first direction as the search starting point. If Pc'.y is less than 0 in the coordinates of the search starting point, Pc'.y=0.

[0103] In S403, a search starting point for estimating the center point is determined according to an offset along a first direction from the midpoint.

[0104] After determining the offset according to the distance between the midpoint and the monocular camera, the search starting point of the estimated center point can be determined along the first direction according to the offset, thereby effectively reducing the calculation of the estimated center point and improving the calculation efficiency of the target center point.

[0105] In a possible implementation, the embodiment of the present application may also determine the maximum search range of the estimated center point according to a predetermined ratio of the width of the first edge. Figure 2As shown, the first edge is the lower edge of the identification frame, the width of the lower edge is w, and the predetermined ratio of the width of the lower edge can be a value such as w / 3. That is to say, when the estimated center point starts searching from the search starting point, if the search reaches the boundary of the maximum search range and still no valid target center point is found, the recognition of the position of the base type obstacle in the image can be suspended. Alternatively, the predetermined ratio of the width of the lower edge can be compared with the length of the left edge or the right edge of the identification frame. If the predetermined ratio of the width of the lower edge is greater than the length of the left edge or the right edge, the maximum search range is determined according to the length of the left edge or the right edge.

[0106] When searching based on the search starting point, start from the search starting red box and determine the estimated center point in the first direction until the target center point is found or the search exceeds the maximum search range.

[0107] In S104, a first radius is determined according to the estimated center point and the midpoint, and a second radius is determined according to the estimated center point along a direction parallel to the first edge.

[0108] When determining the first radius based on the estimated center point and the midpoint, and determining the second radius based on the estimated center point along a direction parallel to the first edge, the relevant pixel points may be subjected to distortion correction, and then the physical coordinates of the relevant pixel points may be calculated. After the physical coordinates of the relevant pixel points are corrected by the posture sensor, the first radius determined by the estimated center point and the midpoint, and the second radius determined by the estimated center point along a direction parallel to the first edge may be calculated.

[0109] Among them, the relevant pixel points include the estimated center point Pc', the midpoint Pc, and the intersection points of the parallel lines parallel to the first edge determined according to the estimated center point and the identification frame are Pl' and Pr' respectively. After distortion correction and posture correction, the physical coordinates corresponding to the estimated center point Pc' are Pc'_o, the physical coordinates corresponding to the midpoint Pc are Pc'_o, the physical coordinates corresponding to the intersection point Pl' are Pl'_o, and the physical coordinates corresponding to the intersection point Pr' are Pr'_o. Therefore, the determined first radius radiu1 is the distance from Pc_o to Pc'_o, and the second radius radiu2 is half the distance from Pl'_o to Pr'_o.

[0110] In S105 , the position of the target center point is determined according to the radius deviation between the first radius and the second radius.

[0111] The radius deviation radiubias between the first radius radiu1 and the second radius radiu2 is, that is, the absolute value of the difference between the first radius radiu1 and the second radius radiu2.

[0112] When determining the position of the target center point based on the radius deviation, it can be done as follows Figure 5 As shown, including:

[0113] In S501, the position of the estimated center point is updated according to the correspondence between the predetermined radius deviation and the movement distance of the estimated center point.

[0114] When the radius deviation is greater than a predetermined deviation threshold, the position of the estimated center point may be updated according to the correspondence between the radius deviation and the moving distance of the estimated center point, that is, other pixels are selected as the estimated center point for calculation according to the first direction.

[0115] In order to improve the search efficiency, the number of pixels that need to be moved when the next center point is estimated can be determined according to the size of the radius deviation.

[0116] For example, multiple deviation ranges may be set, including a first deviation range and a second deviation range. If the radius deviation belongs to the first deviation range, the estimated center point moves a first distance according to the corresponding relationship; if the radius deviation belongs to the second deviation range, the estimated center point moves a second distance according to the corresponding relationship. When any radius deviation in the first deviation range is smaller than any radius deviation in the second deviation range, the first distance is smaller than the second distance.

[0117] Specifically, if the radius deviation is less than 0.02 meters, the current estimated center point can be considered to be the target center point, the result can be output and the search calculation can be exited. The Pc'_o physical coordinate can be used as the center of the object, and the second radius radiu2 is determined as the radius of the base type obstacle. If the radius deviation is greater than 0.02 meters and less than 0.05 meters, the position of Pc' can be moved up by 2 pixels as the updated estimated center point, and the validity of the updated estimated center point can continue to be calculated. If the radius deviation is greater than 0.05 meters, the position of the updated estimated center point Pc' can be moved up by 4 pixels and the validity of the updated estimated center point can be calculated.

[0118] In S502, the radius deviation is updated according to the position of the updated center point. If the radius deviation is greater than the deviation threshold, the position of the estimated center point is re-updated until the radius deviation is less than or equal to the deviation threshold. The estimated center point with the final radius deviation is used as the target center point.

[0119] For the updated estimated center point, calculate the first radius and the second radius corresponding to the updated estimated center point, and determine whether the radius deviation of the first radius and the second radius is less than or equal to the deviation threshold. If this requirement is not met, further update the estimated center point according to the size of the radius deviation until the updated radius deviation is less than or equal to the deviation threshold. At this time, it can be determined that the current estimated center point is the target center point, and the current first radius or second radius is the radius of the base type obstacle.

[0120] In a possible implementation, when the radius deviation is less than or equal to the deviation threshold, the first radius may be further compared with a predetermined effective radius range. If it does not fall within the predetermined effective radius range, the current estimated center point may be determined to be an invalid center point. The effective radius range may be a range greater than 0.5 meters or less than 0.1 meters. Since other obstacles similar to base-type obstacles may exist in the scene, the effective radius range may reduce the impact of other similar obstacles on the accuracy of position estimation.

[0121] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0122] Figure 6 A schematic diagram of an obstacle position estimation device provided in an embodiment of the present application, wherein the obstacle is a base type obstacle, and the device includes:

[0123] The image acquisition unit 601 is used to acquire an image including a base type obstacle.

[0124] The identification frame determining unit 602 is used to determine the identification frame of the base type obstacle in the image.

[0125] The estimated center point finding unit 603 is used to find the estimated center point of the base type obstacle in a first direction perpendicular to the first edge of the identification frame and toward the identification frame from the midpoint of the first edge of the identification frame.

[0126] The radius determination unit 604 is used to determine a first radius according to the estimated center point and the midpoint, and to determine a second radius along a direction parallel to the first edge according to the estimated center point.

[0127] The target center point determination unit 605 is used to determine the position of the target center point according to the radius deviation between the first radius and the second radius.

[0128] In conjunction with the second aspect, in a first possible implementation manner of the second aspect, the target center point determination unit includes:

[0129] The position updating subunit is used to update the position of the estimated center point according to the corresponding relationship between the predetermined radius deviation and the moving distance of the estimated center point.

[0130] The target center point determination subunit is used to update the radius deviation according to the updated center point position. If the radius deviation is greater than the deviation threshold, the estimated center point position is re-updated until the radius deviation is less than or equal to the deviation threshold. The estimated center point with the final radius deviation is used as the target center point.

[0131] In combination with the first possible implementation manner of the second aspect, in a second possible implementation manner of the second aspect, the location updating subunit includes:

[0132] The first distance determination module is used to determine the first distance of the estimated center point movement according to the corresponding relationship when the radius deviation belongs to the first deviation range.

[0133] The second distance determination module is used to determine the second distance of the estimated center point movement according to the corresponding relationship when the radius deviation belongs to the second deviation range.

[0134] The radius deviation in the first deviation range is smaller than the radius deviation in the second deviation range, and the first distance is smaller than the second distance.

[0135] In combination with the first possible implementation manner of the second aspect, in a third possible implementation manner of the second aspect, the apparatus further includes:

[0136] The range comparison unit is used to compare the first radius with a predetermined effective radius range when the radius deviation is less than or equal to the deviation threshold.

[0137] The invalid center point determining unit is used to determine that the estimated center point is an invalid center point when the first radius does not belong to a predetermined valid radius range.

[0138] In combination with the second aspect, in a fourth possible implementation manner of the second aspect, the apparatus further includes:

[0139] The third distance acquisition unit is used to acquire the third distance between the midpoint and the camera.

[0140] The offset determination unit is used to determine the offset along the first direction starting from the midpoint according to the corresponding relationship between the preset distance and the offset.

[0141] The search starting point determination unit is used to determine the search starting point of the estimated center point according to the offset along the first direction starting from the midpoint.

[0142] In combination with the fourth possible implementation manner of the second aspect, in a fifth possible implementation manner of the second aspect, the apparatus further includes:

[0143] The maximum search range determination unit is used to determine the maximum search range of the estimated center point according to a predetermined ratio of the width of the first edge of the recognition frame.

[0144] In combination with any one of the second aspect to the fifth possible implementation manner of the second aspect, in a sixth possible implementation manner of the second aspect, the apparatus further includes:

[0145] The posture determination unit is used to determine a first posture of the robot when acquiring an image, and a second posture of the robot when it is in a stationary state.

[0146] The position correction unit is used to correct the position corresponding to the pixel in the image according to the first posture and the second posture.

[0147] Figure 6 The obstacle position estimation device shown is Figure 1 The obstacle position estimation method shown corresponds to the one shown in FIG.

[0148] Figure 7 is a schematic diagram of an obstacle position estimation device provided in an embodiment of the present application. Figure 7 As shown, the obstacle position estimation device 7 of this embodiment includes: a processor 70, a memory 71, and a computer program 72 stored in the memory 71 and executable on the processor 70, such as an obstacle position estimation program. When the processor 70 executes the computer program 72, the steps in the above-mentioned obstacle position estimation method embodiments are implemented. Alternatively, when the processor 70 executes the computer program 72, the functions of each module / unit in the above-mentioned device embodiments are implemented.

[0149] Exemplarily, the computer program 72 may be divided into one or more modules / units, which are stored in the memory 71 and executed by the processor 70 to complete the present application. The one or more modules / units may be a series of computer program instruction segments capable of completing specific functions, which are used to describe the execution process of the computer program 72 in the obstacle position estimation device 7.

[0150] The obstacle position estimation device 7 may be a computing device such as a desktop computer, a notebook, a PDA, or a cloud server. The obstacle position estimation device may include, but is not limited to, a processor 70 and a memory 71. Those skilled in the art will appreciate that Figure 7 It is only an example of an obstacle position estimation device 7 and does not constitute a limitation of the obstacle position estimation device 7. It may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the obstacle position estimation device may also include input and output devices, network access devices, buses, etc.

[0151] The processor 70 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.

[0152] The memory 71 may be an internal storage unit of the obstacle position estimation device 7, such as a hard disk or memory of the obstacle position estimation device 7. The memory 71 may also be an external storage device of the obstacle position estimation device 7, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. equipped on the obstacle position estimation device 7. Further, the memory 71 may also include both an internal storage unit and an external storage device of the obstacle position estimation device 7. The memory 71 is used to store the computer program and other programs and data required by the obstacle position estimation device. The memory 71 may also be used to temporarily store data that has been output or is to be output.

[0153] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.

[0154] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0155] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0156] In the embodiments provided in the present application, it should be understood that the disclosed devices / terminal equipment and methods can be implemented in other ways. For example, the device / terminal equipment embodiments described above are only schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple 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, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0157] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0158] 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.

[0159] If the integrated module / 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 present application implements all or part of the process in the above-mentioned embodiment method, and can also be completed by hardware related to computer program instructions. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media do not include electric carrier signals and telecommunication signals.

[0160] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.

Claims

1. A method for estimating the position of an obstacle, characterized in that: The obstacle is a base type obstacle, and the method includes: acquiring an image including the base-type obstacle; Determine an identification frame of the base type obstacle in the image; Finding an estimated center point of the base-type obstacle from a midpoint of a first edge of the identification frame in a first direction perpendicular to the first edge and toward the identification frame; Determine a first radius according to the estimated center point and the midpoint, and determine a second radius according to the estimated center point along a direction parallel to the first edge; The position of the target center point is determined according to a radius deviation between the first radius and the second radius.

2. The method according to claim 1, characterized in that Determining the position of the target center point according to the radius deviation between the first radius and the second radius includes: updating the position of the estimated center point according to a correspondence between a predetermined radius deviation and a moving distance of the estimated center point; The radius deviation is updated according to the position of the updated center point. If the radius deviation is greater than the preset deviation threshold, the position of the estimated center point is re-updated until the radius deviation is less than or equal to the deviation threshold. The estimated center point of the radius deviation is finally determined as the target center point.

3. The method according to claim 2, characterized in that Updating the position of the estimated center point according to the correspondence between the predetermined radius deviation and the moving distance of the estimated center point includes: When the radius deviation belongs to a first deviation range, determining, according to the corresponding relationship, a first distance for moving the estimated center point; When the radius deviation belongs to a second deviation range, determining, according to the corresponding relationship, a second distance for moving the estimated center point; The radius deviation in the first deviation range is smaller than the radius deviation in the second deviation range, and the first distance is smaller than the second distance.

4. The method according to claim 2, characterized in that: Before taking the estimated center point of the radius deviation finally determined as the target center point, the method further comprises: When the radius deviation is less than or equal to the deviation threshold, comparing the first radius with a predetermined effective radius range; When the first radius does not belong to a predetermined valid radius range, the estimated center point is determined to be an invalid center point.

5. The method according to claim 1, characterized in that Before searching for an estimated center point of the base-type obstacle in a first direction perpendicular to the first edge and toward the identification frame from the midpoint of the first edge of the identification frame, the method further includes: Obtaining a third distance between the midpoint and the camera; Determining the offset along the first direction starting from the midpoint according to a preset correspondence between the distance and the offset; A search starting point for the estimated center point is determined according to an offset from the midpoint along the first direction.

6. The method according to claim 5, characterized in that Before searching for an estimated center point of the base-type obstacle in a first direction perpendicular to the first edge and toward the identification frame from the midpoint of the first edge of the identification frame, the method further includes: The maximum search range of the estimated center point is determined according to a predetermined ratio of the width of the first edge of the identification frame.

7. The method according to any one of claims 1 to 6, characterized in that: Before searching for an estimated center point of the base-type obstacle in a first direction perpendicular to the first edge and toward the identification frame from the midpoint of the first edge of the identification frame, the method further includes: determining a first posture of the robot when acquiring the image, and a second posture of the robot when in a stationary state; According to the first posture and the second posture, positions corresponding to pixels in the image are corrected.

8. An obstacle position estimation device, characterized in that: The obstacle is a base type obstacle, and the device comprises: An image acquisition unit, used to acquire an image including the base type obstacle; An identification frame determining unit, used to determine an identification frame of the base type obstacle in the image; An estimated center point finding unit, used to find an estimated center point of the base type obstacle in a first direction perpendicular to the first edge and toward the identification frame from the midpoint of the first edge of the identification frame; a radius determination unit, configured to determine a first radius according to the estimated center point and the midpoint, and determine a second radius according to the estimated center point along a direction parallel to the first edge; A target center point determination unit is used to determine the position of the target center point according to a radius deviation between the first radius and the second radius.

9. An obstacle position estimation 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 computer program, the steps of the method according to any one of claims 1 to 7 are implemented.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.