Method and apparatus for processing robot positioning data, and robot device

By identifying dense and non-dense regions in robot localization data processing and performing feature line detection in non-dense regions, the problem of long processing time for detecting line feature data is solved, improving processing efficiency and reducing hardware costs.

CN115880367BActive Publication Date: 2025-11-28FOSHAN SHUNDE MIDEA ELECTRONICS TECH CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111152697.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-29
Publication Date
2025-11-28
Estimated Expiration
2041-09-29

AI Technical Summary

Technical Problem

In robot localization scenarios, the process of detecting line feature data is time-consuming, resulting in low efficiency in localization data processing.

Method used

By acquiring the pixel gradient of each pixel unit in the target environment image, dense and non-dense regions are identified, and feature line detection is selectively performed in non-dense regions to obtain line feature data to assist robot localization.

Benefits of technology

It shortens the feature line detection time, improves the processing efficiency of robot positioning data, and reduces the performance requirements and costs of computing hardware.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115880367B_ABST
    Figure CN115880367B_ABST
Patent Text Reader

Abstract

The application discloses a robot positioning data processing method and device and a robot device. The method comprises the following steps: obtaining pixel gradients of each pixel unit in a target environment image, and taking a pixel unit with a pixel gradient exceeding a preset gradient threshold as a target pixel unit; determining at least one dense area and at least one non-dense area in the target environment image, the target pixel unit density in the dense area being higher than a preset density threshold, and the target pixel unit density in the non-dense area being lower than or equal to the preset density threshold; and detecting a first feature line in the non-dense area to obtain line feature data, the line feature data being used for assisting robot positioning. The technical scheme provided by the application can improve the processing efficiency of robot positioning data.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the technical field of robots, and particularly relates to a robot positioning data processing method and device and a robot device. BACKGROUND

[0002] In a robot positioning scenario, for example, in a scenario in which an indoor robot is positioned, positioning is generally performed by collecting an environment image and analyzing the environment image. In the process of analyzing the environment image, line feature data and point feature data generally need to be detected in the image. However, a long time is consumed in the process of detecting the feature line, which leads to low processing efficiency for positioning data. Therefore, how to improve the processing efficiency for robot positioning data is a technical problem to be solved. SUMMARY

[0003] Embodiments of the present application provide a robot positioning data processing method, device and robot device, thereby improving the processing efficiency for robot positioning data at least to some extent.

[0004] Other features and advantages of the present application will become apparent from the following detailed description, or will be learned by practice of the present application.

[0005] According to a first aspect of embodiments of the present application, a robot positioning data processing method is provided. The method comprises: obtaining pixel gradients of each pixel unit in a target environment image, and regarding a pixel unit whose pixel gradient exceeds a preset gradient threshold as a target pixel unit; determining at least one dense region and at least one non-dense region in the target environment image, the target pixel unit density in the dense region being higher than a preset density threshold, and the target pixel unit density in the non-dense region being lower than or equal to the preset density threshold; and detecting a first feature line in the non-dense region to obtain line feature data, the line feature data being used to assist robot positioning.

[0006] In some embodiments of the present application, based on the foregoing scheme, the determining at least one dense region and at least one non-dense region in the target environment image comprises: segmenting the target environment image into at least one image unit, and determining a target pixel unit density of each image unit; marking an image unit whose target pixel unit density is higher than the preset density threshold as a dense image unit, and marking an image unit whose target pixel unit density is lower than or equal to the preset density threshold as a non-dense image unit; merging adjacent dense image units and merging adjacent non-dense image units to obtain the at least one dense region and the at least one non-dense region.

[0007] In some embodiments of the present application, based on the foregoing scheme, the determining of the target pixel unit density of each image unit comprises: counting the number of target pixel units in each image unit; and calculating the number ratio of the target pixel units based on the number of target pixel units and the total number of pixel units of each image unit, and determining the number ratio as the target pixel unit density of the image unit.

[0008] In some embodiments of the present application, based on the foregoing scheme, the method further comprises: if the number of the first feature lines is less than a predetermined feature line number threshold, detecting a second feature line in the dense area to obtain line feature data.

[0009] In some embodiments of the present application, based on the foregoing scheme, the detecting of the second feature line in the dense area comprises: selecting a dense area with a region area greater than a predetermined area threshold in the at least one dense area as a candidate dense area; and detecting a second feature line in the candidate dense area.

[0010] In some embodiments of the present application, based on the foregoing scheme, the detecting of the second feature line in the candidate dense area comprises: dividing a candidate dense area with the largest region area in the candidate dense area into a detection sequence, wherein the candidate dense areas in the detection sequence comprise a detectable area; detecting a second feature line in the detectable area and determining an undetectable area based on the second feature line in the detectable area; if the sum of the number of the first feature lines and the number of the second feature lines is less than the predetermined feature line number threshold, reducing the undetectable area to update the detectable area; taking the updated detectable area as a new detectable area and returning to execute the step of detecting a second feature line in the detectable area.

[0011] In some embodiments of the present application, based on the foregoing scheme, the method further comprises: determining the area of the detectable area as a detectable area; and if there is a candidate dense area with a region area greater than the detectable area in the candidate dense areas that are not divided into the detection sequence, dividing the candidate dense area greater than the detectable area into the detection sequence.

[0012] In some embodiments of the present application, based on the foregoing scheme, the method further comprises: for each candidate dense area in the detection sequence, if the area proportion of the detectable area corresponding to the candidate dense area in the corresponding candidate dense area is less than a predetermined proportion threshold, stopping the detection of the second feature line in the corresponding candidate dense area.

[0013] In some embodiments of the present application, based on the foregoing scheme, the method further comprises: if the area proportion of the detectable area corresponding to each candidate dense area in the corresponding candidate dense area is less than a predetermined proportion threshold, stopping the detection of the second feature line.

[0014] In some embodiments of the present application, based on the foregoing scheme, the method further comprises: if the sum of the number of the first feature lines and the number of the second feature lines is greater than or equal to the predetermined feature line number threshold, stopping the detection of the second feature line.

[0015] In some embodiments of the present application, based on the foregoing scheme, after detecting the first feature line in the non-dense area to obtain the line feature data, the method further comprises: obtaining the point feature data of the feature points in the target environment image; and based on the line feature data and the point feature data, positioning the robot.

[0016] In some embodiments of the present application, based on the foregoing scheme, the obtaining of the point feature data of the feature points in the target environment image comprises: detecting the feature points in the dense area and the non-dense area to obtain the point feature data; and if the number of detected feature points is greater than or equal to a predetermined feature point number threshold, stopping the detection of the feature points.

[0017] In some embodiments of the present application, based on the foregoing scheme, the positioning of the robot based on the line feature data and the point feature data comprises: determining a target re-projection error corresponding to the point feature data and a target re-projection error corresponding to the line feature data based on the point feature data and the line feature data of the target environment image; and positioning the robot based on the target re-projection error corresponding to the point feature data and the target re-projection error corresponding to the line feature data.

[0018] In some embodiments of the present application, based on the foregoing scheme, the determining of the target reprojection error corresponding to the point feature data and the target reprojection error corresponding to the line feature data based on the point feature data and the line feature data of the target environment image comprises: determining initial reprojection errors corresponding to the point feature data and the line feature data based on the point feature data and the line feature data of the target environment image; obtaining point feature correction weights corresponding to the point feature data and line feature correction weights corresponding to the line feature data, the point feature correction weights being used to correct the initial reprojection errors corresponding to the point feature data, and the line feature correction weights being used to correct the initial reprojection errors corresponding to the line feature data; correcting the initial reprojection errors corresponding to the point feature data based on the point feature correction weights to obtain the target reprojection errors corresponding to the point feature data; and correcting the initial reprojection errors corresponding to the line feature data based on the line feature correction weights to obtain the target reprojection errors corresponding to the line feature data.

[0019] In some embodiments of the present application, based on the foregoing scheme, the obtaining of the point feature correction weights corresponding to the point feature data and the line feature correction weights corresponding to the line feature data comprises: dividing the target environment image into a plurality of image regions; determining a corresponding feature point quantity weight or a feature line quantity weight for each image region, the feature point quantity weight being positively correlated with the number of feature points falling within the corresponding image region, and the feature line quantity weight being positively correlated with the number of feature lines falling within the corresponding image region; determining a position weight for each image region, the position weight being negatively correlated with the length of the corresponding image region from the center of the target environment image; determining the point feature correction weights corresponding to the point feature data based on the feature point quantity weights corresponding to the image regions and the position weights corresponding to the image regions, and determining the line feature correction weights corresponding to the line feature data based on the point feature correction weights; or determining the line feature correction weights corresponding to the line feature data based on the feature line quantity weights corresponding to the image regions and the position weights corresponding to the image regions, and determining the point feature correction weights corresponding to the point feature data based on the line feature correction weights.

[0020] In some embodiments of the present application, by obtaining pixel gradients of each pixel unit in a target environment image, and taking the pixel unit whose pixel gradient exceeds a preset gradient threshold as a target pixel unit, and then determining a high-density region of target pixel units and a non-high-density region of target pixel units in the target image, in which the density of target pixel units in the high-density region is higher than a preset density threshold and the density of target pixel units in the non-high-density region is lower than or equal to the preset density threshold, the first feature line can be selectively detected in the non-high-density region, and line feature data for assisting robot positioning is obtained. Since the time-consuming required for identifying feature lines in the image is relatively long, under the premise of detecting the required number of line features, by selectively detecting feature lines in the non-high-density region, the feature line detection on the entire image can be avoided, and the increase in the time-consuming caused by detecting redundant feature lines can be avoided. It can be seen that the technical solution of the embodiments of the present application can shorten the time-consuming required for detecting feature lines, thereby improving the processing efficiency of robot positioning data, and reducing the performance requirements of the computing hardware, thereby reducing the cost.

[0021] According to a second aspect of the embodiments of the present application, a processing device for robot positioning data is provided, which comprises: a first obtaining unit configured to obtain pixel gradients of each pixel unit in a target environment image, and take the pixel unit whose pixel gradient exceeds a preset gradient threshold as a target pixel unit; a first determining unit configured to determine at least one high-density region and at least one non-high-density region in the target environment image, in which the density of target pixel units in the high-density region is higher than a preset density threshold, and the density of target pixel units in the non-high-density region is lower than or equal to the preset density threshold; and a detecting unit configured to detect a first feature line in the non-high-density region to obtain line feature data, which is used for assisting robot positioning.

[0022] According to a third aspect of the embodiments of the present application, a robot device is provided, which comprises one or more processors and one or more memories, and the one or more memories store at least one program code, which is loaded and executed by the one or more processors to implement the method of any of the embodiments of the first aspect.

[0023] The beneficial effects of the above-mentioned second aspect to third aspect and each embodiment can refer to the beneficial effects of the above-mentioned first aspect and each embodiment, which will not be repeated here.

[0024] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present application. BRIEF DESCRIPTION OF DRAWINGS

[0025] The accompanying drawings, which are incorporated herein and constitute part of the specification, illustrate embodiments consistent with the application and, together with the description, further serve to explain the principles of the application. It is to be understood that the drawings are only schematic, and that they do not purport to be to scale with respect to one another. The embodiments will be described with reference to the drawings in which:

[0026] Figure 1 A schematic diagram of an exemplary system architecture to which the technical solutions of the embodiments of the present application can be applied is shown;

[0027] Figure 2 A flowchart of a method for processing robot positioning data in the embodiments of the present application is shown;

[0028] Figure 3 A detailed flowchart of determining at least one dense area and at least one non-dense area in the target environment image in the embodiments of the present application is shown;

[0029] Figure 4 A detailed flowchart of detecting a second feature line in the dense area in the embodiments of the present application is shown;

[0030] Figure 5 A detailed flowchart of detecting a second feature line in the dense area in the embodiments of the present application is shown;

[0031] Figure 6 A detailed flowchart of detecting a second feature line in the dense area in the embodiments of the present application is shown;

[0032] Figure 7 A detailed flowchart of detecting a second feature line in the dense area in the embodiments of the present application is shown;

[0033] Figure 8 A flowchart of a method after detecting a first feature line in the non-dense area to obtain line feature data in the embodiments of the present application is shown;

[0034] Figure 9 A detailed flowchart of obtaining a point feature correction weight corresponding to point feature data and a line feature correction weight corresponding to line feature data in the embodiments of the present application is shown;

[0035] Figure 10 A flowchart of a method for processing robot positioning data in the embodiments of the present application is shown;

[0036] Figure 11 A flowchart of a method for processing robot positioning data in the embodiments of the present application is shown;

[0037] Figure 12 A block diagram of a robot positioning data processing apparatus in an embodiment of the present application is shown;

[0038] Figure 13 A structural schematic diagram of a robot device in an embodiment of the present application is shown. DETAILED DESCRIPTION

[0039] The technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work fall within the scope of protection of the present application.

[0040] In addition, the described features, structures or characteristics can be combined in any suitable manner in one or more embodiments. In the following description, many specific details are provided to give a full understanding of the embodiments of the present application. However, those skilled in the art will realize that the technical solutions of the present application can be practiced without one or more of the specific details, or other methods, components, devices, steps, etc. can be used. In other cases, well-known methods, devices, implementations or operations are not shown or described in detail to avoid obscuring the aspects of the present application.

[0041] The block diagrams shown in the drawings are only functional entities, which do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0042] The flowcharts shown in the drawings are only exemplary illustrations, which do not necessarily include all contents and operations / steps, and are not necessarily executed in the described order. For example, some operations / steps can be further decomposed, and some operations / steps can be combined or partially combined, so that the actual execution order can be changed according to the actual situation.

[0043] In the description of the present application, it should be understood that the terms "first", "second" are used only for the purpose of description, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined with "first", "second" can explicitly or implicitly include one or more of the features. In the description of the present application, unless otherwise specified, the meaning of "a plurality of" is two or more.

[0044] Figure 1 A schematic diagram of an exemplary system architecture to which the technical solutions of the embodiments of the present application can be applied is shown.

[0045] As shown in Figure 1 The system architecture can include a robot device 101, a network 102, and a server (e.g., a cloud server) 103. The network 102 is a medium for providing a communication link between the robot device 101 and the server 103. The network 102 can include various connection types, such as wired communication links, wireless communication links, and the like.

[0046] In an embodiment of the present application, the robot device 101 can send a target environment image 104 of an environment (e.g., an indoor environment) in which the robot device 101 is located to the server 103. The server 103 can then obtain pixel gradients of each pixel unit in the target environment image 104 and determine target pixel units having pixel gradients exceeding a preset gradient threshold. The server 103 can then determine at least one dense region and at least one non-dense region in the target environment image 104. The target pixel units in the dense region have a density higher than a preset density threshold, and the target pixel units in the non-dense region have a density lower than or equal to the preset density threshold. Finally, the server 103 can detect first feature lines in the non-dense region to obtain line feature data, which can be used to assist robot positioning.

[0047] In the present application, by determining a dense region in which target pixel units have a density higher than a preset density threshold and a non-dense region in which target pixel units have a density lower than or equal to the preset density threshold, the first feature lines can be selectively detected in the non-dense region to obtain line feature data for assisting robot positioning. Since the time required for identifying feature lines in an image is relatively long, by selectively detecting feature lines in the non-dense region under the premise of detecting a required number of line features, the entire image can be avoided from being detected for feature lines, and thus the calculation time can be avoided from being increased due to the detection of excessive feature lines. It can be seen that the technical solution of the present embodiment can shorten the time required for detecting feature lines, thereby improving the processing efficiency of robot positioning data and reducing the performance requirements for the calculation hardware, and thus reducing the cost.

[0048] It should be noted that the robot positioning data processing method provided by the present embodiment can be executed by the server 103, and correspondingly, the robot positioning data processing apparatus is generally arranged in the server 103. However, in other embodiments of the present application, the robot device itself can also have similar functions as the server 103, and thus execute the robot positioning data processing scheme provided by the present embodiment.

[0049] It should also be noted that Figure 1The number of robot devices, networks and servers in the cloud computing system shown in FIG. 1 is only illustrative. According to the implementation needs, the server can be a stand-alone physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud end providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDNs, and basic cloud computing services such as big data and artificial intelligence platforms.

[0050] It should be explained that the cloud computing as described above is a computing mode that distributes computing tasks on a resource pool composed of a large number of computing devices, so that various application systems can obtain computing power, storage space and information services according to needs. The network providing resources is called "cloud". The resources in the "cloud" are infinitely expandable to users and can be obtained at any time, used on demand, and expanded at any time. By establishing a cloud computing resource pool (referred to as a cloud platform, generally referred to as an IaaS (Infrastructure as a Service) platform), a plurality of types of virtual resources are deployed in the resource pool for external customers to select and use. The cloud computing resource pool mainly includes: computing devices (virtualized machines containing operating systems), storage devices, network devices.

[0051] In the present application, it should also be explained that the robot device home service robot proposed in the present application, such as a sweeping robot, can also be a public place service robot, such as a restaurant robot, a hospital robot, etc.

[0052] The implementation details of the technical solutions of the embodiments of the present application are described in detail as follows:

[0053] Figure 2 A flowchart of a robot positioning data processing method in the embodiments of the present application is shown, which can be executed by a device with computing processing function, such as the robot device 101 or the server 103 shown in FIG. 1. Figure 1 Figure 2 As shown in FIG. 2, the robot positioning data processing method at least includes steps 210 to 250, which are described in detail as follows:

[0054] In step 210, the pixel gradient of each pixel unit in the target environment image is obtained, and the pixel unit with a pixel gradient exceeding a preset gradient threshold is taken as a target pixel unit.

[0055] In the present application, the robot can move in a moving environment (such as an indoor environment), and the robot can determine its own position and attitude by analyzing the collected image of the moving environment. ​

[0056] In the present application, an image of a target environment in which a robot is located can be acquired by an image acquisition device arranged in the robot, and then pixel gradients of each pixel unit in the target environment image are calculated to obtain the pixel gradients of the each pixel unit, and a pixel unit with a pixel gradient exceeding a preset gradient threshold is taken as a target pixel unit.

[0057] Specifically, the image can be preprocessed, and a gradient G of a pixel (i, j) of each pixel unit in the target environment image is calculated ij A threshold G is set to distinguish the gradient size, and the target pixel unit is marked, and when the gradient is greater than the threshold, it is marked as 1, otherwise it is marked as 0, as shown in the following expression (1):

[0058]

[0059] In step 230, at least one dense area and at least one non-dense area in the target environment image are determined, the target pixel unit density in the dense area is higher than a preset density threshold, and the target pixel unit density in the non-dense area is lower than or equal to the preset density threshold.

[0060] In the present application, at least one dense area and at least one non-dense area in the target environment image can be determined according to the density of the distribution of the target pixel unit in different areas in the target environment image, wherein the target pixel unit in the dense area is distributed with a higher density, and the target pixel unit in the non-dense area is distributed with a lower density.

[0061] In step 250, a first feature line in the non-dense area is detected to obtain line feature data, and the line feature data is used to assist the robot positioning.

[0062] In the present application, the first feature line can be detected in the non-dense area first, and if the number of the detected first feature line meets the feature line number requirement, the feature line data corresponding to the detected first feature line is directly used to assist the robot positioning. If the number of the detected first feature line does not meet the requirement, a second feature line in the dense area can be detected, and when the sum of the number of the first feature line and the second feature line meets the feature line number requirement, the feature line data corresponding to the detected first feature line and the second feature line is used to assist the robot positioning.

[0063] In this application, since dense areas (such as blinds in an indoor environment are identified as dense areas) contain a large number of feature lines, by selectively performing feature line detection in non-dense areas, it is possible to avoid detecting a large number of feature lines in dense areas when performing feature line detection on the entire image, thereby avoiding increased computation time caused by detecting redundant feature lines.

[0064] The following will address... Figure 2 The embodiments of each step are further described below:

[0065] In such Figure 2 In one embodiment of step 230 shown, determining at least one dense region and at least one non-dense region in the target environment image can be done according to... Figure 3 Perform the steps shown:

[0066] See Figure 3 This document illustrates a detailed flowchart of the process for determining at least one dense region and at least one non-dense region in the target environment image according to an embodiment of this application. Specifically, it includes steps 231 to 233:

[0067] Step 231: Segment the target environment image into at least one image unit and determine the target pixel unit density of each image unit.

[0068] Step 232: Image units with target pixel unit density higher than the preset density threshold are marked as dense image units, and image units with target pixel unit density lower than or equal to the preset density threshold are marked as non-dense image units.

[0069] Step 233: Merge adjacent dense image units and merge adjacent non-dense image units to obtain at least one dense region and at least one non-dense region.

[0070] In step 231 of this embodiment, steps 2311 to 2312 can be performed as follows:

[0071] Step 2311: Count the number of target pixel units in each image unit.

[0072] Step 2312: Based on the number of target pixel units and the total number of pixel units in each image unit, calculate the proportion of the number of target pixel units, and determine the proportion of the number of target pixel units as the target pixel unit density of the image unit.

[0073] For example, in a specific instance, the target environment image can be segmented into image units of size K×K (where K represents K pixel units). In this case, the density ρ of these image units in the target environment image...ij is defined as the ratio of the number of pixels with gradient greater than a threshold G in the image unit centered at pixel unit (i, j), which is calculated by equation (2) as follows:

[0074]

[0075] Further, a density threshold is set as p, and image units with density greater than p are marked as dense image units, otherwise marked as non-dense image units, thus the target environment image is divided into image units, where w is the width of the target environment image, h is the height of the target environment image, is the ceiling function.

[0076] The dense region and the non-dense region are divided and marked by equation (3) as follows:

[0077]

[0078] Finally, each image unit of the target environment image is traversed, and for each image unit, if there is the same mark (i.e. "sparse" or "dense") in the four fields of the image unit, the image units with the same mark are merged. Finally, the dense region and the non-dense region of the entire target environment image are obtained.

[0079] For those skilled in the art, it can be understood that in other embodiments of step 230 as shown in Figure 2 , at least one dense region and at least one non-dense region in the target environment image can also be determined in other ways

[0080] Further, in the scheme as shown above Figure 2 , if the number of the first feature lines is less than a predetermined feature line number threshold, the second feature lines in the dense region are detected to obtain line feature data.

[0081] It should be noted that when the robot is positioned based on the feature lines of the environment image, the number of feature lines needs to meet certain number requirements, and the specific number of feature lines needs to be determined according to actual needs. Based on this, the embodiment can define the number of feature lines meeting certain number requirements as the predetermined feature line number threshold.

[0082] In an embodiment of the present application, the second feature lines in the dense region are detected, which can be performed according to the steps as shown in Figure 4 .

[0083] Referring to Figure 4, a detailed flowchart of detecting the second feature line in the dense area in the embodiment of the present application is shown. Specifically, it includes steps 251 to 252:

[0084] Step 251, selecting a dense area with a region area greater than a predetermined area threshold value in the at least one dense area as a candidate dense area.

[0085] Step 252, detecting the second feature line in the candidate dense area.

[0086] In the embodiment, by selecting a dense area with a region area greater than a predetermined area threshold value as a candidate dense area, the detection of the second feature line in a dense area with a region area less than or equal to a predetermined area threshold value can be avoided. The advantage of this is that the number of feature lines included in a dense area with a small region area will also be small, and the detection of feature lines in these dense areas will not affect the requirement for the number of feature lines in the entire target environment image. Based on this, the detection of feature lines in dense areas with small region areas can save computing resources and improve the detection efficiency of feature lines, thereby shortening the time required for detecting feature lines as a whole, thereby improving the processing efficiency of the robot positioning data.

[0087] In one embodiment of step 252 as shown in 4, the detection of the second feature line in the candidate dense area can be performed according to the steps as shown in Figure 5 .

[0088] Referring to Figure 5 , a detailed flowchart of detecting the second feature line in the candidate dense area in the embodiment of the present application is shown. Specifically, it includes steps 2521 to 2522:

[0089] Step 2521, dividing the candidate dense area with the largest region area in the candidate dense area to a detection sequence, the candidate dense area in the detection sequence includes a detectable area.

[0090] Step 2522, detecting the second feature line in the detectable area, and determining an undetectable area in the detectable area based on the second feature line.

[0091] Step 2523, if the sum of the number of the first feature line and the number of the second feature line is less than the predetermined feature line number threshold value, then reducing the undetectable area to update the detectable area.

[0092] Step 2524, taking the updated detectable area as a new detectable area, and returning to the step of detecting the second feature line in the detectable area.

[0093] Further, in the embodiment, the method can further perform the steps as shown in Figure 6

[0094] Referring to Figure 6 , a detailed flowchart of detecting the second feature lines in the candidate dense regions in the embodiment is shown. Specifically, it includes steps 2525 to 2526:

[0095] In step 2525, the area of the detectable region is determined as the detectable region area.

[0096] In step 2526, if there is a candidate dense region with an area greater than the detectable region area in the candidate dense regions that are not divided into the detection sequence, the candidate dense region greater than the detectable region area is divided into the detection sequence.

[0097] Further, in the embodiment, for each candidate dense region in the detection sequence, if the proportion of the area of the detectable region corresponding to the candidate dense region in the corresponding candidate dense region is less than a predetermined proportion threshold, the detection of the second feature lines in the corresponding candidate dense region is stopped.

[0098] Further, in the embodiment, if the proportion of the area of the detectable region corresponding to each candidate dense region in the corresponding candidate dense region is less than a predetermined proportion threshold, the detection of the second feature lines is stopped.

[0099] Further, in the embodiment, if the sum of the number of the first feature lines and the number of the second feature lines is greater than or equal to the predetermined feature line number threshold, the detection of the second feature lines is stopped.

[0100] In order for those skilled in the art to better understand the above-mentioned embodiments, the above-mentioned embodiments will be described below with reference to Figure 7 a specific example.

[0101] Referring to Figure 7 , a demonstration diagram of detecting the second feature lines in the candidate dense regions in the embodiment is shown.

[0102] As shown in Figure 7 , the target environment image 700 includes 8 regions in total, wherein the dense regions are D1, D2, D3, and D4. In the non-dense regions, 5 first feature lines are detected in total, and if the 5 first feature lines do not meet the requirement of the number of feature lines for the entire target environment image, second feature line detection needs to be performed in the dense regions.

[0103] ​Specifically, the area Si of each dense region Di can be calculated first, and each dense region can be sorted according to the size of the area Si, for example, the size of the area of the dense regions in the target environment image 700 is D1, D2, D3, D4, and the sorted sequence can be stored in the key-value mode, as shown in the following expression (4):

[0104] {D1:S1, D2:S2, D3:S3, D4:S4} (4)

[0105] A predetermined area threshold S is set, and if there is a dense region with an area less than the predetermined area threshold S in the sorted sequence, the detection of the second feature line is not performed in the dense region.

[0106] In the above sorted sequence, the line feature detection is performed from the dense region D1 with the largest area, and the dense region D1 is first put into the detection sequence. The detection rule in the dense region D1 can be that the distance d from the midpoint of the detected first second feature line A1 to the boundary 701 in the dense region D1 is calculated after the first second feature line A1 is detected. The coordinates of the endpoints of the detected second feature line A1 are (x1, y1) and (x2, y2), and the coordinates of the midpoint of the second feature line A1 are as shown in the following expression (5):

[0107]

[0108] The coordinates of the intersection point of the detected feature line A1 and the vertical line of the dense region edge are (y e , y e ), and the following expression (6) is obtained:

[0109]

[0110] The detectable area and the non-detectable area are divided around the detected second feature line A1. The non-detectable area can be set as a rectangular area with the detected second feature line A1 as the middle line, the length of the middle line as the length of the rectangular area, and the distance d on both sides of the vertical line of the three-dimensional plane where the middle line is located as the width of the rectangular area (the rectangular width w = 2d), and the remaining area is the detectable area. Figure 7

[0111] If the sum of the number of the first feature lines and the number of the second feature lines is still less than the predetermined feature line number threshold at this time, the non-detectable area of the detected second feature line is reduced, and specifically, the length of the area (i.e., the length of the second feature line A1) can be unchanged, and the width can be reduced to to obtain a new non-detectable area (such as Figure 7 ​(The area restricted by the Sino-Israeli border 702). At this point, it is determined whether the detectable area in D1 is smaller than D2. If so, D2 is added to the detection sequence; otherwise, it is still detected in D1.

[0112] Subsequently, the next linear feature detection is performed within the detectable region of the dense region of the detection sequence, for example, such as... Figure 7 Three second feature lines A2 were detected.

[0113] Each time a second feature line is detected, an undetectable region corresponding to that second feature line is generated. After the nth detection, the width of the undetectable region corresponding to the line is as follows (7):

[0114]

[0115] Whenever the undetectable area changes, the proportion of the detectable area in the current dense region Di is calculated to see if it is less than a predetermined proportion threshold (e.g., 20%). If so, the detection of the second feature line in the current dense region Di is stopped. In this application, the recursive loop stops when the sum of the number of the first feature lines and the number of the second feature lines is greater than or equal to the predetermined feature line number threshold; or during the recursive loop, if the sum of the number of the first feature lines and the number of the second feature lines is less than the predetermined feature line number threshold, but the proportion of the detectable area in the last dense region Dn in the detection sequence is less than the predetermined proportion threshold (e.g., 20%), the recursive loop is also stopped to stop the detection of the second feature line as a whole.

[0116] In this application, during the detection of the second feature line in a dense region, the second feature line is detected step by step in a recursive manner. The detection of the second feature line stops when the sum of the number of the first feature line and the number of the second feature line meets the feature line number requirement. The advantage of this is that the number of detected second feature lines can be well controlled, thereby avoiding the increase in computation time caused by detecting redundant feature lines, and thus improving the processing efficiency of robot positioning data.

[0117] In such Figure 2 In one embodiment following step 250, i.e., after detecting the first feature line in the non-dense region and obtaining the line feature data, the following can also be performed: Figure 8 The steps are shown.

[0118] See Figure 8 This document illustrates a flowchart of a method for detecting a first feature line within the non-dense region and obtaining line feature data, as described in an embodiment of this application. Specifically, it includes steps 270 to 280:

[0119] Step 270: Obtain point feature data of feature points in the target environment image.

[0120] Step 280: Based on the line feature data and the point feature data, locate the robot.

[0121] In such Figure 8 In one embodiment of step 270 shown, obtaining the point feature data of feature points in the target environment image can be performed according to the following steps 271 to 272:

[0122] Step 271: Detect feature points in the dense region and the non-dense region to obtain point feature data.

[0123] Step 272: If the number of detected feature points is greater than or equal to a predetermined feature point number threshold, then stop detecting the feature points.

[0124] In this embodiment, by controlling the number of detected feature points, the time required for detecting feature points can be reduced, thereby improving the processing efficiency of robot positioning data.

[0125] In such Figure 8 In one embodiment of step 280 shown, the robot is located based on the line feature data and the point feature data, which can be performed according to the following steps 281 to 282:

[0126] Step 281: Based on the point feature data and line feature data of the target environment image, determine the target reprojection error corresponding to the point feature data and the target reprojection error corresponding to the line feature data.

[0127] Step 282: Based on the target reprojection error corresponding to the point feature data and the target reprojection error corresponding to the line feature data, the robot is located.

[0128] In step 281 of this embodiment, based on the point feature data and line feature data of the target environment image, the target reprojection error corresponding to the point feature data and the target reprojection error corresponding to the line feature data are determined, which can be performed according to the following steps 2811 to 2814:

[0129] Step 2811: Based on the point feature data and line feature data of the target environment image, determine the initial reprojection error corresponding to the point feature data and the initial reprojection error corresponding to the line feature data.

[0130] Step 2812, obtain a point feature correction weight corresponding to the point feature data and a line feature correction weight corresponding to the line feature data, the point feature correction weight being used to correct the initial re-projection error corresponding to the point feature data, and the line feature correction weight being used to correct the initial re-projection error corresponding to the line feature data.

[0131] Step 2813, correct the initial re-projection error corresponding to the point feature data based on the point feature correction weight to obtain a target re-projection error corresponding to the point feature data.

[0132] Step 2814, correct the initial re-projection error corresponding to the line feature data based on the line feature correction weight to obtain a target re-projection error corresponding to the line feature data.

[0133] In the above step 2813, the point feature correction weight corresponding to the point feature data and the line feature correction weight corresponding to the line feature data can be obtained according to the following steps 28131 to 28135:

[0134] Step 28131, divide the target environment image into a plurality of image regions.

[0135] Step 28132, determine a feature point number weight or a feature line number weight for each image region, the feature point number weight being positively correlated with the number of feature points falling within the corresponding image region, and the feature line number weight being positively correlated with the number of feature lines falling within the corresponding image region.

[0136] Step 28133, determine a position weight for each image region, the position weight being negatively correlated with the length of the corresponding image region from the center of the target environment image.

[0137] Step 28134, determine the point feature correction weight corresponding to the point feature data based on the feature point number weight corresponding to each image region and the position weight corresponding to each image region, and determine the line feature correction weight corresponding to the line feature data based on the point feature correction weight; or perform step 28135.

[0138] Step 28135, determine the line feature correction weight corresponding to the line feature data based on the feature line number weight corresponding to each image region and the position weight corresponding to each image region, and determine the point feature correction weight corresponding to the point feature data based on the line feature correction weight.

[0139] In order for those skilled in the art to better understand the above-mentioned embodiments, the following will be combined with the accompanying drawings to further illustrate the above-mentioned embodiments. Figure 9With a specific example, the steps of obtaining the point feature correction weight corresponding to the point feature data and the line feature correction weight corresponding to the line feature data in the above embodiments are described.

[0140] Referring to Figure 9 , a demonstration diagram of obtaining the point feature correction weight corresponding to the point feature data and the line feature correction weight corresponding to the line feature data in the embodiments of the present application is shown.

[0141] As shown in Figure 9 , a plurality of feature points and a plurality of feature lines have been detected in the target environment image, the target environment image can be divided into 3x3 image regions, the number of feature points or the number of feature lines in each image region is counted, and then the number of feature points or the number of feature lines corresponding to each image region can be determined, for example, the number of feature points corresponding to each image region is determined according to the number of feature points through the following expression (8):

[0142]

[0143] Wherein, n p represents the number of feature points; N and N p represent the preset threshold.

[0144] Then, since the closer to the edge of the target environment image, the greater the distortion of the image, the length of the image region from the center of the target environment image can be used to determine expression (9) as follows, and different position weights are given to different image regions of the target environment image according to expression (9) as follows:

[0145]

[0146] Finally, the point feature correction weight corresponding to the point feature data can be determined based on the number of feature points corresponding to each image region and the position weight corresponding to each image region, and the line feature correction weight corresponding to the line feature data can be determined based on the point feature correction weight, for example, the point-line feature is weighted according to different image regions of the image to obtain the point-line weight of the entire target environment image, as shown in expression (10) as follows:

[0147]

[0148] In the present application, the initial re-projection error corresponding to the point feature data and the initial re-projection error corresponding to the line feature data are respectively corrected by the point feature correction weight and the line feature correction weight, which has the advantage of improving the accuracy of the target re-projection error, so that the point feature or line feature with greater weight is trusted more in positioning, and thus the positioning accuracy of the robot can be improved.

[0149] In order for those skilled in the art to have a better overall understanding of the technical solutions provided by the present application, the overall flowchart of the robot positioning data processing method in the embodiments of the present application will be described below in conjunction with Figure 10 and Figure 11 .

[0150] Referring to Figure 10 , the overall flowchart of the robot positioning data processing method in the embodiments of the present application is shown. Among them, Figure 10 comprises steps 1001 to 1008:

[0151] Step 1001, the gradient density of each region in the target environment image is calculated.

[0152] Step 1002, based on the gradient density of each region, the dense region and the non-dense region are divided.

[0153] Step 1003, line feature detection is performed in the non-dense region.

[0154] Step 1004, point feature detection is performed in the dense region and the non-dense region.

[0155] Step 1005, whether the number of feature lines is less than a threshold value, if yes, step 1006 is executed, if not, step 1007 is executed.

[0156] Step 1006, line feature detection is performed in the dense region.

[0157] Step 1007, point-line feature grouping and weighting.

[0158] Step 1008, robot pose estimation.

[0159] Further, referring to Figure 11 , the overall flowchart of the robot positioning data processing method in the embodiments of the present application is shown. Among them, Figure 11 comprises steps 1101 to 1108:

[0160] Step 1101, the dense region and the non-dense region are divided in the target environment image.

[0161] Step 1102, whether the line feature meets the quantity requirement, if yes, step 1007 is executed, if not, step 1003 is executed.

[0162] Step 1103, the dense region for line feature detection is determined to determine the detection sequence.

[0163] Step 1104, line feature detection is performed on the dense region i.

[0164] Step 1105, the detectable area and the non-detectable area in the dense region are updated.

[0165] Step 1106, whether the area of the detectable region meets the requirement, if yes, step 1002 is executed, if not, step 1007 is executed.

[0166] Step 1107, point line feature grouping weighting.

[0167] Step 1108, robot pose estimation.

[0168] In the present application, by acquiring the pixel gradient of each pixel unit in the target environment image, and taking the pixel unit whose pixel gradient exceeds the preset gradient threshold as the target pixel unit, and then determining the dense region with the target pixel unit density higher than the preset density threshold and the non-dense region with the target pixel unit density lower than or equal to the preset density threshold in the target image, the first feature line can be selectively detected in the non-dense region, and the line feature data for assisting robot positioning is obtained. Since the time-consuming required for identifying the feature line in the image is longer, by selectively detecting the feature line in the non-dense region under the premise of detecting the required number of line features, the feature line detection in the entire image can be avoided, and the increase of the calculation time-consuming caused by detecting redundant feature lines can be avoided. It can be seen that the technical scheme of the present application embodiment can shorten the time-consuming required for detecting the feature line, so as to improve the processing efficiency of the robot positioning data, and can reduce the performance requirement of the calculation hardware, and thus reduce the cost.

[0169] The device embodiment of the present application is introduced below, which can be used to execute the robot positioning data processing method of the first aspect of the above-mentioned embodiments of the present application. For the details not disclosed in the device embodiment of the present application, please refer to the above-mentioned embodiments of the robot positioning data processing method of the first aspect of the present application.

[0170] Referring to Figure 12 , a block diagram of the robot positioning data processing device in the embodiment of the present application is shown.

[0171] As shown in Figure 12 , the robot positioning data processing device 1200 according to the embodiment of the present application comprises a first acquisition unit 1201, a first determination unit 1202 and a detection unit 1203.

[0172] The first acquisition unit 1201 is configured to acquire pixel gradients of each pixel unit in a target environment image, and regard a pixel unit with a pixel gradient exceeding a preset gradient threshold as a target pixel unit.

[0173] In some embodiments of the present application, based on the foregoing scheme, the first determination unit 1202 is configured to: divide the target environment image into at least one image unit, and determine a target pixel unit density of each image unit; mark an image unit with a target pixel unit density higher than the preset density threshold as a dense image unit, and mark an image unit with a target pixel unit density lower than or equal to the preset density threshold as a non-dense image unit; and merge adjacent dense image units and adjacent non-dense image units to obtain the at least one dense region and the at least one non-dense region.

[0174] In some embodiments of the present application, based on the foregoing scheme, the first determination unit 1202 is further configured to: count the number of target pixel units in each image unit; and calculate a number ratio of the target pixel units based on the number of target pixel units and the total number of pixel units of each image unit, and determine the number ratio as the target pixel unit density of the image unit.

[0175] In some embodiments of the present application, based on the foregoing scheme, the detection unit 1203 is configured to: if the number of the first feature lines is less than a predetermined feature line number threshold, detect a second feature line in the dense region to obtain line feature data.

[0176] In some embodiments of the present application, based on the foregoing scheme, the detection unit 1203 is further configured to: select, as a candidate dense region, a dense region with a selected region area greater than a predetermined area threshold in the at least one dense region; and detect a second feature line in the candidate dense region.

[0177] In some embodiments of the present application, based on the foregoing scheme, the detection unit 1203 is further configured to: divide a candidate dense region with the largest area among the candidate dense regions to a detection sequence, the candidate dense regions in the detection sequence including a detectable region; detect a second feature line in the detectable region, and determine an undetectable region in the detectable region based on the second feature line; if the sum of the number of the first feature lines and the number of the second feature lines is less than the predetermined feature line number threshold, reduce the undetectable region to update the detectable region; return to execute the step of detecting a second feature line in the detectable region, taking the updated detectable region as a new detectable region.

[0178] In some embodiments of the present application, based on the foregoing scheme, the detection unit 1203 is further configured to: determine the area of the detectable region as a detectable region area; if there is a candidate dense region with an area greater than the detectable region area among the candidate dense regions not divided to the detection sequence, divide the candidate dense region greater than the detectable region area to the detection sequence.

[0179] In some embodiments of the present application, based on the foregoing scheme, the detection unit 1203 is further configured to: for each candidate dense region in the detection sequence, if the proportion of the area of the detectable region corresponding to the candidate dense region in the corresponding candidate dense region is less than a predetermined proportion threshold, stop detecting the second feature line in the corresponding candidate dense region.

[0180] In some embodiments of the present application, based on the foregoing scheme, the detection unit 1203 is further configured to: if the proportion of the area of the detectable region corresponding to each candidate dense region in the corresponding candidate dense region is less than a predetermined proportion threshold, stop detecting the second feature line.

[0181] In some embodiments of the present application, based on the foregoing scheme, the detection unit 1203 is further configured to: if the sum of the number of the first feature lines and the number of the second feature lines is greater than or equal to the predetermined feature line number threshold, stop detecting the second feature line.

[0182] In some embodiments of the present application, based on the foregoing scheme, the device further comprises a second acquisition unit configured to, after detecting the first feature line in the non-dense region to obtain line feature data, acquire point feature data of feature points in the target environment image; a positioning unit configured to position the robot based on the line feature data and the point feature data.

[0183] In some embodiments of the present application, based on the foregoing scheme, the second acquisition unit is configured to: detect feature points in the dense area and the non-dense area to obtain point feature data; and stop the detection of the feature points if the number of detected feature points is greater than or equal to a predetermined feature point number threshold.

[0184] In some embodiments of the present application, based on the foregoing scheme, the positioning unit is configured to: determine a target re-projection error corresponding to the point feature data and a target re-projection error corresponding to the line feature data based on the point feature data and the line feature data of the target environment image; and position the robot based on the target re-projection error corresponding to the point feature data and the target re-projection error corresponding to the line feature data.

[0185] In some embodiments of the present application, based on the foregoing scheme, the positioning unit is further configured to: determine an initial re-projection error corresponding to the point feature data and an initial re-projection error corresponding to the line feature data based on the point feature data and the line feature data of the target environment image; acquire a point feature correction weight corresponding to the point feature data and a line feature correction weight corresponding to the line feature data, the point feature correction weight being used to correct the initial re-projection error corresponding to the point feature data, and the line feature correction weight being used to correct the initial re-projection error corresponding to the line feature data; correct the initial re-projection error corresponding to the point feature data based on the point feature correction weight to obtain the target re-projection error corresponding to the point feature data; and correct the initial re-projection error corresponding to the line feature data based on the line feature correction weight to obtain the target re-projection error corresponding to the line feature data.

[0186] In some embodiments of the present application, based on the foregoing scheme, the positioning unit is further configured to: divide the target environment image into a plurality of image regions; determine a corresponding feature point number weight or a feature line number weight for each image region, the feature point number weight being positively correlated with the number of feature points falling within the corresponding image region, and the feature line number weight being positively correlated with the number of feature lines falling within the corresponding image region; determine a position weight for each image region, the position weight being negatively correlated with the length of the corresponding image region from the center of the target environment image; determine the point feature correction weight corresponding to the point feature data based on the feature point number weight corresponding to each image region and the position weight corresponding to each image region, and determine the line feature correction weight corresponding to the line feature data based on the point feature correction weight; or determine the line feature correction weight corresponding to the line feature data based on the feature line number weight corresponding to each image region and the position weight corresponding to each image region, and determine the point feature correction weight corresponding to the point feature data based on the line feature correction weight.

[0187] Based on the same inventive concept, the third aspect of the embodiments of the present application further provides a robot device, referring to Figure 13 , a structural schematic diagram of a robot device in the embodiments of the present application is shown, the robot device comprises one or more memories 1304, one or more processors 1302, and at least one computer program (program code) stored in the memory 1304 and executable on the processor 1302, and the processor 1302 implements the robot positioning data processing method of the first aspect described above when executing the computer program.

[0188] Among them, Figure 13 In the bus architecture (represented by bus 1300), the bus 1300 can include any number of interconnected buses and bridges, which link various circuits including one or more processors represented by processor 1302 and memory represented by memory 1304. Bus 1300 can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art, and therefore, are not further described herein. Bus interface 1305 provides an interface between bus 1300 and receiver 1301 and transmitter 1303. Receiver 1301 and transmitter 1303 can be the same element, i.e., a transceiver, which provides a means for communicating with various other apparatuses over a transmission medium. Processor 1302 is responsible for managing bus 1300 and general processing, while memory 1304 can be used for storing data used by processor 1302 in executing operations.

[0189] The functions described herein can be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions can be stored on or transferred over as one or more instructions or code on a computer-readable medium. Other examples and implementations are within the scope and spirit of the disclosure and appended claims. Due to the nature of software, many modifications can be made to the description above without departing from the spirit and scope of the disclosure. For example, due to the nature of software, changes can be made by software, firmware, and hardware within the scope of the disclosure and the appended claims. In addition, each functional unit can be integrated in one processing unit, or each unit can exist physically as separate units, or two or more units can be integrated in one unit.

[0190] In several embodiments provided in the present application, it should be understood that the disclosed technology can be implemented in other manners. For example, the described unit embodiments can be divided into other ways, for example, the units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections can be indirect couplings or communication connections through some interfaces, access layers, program modules or the like, and can be in electrical, mechanical or other forms.

[0191] The units described as separate components can or can not be physically separate, and the components of the control device can or can not be physical units, i.e., can be located in one place or distributed to multiple units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiment.

[0192] The integrated units, if implemented in the form of software functional units and sold or used as independent products, can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application essentially or the parts that make contributions to the prior art or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for causing a computer device (which can be a personal computer, a server or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: a U disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a mobile hard disk, a magnetic disk or an optical disk, and various program code storage media.

[0193] The above only describes the embodiments of the present application and is not intended to limit the present application. For those skilled in the art, the present application can have various modifications and changes. Any modification, equivalent replacement, improvement, etc. made within the spirit and principles of the present application shall be included in the scope of the claims of the present application.

Claims

1. A method of processing robot positioning data, characterized by, The method comprises: obtaining pixel gradients of each pixel unit in a target environment image, and taking a pixel unit with a pixel gradient exceeding a preset gradient threshold as a target pixel unit; determining at least one dense region and at least one non-dense region in the target environment image, the target pixel unit density in the dense region being higher than a preset density threshold, and the target pixel unit density in the non-dense region being lower than or equal to the preset density threshold; detecting a first feature line in the non-dense region to obtain line feature data, the line feature data being used for assisting robot positioning; if the number of the first feature lines is less than a predetermined feature line number threshold, selecting a dense region with a region area greater than a predetermined area threshold in the at least one dense region as a candidate dense region, and detecting a second feature line in the candidate dense region to obtain line feature data; wherein the detecting the second feature line in the candidate dense region comprises: dividing a candidate dense region with a largest region area in the candidate dense regions into a detection sequence, the candidate dense regions in the detection sequence including a detectable area; detecting a second feature line in the detectable area, and determining an undetectable area in the detectable area based on the second feature line; if the sum of the number of the first feature lines and the number of the second feature lines is less than the predetermined feature line number threshold, reducing the undetectable area to update the detectable area; taking the updated detectable area as a new detectable area, and returning to execute the step of detecting the second feature line in the detectable area.

2. The method of claim 1, wherein, The determining at least one dense region and at least one non-dense region in the target environment image comprises: segmenting the target environment image into at least one image unit, and determining a target pixel unit density of each image unit; marking an image unit with a target pixel unit density higher than the preset density threshold as a dense image unit, and marking an image unit with a target pixel unit density lower than or equal to the preset density threshold as a non-dense image unit; merging adjacent dense image units and merging adjacent non-dense image units to obtain the at least one dense region and the at least one non-dense region.

3. The method of claim 2, wherein, The determining a target pixel unit density of each image unit comprises: counting the number of target pixel units in each image unit; calculating a number proportion of the target pixel units based on the number of target pixel units and the total number of pixel units of each image unit, and determining the number proportion as the target pixel unit density of the image unit.

4. The method of claim 1, wherein, The method further comprises: determining the area of the detectable area as a detectable area; if there is a candidate dense region with a region area greater than the detectable area among the candidate dense regions not divided into the detection sequence, dividing the candidate dense region with the region area greater than the detectable area into the detection sequence.

5. The method of claim 4, wherein, The method further comprises: If the proportion of the detectable area corresponding to the candidate dense region in the candidate dense region is less than a predetermined proportion threshold, the detection of the second feature line in the corresponding candidate dense region is stopped.

6. The method of claim 4, wherein, The method further comprises: If the proportion of the detectable area corresponding to each candidate dense region in the corresponding candidate dense region is less than a predetermined proportion threshold, the detection of the second feature line is stopped.

7. The method of claim 4, wherein, The method further comprises: If the sum of the number of the first feature lines and the number of the second feature lines is greater than or equal to the predetermined feature line number threshold, the detection of the second feature line is stopped.

8. The method according to any one of claims 1 to 7, characterized in that, After the detection of the first feature line in the non-dense region, the method further comprises: obtaining point feature data of feature points in the target environment image; based on the line feature data and the point feature data, positioning the robot.

9. The method of claim 8, wherein, The obtaining of the point feature data of the feature points in the target environment image comprises: detecting the feature points in the dense region and the non-dense region to obtain point feature data; if the number of the detected feature points is greater than or equal to a predetermined feature point number threshold, the detection of the feature points is stopped.

10. The method of claim 8, wherein, The positioning of the robot based on the line feature data and the point feature data comprises: determining a target re-projection error corresponding to the point feature data and a target re-projection error corresponding to the line feature data based on the point feature data and the line feature data of the target environment image; based on the target re-projection error corresponding to the point feature data and the target re-projection error corresponding to the line feature data, positioning the robot.

11. The method of claim 10, wherein, The determination of the target re-projection error corresponding to the point feature data and the target re-projection error corresponding to the line feature data based on the point feature data and the line feature data of the target environment image comprises: based on the point feature data and the line feature data of the target environment image, determining an initial re-projection error corresponding to the point feature data and an initial re-projection error corresponding to the line feature data; obtaining a point feature correction weight corresponding to the point feature data and a line feature correction weight corresponding to the line feature data, the point feature correction weight being used to correct the initial re-projection error corresponding to the point feature data, and the line feature correction weight being used to correct the initial re-projection error corresponding to the line feature data; based on the point feature correction weight, correcting the initial re-projection error corresponding to the point feature data to obtain the target re-projection error corresponding to the point feature data; based on the line feature correction weight, correcting the initial re-projection error corresponding to the line feature data to obtain the target re-projection error corresponding to the line feature data.

12. The method of claim 11, wherein, The obtaining of the point feature correction weight corresponding to the point feature data and the line feature correction weight corresponding to the line feature data comprises: dividing the target environment image into a plurality of image regions; determining a corresponding feature point quantity weight or a corresponding feature line quantity weight for each image region, the feature point quantity weight being positively correlated with the number of feature points falling in the corresponding image region, and the feature line quantity weight being positively correlated with the number of feature lines falling in the corresponding image region; determining a position weight for each image region, the position weight being negatively correlated with the length of the corresponding image region from the center of the target environment image; determining a point feature correction weight corresponding to the point feature data based on the feature point quantity weight corresponding to each image region and the position weight corresponding to each image region, and determining a line feature correction weight corresponding to the line feature data based on the point feature correction weight, or determining a line feature correction weight corresponding to the line feature data based on the feature line quantity weight corresponding to each image region and the position weight corresponding to each image region, and determining a point feature correction weight corresponding to the point feature data based on the line feature correction weight.

13. A robotic positioning device, characterized by The device comprises: a first acquisition unit configured to acquire pixel gradients of each pixel unit in a target environment image, and take a pixel unit with a pixel gradient exceeding a preset gradient threshold as a target pixel unit; a first determination unit configured to determine at least one dense region and at least one non-dense region in the target environment image, the target pixel unit density in the dense region being higher than a preset density threshold, and the target pixel unit density in the non-dense region being lower than or equal to the preset density threshold; a detection unit configured to detect a first feature line in the non-dense region to obtain line feature data, the line feature data being used to assist in positioning of a robot; if the number of the first feature lines is less than a predetermined feature line quantity threshold, select a dense region with a region area greater than a predetermined area threshold in the at least one dense region as a candidate dense region, and detect a second feature line in the candidate dense region to obtain line feature data; wherein the detecting the second feature line in the candidate dense region comprises: dividing a candidate dense region with the largest region area in the candidate dense regions into a detection sequence, the candidate dense regions in the detection sequence including a detectable area; detecting a second feature line in the detectable area, and determining an undetectable area based on the second feature line in the detectable area; if the sum of the number of the first feature lines and the number of the second feature lines is less than the predetermined feature line quantity threshold, reducing the undetectable area to update the detectable area; taking the updated detectable area as a new detectable area, and returning to execute the step of detecting the second feature line in the detectable area.

14. A robotic device, characterized by The device comprises one or more processors and one or more memories, the one or more memories storing at least one program code, the at least one program code being loaded and executed by the one or more processors to implement the method according to any one of claims 1-12. The device comprises one or more processors and one or more memories, the one or more memories storing at least one program code, the at least one program code being loaded and executed by the one or more processors to implement the method according to any one of claims 1-12.

Citation Information

Patent Citations

  • A binocular vision SLAM method combining point and line characteristics

    CN109934862A