An agile development method for laser line extractors in multi-reflection scenarios

By configuring system parameters and working modes, counting and filtering laser line data, the problem of laser line extraction errors in multiple reflection scenarios is solved, and efficient laser line extractor development is realized, simplifying the process and reducing costs.

CN118916327BActive Publication Date: 2024-12-20BEIJING BOVISION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411413488.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-11
Publication Date
2024-12-20
Estimated Expiration
2044-10-11

AI Technical Summary

Technical Problem

It is difficult to implement resource, timing and scene compatibility in multiple reflection scenarios, resulting in extraction errors and complex development processes.

Method used

A laser line extractor agile development method for multiple reflection scenarios is proposed. By configuring system parameters and working mode, statistics of grayscale multiplying accumulated values ​​and scattering values, splicing height coordinates and grayscale mean, cyclically filtering the output of the final laser line data. Supports 1X-2Y type transmission and increases horizontal connectivity domain processing.

Benefits of technology

It solves the problem of laser line extraction errors in multi-laser reflection scenarios, simplifies the development process, improves transplantability and freedom of use, reduces hardware costs, and supports FPGA devices of different brands and resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118916327B_ABST
    Figure CN118916327B_ABST
Patent Text Reader

Abstract

The present invention discloses an agile development method of a laser line extractor for multiple reflection scenes, which relates to the field of laser line extraction technology, including: configuring system parameters and working modes for the laser line extractor; using the configured laser line extractor to count the grayscale multiplication and accumulation value, grayscale accumulation value and scattering value of each laser line on the current pixel column; calculating the height coordinates and grayscale mean of each laser line on the current pixel column according to the statistical data; splicing and caching the height coordinates, grayscale mean and scattering value of each laser line on the current pixel column; cyclically comparing the height coordinates of each column of laser line pixels in the cache area, and filtering and outputting the final laser line data according to the comparison results. Compared with the traditional laser line extractor, the present invention adds horizontal connected domain processing, which greatly solves the problem of laser line extraction errors in multi-laser line reflection scenes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of laser line extraction, and in particular to an agile development method of a laser line extractor for multiple reflection scenarios. Background Art

[0002] The laser line extractor is an important component of the line laser 3D camera and plays a very critical role in the 3D vision system. The multiple laser line reflection scene is an extremely complex scene for the laser line extractor. At the same time, the implementation process of this laser line extractor is relatively complicated. The difficulty of implementing it in FPGA (Field Programmable Gate Array) is mainly reflected in resources, timing, scene compatibility and other aspects. In order to solve the laser line extraction problem in this complex scene, this application proposes an agile development method for a laser line extractor for multiple reflection scenes. Designed for 3D vision systems, this design method provides high computational accuracy and robustness. The laser line extractor has good portability and opens a large number of porting parameters, which is also applicable to other platforms. Summary of the invention

[0003] The present invention provides an agile development method for a laser line extractor for a multi-reflection scenario, comprising:

[0004] Step 1. Configure system parameters and working mode for the laser line extractor;

[0005] Step 2, use the configured laser line extractor to count the grayscale multiplication and accumulation value, grayscale accumulation value and scattering value of each laser line on the current pixel column;

[0006] Step 3, calculate the height coordinate and grayscale mean of each laser line on the current pixel column based on the statistical data;

[0007] Step 4, stitching and caching the height coordinates, grayscale mean, and scattering value of each laser line on the current pixel column;

[0008] Step 5: Circularly compare the height coordinates of each column of laser line pixels in the buffer area, filter and output the final laser line data according to the comparison results.

[0009] As described above, an agile development method for a laser line extractor for multiple reflection scenarios is provided, wherein the configurable system parameters of the laser line extractor include: resolution, pixel width, pixel parallelism, image transmission format, scattering maximum value interval, maximum number of laser line extractions, and connected domain screening interval.

[0010] As described above, an agile development method of a laser line extractor for multiple reflection scenarios is described, wherein the image transmission format supports ordinary transmission and 1X-2Y transmission, and the input image under 1X-2Y transmission is divided into an upper bank and a lower bank, and the pixels of the upper bank and the lower bank are processed in parallel.

[0011] As described above, an agile development method for a laser line extractor for multiple reflection scenarios, wherein the configuration items of the laser line extractor working mode include: laser line cache type, initial value for horizontal connected domain screening, grayscale threshold, minimum effective width of the laser line, and maximum effective width of the laser line.

[0012] As described above, an agile development method for a laser line extractor for a multi-reflection scenario, in which the configured laser line extractor is used to count the grayscale multiplication and accumulation value, grayscale accumulation value and scattering value of each laser line on the current pixel column, specifically includes the following sub-steps:

[0013] Traverse each pixel point on the current pixel column, and determine the state of the current pixel point with respect to the laser line according to the grayscale threshold;

[0014] If the current pixel is not within the laser line, it is ignored;

[0015] If the current pixel is at the starting position of the laser, the grayscale multiplication and accumulation value, grayscale accumulation value and scattering value are initialized and written into the cache;

[0016] If the current pixel is within the laser line, update the grayscale multiplication and accumulation value, grayscale accumulation value and scattering value;

[0017] If the current pixel is at the end position of the laser line, the grayscale multiplication and accumulation value, grayscale accumulation value and scattering value are read from the cache and sent to the next level for processing.

[0018] As described above, an agile development method for a laser line extractor for a multi-reflection scene, in which the height coordinates, grayscale mean, and scattering value of each laser line on the current pixel column are spliced ​​and cached, specifically includes the following sub-steps:

[0019] Apply for a buffer area, determine the number of storage units according to the total number of pixel columns of the input image, and determine the number of storage bits according to the maximum number of laser line extractions;

[0020] The height coordinate, grayscale mean and scattering value of the laser line are spliced ​​and stored in the buffer area in sequence.

[0021] As described above, an agile development method for a laser line extractor for a multi-reflection scenario, wherein the height coordinates of each column of laser line pixels in the buffer are cyclically compared, and the final laser line data is screened and output according to the comparison result, specifically including the following sub-steps:

[0022] Take the first storage unit in the buffer area as the screening starting point, the connected domain screening interval as the screening range, the horizontal connected domain screening initial value as the first comparison value, and output the first screening result;

[0023] The next storage unit of the last storage unit in the last screening range is taken as the starting point, the connected domain screening interval is taken as the screening range, the last screening result is taken as the comparison value, the current screening result is output, and this step is executed repeatedly until all storage units in the cache area are screened.

[0024] The present invention also provides an agile development system for a laser line extractor for multiple reflection scenarios, comprising: a laser line extractor configuration module 21, a laser line data extraction module 22, a laser line data cache module 23, and a laser line data screening and output module 24;

[0025] A laser line extractor configuration module 21, used to configure system parameters and working modes for the laser line extractor;

[0026] The laser line data extraction module 22 is used to calculate the grayscale multiplication and accumulation value, grayscale accumulation value and scattering value of each laser line on the current pixel column;

[0027] The laser line data buffer module 23 is used to splice and buffer the height coordinates, grayscale mean and scattering value of each laser line on the current pixel column;

[0028] The laser line data screening and output module 24 is used to cyclically compare the height coordinates of each column of laser line pixels in the buffer area, and screen and output the final laser line data according to the comparison result.

[0029] The beneficial effects achieved by the present invention are as follows: (1) Compared with the traditional laser line extractor, the horizontal connected domain processing is added, which greatly solves the problem of laser line extraction error in the multi-laser line reflection scene;

[0030] (2) Agile development ideas, open a large number of transplantation parameters, and facilitate users to transplant the laser line extractor under FPGA devices of different brands and resources. In different usage scenarios, the functions of the laser line extractor can be tailored to simplify the development process and be deployed on FPGA efficiently and agilely;

[0031] (3) It has a high degree of freedom in use, allowing users to customize their own working mode according to the current working environment, and extract the desired laser line through the combination of different working modes;

[0032] (4) Support 1X-2Y transmission. The laser line extractor supports 1X-2Y transmission in addition to conventional image transmission formats, saving the cache resources consumed by stitching images, increasing transmission bandwidth, and reducing hardware usage costs. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, 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 recorded in the present invention. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.

[0034] Figure 1 This is a flow chart of an agile development method of a laser line extractor for multiple reflection scenarios provided in Example 1 of the present application;

[0035] Figure 2 This is a schematic diagram of an agile development system for a laser line extractor for multiple reflection scenarios provided in Example 2 of the present application. DETAILED DESCRIPTION

[0036] The collected laser line images are input into the laser line extractor one by one. The laser line extractor identifies and extracts the grayscale data and scattering data of each laser line on the current pixel column, and selects valid laser lines from multiple laser lines according to the extracted data in a stream processing manner. When the image input is completed, the complete and valid laser lines will also be output.

[0037] The following is a clear and complete description of the technical solutions in the embodiments of the present invention in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.

[0038] Embodiment 1

[0039] like Figure 1 As shown, the first embodiment of the present application provides an agile development method of a laser line extractor for a multi-reflection scenario, including:

[0040] Step S10: configuring system parameters and working mode for the laser line extractor;

[0041] Customize the laser extractor according to actual extraction requirements. The configurable system parameters in the laser line extractor include:

[0042] a. Resolution: supports multiple resolution image inputs, ranging from [64, 16384];

[0043] b. Pixel width: supports image input with multiple pixel widths;

[0044] c. Pixel parallelism: supports processing of 2 power pixels in 1 clock;

[0045] d. Image transmission format: supports normal transmission and 1X-2Y transmission;

[0046] e. Scattering maximum value interval: supports the selection of scattering maximum value of power 2;

[0047] f. Maximum number of laser line extractions: supports 1, 2, 4, 8, and 16 laser line extractions;

[0048] g. Connected domain screening interval: supports the selection of connected domain screening intervals of power 2.

[0049] The configuration items of the working mode include:

[0050] a. Laser line buffer type (valid only in 1X-2Y transmission): supports share mode and independent mode. In share mode, the upper and lower banks (partially) share the laser line buffer area; in independent mode, the upper and lower banks each use half of the laser line buffer area;

[0051] b. Filtering initial values ​​of horizontally connected domains: Filtering initial values ​​of the first connected domain;

[0052] c. Grayscale threshold: laser line extraction threshold;

[0053] d. Minimum effective width of laser line: the minimum width of the laser line that can be extracted;

[0054] e. Maximum effective width of laser line: the maximum width of the laser line that can be extracted.

[0055] Step S20: using the configured laser line extractor to count the grayscale multiplication and accumulation value, grayscale accumulation value and scattering value of each laser line on the current pixel column;

[0056] If the system parameter d. Image transmission format of the laser line extractor is set to 1X-2Y transmission, the input image will be divided into two banks, upper bank and lower bank, during laser line extraction, and the pixels of the two banks will be processed column by column at the same time. Specifically:

[0057] Step S21: traverse each pixel point on the current pixel column, and determine the state of the current pixel point with respect to the laser line according to the grayscale threshold;

[0058] Prepare two variables p_flag and c_flag, which represent the grayscale flags of the previous pixel and the current pixel respectively. The initial values ​​are both 0. First, determine whether the grayscale value of the current pixel is greater than the grayscale threshold (working mode configuration item c). If so, set c_flag to 1, otherwise to 0. Then, determine the state of the laser line corresponding to the current pixel. If c_flag is 0 and p_flag is 0, it means that the current pixel is not in the laser line; if c_flag is 1 and p_flag is 0, it means that the current pixel is at the beginning of the laser line; if c_flag is 1 and p_flag is 1, it means that the current pixel is in the laser line; if c_flag is 0 and p_flag is 1, it means that the current pixel is at the end of the laser line.

[0059] After each judgment is completed, p_flag is updated with the value of c_flag, and then c_flag is updated according to the comparison result between the grayscale value of the next pixel and the grayscale threshold, until all pixels are traversed.

[0060] Step S22: If the current pixel is not within the laser line, it is ignored;

[0061] Step S23: if the current pixel point is at the starting position of the laser, the grayscale multiplication and accumulation value, the grayscale accumulation value and the scattering value are initialized and written into the cache;

[0062] Prepare three variables in the cache to store grayscale multiplication and accumulation values, grayscale accumulation values, and scattering values, namely grey_mac, grey_acc, and scatter; the formula for initializing these three variables is expressed as:

[0063] grey_mac=grey_c height_c

[0064] grey_acc=grey_c

[0065] scatter=1, where grey_c represents the gray value of the current pixel, and height_c represents the row height of the current pixel.

[0066] Not in S24: if the current pixel is within the laser line, then update the grayscale multiplication and accumulation value, the grayscale accumulation value and the scattering value;

[0067] The update formula of grayscale multiplication and accumulation value, grayscale accumulation value and scattering value is expressed as:

[0068] grey_mac=grey_c height_c+grey_mac

[0069] grey_acc=grey_c+grey_acc

[0070] scatter=1+scatter, where grey_mac, grey_acc and scatter are the grayscale multiplication and accumulation values, grayscale accumulation values ​​and scattering values ​​stored in the cache respectively, grey_c represents the grayscale value of the current pixel, and height_c represents the row height of the current pixel.

[0071] S25: If the current pixel point is at the end position of the laser line, the grayscale multiplication and accumulation value, the grayscale accumulation value and the scattering value are read from the cache and sent to the next level for processing;

[0072] In this step, the laser line also needs to be screened according to the minimum effective width of the laser line (working mode configuration item d) and the maximum effective width of the laser line (working mode configuration item e). The screening condition is: if w_min≦|h_start-h_end|≦w_max, the current laser line is retained, otherwise the current laser line is discarded, where w_min is the minimum effective width of the laser line, h_start is the row height of the starting position of the laser line, h_end is the row height of the ending position of the laser line, and w_max is the maximum effective width of the laser line.

[0073] Step S30: Calculate the height coordinate and grayscale mean of each laser line on the current pixel column according to the statistical data;

[0074] The calculation formula of the height coordinate h_data of a laser line at the current column pixel point is expressed as:

[0075] h_data=grey_mac / grey_acc, where grey_mac and grey_acc are the grayscale multiplication and accumulation values ​​and grayscale accumulation values ​​of the laser line respectively.

[0076] The calculation formula of the grayscale mean g_data of a laser line at the current column of pixels is expressed as:

[0077] g_data=grey_acc / scatter, where scatter is the scattering value of the laser line.

[0078] Step S40: splicing and caching the height coordinates, grayscale mean, and scattering value of each laser line on the current pixel column;

[0079] First, apply for a buffer area, which contains several storage units, each of which contains several storage bits. The number of storage units is determined by the number of columns of pixels in the input image, and the number of storage bits is determined by the system parameter f. The maximum number of laser line extractions;

[0080] Then, the height coordinate, grayscale mean and scattering value of the laser line are spliced ​​together according to the rule of s+g+h, where s is the scattering value of the laser line, g is the grayscale mean and h is the height coordinate;

[0081] Then, the spliced ​​laser lines are stored in the cache area. First, determine whether there is data in the storage position pointed to by the current pointer. If there is data, the pointer moves down to continue the determination. If not, the spliced ​​data is stored in the current storage position. It should be noted that the initial position of the pointer is the first storage position of the first storage unit in the cache area. The pointer can also be adjusted to the corresponding storage unit according to the position of the current pixel column in the input image, but the pointer will point to the first storage position of the current storage unit by default. When storing data, if the current storage unit is full, the pointer will be automatically adjusted to the next storage unit.

[0082] Step S50: cyclically comparing the height coordinates of the laser line pixels in each column in the buffer area, and filtering and outputting the final laser line data according to the comparison result;

[0083] In the buffer area, multiple laser line data on the same pixel column are stored in the same storage unit. In this step, it is necessary to filter out a valid laser line data from each storage unit to form a complete laser line. Specifically:

[0084] Step S51: taking the first storage unit in the buffer area as the screening starting point, the connected domain screening interval as the screening range, the horizontal connected domain screening initial value as the first comparison value, and outputting the first screening result;

[0085] The connected domain screening interval is taken from the system parameter g, and the initial value of the horizontal connected domain screening is taken from the working mode configuration item b. Starting from the screening starting point, read the data on all storage bits in the current storage unit, compare the absolute difference between h (height coordinate) on each storage bit and the initial value of the horizontal connected domain screening, and screen out the data on the storage bit with the smallest difference as the screening result of the current storage unit. The screening results of all storage units in the current screening range together constitute the result of the first screening.

[0086] Step S52: Taking the next storage unit of the last storage unit in the last screening range as the starting point, the connected domain screening interval as the screening range, and the last screening result as the comparison value, output the current screening result;

[0087] Step S53: cyclically executing step S52 until all storage units in the cache area have been screened;

[0088] The specific comparison and screening method is the same as step S51, except that the screening range and comparison value need to be re-determined each time.

[0089] It should be noted that from the image input to the output of the laser line data, all operations are processed in a stream processing manner and are processed in parallel according to the system parameter c. pixel parallelism to achieve visual output without delay.

[0090] Embodiment 2

[0091] like Figure 2 As shown, the second embodiment of the present application provides an agile development system of a laser line extractor for multiple reflection scenarios, including: a laser line extractor configuration module 21, a laser line data extraction module 22, a laser line data cache module 23, and a laser line data screening and output module 24;

[0092] A laser line extractor configuration module 21, used to configure system parameters and working modes for the laser line extractor;

[0093] Configurable system parameters include:

[0094] a. Resolution: supports multiple resolution image inputs, ranging from [64, 16384];

[0095] b. Pixel width: supports image input with multiple pixel widths;

[0096] c. Pixel parallelism: supports processing of 2 power pixels in 1 clock;

[0097] d. Image transmission format: supports normal transmission and 1X-2Y transmission;

[0098] e. Scattering maximum value interval: supports the selection of scattering maximum value of power 2;

[0099] f. Maximum number of laser line extractions: supports 1, 2, 4, 8, and 16 laser line extractions;

[0100] g. Connected domain screening interval: supports the selection of connected domain screening intervals of power 2.

[0101] The configuration items of the working mode include:

[0102] a. Laser line buffer type (valid only in 1X-2Y transmission): supports share mode and independent mode. In share mode, the upper and lower banks share the laser line buffer area; in independent mode, the upper and lower banks each use half of the laser line buffer area;

[0103] b. Filtering initial values ​​of horizontally connected domains: Filtering initial values ​​of the first connected domain;

[0104] c. Grayscale threshold: laser line extraction threshold;

[0105] d. Minimum effective width of laser line: the minimum width of the laser line that can be extracted;

[0106] e. Maximum effective width of laser line: the maximum width of the laser line that can be extracted.

[0107] The laser line data extraction module 22 is used to calculate the grayscale multiplication and accumulation value, grayscale accumulation value and scattering value of each laser line on the current pixel column;

[0108] If the system parameter d. Image transmission format of the laser line extractor is set to 1X-2Y transmission, the input image will be divided into two banks, upper bank and lower bank, during laser line extraction, and the pixels of the two banks will be processed column by column at the same time. The specific workflow includes:

[0109] I. Traverse each pixel on the current pixel column and determine the state of the current pixel with respect to the laser line according to the grayscale threshold;

[0110] Prepare two variables p_flag and c_flag, which represent the grayscale flags of the previous pixel and the current pixel respectively. The initial values ​​are both 0. First, determine whether the grayscale value of the current pixel is greater than the grayscale threshold (working mode configuration item c). If so, set c_flag to 1, otherwise to 0. Then, determine the state of the laser line corresponding to the current pixel. If c_flag is 0 and p_flag is 0, it means that the current pixel is not in the laser line; if c_flag is 1 and p_flag is 0, it means that the current pixel is at the beginning of the laser line; if c_flag is 1 and p_flag is 1, it means that the current pixel is in the laser line; if c_flag is 0 and p_flag is 1, it means that the current pixel is at the end of the laser line.

[0111] After each judgment is completed, p_flag is updated with the value of c_flag, and then c_flag is updated according to the comparison result between the grayscale value of the next pixel and the grayscale threshold, until all pixels are traversed.

[0112] II. If the current pixel is not within the laser line, it is ignored;

[0113] III. If the current pixel is at the starting position of the laser, initialize the grayscale multiplication and accumulation value, grayscale accumulation value and scattering value, and write them into the cache;

[0114] Prepare three variables in the cache to store grayscale multiplication and accumulation values, grayscale accumulation values, and scattering values, namely grey_mac, grey_acc, and scatter; the formula for initializing these three variables is expressed as:

[0115] grey_mac=grey_c height_c

[0116] grey_acc=grey_c

[0117] scatter=1, where grey_c represents the gray value of the current pixel, and height_c represents the row height of the current pixel.

[0118] IV. If the current pixel is within the laser line, update the grayscale multiplication and accumulation value, grayscale accumulation value and scattering value;

[0119] The update formula of grayscale multiplication and accumulation value, grayscale accumulation value and scattering value is expressed as:

[0120] grey_mac=grey_c height_c+grey_mac

[0121] grey_acc=grey_c+grey_acc

[0122] scatter=1+scatter, where grey_mac, grey_acc and scatter are the grayscale multiplication and accumulation values, grayscale accumulation values ​​and scattering values ​​stored in the cache respectively, grey_c represents the grayscale value of the current pixel, and height_c represents the row height of the current pixel.

[0123] V. If the current pixel is at the end position of the laser line, the grayscale multiplication and accumulation value, grayscale accumulation value and scattering value are read from the cache and sent to the next level for processing;

[0124] In this step, the laser line also needs to be screened according to the minimum effective width of the laser line (working mode configuration item d) and the maximum effective width of the laser line (working mode configuration item e). The screening condition is: if w_min≦|h_start-h_end|≦w_max, the current laser line is retained, otherwise the current laser line is discarded, where w_min is the minimum effective width of the laser line, h_start is the row height of the starting position of the laser line, h_end is the row height of the ending position of the laser line, and w_max is the maximum effective width of the laser line.

[0125] VI. Calculate the height coordinate and grayscale mean of each laser line on the current pixel column based on the statistical data;

[0126] The calculation formula of the height coordinate h_data of a laser line at the current column pixel point is expressed as:

[0127] h_data=grey_mac / grey_acc, where grey_mac and grey_acc are the grayscale multiplication and accumulation values ​​and grayscale accumulation values ​​of the laser line respectively.

[0128] The calculation formula of the grayscale mean g_data of a laser line at the current column of pixels is expressed as:

[0129] g_data=grey_acc / scatter, where scatter is the scattering value of the laser line.

[0130] The laser line data buffer module 23 is used to splice and buffer the height coordinates, grayscale mean and scattering value of each laser line on the current pixel column;

[0131] First, apply for a buffer area, which contains several storage units, each of which contains several storage bits. The number of storage units is determined by the number of columns of pixels in the input image, and the number of storage bits is determined by the system parameter f. The maximum number of laser line extractions;

[0132] Then, the height coordinate, grayscale mean and scattering value of the laser line are spliced ​​together according to the rule of s+g+h, where s is the scattering value of the laser line, g is the grayscale mean and h is the height coordinate;

[0133] Then, the spliced ​​laser lines are stored in the cache area. First, determine whether there is data in the storage position pointed to by the current pointer. If there is data, the pointer moves down to continue the determination. If not, the spliced ​​data is stored in the current storage position. It should be noted that the initial position of the pointer is the first storage position of the first storage unit in the cache area. The pointer can also be adjusted to the corresponding storage unit according to the position of the current pixel column in the input image, but the pointer will point to the first storage position of the current storage unit by default. When storing data, if the current storage unit is full, the pointer will be automatically adjusted to the next storage unit.

[0134] The laser line data screening and output module 24 is used to cyclically compare the height coordinates of each column of laser line pixels in the buffer area, and screen and output the final laser line data according to the comparison result;

[0135] In the buffer area, multiple laser line data on the same pixel column are stored in the same storage unit. In this step, it is necessary to filter out a valid laser line data from each storage unit to form a complete laser line. The specific workflow includes:

[0136] I. Take the first storage unit in the buffer area as the screening starting point, the connected domain screening interval as the screening range, the horizontal connected domain screening initial value as the first comparison value, and output the first screening result;

[0137] The connected domain screening interval is taken from the system parameter g, and the initial value of the horizontal connected domain screening is taken from the working mode configuration item b. Starting from the screening starting point, read the data on all storage bits in the current storage unit, compare the absolute difference between h (height coordinate) on each storage bit and the initial value of the horizontal connected domain screening, and screen out the data on the storage bit with the smallest difference as the screening result of the current storage unit. The screening results of all storage units in the current screening range together constitute the result of the first screening.

[0138] II. Take the next storage unit of the last storage unit in the previous screening range as the starting point, the connected domain screening interval as the screening range, the previous screening result as the comparison value, and output the current screening result;

[0139] III. Loop through the second step until all storage units in the cache are screened;

[0140] The specific comparison and screening methods are the same as the first step, except that the screening range and comparison value must be re-determined each time.

[0141] It should be noted that from the image input to the output of the laser line data, all operations are processed in a stream processing manner and are processed in parallel according to the system parameter c. pixel parallelism to achieve visual output without delay.

[0142] Corresponding to the above embodiment, an embodiment of the present invention provides a computer storage medium, including: at least one memory and at least one processor;

[0143] The memory is used to store one or more program instructions;

[0144] The processor is used to run one or more program instructions to execute an agile development method of a laser line extractor for multiple reflection scenarios.

[0145] Corresponding to the above-mentioned embodiment, an embodiment of the present invention provides a computer-readable storage medium, wherein the computer storage medium contains one or more program instructions, and the one or more program instructions are used by a processor to execute an agile development method of a laser line extractor for multiple reflection scenarios.

[0146] The embodiments disclosed in the present invention provide a computer-readable storage medium, in which computer program instructions are stored. When the computer program instructions are executed on a computer, the computer executes the above-mentioned agile development method of a laser line extractor for multiple reflection scenarios.

[0147] In the embodiment of the present invention, the processor may be an integrated circuit chip having the ability to process signals. The processor may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0148] The methods, steps and logic block diagrams disclosed in the embodiments of the present invention can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiments of the present invention can be directly embodied as a hardware decoding processor for execution, or can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The processor reads the information in the storage medium and completes the steps of the above method in combination with its hardware.

[0149] The storage medium may be a memory, which may be, for example, a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memory.

[0150] Among them, the non-volatile memory can be a read-only memory (ROM), a programmable ROM (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory.

[0151] The volatile memory may be a random access memory (RAM) which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDRSDRAM), enhanced synchronous DRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus DRAM (DRRAM).

[0152] The storage media described in the embodiments of the present invention are intended to include, but are not limited to, these and any other suitable types of memory.

[0153] Those skilled in the art will appreciate that in one or more of the above examples, the functions described in the present invention can be implemented using a combination of hardware and software. When software is used, the corresponding functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any media that facilitates the transmission of computer programs from one place to another. Storage media can be any available media that can be accessed by general or special-purpose computers.

[0154] The specific implementation methods described above further illustrate the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above description is only a specific implementation method of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made on the basis of the technical solution of the present invention should be included in the scope of protection of the present invention.

Claims

1. An agile development method for laser line extractors in multi-reflection scenarios, characterized in that: include: Step 1. Configure system parameters and working mode for the laser line extractor; Step 2, use the configured laser line extractor to count the grayscale multiplication and accumulation value, grayscale accumulation value and scattering value of each laser line on the current pixel column; In this step, the width of the laser line is also screened, and only the laser lines that are larger than the minimum effective width of the laser line and smaller than the maximum effective width of the laser line will be handed over to the lower level for processing; Step 3, calculate the height coordinate and grayscale mean of each laser line on the current pixel column based on the statistical data; Step 4, stitching and caching the height coordinates, grayscale mean, and scattering value of each laser line on the current pixel column; The buffer area contains a number of storage units, each of which contains a number of storage bits, wherein the number of storage units is determined by the number of columns of pixels in the input image, and the number of storage bits is determined by the maximum number of laser line extractions; Step 5: Circularly compare the height coordinates of each column of laser line pixels in the buffer area, filter and output the final laser line data according to the comparison results, which is specifically divided into the following sub-steps: The first storage unit in the buffer area is used as the screening starting point, the connected domain screening interval is used as the screening range, the horizontal connected domain screening initial value is used as the first comparison value, and the first screening result is output; starting from the screening starting point, the data on all storage bits in the current storage unit are read, and the absolute difference between the height coordinate of each storage bit and the horizontal connected domain screening initial value is compared, and the data on the storage bit with the smallest difference is screened as the screening result of the current storage unit; Take the next storage unit of the last storage unit in the previous screening range as the starting point, the connected domain screening interval as the screening range, the previous screening result as the comparison value, and output the current screening result; The above steps are executed repeatedly until all storage units in the cache are screened.

2. According to claim 1, the agile development method of laser line extractor for multiple reflection scenarios is characterized in that: The system parameters of the laser line extractor include: resolution, pixel width, pixel parallelism, image transmission format, scattering maximum value interval, maximum number of laser line extraction, and connected domain screening interval.

3. The agile development method of a laser line extractor for multiple reflection scenarios according to claim 1 is characterized in that: The configuration items of the laser line extractor working mode include: laser line cache type, initial value of horizontal connected domain screening, grayscale threshold, minimum effective width of laser line, and maximum effective width of laser line.

4. The agile development method of a laser line extractor for multiple reflection scenarios according to claim 1 is characterized in that: Use the configured laser line extractor to count the grayscale multiplication and accumulation value, grayscale accumulation value and scattering value of each laser line on the current pixel column, which specifically includes the following sub-steps: Traverse each pixel point on the current pixel column, and determine the state of the current pixel point with respect to the laser line according to the grayscale threshold; If the current pixel is not within the laser line, it is ignored; If the current pixel is at the starting position of the laser, the grayscale multiplication and accumulation value, grayscale accumulation value and scattering value are initialized and written into the cache; If the current pixel is within the laser line, update the grayscale multiplication and accumulation value, grayscale accumulation value and scattering value; If the current pixel is at the end position of the laser line, the grayscale multiplication and accumulation value, grayscale accumulation value and scattering value are read from the cache and sent to the next level for processing.

5. An agile development system for laser line extractors for multiple reflection scenarios, comprising: Laser line extractor configuration module 21, laser line data extraction module 22, laser line data cache module 23, laser line data screening and output module 24; A laser line extractor configuration module 21, used to configure system parameters and working modes for the laser line extractor; The laser line data extraction module 22 is used to count the grayscale multiplication and accumulation value, grayscale accumulation value and scattering value of each laser line on the current pixel column, and filter the width of the laser line according to the scattering value. Only the laser line with a width greater than the minimum effective width of the laser line and less than the maximum effective width of the laser line will be handed over to the lower level for processing; The laser line data buffer module 23 is used to splice and buffer the height coordinates, grayscale mean and scattering value of each laser line on the current pixel column; The buffer area contains a number of storage units, each of which contains a number of storage bits, wherein the number of storage units is determined by the number of columns of pixels in the input image, and the number of storage bits is determined by the maximum number of laser line extractions; The laser line data screening and output module 24 is used to cyclically compare the height coordinates of each column of laser line pixels in the buffer area, and screen and output the final laser line data according to the comparison results, specifically including: The first storage unit in the buffer area is used as the screening starting point, the connected domain screening interval is used as the screening range, the horizontal connected domain screening initial value is used as the first comparison value, and the first screening result is output; starting from the screening starting point, the data on all storage bits in the current storage unit are read, and the absolute difference between the height coordinate of each storage bit and the horizontal connected domain screening initial value is compared, and the data on the storage bit with the smallest difference is screened as the screening result of the current storage unit; Take the next storage unit of the last storage unit in the previous screening range as the starting point, the connected domain screening interval as the screening range, the previous screening result as the comparison value, and output the current screening result; The above steps are executed repeatedly until all storage units in the cache are screened.

6. A computer storage medium, characterized in that: include: at least one memory and at least one processor; A memory for storing one or more program instructions; A processor, used to run one or more program instructions to execute an agile development method for a laser line extractor for multiple reflection scenarios as described in any one of claims 1-4.