[go: up one dir, main page]

RU2818049C2 - Method of correcting digital elevation model (embodiments) - Google Patents

Method of correcting digital elevation model (embodiments) Download PDF

Info

Publication number
RU2818049C2
RU2818049C2 RU2021130268A RU2021130268A RU2818049C2 RU 2818049 C2 RU2818049 C2 RU 2818049C2 RU 2021130268 A RU2021130268 A RU 2021130268A RU 2021130268 A RU2021130268 A RU 2021130268A RU 2818049 C2 RU2818049 C2 RU 2818049C2
Authority
RU
Russia
Prior art keywords
pixel
satellite image
roads
pixels
gps
Prior art date
Application number
RU2021130268A
Other languages
Russian (ru)
Other versions
RU2021130268A (en
Inventor
Дмитрий Александрович Сухов
Николай Алексеевич Федоров
Роман Евгеньевич Соколов
Original Assignee
Общество С Ограниченной Ответственностью «Яндекс»
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью «Яндекс» filed Critical Общество С Ограниченной Ответственностью «Яндекс»
Priority to US18/082,078 priority Critical patent/US12394029B2/en
Publication of RU2021130268A publication Critical patent/RU2021130268A/en
Application granted granted Critical
Publication of RU2818049C2 publication Critical patent/RU2818049C2/en

Links

Abstract

FIELD: physics.
SUBSTANCE: invention relates to methods of correcting an elevation map. Technical result is achieved by performing the following steps of the method: receiving a satellite image with one or more roads; fixed GPS system data corresponding to one or more roads are received; determining a pixel on the satellite image corresponding to one or more roads; determining whether the pixel location corresponds to the GPS system data; if it is determined that the pixel location does not correspond to the GPS system data, a set of digital elevation model (DEM) pixels surrounding said pixel is determined; height of each pixel from the set of DEM pixels is corrected so that the location of the pixel on the satellite image corresponds to one or more roads.
EFFECT: reduced error when constructing a digital elevation map.
20 cl, 8 dwg

Description

Область техники, к которой относится изобретениеField of technology to which the invention relates

[01] Настоящая технология относится к получению изображений с помощью искусственных спутников Земли и, в частности, к способам и системам для корректировки цифровой модели высот, используемой для ортотрансформации спутникового изображения.[01] The present technology relates to satellite imaging and, in particular, to methods and systems for correcting a digital elevation model used to orthorectify a satellite image.

Уровень техникиState of the art

[02] Спутниковые изображения используются для множества целей, в частности, для навигации. Пикселы спутникового изображения могут подвергаться различным искажениям. Искажения могут быть вызваны фотографической системой, используемой для получения спутникового изображения, положением спутника, наклоном спутника, высотой местности на изображении, препятствиями и/или другими причинами.[02] Satellite imagery is used for many purposes, particularly navigation. Satellite image pixels can be subject to various distortions. Distortion may be caused by the photographic system used to obtain the satellite image, the position of the satellite, the tilt of the satellite, the elevation of the terrain in the image, obstructions and/or other reasons.

[03] Перед использованием полученного спутникового изображения оно может быть подвергнуто ортотрансформации для совмещения каждого пиксела спутникового изображения с надлежащим положением на местности. В процессе ортотрансформации для каждого пиксела спутникового изображения может назначаться физическое местоположение. Это позволяет уменьшить влияние искажений, но спутниковые изображения часто содержат ошибки даже после ортотрансформации. Эти ошибки могут создавать проблемы для систем, использующих спутниковые изображения, например, для транспортных средств, использующих спутниковые изображения для навигации. Исходя из изложенного выше, требуются новые способы и системы для корректировки спутниковых изображений.[03] Before using the resulting satellite image, it can be orthorectified to align each pixel of the satellite image with the correct location on the ground. During the orthorectification process, each pixel in a satellite image can be assigned a physical location. This reduces the impact of distortion, but satellite images often contain errors even after orthorectification. These errors can cause problems for systems that use satellite imagery, such as vehicles that use satellite imagery for navigation. Based on the above, new methods and systems are required for correcting satellite images.

[04] В патенте US9378585 (University of Seoul Industry Cooperation Foundation, выдан 28.06.2016) описан способ коррекции геометрических искажений изображения, рассчитанных в виде коэффициентов рационального многочлена (RPC, Rational Polynomial Coefficient) с использованием лишь соответствующей точки, полученной из цифровой модели высот (DEM, Digital Elevation Model) и стереоизображения, без непосредственного измерения наземной опорной точки (GCP, Ground Control Point). Для этой цели система автоматической коррекции геометрических искажений с использованием коэффициентов RPC согласно этому изобретению содержит блок получения вспомогательных данных, блок получения соответствующей точки, блок получения первых наземных координат, блок получения вторых наземных координат, блок формирования модели коррекции RPC, и блок коррекции искажений изображения. Блок получения вспомогательных данных получает два или более разных изображения, зафиксированных для одной и той же земной поверхности, и вспомогательные данные двух или большее количество разных изображений. Блок получения соответствующей точки получает соответствующую точку из двух или более разных изображений путем сопоставления этих изображений. Блок получения первых наземных координат получает первые наземные координаты из соответствующей точки и модели RPC вспомогательных данных. Блок получения вторых наземных координат получает вторые наземные координаты путем использования первых наземных координат и коэффициента корреляции модели DEM. Блок формирования модели коррекции RPC формирует модель коррекции RPC путем коррекции модели RPC на основе вторых наземных координат. Блок коррекции искажений изображения корректирует искажения изображения путем назначения наземных координат для всех координат изображения путем использования вторых наземных координат и модели коррекции RPC.[04] Patent US9378585 (University of Seoul Industry Cooperation Foundation, issued June 28, 2016) describes a method for correcting geometric image distortions calculated in the form of rational polynomial coefficients (RPC, Rational Polynomial Coefficient) using only the corresponding point obtained from a digital elevation model (DEM, Digital Elevation Model) and stereo images, without direct measurement of the ground control point (GCP, Ground Control Point). For this purpose, the system for automatically correcting geometric distortions using RPC coefficients according to this invention contains an auxiliary data acquisition unit, a corresponding point acquisition unit, a first ground coordinates acquisition unit, a second ground coordinates acquisition unit, an RPC correction model generation unit, and an image distortion correction unit. The auxiliary data acquisition unit receives two or more different images recorded for the same earth surface, and auxiliary data of two or more different images. The corresponding point obtaining block obtains a corresponding point from two or more different images by matching these images. The first ground coordinates obtaining unit obtains the first ground coordinates from the corresponding point and the auxiliary data RPC model. The second ground coordinates obtaining unit obtains the second ground coordinates by using the first ground coordinates and the correlation coefficient of the DEM model. The RPC correction model generating unit generates an RPC correction model by correcting the RPC model based on the second ground coordinates. The image distortion correction block corrects image distortions by assigning ground coordinates to all image coordinates by using the second ground coordinates and an RPC correction model.

Раскрытие изобретенияDisclosure of the Invention

[05] Разработчики настоящей технологии установили, что искажения на спутниковых изображениях могут быть уменьшены и/или скорректированы на основе данных системы глобального позиционирования (GPS, Global Positioning System), зафиксированных системами GPS в транспортных средствах (или в других пользовательских беспроводных устройствах). Данные системы GPS, собранные во время нескольких поездок транспортного средства, могут агрегироваться. Дороги на спутниковых изображениях могут определяться, например, путем использования методов компьютерного зрения. При этом могут быть определены пикселы, соответствующие дорогам.[05] The developers of this technology have determined that distortion in satellite images can be reduced and/or corrected based on Global Positioning System (GPS) data captured by GPS systems in vehicles (or other consumer wireless devices). GPS data collected over multiple vehicle trips may be aggregated. Roads in satellite images can be determined, for example, by using computer vision techniques. In this case, pixels corresponding to roads can be determined.

[06] Для определения ошибки на спутниковом изображении данные системы GPS, собранные системами GPS, могут сравниваться с дорогами, идентифицированными на спутниковом изображении. Если зафиксированные данные системы GPS не соответствуют дорогам на спутниковом изображении, то может быть определено, что спутниковое изображение имеет высокий уровень ошибок. И напротив, если данные системы GPS соответствуют дорогам на спутниковом изображении, то может быть определено, что спутниковое изображение содержит меньший уровень ошибок.[06] To determine the error in the satellite image, GPS data collected by GPS systems can be compared with the roads identified in the satellite image. If the recorded GPS data does not match the roads in the satellite image, the satellite image may be determined to have a high error rate. Conversely, if the GPS data matches the roads in the satellite image, then the satellite image may be determined to contain a lower level of error.

[07] Для уменьшения ошибок на спутниковом изображении в отношении последнего может применяться сдвиг. Каждому пикселу на спутниковом изображении может быть назначен коэффициент RPC, указывающий на географическое местоположение, соответствующее этому пикселу. Сдвиг может применяться в отношении всех коэффициентов RPC спутникового изображения. Для определения сдвига, подлежащего применению в отношении коэффициентов RPC спутникового изображения, может быть сформировано несколько вариантов спутникового изображения. Каждый вариант спутникового изображения может быть сформирован путем применения другого сдвига в отношении коэффициентов RPC. Для каждого варианта может быть рассчитана ошибка путем определения степени совпадения между данными системы GPS и дорогами в данном варианте спутникового изображения. Может быть выбран вариант с наименьшей величиной ошибки, а сдвиг, соответствующий этому варианту, может быть применен в отношении всех коэффициентов RPC спутникового изображения.[07] To reduce errors in the satellite image, a shift may be applied to the satellite image. Each pixel in a satellite image can be assigned an RPC coefficient indicating the geographic location corresponding to that pixel. The shift can be applied to all RPC coefficients of the satellite image. To determine the offset to be applied to the RPC coefficients of the satellite image, several versions of the satellite image may be generated. Each version of the satellite image can be generated by applying a different offset to the RPC coefficients. For each option, the error can be calculated by determining the degree of agreement between the GPS data and the roads in that satellite image option. The option with the smallest error may be selected, and the offset corresponding to this option can be applied to all RPC coefficients of the satellite image.

[08] Для дополнительной коррекции спутникового изображения может быть скорректирована модель DEM, используемая для ортотрансформации спутникового изображения. Каждый пиксел модели DEM может указывать на высоту соответствующего пиксела или области спутникового изображения. Могут быть определены пикселы спутникового изображения, содержащие дороги. Для каждого пиксела может быть сформирован набор предполагаемых значений пиксела. Предполагаемые значения пиксела могут быть сформированы с использованием алгоритма сглаживания. Для каждого предполагаемого значения пиксела может быть рассчитана ошибка, когда предполагаемое значение пиксела используется для ортотрансформации спутникового изображения. Предполагаемое значение пиксела, соответствующее наименьшей ошибке, может быть выбрано и назначено для пиксела в скорректированной модели DEM.[08] To further correct the satellite image, the DEM model used to orthorectify the satellite image can be adjusted. Each pixel in the DEM can indicate the height of a corresponding pixel or region in the satellite image. Satellite image pixels containing roads can be identified. For each pixel, a set of estimated pixel values can be generated. Estimated pixel values can be generated using a smoothing algorithm. For each estimated pixel value, an error can be calculated when the estimated pixel value is used to orthorectify the satellite image. The estimated pixel value corresponding to the smallest error can be selected and assigned to the pixel in the adjusted DEM model.

[09] Разработанные варианты реализации настоящей технологии основаны на понимании разработчиками по меньшей мере одной технической проблемы, связанной с известными решениями. Поэтому разработчики разработали способы и системы для корректировки модели DEM. Кроме того, разработчики разработали способы и системы, позволяющие более точно размещать дороги на спутниковом изображении путем корректировки модели DEM на основе собранных данных системы GPS от транспортных средств, перемещающихся по дорогам.[09] The developed implementations of this technology are based on the developers' understanding of at least one technical problem associated with known solutions. Therefore, developers have developed methods and systems to adjust the DEM model. In addition, developers have developed methods and systems to more accurately place roads on a satellite image by adjusting the DEM model based on collected GPS data from vehicles traveling on the roads.

[010] Согласно первому аспекту настоящей технологии реализован способ, включающий в себя получение спутникового изображения, содержащего одну или несколько дорог, и модели DEM, содержащей высоту каждого пиксела спутникового изображения, получение зафиксированных данных системы GPS, соответствующих одной или нескольким дорогам, определение пиксела на спутниковом изображении, соответствующего одной или нескольким дорогам, определение соответствия местоположения пиксела на спутниковом изображении данным системы GPS, определение набора пикселов модели DEM, окружающих пиксел на спутниковом изображении, если определено, что местоположение пиксела на спутниковом изображении не соответствует данным системы GPS, и корректировку высоты каждого пиксела из набора пикселов модели DEM таким образом, чтобы местоположение пиксела на спутниковом изображении соответствовало одной или нескольким дорогам.[010] According to a first aspect of the present technology, a method is implemented, including obtaining a satellite image containing one or more roads and a DEM model containing the height of each pixel of the satellite image, obtaining recorded GPS data corresponding to one or more roads, determining the pixel on satellite image corresponding to one or more roads, determining that the location of a pixel in the satellite image matches the GPS data, determining a set of DEM pixels surrounding the pixel in the satellite image if it is determined that the pixel location in the satellite image does not correspond to the GPS data, and adjusting the height each pixel from a set of DEM pixels such that the location of the pixel in the satellite image corresponds to one or more roads.

[011] В некоторых вариантах осуществления способа корректировка высоты каждого пиксела включает в себя выбор случайным образом высоты для каждого пиксела из набора пикселов, применение выбранных случайным образом высот в отношении модели DEM, после применения выбранных случайным образом высот в отношении модели DEM определение соответствия местоположения пиксела на спутниковом изображении одной или нескольким дорогам, и сохранение выбранных случайным образом высот в модели DEM после определения того, что местоположение пиксела на спутниковом изображении соответствует одной или нескольким дорогам.[011] In some embodiments of the method, adjusting the height of each pixel includes randomly selecting a height for each pixel from the set of pixels, applying the randomly selected heights to the DEM model, and after applying the randomly selected heights to the DEM model, determining a location match for the pixel on the satellite image to one or more roads, and storing the randomly selected elevations in the DEM model after determining that the location of a pixel on the satellite image corresponds to one or more roads.

[012] В некоторых вариантах осуществления способа он дополнительно включает в себя определение второго набора пикселов, соответствующего дорогам на спутниковом изображении, и выбор пиксела на спутниковом изображении из второго набора пикселов, соответствующего дорогам на спутниковом изображении.[012] In some embodiments of the method, it further includes determining a second set of pixels corresponding to roads in the satellite image, and selecting a pixel in the satellite image from the second set of pixels corresponding to roads in the satellite image.

[013] В некоторых вариантах осуществления способа определение второго набора пикселов, соответствующего дорогам на спутниковом изображении, включает в себя ввод спутникового изображения в обученный алгоритм машинного обучения (MLA, Machine Learning Algorithm) и выдачу алгоритмом MLA второго набора пикселов, соответствующего дорогам на спутниковом изображении.[013] In some embodiments of the method, determining a second set of pixels corresponding to roads in the satellite image includes inputting the satellite image to a trained Machine Learning Algorithm (MLA) and outputting a second set of pixels corresponding to the roads in the satellite image from the MLA algorithm. .

[014] В некоторых вариантах осуществления способа обученный алгоритм MLA обучен с использованием набора спутниковых изображений, каждое из которых содержит метку, указывающую на то, какие пикселы спутникового изображения соответствуют дорогам на спутниковом изображении.[014] In some embodiments of the method, the trained MLA algorithm is trained using a set of satellite images, each of which contains a label indicating which pixels in the satellite image correspond to roads in the satellite image.

[015] В некоторых вариантах осуществления способа он дополнительно включает в себя определение коэффициента RPC, соответствующего пикселу на спутниковом изображении.[015] In some embodiments of the method, it further includes determining an RPC coefficient corresponding to a pixel in the satellite image.

[016] В некоторых вариантах осуществления способа определение соответствия местоположения пиксела на спутниковом изображении данным системы GPS, включает в себя определение на основе коэффициента RPC координат GPS, соответствующих пикселу на спутниковом изображении, и сравнение координат GPS пиксела на спутниковом изображении с данными системы GPS для определения соответствия между координатой GPS и дорогой.[016] In some embodiments of the method, determining a match between the location of a pixel in a satellite image and GPS data includes determining, based on the RPC coefficient, GPS coordinates corresponding to a pixel in the satellite image, and comparing the GPS coordinates of the pixel in the satellite image with GPS data to determine correspondence between the GPS coordinate and the road.

[017] В некоторых вариантах осуществления способа корректировка высоты каждого пиксела включает в себя выбор случайным образом высоты для каждого пиксела из набора пикселов, применение выбранных случайным образом высот в отношении модели DEM, определение второго коэффициента RPC, соответствующего пикселу на спутниковом изображении, определение на основе второго коэффициента RPC второй координаты GPS, соответствующей пикселу на спутниковом изображении, сравнение второй координаты GPS пиксела на спутниковом изображении с данными системы GPS для определения соответствия между второй координатой GPS и дорогой, и сохранение выбранных случайным образом высот в модели DEM, если определено, что вторая координата GPS соответствует дороге.[017] In some embodiments of the method, adjusting the height of each pixel includes randomly selecting a height for each pixel from the set of pixels, applying the randomly selected heights to the DEM model, determining a second RPC coefficient corresponding to the pixel in the satellite image, determining based on a second RPC coefficient of a second GPS coordinate corresponding to a pixel in the satellite image, comparing the second GPS coordinate of the pixel in the satellite image with GPS data to determine a correspondence between the second GPS coordinate and the road, and storing randomly selected elevations in the DEM if it is determined that the second The GPS coordinate corresponds to the road.

[018] В некоторых вариантах осуществления способа зафиксированные данные системы GPS содержат координаты GPS, зафиксированные множеством электронных устройств, перемещающихся по одной или нескольким дорогам.[018] In some embodiments of the method, the captured GPS data comprises GPS coordinates captured by a plurality of electronic devices traveling along one or more roads.

[019] В некоторых вариантах осуществления способа множество электронных устройств связано с транспортными средствами, перемещающимися по одной или нескольким дорогам.[019] In some embodiments of the method, a plurality of electronic devices are associated with vehicles traveling on one or more roads.

[020] В некоторых вариантах осуществления способа зафиксированные данные системы GPS формируются путем получения координат GPS, зафиксированных множеством транспортных средств, перемещающихся по одной или нескольким дорогам, и исключения резко выделяющихся значений из координат GPS.[020] In some embodiments of the method, captured GPS data is generated by obtaining GPS coordinates recorded by multiple vehicles traveling on one or more roads and eliminating outliers from the GPS coordinates.

[021] Согласно другому аспекту настоящей технологии реализован способ, включающий в себя получение спутникового изображения, содержащего одну или несколько дорог, и модели DEM, содержащей высоту каждого пиксела спутникового изображения, получение зафиксированных данных системы GPS, соответствующих одной или нескольким дорогам, определение на основе данных системы GPS сдвига для применения в отношении спутникового изображения, выбор пиксела в модели DEM, определение на основе пикселов, окружающих выбранный пиксел, множества предполагаемых значений пиксела для этого пиксела, определение величины ошибки для каждого предполагаемого значения пиксела из множества предполагаемых значений пиксела, выбор предполагаемого значения пиксела с наименьшей величиной ошибки из множества предполагаемых значений пиксела и формирование на основе выбранного предполагаемого значения пиксела скорректированной модели DEM.[021] According to another aspect of the present technology, a method is implemented that includes obtaining a satellite image containing one or more roads and a DEM model containing the height of each pixel of the satellite image, obtaining recorded GPS data corresponding to one or more roads, determining based on GPS offset data for application to a satellite image, selecting a pixel in a DEM model, determining, based on the pixels surrounding the selected pixel, a set of expected pixel values for that pixel, determining the amount of error for each expected pixel value from the set of expected pixel values, selecting an expected the pixel value with the smallest error value from the plurality of estimated pixel values and generating a corrected DEM model based on the selected estimated pixel value.

[022] В некоторых вариантах осуществления способа он дополнительно включает в себя формирование скорректированного спутникового изображения на основе скорректированной модели DEM.[022] In some embodiments of the method, it further includes generating a corrected satellite image based on the corrected DEM model.

[023] В некоторых вариантах осуществления способа он дополнительно включает в себя получение коэффициентов RPC, соответствующих спутниковому изображению, при этом определение сдвига для применения в отношении спутникового изображения включает в себя формирование множества вариантов коэффициентов RPC, определение для каждого варианта из этого множества вариантов величины ошибки на основе данных системы GPS, выбор соответствующего сдвигу варианта с наименьшей величиной ошибки из множества вариантов и применение этого сдвига в отношении коэффициентов RPC.[023] In some embodiments of the method, it further includes obtaining RPC coefficients corresponding to the satellite image, wherein determining an offset to apply to the satellite image includes generating a plurality of RPC coefficients, determining for each of the plurality of variants an error amount based on the GPS data, selecting the offset option with the smallest error from the set of options, and applying that offset to the RPC coefficients.

[024] В некоторых вариантах осуществления способа определение множества предполагаемых значений пиксела включает в себя применение алгоритма сглаживания в отношении пиксела и окружающих его пикселов.[024] In some embodiments of the method, determining a plurality of candidate pixel values includes applying a smoothing algorithm to the pixel and its surrounding pixels.

[025] В некоторых вариантах осуществления способа определение величины ошибки включает в себя определение указания на соответствие между одной или несколькими дорогами и данными системы GPS.[025] In some embodiments of the method, determining the amount of error includes determining an indication of a correspondence between one or more roads and GPS data.

[026] Согласно еще одному аспекту настоящей технологии реализован способ, включающий в себя получение спутникового изображения, содержащего одну или несколько дорог, и модели DEM, содержащей высоту каждого пиксела спутникового изображения, получение зафиксированных данных системы GPS, соответствующих одной или нескольким дорогам, выбор пиксела в модели DEM, формирование множества предполагаемых значений пиксела для выбранного пиксела,; определение величины ошибки для каждого предполагаемого значения пиксела из множества предполагаемых значений пиксела ошибки, выбор предполагаемого значения пиксела с наименьшей величиной ошибки из множества предполагаемых значений пиксела и формирование на основе выбранного предполагаемого значения пиксела скорректированной модели DEM.[026] According to another aspect of the present technology, a method is implemented, including obtaining a satellite image containing one or more roads and a DEM model containing the height of each pixel of the satellite image, obtaining captured GPS data corresponding to one or more roads, selecting a pixel in the DEM model, generating a set of estimated pixel values for a selected pixel; determining an error magnitude for each estimated pixel value from the plurality of estimated error pixel values, selecting an estimated pixel value with the smallest error magnitude from the plurality of estimated pixel values, and generating a corrected DEM model based on the selected estimated pixel value.

[027] В некоторых вариантах осуществления способа определение величины ошибки для соответствующего предполагаемого значения пиксела включает в себя определение набора пикселов, окружающих пиксел, определение для набора пикселов степени соответствия между данными системы GPS и набором пикселов и определение на основе этой степени соответствия величины ошибки для соответствующего предполагаемого значения пиксела.[027] In some embodiments of the method, determining the amount of error for a corresponding estimated pixel value includes determining a set of pixels surrounding the pixel, determining for the set of pixels a degree of agreement between the GPS data and the set of pixels, and, based on this degree of agreement, determining an error amount for the corresponding expected pixel value.

[028] В некоторых вариантах осуществления способа каждое предполагаемое значение пиксела находится в заранее заданном диапазоне значений пиксела.[028] In some embodiments of the method, each estimated pixel value is within a predetermined range of pixel values.

[029] В некоторых вариантах осуществления способа он дополнительно включает в себя формирование скорректированного спутникового изображения на основе скорректированной модели DEM.[029] In some embodiments of the method, it further includes generating a corrected satellite image based on the corrected DEM model.

[030] В контексте настоящего описания термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать запросы (например, от клиентских устройств) через сеть и выполнять эти запросы или инициировать их выполнение. Аппаратные средства могут быть реализованы в виде одного физического компьютера или одной компьютерной системы, что не существенно для настоящей технологии. В данном контексте выражение «сервер» не означает, что каждая задача (например, принятая команда или запрос) или некоторая определенная задача принимается, выполняется или запускается одним и тем же сервером (т.е. одними и теми же программными и/или аппаратными средствами). Это выражение означает, что любое количество программных средств или аппаратных средств может принимать, отправлять, выполнять или инициировать выполнение любой задачи или запроса либо результатов любых задач или запросов. Все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, причем оба эти случая подразумеваются в выражении «по меньшей мере один сервер».[030] As used herein, the term “server” means a computer program executed by associated hardware and capable of receiving requests (eg, from client devices) over a network and executing or initiating execution of those requests. The hardware can be implemented in the form of one physical computer or one computer system, which is not essential for this technology. In this context, the expression "server" does not mean that every task (for example, a received command or request) or some specific task is accepted, executed or launched by the same server (i.e. the same software and/or hardware ). This expression means that any number of software or hardware can receive, send, execute, or initiate execution of any task or request, or the results of any tasks or requests. All of these software and hardware may be a single server or multiple servers, both of which are implied by the expression “at least one server.”

[031] В контексте настоящего описания термин «электронное устройство» может означать любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения поставленной задачи. В контексте настоящего описания термин «электронное устройство» подразумевает, что устройство может функционировать в качестве сервера для других электронных устройств и клиентских устройств, тем не менее, это не обязательно для настоящей технологии. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Должно быть понятно, что в настоящем контексте тот факт, что устройство функционирует в качестве электронного устройства, не означает, что оно не может функционировать в качестве сервера для других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких электронных устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов либо шагов любого описанного здесь способа.[031] As used herein, the term "electronic device" can mean any computer hardware capable of executing programs suitable for solving a given task. As used herein, the term "electronic device" implies that the device can function as a server for other electronic devices and client devices, however, this is not necessary for the present technology. Thus, some (non-limiting) examples of electronic devices include personal computers (desktops, laptops, netbooks, etc.), smartphones and tablets, and network equipment such as routers, switches and gateways. It should be understood that in the present context, the fact that a device functions as an electronic device does not mean that it cannot function as a server for other electronic devices. The use of the expression “electronic device” does not exclude the use of multiple electronic devices to receive, send, perform, or initiate the execution of any task or request, or the results of any tasks or requests, or steps of any method described herein.

[032] В контексте настоящего описания термин «клиентское устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения конкретной задачи. Некоторые (не имеющие ограничительного характера) примеры клиентских устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте устройство, функционирующее как клиентское устройство, также может функционировать как сервер для других клиентских устройств. Использование выражения «клиентское устройство» не исключает использования нескольких клиентских устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов, либо шагов любого описанного здесь способа.[032] As used herein, the term “client device” means any computer hardware capable of executing programs suitable for solving a particular task. Some (non-limiting) examples of client devices include personal computers (desktops, laptops, netbooks, etc.), smartphones and tablets, and network equipment such as routers, switches and gateways. It should be noted that in this context, a device functioning as a client device may also function as a server for other client devices. The use of the expression “client device” does not preclude the use of multiple client devices to receive, send, perform, or initiate execution of any task or request, or the results of any tasks or requests, or steps of any method described herein.

[033] В контексте настоящего описания выражение «информация» включает в себя информацию любого рода или вида, допускающую хранение в базе данных. Таким образом, информация включает в себя аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные о местоположении, числовые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д., но не ограничивается ими.[033] As used herein, the expression “information” includes information of any kind or kind capable of being stored in a database. Thus, information includes audiovisual works (images, films, sound recordings, presentations, etc.), data (location data, numerical data, etc.), text (opinions, comments, questions, messages, etc. .etc.), documents, spreadsheets, etc., but is not limited to them.

[034] В контексте настоящего описания выражение «программный компонент» включает в себя обозначение программного обеспечения (подходящего для определенных аппаратных средств), необходимого и достаточного для выполнения указанной определенной функции или нескольких функций.[034] As used herein, the expression “software component” includes a designation of software (suitable for specific hardware) necessary and sufficient to perform said specific function or multiple functions.

[035] В контексте настоящего описания выражение «носитель компьютерной информации» (также называется «носителем информации») означает носители любого рода и вида, включая оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), диски (CD-ROM, DVD, гибкие диски, жесткие диски и т.д.), USB-накопители, твердотельные накопители, накопители на магнитных лентах и т.д. Для формирования носителя компьютерной информации возможно объединение множества элементов, включая два или более элементов носителя информации одного вида и/или два или более элементов носителя информации разных видов.[035] As used herein, the expression “computer storage medium” (also referred to as “data storage medium”) means media of any kind or kind, including random access memory (RAM), read only memory (ROM), disks (CD-ROM, DVD , floppy disks, hard disks, etc.), USB flash drives, solid state drives, tape drives, etc. To form a computer information carrier, it is possible to combine a plurality of elements, including two or more information carrier elements of the same type and/or two or more information carrier elements of different types.

[036] В контексте настоящего описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерных аппаратных средств для хранения этих данных, их применения или обеспечения их использования иным способом. База данных может располагаться в тех же аппаратных средствах, где реализован процесс, обеспечивающий хранение или использование информации, хранящейся в базе данных, либо база данных может располагаться в отдельных аппаратных средствах, таких как специализированный сервер или множество серверов.[036] As used herein, the term “database” means any structured collection of data, regardless of its specific structure, database management software, or computer hardware for storing, using, or otherwise making use of that data. The database may reside in the same hardware as the process that stores or uses the information stored in the database, or the database may reside in separate hardware, such as a dedicated server or multiple servers.

[037] В контексте настоящего описания числительные «первый», «второй», «третий» и т.д. используются лишь для указания различия между существительными, к которым они относятся, но не для описания каких-либо определенных взаимосвязей между этими существительными. Например, должно быть понятно, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо определенного порядка, типа, хронологии, иерархии или классификации, в данном случае, серверов, а также что их использование (само по себе) не подразумевает наличие «второго сервера» в любой ситуации. Кроме того, как встречается здесь в другом контексте, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента в действительности могут быть одним и тем же элементом. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой один и тот же элемент программных и/или аппаратных средств, а в других случаях - разные элементы программных и/или аппаратных средств.[037] As used herein, the numerals "first", "second", "third", etc. are used only to indicate differences between the nouns they refer to, but not to describe any specific relationships between those nouns. For example, it should be clear that the use of the terms "first server" and "third server" does not imply any particular order, type, chronology, hierarchy or classification, in this case, of servers, nor that their use (in itself) does not imply the presence of a “second server” in any situation. Moreover, as occurs here in another context, reference to a “first” element and a “second” element does not preclude the possibility that the two elements may in fact be the same element. Thus, for example, in some cases the “first” server and the “second” server may be the same piece of software and/or hardware, and in other cases they may be different pieces of software and/or hardware.

[038] Каждый вариант осуществления настоящей технологии относится к по меньшей мере одной из вышеупомянутых целей и/или аспектов, но не обязательно ко всем ним. Должно быть понятно, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, явным образом здесь не упомянутым.[038] Each embodiment of the present technology relates to at least one of the above-mentioned objectives and/or aspects, but not necessarily all of them. It should be understood that some aspects of the present technology associated with attempting to achieve the above purpose may not be consistent with that purpose and/or may be consistent with other purposes not expressly mentioned herein.

[039] Дополнительные и/или альтернативные признаки, аспекты и преимущества вариантов осуществления настоящей технологии содержатся в дальнейшем описании, на приложенных чертежах и в формуле изобретения.[039] Additional and/or alternative features, aspects and advantages of embodiments of the present technology are set forth in the following description, the accompanying drawings, and the claims.

Краткое описание чертежейBrief description of drawings

[040] Эти и другие признаки, аспекты и преимущества настоящей технологии поясняются в дальнейшем описании, в приложенной формуле изобретения и на следующих чертежах.[040] These and other features, aspects and advantages of the present technology are set forth in the following description, in the appended claims and in the following drawings.

[041] На фиг. 1 представлена схема примера компьютерной системы для реализации не имеющих ограничительного характера вариантов осуществления настоящей технологии.[041] In FIG. 1 is a diagram of an example computer system for implementing non-limiting embodiments of the present technology.

[042] На фиг. 2 представлено спутниковое изображение согласно некоторым вариантам осуществления настоящей технологии.[042] In FIG. 2 shows a satellite image according to some embodiments of the present technology.

[043] На фиг. 3 представлена модель DEM согласно некоторым вариантам осуществления настоящей технологии.[043] In FIG. 3 shows a DEM model according to some embodiments of the present technology.

[044] На фиг. 4 представлено скорректированное спутниковое изображение согласно некоторым вариантам осуществления настоящей технологии.[044] In FIG. 4 shows a corrected satellite image according to some embodiments of the present technology.

[045] На фиг. 5 представлена блок-схема способа корректировки спутникового изображения согласно некоторым вариантам осуществления настоящей технологии.[045] In FIG. 5 is a flow diagram of a method for adjusting a satellite image according to some embodiments of the present technology.

[046] На фиг. 6 представлена блок-схема способа определения сдвига для применения в отношении спутникового изображения согласно некоторым вариантам осуществления настоящей технологии.[046] In FIG. 6 is a flow diagram of an offset determination method for use with satellite imagery in accordance with some embodiments of the present technology.

[047] На фиг. 7 представлена блок-схема способа корректировки модели DEM спутникового изображения согласно некоторым вариантам осуществления настоящей технологии.[047] In FIG. 7 is a flow diagram of a method for adjusting a satellite image DEM according to some embodiments of the present technology.

[048] На фиг. 8 представлена блок-схема способа формирования скорректированной модели DEM с использованием алгоритма MLA согласно некоторым вариантам осуществления настоящей технологии.[048] In FIG. 8 is a flow diagram of a method for generating an adjusted DEM using the MLA algorithm according to some embodiments of the present technology.

Осуществление изобретенияCarrying out the invention

[049] Представленные здесь примеры и условный язык предназначены для обеспечения лучшего понимания принципов настоящей технологии, а не для ограничения ее объема до таких специально приведенных примеров и условий. Очевидно, что специалисты в данной области техники способны разработать различные способы и устройства, которые явно не описаны и не показаны, но реализуют принципы настоящей технологии в пределах ее существа и объема.[049] The examples and conventional language presented here are intended to provide a better understanding of the principles of this technology and not to limit its scope to such specifically provided examples and conditions. It is obvious that those skilled in the art are capable of developing various methods and devices that are not explicitly described or shown, but implement the principles of the present technology within its spirit and scope.

[050] Кроме того, чтобы способствовать лучшему пониманию, последующее описание может содержать упрощенные варианты реализации настоящей технологии. Специалистам в данной области должно быть понятно, что другие варианты осуществления настоящей технологии могут быть значительно сложнее.[050] In addition, to facilitate a better understanding, the following description may contain simplified embodiments of the present technology. Those skilled in the art will appreciate that other embodiments of the present technology may be significantly more complex.

[051] В некоторых случаях приводятся полезные примеры модификаций настоящей технологии. Они способствуют пониманию, но также не определяют объема или границ настоящей технологии. Представленный перечень модификаций не является исчерпывающим и специалист в данной области может разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.[051] In some cases, useful examples of modifications to the present technology are provided. They promote understanding, but also do not define the scope or boundaries of the actual technology. The presented list of modifications is not exhaustive and a person skilled in the art may develop other modifications within the scope of this technology. In addition, if in some cases modifications are not described, this does not mean that they are impossible and/or that the description contains the only possible implementation of a particular element of this technology.

[052] Более того, описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники должно быть понятно, что любые описанные здесь структурные схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих основы настоящей технологии. Также должно быть понятно, что любые блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п. соответствуют различным процессам, которые могут быть представлены на машиночитаемом физическом носителе информации и могут выполняться компьютером или процессором, независимо от того, показан такой компьютер или процессор явно или нет.[052] Moreover, the description of the principles, aspects and embodiments of the present technology, as well as specific examples thereof, are intended to cover their structural and functional equivalents, whether currently known or developed in the future. For example, those skilled in the art will appreciate that any block diagrams described herein correspond to the conceptual representations of illustrative circuit diagrams implementing the fundamentals of the present technology. It should also be clear that any flowcharts, process diagrams, state transition diagrams, pseudo codes, etc. correspond to various processes that may be represented on a computer-readable physical storage medium and may be performed by a computer or processor, whether such computer or processor is explicitly shown or not.

[053] Функции различных элементов, показанных на чертежах, включая любой функциональный блок, обозначенный как «процессор», могут быть реализованы с использованием специализированных аппаратных средств, а также аппаратных средств, способных выполнять соответствующее программное обеспечение. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут использоваться совместно. Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные выполнять программное обеспечение, и может подразумевать, помимо прочего, аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), ПЗУ для хранения программного обеспечения, ОЗУ и энергонезависимое запоминающее устройство. Также могут подразумеваться другие аппаратные средства, общего назначения и/или заказные.[053] The functions of the various elements shown in the drawings, including any functional block designated as a "processor", may be implemented using dedicated hardware as well as hardware capable of executing associated software. If a processor is used, these functions may be performed by one dedicated processor, one shared processor, or a plurality of separate processors, some of which may be shared. In addition, explicit use of the term "processor" or "controller" should not be construed as referring solely to hardware capable of executing software and may include, but is not limited to, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), ROM for software storage, RAM and non-volatile storage device. Other hardware, general purpose and/or custom, may also be included.

[054] Программные модули или просто модули, реализация которых предполагается в виде программных средств, могут быть представлены здесь как любое сочетание элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут выполняться аппаратными средствами, показанными явно или подразумеваемыми.[054] Software modules, or simply modules that are intended to be implemented in software, may be represented herein as any combination of flowchart elements or other elements indicating the execution of process steps and/or containing a textual description. Such modules may be executed by hardware, shown explicitly or implicitly.

[055] Далее с учетом вышеизложенных принципов рассмотрены некоторые не имеющие ограничительного характера примеры, иллюстрирующие различные варианты реализации аспектов настоящей технологии.[055] In light of the foregoing principles, some non-limiting examples are provided below to illustrate various embodiments of aspects of the present technology.

[056] На фиг. 1 представлена компьютерная система 100, пригодная для использования с некоторыми вариантами осуществления настоящей технологии. В некоторых вариантах осуществления изобретения компьютерная система 100 может быть реализована в виде любого традиционного персонального компьютера, сетевого устройства и/или электронного устройства (например, мобильного устройства, планшетного устройства, сервера, блока контроллера, управляющего устройства и т.д.) и/или любого их сочетания, подходящего для решения поставленной задачи. В некоторых вариантах осуществления изобретения компьютерная система 100 содержит различные аппаратные элементы, включая один или несколько одно- или многоядерных процессоров, обобщенно представленных процессором 110, твердотельный накопитель 120, ОЗУ 130 и интерфейс 150 ввода-вывода. Компьютерная система 100 может представлять собой компьютер, специально разработанный для выполнения алгоритма MLA. Компьютерная система 100 может представлять собой компьютерную систему общего назначения.[056] In FIG. 1 illustrates a computer system 100 suitable for use with certain embodiments of the present technology. In some embodiments, the computer system 100 may be implemented as any conventional personal computer, network device, and/or electronic device (e.g., mobile device, tablet device, server, controller unit, control device, etc.) and/or any combination of them suitable for solving the problem. In some embodiments, computer system 100 includes various hardware elements, including one or more single- or multi-core processors, generally represented by processor 110, solid state drive 120, RAM 130, and input/output interface 150. The computer system 100 may be a computer specifically designed to run the MLA algorithm. The computer system 100 may be a general purpose computer system.

[057] В некоторых вариантах осуществления изобретения компьютерная система 100 также может представлять собой подсистему одной из вышеупомянутых систем. В некоторых других вариантах осуществления изобретения компьютерная система 100 может представлять собой готовую компьютерную систему общего назначения. В некоторых вариантах осуществления изобретения функции компьютерной системы 100 могут быть распределены между несколькими системами. Компьютерная система 100 также может быть специально предназначена для реализации настоящей технологии. Как должно быть понятно специалисту в области настоящей технологии, возможно множество вариантов реализации компьютерной системы 100 без выхода за границы настоящей технологии.[057] In some embodiments, the computer system 100 may also be a subsystem of one of the above systems. In some other embodiments of the invention, the computer system 100 may be a general purpose off-the-shelf computer system. In some embodiments, the functions of the computer system 100 may be distributed among multiple systems. The computer system 100 may also be specifically designed to implement the present technology. As will be appreciated by one skilled in the art of the present technology, many embodiments of the computer system 100 are possible without going beyond the boundaries of the present technology.

[058] Специалистам в данной области известно, что процессор 110 обычно способен обрабатывать данные. В некоторых вариантах осуществления изобретения вместо одного или нескольких традиционных центральных процессоров (CPU, Central Processing Unit) или в дополнение к ним может быть предусмотрено одно или несколько специализированных ядер обработки данных. Например, один или несколько графических процессоров 111 (GPU, Graphic Processing Unit), тензорных процессоров (TPU, Tensor Processing Units) и/или других так называемых ускоренных процессоров (или ускорителей обработки данных) может быть предусмотрено в дополнение к одному или нескольким процессорам CPU или вместо них.[058] Those skilled in the art will recognize that processor 110 is typically capable of processing data. In some embodiments, instead of or in addition to one or more traditional central processing units (CPUs), one or more dedicated processing cores may be provided. For example, one or more graphics processing units 111 (GPU, Graphic Processing Unit), tensor processing units (TPU, Tensor Processing Units) and/or other so-called accelerated processors (or data accelerators) may be provided in addition to one or more CPU processors or instead of them.

[059] Память системы обычно содержит ОЗУ 130, а в более широком смысле включает в себя физическую память системы любого вида, такую как статическое ОЗУ (SRAM, Static Random Access Memory), динамическое ОЗУ (DRAM, Dynamic Random Access Memory), синхронное динамическое ОЗУ (SDRAM, Synchronous DRAM), ПЗУ или их сочетание. Твердотельный накопитель 120 показан в качестве примера запоминающего устройства, но в более широком смысле такое запоминающее устройство может содержать физическое устройство хранения данных любого вида, способное хранить данные, программы и другую информацию, а также обеспечивать доступ к данным, программам и другой информации через системную шину 160. Например, запоминающее устройство может содержать один или несколько твердотельных накопителей, накопителей на жестких дисках, накопителей на магнитных дисках и/или накопителей на оптических дисках.[059] System memory typically includes RAM 130, and more broadly includes any kind of physical system memory, such as SRAM (Static Random Access Memory), dynamic RAM (DRAM (Dynamic Random Access Memory), synchronous dynamic memory). RAM (SDRAM, Synchronous DRAM), ROM or a combination thereof. Solid state drive 120 is shown as an example of a storage device, but in a broader sense, such a storage device may include any kind of physical storage device capable of storing data, programs, and other information, and providing access to data, programs, and other information via a system bus. 160. For example, a storage device may include one or more solid state drives, hard disk drives, magnetic disk drives, and/or optical disk drives.

[060] Связь между различными элементами компьютерной системы 100 может обеспечиваться с помощью системной шины 160, содержащей одну или несколько внутренних и/или внешних шин (таких как локальная шина соединения периферийных устройств (PCI, Peripheral Component Interconnect), универсальная последовательная шина (USB, universal serial bus), шина FireWire стандарта 1394 Института инженеров по электронике и электротехнике (IEEE, Institute of Electrical and Electronics Engineers), шина системного интерфейса малых компьютеров (SCSI, Small Computer System Interface), шина последовательного интерфейса для подключения внешних устройств в AT-совместимых компьютерах (Serial-ATA, Serial Advanced Technology Attachment), с которыми различные аппаратные элементы соединены электронными средствами.[060] Communication between various elements of the computer system 100 may be provided by a system bus 160 comprising one or more internal and/or external buses (such as a Peripheral Component Interconnect (PCI), a universal serial bus (USB, universal serial bus), FireWire bus standard 1394 of the Institute of Electrical and Electronics Engineers (IEEE, Institute of Electrical and Electronics Engineers), small computer system interface bus (SCSI, Small Computer System Interface), serial bus for connecting external devices in AT- compatible computers (Serial-ATA, Serial Advanced Technology Attachment), to which various hardware elements are connected electronically.

[061] Интерфейс 150 ввода-вывода может обеспечивать возможности организации сети, например, проводной или беспроводной доступ. Например, интерфейс 150 ввода-вывода может содержать сетевой интерфейс, такой как сетевой порт, сетевой соединитель, контроллер сетевого интерфейса и т.д. Специалисту в области настоящей технологии может быть известно много примеров реализации сетевого интерфейса. Например, сетевой интерфейс может обеспечивать физический уровень и канальный уровень стандартов, таких как Ethernet, Fibre Channel, Wi-Fi, Token Ring или протоколов последовательной связи. Конкретные физический уровень и канальный уровень могут обеспечивать основу полного стека протоколов сети для связи в небольших группах компьютеров в одной локальной сети (LAN, Local Area Network) и для связи в крупномасштабной сети с использованием маршрутизируемых протоколов, таких как интернет-протокол (IP, Internet Protocol).[061] I/O interface 150 may provide networking capabilities, such as wired or wireless access. For example, I/O interface 150 may include a network interface, such as a network port, a network connector, a network interface controller, etc. One skilled in the art of the present technology may be familiar with many examples of network interface implementations. For example, a network interface may provide physical layer and data link layer standards such as Ethernet, Fiber Channel, Wi-Fi, Token Ring, or serial communication protocols. A particular physical layer and data link layer can provide the basis for a complete network protocol stack for communications in small groups of computers on a single local area network (LAN) and for communications in a large-scale network using routable protocols such as Internet Protocol (IP). protocol).

[062] Интерфейс 150 ввода-вывода может соединяться с сенсорным экраном 190 и/или с одной или несколькими внутренними и/или внешними шинами 160. Сенсорный экран 190 может входить в состав дисплея. В некоторых вариантах реализации сенсорный экран 190 представляет собой дисплей. Сенсорный экран 190 может также называться экраном 190. В представленных на фиг. 1 вариантах осуществления изобретения сенсорный экран 190 содержит сенсорные аппаратные средства 194 (например, чувствительные к нажатию ячейки, встроенные в слой дисплея и позволяющие обнаруживать физическое взаимодействие между пользователем и дисплеем) и контроллер 192 ввода-вывода для сенсорных устройств, который обеспечивает связь с дисплейным интерфейсом 140 и/или с одной или несколькими внутренними и/или внешними шинами 160. В некоторых вариантах осуществления изобретения интерфейс 150 ввода-вывода может соединяться с клавиатурой (не показана), мышью (не показана) или сенсорной площадкой (не показана), которые обеспечивают взаимодействие пользователя с компьютерной системой 100 в дополнение к сенсорному экрану 190 или вместо него.[062] I/O interface 150 may couple to touch screen 190 and/or one or more internal and/or external buses 160. Touch screen 190 may be included in a display. In some embodiments, the touch screen 190 is a display. The touch screen 190 may also be referred to as a screen 190. In FIGS. 1 embodiments of the invention, touch screen 190 includes touch hardware 194 (e.g., pressure-sensitive cells embedded in the display layer to detect physical interaction between the user and the display) and a touch I/O controller 192 that provides communication with the display interface 140 and/or with one or more internal and/or external buses 160. In some embodiments, the I/O interface 150 may be coupled to a keyboard (not shown), mouse (not shown), or touch pad (not shown) that provides user interaction with the computer system 100 in addition to or instead of the touch screen 190.

[063] Согласно некоторым вариантам осуществления настоящей технологии в твердотельном накопителе 120 хранятся программные команды, пригодные для загрузки в ОЗУ 130 и исполнения процессором 110 с целью выполнения действий одного или нескольких описанных здесь способов. В частности, по меньшей мере некоторые программные команды могут входить в состав библиотеки или приложения.[063] In some embodiments of the present technology, solid state drive 120 stores software instructions suitable for loading into RAM 130 and execution by processor 110 to perform the actions of one or more methods described herein. In particular, at least some of the program instructions may be included in a library or application.

[064] На фиг. 2 представлено спутниковое изображение 200 согласно некоторым вариантам осуществления настоящей технологии. Спутниковое изображение 200 может быть зафиксировано одним или несколькими спутниками с околоземной орбиты. Несмотря на то, что здесь описано спутниковое изображение 200, должно быть понятно, что оно может быть зафиксировано любой другой фотографической системой, установленной на летательном аппарате. Спутниковое изображение 200 может быть зафиксировано беспилотным летательным аппаратом (т.е. дроном), неуправляемым аэростатом, самолетом и/или любым другим летательным аппаратом. Любое указание на спутниковое изображение здесь подразумевает изображения, полученные спутником или любым другим летательным аппаратом, и/или аэрофотографию любого вида.[064] In FIG. 2 illustrates a satellite image 200 in accordance with some embodiments of the present technology. The satellite image 200 may be captured by one or more satellites from Earth orbit. Although satellite image 200 is described herein, it should be understood that it may be captured by any other photographic system mounted on an aircraft. The satellite image 200 may be captured by an unmanned aerial vehicle (i.e., drone), a balloon, an airplane, and/or any other aircraft. Any reference herein to satellite imagery includes images captured by satellite or any other aircraft and/or aerial photography of any kind.

[065] Спутниковое изображение 200 может представлять собой одно изображение или совокупность нескольких изображений. Несколько изображений могут быть получены из одного источника или из нескольких источников. Спутниковое изображение 200 содержит дороги 205. Дороги 205 могут представлять собой дороги общего пользования и/или частные дороги.[065] Satellite image 200 may be a single image or a collection of multiple images. Multiple images can be obtained from a single source or from multiple sources. Satellite image 200 includes roads 205. Roads 205 may be public roads and/or private roads.

[066] Наложенное изображение на спутниковом изображении 200 представляет собой собранные данные 210 системы GPS. Собранные данные 210 системы GPS могут представлять собой данные, полученные от транспортных средств, перемещающихся по дорогам 205. Транспортные средства могут содержать встроенные устройства GPS или устройства GPS, которые перемещаются в транспортном средстве. Например, водитель транспортного средства может иметь смартфон с поддержкой GPS. Устройство GPS транспортного средства может регистрировать положение транспортного средства по мере его перемещения по дорогам 205. В частности, координаты транспортного средства могут регистрироваться через заранее заданные интервалы времени и/или каждый раз при определении нового положения транспортного средства.[066] An overlay image on satellite image 200 represents collected GPS data 210 . The collected GPS system data 210 may be data obtained from vehicles traveling on roads 205. Vehicles may contain built-in GPS devices or GPS devices that travel in the vehicle. For example, the driver of a vehicle may have a GPS-enabled smartphone. The vehicle's GPS device may record the position of the vehicle as it travels along the roads 205. In particular, the vehicle's coordinates may be recorded at predetermined time intervals and/or each time a new position of the vehicle is determined.

[067] Данные 210 системы GPS могут собираться и сохраняться от нескольких транспортных средств, перемещающихся по дорогам 205, и/или во время нескольких поездок по дорогам 205. Транспортные средства и/или устройства могут передавать записанные координаты центральному серверу. Сервер может сохранять собранные координаты GPS в базе данных. Собранные координаты GPS могут фильтроваться и/или обрабатываться для формирования данных системы GPS. Собранные координаты GPS могут фильтроваться для исключения данных, собранных до конкретной даты и/или времени. Например, для формирования данных 210 системы GPS могут использоваться координаты GPS, собранные за последний год. Собранные координаты GPS могут подвергаться фильтрации для исключения резко выделяющихся значений. В некоторых случаях могут возникать ошибочные показания GPS, например, из-за погодных условий. В результате исключения резко выделяющихся значений могут быть удалены неточные координаты GPS.[067] GPS system data 210 may be collected and stored from multiple vehicles traveling on roads 205 and/or during multiple trips along roads 205. The vehicles and/or devices may transmit recorded coordinates to a central server. The server can store collected GPS coordinates in a database. Collected GPS coordinates may be filtered and/or processed to generate GPS data. Collected GPS coordinates may be filtered to exclude data collected before a specific date and/or time. For example, GPS coordinates collected over the past year may be used to generate GPS data 210. Collected GPS coordinates can be filtered to eliminate outliers. In some cases, erroneous GPS readings may occur, for example due to weather conditions. By eliminating outliers, inaccurate GPS coordinates may be removed.

[068] Как показано на спутниковом изображении 200, данные 210 системы GPS в некоторых областях могут не соответствовать дорогам 205. Это может быть обусловлено ошибками на спутниковом изображении 200 и/или ошибками в данных 210 системы GPS. Если собрано достаточное количество данных 210 системы GPS, то можно предположить, что несоответствие обусловлено ошибками на спутниковом изображении 200. С использованием описанных ниже способов спутниковое изображение 200 может быть скорректировано на основе данных 210 системы GPS.[068] As shown in satellite image 200, GPS data 210 may not correspond to roads 205 in some areas. This may be due to errors in satellite image 200 and/or errors in GPS data 210. If enough GPS data 210 is collected, it can be assumed that the discrepancy is due to errors in the satellite image 200. Using the methods described below, the satellite image 200 can be corrected based on the GPS data 210.

[069] На фиг. 3 представлена модель 300 DEM согласно некоторым вариантам осуществления настоящей технологии. Исходное спутниковое изображение может быть модифицировано с использованием процесса ортотрансформации. При ортотрансформации спутниковое изображение может быть изменено с целью корректировки различных геометрических неточностей на спутниковом изображении, например, обусловленных наклоном спутника или другого устройства, фиксирующего изображение, влиянием рельефа местности, неточностями датчика, фиксирующего изображение, и/или другими причинами. В результате ортотрансформации может быть получена более точная версия спутникового изображения, географические элементы которого расположены ближе к их фактическим местоположениям на земной поверхности.[069] In FIG. 3 shows a Model 300 DEM in accordance with some embodiments of the present technology. The original satellite image can be modified using the orthorectification process. With orthorectification, a satellite image can be modified to correct various geometric inaccuracies in the satellite image, for example, due to the tilt of the satellite or other image-capturing device, the influence of terrain, inaccuracies of the image-capturing sensor, and/or other reasons. Orthorectification can produce a more accurate version of a satellite image, with geographic elements located closer to their actual locations on the earth's surface.

[070] При ортотрансформации могут учитываться геометрические искажения, обусловленные влиянием рельефа местности, такие как рельефное смещение. Изменяющаяся высота может привести к смещению видимого положения элемента на изображении. Эти изменения местности могут учитываться при ортотрансформации с использованием модели DEM, такой как модель 300 DEM. Модель 300 DEM является представлением топографической поверхности Земли. Модель 300 DEM содержит информацию о высоте для земной поверхности. Модель 300 DEM может не содержать другой информации о земной поверхности, отличной от высоты.[070] Orthorectification can take into account geometric distortions caused by the influence of terrain, such as relief displacement. Changing height may cause the apparent position of an element to shift in the image. These terrain changes can be taken into account when orthorectifying using a DEM model such as the 300 DEM model. The 300 DEM is a representation of the topographic surface of the Earth. Model 300 DEM contains elevation information for the earth's surface. The 300 DEM may not contain ground information other than elevation.

[071] В модели 300 DEM каждый пиксел соответствует географической области на Земле. Для каждого пиксела модели 300 DEM может быть назначено значение пиксела, указывающее на высоту географической области, соответствующей этому пикселу. Географическая область, соответствующая каждому пикселу, может иметь один и тот же размер. Модель DEM может быть представлена в виде полутонового изображения, цветного изображения или в любом другом подходящем формате. Приведенная в качестве иллюстрации модель 300 DEM представляет собой полутоновое изображение. Для каждого пиксела модели 300 DEM может быть назначено значение пиксела, соответствующее яркости пиксела. Значения пикселов могут лежать в любом диапазоне, например, от 0 (черный цвет) до 255 (белый цвет). Значение пиксела (т.е. яркость) для каждого пиксела модели 300 DEM может указывать на высоту соответствующего местоположения на спутниковом изображении 200. Эти значения пикселов в модели 300 DEM могут использоваться для корректировки спутникового изображения 200 при ортотрансформации.[071] In the 300 DEM model, each pixel corresponds to a geographic area on Earth. Each pixel in the 300 DEM model can be assigned a pixel value indicating the height of the geographic area corresponding to that pixel. The geographic area corresponding to each pixel may be the same size. The DEM may be represented as a grayscale image, a color image, or any other suitable format. The Model 300 DEM shown as an illustration is a halftone image. Each pixel in the 300 DEM model can be assigned a pixel value corresponding to the brightness of the pixel. Pixel values can be in any range, for example, from 0 (black) to 255 (white). The pixel value (ie, brightness) for each pixel of the DEM model 300 may indicate the height of the corresponding location in the satellite image 200. These pixel values in the DEM model 300 may be used to correct the satellite image 200 for orthorectification.

[072] Модель 300 DEM иллюстрирует один способ хранения топографической информации, соответствующей спутниковому изображению. Тем не менее, должно быть понятно, что может использоваться любой другой подходящий способ. Например, модель 300 DEM может храниться в виде трехмерной модели, карты рельефа и/или в любом другом формате. Модель 300 DEM может формироваться спутником, зафиксировавшим спутниковое изображение 200, или другим спутником. Модель 300 DEM может формироваться любым подходящим воздушным летательным аппаратом, таким как самолет. Модель 300 DEM может формироваться с помощью нескольких источников данных, например, с использованием данных, собранных несколькими спутниками.[072] The Model 300 DEM illustrates one method of storing topographic information corresponding to a satellite image. However, it should be understood that any other suitable method may be used. For example, the 300 DEM model may be stored as a 3D model, elevation map, and/or any other format. The Model 300 DEM may be generated by the satellite that recorded the satellite image 200 or by another satellite. The Model 300 DEM can be formed by any suitable aerial vehicle, such as an airplane. The 300 DEM can be generated using multiple data sources, such as data collected by multiple satellites.

[0739] Модель 300 DEM может быть использована в процессе ортотрансформации. Значения пикселов модели 300 DEM могут влиять на положение дорог 205 на спутниковом изображении 200. Как более подробно описано ниже, модель 300 DEM может быть скорректирована для совмещения данных 210 системы GPS с дорогами 205.[0739] The Model 300 DEM can be used in the orthorectification process. The pixel values of the DEM model 300 may influence the position of the roads 205 in the satellite image 200. As described in more detail below, the DEM model 300 may be adjusted to align the GPS data 210 with the roads 205.

[074] На фиг. 4 представлено скорректированное спутниковое изображение 400 согласно некоторым вариантам осуществления настоящей технологии. Скорректированное спутниковое изображение 400 подвергнуто ортотрансформации с использованием скорректированной модели DEM. Модель 300 DEM может быть скорректирована так, чтобы после ортотрансформации данные 210 системы GPS соответствовали дорогам 205. Для некоторых целей может быть особенно важно иметь спутниковые изображения с надлежащим образом размешенными дорогами. Ниже описаны способы корректировки модели DEM для совмещения собранных данных 210 системы GPS с дорогами 205.[074] In FIG. 4 illustrates a corrected satellite image 400 in accordance with some embodiments of the present technology. The corrected satellite image 400 is orthorectified using the corrected DEM model. The DEM model 300 can be adjusted so that, after orthorectification, the GPS data 210 corresponds to the roads 205. For some purposes, it may be particularly important to have satellite images with roads properly placed. Methods for adjusting the DEM model to align collected GPS data 210 with roads 205 are described below.

Способ корректировки спутникового изображения (не имеющий ограничительного характера вариант осуществления)Method for adjusting satellite image (non-limiting embodiment)

[075] На фиг. 5 представлена блок-схема способа 500 корректировки спутникового изображения согласно некоторым вариантам осуществления настоящей технологии. Согласно одному или нескольким аспектам изобретения, способ 500 либо один или несколько его шагов могут выполняться компьютерной системой, такой как компьютерная система 100. Способ 500 либо один или несколько его шагов могут быть реализованы в виде компьютерных команд, хранящихся на машиночитаемом носителе информации, таком как физическое запоминающее устройство, загружаемых в память и исполняемых процессором CPU. Некоторые представленные на блок-схеме шаги или части шагов могут быль опущены либо может быть изменен их порядок следования.[075] In FIG. 5 is a flow diagram of a satellite image correction method 500 according to some embodiments of the present technology. According to one or more aspects of the invention, method 500 or one or more steps thereof may be performed by a computer system, such as computer system 100. Method 500 or one or more steps thereof may be implemented as computer instructions stored on a computer-readable storage medium, such as physical storage device loaded into memory and executed by the CPU. Some steps or parts of steps presented in the flowchart may be omitted or their order may be changed.

Шаг 505: фиксация спутникового изображения географической области.Step 505: Capture a satellite image of a geographic area.

[076] На шаге 505 может быть зафиксировано изображение географической области. Изображение может представлять собой спутниковое изображение, изображение, полученное аэрофотосъемкой, и/или изображение любого другого вида, содержащее вид сверху географической области. Изображение может представлять собой совокупность нескольких изображений. При этом может быть записана информация о фиксации изображения, такая как дата и время фиксации, угол наклона устройства, фиксирующего изображение, и/или любая другая информация об устройстве, фиксирующем изображение. Может быть записан наклон спутника, фиксирующего изображение, и/или другая информация о спутнике. Как описано выше, спутниковое изображение может содержать различные неточности. Неточности могут быть обусловлены разными факторами, включая различную высоту географической области.[076] At step 505, an image of the geographic area may be captured. The image may be a satellite image, an aerial photograph, and/or any other type of image containing an overhead view of a geographic area. An image may be a collection of several images. In this case, image capture information such as the date and time of capture, the angle of the image capture device, and/or any other information about the image capture device may be recorded. The tilt of the satellite capturing the image and/or other information about the satellite may be recorded. As described above, the satellite image may contain various inaccuracies. Inaccuracies may be due to various factors, including varying elevations of the geographic area.

[077] Для спутникового изображения могут быть сформированы и/или получены коэффициенты RPC. Коэффициенты RPC могут описывать преобразование двумерного спутникового изображения в трехмерные координаты земной поверхности. Коэффициент RPC пиксела спутникового изображения может указывать на координаты местоположения на поверхности, соответствующего этому пикселу Координаты могут быть представлены в любом виде, таком как широта и долгота. Коэффициент RPC пиксела может быть использован для расчета широты и долготы, соответствующих этому пикселу.[077] RPC coefficients may be generated and/or obtained for the satellite image. RPC coefficients can describe the transformation of a 2D satellite image into 3D ground coordinates. The RPC of a pixel in a satellite image can indicate the coordinates of the surface location corresponding to that pixel. The coordinates can be represented in any form such as latitude and longitude. A pixel's RPC can be used to calculate the latitude and longitude associated with that pixel.

Шаг 510: фиксация модели DEM географической области.Step 510: Fix the geographic area DEM.

[078] На шаге 510 может быть сформирована модель DEM географической области. Модель DEM может быть сформирована спутником, фиксирующим спутниковое изображение на шаге 505, другим спутником или другим летательным аппаратом. Модель DEM может быть сформирована одновременно со спутниковым изображением или в другое время. Модель DEM может быть сформирована на основе нескольких источников данных, например, с использованием данных, собранных несколькими спутниками. Модель DEM может быть сформирована с использованием лидара, радиолокатора, стереофотограмметрии и/или любого другого подходящего способа определения высоты географической области. Модель DEM и/или спутниковое изображение могут быть получены из базы данных.[078] At step 510, a DEM model of the geographic area may be generated. The DEM may be generated by the satellite capturing the satellite image in step 505, another satellite, or another aircraft. The DEM can be generated simultaneously with the satellite image or at a different time. A DEM model can be generated from multiple data sources, for example using data collected by multiple satellites. The DEM may be generated using lidar, radar, stereophotogrammetry, and/or any other suitable method for determining the elevation of a geographic area. The DEM model and/or satellite image can be obtained from the database.

[079] Модель DEM может указывать на высоту местоположений на спутниковом изображении. Модель DEM может представлять собой изображение, содержащее пикселы, для каждого из которых назначено значение пиксела. Значение пиксела может соответствовать оттенку пиксела. Значение пиксела может указывать на высоту географической области, соответствующей пикселу.[079] The DEM may indicate the elevation of locations on a satellite image. A DEM can be an image containing pixels, each with a pixel value assigned to it. The pixel value may correspond to the hue of the pixel. The pixel value may indicate the height of the geographic area corresponding to the pixel.

Шаг 515: получение зафиксированных данных системы GPS.Step 515: Receive captured GPS data.

[080] На шаге 515 могут быть получены данные, указывающие на местоположение дорог в географической области. Эти данные могут представлять собой зафиксированные данные системы GPS, соответствующие географической области. Зафиксированные данные системы GPS могут быть записаны устройствами, перемещающимися в транспортных средствах по дорогам в географической области. Данные системы GPS могут собираться с устройств GPS, встроенных в транспортные средства, и/или с устройств GPS, перемещающихся в транспортных средствах, таких как мобильные телефоны. Зафиксированные данные системы GPS могут собираться навигационным приложением, выполняемом в мобильном устройстве водителя или пассажира. Данные системы GPS могут отправляться навигационным приложением в облачную систему. Несмотря на то, что данные здесь описаны как данные системы GPS, они могут быть зафиксированы любой спутниковой навигационной системой, такой как ГЛОНАСС, BeiDou и/или Galileo. Данные системы GPS могут быть получены из базы данных.[080] At step 515, data indicative of the location of roads in the geographic area may be obtained. This data may be recorded GPS data corresponding to a geographic area. Recorded GPS data may be recorded by devices traveling in vehicles on roads in a geographic area. GPS system data may be collected from GPS devices built into vehicles and/or from GPS devices carried in vehicles, such as mobile phones. Recorded GPS data may be collected by a navigation application running on the driver's or passenger's mobile device. GPS data can be sent by the navigation application to the cloud system. Although the data here is described as GPS data, it may be captured by any satellite navigation system such as GLONASS, BeiDou and/or Galileo. GPS system data can be obtained from a database.

[081] Полученные данные системы GPS могут быть подвергнуты фильтрации и/или обработаны иным образом. Данные системы GPS могут фильтроваться на основе времени, например, путем получения данных системы GPS, собранных в течение заранее заданного интервала времени, и/или путем получения заранее заданного количества последних собранных данных системы GPS. Из данных системы GPS могут быть исключены резко выделяющиеся значения, например, путем удаления координат GPS, находящихся далеко от других собранных координат GPS.[081] Received GPS data may be filtered and/or otherwise processed. The GPS data may be filtered on a time basis, for example by obtaining GPS data collected during a predetermined time interval and/or by obtaining a predetermined amount of the most recently collected GPS data. Outliers can be removed from GPS data, for example by removing GPS coordinates that are far from other collected GPS coordinates.

[082] Данные, указывающие на местоположение дорог, могут представлять собой карту географической области. Карта может указывать на местоположение дорог в географической области и/или на координаты, соответствующие дорогам в географической области. Данные карты могут использоваться вместо данных системы GPS и/или в дополнение к данным системы GPS. Может быть получено любое другое указание на местоположение дорог в географической области.[082] Data indicating the location of roads may be a map of a geographic area. The map may indicate the location of roads in a geographic area and/or coordinates corresponding to roads in the geographic area. Map data may be used instead of GPS data and/or in addition to GPS data. Any other indication of the location of roads in a geographic area may be obtained.

Шаг 520: определение дорог на спутниковом изображении.Step 520: Identify roads in satellite image.

[083] На шаге 520 могут быть определены дороги на спутниковом изображении, зафиксированном на шаге 505. При этом могут быть определены пикселы, координаты и/или другие указатели, соответствующие дорогам. Дороги могут быть определены с использованием способов компьютерного зрения, алгоритмов MLA и/или любых других способов определения дорог на изображении. Пиксел может быть помечен как пиксел дороги на основе цвета пиксела и/или цвета пикселов, окружающих этот пиксел.[083] At step 520, roads may be determined in the satellite image captured at step 505. The pixels, coordinates, and/or other indicators corresponding to the roads may be determined. Roads may be identified using computer vision techniques, MLA algorithms, and/or any other methods for identifying roads in an image. A pixel may be labeled as a road pixel based on the color of the pixel and/or the color of pixels surrounding the pixel.

[084] Для определения пикселов, соответствующих дорогам на спутниковом изображении, может быть использован обученный алгоритм MLA, такой как обученная нейронная сеть. Алгоритм MLA может получать спутниковое изображение в качестве входных данных. Алгоритм MLA может выдавать набор пикселов, соответствующий дорогам на спутниковом изображении, и/или любой другой указатель на пикселы, соответствующий дорогам на спутниковом изображении. Алгоритм MLA может быть обучен с использованием размеченных обучающих данных, содержащих набор точек обучающих данных. Каждая точка обучающих данных может содержать спутниковое изображение и карту или другую метку, указывающую на пикселы спутникового изображения, соответствующие дорогам. С использованием размеченных обучающих данных алгоритм MLA может быть обучен прогнозированию пикселов спутникового изображения, соответствующих дорогам.[084] A trained MLA algorithm, such as a trained neural network, can be used to identify pixels corresponding to roads in a satellite image. The MLA algorithm can receive satellite imagery as input. The MLA algorithm may produce a set of pixels corresponding to roads in the satellite image, and/or any other indication of pixels corresponding to roads in the satellite image. The MLA algorithm can be trained using labeled training data containing a set of training data points. Each training data point may contain a satellite image and a map or other label indicating the satellite image pixels corresponding to roads. Using labeled training data, the MLA algorithm can be trained to predict satellite image pixels corresponding to roads.

Шаг 525: определение сдвига для применения в отношении спутникового изображения.Step 525: Determine the offset to apply to the satellite image.

[085] На шаге 525 может быть определен сдвиг для применения в отношении спутникового изображения. Сдвиг может быть применен в отношении самого спутникового изображения и/или всех коэффициентов RPC, соответствующих спутниковому изображению. При этом могут быть определены величина и/или направление сдвига (например, его вектор). Затем определенный сдвиг может быть применен в отношении всех коэффициентов RPC спутникового изображения.[085] At step 525, an offset may be determined to apply to the satellite image. The shift may be applied to the satellite image itself and/or to all RPC coefficients corresponding to the satellite image. In this case, the magnitude and/or direction of the shift (for example, its vector) can be determined. The defined offset can then be applied to all RPC coefficients of the satellite image.

[086] Величина и/или направление сдвига, подлежащего применению, могут быть определены путем сравнения данных системы GPS с идентифицированными дорогами на спутниковом изображении. Может быть определена степень соответствия между данными системы GPS и дорогами. Степень соответствия может представлять собой метрику «пересечение над объединением» (IoU, Intersection over Union), такую как коэффициент Жаккара (Jaccard). Метрика IoU может указывать на количество пикселов спутникового изображения, соответствующих и данным системы GPS, и дорогам, определенным на шаге 520.[086] The amount and/or direction of offset to be applied can be determined by comparing GPS data with identified roads in the satellite image. The degree of correspondence between GPS data and roads can be determined. The degree of correspondence can be an Intersection over Union (IoU) metric such as the Jaccard coefficient. The IoU metric may indicate the number of satellite image pixels corresponding to both the GPS data and the roads identified in step 520.

[087] Может быть сформирован набор вариантов спутникового изображения, которым соответствуют различные сдвиги, примененные в отношении коэффициентов RPC спутникового изображения. Этим вариантам могут соответствовать различные направления и/или величины сдвига. Для каждого варианта может быть рассчитана степень соответствия между дорогами на спутниковом изображении и данными системы GPS. Может быть выбран вариант с наибольшей степенью соответствия между данными системы GPS и дорогами, который может рассматриваться как соответствующий наименьшей ошибке. Соответствующий этому выбранному варианту сдвиг может быть применен в отношении коэффициентов RPC спутникового изображения. Действия, которые могут выполняться для определения величины сдвига, подлежащего применению, дополнительно описаны в способе 600 (см. фиг. 6), более подробно рассмотренном ниже.[087] A set of satellite image variants may be generated that correspond to various offsets applied to the RPC coefficients of the satellite image. These options may correspond to different directions and/or magnitudes of shift. For each option, the degree of correspondence between the roads in the satellite image and the GPS data can be calculated. The option with the greatest degree of agreement between the GPS data and the roads can be selected and can be considered as corresponding to the smallest error. A shift corresponding to this selection may be applied to the RPC coefficients of the satellite image. The actions that can be performed to determine the amount of shift to be applied are further described in method 600 (see FIG. 6), discussed in more detail below.

Шаг 530: корректировка пикселов модели DEM.Step 530: Adjusting the pixels of the DEM model.

[088] На шаге 530 может быть скорректирована модель DEM. Модель DEM может быть скорректирована для увеличения степени соответствия между данными системы GPS и дорогами на спутниковом изображении. Значение пиксела для отдельных пикселов модели DEM может быть скорректировано, например, путем увеличения или уменьшения яркости отдельного пиксела.[088] At step 530, the DEM model may be adjusted. The DEM model can be adjusted to increase the degree of agreement between the GPS data and the roads in the satellite image. The pixel value of individual DEM model pixels can be adjusted, for example, by increasing or decreasing the brightness of an individual pixel.

[089] Может быть выбран отдельный пиксел модели DEM. Для отдельного пиксела может быть сформирован набор пикселов-кандидатов. Все спутниковое изображение или его часть может подвергаться ортотрансформации с использованием всей или части модели DEM с примененными предполагаемыми значениями пиксела. Для каждого ортотрансформированного изображения, сформированного с использованием предполагаемого значения пиксела, может быть определена степень соответствия между дорогами на ортотрансформированном спутниковом изображении и данными системы GPS. Может быть выбрано предполагаемое значение пиксела, соответствующее наибольшей степени соответствия. Этот процесс может продолжаться для всех пикселов модели DEM или для подмножества пикселов модели DEM. Например, с использованием этого процесса могут быть скорректированы пикселы модели DEM, находящиеся на дорогах, определенных на шаге 520, или окружающие их, при этом пикселы модели DEM, не окружающие дороги, могут игнорироваться.[089] An individual DEM pixel can be selected. For an individual pixel, a set of candidate pixels can be generated. All or part of the satellite image can be orthorectified using all or part of the DEM model with estimated pixel values applied. For each orthorectified image generated using an estimated pixel value, the degree of correspondence between the roads in the orthorectified satellite image and the GPS data can be determined. The estimated pixel value corresponding to the best match can be selected. This process can continue for all pixels in the DEM model or for a subset of pixels in the DEM model. For example, using this process, DEM pixels located on or surrounding the roads identified in step 520 may be adjusted, while DEM pixels not surrounding roads may be ignored.

[090] Шаги, выполняемые для корректировки модели DEM, описаны в способе 700 (см. фиг. 7) и в способе 800 (см. фиг. 8), более подробно рассмотренных ниже.[090] The steps performed to adjust the DEM model are described in method 700 (see FIG. 7) and method 800 (see FIG. 8), discussed in more detail below.

[091] Каждый пиксел спутникового изображения, определенный на шаге 520 как часть дороги, может сравниваться с зафиксированными данными системы GPS. Может быть идентифицирован набор пикселов, определенных как часть дороги, но не соответствующих зафиксированным данным системы GPS. Для каждого пиксела из набора пикселов, который не соответствует данным системы GPS, значение пиксела для соответствующего пиксела модели DEM и/или значение пиксела для пикселов модели DEM, окружающих соответствующий пиксел, может быть скорректировано так, чтобы пиксел спутникового изображения соответствовал данным системы GPS.[091] Each pixel of the satellite image, identified in step 520 as part of the road, can be compared with captured GPS data. A set of pixels can be identified that are defined as part of the road but do not correspond to recorded GPS data. For each pixel in a set of pixels that does not match the GPS data, the pixel value for the corresponding DEM pixel and/or the pixel value for the DEM pixels surrounding the corresponding pixel can be adjusted so that the satellite image pixel matches the GPS data.

[092] Для корректировки значений пиксела и окружающих его пикселов в модели DEM значения пикселов могут изменяться случайным образом до тех пор, пока пиксел спутникового изображения не будет соответствовать данным системы GPS. Могут быть сформированы различные измененные версии модели DEM. Каждая измененная версия модели DEM может быть использована для ортотрансформации спутникового изображения. На основе измененных версий модели DEM могут быть сформированы коэффициенты RPC для спутникового изображения. Коэффициенты RPC могут использоваться для проверки совмещения пиксела дороги на спутниковом изображении с данным системы GPS. После совмещения пиксела спутникового изображения модель DEM со скорректированными значениями пикселов может быть сохранена.[092] To adjust the values of a pixel and its surrounding pixels in the DEM model, the pixel values may be changed randomly until a pixel in the satellite image matches the GPS data. Various modified versions of the DEM can be generated. Each modified version of the DEM model can be used to orthorectify a satellite image. Based on modified versions of the DEM model, RPC coefficients for satellite imagery can be generated. RPC coefficients can be used to check the alignment of a road pixel in a satellite image with GPS data. Once the satellite image pixel is aligned, the DEM model with the corrected pixel values can be saved.

Шаг 535: формирование скорректированного спутникового изображения.Step 535: formation of a corrected satellite image.

[093] На шаге 535 может быть сформировано скорректированное спутниковое изображение. Скорректированное спутниковое изображение может быть сформировано с использованием скорректированной модели DEM, сформированной на шаге 530. Скорректированная модель DEM может быть использована для ортотрансформации спутникового изображения, зафиксированного на шаге 505. По сравнению с первоначальным спутниковым изображением, зафиксированным на шаге 505, скорректированному спутниковому изображению может соответствовать большая степень соответствия между зафиксированными данными системы GPS и идентифицированными дорогами на спутниковом изображении. На фиг. 4 представлен пример спутникового изображения, скорректированного путем корректировки модели DEM для увеличения степени соответствия между дорогами на спутниковом изображении и данными системы GPS.[093] At step 535, a corrected satellite image may be generated. The corrected satellite image may be generated using the corrected DEM model generated in step 530. The adjusted DEM model may be used to orthorectify the satellite image captured in step 505. Compared to the original satellite image captured in step 505, the corrected satellite image may correspond to high degree of correspondence between recorded GPS data and identified roads in satellite imagery. In fig. Figure 4 shows an example of a satellite image that has been adjusted by adjusting the DEM model to increase the degree of agreement between the roads in the satellite image and the GPS data.

Шаг 540: сохранение скорректированного спутникового изображения.Step 540: Save the corrected satellite image.

[094] На шаге 535 скорректированное спутниковое изображение может быть сохранено. Также могут быть сохранены скорректированная модель DEM, коэффициенты RPC и/или любые другие данные, относящиеся к спутниковому изображению. Скорректированное спутниковое изображение может использоваться для разных целей, например, для навигации самоуправляемого автомобиля или другого транспортного средства.[094] At step 535, the corrected satellite image can be stored. The adjusted DEM model, RPC coefficients and/or any other data related to the satellite image may also be stored. The corrected satellite image can be used for various purposes, such as navigation of a self-driving car or other vehicle.

Способ корректировки спутникового изображения (не имеющий ограничительного характера вариант осуществления)Method for adjusting satellite image (non-limiting embodiment)

[0959] На фиг. 6 представлена блок-схема способа 600 определения сдвига для применения в отношении спутникового изображения согласно некоторым вариантам осуществления настоящей технологии. Согласно одному или нескольким аспектам изобретения, способ 600 либо один или несколько его шагов могут выполняться компьютерной системой, такой как компьютерная система 100. Способ 600 либо один или несколько его шагов могут быть реализованы в виде компьютерных команд, хранящихся на машиночитаемом носителе информации, таком как физическое запоминающее устройство, загружаемых в память и исполняемых процессором CPU. Некоторые представленные на блок-схеме шаги или части шагов могут быль опущены либо может быть изменен их порядок следования.[0959] In FIG. 6 is a flow diagram of an offset determination method 600 for use with satellite imagery in accordance with some embodiments of the present technology. According to one or more aspects of the invention, method 600 or one or more steps thereof may be performed by a computer system, such as computer system 100. Method 600 or one or more steps thereof may be implemented as computer instructions stored on a computer-readable storage medium, such as physical storage device loaded into memory and executed by the CPU. Some steps or parts of steps presented in the flowchart may be omitted or their order may be changed.

Шаг 605: получение спутникового изображения географической области.Step 605: Obtain a satellite image of the geographic area.

[096] На шаге 605 может быть зафиксировано, извлечено, сформировано и/или получено спутниковое изображение географической области. Выполняемые на шаге 605 действия могут быть подобны описанным выше для шага 505 способа 500.[096] At step 605, a satellite image of the geographic area may be captured, retrieved, generated, and/or acquired. The actions performed at step 605 may be similar to those described above for step 505 of method 500.

Шаг 610: получение коэффициентов RPC для спутникового изображения.Step 610: Obtain RPC coefficients for the satellite image.

[097] На шаге 610 могут быть получены, извлечены и/или сформированы коэффициенты RPC для спутникового изображения. Для каждого пиксела спутникового изображения коэффициенты RPC могут указывать на соответствующее физическое местоположение на Земле. Коэффициенты RPC могут использоваться для формирования набора географических координат (например, широты и долготы), соответствующих отдельному пикселу.[097] At step 610, RPC coefficients for the satellite image may be obtained, extracted, and/or generated. For each pixel in a satellite image, the RPC coefficients can indicate a corresponding physical location on Earth. RPC coefficients can be used to generate a set of geographic coordinates (eg, latitude and longitude) corresponding to an individual pixel.

Шаг 615: получение зафиксированных данных системы GPS.Step 615: Receive captured GPS data.

[098] На шаге 615 могут быть получены ранее зафиксированные данные системы GPS. Выполняемые на шаге 615 действия могут быть подобны описанным выше для шага 515 способа 500. Данные системы GPS могут быть зафиксированы ранее устройствами GPS в транспортных средствах, перемещающихся в географической области. Данные системы GPS могут содержать наборы координат, зафиксированных устройствами GPS во время перемещения по дорогам в географической области. Как описано выше для шага 515, в некоторых случаях вместо зафиксированных данных системы GPS или в дополнение к ним могут быть получены данные карты.[098] At step 615, previously recorded GPS data may be obtained. The actions performed at step 615 may be similar to those described above for step 515 of method 500. GPS data may be previously recorded by GPS devices in vehicles moving in the geographic area. GPS data may contain sets of coordinates recorded by GPS devices while driving along roads in a geographic area. As described above at step 515, in some cases map data may be received instead of or in addition to captured GPS data.

Шаг 620: определение дорог на спутниковом изображении.Step 620: Identify roads in satellite image.

[099] На шаге 620 на спутниковом изображении могут быть определены дороги. Могут быть определены пикселы, координаты и/или другие указатели, соответствующие дорогам. Выполняемые на шаге 620 действия могут быть подобны описанным выше для шага 520 способа 500. Для определения пикселов, соответствующих дорогам на спутниковом изображении, может использоваться обученный алгоритм MLA, такой как обученная нейронная сеть. Алгоритм MLA может получать спутниковое изображение в качестве входных данных и выдавать указание на пикселы спутникового изображения, которые предположительно содержат дороги.[099] At step 620, roads may be identified from the satellite image. Pixels, coordinates and/or other markers corresponding to roads may be defined. The actions performed at step 620 may be similar to those described above for step 520 of method 500. A trained MLA algorithm, such as a trained neural network, may be used to determine pixels corresponding to roads in the satellite image. The MLA algorithm can take a satellite image as input and provide an indication of the pixels in the satellite image that are expected to contain roads.

Шаг 625: формирование вариантов спутникового изображения.Step 625: generating satellite image options.

[0100] На шаге 625 могут быть сформированы варианты спутникового изображения. Может быть сформировано любое количество вариантов. Может быть сформировано заранее заданное количество вариантов. Может быть сформирован или получен набор сдвигов, каждый из которых содержит направление сдвига и/или величину сдвига. Сдвиги могут быть представлены в виде вектора. Для каждого сдвига может быть сформирован вариант спутникового изображения путем применения сдвига в отношении спутникового изображения и/или всех коэффициентов RPC спутникового изображения. Например, если получены команды для трех сдвигов, подлежащих применению в отношении спутникового изображения, то могут быть сформированы три варианта спутникового изображения: первый сдвиг применяется в отношении всех коэффициентов RPC спутникового изображения для формирования первого варианта, второй сдвиг применяется в отношении всех коэффициентов RPC для формирования второго варианта и третий сдвиг применяется в отношении всех коэффициентов RPC для формирования третьего варианта.[0100] At step 625, variations of the satellite image may be generated. Any number of options can be generated. A predetermined number of options can be generated. A set of shifts may be generated or received, each of which contains a shift direction and/or a shift amount. Shifts can be represented as a vector. For each offset, a variant of the satellite image can be generated by applying the offset to the satellite image and/or all RPC coefficients of the satellite image. For example, if commands are received for three shifts to be applied to a satellite image, then three versions of the satellite image can be generated: the first shift is applied to all RPC coefficients of the satellite image to form the first version, the second shift is applied to all RPC coefficients to form the second option and the third shift is applied to all RPC coefficients to form the third option.

[0101] При формировании сдвигов может быть использован заранее заданный диапазон, который может содержать максимальную и минимальную величину для сдвига пикселов спутникового изображения по осям X и Y. Например, диапазон может быть от -8 до 8 пикселов для оси X и -8 до 8 пикселов для оси Y.[0101] When generating offsets, a predefined range may be used, which may contain a maximum and minimum value for shifting satellite image pixels along the X and Y axes. For example, the range may be -8 to 8 pixels for the X axis and -8 to 8 pixels for the Y axis.

Шаг 630: расчет соответствия для каждого варианта.Step 630: Calculate the fit for each option.

[0102] На шаге 630 для каждого варианта, сформированного на шаге 625, может быть рассчитана степень соответствия. Могут быть определены пикселы, соответствующие зафиксированным данным системы GPS, полученным на шаге 615. Могут быть определены все пикселы спутникового изображения, соответствующие данным системы GPS. Степень соответствия может указывать на количество пикселов, соответствующих и данным системы GPS, и дорогам на спутниковом изображении, определенным на шаге 620. Степень соответствия может быть определена с использованием пикселов, координат или любого другого формата. Например, пикселы, соответствующие идентифицированным дорогам, могут быть преобразованы с использованием соответствующих коэффициентов RPC в координаты в том же формате, что и зафиксированные данные системы GPS. Когда оба набора данных представлены в формате координат, может быть определена степень соответствия между двумя наборами данных.[0102] At step 630, for each candidate generated at step 625, a degree of match may be calculated. The pixels corresponding to the captured GPS data obtained in step 615 may be determined. All pixels of the satellite image corresponding to the GPS data may be determined. The match rate may indicate the number of pixels corresponding to both the GPS data and the roads in the satellite image determined at step 620. The match rate may be determined using pixels, coordinates, or any other format. For example, pixels corresponding to identified roads can be converted using appropriate RPC coefficients into coordinates in the same format as captured GPS data. When both data sets are presented in coordinate format, the degree of correspondence between the two data sets can be determined.

[0103] Для каждого варианта, сформированного на шаге 625, могут быть сформированы два набора данных. Первый набор данных может содержать пикселы, соответствующие зафиксированным данным системы GPS. Второй набор данных может содержать пикселы, определенные как образующие часть дорог на спутниковом изображении. Оба набора данных могут быть преобразованы в один формат, чтобы можно было определить соответствие между двумя наборами данных.[0103] For each option generated in step 625, two sets of data may be generated. The first set of data may contain pixels corresponding to recorded GPS data. The second set of data may contain pixels identified as forming part of the roads in the satellite image. Both data sets can be converted to the same format so that the correspondence between the two data sets can be determined.

[0104] Набор данных, содержащий зафиксированные данные системы GPS, может содержать данные, полученные на шаге 615. Этот набор данных может быть представлен в формате координат GPS, которые могут содержать широту и долготу. Один и тот же набор данных системы GPS может быть использован с целью определения степени соответствия для всех вариантов.[0104] The data set containing captured GPS data may contain the data obtained in step 615. This data set may be in the format of GPS coordinates, which may include latitude and longitude. The same GPS data set can be used to determine the degree of compliance for all options.

[0105] Набор данных, содержащий идентифицированные дороги, может отличаться для каждого варианта. Для каждого варианта местоположение пикселов дорог, определенных на шаге 620, может быть преобразовано в координаты с использованием коэффициентов RPC для конкретного варианта. Поскольку для каждого варианта может применяться разная величина сдвига, то полученные в результате координаты будут отличаться для каждого варианта. После формирования обоих наборов данных в формате координат может быть определено соответствие между двумя наборами данных для конкретного варианта. Вместо сравнения наборов данных в формате координат зафиксированные данные системы GPS могут быть преобразованы в формат пикселов путем определения всех пикселов спутникового изображения, соответствующих данным системы GPS. Затем соответствие может быть определено путем определения количества пикселов, соответствующих и данным системы GPS, и идентифицированным дорогам.[0105] The dataset containing the identified roads may be different for each option. For each option, the location of the road pixels determined in step 620 may be converted to coordinates using RPC coefficients for the particular option. Since each option may have a different amount of shift applied, the resulting coordinates will be different for each option. Once both data sets are generated in coordinate format, the correspondence between the two data sets for a particular case can be determined. Instead of comparing datasets in coordinate format, captured GPS data can be converted to pixel format by identifying all the pixels in a satellite image that correspond to the GPS data. The match can then be determined by determining the number of pixels that match both the GPS data and the identified roads.

[0106] Такое соответствие для варианта может быть рассчитано путем определения метрики IoU для двух наборов данных, например, путем расчета коэффициента Жаккара для двух наборов данных. Может быть использован любой другой показатель различия двух наборов данных. Соответствие может выдаваться в любом формате, например, в виде числа, указывающего на степень соответствия между двумя наборами данных. Степень соответствия может быть сохранена для каждого варианта.[0106] Such fit for a variant can be calculated by determining the IoU metric for the two data sets, for example, by calculating the Jaccard coefficient for the two data sets. Any other measure of the difference between two data sets can be used. The match can be provided in any format, such as a number indicating the degree of match between two sets of data. The degree of matching can be stored for each option.

Шаг 635: выбор варианта с наибольшим соответствием.Step 635: Select the option with the best match.

[0107] На шаге 635 может быть выбран вариант с наибольшей степенью соответствия. Соответствующие этому варианту коэффициенты RPC могут быть выбраны в качестве коэффициентов RPC для спутникового изображения. Поскольку этот вариант имеет наибольшую степень соответствия, он может рассматриваться как имеющий наименьшую ошибку и/или наиболее точный вариант спутникового изображения. Дороги на спутниковом изображении в выбранном варианте могут находиться ближе всего к фактическому физическому местоположению дорог по сравнению с другими вариантами.[0107] At step 635, the option with the best match may be selected. The RPC coefficients corresponding to this embodiment can be selected as the RPC coefficients for the satellite image. Since this option has the highest degree of agreement, it can be considered to have the least error and/or the most accurate satellite image option. The roads in the satellite image in the selected option may be closest to the actual physical location of the roads compared to other options.

Шаг 640: сохранение скорректированных коэффициентов RPC.Step 640: Save the adjusted RPC coefficients.

[0108] На шаге 640 могут быть сохранены скорректированные коэффициенты RPC и/или скорректированное спутниковое изображение. Скорректированные коэффициенты RPC могут представлять собой коэффициенты RPC выбранного варианта. Скорректированное спутниковое изображение может представлять собой спутниковое изображение, сформированное с использованием коэффициентов RPC выбранного варианта. Может быть сохранено скорректированное спутниковое изображение, в отношении которого применен выбранный сдвиг.[0108] At step 640, the corrected RPC coefficients and/or the corrected satellite image may be stored. The adjusted RPC coefficients may be the RPC coefficients of the selected option. The corrected satellite image may be a satellite image generated using the RPC coefficients of the selected option. A corrected satellite image with the selected offset applied can be saved.

Способ коррекции спутникового изображения (не имеющий ограничительного характера вариант осуществления)Satellite image correction method (non-limiting embodiment)

[0109] На фиг. 7 представлена блок-схема способа 700 коррекции модели DEM спутникового изображения согласно некоторым вариантам осуществления настоящей технологии. Согласно одному или нескольким аспектам изобретения, способ 700 либо один или несколько его шагов могут выполняться компьютерной системой, такой как компьютерная система 100. Способ 700 либо один или несколько его шагов могут быть реализованы в виде компьютерных команд, хранящихся на машиночитаемом носителе информации, таком как физическое запоминающее устройство, загружаемых в память и исполняемых процессором CPU. Некоторые представленные на блок-схеме шаги или части шагов могут быль опущены либо может быть изменен их порядок следования.[0109] In FIG. 7 is a flow diagram of a method 700 for correcting a satellite image DEM according to some embodiments of the present technology. According to one or more aspects of the invention, method 700 or one or more steps thereof may be performed by a computer system, such as computer system 100. Method 700 or one or more steps thereof may be implemented as computer instructions stored on a computer-readable storage medium, such as physical storage device loaded into memory and executed by the CPU. Some steps or parts of steps presented in the flowchart may be omitted or their order may be changed.

Шаг 705: получение спутникового изображения географической области.Step 705: Obtain a satellite image of the geographic area.

[0110] На шаге 705 может быть зафиксировано, извлечено, сформировано и/или получено спутниковое изображение географической области. Выполняемые на шаге 705 действия могут быть подобны описанным выше для шага 505 способа 500. Могут быть получены данные системы GPS, собранные в географической области. Данные системы GPS могут представлять собой координаты, измеренные устройствами GPS, которые перемещаются по дорогам в географической области, такими как устройства GPS, встроенные в транспортные средства или перемещающиеся в транспортных средствах.[0110] At step 705, a satellite image of the geographic area may be captured, retrieved, generated, and/or acquired. The actions performed at step 705 may be similar to those described above for step 505 of method 500. GPS data collected over a geographic area may be obtained. GPS data may be coordinates measured by GPS devices that travel along roads in a geographic area, such as GPS devices built into or carried in vehicles.

Шаг 710: получение модели DEM географической области.Step 710: Obtain a DEM model of the geographic area.

[0111] На шаге 710 может быть зафиксирована, извлечена, сформирована и/или получена модель DEM географической области. Выполняемые на шаге 710 действия могут быть подобны описанным выше для шага 510 способа 500. Модель DEM может быть представлена в виде изображения, состоящего из пикселов. Каждый пиксел может соответствовать физическому местоположению в географической области. Каждый пиксел может иметь значение пиксела, представляющее собой яркость пиксела. Значение пиксела может указывать на высоту физического местоположения, соответствующего этому пикселу. Как описано выше, модель DEM может быть использована для ортотрансформации спутникового изображения.[0111] At step 710, a DEM model of the geographic area may be captured, retrieved, generated, and/or obtained. The actions performed at step 710 may be similar to those described above for step 510 of method 500. The DEM may be represented as an image consisting of pixels. Each pixel may correspond to a physical location in a geographic area. Each pixel can have a pixel value, which is the brightness of the pixel. The value of a pixel may indicate the height of the physical location corresponding to that pixel. As described above, the DEM model can be used to orthorectify a satellite image.

Шаг 715: определение всех пикселов, соответствующих дорогам на спутниковом изображении.Step 715: Determine all pixels corresponding to roads in the satellite image.

[0112] На шаге 715 могут быть определены все пикселы, соответствующие дорогам на спутниковом изображении. Выполняемые на шаге 715 действия могут быть подобны описанным выше для шага 520. В некоторых случаях способ 700 может выполняться после способа 600. В этом случае шаги 705 и 715 могут не выполняться, поскольку подобные шаги выполнялись на шагах 605 и 620 способа 600. Как описано выше для шага 520, пикселы спутникового изображения, соответствующие дорогам, могут определяться с использованием алгоритма MLA, такого как нейронная сеть, обученная определению пикселов дорог на спутниковом изображении. Для каждого пиксела, соответствующего дороге, может быть сохранено местоположение или любой другой указатель.[0112] At step 715, all pixels corresponding to roads in the satellite image can be determined. The actions performed in step 715 may be similar to those described above for step 520. In some cases, method 700 may be performed after method 600. In this case, steps 705 and 715 may not be performed since similar steps were performed in steps 605 and 620 of method 600. As described above for step 520, satellite image pixels corresponding to roads may be determined using an MLA algorithm, such as a neural network trained to identify road pixels in the satellite image. For each pixel corresponding to a road, a location or any other indicator can be stored.

Шаг 720: выбор пиксела в модели DEM.Step 720: Select a pixel in the DEM model.

[0113] На шаге 720 может быть выбран один из пикселов модели DEM. Может быть выбран любой пиксел модели DEM. В некоторых случаях могут быть выбраны пикселы модели DEM, соответствующие дорогам, а также могут быть выбраны пикселы модели DEM, не соответствующие дорогам. Выбор пикселов, соответствующих дорогам, без обработки пикселов, не соответствующих дорогам, может оказаться более эффективным. С целью выбора пикселов, соответствующих дорогам, могут быть выбраны определенные на шаге 715 пикселы модели DEM, соответствующие пикселам дорог на спутниковом изображении. Также могут быть выбраны пикселы, окружающие пикселы дорог. Например, могут быть выбраны все пикселы в пределах заранее заданного расстояния от пиксела дороги. Пикселы модели DEM могут выбираться в любом порядке.[0113] At step 720, one of the DEM model pixels may be selected. Any DEM pixel can be selected. In some cases, DEM pixels that correspond to roads may be selected, and DEM pixels that do not correspond to roads may be selected. Selecting pixels that correspond to roads without processing pixels that do not correspond to roads may be more efficient. For the purpose of selecting pixels corresponding to roads, the DEM model pixels determined in step 715 corresponding to the road pixels in the satellite image may be selected. Pixels surrounding road pixels can also be selected. For example, all pixels within a predetermined distance from a road pixel may be selected. The pixels of the DEM model can be selected in any order.

Шаг 725: формирование предполагаемых значений пиксела.Step 725: Formation of estimated pixel values.

[0114] На шаге 725 для пиксела могут быть сформированы предполагаемые значения пиксела. Предполагаемые значения пиксела могут представлять собой измененные значения пиксела для этого пиксела. Может быть сформирован набор предполагаемых значений пиксела, а затем одно значение пиксела может быть выбрано из набора и назначено для пиксела.[0114] At step 725, estimated pixel values may be generated for the pixel. The estimated pixel values may be modified pixel values for that pixel. A set of candidate pixel values can be generated, and then one pixel value can be selected from the set and assigned to the pixel.

[0115] Для формирования предполагаемых значений пиксела могут использоваться разные способы. Верхняя граница, нижняя граница и/или количество предполагаемых значений пиксела для формирования могут задаваться заранее или определяться динамически. Предполагаемые значения пиксела могут быть расположены с равными интервалами в пределах диапазона на основе заданного количества значений пиксела для формирования. Предполагаемые значения пиксела могут быть сформированы случайным образом в диапазоне между нижней и верхней границей.[0115] Various methods may be used to generate estimated pixel values. The upper bound, lower bound, and/or number of estimated pixel values to generate may be preset or determined dynamically. The estimated pixel values can be spaced at equal intervals within a range based on a given number of pixel values to generate. The estimated pixel values can be generated randomly in the range between the lower and upper bounds.

[0116] Предполагаемые значения пиксела могут быть сформированы на основе значений пикселов, окружающих пиксел. Может быть выбран набор пикселов, окружающих пиксел, выбранный на шаге 720. Например, могут быть выбраны все пикселы в пределах заранее заданного расстояния от этого пиксела. Затем в отношении пикселов, окружающих этот пиксел, может быть применен алгоритм сглаживания с целью определения значения пиксела для этого пиксела. Алгоритм сглаживания может представлять собой алгоритм на основе гауссова размытия и/или алгоритм сглаживания любого другого вида. Алгоритм сглаживания может формировать предполагаемое значение пиксела в виде средневзвешенного значения окружающих пикселов, при этом наибольшие веса назначаются пикселам, наиболее близким к выбранному пикселу.[0116] Estimated pixel values may be generated based on the values of pixels surrounding the pixel. A set of pixels surrounding the pixel selected in step 720 may be selected. For example, all pixels within a predetermined distance from that pixel may be selected. A smoothing algorithm can then be applied to the pixels surrounding that pixel to determine the pixel value for that pixel. The smoothing algorithm may be a Gaussian blur-based algorithm and/or any other type of smoothing algorithm. The smoothing algorithm may generate an estimated pixel value as a weighted average of surrounding pixels, with the largest weights assigned to the pixels closest to the selected pixel.

[0117] Могут применяться различные алгоритмы сглаживания и/или индивидуальные алгоритмы сглаживания с различными параметрами. Множество предполагаемых значений пиксела может быть сформировано с использованием различных алгоритмов сглаживания и/или различных параметров.[0117] Various smoothing algorithms and/or individual smoothing algorithms with different parameters may be used. A plurality of estimated pixel values may be generated using different smoothing algorithms and/or different parameters.

Шаг 730: определение степени соответствия для каждого предполагаемого значения пиксела.Step 730: Determine the degree of match for each estimated pixel value.

[0118] На шаге 730 может быть определена степень соответствия между данными системы GPS и пикселами дорог. Степень соответствия может определяться для всего спутникового изображения или для меньшей зоны, окружающей пиксел. Например, степень соответствия может быть определена для окружающей пиксел зоны размером 256×256 пикселов. Определение степени соответствия для зоны, меньшей всего спутникового изображения, может выполняться быстрее и/или требовать меньше ресурсов, чем определение степени соответствия для всего спутникового изображения.[0118] At step 730, the degree of correspondence between the GPS data and the road pixels may be determined. The degree of correspondence can be determined for the entire satellite image or for a smaller area surrounding the pixel. For example, the degree of correspondence may be determined for an area surrounding a pixel of size 256×256 pixels. Determining the degree of correspondence for the area smaller than the entire satellite image may be faster and/or less resource intensive than determining the degree of correspondence for the entire satellite image.

[0119] Для каждого предполагаемого значения пиксела может быть сформирована модель DEM. Сформированная модель DEM может соответствовать зоне, используемой для определения соответствия. Например, если используется окружающая выбранный пиксел зона размером 256×256 пикселов, то модель DEM также может быть сформирована так, чтобы иметь размер 256×256 пикселов и/или содержать высоты для всех пикселов в зоне размером 256×256 пикселов. Предполагаемое значение пиксела может быть назначено для выбранного пиксела. Затем спутниковое изображение может быть ортотрансформировано с использованием модели DEM, сформированной для предполагаемого значения пиксела.[0119] For each estimated pixel value, a DEM model can be generated. The generated DEM may correspond to the zone used to determine compliance. For example, if a 256x256 pixel region surrounding a selected pixel is used, then the DEM may also be generated to be 256x256 pixels in size and/or contain heights for all pixels in the 256x256 pixel region. An estimated pixel value can be assigned to a selected pixel. The satellite image can then be orthorectified using the DEM model generated for the estimated pixel value.

[0120] После ортотрансформации спутникового изображения с использованием модели DEM могут определяться координаты для каждого определенного на шаге 715 пиксела, соответствующего дорогам на спутниковом изображении. Для преобразования пикселов дорог в координаты могут использоваться коэффициенты RPC спутникового изображения. Может быть определена степень соответствия между этими координатами и зафиксированными координатами GPS. Действия, выполняемые на шаге 730 с целью определения степени соответствия, могут быть подобны описанным выше для шага 630 способа 600.[0120] After orthorectifying the satellite image using the DEM model, coordinates for each pixel identified in step 715 corresponding to roads in the satellite image can be determined. Satellite image RPC coefficients can be used to convert road pixels into coordinates. The degree of correspondence between these coordinates and the recorded GPS coordinates can be determined. The steps taken at step 730 to determine the degree of compliance may be similar to those described above for step 630 of method 600.

Шаг 735: выбор предполагаемого значения пиксела с наибольшим соответствием.Step 735: Select the estimated pixel value with the best match.

[0121] На шаге 735 может быть выбрано предполагаемое значение пиксела с наибольшей степенью соответствия, определенной на шаге 730. Выбранное предполагаемое значение пиксела может быть назначено для этого пиксела. Выбранное значение может заменять первоначальное значение пиксела в модели DEM.[0121] At step 735, a candidate pixel value with the best match determined at step 730 may be selected. The selected candidate pixel value may be assigned to that pixel. The selected value can replace the original pixel value in the DEM model.

Шаг 740: определение наличия пикселов для обработки.Step 740: Determine whether there are pixels for processing.

[0122] На шаге 740 может быть определено, имеются ли еще пикселы для обработки или все пикселы были обработаны на шагах 720-740. Если имеются пикселы для обработки, то способ 700 может перейти к шагу 720, на котором может быть выбран следующий пиксел. В противном случае, если все пикселы были обработаны на шагах 720-735, способ может перейти к шагу 745.[0122] At step 740, it can be determined whether there are more pixels to be processed or whether all pixels were processed in steps 720-740. If there are pixels to process, method 700 may move to step 720, where the next pixel may be selected. Otherwise, if all pixels have been processed in steps 720-735, the method may proceed to step 745.

[0123] Как описано выше, способ 700 позволяет обработать все пикселы модели DEM и/или подмножество пикселов модели DEM на шагах 720-740. В некоторых случаях пикселы модели DEM, совпадающие с пикселами, соответствующими дорогам на спутниковом изображении, могут быть выбраны на шаге 720 и обработаны. Обработка только пикселов, соответствующих дорогам, вместо обработки всех пикселов модели DEM, может оказаться более эффективной.[0123] As described above, method 700 allows all pixels of the DEM model and/or a subset of pixels of the DEM model to be processed in steps 720-740. In some cases, pixels of the DEM that match pixels corresponding to roads in the satellite image may be selected at step 720 and processed. Processing only the pixels corresponding to roads, instead of processing all the pixels of the DEM model, may be more efficient.

Шаг 745: сохранение скорректированной модели DEM.Step 745: Save the adjusted DEM model.

[0124] На шаге 745 скорректированная модель DEM может быть сохранена. Для некоторых или всех пикселов модели DEM, полученной на шаге 710, первоначальные значения пикселов в модели DEM могут быть заменены предполагаемыми значениями пиксела, выбранными на шаге 735. Яркость отдельных пикселов модели DEM может быть скорректирована на основе предполагаемых значений пиксела, выбранных на шаге 735.[0124] At step 745, the adjusted DEM model can be saved. For some or all of the pixels in the DEM model obtained in step 710, the original pixel values in the DEM model may be replaced by the estimated pixel values selected in step 735. The brightness of the individual pixels in the DEM model may be adjusted based on the estimated pixel values selected in step 735.

Шаг 750: формирование скорректированного спутникового изображения.Step 750: formation of a corrected satellite image.

[0125] На шаге 750 спутниковое изображение, полученное на шаге 705, может быть ортотрансформировано с использованием скорректированной модели DEM для формирования скорректированного спутникового изображения. Степень соответствия между данными системы GPS и дорогами на скорректированном спутниковом изображении может быть больше степени соответствия между данными системы GPS и дорогами на первоначальном спутниковом изображении. Скорректированное спутниковое изображение может быть сохранено и использовано для любой подходящей цели, такой как навигация. Скорректированное спутниковое изображение может использоваться для навигации автономным транспортным средством, таким как самоуправляемый автомобиль.[0125] At step 750, the satellite image obtained in step 705 may be orthorectified using the adjusted DEM model to generate a corrected satellite image. The degree of correspondence between the GPS data and the roads in the corrected satellite image may be greater than the degree of correspondence between the GPS data and the roads in the original satellite image. The corrected satellite image can be stored and used for any suitable purpose such as navigation. The corrected satellite image can be used for navigation by an autonomous vehicle such as a self-driving car.

Способ формирования скорректированной модели DEM (не имеющий ограничительного характера вариант осуществления)Method for generating an adjusted DEM model (non-restrictive embodiment)

[0126] На фиг. 8 представлена блок-схема способа 800 для формирования скорректированной модели DEM с использованием алгоритма MLA согласно некоторым вариантам осуществления настоящей технологии. Согласно одному или нескольким аспектам изобретения, способ 800 либо один или несколько его шагов могут выполняться компьютерной системой, такой как компьютерная система 100. Способ 800 либо один или несколько его шагов могут быть реализованы в виде компьютерных команд, хранящихся на машиночитаемом носителе информации, таком как физическое запоминающее устройство, загружаемых в память и исполняемых процессором CPU. Некоторые представленные на блок-схеме шаги или части шагов могут быль опущены либо может быть изменен их порядок следования.[0126] In FIG. 8 is a flow diagram of a method 800 for generating an adjusted DEM model using the MLA algorithm according to some embodiments of the present technology. According to one or more aspects of the invention, method 800 or one or more steps thereof may be performed by a computer system, such as computer system 100. Method 800 or one or more steps thereof may be implemented as computer instructions stored on a computer-readable storage medium, such as physical storage device loaded into memory and executed by the CPU. Some steps or parts of steps presented in the flowchart may be omitted or their order may be changed.

Шаг 805: получение размеченного набора данных.Step 805: Retrieve the labeled dataset.

[0127] На шаге 805 может быть получен размеченный набор данных спутниковых изображений. Этот набор данных может содержать несколько обучающих объектов. Каждый обучающий объект может содержать спутниковое изображение с распознанными дорогами, набор эталонных дорог, соответствующих спутниковому изображению, и метку.[0127] At step 805, a labeled satellite image data set may be obtained. This dataset may contain multiple training objects. Each training object can contain a satellite image with recognized roads, a set of reference roads corresponding to the satellite image, and a label.

[0128] Спутниковое изображение с распознанными дорогами может представлять собой спутниковое изображение географической области, содержащей дороги. Распознанные дороги могут быть распознаны с использованием алгоритма MLA. Выше для шага 520 способа 500 описаны действия, выполняемые для определения дорог на спутниковом изображении. Алгоритм MLA может выдавать набор координат и/или набор пикселов, соответствующих распознанным дорогам на спутниковом изображении. Координаты могут представлять собой координаты по широте и долготе, соответствующие пикселам, определенным как соответствующие дорогам.[0128] The satellite image with recognized roads may be a satellite image of a geographic area containing roads. Recognized roads can be recognized using the MLA algorithm. Above, step 520 of method 500 describes the steps performed to identify roads in a satellite image. The MLA algorithm may produce a set of coordinates and/or a set of pixels corresponding to recognized roads in the satellite image. The coordinates may be latitude and longitude coordinates corresponding to pixels identified as corresponding to roads.

[0129] Набор эталонных дорог может быть сформирован на основе собранных данных системы GPS от транспортных средств, перемещающихся по дорогам. Эталонные дороги могут быть наложены на спутниковое изображение. Эталонные дороги могут быть представлены в любом подходящем формате, таком как набор координат по широте и долготе, соответствующих дорогам. Эталонные дороги могут быть сформированы на основе карты географической области. На карте может отображаться местоположение дорог в географической области.[0129] A set of reference roads may be generated based on collected GPS data from vehicles traveling on the roads. Reference roads can be overlaid on the satellite image. Reference roads may be represented in any suitable format, such as a set of latitude and longitude coordinates corresponding to the roads. Reference roads can be generated based on a map of a geographic area. The map can display the location of roads in a geographic area.

[0130] Метка может указывать на сдвиги пикселов, перемещающие распознанные дороги к эталонным дорогам. Метка может представлять собой набор команд для сдвига пикселов на спутниковом изображении. Каждая команда может содержать ссылку на пиксел или набор пикселов спутникового изображения и сдвиг для применения в отношении пикселов. Сдвиг может быть представлен в виде вектора или в любом другом подходящем формате.[0130] The mark may indicate pixel shifts that move recognized roads toward reference roads. A mark can be a set of commands for shifting pixels in a satellite image. Each command can contain a reference to a pixel or set of pixels in a satellite image and an offset to apply to the pixels. The shift may be represented as a vector or any other suitable format.

Шаг 810: обучение алгоритма MLA.Step 810: Train the MLA algorithm.

[0131] На шаге 810 алгоритм MLA может быть обучен на основе размеченного набора данных. Алгоритм MLA может представлять собой алгоритм MLA любого вида, такой как нейронная сеть, алгоритм MLA на основе деревьев и/или алгоритм MLA любого другого вида, либо сочетание алгоритмов MLA различных видов. Алгоритм MLA может представлять собой сверточную нейронную сеть.[0131] At step 810, the MLA algorithm may be trained based on the labeled data set. The MLA algorithm may be any kind of MLA algorithm, such as a neural network, a tree-based MLA algorithm, and/or any other kind of MLA algorithm, or a combination of different kinds of MLA algorithms. The MLA algorithm can be a convolutional neural network.

[0132] Для обучения алгоритма MLA могут использоваться обучающие объекты. Спутниковое изображение с распознанными дорогами и эталонные дороги из обучающего объекта могут вводиться в алгоритм MLA для его обучения. Алгоритм MLA может выдавать прогнозируемый набор сдвигов пикселов для обучающего объекта. Прогнозируемый набор сдвигов пикселов и сдвиги пикселов из метки обучающего объекта могут вводиться в функцию потерь. Функция потерь может сравнивать сдвиги пикселов из метки с прогнозируемыми сдвигами пикселов. Функция потерь может выдавать показатель различия между прогнозируемыми сдвигами пикселов и сдвигами пикселов из метки. Затем алгоритм MLA может быть скорректирован на основе выходных данных функции потерь. Алгоритм MLA может быть скорректирован с целью минимизации различий между прогнозируемыми сдвигами пикселов и сдвигами пикселов из метки для будущих прогнозов.[0132] Training objects may be used to train the MLA algorithm. Satellite image with recognized roads and reference roads from the training object can be input into the MLA algorithm for its training. The MLA algorithm can produce a predicted set of pixel shifts for the training object. The predicted set of pixel shifts and pixel shifts from the training object label can be fed into the loss function. The loss function can compare the pixel shifts from the label with the predicted pixel shifts. The loss function may provide a measure of the difference between the predicted pixel shifts and the pixel shifts from the label. The MLA algorithm can then be adjusted based on the output of the loss function. The MLA algorithm can be adjusted to minimize the differences between the predicted pixel shifts and the pixel shifts from the label for future predictions.

Шаг 815: сохранение обученного алгоритма MLA.Step 815: Save the trained MLA algorithm.

[0133] На шаге 815 обученный алгоритм MLA может быть сохранен. После обучения алгоритма MLA он может быть сохранен. Часть размеченного набора данных может быть использована в качестве проверочного набора. Проверочный набор не может использоваться для обучения алгоритма MLA. Проверочный набор может быть использован для тестирования алгоритма MLA. Алгоритм MLA может быть использован с целью прогнозирования сдвигов пикселов для каждого обучающего объекта из проверочного набора. Функция потерь может быть использована для расчета различия между прогнозируемыми сдвигами пикселов и сдвигами пикселов из метки для каждого обучающего объекта из проверочного набора. Для обучающих объектов из проверочного набора могут быть рассчитаны средние потери. Обучение алгоритма MLA может прекращаться, когда средние потери становятся меньше порогового значения потерь. Пороговое значение потерь может представлять собой заранее заданное пороговое значение.[0133] At step 815, the trained MLA algorithm may be stored. Once the MLA algorithm has been trained, it can be saved. A portion of the labeled dataset can be used as a validation set. The validation set cannot be used to train the MLA algorithm. The validation set can be used to test the MLA algorithm. The MLA algorithm can be used to predict pixel shifts for each training object in the validation set. A loss function can be used to calculate the difference between the predicted pixel shifts and the pixel shifts from the label for each training object in the validation set. For training objects from the validation set, the average loss can be calculated. The MLA algorithm may stop training when the average loss becomes less than a loss threshold. The loss threshold may be a predetermined threshold value.

Шаг 820: ввод спутникового изображения в алгоритм MLA.Step 820: Input the satellite image into the MLA algorithm.

[0134] На шаге 820 алгоритм MLA может быть использован с целью прогнозирования сдвигов пикселов для спутникового изображения. Шаги 805-815 способа 800 могут называться этапом обучения алгоритма MLA. Шаги 820-830 могут называться этапом использования алгоритма MLA. Спутниковое изображение с распознанными дорогами может вводиться в алгоритм MLA. Эталонные дороги, соответствующие спутниковому изображению, могут вводиться в алгоритм MLA. Эталонные дороги могут быть представлены собранными данными системы GPS от транспортных средств, перемещающихся по дорогам на спутниковом изображении. Спутниковое изображение с распознанными дорогами и эталонные дороги могут быть представлены в том же формате, что и данные обучающих объектов.[0134] At step 820, the MLA algorithm may be used to predict pixel shifts for the satellite image. Steps 805-815 of method 800 may be referred to as the training step of the MLA algorithm. Steps 820-830 may be referred to as the MLA algorithm step. The satellite image with recognized roads can be input into the MLA algorithm. Reference roads corresponding to the satellite image can be input into the MLA algorithm. Reference roads can be represented by collected GPS data from vehicles traveling on roads in a satellite image. The satellite image with recognized roads and reference roads can be presented in the same format as the training object data.

Шаг 825: вывод сдвигов пикселов алгоритмом MLA.Step 825: Output pixel shifts by MLA algorithm.

[0135] На шаге 825 алгоритм MLA может выдавать набор сдвигов пикселов, соответствующих данным, введенным на шаге 820. Сдвиги пикселов могут выдаваться в том же формате, что и метки для точек обучающих данных. Сдвиги пикселов могут представлять собой набор команд, каждая из которых указывает на пиксел или набор пикселов спутникового изображения для сдвига и на сдвиг для применения в отношении этих пикселов.[0135] At step 825, the MLA algorithm may output a set of pixel offsets corresponding to the data input at step 820. The pixel offsets may be output in the same format as the labels for the training data points. Pixel shifts can be a set of commands, each of which specifies a pixel or set of satellite image pixels to shift and a shift to apply to those pixels.

Шаг 830: формирование скорректированной модели DEM на основе сдвигов пикселов.Step 830: Generate an adjusted DEM based on the pixel shifts.

[0136] На шаге 830 скорректированная модель DEM для спутникового изображения может сформироваться на основе сдвигов пикселов. Может быть получена модель DEM, соответствующая спутниковому изображению, введенному в алгоритм MLA. Для модели DEM могут быть определены корректировки на основе сдвигов пикселов. Для расчета корректировок модели DEM могут использоваться коэффициенты RPC каждого пиксела. При этом может скорректироваться яркость отдельных пикселов модели DEM. Скорректированная модель DEM может быть сохранена.[0136] At step 830, an adjusted DEM model for the satellite image may be generated based on the pixel shifts. A DEM model corresponding to the satellite image input into the MLA algorithm can be obtained. Adjustments based on pixel shifts can be defined for the DEM model. The RPC coefficients of each pixel can be used to calculate adjustments to the DEM model. This can adjust the brightness of individual pixels in the DEM model. The adjusted DEM model can be saved.

[0137] Специалистам в данной области техники должно быть понятно, что по меньшей некоторые варианты осуществления настоящей технологии преследуют цель расширения арсенала технических решений определенной технической задачи, а именно, корректировки спутникового изображения на основе собранных данных системы GPS.[0137] Those skilled in the art will appreciate that at least some embodiments of the present technology have the goal of expanding the arsenal of technical solutions to a specific technical problem, namely, adjusting a satellite image based on collected GPS data.

[0138] Очевидно, что не все упомянутые здесь технические эффекты должны присутствовать в каждом варианте реализации настоящей технологии. Например, возможны варианты реализации настоящей технологии, когда пользователь не получает некоторые из этих технических эффектов, или другие варианты реализации, когда пользователь получает другие технические эффекты либо когда технический эффект отсутствует.[0138] Obviously, not all of the technical effects mentioned here need to be present in every embodiment of the present technology. For example, there may be embodiments of the present technology where the user does not receive some of these technical effects, or other implementations where the user receives other technical effects or where there is no technical effect.

[0139] Для специалиста в данной области могут быть понятны возможные изменения и усовершенствования описанных выше вариантов осуществления настоящей технологии. Предшествующее описание приведено лишь в иллюстративных целях, а не для ограничения объема изобретения. Объем охраны настоящей технологии определяется исключительно объемом приложенной формулы изобретения.[0139] Possible changes and improvements to the above-described embodiments of the present technology may be apparent to one skilled in the art. The foregoing description is provided for illustrative purposes only and is not intended to limit the scope of the invention. The scope of protection of this technology is determined solely by the scope of the attached claims.

Claims (66)

1. Способ корректировки цифровой модели высот, включающий в себя:1. A method for adjusting a digital elevation model, including: - получение спутникового изображения, содержащего одну или несколько дорог, и цифровой модели высот (DEM), содержащей высоту каждого пиксела спутникового изображения;- obtaining a satellite image containing one or more roads, and a digital elevation model (DEM) containing the height of each pixel of the satellite image; - получение зафиксированных данных системы глобального позиционирования (GPS), соответствующих одной или нескольким дорогам;- obtaining recorded global positioning system (GPS) data corresponding to one or more roads; - определение пиксела на спутниковом изображении, соответствующего одной или нескольким дорогам;- determination of a pixel on a satellite image corresponding to one or more roads; - определение соответствия местоположения пиксела на спутниковом изображении данным системы GPS;- determining the correspondence of the location of a pixel on a satellite image to GPS system data; - определение набора пикселов модели DEM, окружающих пиксел на спутниковом изображении, если определено, что местоположение пиксела на спутниковом изображении не соответствует данным системы GPS; и- determining a set of DEM model pixels surrounding a pixel on a satellite image, if it is determined that the location of a pixel on a satellite image does not correspond to GPS data; And - корректировку высоты каждого пиксела из набора пикселов модели DEM таким образом, чтобы местоположение пиксела на спутниковом изображении соответствовало одной или нескольким дорогам. - adjusting the height of each pixel from the set of pixels of the DEM model so that the location of the pixel on the satellite image corresponds to one or more roads. 2. Способ по п. 1, отличающийся тем, что корректировка высоты каждого пиксела включает в себя:2. The method according to claim 1, characterized in that adjusting the height of each pixel includes: - выбор случайным образом высоты для каждого пиксела из набора пикселов;- randomly selecting a height for each pixel from a set of pixels; - применение выбранных случайным образом высот в отношении модели DEM;- applying randomly selected heights to the DEM model; - после применения выбранных случайным образом высот в отношении модели DEM определение соответствия местоположения пиксела на спутниковом изображении одной или нескольким дорогам; и- after applying randomly selected heights to the DEM model, determining whether a pixel location on a satellite image corresponds to one or more roads; And - сохранение выбранных случайным образом высот в модели DEM, если определено, что местоположение пиксела на спутниковом изображении соответствует одной или нескольким дорогам.- storing randomly selected heights in the DEM model if it is determined that the location of a pixel on a satellite image corresponds to one or more roads. 3. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя: 3. The method according to claim 1, characterized in that it additionally includes: - определение второго набора пикселов, соответствующего дорогам на спутниковом изображении; и- determination of the second set of pixels corresponding to the roads on the satellite image; And - выбор пиксела на спутниковом изображении из второго набора пикселов, соответствующего дорогам на спутниковом изображении.- selecting a pixel on the satellite image from the second set of pixels corresponding to the roads on the satellite image. 4. Способ по п. 3, отличающийся тем, что определение второго набора пикселов, соответствующего дорогам на спутниковом изображении, включает в себя: 4. The method according to claim 3, characterized in that the determination of the second set of pixels corresponding to the roads on the satellite image includes: - ввод спутникового изображения в обученный алгоритм машинного обучения (MLA); и- input of satellite image into the trained machine learning algorithm (MLA); And - выдачу алгоритмом MLA второго набора пикселов, соответствующего дорогам на спутниковом изображении.- output by the MLA algorithm of the second set of pixels corresponding to the roads on the satellite image. 5. Способ по п. 4, отличающийся тем, что обученный алгоритм MLA обучен с использованием набора спутниковых изображений, каждое из которых содержит метку, указывающую на то, какие пикселы спутникового изображения соответствуют дорогам на спутниковом изображении.5. The method of claim 4, wherein the trained MLA algorithm is trained using a set of satellite images, each of which contains a label indicating which pixels of the satellite image correspond to roads in the satellite image. 6. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя определение коэффициента рационального многочлена (RPC), соответствующего пикселу на спутниковом изображении.6. The method according to claim 1, characterized in that it further includes determining a rational polynomial coefficient (RPC) corresponding to a pixel in the satellite image. 7. Способ по п. 6, отличающийся тем, что определение соответствия местоположения пиксела на спутниковом изображении данным системы GPS включает в себя: 7. The method according to claim 6, characterized in that determining the correspondence of the location of a pixel on a satellite image to GPS system data includes: - определение на основе коэффициента RPC координаты GPS, соответствующей пикселу на спутниковом изображении; и- determination, based on the RPC coefficient, of the GPS coordinate corresponding to the pixel on the satellite image; And - сравнение координаты GPS пиксела на спутниковом изображении с данными системы GPS для определения соответствия между координатой GPS и дорогой.- comparison of the GPS coordinate of a pixel on a satellite image with GPS system data to determine the correspondence between the GPS coordinate and the road. 8. Способ по п. 7, отличающийся тем, что корректировка высоты каждого пиксела включает в себя:8. The method according to claim 7, characterized in that adjusting the height of each pixel includes: - выбор случайным образом высоты для каждого пиксела из набора пикселов;- randomly selecting a height for each pixel from a set of pixels; - применение выбранных случайным образом высот в отношении модели DEM;- applying randomly selected heights to the DEM model; - определение второго коэффициента RPC, соответствующего пикселу на спутниковом изображении;- determining the second RPC coefficient corresponding to the pixel on the satellite image; - определение на основе второго коэффициента RPC второй координаты GPS, соответствующей пикселу на спутниковом изображении;- determining, based on the second RPC coefficient, a second GPS coordinate corresponding to a pixel on the satellite image; - сравнение второй координаты GPS пиксела на спутниковом изображении с данными системы GPS для определения соответствия между второй координатой GPS и дорогой; и- comparing the second GPS coordinate of a pixel on the satellite image with GPS system data to determine the correspondence between the second GPS coordinate and the road; And - сохранение выбранных случайным образом высот в модели DEM, если определено, что вторая координата GPS соответствует дороге.- saving randomly selected heights in the DEM model if it is determined that the second GPS coordinate corresponds to a road. 9. Способ по п. 1, отличающийся тем, что зафиксированные данные системы GPS содержат координаты GPS, зафиксированные множеством электронных устройств, перемещающихся по одной или нескольким дорогам.9. The method according to claim 1, characterized in that the recorded GPS data contains GPS coordinates recorded by a plurality of electronic devices moving along one or more roads. 10. Способ по п. 9, отличающийся тем, что множество электронных устройств связано с транспортными средствами, перемещающимися по одной или нескольким дорогам.10. The method according to claim 9, characterized in that the plurality of electronic devices are connected to vehicles traveling on one or more roads. 11. Способ по п. 1, отличающийся тем, что зафиксированные данные системы GPS формируются путем: 11. The method according to claim 1, characterized in that the recorded data of the GPS system is generated by: - получения координат GPS, зафиксированных множеством транспортных средств, перемещающихся по одной или нескольким дорогам; и- obtaining GPS coordinates recorded by multiple vehicles moving along one or more roads; And - исключения резко выделяющихся значений из координат GPS.- exclusion of outliers from GPS coordinates. 12. Способ корректировки цифровой модели высот, включающий в себя:12. A method for adjusting a digital elevation model, including: - получение спутникового изображения, содержащего одну или несколько дорог, и модели DEM, содержащей высоту каждого пиксела спутникового изображения;- obtaining a satellite image containing one or more roads, and a DEM model containing the height of each pixel of the satellite image; - получение зафиксированных данных системы GPS, соответствующих одной или нескольким дорогам;- obtaining recorded GPS data corresponding to one or more roads; - определение на основе данных системы GPS сдвига для применения в отношении спутникового изображения;- determination, based on GPS data, of an offset for application to satellite imagery; - выбор пиксела в модели DEM;- pixel selection in the DEM model; - определение на основе пикселов, окружающих выбранный пиксел, множества предполагаемых значений пиксела для этого пиксела;- determining, based on the pixels surrounding the selected pixel, a set of estimated pixel values for that pixel; - определение величины ошибки для каждого предполагаемого значения пиксела из множества предполагаемых значений пиксела;- determining the magnitude of the error for each estimated pixel value from a plurality of estimated pixel values; - выбор предполагаемого значения пиксела с наименьшей величиной ошибки из множества предполагаемых значений пиксела; и- selecting an estimated pixel value with the smallest error value from a set of estimated pixel values; And - формирование на основе выбранного предполагаемого значения пиксела скорректированной модели DEM.- formation of an adjusted DEM model based on the selected estimated pixel value. 13. Способ по п. 12, отличающийся тем, что он дополнительно включает в себя формирование скорректированного спутникового изображения на основе скорректированной модели DEM.13. The method according to claim 12, characterized in that it further includes generating an adjusted satellite image based on the adjusted DEM model. 14. Способ по п. 12, отличающийся тем, что он дополнительно включает в себя получение коэффициентов RPC, соответствующих спутниковому изображению, при этом определение сдвига для применения в отношении спутникового изображения включает в себя:14. The method of claim 12, further comprising deriving RPC coefficients corresponding to the satellite image, wherein determining an offset for use with respect to the satellite image comprises: - формирование множества вариантов коэффициентов RPC;- formation of many options for RPC coefficients; - определение для каждого варианта из множества вариантов величины ошибки на основе данных системы GPS;- determination of the error value for each option from a variety of options based on GPS system data; - выбор соответствующего сдвигу варианта с наименьшей величиной ошибки из множества вариантов; и- selection of the shift-corresponding option with the smallest error from a variety of options; And - применение этого сдвига в отношении коэффициентов RPC.- applying this shift to the RPC coefficients. 15. Способ по п. 12, отличающийся тем, что определение множества предполагаемых значений пиксела включает в себя применение алгоритма сглаживания в отношении пиксела и окружающих его пикселов.15. The method of claim 12, wherein determining the plurality of estimated pixel values includes applying a smoothing algorithm to the pixel and its surrounding pixels. 16. Способ по п. 12, отличающийся тем, что определение величины ошибки включает в себя определение указания на соответствие между одной или несколькими дорогами и данными системы GPS.16. The method of claim 12, wherein determining the amount of error includes determining an indication of a correspondence between one or more roads and GPS system data. 17. Способ корректировки цифровой модели высот, включающий в себя:17. A method for adjusting a digital elevation model, including: - получение спутникового изображения, содержащего одну или несколько дорог, и модели DEM, содержащей высоту каждого пиксела спутникового изображения;- obtaining a satellite image containing one or more roads, and a DEM model containing the height of each pixel of the satellite image; - получение зафиксированных данных системы GPS, соответствующих одной или нескольким дорогам;- obtaining recorded GPS data corresponding to one or more roads; - выбор пиксела в модели DEM;- pixel selection in the DEM model; - формирование множества предполагаемых значений пиксела для выбранного пиксела;- generating a set of estimated pixel values for the selected pixel; - определение величины ошибки для каждого предполагаемого значения пиксела из множества предполагаемых значений пиксела;- determining the magnitude of the error for each estimated pixel value from a plurality of estimated pixel values; - выбор предполагаемого значения пиксела с наименьшей величиной ошибки из множества предполагаемых значений пиксела; и- selecting an estimated pixel value with the smallest error value from a set of estimated pixel values; And - формирование на основе выбранного предполагаемого значения пиксела скорректированной модели DEM.- formation of an adjusted DEM model based on the selected estimated pixel value. 18. Способ по п. 17, отличающийся тем, что определение величины ошибки для соответствующего предполагаемого значения пиксела включает в себя:18. The method according to claim 17, characterized in that determining the error value for the corresponding estimated pixel value includes: - определение набора пикселов, окружающих пиксел;- determination of the set of pixels surrounding the pixel; - определение для набора пикселов степени соответствия между данными системы GPS и набором пикселов; и- determining for a set of pixels the degree of correspondence between the GPS system data and the set of pixels; And - определение величины ошибки для соответствующего предполагаемого значения пиксела на основе степени соответствия.- determining the magnitude of the error for the corresponding estimated pixel value based on the degree of correspondence. 19. Способ по п. 17, отличающийся тем, что каждое предполагаемое значение пиксела находится в заранее заданном диапазоне значений пиксела.19. The method of claim 17, wherein each estimated pixel value is within a predetermined range of pixel values. 20. Способ по п. 17, отличающийся тем, что он дополнительно включает в себя формирование скорректированного спутникового изображения на основе скорректированной модели DEM.20. The method of claim 17, further comprising generating an adjusted satellite image based on the adjusted DEM model.
RU2021130268A 2021-10-18 2021-10-18 Method of correcting digital elevation model (embodiments) RU2818049C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/082,078 US12394029B2 (en) 2021-10-18 2022-12-15 Method and system for adjusting a digital elevation model

Publications (2)

Publication Number Publication Date
RU2021130268A RU2021130268A (en) 2023-06-30
RU2818049C2 true RU2818049C2 (en) 2024-04-23

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1058234A (en) * 1910-07-08 1913-04-08 Harry F Hamilton Device for cleaning teeth.
CN103218783A (en) * 2013-04-17 2013-07-24 国家测绘地理信息局卫星测绘应用中心 Fast geometric correction method for satellite remote sensing image and based on control point image database
RU2571871C2 (en) * 2012-12-06 2015-12-27 Александр ГУРЕВИЧ Method of determining road boundaries, shape and position of objects on road, and device therefor
US20200302250A1 (en) * 2019-03-22 2020-09-24 Nvidia Corporation Iterative spatial graph generation
KR20210095479A (en) * 2020-01-23 2021-08-02 한국전자통신연구원 Apparatus for Processing Satellite Image and the Method for extracting Ground Control Point

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1058234A (en) * 1910-07-08 1913-04-08 Harry F Hamilton Device for cleaning teeth.
RU2571871C2 (en) * 2012-12-06 2015-12-27 Александр ГУРЕВИЧ Method of determining road boundaries, shape and position of objects on road, and device therefor
CN103218783A (en) * 2013-04-17 2013-07-24 国家测绘地理信息局卫星测绘应用中心 Fast geometric correction method for satellite remote sensing image and based on control point image database
US20200302250A1 (en) * 2019-03-22 2020-09-24 Nvidia Corporation Iterative spatial graph generation
KR20210095479A (en) * 2020-01-23 2021-08-02 한국전자통신연구원 Apparatus for Processing Satellite Image and the Method for extracting Ground Control Point

Similar Documents

Publication Publication Date Title
KR102126724B1 (en) Method and apparatus for restoring point cloud data
JP6812404B2 (en) Methods, devices, computer-readable storage media, and computer programs for fusing point cloud data
US12394029B2 (en) Method and system for adjusting a digital elevation model
US10970541B2 (en) Geo-registering an aerial image by an object detection model using machine learning
CN111461981B (en) Error estimation method and device for point cloud stitching algorithm
JP7343054B2 (en) Location estimation method, location estimation device, and location estimation program
CN102084398A (en) Registration of street-level imagery to 3D building models
US11551411B2 (en) Data processor, data processing method, and data processing program for determining correspondence relationships between laser scanning point clouds
US10089417B2 (en) Structure determination in a geographic area
CN111353453B (en) Obstacle detection method and device for vehicle
EP4042108B1 (en) Methods and systems using digital map data
CN112739983B (en) Method and related device for correcting point cloud data
CN113593026A (en) Lane line marking auxiliary map generation method and device and computer equipment
CN111127584A (en) Method and device for establishing visual map, electronic equipment and storage medium
US20140286537A1 (en) Measurement device, measurement method, and computer program product
CN113758492A (en) Map detection method and device
US20230281975A1 (en) Systems and methods for generating three-dimensional annotations for training a machine learning model
JP7483133B2 (en) Information processing device and information processing method
KR20240098865A (en) Method for trajectory correction for 3D map creation, and computer program recorded on record-medium for executing method therefor
RU2818049C2 (en) Method of correcting digital elevation model (embodiments)
US20250014209A1 (en) Image processing method and apparatus, and electronic device, storage medium, computer program and computer program product
CN116805410A (en) Three-dimensional target detection method and system and electronic equipment
JP2019138751A (en) Map complementing device and map complementing program
JP2020041950A (en) Surveying device, surveying method, and program
CN110148205A (en) A kind of method and apparatus of the three-dimensional reconstruction based on crowdsourcing image