A total station multi-prism scene target prism recognition method and system
By using an FPGA+ARM architecture and a zigzag scanning algorithm, the problem of prism recognition and positioning was solved, enabling efficient and accurate measurement by the robotic total station.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SOUTH SURVEYING & MAPPING INSTR
- Filing Date
- 2022-11-03
- Publication Date
- 2026-05-15
AI Technical Summary
Existing robotic total stations cannot effectively distinguish and identify multiple prisms during long-distance measurements or tunnel and subway construction and monitoring, resulting in measurement data deviations and the inability to find the prism closest to the center of the field of view.
Using an FPGA+ARM architecture, the system employs CMOS image data preprocessing, pixel region segmentation, grayscale judgment, and a zigzag scanning algorithm to distinguish and identify multiple prisms and determine the position of the prism closest to the center of the field of view.
In multi-prism scenarios, the robot total station was able to efficiently identify and locate the prism closest to the center of the field of view, improving the accuracy and efficiency of measurements.
Smart Images

Figure CN115713649B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of surveying and mapping engineering, and more specifically, to a method and system for identifying target prisms in a total station multi-prism scene. Background Technology
[0002] In total station surveying, to measure distance, a prism needs to be set up at the test point. Using a reflecting prism as a reflector, the light signal emitted by the total station is received and reflected back. The phase shift of the light signal is calculated, thereby indirectly determining the light travel time and ultimately measuring the distance. Simultaneously, the reflecting prism also enhances the intensity of the reflected light signal and improves the accuracy of angle measurements.
[0003] When using a robotic total station for subway tunnel and long-distance measurement and monitoring, it is often necessary to place multiple prisms simultaneously for sequential measurement. However, due to the relatively narrow tunnels and long distances, it is unavoidable that two or more prisms may appear in the field of view at the same time. Common solutions to this problem include temporarily obscuring some prisms or manually aiming and measuring, which severely impacts measurement efficiency. Furthermore, if the issue of multiple prisms is not considered during measurement or monitoring, and multiple prisms are measured as a single prism, it will lead to serious deviations in the measurement data and unpredictable consequences.
[0004] In existing technologies, a Chinese invention patent discloses an AI algorithm for an automatic prism identification and tracking system and method in a total station. This system includes a data acquisition module, a preprocessing module, a detection module, and a tracking module. The data acquisition module is connected to the preprocessing module, the preprocessing module is connected to the detection module, and the detection module is connected to the tracking module. The detection module includes an ATR motherboard, a total station objective lens, and a prism. The ATR motherboard includes a signal modulation unit, an AI image processing unit, and an image driving unit. In this invention, the AI recognition technology can learn the prism's state in more complex environments, including features such as shape, size, and brightness. The AI has strong anti-interference capabilities and high real-time performance. The tracking function in the AI algorithm can control the re-identification function by setting a feature storage threshold to allow the prism frame to reappear after loss. The AI detection module provides real-time feedback of the prism's position information to the control terminal, enabling the driver to locate the prism and complete the measurement function. However, this patent is only suitable for measuring a single prism and cannot handle complex scenarios with multiple prisms present. Summary of the Invention
[0005] This invention addresses the technical shortcomings of existing robotic total stations in long-distance measurement or in tunnel, subway construction and monitoring processes, where they cannot distinguish and identify two or more prisms in the field of view, and cannot find the prism closest to the center of the field of view. It provides a method and system for identifying target prisms in multi-prism scenarios using a total station.
[0006] To achieve the above-mentioned objectives, the technical solution adopted is as follows:
[0007] A method for identifying a target prism in a multi-prism scene using a total station includes the following steps:
[0008] Transmit CMOS image data to FPGA;
[0009] The FPGA preprocesses the CMOS image data to obtain pixel area data and transmits it to the ARM.
[0010] The ARM scans and calculates the pixel area data to complete the identification of the target prism.
[0011] In the above solution, this application is based on an FPGA+ARM architecture. When the robot total station is used for long-distance measurement or in the construction and monitoring of tunnels and subways, it can distinguish and identify two or more prisms in the field of view, and find the prism closest to the center of the field of view.
[0012] Preferably, the preprocessing includes grayscale determination, pixel region division, pixel coordinate processing, and interrupt signal transmission.
[0013] Preferably, the grayscale determination specifically involves the FPGA determining the grayscale value of the CMOS data and identifying pixels with values greater than a threshold as bright spots.
[0014] In the above scheme, the threshold value can be adjusted according to the actual brightness of the light spot. In this application, 250 is used in the design and implementation.
[0015] The pixel region division is specifically as follows: the CMOS image is divided into pixel regions according to actual needs;
[0016] The pixel coordinate processing is as follows: when a pixel in a pixel region is a bright spot, the coordinates of the pixel are accumulated, and the pixel count value is incremented by 1 accordingly; at the same time, the boundary of each pixel region is judged; when the boundary of the region is a bright spot, the corresponding output is 1, otherwise the output is 0; the top, bottom, left and right boundaries of each region can be represented by 4 bits of data.
[0017] The interrupt signal transmission is specifically as follows: when the data of every N pixel area is calculated, the data is transmitted to the ARM terminal once, and an interrupt signal for transmitting data to the ARM is generated by utilizing the time gaps between rows of CMOS when there are no pixels, which is used to transmit the data of N pixel areas.
[0018] Preferably, the CMOS image has a resolution of 960×960 pixels, is divided into pixel regions of 20×20 pixels, and each pixel region has 2304 pixels.
[0019] Preferably, in ARM, firstly, according to the received interrupt signal, the pixel region data is obtained sequentially, arranged in order, and the pixel region information of the entire image is cached;
[0020] Secondly, the starting region for scanning needs to be calculated based on the pixel coordinates of the input field of view center. If the input field of view center coordinates are (X, Y), the starting region is (M, N).
[0021] In the above scheme, due to issues such as instrument structure and axis system, the center of the CMOS is not the center of the image in the field of view. In order to ensure that scanning always starts from the center of the field of view and that the spot can always be moved to the center of the field of view, it is necessary to calculate the starting area for scanning based on the pixel coordinates of the input field of view center.
[0022] Then, scan the starting region (M, N) from the inside out in a U-shape;
[0023] In the above scheme, the scanning center is the field of view center, each color represents each zigzag scan, each 1 represents the scanning starting point of the zigzag (which can be determined according to the actual situation), and the actual scanning center of each point is added or subtracted accordingly; when the field of view center does not coincide with the center of the CMOS, the blank area is not used for pixel calculation, but to ensure the universality of the algorithm, the corresponding output value is 0.
[0024] Finally, when a bright pixel is found in the area closest to the center by scanning in a U-shape, this point is used as the starting point for diffusion. The center position of the light spot is obtained by dividing the coordinate value by the number of corresponding bright pixels.
[0025] Preferably, the starting region (M, N) is calculated as follows:
[0026]
[0027] || indicates rounding down.
[0028] Preferably, the target prism is identified as follows: when there are bright pixels on its boundary, the next pixel region corresponding to it is considered to be the same spot as the pixels in this region. The pixel data of the two are added together. This method is used to calculate the pixel region of the same spot until there are no bright pixels on the four boundaries of a certain pixel region or no bright pixel data in the next pixel region corresponding to the four boundaries. Then the pixel data of a spot is considered to be finished. Finally, the position of the target prism is obtained by dividing the coordinate value by the number of corresponding bright pixels.
[0029] A target prism identification system for a total station multi-prism scene is disclosed, which applies a target prism identification method for a total station multi-prism scene. The system includes a data transmission module, an FPGA processing module, and an ARM processing module. The output terminal of the data transmission module is electrically connected to the input terminal of the FPGA processing module, and the output terminal of the FPGA processing module is electrically connected to the input terminal of the ARM processing module.
[0030] Preferably, in the FPGA processing module, the FPGA determines the grayscale value of the CMOS data, identifies pixels with values greater than a threshold as bright spots, and performs corresponding calculations; the CMOS image is divided into pixel regions according to actual needs; when a pixel in a pixel region is a bright spot, the X and Y coordinates of the pixel are accumulated, and the pixel count value is incremented by 1 accordingly; the boundary of each pixel region is also determined; when the boundary of a region is a bright spot, the corresponding output is 1, otherwise the output is 0; the top, bottom, left, and right boundaries of each region can be represented by 4 bits of data; when the data for every N pixel regions is calculated, the data is transmitted to the ARM terminal once, and an interrupt signal for transmitting data to the ARM is generated using the time gaps between rows of the CMOS when there are no pixels, for transmitting the data of N pixel regions.
[0031] Preferably, in the ARM processing module, pixel region data is acquired sequentially according to the received interrupt signal, arranged in order, and the pixel region information of the entire image is cached; the starting region for scanning needs to be calculated based on the pixel coordinates of the input field of view center. If the input field of view center coordinates are (X, Y), the starting region (M, N) is calculated; the starting region (M, N) is scanned from the inside out in a U-shape; when a bright pixel is found in the region closest to the center through the U-shape scanning, this point is used as the diffusion starting point, and the position of the target prism is obtained by dividing the coordinate value by the number of corresponding bright pixels.
[0032] Compared with the prior art, the beneficial effects of the present invention are:
[0033] This invention provides a method and system for identifying target prisms in a multi-prism scenario using a total station. Based on an FPGA+ARM architecture, the robotic total station can distinguish and identify two or more prisms when they appear in the field of view during long-distance measurement or during tunnel and subway construction and monitoring. At the same time, it can find the prism closest to the center of the field of view. Attached Figure Description
[0034] Figure 1 This is a flowchart of the method of the present invention;
[0035] Figure 2 This is a pixel region division diagram of the present invention;
[0036] Figure 3This is a schematic diagram of pixel region scanning according to the present invention;
[0037] Figure 4 This is a schematic diagram of pixel region scanning when the center of the field of view and the CMOS center do not coincide in the present invention.
[0038] Figure 5 This is a module state diagram of the present invention;
[0039] Figure 6 This is a schematic diagram of the data processing of the present invention. Detailed Implementation
[0040] The accompanying drawings are for illustrative purposes only and should not be construed as limiting the scope of this patent.
[0041] The present invention will be further described below with reference to the accompanying drawings and embodiments.
[0042] Example 1
[0043] like Figures 1-4 As shown, a method for identifying a target prism in a multi-prism scene using a total station includes the following steps:
[0044] Transmit CMOS image data to FPGA;
[0045] The FPGA preprocesses the CMOS image data to obtain pixel area data and transmits it to the ARM.
[0046] The ARM scans and calculates the pixel area data to complete the identification of the target prism.
[0047] In the above solution, this application is based on an FPGA+ARM architecture. When the robot total station is used for long-distance measurement or in the construction and monitoring of tunnels and subways, it can distinguish and identify two or more prisms in the field of view, and find the prism closest to the center of the field of view.
[0048] Preferably, the preprocessing includes grayscale determination, pixel region division, pixel coordinate processing, and interrupt signal transmission.
[0049] Preferably, the grayscale determination specifically involves the FPGA determining the grayscale value of the CMOS data and identifying pixels with values greater than a threshold as bright spots.
[0050] In the above scheme, the threshold value can be adjusted according to the actual brightness of the light spot. In this application, 250 is used in the design and implementation.
[0051] The pixel region division is specifically as follows: the CMOS image is divided into pixel regions according to actual needs;
[0052] The processing of pixel coordinates is specifically as follows: When the pixel points in the pixel area are the bright spots of the light spot, the coordinates of the pixel points are accumulated, and at the same time, the pixel count value is incremented by 1; at the same time, the boundaries of each pixel area are judged; when the area boundary is the bright spot of the light spot, 1 is output correspondingly, otherwise 0 is output; the upper, lower, left, and right boundaries of each area can be represented by 4-bit data;
[0053] The transmission of the interrupt signal is specifically as follows: When the data of every N pixel areas is calculated, the data is transmitted to the ARM side once, and an interrupt signal for transmitting data to the ARM is generated by using the pixel-free time gap between the rows of the CMOS, for transmitting the data of N pixel areas.
[0054] Preferably, the CMOS picture pixels are 960×960, the divided pixel areas are 20×20, and the pixel points in each pixel area are 2304, as Figure 2 shown.
[0055] Preferably, in the ARM, first, according to the received interrupt signal, the pixel area data is obtained in sequence and arranged in order, and the pixel area information of the entire picture is cached;
[0056] Secondly, according to the pixel coordinate value of the center of the field of view passed in, the starting area to be scanned needs to be calculated. If the passed-in center coordinate of the field of view is (X, Y), calculate the starting area (M, N);
[0057] In the above scheme, due to problems such as the instrument structure and the axis system, the center of the CMOS is not the center of the image in the field of view. To ensure that the scanning always starts from the center of the field of view and the light spot can always be moved to the center of the field of view later, it is necessary to calculate the starting area to be scanned according to the pixel coordinate value of the center of the field of view passed in.
[0058] After that, scan the starting area (M, N) from the inside out in a zigzag manner, as Figure 3 shown;
[0059] In the above scheme, the scanning center is the center of the field of view. Each color represents each zigzag scan. Each 1 represents the starting point of the zigzag scan (which can be determined according to the actual situation). The actual scanning center of each point is added or subtracted correspondingly based on this; when the center of the field of view does not coincide with the center of the CMOS, pixel calculation is not performed on the blank area, but to ensure the generality of the algorithm, the corresponding output value is 0, as Figure 4 shown.
[0060] Finally, when there is bright spot pixel information in the area closest to the center is scanned by the zigzag method, starting from this point as the diffusion starting point, the center position of the light spot is obtained by dividing the coordinate value by the corresponding number of pixel bright spots.
[0061] Preferably, the calculation method of the starting area (M, N) is:
[0062]
[0063] || indicates rounding down.
[0064] Preferably, the target prism is identified as follows: when there are bright pixels on its boundary, the next pixel region corresponding to it is considered to be the same spot as the pixels in this region. The pixel data of the two are added together. This method is used to calculate the pixel region of the same spot until there are no bright pixels on the four boundaries of a certain pixel region or no bright pixel data in the next pixel region corresponding to the four boundaries. Then the pixel data of a spot is considered to be finished. Finally, the position of the target prism is obtained by dividing the coordinate value by the number of corresponding bright pixels.
[0065] Example 2
[0066] like Figure 5 and Figure 6 As shown, a target prism identification system in a total station multi-prism scene is disclosed, which applies a target prism identification method in a total station multi-prism scene. The system includes a data transmission module, an FPGA processing module, and an ARM processing module. The output terminal of the data transmission module is electrically connected to the input terminal of the FPGA processing module, and the output terminal of the FPGA processing module is electrically connected to the input terminal of the ARM processing module.
[0067] Preferably, in the FPGA processing module, the FPGA determines the grayscale value of the CMOS data, identifies pixels with values greater than a threshold as bright spots, and performs corresponding calculations; the CMOS image is divided into pixel regions according to actual needs; when a pixel in a pixel region is a bright spot, the X and Y coordinates of the pixel are accumulated, and the pixel count value is incremented by 1 accordingly; the boundary of each pixel region is also determined; when the boundary of a region is a bright spot, the corresponding output is 1, otherwise the output is 0; the top, bottom, left, and right boundaries of each region can be represented by 4 bits of data; when the data for every N pixel regions is calculated, the data is transmitted to the ARM terminal once, and an interrupt signal for transmitting data to the ARM is generated using the time gaps between rows of the CMOS when there are no pixels, for transmitting the data of N pixel regions.
[0068] Preferably, in the ARM processing module, pixel region data is acquired sequentially according to the received interrupt signal, arranged in order, and the pixel region information of the entire image is cached; the starting region for scanning needs to be calculated based on the pixel coordinates of the input field of view center. If the input field of view center coordinates are (X, Y), the starting region (M, N) is calculated; the starting region (M, N) is scanned from the inside out in a U-shape; when a bright pixel is found in the region closest to the center through the U-shape scanning, this point is used as the diffusion starting point, and the position of the target prism is obtained by dividing the coordinate value by the number of corresponding bright pixels.
[0069] Obviously, the above embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not intended to limit the implementation of the present invention. Those skilled in the art can make other variations or modifications based on the above description. It is neither necessary nor possible to exhaustively describe all embodiments here. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the scope of protection of the claims of the present invention.
Claims
1. A method for identifying a target prism in a multi-prism scene using a total station, characterized in that, Includes the following steps: Transmit CMOS image data to FPGA; The FPGA preprocesses the CMOS image data to obtain pixel area data and transmits it to the ARM. The ARM scans and calculates the pixel area data to complete the identification of the target prism; The preprocessing includes grayscale determination, pixel region division, pixel coordinate processing, and interrupt signal transmission; The grayscale determination is specifically as follows: the FPGA determines the grayscale value of the CMOS data and identifies pixels with a value greater than the threshold as bright spots. The pixel region division is specifically as follows: the CMOS image is divided into pixel regions according to actual needs; The pixel coordinate processing is as follows: when a pixel in a pixel region is a bright spot, the coordinates of the pixel are accumulated, and the pixel count value is incremented by 1 accordingly; at the same time, the boundary of each pixel region is judged; when the boundary of the region is a bright spot, the corresponding output is 1, otherwise the output is 0; the top, bottom, left and right boundaries of each region can be represented by 4 bits of data. The transmission of the interrupt signal is as follows: when the data of every N pixel area is calculated, the data is transmitted to the ARM terminal once, and an interrupt signal for transmitting data to the ARM is generated by utilizing the time gap between rows of CMOS when there are no pixels, which is used to transmit the data of N pixel areas. In ARM, firstly, according to the received interrupt signals, the pixel region data is obtained sequentially, arranged in order, and the pixel region information of the entire image is cached. Secondly, the starting region for scanning needs to be calculated based on the pixel coordinates of the input field of view center. If the input field of view center coordinates is (X, Y), the starting region is (M, N). Then, scan the starting region (M, N) from the inside out in a U-shape. Finally, when the bright pixel information is found in the area closest to the center by scanning in a zigzag pattern, this point is used as the diffusion starting point, and the center position of the light spot is obtained by dividing the coordinate value by the number of corresponding bright pixels; The target prism is identified as follows: when there are bright pixels on its boundary, the next pixel region corresponding to it is considered to be the same spot as the pixels in this region. The pixel data of the two are added together. This method is used to calculate the pixel region of the same spot until there are no bright pixels on the four boundaries of a certain pixel region or no bright pixel data in the next pixel region corresponding to the four boundaries. Then the pixel data of a spot is considered to be finished. Finally, the position of the target prism is obtained by dividing the coordinate value by the number of corresponding bright pixels.
2. The method for identifying a target prism in a multi-prism scene using a total station according to claim 1, characterized in that, The CMOS image resolution is 960×960 pixels, divided into 20×20 pixel regions, with 2304 pixels in each region.
3. The method for identifying a target prism in a multi-prism scene using a total station according to claim 1, characterized in that, The starting region (M, N) is calculated as follows: Indicates rounding down.
4. A target prism recognition system for a total station in a multi-prism scenario, employing the multi-prism recognition method for a robotic total station as described in claim 3, characterized in that... It includes a data transmission module, an FPGA processing module, and an ARM processing module; the output terminal of the data transmission module is electrically connected to the input terminal of the FPGA processing module, and the output terminal of the FPGA processing module is electrically connected to the input terminal of the ARM processing module. In the FPGA processing module, the FPGA judges the grayscale value of the CMOS data, identifies pixels with values greater than a threshold as bright spots, and performs corresponding calculations. The CMOS image is divided into pixel regions according to actual needs. When a pixel in a region is a bright spot, the X and Y coordinates of the pixel are accumulated, and the pixel count is incremented by 1. The boundaries of each pixel region are also judged; when a region boundary is a bright spot, a value of 1 is output, otherwise 0 is output. The top, bottom, left, and right boundaries of each region can be represented by 4 bits of data. Data is transmitted to the ARM terminal once every N pixel regions. An interrupt signal for transmitting data to the ARM is generated using the pixel-free time gaps between rows of the CMOS image. In the ARM processing module, pixel region data is acquired sequentially according to the received interrupt signal, arranged in order, and the pixel region information of the entire image is cached. It is necessary to calculate the starting region for scanning based on the pixel coordinates of the input field of view center. If the input field of view center coordinates are (X, Y), the starting region (M, N) is calculated. The starting region (M, N) is scanned from the inside out in a back-shaped pattern. When a bright pixel is found in the region closest to the center through the back-shaped scan, this point is used as the diffusion starting point. The position of the target prism is obtained by dividing the coordinate value by the number of corresponding bright pixels.