Power line geo-correction
By processing point cloud data and reference data using rasterization and neural network technologies, the problem of inaccurate power line location determination was solved, enabling accurate identification and updating of power line locations and improving the accuracy and efficiency of power line geocorrection.
Patent Information
- Application Number
- CN202180076752.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-11-16
- Filing Date
- 2021-10-14
- Publication Date
- 2026-01-02
- Estimated Expiration
- 2041-10-14
AI Technical Summary
Existing technologies suffer from inaccurate spatial coordinate determination when generating power line location maps, resulting in power line locations being far from the reference map data. Furthermore, rule-based algorithms are difficult to generalize, especially when tree canopy coverage is present.
By rasterizing point cloud data and reference data, an n+1 channel raster image is generated. Neural networks are used for feature extraction and geographic correction. Computer vision technology is combined to identify the accurate location of power lines. Deep learning techniques such as R-CNN and SVM are used for object detection and classification.
It enables accurate identification and updating of power line locations, reduces the need for costly on-site inspections, and improves the accuracy and efficiency of power line location determination.
Smart Images

Figure CN116547560B_ABST
Abstract
Description
BACKGROUND
[0001] The present invention relates generally to programmable computing systems, and more particularly to programmable computing systems configured to perform power line geo-correction.
[0002] Energy companies and municipalities use the locations of power lines as a decision criterion for various initiatives, such as mitigating the likelihood of any surrounding vegetation interacting with the power lines. Due to the vast footprint of many power line systems, on-site inspection can be expensive and susceptible to human error. Instead, companies and municipalities rely on computing systems programmed to receive image data to distinguish and identify any power lines described by the data. The computing systems can also provide the locations of the power lines by supplementing the image data with spatial coordinates. SUMMARY
[0003] Embodiments of the invention relate to power line geo-correction. A non-limiting example computer-implemented method includes generating a combined raster image from point cloud data and reference data describing original locations of power lines. A set of candidate pixels describing updated locations of the power lines is selected from the combined raster image, where the selection is based at least in part on locations of pixels in the combined raster image that describe the original locations. Pixels from the set of candidate pixels that describe updated locations of the power lines are detected. The combined raster image is modified to reflect the updated locations of the power lines.
[0004] Other embodiments of the invention implement features of the above-described methods in computer systems and computer program products.
[0005] Additional technical features and benefits are realized through the techniques of the present invention. Embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed subject matter. For a better understanding, refer to the specific embodiments and drawings that are described herein. BRIEF DESCRIPTION OF DRAWINGS
[0006] The specifics of the exclusive rights described herein are particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other features and advantages of embodiments of the invention will be apparent from the following detailed description, taken in conjunction with the accompanying drawings, in which:
[0007] Figure 1 A block diagram showing components of a power line extraction system according to one or more embodiments of the invention is shown;
[0008] Figure 2 A raster image of power lines according to one or more embodiments of the invention is shown;
[0009] Figure 3 A flowchart showing a power line extraction process according to one or more embodiments of the invention is shown;
[0010] Figure 4 A cloud computing environment in accordance with one or more embodiments of the application is depicted;
[0011] Figure 5 An abstraction model layer in accordance with one or more embodiments of the application is depicted; and
[0012] Figure 6 A block diagram of a computer system for implementing one or more embodiments of the application is depicted.
[0013] The figures described herein are illustrative. Numerous variations are possible without departing from the spirit of the application. For example, the acts described can be performed in a different order than described or can be added, deleted, modified, or modified. Additionally, the term "coupled" and variations thereof describe having a communication path between two elements and do not imply a direct connection between the elements with no intervening elements / connections therebetween. All such variations are considered part of the specification. DETAILED DESCRIPTION
[0014] One or more embodiments of the application provide computer-implemented methods, computing systems, and computer program products for encoding point cloud data and reference data into a raster image and extracting power line locations from the raster image.
[0015] Energy companies and municipalities rely on maps of power lines for planning and risk management. For example, vegetation mitigation relies on understanding the distance between vegetation and power lines. Unfortunately, maps defining the location of power lines are generated when the ability to determine the spatial coordinates of points of interest is inaccurate. As a result, the actual power line can be located tens of meters away from the location described in the reference map data. Conventional power line extraction systems apply rule-based algorithms that can be difficult to generalize since different rules are needed for different situations. For example, one set of rules can be applied to aerial images that depict a power line surrounded by trees. The set of rules can be directed to filtering out data points that depict trees. However, the set of rules would not be effective for aerial images where the power line is covered by a tree canopy.
[0016] One or more embodiments of the present invention address one or more of the above-mentioned shortcomings by providing a computer-implemented method, a computing system, and a computer program product that encodes information into an image by performing rasterization on point cloud data and reference data. During rasterization, a feature channel is created to capture useful information in the point cloud data. Additionally, a binary mask channel can be created to encode the location of power lines according to the reference data. A neural network can use the feature channel and the binary mask to perform geo-correction and update the location of the power lines. By combining newly captured data and reference data to generate the feature channel and the binary mask that guide the neural network, the power line extraction system can forgo expensive rule-based methods and identify accurate locations of power lines.
[0017] Turning now to Figure 1 , a power line extraction system 100 is generally shown in accordance with one or more embodiments of the present invention. The system 100 includes an image construction unit 102 for encoding point cloud data and reference data into an image. The system 100 also includes an extraction unit 104 for identifying power lines from the image data. The system 100 includes a geo-correction unit 106 for generating an authenticated map of the power lines.
[0018] The image construction unit 102 is operable to receive point cloud data and rasterize the data to convert it into an image. The image construction unit 102 can receive point cloud data and split the data into grid(s) over the target area. Each grid can be composed of m x n cells and associated with a respective channel or data characteristic. Each cell can include a value associated with the channel. The image construction unit 102 can use these values to generate a raster image, where each pixel of the raster image is associated with a cell of the grid(s). The raster image can be described as a bitmap image composed of a series of pixels, dots, or lines that, when displayed together, show the image described by the grid values. The raster image can be in various formats, such as JPG, GIG, and PNG. For example, if the image construction unit 102 encodes the point cloud data as a grayscale raster image, each grid cell can be a value between 0 and 255 to represent the brightness of the pixel. If the image construction unit 102 generates an RBG image, the image construction unit 102 will generate at least three grids, one for red, one for blue, and one for green. Each cell of each grid includes a respective value of the brightness of the red, blue, or green color. In each case, the image construction unit 102 generates an n-channel raster image that describes the target area.
[0019] Each cell in a grid can represent a geospatial location on the target area. Further, for each grid of the n-channel image, similarly located cells represent the same spatial location on the target area. For example, each cell in the top row of cells of the first grid represents the same geospatial location as the top row of cells in the second grid. Thus, each grid can be overlaid on each other grid to describe the same target area. The spatial location of a grid cell can be related to a geographic coordinate system. For example, the image construction unit 102 can generate a grid such that the cells can represent a particular longitude, latitude, and elevation location of the target area.
[0020] The image construction unit 102 can also receive reference data and convert the data into another raster image. The image construction unit 102 can segment the reference data into a reference grid having the same geospatial locations as the n-channel raster image. The reference data can describe a portion of the target area. The reference data can include at least one or more inaccurate locations of power lines. The reference grid describes the locations of the power lines in binary values. For example, a cell can have a value of 1 if the cell represents a location where a power line is present. Or, a cell can have a value of 0 if the cell represents a location where a power line is not present. The raster image derived from the reference grid can be a binary image in the form of a single-channel e x f reference raster image representing the locations of the power lines as described in the reference data. For example, each pixel of the image including a power line can be black, while each cell of the image not including a power line can be white.
[0021] The image construction unit 102 can operate to encode the n-channel grid with the reference grid to generate an n+1 channel image. In other words, the point cloud data is combined into a combined image and the reference data has been converted into the combined image, which visually describes the target area and the previously determined locations of the power lines at the target area. In the field of neural networks, deep learning techniques include receiving a set of data and learning which features to extract to accomplish a particular task. However, the models employed by neural networks can misclassify or perform poorly on data. These problems are exacerbated in the presence of small training data sets. By converting the data into raster images, the image construction unit 102 can employ computer vision techniques that enable deep learning neural networks, such as artificial neural networks (ANNs), to extract more meaningful features than raw numerical analysis based on rules.
[0022] The extraction unit 104 is operable to receive the n+1 channel raster image from the image construction unit 102 and employ a model to identify objects in the image. The extraction unit 104 can employ a model that performs computer vision techniques on the n+1 channel image for object detection. Object detection includes both image classification and object localization. Image classification includes predicting the class of one or more objects in the n+1 channel image. To perform image classification, the image construction unit 102 receives the n+1 channel raster image as input and outputs a class label in the form of one or more integer values that map to a class value. Object localization includes identifying the location of one or more identified objects in the n+1 channel raster image. To perform object localization, the extraction unit 104 can process the received n+1 channel raster image and output one or more bounding boxes that define the spatial relationship of an object in the n+1 channel raster image. The bounding box can conform to a portion of the grid as a whole. The extraction unit 104 can be implemented by a neural network type architecture having an input layer, hidden layers, and an output layer. The extraction unit 104 can be trained to detect objects from a particular domain (e.g., utilities, energy) by adjusting the weights and biases of the neural network.
[0023] In example embodiments, the extraction unit 104 employs a trained artificial neural network to perform the model, such as a region-based convolutional neural network (R-CNN) or other neural network suitable for image analysis. An R-CNN generally operates in three stages. First, the R-CNN analyzes the n+1 channel image, extracts independent regions in the n+1 channel image, and delineates these regions as candidate bounding boxes. Second, the R-CNN extracts features from each region, such as using a deep convolutional neural network. Third, a classifier (e.g., a support vector machine (SVM)) is used to analyze the features and predict the class of one or more objects in the region.
[0024] The extraction unit 104 is trained to detect specific features in the n+1 channel raster image to distinguish power lines from other objects in the image. The extraction unit 104 can apply computer vision, image analysis, and / or image processing to identify power lines from pixels of the n+1 channel raster image. The n+1 channel raster image includes pixels that describe the location of power lines based on the reference. Even if the reference data includes inaccurate locations of the power line(s), the reference data pixels can still be used to guide the extraction unit 104. The mapping can include three-dimensional mappings and two-dimensional mappings. However, despite the inaccuracy, the reference data includes valuable information for reducing the computational requirements of the power line extraction system. For example, a power line described by the reference data can actually be twenty meters in some direction (e.g., north, south, east, or west) of the actual power line. However, even if the location is inaccurate, the power line described in the reference data is generally parallel to the actual power line. Additionally, the power line described in the reference data is generally within a threshold distance of the actual power line.
[0025] The extraction unit 104 can analyze each pixel (grid cell) of the raster image to extract features that suggest that the pixel describes a power line or does not describe a power line. For example, the extraction unit 104 can analyze each value of each overlapping grid cell. An overlapping grid cell is a cell associated with the same spatial location in the n-channel raster image. The extraction unit 104 can compare the values of the grid cells to find values associated with a power line. These values can relate to color, height, density, or other characteristics described by similar pixels or channels. The extraction unit 104 can also perform a histogram analysis outside of the set of values associated with a pixel. The extraction unit 104 can also utilize reference data to guide the extraction process. For example, even if the power line location according to the reference data is inaccurate, the actual location is expected to be within a threshold distance of the reference data power line location. Thus, the extraction unit 104 can limit its analysis to candidate pixels within the threshold range away from the reference line pixels. Additionally, even if the reference power line is in an inaccurate location, the reference power line is parallel to the actual power line location. Thus, the extraction unit 104 can analyze pixels that form a parallel line with the reference power line, while ignoring other pixels. Based on the analysis of the pixels, the extraction unit selects candidate pixels that describe the accurate location of the power line.
[0026] The extraction unit 104 model can be trained to determine the optimal threshold distance. For example, during training, the extraction unit 104 can receive a batch of training data. The batch of training data can include reference data with inaccurate locations of power lines. The difference between the actual location of the power line and the inaccurate location of the power line can be represented as Δ φ . For the purposes of training, the difference Δ φ may be replaced with Δ λ to increase the number of training instances and train the extraction unit 104 model with a greater variety of differences.
[0027] The geo-correction unit 106 can receive the analysis from the extraction unit 104 and align the determined power line location with the n-channel raster image. The geo-correction unit 106 can modify the values of the reference grid to align with the updated location of the power line. The geo-correction unit 106 can change the binary values of the reference grid to update the location of the power line. For example, the geo-correction unit 106 can convert a one to a zero or a zero to a one. The geo-correction unit 106 can also generate an updated n+1 channel image with the updated location of the power line.
[0028] As used herein, "machine learning" broadly describes the function of an electronic system that learns from data. A machine learning system, engine, or module can include a machine learning algorithm that can be trained, such as in an external cloud environment (e.g., cloud computing environment 50), to learn a functional relationship between inputs and outputs that are currently unknown. In one or more embodiments, the machine learning function can be implemented using an artificial neural network (ANN) that has the ability to be trained to perform a currently unknown function. In machine learning and cognitive science, ANNs are a family of statistical learning models inspired by the biological neural networks of animals, particularly the brain. ANNs can be used to estimate or approximate systems and functions that depend on a large number of inputs.
[0029] ANNs can be implemented as so-called "neuromorphic" systems of interconnected processor elements that act as simulated "neurons" and exchange "messages" between each other in the form of electronic signals. Similar to the so-called "plasticity" of synaptic neurotransmitter connections that carry messages between biological neurons, connections in an ANN that carry electronic messages between simulated neurons are provided with numerical weights that correspond to the strength or weakness of a given connection. The weights can be adjusted and tuned based on experience so that the ANN adapts to the inputs and is able to learn. For example, an ANN for handwriting recognition is defined by a set of input neurons that can be activated by pixels of an input image. The activations of these input neurons are then passed to other downstream neurons, which are often referred to as "hidden" neurons, after a function weighting and transformation determined by the network designer. The process is repeated until an activation output neuron. The activation output neuron determines which character was read.
[0030] The sensor(s) 108 can be any sensor operable to collect image data. The image data can include any data or combination of data used to generate a two-dimensional or three-dimensional depiction of a target area, such as a point cloud. The sensor(s) 108 may, for example, include a remote imaging sensor such as a visible light capture sensor, a Moderate Resolution Imaging Spectroradiometer (MODIS), an Airborne Laser Swath (ALS) sensor, a Visible Infrared Imaging Radiometer Suite (VIIRS), or a Light Detection and Ranging system (LIDAR) that acquires light at different wavelengths, which can capture spectral data. Data received from the sensor(s) 108 can include data describing the elevation of the terrain of a target location, such as digital terrain data. The terrain data can be used to calculate the height of a data point relative to the topology of the target area. The terrain data can also be retrieved from an external source and combined with data received from the sensor(s) 108. The database 110 can be any database that stores reference data. The reference data can be previously determined locations of power lines.
[0031] Reference Figure 2A raster image 200 depicting the target area is shown. The raster image includes eight pixels in each column and ten pixels in each row, for a total of eighty pixels. Each pixel can be associated with a cell of an n+1 overlapping grid. Each cell can include a value that describes a characteristic associated with the corresponding grid. Each cell is associated with a geospatial location on Earth. The raster image 200 includes reference pixels 202 associated with the location of the power line according to reference data. The reference pixels 202 have been shaded black for illustrative purposes. The reference pixels are still associated with the values of the associated cells of the other grids, but are visually altered based on the binary values of the reference grid. The raster image 200 also includes power line pixels 204 that describe the actual location of the power line based on point cloud data. The power line pixels have vertical lines for illustrative purposes. As shown, the power line pixels 204 do not perfectly coincide with the reference pixels 202, as the point cloud data does not always return a complete set of data points, and there are missing pixels 206. The raster image 200 also includes object pixels 208 that do not describe the actual power line or the reference power line. The objects can include vegetation, buildings, or other objects. The object pixels 208 include horizontal lines for illustration.
[0032] The extraction unit 104 described herein can analyze each pixel and extract features that suggest that the pixel describes a power line. The extraction unit 104 can also take the features as input and generate a classification as to whether each pixel describes a power line. The extraction unit 104 can also use the characteristics of the reference pixels 202 to focus on particular pixels. For example, the extraction unit can only focus on pixels that are a threshold number of pixels away from the reference pixels 202. Within those pixels that are a threshold distance apart, the extraction unit 104 can only analyze pixels that, if combined, would form a parallel line with the reference pixels 202. The extraction unit 104 can analyze the grid values of each pixel and exclude pixels that describe objects that are greater or less than a threshold elevation range without consideration. The geo correction unit 106 can receive the analysis of the pixels from the extraction unit 104 and modify the reference grid values that describe the reference pixels 202 to conform to the updated location of the power line. For example, the geo correction unit 106 can update the grid values so that the raster image 200 displays blacked out pixels in which the previous power line pixels 204 and missing pixels 206 were displayed. The blacked out pixels of the former can display the image based on the values of the associated cells of the other grids.
[0033] Reference Figure 3 A flowchart 300 of a power line extraction process according to one or more embodiments of the present application is shown. It should be understood that all or part of the processes shown can be performed by a computer system, such as the computer system 100 shown in FIG. 1. Figure 3 Figure 1 System 100. At block 302, the image building unit 102 can segment the data on the target area into m x n overlapping grids. Each cell of the grid is associated with a geospatial location of the target area. The data can be high density point cloud data returned by a LIDAR system. For each desired characteristic (channel), the image building unit 102 can generate an m x n grid. The image building unit 102 can populate the cells of each grid with corresponding values related to the characteristic that the grid describes. The image building unit 102 can derive these values by analyzing the point cloud data points that fall within each grid cell. Certain cells can not include any values. The characteristics can include visual characteristics, such as red, blue, or green values. The characteristics can also include spatial characteristics, such as the density of point cloud data points in the grid, the spatial distance between data points, the elevation between data points and the surface of the target location.
[0034] At block 304, the image building unit 102 can generate a raster image from the grids. The image building unit 102 can combine the grids and generate an n-channel raster image, where each grid cell is associated with a pixel of the raster image. The image building unit 102 can overlap the grids based on matching the geospatial locations of the grid cells. Each pixel of the n-channel raster image can be associated with each value of each associated grid cell. The image building unit 102 can analyze the values of each grid cell to determine a visual characteristic. For example, the image building unit 102 can analyze the values of overlapping cells of the red, blue, and green grids and determine a pixel color based on the values.
[0035] At block 306, the image building unit 102 can encode reference data into a single-channel raster image. The reference data can be location data of one or more power lines previously generated. One or more locations of power lines in the reference data can be inaccurate. An inaccurate location is a location that is a threshold distance from an actual power line location. For example, the reference data can place a power line segment thirty meters east, west, north, or south of the actual location of the power line. For example, if the threshold distance is five meters, then the power line segment is in an inaccurate location according to the reference data. In some embodiments of the invention, the location can be measured based on a tower location, a center point of the power line segment, or other appropriate measurement location. The raster image can be a binary image in the form of a single-channel e x f reference image that represents the locations of power lines as described in the reference data. The e x f reference image can be located on the same spatial grid as the n-channel image.
[0036] At block 308, the image building unit 102 can combine the n-channel raster image with the single-channel e x f reference raster image. The resulting image is an n+1 channel raster image that includes both the reference data and the point cloud data. The point cloud data can be acquired at a later date than the reference data. For example, the reference data can be generated days, months, or years before the point cloud data. The image building unit 102 can overlap each grid of the n-channel raster image with a grid of the e x f reference raster image based on the matching geospatial location of the grid. The image building unit 102 can determine the visual aspect of each pixel of the n+1 channel raster image by analyzing the value of each grid cell associated with the pixel and displaying a pixel pattern based on the value.
[0037] At block 310, the extraction unit 104 can extract updated power line locations from the n+1 channel raster image. The extraction unit 104 can analyze each pixel that includes a value of each grid cell associated with the respective pixel. To reduce the number of calculations, the extraction unit 104 can utilize the reference data pixels to exclude pixels from further analysis. For example, the extraction unit 104 calculates the number of pixels between a target pixel and a reference pixel. The number of pixels between the target pixel and the reference pixel can be positioned horizontally along a row, vertically along a column, or diagonally between the two pixels. The extraction unit 104 can then compare the distance to a threshold range of pixels. In the event that the number of pixels between the subject pixel and the reference pixel is less than an upper distance range or greater than a lower distance range, the extraction unit 104 can determine that the subject pixel is a candidate pixel and continue analysis. However, if the number of pixels between the target pixel and any reference pixel is greater than the upper distance range or less than the lower distance range, the extraction unit 104 can determine that the target pixel is not a candidate pixel and cease analysis.
[0038] The extraction unit 104 can also exclude pixels by determining whether the remaining candidate pixels describe a power line that is parallel to the reference power line. The extraction unit 104 can compare the location of each pixel of the reference power line to the location of the candidate pixels. The extraction unit 104 can then determine whether the set of candidate points describe a power line that is parallel to the reference power line. For example, if the threshold distance range is between three pixels and six pixels, the extraction unit 104 can determine whether the set of candidate pixels describe a power line that is three pixels from the reference power line, four pixels from the reference power line, five pixels from the reference power line, and / or six pixels from the reference power line. In each instance, the extraction unit 104 can determine whether a threshold number of candidate pixels are located along a potential parallel power line path. If the number of candidate points exceeds the threshold number, the extraction unit 104 can continue analysis of the candidate points along the potential parallel power line path. If the number of candidate points does not exceed the threshold number, the extraction unit 104 can cease analysis of the candidate points along the parallel power line path.
[0039] At block 310, the extraction unit 104 can extract updated power line locations from the n+1 channel grating image. The extraction unit 104 can analyze the remaining candidate pixels to include an analysis of the grid cell values associated with each remaining candidate pixel. The extraction unit 104 can also input the grid cell values into a model and output a classification about each candidate pixel. The classification can include a label about whether the candidate pixel describes a power line or does not describe a power line.
[0040] It should be understood that while the present disclosure includes detailed descriptions of cloud computing, implementations of the teachings set forth herein are not limited to a cloud computing environment. Rather, embodiments of the application are capable of implementation in conjunction with any other type of computing environment now known or later developed.
[0041] Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g. networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with a provider of the service. This cloud model can include at least five characteristics, at least three service models, and at least four deployment models.
[0042] The characteristics are as follows:
[0043] On-demand self-service: cloud consumers can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with the service's provider.
[0044] Broad network access: capabilities are available over a network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
[0045] Resource pooling: the provider's computing resources are
[0046] Rapid elasticity: capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly scale in. To the consumer, the provider
[0047] Measurement: Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported providing transparency for both the provider and consumer of the utilized service.
[0048] Service models are as follows:
[0049] Software as a Service (SaaS): The capability provided to the consumer is to use the provider's applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based e-mail). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
[0050] Platform as a Service (PaaS): The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including networks, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.
[0051] Infrastructure as a Service (laaS): The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).
[0052] Deployment models are as follows:
[0053] Private cloud: The cloud infrastructure is operated solely for the organization. It can be managed by the organization or a third party and can exist on-premises or off-premises.
[0054] Community cloud: The cloud infrastructure is shared by several organizations and supports mission-oriented business
[0055] Public cloud: The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.
[0056] Hybrid cloud: cloud infrastructure is a composition of two or more clouds (private, community or public) that remain unique entities but are bound together by standardized or proprietary technologies that enable data and application portability, for example, cloud bursts for load balancing between clouds.
[0057] A cloud computing environment is service-oriented, with a focus on statelessness, low coupling, modularity, and semantic interoperability. At the core of cloud computing is an infrastructure of interconnected nodes comprising a network.
[0058] Referring now to the drawing Figure 4 , an illustrative cloud computing environment 50 is depicted. As shown, cloud computing environment 50 includes one or more cloud computing nodes 10 with which local computing devices used by cloud consumers, such as, for example, personal digital assistant (PDA) or cellular telephone 54A, desktop computer 54B, laptop computer 54C, and / or automobile computer system 54N can communicate. Nodes 10 can communicate with one another. They can be grouped (not shown) physically or virtually, in one or more networks, such as Private, Community, Public, or Hybrid clouds as described hereinabove, or a combination thereof. This allows cloud computing environment 50 to offer infrastructure, platforms and / or software as services with Figure 4 The types of computing devices 54A-N shown in FIG. 1 are intended to be illustrative only and computing nodes 10 and cloud computing environment 50 can communicate with any type of computerized devices over any type of network and / or network addressable connection (e.g., using a web browser).
[0059] Referring now to FIG. 2, Figure 5 a set of functional abstraction layers provided by cloud computing environment 50 Figure 4 is shown. It should be understood that Figure 5 the components, layers, and functions shown in FIG. 2 are intended to be illustrative only and embodiments of the application are not limited thereto. As depicted, the following layers and corresponding functions are provided:
[0060] Hardware and software layer 60 includes hardware and software components. Examples of hardware components include: mainframes 61; RISC (Reduced Instruction Set Computer) architecture based servers 62; servers 63; blade servers 64; storage devices 65; and networks and networking components 66. In some embodiments, software components include network application server software 67 and database software 68.
[0061] Virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual servers 71; virtual storage 72; virtual networks 73, including virtual private networks; virtual applications and operating systems 74; and virtual clients 75.
[0062] In one example, management layer 80 can provide the functions described below. Resource provisioning 81 provides dynamic procurement of computing resources and other resources that are utilized to perform tasks within the cloud computing environment. Metering and Pricing 82 provide cost tracking as resources are utilized within the cloud computing environment, and billing or invoicing for consumption of these resources. In one example, these resources can include application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection for data and other resources. User portal 83 allows for access to and task initiation for cloud computing environment while service level management 84 provides cloud computing resource allocation and management such that required service levels are met. Service Level Agreement (SLA) planning and fulfillment 85 provide pre-arrangement for, and procurement of, cloud computing resources for which future requirements are anticipated in accordance with an SLA.
[0063] Workloads layer 90 provides examples of functionality for which the cloud computing environment can be utilized. Examples of workloads and functions which can be provided from this layer include: mapping and navigation 91; software development and lifecycle management 92; virtualization 93; data analytics processing 94; transaction processing 95; and, geospatial correction 96.
[0064] In one or more embodiments of the present invention, the hardware / software modules in system 100 from Figure 1 may be implemented on processing system 600 in Figure 6 Now turning to Figure 6 , a computer system 600 is generally illustrated in accordance with an embodiment. Computer system 600 can be an electronic computer architecture that includes and / or employs any number and combination of computing devices and networks utilizing various communications technologies, as described herein. Computer system 600 can be readily scalable, extensible, and modular, with the ability to change to different services or reconfigure some features independently of other features. Computer system 600 can be, for example, a server, a desktop computer, a laptop computer, a tablet computer, or a smart phone. In some examples, computer system 600 can be a cloud computing node. Computer system 600 can be described in the general context of computer system executable instructions, such as program modules being executed by a computer system. Generally, program modules can include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types. Computer system 600 can be practiced in distributed cloud computing environments with remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules can be located in both local and remote computer system storage media including memory storage devices.
[0065] As Figure 6As shown, computer system 600 has one or more central processing units (CPU) 601a, 601b, 601c, etc. (collectively referred to as processor 601). Processor 601 can be a single core processor, multi-core processor, computing cluster, or any number of other configurations. Processor 601, also referred to as processing circuitry, is coupled with system memory 603 and various other components via system bus 602. System memory 603 can include read only memory (ROM) 604 and random access memory (RAM) 605. ROM 604 is coupled to system bus 602 and can include a basic input / output system (BIOS) that controls certain basic functions of computer system 600. RAM is read / write memory coupled to system bus 602 for use by processor 501. System memory 603 provides temporary storage for the operation of said instructions during operation. System memory 603 can include random access memory (RAM), read only memory, flash memory, or any other suitable memory system.
[0066] Computer system 600 includes input / output (I / O) adapter 606 and communications adapter 607 coupled to system bus 602. I / O adapter 606 can be a small computer system interface (SCSI) adapter that communicates with a hard disk 608 and / or any other similar component. I / O adapter 606 and hard disk 608 are collectively referred to herein as mass storage device 610.
[0067] Software 611 for execution on computer system 600 can be stored in mass storage device 610. Mass storage device 610 is an example of a tangible storage medium readable by processor 601, where software 611 is stored as instructions for execution by processor 601 to cause computer system 600 to operate as described herein, such as described below with respect to the various figures. Examples of computer program products and execution of such instructions are discussed in more detail herein. Communications adapter 607 interconnects system bus 602 with network 612, which can be an external network, enabling computer system 600 to communicate with other such systems. In one embodiment, a portion of system memory 603 and mass storage device 610 collectively store an operating system, which can be any suitable operating system, such as the z / OS or AIX operating systems from IBM Corporation, to coordinate the functions of various components shown in FIG. 1. Figure 6 the functions of the various components shown in FIG. 1.
[0068] Additional input / output devices are shown as connected to the system bus 602 via a display adapter 615 and interface adapter 616. In one embodiment, the adapters 606, 607, 615, and 616 can be connected to one or more I / O buses, which are connected to the system bus 602 via an intermediate bus bridge (not shown). A display 619, such as a screen or a monitor, is connected to the system bus 602 by a display adapter 615, which can comprise a graphics controller to improve the performance of graphics-intensive applications and a video controller. A keyboard 621, a mouse 622, a printer 624, or the like can be interconnected to the system bus 602 via the interface adapter 616, which can include, for example, a super I / O chip integrated into a single integrated circuit with multiple device adapters. Suitable I / O buses for connecting peripheral devices such as hard disk controllers, network adapters, and graphics adapters typically include common protocols, such as the Peripheral Component Interconnect (PCI). Thus, as configured, the computer system 600 includes processing capability in the form of processors 601, and storage capability including the system memory 603 and the mass storage 610, input means such as the keyboard 621 and mouse 622, and output capability including the speaker 623 and the display 619. Figure 6 The computer system 600 includes, as shown in
[0069] In some embodiments, the communication adapter 607 can use any suitable interface or protocol for communicating data, such as the Internet Small Computer Systems Interface, or the like. The network 612 can be a cellular network, a radio network, a wide area network (WAN), a local area network (LAN), or the Internet, among others. An external computing device can be connected to the computer system 600 through the network 612. In some examples, the external computing device can be an external network server or a cloud computing node.
[0070] It should be appreciated that Figure 6 the block diagram of the computer system 600 is not intended to indicate that the computer system 600 is to include all of the components shown in Figure 6 Rather, the computer system 600 can include any suitable number and / or type of components, in any suitable arrangement, not shown in Figure 6 For example, the computer system 600 can include additional memory components, embedded controllers, modules, additional network interfaces, and the like. Further, embodiments described herein with respect to the computer system 600 can be implemented with any suitable logic, where logic as referred to herein can include any suitable hardware (e.g., a processor, an embedded controller, or an application-specific integrated circuit, among others), software (e.g., an application, among others), firmware, or any suitable combination of hardware, software, and firmware, in various embodiments.
[0071] Various embodiments of the present application are described herein with reference to the accompanying drawings. Alternative embodiments of the application can be devised without departing from the scope of the present application. Various connections and positional relationships (e.g., over, below, adjacent, etc.) are set forth in the following description and drawings. These various connections and / or positional relationships, unless otherwise stated, can be direct or indirect, and the present application is not intended to be limiting in this respect. Thus, a coupling can be direct or indirect and the positional relationships can be direct or indirect positional relationships. In addition, the various tasks and process steps described herein can be incorporated in a more comprehensive program or process having additional steps or functionality not related to the operation of the present application.
[0072] One or more methods described herein can be implemented in any of the following technologies, or their combination, which are known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon an application of data signals; an application specific integrated circuit (ASIC), a programmable gate array(s) (PGA), a field programmable gate array (FPGA), etc. having appropriate combinational logic gates.
[0073] For the sake of brevity, conventional techniques related to making and using aspects of the application can or can not be described in detail herein. In particular, various aspects of computing systems and specific computer programs to implement the various technical features described herein are well known. Accordingly, in the interest of brevity, many conventional implementation details are only mentioned briefly herein or are omitted entirely without providing the well-known system and / or process details.
[0074] In some embodiments, various functions or acts can be performed in a given position and / or in connection with the operation of one or more apparatuses or systems. In some embodiments, a portion of a given function or act can be performed in a first device or location and the remainder of the function or act can be performed in one or more additional devices or locations.
[0075] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and / or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0076] Corresponding structure, material, acts, and equivalents of all means or step plus function elements are intended to include any structures, materials, or acts for performing the functions in combination with other claimed elements as specifically claimed. The present disclosure is presented to enable anyone skilled in the art to make and use like embodiments of the disclosure, and the best mode of carrying out the same is thus described in sufficient detail to enable others skilled in the art to practice the disclosure. The disclosure is not intended to be exhaustive or to be limited to the precise form disclosed. Many modifications and variations are possible in light of this disclosure. The embodiments are chosen and described in order to best explain the principles of the disclosure and its practical application to thereby enable others skilled in the art to best utilize the disclosure in various embodiments and with various modifications as are suited to the particular use contemplated.
[0077] The diagrams described herein are illustrative. Numerous variations are possible without departing from the spirit of the disclosure. For instance, the acts can be performed in a different order from that shown or additional, deleted, or modified acts can be added to the disclosed diagrams. Further, the term “coupled” describes having a signal path between two elements and does not imply a direct connection between the elements with nothing intervening therebetween. All these variations are considered a part of the disclosure.
[0078] The following definitions and abbreviations are used in the claims and specification. As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having,” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a composition, a mixture, a process, a method, an article, or an apparatus that comprises a list of elements is not necessarily limited to only those elements but can include other elements not expressly listed or inherent to such composition, mixture, process, method, article, or apparatus.
[0079] In addition, the term “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs. The terms “at least one” and “one or more” are understood to include any integer greater than or equal to one, i.e., one, two, three, four, etc. The term “plurality” is understood to include any integer greater than or equal to two, i.e., two, three, four, five, etc. The term “connection” can include both an indirect “connection” and a direct “connection.”
[0080] The terms “about,” “substantially,” “approximately,” and variations thereof, are intended to encompass a degree of error acceptable by the art for the particular quantified value, based on the particular measurement technique employed by those of ordinary skill in the art. For example, “about” can include a range of ± 8% or 5%, or 2% of a given value.
[0081] The present application can be a system, a method, and / or a computer program product at any possible technical detail level of integration. The computer program product can include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present application.
[0082] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted via a wire cable. Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to external computers or external storage devices from a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions to a computer readable storage medium within the respective computing / processing device for execution by the computing device. Computer readable program instructions for carrying out aspects of the present application can be
[0083] The computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to external computers or external storage devices from a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions to a computer readable storage medium within the respective computing / processing device for execution by the computing device. Computer readable program instructions for carrying out aspects of the present application can be
[0084] Computer readable program instructions for carrying out operations of the present application can be assembly instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for an integrated circuit, or source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and a procedural programming language such as the "C" programming language or similar programming languages. The computer readable program instructions can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate array (FPGA), or programmable logic array (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present application.
[0085] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0086] These computer readable program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions can also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including
[0087] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0088] The computer program product of the present application can be a computer program product which implements the methods of the present application. The computer program product can comprise a computer-readable storage medium having stored thereon a computer program of the present application. A computer program can also be presented over a network as a sequence of instructions to be executed by a programmable processing system. The computer program can be downloaded to a volatile memory or to a non-volatile memory from the network or to a storage medium, e.g., a floppy diskette, a ZIP® disk, a CD-ROM, a DVD, a memory stick, or a tape. Such computer programs, when executed by the processing system, cause the processing system to perform the features of the present application as specified in the computer program. The computer program of the present application can be implemented in a high level procedural or object-oriented programming language to communicate with a computer processing system. The program can be implemented in assembly or machine language, if desired. The language can be a compiled or interpreted language. Each such computer program can be stored in a computer- readable storage medium (e.g., volatile or non-volatile memory, or storage on a storage device such as a floppy disk, ZIP® disk, CD-ROM, DVD, memory stick, or tape), which can be read and executed by a computer processing system to perform the functions of the present application. In some embodiments, the computer program can be downloaded to the computer processing system from the network or from another computer readable medium. Accordingly, aspects of the present application should not be limited to any particular programming language, code, or commands. In some embodiments, the computer program can be downloaded to the computer processing system from the network or from another computer readable medium. Accordingly, aspects of the present application should not be limited to any particular programming language, code, or commands.
[0089] The description of the various embodiments of the application has been presented for purposes of illustration and description, but is not intended to be exhaustive or to limit the application to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application, or technical improvement over technologies found in the marketplace, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A computer-implemented method, comprising: A combined raster image is generated by the processor from point cloud data and reference data describing the original positions of power lines. The combined raster image is an n+1 channel raster image, which is composed of an n-channel raster image generated based on the point cloud data and a single-channel raster image generated based on the reference data, where n is a positive integer. The processor selects a set of candidate pixels from the combined raster image to describe the updated location of the electric field line, wherein the selection is based at least in part on the location of the pixels in the combined raster image that describe the original location; The processor detects pixels from the candidate pixel set that describe the updated positions of the power lines; as well as The processor modifies the combined raster image to reflect the updated position of the power line.
2. The computer-implemented method of claim 1, wherein generating the combined raster image comprises: Point cloud data over a target area is segmented into a first grid, wherein each cell of the first grid is associated with a geospatial portion of the target area, and wherein each pixel of the combined raster image is associated with a cell of the first grid. Determine the corresponding value of the first characteristic for each cell of the first grid; and The visual characteristics of each unit are determined based on the corresponding values.
3. The computer-implemented method of claim 2, wherein generating the combined raster image further comprises: The reference data on the target area is divided into a second grid, wherein each cell of the second grid is associated with a geospatial portion of the target area, and wherein each pixel of the combined raster image is associated with a cell of the second grid; as well as The first grid and the second grid are combined by matching the geospatial portion associated with the first cell of the first grid with the geospatial portion associated with the first cell of the second grid.
4. The computer-implemented method of claim 3, wherein the original position of the power line is inaccurate.
5. The computer-implemented method of claim 3, further comprising generating a third grid by updating the value of the second grid to describe the updated position of the power line.
6. The computer-implemented method of claim 5, further comprising generating an updated raster image by combining the first grid with the third grid.
7. The computer-implemented method of claim 1, wherein the selection of the candidate pixel set is based at least in part on the number of candidate pixels in the pixel set between the pixel and the pixel describing the original position of the power line.
8. A system comprising: A memory containing computer-readable instructions; as well as One or more processors for executing the computer-readable instructions, the computer-readable instructions controlling the one or more processors to perform operations, the operations including: A combined raster image is generated from point cloud data and reference data describing the original locations of power lines. This combined raster image is an n+1 channel raster image, generated from the point cloud data. The image is composed of a channel raster image and a single-channel raster image generated based on the reference data, where n is a positive integer; A set of candidate pixels describing the updated location of the electric field line is selected from the combined raster image, wherein the selection is based at least in part on the location of the pixels in the combined raster image that describe the original location; Detect pixels from the candidate pixel set that describe the updated position of the electric field line; and The combined raster image is modified to reflect the updated position of the power line.
9. The system of claim 8, wherein generating the combined raster image comprises: Point cloud data over a target area is segmented into a first grid, wherein each cell of the first grid is associated with a geospatial portion of the target area, and wherein each pixel of the combined raster image is associated with a cell of the first grid. Determine the corresponding value of the first characteristic for each cell of the first grid; and The visual characteristics of each unit are determined based on the corresponding values.
10. The system of claim 9, wherein generating the combined raster image further comprises: The reference data on the target area is divided into a second grid, wherein each cell of the second grid is associated with a geospatial portion of the target area, and wherein each pixel of the combined raster image is associated with a cell of the second grid; as well as The first grid and the second grid are combined by matching the geospatial portion associated with the first cell of the first grid with the geospatial portion associated with the first cell of the second grid.
11. The system of claim 10, wherein the original position of the power line is inaccurate.
12. The system of claim 10, wherein the operation further comprises generating a third grid by updating the value of the second grid to describe the updated position of the power line.
13. The system of claim 12, wherein the operation further includes generating an updated raster image by combining the first grid with the third grid.
14. The system of claim 8, wherein the selection of the candidate pixel set is based at least in part on the number of candidate pixels in the pixel set between the pixel and the pixel describing the original position of the power line.
15. A computer program product comprising a computer-readable storage medium having program instructions embodied therein, the program instructions being executable by a processor to cause the processor to perform operations, the operations including: A combined raster image is generated from point cloud data and reference data describing the original location of the power lines. The combined raster image is an n+1 channel raster image, which is composed of an n-channel raster image generated based on the point cloud data and a single-channel raster image generated based on the reference data, where n is a positive integer. A set of candidate pixels describing the updated location of the electric field line is selected from the combined raster image, wherein the selection is based at least in part on the location of the pixels in the combined raster image that describe the original location; Detect pixels from the candidate pixel set that describe the updated position of the electric field line; as well as The combined raster image is modified to reflect the updated position of the power line.
16. The computer program product of claim 15, wherein generating the combined raster image comprises: Point cloud data over a target area is segmented into a first grid, wherein each cell of the first grid is associated with a geospatial portion of the target area, and wherein each pixel of the combined raster image is associated with a cell of the first grid. Determine the corresponding value of the first characteristic for each cell of the first grid; and The visual characteristics of each unit are determined based on the corresponding values.
17. The computer program product of claim 16, wherein generating the combined raster image further comprises: The reference data on the target area is divided into a second grid, wherein each cell of the second grid is associated with a geospatial portion of the target area, and wherein each pixel of the combined raster image is associated with a cell of the second grid; as well as The first grid and the second grid are combined by matching the geospatial portion associated with the first cell of the first grid with the geospatial portion associated with the first cell of the second grid.
18. The computer program product of claim 17, wherein the original position of the power line is inaccurate.
19. The computer program product of claim 17, wherein the operation further comprises generating a third grid by updating the value of the second grid to describe the updated position of the power line.
20. The computer program product of claim 19, wherein the operation further includes generating an updated raster image by combining the first grid with the third grid.
Citation Information
Patent Citations
Three-dimensional object recognition system and method based on laser radar and monocular vision
CN108932475A
Power transmission line information extraction and safety detection method based on airborne laser radar remote sensing technology
CN111650599A