RU2763215C2 - Methods and systems for forming training data for a neural network - Google Patents
Methods and systems for forming training data for a neural network Download PDFInfo
- Publication number
- RU2763215C2 RU2763215C2 RU2020113268A RU2020113268A RU2763215C2 RU 2763215 C2 RU2763215 C2 RU 2763215C2 RU 2020113268 A RU2020113268 A RU 2020113268A RU 2020113268 A RU2020113268 A RU 2020113268A RU 2763215 C2 RU2763215 C2 RU 2763215C2
- Authority
- RU
- Russia
- Prior art keywords
- digital image
- odnn
- detection
- human
- network
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
Description
Область техники, к которой относится изобретениеThe field of technology to which the invention belongs
[1] Настоящая технология относится к компьютерным способам и системам машинного обучения, в частности, к способам и системам формирования обучающих данных для нейронной сети.[1] The present technology relates to computer methods and machine learning systems, in particular, to methods and systems for generating training data for a neural network.
Уровень техникиState of the art
[2] В известных решениях предложены и реализованы компьютерные навигационные системы, способствующие навигации и/или управлению транспортным средством. Известны различные системы такого рода: от простых решений, основанных на определении местоположения на карте и использующих компьютерную систему для помощи водителю в навигации на маршруте от пункта отправления до пункта назначения, до более сложных решений, таких как компьютеризированные и/или автономные системы вождения. [2] In the known solutions proposed and implemented computer navigation systems that facilitate navigation and/or control of the vehicle. Various systems of this kind are known, ranging from simple map-based location solutions using a computer system to assist the driver in navigating a route from origin to destination, to more complex solutions such as computerized and/or autonomous driving systems.
[3] Некоторые из этих систем реализованы в виде широко известной системы круиз-контроля. В этом случае компьютерная система, установленная на транспортном средстве, поддерживает заданную пользователем скорость движения транспортного средства. Некоторые системы круиз-контроля реализуют систему интеллектуального управления дистанцией, позволяя пользователю задавать расстояние до идущего впереди автомобиля (например, выбирать значение, выраженное в количестве транспортных средств). В дальнейшем компьютерная система регулирует скорость транспортного средства, по меньшей мере частично, в зависимости от его приближения к впереди идущему транспортному средству на заранее заданное расстояние. Некоторые из систем круиз-контроля дополнительно оснащены системами предупреждения столкновений, которые при обнаружении транспортного средства (или другого препятствия) перед движущимся транспортным средством замедляют или останавливают его. [3] Some of these systems are implemented in the well-known cruise control system. In this case, the computer system installed on the vehicle maintains the vehicle speed set by the user. Some cruise control systems implement an intelligent distance control system, allowing the user to set the distance to the vehicle in front (for example, select a value expressed in terms of the number of vehicles). The computer system then controls the speed of the vehicle, at least in part, depending on its approach to the vehicle ahead by a predetermined distance. Some of the cruise control systems are additionally equipped with collision avoidance systems that, when a vehicle (or other obstacle) is detected in front of a moving vehicle, will slow or stop it.
[4] Некоторые из наиболее передовых систем обеспечивают полностью автономное движение транспортного средства без непосредственного участия оператора (т.е. водителя) в управлении. Такие автономно управляемые транспортные средства содержат компьютерные системы, способные ускорять, замедлять, останавливать, перестраивать в другой ряд и самостоятельно парковать транспортное средство. [4] Some of the most advanced systems provide fully autonomous vehicle movement without the direct involvement of the operator (i.e. driver) in control. Such autonomously driven vehicles contain computer systems capable of accelerating, decelerating, stopping, changing lanes, and self-parking the vehicle.
[5] Одна из основных технических проблем, возникающих при реализации вышеупомянутых компьютерных систем, заключается в способности компьютерной системы обнаруживать объекты вокруг транспортного средства. Например, компьютерным системам требуется способность обнаруживать другое транспортное средство впереди транспортного средства с установленной компьютерной системой, которое может представлять опасность для этого транспортного средства и требовать принятия компьютерной системой упреждающих мер, таких как торможение или иное изменение скорости, остановка или перестроение в другой ряд.[5] One of the main technical problems encountered in the implementation of the above computer systems is the ability of the computer system to detect objects around the vehicle. For example, computer systems require the ability to detect another vehicle in front of a vehicle with a computer system installed that could pose a risk to that vehicle and require the computer system to take proactive action, such as braking or otherwise changing speed, stopping, or changing lanes.
[6] В частности, проблема обнаружения объекта заключается не только в двоичном обнаружении (наличие или отсутствие объекта), но и в определении его скорости, а также в точности, связанной с таким анализом и обнаружением (особенно в предотвращении ложноотрицательных результатов, когда система не обнаруживает объект, в действительности присутствующий впереди транспортного средства или рядом с ним). [6] In particular, the problem of object detection is not only in binary detection (the presence or absence of an object), but also in determining its speed, as well as in the accuracy associated with such analysis and detection (especially in preventing false negatives when the system is not detects an object actually present in front of or near the vehicle).
[7] Важность этой проблемы иллюстрируется следующим гипотетическим сценарием. Можно предположить, что самоуправляемое или частично автономное транспортное средство движется по маршруту. Ребенок (или взрослый или домашнее животное и т.д.) бежит перед транспортным средством. От управляющей транспортным средством компьютерной системы требуется быстро обнаружить наличие объекта и выполнить корректирующие действия, чтобы избежать столкновения. Разумеется, что чем быстрее компьютерная система обнаруживает наличие объекта, тем больше времени она имеет для определения корректирующего действия и выдачи команды транспортному средству на выполнение этого корректирующего действия. [7] The importance of this problem is illustrated by the following hypothetical scenario. It can be assumed that a self-driving or partially autonomous vehicle is moving along the route. A child (or adult or pet, etc.) is running in front of the vehicle. The computer system controlling the vehicle is required to quickly detect the presence of an object and take corrective action to avoid a collision. Of course, the faster the computer system detects the presence of an object, the more time it has to determine corrective action and instruct the vehicle to take that corrective action.
[8] Следует также отметить, что компьютерная система, управляющая транспортным средством, также должна точно определять границы объекта. Разумеется, что границы объектов, например, полос движения, должны быть точно определены, чтобы определять расположение транспортного средства по отношению к полосам движения и при необходимости выполнять корректирующие действия. Другими словами, задача обнаружения объектов заключается не только в классификации объектов (например, автомобиль, человек, дерево и т.д.), но и в локализации этих объектов. [8] It should also be noted that the computer system that controls the vehicle must also accurately determine the boundaries of the object. Of course, the boundaries of objects, such as traffic lanes, must be precisely defined in order to determine the location of the vehicle in relation to the traffic lanes and, if necessary, take corrective actions. In other words, the task of object detection is not only the classification of objects (for example, a car, a person, a tree, etc.), but also the localization of these objects.
Раскрытие изобретенияDisclosure of invention
[9] Разработчики настоящей технологии обнаружили, что известным решениям для обнаружения объектов присущи недостатки. В частности, известные технологии могут несогласованно локализовывать объекты при их обнаружении. Например, расположение объекта на одном изображении и расположение этого же объекта на практически аналогичном изображении могут оказываться несогласованными. [9] Developers of the present technology have found that prior art object detection solutions have disadvantages. In particular, known technologies may inconsistently localize objects when they are detected. For example, the location of an object in one image and the location of the same object in an almost identical image may be inconsistent.
[10] Разработчики настоящей технологии обнаружили, что существенные отличия при прогнозировании расположения объекта на практически одинаковых изображениях представляют определенную проблему и это может указывать на неправильное обучение алгоритма машинного обучения, используемого для прогнозирования. В случае, когда обнаружение объекта используется для управления траекторией транспортного средства, неодинаковая локализация объектов может представлять опасность, поскольку управление транспортным средством при этом может выполняться, исходя из смещенного расположения обнаруживаемого объекта.[10] The developers of the present technology have found that significant differences in predicting the location of an object in almost identical images present a certain problem, and this may indicate incorrect training of the machine learning algorithm used for prediction. In the case where object detection is used to control the trajectory of a vehicle, the unequal localization of objects can be dangerous, since the vehicle can be controlled based on the displaced location of the detected object.
[11] Поэтому разработчики настоящей технологии разработали способы и компьютерные устройства для повторного обучения нейронных сетей обнаружения объектов (ODNN, Object Detecting Neural Networks), чтобы они могли локализовать объекты на изображениях более согласованным образом, т.е. сеть ODNN можно повторно обучать, чтобы для похожих изображений объекта определялись близкие места расположения этого объекта на похожих изображениях.[11] Therefore, the developers of the present technology have developed methods and computer devices for retraining Object Detecting Neural Networks (ODNNs) so that they can localize objects in images in a more consistent manner, i.e. the ODNN network can be retrained so that for similar images of an object, close locations of this object in similar images are determined.
[12] В некоторых вариантах осуществления настоящей технологии разработчиками предусмотрена возможность формирования с помощью компьютерного устройства набора данных для повторного обучения сети ODNN на основе цифрового сигнала датчика, такого как камера, фиксирующего изображения зоны вокруг движущегося транспортного средства, на котором установлен этот датчик. Другими словами, разработчиками настоящей технологии предусмотрено, что во время движения транспортного средства датчик может фиксировать цифровой сигнал и на основе этого цифрового сигнала компьютерное устройство может формировать набор данных для повторного обучения сети ODNN, позволяющий более согласованно локализовать объекты на изображениях.[12] In some embodiments of the present technology, developers provide the ability to generate, using a computer device, a data set for retraining an ODNN network based on a digital signal from a sensor, such as a camera, that captures images of the area around a moving vehicle on which this sensor is installed. In other words, the developers of this technology provide that the sensor can capture a digital signal while the vehicle is moving, and based on this digital signal, the computer device can form a data set for retraining the ODNN network, which allows more consistent localization of objects in images.
[13] Кроме того, разработчиками настоящей технологии предусмотрено, что компьютерное устройство может определять зоны несогласованного обнаружения на маршруте движения транспортного средства. Например, компьютерное устройство может определять и отслеживать географические места, в которых локализация объектов по изображениям, полученным для этих географических мест, была несогласованной. [13] In addition, the developers of the present technology provide that the computer device can determine the zones of inconsistent detection on the route of the vehicle. For example, the computing device may identify and track geographic locations where object localization from images acquired for those geographic locations was inconsistent.
[14] Другими словами, не имеющие ограничительного характера примеры настоящей технологии направлены на формирование набора данных для повторного обучения, сфокусированного на выборках, для которых сеть ODNN давала несогласованный прогноз на основе двух изображений с по существу аналогичными признаками (т.е. двух изображений, смежных друг с другом во времени и пространстве). Таким образом, не имеющие ограничительного характера варианты осуществления настоящей технологии позволяют формировать такой набор данных для повторного обучения, который фокусирует сеть ODNN на «плохо поддающихся обучению» областях, т.е. на областях, где сеть ODNN имеет тенденцию давать ошибочный прогноз.[14] In other words, non-limiting examples of the present technology aim to generate a retraining dataset focused on samples for which the ODNN made an inconsistent prediction based on two images with substantially similar features (i.e., two images, adjacent to each other in time and space). Thus, non-limiting embodiments of the present technology allow a retraining dataset to be generated that focuses the ODNN on "hard to train" areas, i. on areas where the ODNN tends to mispredict.
[15] Следует отметить, что в некоторых вариантах осуществления настоящей технологии компьютерное устройство может использовать сеть ODNN для обнаружения объектов. Также следует отметить, что это компьютерное устройство может использовать данные, выдаваемые сетью ODNN, для управления транспортным средством. Например, транспортное средство может быть полуавтономным или полностью автономным транспортным средством, управляемым компьютерным устройством, по меньшей мере частично, на основе данных, выдаваемых сетью ODNN.[15] It should be noted that in some embodiments of the present technology, a computing device may use an ODNN for object detection. It should also be noted that this computing device can use the data provided by the ODNN network to control the vehicle. For example, the vehicle may be a semi-autonomous or fully autonomous vehicle controlled by a computing device at least in part based on data provided by the ODNN.
[16] Кроме того, предполагается, что компьютерное устройство может управлять таким транспортным средством, по меньшей мере частично, на основе данных, выдаваемых сетью ODNN, без вмешательства человека. Компьютерное устройство может управлять транспортным средством на основе данных, по меньшей мере частично, выдаваемых сетью ODNN, и не требовать анализа человеком данных, выдаваемых сетью ODNN. Компьютерное устройство может управлять транспортным средством на основе данных, по меньшей мере частично, выдаваемых сетью ODNN, и не требовать принятия решения человеком на основе данных, выдаваемых сетью ODNN. Компьютерное устройство может управлять транспортным средством на основе данных, по меньшей мере частично, выдаваемых сетью ODNN, и не требовать управления транспортным средством человеком. Компьютерное устройство может управлять транспортным средством на основе прогнозов, по меньшей мере частично, сделанных сетью ODNN, и не требовать принятия решения человеком на основе этих прогнозов для управления транспортным средством.[16] In addition, it is contemplated that a computer device can control such a vehicle, at least in part, based on data provided by the ODNN, without human intervention. The computer device may control the vehicle based at least in part on data provided by the ODNN and not require human analysis of the data provided by the ODNN. The computer device may control the vehicle based at least in part on data provided by the ODNN and not require a human decision to be made based on the data provided by the ODNN. The computer device may control the vehicle based at least in part on data provided by the ODNN and not require human control of the vehicle. The computer device may steer the vehicle based at least in part on predictions made by the ODNN and not require a human decision based on those predictions to steer the vehicle.
[17] В соответствии с первым аспектом настоящей технологии реализован способ формирования набора данных для повторного обучения сети ODNN. Сеть ODNN обучена обнаруживать объекты в цифровом сигнале, фиксируемом движущимся транспортным средством, путем определения части цифрового изображения, соответствующей этим объектам. Способ может выполняться компьютерным устройством. Способ включает в себя ввод в сеть ODNN первого цифрового изображения. Первое цифровое изображение представляет собой цифровой сигнал в первый момент времени. Сеть ODNN способна обнаруживать объект на первом цифровом изображении путем определения первой части первого цифрового изображения, соответствующей этому объекту. Способ включает в себя ввод в сеть ODNN второго цифрового изображения. Второе цифровое изображение представляет собой цифровой сигнал во второй момент времени после первого момента времени. Сеть ODNN способна обнаруживать объект на втором цифровом изображении путем определения второй части второго цифрового изображения, соответствующей этому объекту. Способ включает в себя сравнение первой части первого цифрового изображения со второй частью второго цифрового изображения для определения степени подобия обнаружения этого объекта. Степень подобия обнаружения указывает на степень схожести прогнозов при обнаружении этого объекта, выполняемых сетью ODNN в первый момент времени и во второй момент времени. При уменьшении степени подобия обнаружения ниже заранее заданного порогового значения способ включает в себя использование по меньшей мере одного из первого цифрового изображения и второго цифрового изображения для получения оцененной человеком метки, указывающей на действительную часть по меньшей мере одного из первого цифрового изображения и второго цифрового изображения, занятую этим объектом на соответствующем одном из первого цифрового изображения и второго цифрового изображения. Способ включает в себя повторное обучение сети ODNN на основе по меньшей мере одного из первого цифрового изображения и второго цифрового изображения и оцененной человеком метки.[17] In accordance with the first aspect of the present technology, a method for generating a dataset for retraining an ODNN network is implemented. The ODNN is trained to detect objects in a digital signal captured by a moving vehicle by determining the part of the digital image corresponding to these objects. The method may be performed by a computer device. The method includes inputting a first digital image into the ODNN. The first digital image is the digital signal at the first time. The ODNN is capable of detecting an object in the first digital image by determining the first part of the first digital image corresponding to the object. The method includes inputting a second digital image into the ODNN. The second digital image is a digital signal at a second time after the first time. The ODNN is capable of detecting an object in the second digital image by determining the second part of the second digital image corresponding to this object. The method includes comparing the first part of the first digital image with the second part of the second digital image to determine the degree of similarity of detection of this object. The degree of similarity of detection indicates the degree of similarity between the predictions made by the ODNN at the first time and at the second time when this object is found. When the degree of similarity of detection decreases below a predetermined threshold, the method includes using at least one of the first digital image and the second digital image to obtain a human-rated label indicative of a real part of at least one of the first digital image and the second digital image, occupied by this object on the corresponding one of the first digital image and the second digital image. The method includes retraining the ODNN based on at least one of the first digital image and the second digital image and a human-rated label.
[18] В некоторых вариантах осуществления способа компьютерное устройство может быть реализовано в виде процессора. Например, способ может выполняться процессором электронного устройства. В другом примере способ может выполняться процессором сервера. [18] In some embodiments of the method, the computing device may be implemented as a processor. For example, the method may be performed by the processor of the electronic device. In another example, the method may be performed by a server processor.
[19] В некоторых вариантах осуществления способа сравнение первой части первого цифрового изображения со второй частью второго цифрового изображения для определения степени подобия обнаружения включает в себя применение анализа пересечения и объединения множеств (IOU, Intersection Over Union).[19] In some embodiments of the method, comparing the first part of the first digital image with the second part of the second digital image to determine the degree of similarity of detection includes the use of analysis of intersection and union of sets (IOU, Intersection Over Union).
[20] В некоторых вариантах осуществления способа применение IOU-анализа включает в себя определение пересечения первой части и второй части и определение объединения первой части и второй части. [20] In some embodiments of the method, applying the IOU analysis includes determining the intersection of the first part and the second part, and determining the union of the first part and the second part.
[21] В некоторых вариантах осуществления способа он дополнительно включает в себя получение от человека-оценщика указания на действительную часть, занятую объектом. Действительная часть, занятая объектом, определяется человеком-оценщиком на основе действительного состояния этого объекта. [21] In some embodiments of the method, it further includes receiving from the human appraiser an indication of the actual portion occupied by the object. The real part occupied by an object is determined by the human appraiser based on the actual state of that object.
[22] В некоторых вариантах осуществления способ дополнительно включает в себя получение от человека-оценщика указания на действительную часть, занятую объектом. Действительная часть, занятая объектом, определяется человеком-оценщиком на основе искусственного изменения состояния этого объекта.[22] In some embodiments, the method further includes receiving from the human appraiser an indication of the actual portion occupied by the object. The real part occupied by an object is determined by a human appraiser based on an artificial change in the state of this object.
[23] В некоторых вариантах осуществления способа повторное обучение сети ODNN выполняется для обнаружения объектов в соответствии с действительными состояниями объектов.[23] In some embodiments of the method, retraining of the ODNN is performed to detect objects in accordance with the actual states of the objects.
[24] В некоторых вариантах осуществления способа повторное обучение сети ODNN выполняется для обнаружения объектов в соответствии с искусственно измененными состояниями объектов. [24] In some embodiments of the method, ODNN retraining is performed to detect objects in accordance with artificially changed object states.
[25] В некоторых вариантах осуществления способа повторное обучение сети ODNN выполняется на основе первого цифрового изображения, второго цифрового изображения и соответствующих оцененных человеком меток.[25] In some embodiments of the method, ODNN retraining is performed based on the first digital image, the second digital image, and the corresponding human-rated labels.
[26] В некоторых вариантах осуществления способа он дополнительно включает в себя ввод в сеть ODNN третьего цифрового изображения. Третье цифровое изображение представляет собой цифровой сигнал в третий момент времени. Сеть ODNN способна обнаруживать объект на третьем цифровом изображении путем определения третьей части третьего цифрового изображения, соответствующей этому объекту. Способ дополнительно включает в себя ввод в сеть ODNN четвертого цифрового изображения. Четвертое цифровое изображение представляет собой цифровой сигнал в четвертый момент времени после третьего момента времени. Сеть ODNN способна обнаруживать объект на четвертом цифровом изображении путем определения четвертой части четвертого цифрового изображения, соответствующей этому объекту. Способ дополнительно включает в себя сравнение третьей части третьего цифрового изображения с четвертой частью четвертого цифрового изображения для определения степени подобия обнаружения этого объекта. Степень подобия обнаружения указывает на степень схожести прогнозов при обнаружении этого объекта, выполняемых сетью ODNN в третий момент времени и в четвертый момент времени. При уменьшении степени подобия обнаружения ниже заранее заданного порогового значения способ дополнительно включает в себя использование по меньшей мере одного из третьего цифрового изображения и четвертого цифрового изображения для получения оцененной человеком метки, указывающей на действительную часть по меньшей мере одного из третьего цифрового изображения и четвертого цифрового изображения, занятую этим объектом на соответствующем одном из третьего цифрового изображения и четвертого цифрового изображения.[26] In some embodiments of the method, it further includes inputting a third digital image into the ODNN. The third digital image is the digital signal at the third time point. The ODNN is capable of detecting an object in the third digital image by determining the third part of the third digital image corresponding to this object. The method further includes inputting a fourth digital image to the ODNN. The fourth digital image is a digital signal at the fourth time point after the third time point. The ODNN is capable of detecting an object in the fourth digital image by determining the fourth part of the fourth digital image corresponding to this object. The method further includes comparing the third part of the third digital image with the fourth part of the fourth digital image to determine the degree of similarity of detection of this object. The degree of similarity of detection indicates the degree of similarity between the predictions made by the ODNN at the third time and at the fourth time when this object was found. When the degree of similarity of detection decreases below a predetermined threshold value, the method further includes using at least one of the third digital image and the fourth digital image to obtain a human-rated label indicative of a real part of at least one of the third digital image and the fourth digital image. occupied by this object on the corresponding one of the third digital image and the fourth digital image.
[27] В некоторых вариантах осуществления способа по меньшей мере одно из первого цифрового изображения и второго цифрового изображения с соответствующей оцененной человеком меткой и по меньшей мере одним из третьего цифрового изображения и четвертого цифрового изображения с соответствующей оцененной человеком меткой образуют, по меньшей мере частично, набор данных для повторного обучения сети ODNN.[27] In some method embodiments, at least one of a first digital image and a second digital image with a corresponding human-rated label and at least one of a third digital image and a fourth digital image with a corresponding human-rated label form, at least in part, data set for retraining the ODNN network.
[28] В некоторых вариантах осуществления способа набор данных для повторного обучения сети ODNN используется для повторного обучения сети ODNN в отношении признаков цифровых изображений, на которых обнаружение объектов сетью ODNN оказывается несогласованным. [28] In some embodiments of the method, the ODNN retraining dataset is used to retrain the ODNN on digital image features in which the ODNN's object detection is inconsistent.
[29] В некоторых вариантах осуществления способа сеть ODNN обучена обнаружению объектов на основе обучающего цифрового изображения и оцененной человеком метки для объектов на этом обучающем цифровом изображении, при этом сеть ODNN прогнозирует классы объектов и расположение объектов на этом обучающем цифровом изображении.[29] In some embodiments of the method, the ODNN is trained to detect objects based on the training digital image and a human-rated label for the objects in the training digital image, wherein the ODNN predicts object classes and object locations in the training digital image.
[30] В некоторых вариантах осуществления способа область вокруг движущегося транспортного средства в по меньшей мере одно из: первого момента времени, второго момента времени, третьего момента времени, четвертого момента времени определяется как область несогласованного обнаружения.[30] In some embodiments of the method, the area around the moving vehicle at at least one of the first time, the second time, the third time, the fourth time is defined as the inconsistent detection area.
[31] В некоторых вариантах осуществления способа повторное обучение сети ODNN выполняется для снижения вероятности несогласованного обнаружения объекта сетью ODNN, когда транспортное средство находится в области несогласованного обнаружения. [31] In some embodiments of the method, ODNN retraining is performed to reduce the likelihood of inconsistent detection of an object by the ODNN when the vehicle is in an inconsistent detection region.
[32] В некоторых вариантах осуществления способа повторное обучение сети ODNN выполняется для снижения вероятности несогласованного обнаружения объекта сетью ODNN на основе признаков цифровых изображений, зафиксированных в области несогласованного обнаружения. [32] In some embodiments of the method, ODNN retraining is performed to reduce the likelihood of inconsistent object detection by the ODNN based on digital image features captured in the inconsistent detection area.
[33] В некоторых вариантах осуществления способа повторное обучение сети ODNN выполняется для снижения вероятности несогласованного обнаружения объекта сетью ODNN на основе признаков цифровых изображений, зафиксированных в областях, подобных области несогласованного обнаружения. [33] In some embodiments of the method, ODNN retraining is performed to reduce the likelihood of inconsistent detection of an object by the ODNN based on digital image features captured in areas like the inconsistent detection area.
[34] В соответствии со вторым аспектом настоящей технологии реализовано компьютерное устройство для формирования обучающих данных для повторного обучения сети ODNN. Сеть ODNN обучена обнаруживать объекты в цифровом сигнале, фиксируемом движущимся транспортным средством, путем определения части цифрового изображения, соответствующей этим объектам. Компьютерное устройство способно вводить в сеть ODNN первое цифровое изображение. Первое цифровое изображение представляет собой цифровой сигнал в первый момент времени. Сеть ODNN способна обнаруживать объект на первом цифровом изображении путем определения первой части первого цифрового изображения, соответствующей этому объекту. Компьютерное устройство способно вводить в сеть ODNN второе цифровое изображение. Второе цифровое изображение представляет собой цифровой сигнал во второй момент времени после первого момента времени. Сеть ODNN способна обнаруживать объект на втором цифровом изображении путем определения второй части второго цифрового изображения, соответствующей этому объекту. Компьютерное устройство способно сравнивать первую часть первого цифрового изображения со второй частью второго цифрового изображения для определения степени подобия обнаружения этого объекта. Степень подобия обнаружения указывает на степень схожести прогнозов при обнаружении этого объекта, выполняемых сетью ODNN в первый момент времени и во второй момент времени. При уменьшении степени подобия обнаружения ниже заранее заданного порогового значения компьютерное устройство выполнено с возможностью использовать по меньшей мере одно из первого цифрового изображения и второго цифрового изображения для получения оцененной человеком метки, указывающей на действительную часть по меньшей мере одного из первого цифрового изображения и второго цифрового изображения, занятую этим объектом на соответствующем по меньшей мере одном из первого цифрового изображения и второго цифрового изображении. Компьютерное устройство способно повторно обучать сеть ODNN на основе по меньшей мере одного из первого цифрового изображения и второго цифрового изображения и/или оцененной человеком метки.[34] According to a second aspect of the present technology, a computer device is implemented for generating training data for retraining an ODNN. The ODNN is trained to detect objects in a digital signal captured by a moving vehicle by determining the part of the digital image corresponding to these objects. The computing device is capable of inputting a first digital image into the ODNN. The first digital image is the digital signal at the first time. The ODNN is capable of detecting an object in the first digital image by determining the first part of the first digital image corresponding to the object. The computing device is capable of inserting a second digital image into the ODNN. The second digital image is a digital signal at a second time after the first time. The ODNN is capable of detecting an object in the second digital image by determining the second part of the second digital image corresponding to this object. The computer device is capable of comparing the first part of the first digital image with the second part of the second digital image to determine the degree of similarity in detecting that object. The degree of similarity of detection indicates the degree of similarity between the predictions made by the ODNN at the first time and at the second time when this object is found. When the degree of similarity of detection decreases below a predetermined threshold value, the computing device is configured to use at least one of the first digital image and the second digital image to obtain a human-rated label indicating the real part of at least one of the first digital image and the second digital image occupied by this object in at least one of the corresponding first digital image and the second digital image. The computing device is capable of retraining the ODNN based on at least one of the first digital image and the second digital image and/or a human-rated label.
[35] В некоторых вариантах осуществления компьютерного устройства сравнение первой части первого цифрового изображения со второй частью второго цифрового изображения для определения степени подобия обнаружения предполагает способность компьютерного устройства применять IOU-анализ.[35] In some embodiments of the computing device, comparing the first part of the first digital image with the second part of the second digital image to determine the degree of similarity of detection suggests the ability of the computing device to apply IOU analysis.
[36] В некоторых вариантах осуществления компьютерного устройства применение IOU-анализа включает в себя определение пересечения первой части и второй части и определение объединения первой части и второй части. [36] In some embodiments of the computing device, applying the IOU analysis includes determining the intersection of the first part and the second part, and determining the union of the first part and the second part.
[37] В некоторых вариантах осуществления компьютерного устройства оно дополнительно способно получать от человека-оценщика указание на действительную часть, занятую объектом. Действительная часть, занятая объектом, определяется человеком-оценщиком на основе действительного состояния этого объекта. [37] In some embodiments of the computing device, it is further capable of receiving from the human evaluator an indication of the actual portion occupied by the object. The real part occupied by an object is determined by the human appraiser based on the actual state of that object.
[38] В некоторых вариантах осуществления компьютерного устройства оно дополнительно способно получать от человека-оценщика указание на действительную часть, занятую объектом. Действительная часть, занятая объектом, определяется человеком-оценщиком на основе искусственно измененного состояния этого объекта.[38] In some embodiments of the computing device, it is further capable of receiving from the human evaluator an indication of the actual portion occupied by the object. The real part occupied by an object is determined by a human appraiser based on the artificially altered state of that object.
[39] В некоторых вариантах осуществления компьютерного устройства повторное обучение сети ODNN выполняется для обнаружения объектов в соответствии с действительными состояниями этих объектов.[39] In some embodiments of a computing device, ODNN retraining is performed to detect objects according to the actual states of those objects.
[40] В некоторых вариантах осуществления компьютерного устройства повторное обучение сети ODNN выполняется для обнаружения объектов в соответствии с искусственно измененными состояниями объектов. [40] In some embodiments of a computing device, ODNN retraining is performed to detect objects in accordance with artificially altered object states.
[41] В некоторых вариантах осуществления компьютерного устройства повторное обучение сети ODNN выполняется на основе первого цифрового изображения, второго цифрового изображения и соответствующих оцененных человеком меток. [41] In some embodiments of the computing device, ODNN retraining is performed based on the first digital image, the second digital image, and the corresponding human-rated labels.
[42] В некоторых вариантах осуществления компьютерного устройства компьютерное устройство дополнительно способно вводить в сеть ODNN третье цифровое изображение. Третье цифровое изображение представляет собой цифровой сигнал в третий момент времени. Сеть ODNN способна обнаруживать объект на третьем цифровом изображении путем определения третьей части третьего цифрового изображения, соответствующей этому объекту. Компьютерное устройство способно вводить в сеть ODNN четвертое цифровое изображение. Четвертое цифровое изображение представляет собой цифровой сигнал в четвертый момент времени после третьего момента времени. Сеть ODNN способна обнаруживать объект на четвертом цифровом изображении путем определения четвертой части четвертого цифрового изображения, соответствующей этому объекту. Компьютерное устройство дополнительно выполнено с возможностью сравнивать третью часть третьего цифрового изображения с четвертой частью четвертого цифрового изображения для определения степени подобия обнаружения этого объекта. Степень подобия обнаружения указывает на степень схожести прогнозов при обнаружении этого объекта, выполняемых сетью ODNN в третий момент времени и в четвертый момент времени. При уменьшении степени подобия обнаружения ниже заранее заданного порогового значения компьютерное устройство дополнительно способно использовать по меньшей мере одно из третьего цифрового изображения и четвертого цифрового изображения для получения оцененной человеком метки, указывающей на действительную часть по меньшей мере одного из третьего цифрового изображения и четвертого цифрового изображения, занятую этим объектом на соответствующем одном из третьего цифрового изображения и четвертого цифрового изображения.[42] In some embodiments of the computing device, the computing device is further capable of inserting a third digital image into the ODNN. The third digital image is the digital signal at the third time point. The ODNN is capable of detecting an object in the third digital image by determining the third part of the third digital image corresponding to this object. The computing device is capable of inserting a fourth digital image into the ODNN. The fourth digital image is a digital signal at the fourth time point after the third time point. The ODNN is capable of detecting an object in the fourth digital image by determining the fourth part of the fourth digital image corresponding to this object. The computer device is additionally configured to compare the third part of the third digital image with the fourth part of the fourth digital image to determine the degree of similarity of the detection of this object. The degree of similarity of detection indicates the degree of similarity between the predictions made by the ODNN at the third time and at the fourth time when this object was found. When the degree of similarity of detection decreases below a predetermined threshold value, the computing device is further able to use at least one of the third digital image and the fourth digital image to obtain a human-rated label indicating a real part of at least one of the third digital image and the fourth digital image, occupied by this object on the corresponding one of the third digital image and the fourth digital image.
[43] В некоторых вариантах осуществления компьютерного устройства по меньшей мере одно из первого цифрового изображения и/ второго цифрового изображения с соответствующей оцененной человеком меткой и по меньшей мере одно из третьего цифрового изображения и четвертого цифрового изображения с соответствующей оцененной человеком меткой образуют, по меньшей мере частично, набор данных для повторного обучения сети ODNN.[43] In some embodiments of a computing device, at least one of the first digital image and/or the second digital image with a corresponding human-rated label and at least one of the third digital image and the fourth digital image with a corresponding human-rated label form at least in part, a dataset for retraining an ODNN network.
[44] В некоторых вариантах осуществления компьютерного устройства набор данных для повторного обучения сети ODNN используется для повторного обучения сети ODNN в отношении признаков цифровых изображений, на которых обнаружение объектов сетью ODNN оказывается несогласованным. [44] In some embodiments of a computing device, the ODNN retraining dataset is used to retrain the ODNN for digital image features in which the ODNN's object detection is inconsistent.
[45] В некоторых вариантах осуществления компьютерного устройства сеть ODNN обучена обнаружению объектов на основе обучающего цифрового изображения и оцененной человеком метки для объектов на этом обучающем цифровом изображении, при этом сеть ODNN прогнозирует классы объектов и расположение объектов на этом обучающем цифровом изображении.[45] In some embodiments of a computing device, an ODNN is trained to detect objects based on a training digital image and a human-rated label for objects in that training digital image, wherein the ODNN predicts object classes and object locations in that training digital image.
[46] В некоторых вариантах осуществления компьютерного устройства область вокруг движущегося транспортного средства в одно из: первого момента времени, второго момента времени, третьего момента времени, четвертого момента времени определяется как область несогласованного обнаружения.[46] In some embodiments of the computing device, the area around the moving vehicle at one of the first time, the second time, the third time, the fourth time is defined as a mismatched detection area.
[47] В некоторых вариантах осуществления компьютерного устройства повторное обучение сети ODNN выполняется для снижения вероятности несогласованного обнаружения объекта сетью ODNN, когда транспортное средство находится в области несогласованного обнаружения. [47] In some embodiments of a computing device, ODNN retraining is performed to reduce the likelihood of inconsistent detection of an object by the ODNN when a vehicle is in an inconsistent detection region.
[48] В некоторых вариантах осуществления компьютерного устройства повторное обучение сети ODNN выполняется для снижения вероятности несогласованного обнаружения объекта сетью ODNN на основе признаков цифровых изображений, зафиксированных в области несогласованного обнаружения. [48] In some embodiments of a computing device, ODNN retraining is performed to reduce the likelihood of inconsistent object detection by the ODNN based on digital image features captured in the inconsistent detection area.
[49] В некоторых вариантах осуществления компьютерного устройства повторное обучение сети ODNN выполняется для снижения вероятности несогласованного обнаружения объекта сетью ODNN на основе признаков цифровых изображений, зафиксированных в областях, подобных области несогласованного обнаружения. [49] In some embodiments of a computing device, ODNN retraining is performed to reduce the likelihood of inconsistent detection of an object by the ODNN based on digital image features captured in regions like the inconsistent detection region.
[50] В контексте данного описания термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать запросы (например от клиентских устройств) через сеть и выполнять эти запросы или инициировать их выполнение. Аппаратные средства могут быть реализованы в виде одного физического компьютера или одной компьютерной системы, что не существенно для настоящей технологии. В настоящем контексте выражение «сервер» не означает, что каждая задача (например, принятая команда или запрос) или некоторая конкретная задача принимается, выполняется или запускается одним и тем же сервером (т.е. одними и теми же программными и/или аппаратными средствами). Это выражение означает, что любое количество программных средств или аппаратных средств может принимать, отправлять, выполнять или запускать выполнение любой задачи или запроса либо результатов любых задач или запросов. Все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, при этом оба эти случая подразумеваются в выражении «по меньшей мере один сервер».[50] In the context of this description, the term "server" means a computer program executed by appropriate hardware and capable of receiving requests (for example, from client devices) via a network and fulfill these requests or initiate their execution. The hardware may be implemented as a single physical computer or a single computer system, which is not essential to the present technology. In the present context, the expression "server" does not mean that every task (e.g. received command or request) or some particular task is received, executed or started 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 start the 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 meant by the expression "at least one server".
[51] В контексте данного описания термин «электронное устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения поставленной задачи. В контексте данного описания термин «электронное устройство» подразумевает, что устройство может функционировать в качестве сервера для других электронных устройств и клиентских устройств, тем не менее, это не обязательно для настоящей технологии. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Должно быть понятно, что в настоящем контексте тот факт, что устройство функционирует в качестве электронного устройства, не означает, что оно не может функционировать в качестве сервера для других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких клиентских устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов либо шагов любого описанного здесь способа.[51] In the context of this description, the term "electronic device" means any computer hardware capable of executing programs suitable for solving the task. In the context of this description, 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 term "electronic device" does not preclude the use of multiple client devices to receive, send, perform or initiate any task or request or the results of any tasks or requests or steps of any method described herein.
[52] В контексте данного описания термин «клиентское устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения поставленной задачи. В контексте данного описания термин «клиентское устройство» в общем случае связан с пользователем клиентского устройства. Таким образом, некоторые (не имеющие ограничительного характера) примеры клиентских устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте устройство, функционирующее как клиентское устройство, также может функционировать как сервер для других клиентских устройств. Использование выражения «клиентское устройство» не исключает использования нескольких клиентских устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов либо шагов любого описанного здесь способа.[52] In the context of this description, the term "client device" means any computer hardware capable of executing programs suitable for solving the task. In the context of this description, the term "client device" is generally associated with the user of the client device. Thus, some (non-limiting) examples of client devices include personal computers (desktops, laptops, netbooks, and the like), 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 term "client device" does not preclude the use of multiple client devices to receive, send, perform or initiate any task or request or the results of any tasks or requests or steps of any method described herein.
[53] В контексте данного описания выражение «информация» включает в себя в себя информацию любого рода или вида, допускающую хранение в базе данных. Таким образом, информация включает в себя в себя аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные о местоположении, числовые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д., но не ограничивается ими.[53] In the context of this description, the expression "information" includes information of any kind or kind that can be 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.), but not limited to documents, spreadsheets, etc.
[54] В контексте данного описания выражение «программный компонент» включает в себя в себя обозначение программного обеспечения (подходящего для определенных аппаратных средств), необходимого и достаточного для выполнения определенной функции или нескольких функций.[54] In the context of this description, the expression "software component" includes the designation of software (suitable for certain hardware) necessary and sufficient to perform a particular function or several functions.
[55] В контексте данного описания выражение «носитель компьютерной информации» (также называется «носителем информации») означает носители любого рода и вида, включая оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ), диски (CD-ROM, DVD, гибкие диски, жесткие диски и т.д.), USB-накопители, твердотельные накопители, накопители на магнитных лентах и т.д. Для формирования носителя компьютерной информации может быть объединено множество элементов, включая два или более элементов носителя информации одного вида и/или два или более элементов носителя информации различных видов.[55] In the context of this description, the expression "computer storage medium" (also called "information storage medium") means media of any kind and kind, including random access memory devices (RAM), read-only memory devices (ROM), disks (CD-ROM, DVD , floppy disks, hard drives, etc.), USB drives, solid state drives, tape drives, etc. A plurality of elements may be combined to form a computer storage medium, including two or more storage medium elements of the same kind and/or two or more storage medium elements of different kinds.
[56] В контексте данного описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерных аппаратных средств для хранения этих данных, их применения или обеспечения их использования иным способом. База данных может располагаться в тех же аппаратных средствах, где реализован процесс, обеспечивающий хранение или использование информации, хранящейся в базе данных, либо база данных может располагаться в отдельных аппаратных средствах, таких как специализированный сервер или множество серверов.[56] In the context of this description, the term "database" means any structured set of data, regardless of its specific structure, database management software or computer hardware for storing this data, using them or providing them with use in another way. The database may reside on the same hardware as the process for storing or using the information stored in the database, or the database may reside on separate hardware such as a specialized server or multiple servers.
[57] В контексте данного описания числительные «первый» «второй», «третий» и т.д. используются лишь для указания различия между существительными, к которым они относятся, а не для описания каких-либо определенных взаимосвязей между этими существительными. Например, должно быть понятно, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо определенного порядка, вида, хронологии, иерархии или классификации, в данном случае, серверов, а также что их использование (само по себе) не подразумевает наличие «второго сервера» в любой ситуации. Кроме того, как встречается в настоящем описании в другом контексте, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента в действительности могут быть одним и тем же элементом. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой один элемент программных и/или аппаратных средств, а в других случаях - различные элементы программных и/или аппаратных средств. [57] In the context of this description, the numerals "first", "second", "third", etc. are used only to indicate the difference between the nouns to which they refer, and not to describe any specific relationship between these nouns. For example, it should be clear that the use of the terms "first server" and "third server" does not imply any particular order, kind, chronology, hierarchy or classification of, in this case, servers, and that their use (by itself) does not imply a "second server" in every situation. In addition, as occurs herein in another context, reference to a "first" element and a "second" element does not exclude 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.
[58] Каждый вариант осуществления настоящей технологии относится к по меньшей мере одной из вышеупомянутых целей и/или аспектов, но не обязательно ко всем ним. Должно быть понятно, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, явным образом здесь не упомянутым.[58] Each embodiment of the present technology relates to at least one of the above objectives and/or aspects, but not necessarily all of them. It should be understood that some aspects of the present technology, associated with an attempt to achieve the above goal, may not meet this goal and/or may meet other goals not explicitly mentioned here.
[59] Дополнительные и/или альтернативные признаки, аспекты и преимущества вариантов осуществления настоящей технологии содержатся в дальнейшем описании, в приложенных чертежах и в формуле изобретения.[59] Additional and/or alternative features, aspects, and advantages of embodiments of the present technology are contained in the following description, in the accompanying drawings, and in the claims.
Краткое описание чертежейBrief description of the drawings
[60] Эти и другие признаки, аспекты и преимущества настоящей технологии поясняются в дальнейшем описании, в приложенной формуле изобретения и на следующих чертежах.[60] These and other features, aspects and advantages of the present technology are explained in the following description, in the appended claims and in the following drawings.
[61] На фиг. 1 представлена схема примера компьютерной системы для реализации некоторых вариантов осуществления систем и/или способов согласно настоящей технологии.[61] FIG. 1 is a diagram of an exemplary computer system for implementing some embodiments of systems and/or methods in accordance with the present technology.
[62] На фиг. 2 представлена сетевая компьютерная среда, пригодная для использования с некоторыми вариантами осуществления настоящей технологии.[62] FIG. 2 depicts a networked computing environment suitable for use with some embodiments of the present technology.
[63] На фиг. 3 представлено первое цифровое изображение, зафиксированное датчиком сетевой компьютерной среды с фиг. 2, в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии.[63] FIG. 3 shows the first digital image captured by the network computing environment sensor of FIG. 2 in accordance with non-limiting embodiments of the present technology.
[64] На фиг. 4 представлено первое цифровое изображение с фиг. 3 и первые данные обнаружения этапа использования, выданные нейронной сетью обнаружения объектов (ODNN), реализованной в сетевой компьютерной среде с фиг.2, в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии.[64] FIG. 4 shows the first digital image from FIG. 3 and first use phase detection data outputted by an Object Detection Neural Network (ODNN) implemented in the network computing environment of FIG. 2 in accordance with non-limiting embodiments of the present technology.
[65] На фиг. 5 представлено первое цифровое изображение, зафиксированное датчиком с фиг. 2, в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии.[65] FIG. 5 shows the first digital image captured by the sensor of FIG. 2 in accordance with non-limiting embodiments of the present technology.
[66] На фиг. 6 представлено второе цифровое изображение с фиг. 5 и вторые данные обнаружения этапа использования, выданные сетью ODNN, в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии.[66] FIG. 6 shows the second digital image from FIG. 5 and second use stage discovery data issued by the ODNN in accordance with non-limiting embodiments of the present technology.
[67] На фиг. 7 представлена блок-схема способа, выполняемого компьютерным устройством в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии. [67] FIG. 7 is a flow diagram of a method performed by a computing device in accordance with non-limiting embodiments of the present technology.
Осуществление изобретенияImplementation of the invention
[68] Представленные здесь примеры и условные обозначения предназначены для обеспечения лучшего понимания принципов настоящей технологии, а не для ограничения области ее применения такими конкретными приведенными примерами и условиями. Очевидно, что специалисты в данной области техники способны разработать различные способы и устройства, которые явно не описаны и не показаны, но реализуют принципы настоящей технологии в пределах ее существа и объема. [68] The examples and conventions presented herein are intended to provide a better understanding of the principles of the present technology, and not to limit its scope to such specific examples and terms. It is obvious that specialists in the art are able to develop various methods and devices that are not explicitly described or shown, but implement the principles of the present technology within its essence and scope.
[69] Кроме того, чтобы способствовать лучшему пониманию, последующее описание может содержать упрощенные варианты реализации настоящей технологии. Специалистам в данной области должно быть понятно, что другие варианты осуществления настоящей технологии могут быть значительно сложнее.[69] In addition, to facilitate a better understanding, the following description may contain simplified implementations of the present technology. Those skilled in the art will appreciate that other embodiments of the present technology may be significantly more complex.
[70] В некоторых случаях приводятся полезные примеры модификаций настоящей технологии. Они способствуют пониманию, но также не определяют объем или границы настоящей технологии. Представленный перечень модификаций не является исчерпывающим и специалист в данной области может разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.[70] In some cases, useful examples of modifications to the present technology are provided. They contribute to understanding, but also do not define the scope or boundaries of the present technology. The presented list of modifications is not exhaustive and the person skilled in the art can develop other modifications within the scope of this technology. In addition, if modifications are not described in some cases, this does not mean that they are impossible and / or that the description contains the only possible implementation of one or another element of the present technology.
[71] Более того, описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники должно быть очевидно, что любые описанные структурные схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих принципы настоящей технологии. Также должно быть очевидно, что любые блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п. соответствуют различным процессам, которые могут быть представлены на машиночитаемом физическом носителе информации и могут выполняться компьютером или процессором, независимо от того, показан такой компьютер или процессор явно или нет.[71] Moreover, the description of principles, aspects, and embodiments of the present technology, as well as their specific examples, is intended to cover their structural and functional equivalents, whether they are currently known or will be developed in the future. For example, it should be apparent to those skilled in the art that any structural diagrams described correspond to conceptual representations of illustrative circuit diagrams embodying the principles of the present technology. It should also be obvious that any flowcharts, process diagrams, state transition diagrams, pseudocodes, 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 a computer or processor is explicitly shown or not.
[72] Функции различных элементов, показанных на чертежах, включая любой функциональный блок, обозначенный как «процессор», могут быть реализованы с использованием специализированных аппаратных средств, а также аппаратных средств, способных выполнять соответствующее программное обеспечение. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут использоваться совместно. Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные выполнять программное обеспечение, и может подразумевать, помимо прочего, аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), ПЗУ для хранения программного обеспечения, ОЗУ и энергонезависимое запоминающее устройство. Также могут подразумеваться и другие аппаратные средства, общего назначения и/или заказные. [72] The functions of the various elements shown in the drawings, including any functional block designated as "processor", can be implemented using specialized hardware, as well as hardware capable of executing the corresponding software. If a processor is used, these functions may be performed by a single dedicated processor, a single shared processor, or multiple individual 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 the hardware capable of executing the software and may refer to, but is not limited to, digital signal processor (DSP) hardware, network processor, ASIC (ASIC), Field Programmable Gate Array (FPGA), Software ROM, RAM, and Non-Volatile Memory. Other general purpose and/or custom hardware may also be contemplated.
[73] Программные модули или просто модули, реализация которых предполагается в виде программных средств, могут быть представлены здесь в виде любого сочетания элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут выполняться аппаратными средствами, показанными явно или подразумеваемыми.[73] Software modules, or simply modules that are intended to be implemented in software, may be represented here as any combination of flowchart elements or other elements that indicate the steps of a process and/or contain a textual description. Such modules may be implemented in hardware, as shown or implied.
[74] Далее с учетом изложенных выше принципов рассмотрены некоторые не имеющие ограничительного характера примеры, иллюстрирующие различные варианты реализации аспектов настоящей технологии. [74] In the following, in light of the principles set forth above, some non-limiting examples are provided to illustrate various embodiments of aspects of the present technology.
Компьютерная системаcomputer system
[75] На фиг. 1 представлена компьютерная система 100, пригодная для использования с некоторыми вариантами осуществления настоящей технологии и содержащая различные элементы аппаратных средств, включая один или несколько одно- или многоядерных процессоров, совместно представленных процессором 110, твердотельный накопитель 120 и память 130, которая может представлять собой ОЗУ или память любого другого вида. [75] FIG. 1 depicts a
[76] Связь между элементами компьютерной системы 100 может осуществляться через одну или несколько внутренних и/или внешних шин (не показаны) (таких как шина PCI, универсальная последовательная шина (USB), шина FireWire стандарта IEEE 1394, шина SCSI, шина Serial-ATA и т.д.), с которыми различные аппаратные элементы соединены электронным образом. Согласно вариантам осуществления настоящей технологии, твердотельный накопитель 120 хранит программные команды, пригодные для загрузки в память 130 и исполнения процессором 110 с целью определения наличия объекта. Например, программные команды могут входить в состав управляющего приложения транспортного средства, выполняемого процессором 110. Следует отметить, что компьютерная система 100 может содержать дополнительные и/или не обязательные элементы (не показаны), такие как модули передачи данных по сети, модули определения местоположения и т.д. [76] Communication between elements of
Сетевая компьютерная средаnetworked computing environment
[77] На фиг. 2 представлена сетевая компьютерная среда 200, пригодная для использования с некоторыми вариантами осуществления систем и/или способов согласно настоящей технологии. Сетевая компьютерная среда 200 содержит электронное устройство 210, связанное с транспортным средством 220 и/или с пользователем (не показан), который может управлять транспортным средством 220, сервер 235, соединенный с электронным устройством 210 через сеть 240 связи (например, через сеть Интернет и т.п., как более подробно описано ниже). [77] FIG. 2 depicts a
[78] Сетевая компьютерная среда 200 также может содержать спутник системы GPS (не показан), передающий сигнал GPS электронному устройству 210 и/или принимающий этот сигнал от него. Должно быть понятно, что настоящая технология не ограничивается системой GPS и может использовать технологию определения местоположения, отличную от системы GPS. Следует отметить, что спутник GPS может вовсе отсутствовать. [78] The
[79] Транспортное средство 220, с которым связано электронное устройство 210, может представлять собой любое транспортное средство для отдыха или перевозок, например, автомобиль для индивидуального или коммерческого использования, грузовой автомобиль, мотоцикл и т.д. Несмотря на то, что транспортное средство 220 изображено как наземное транспортное средство, оно может быть и другим в каждом варианте осуществления настоящей технологии. Например, транспортное средство 220 может быть плавучим средством, таким как лодка, или летательным аппаратом, таким как летающий дрон. [79] The
[80] Транспортное средство 220 может управляться пользователем или представлять собой самоуправляемое транспортное средство. Следует отметить, что не накладывается каких-либо ограничений на конкретные параметры транспортного средства 200, такие как производитель транспортного средства, модель транспортного средства, год выпуска транспортного средства, масса транспортного средства, размеры транспортного средства, распределение массы транспортного средства, площадь поверхности транспортного средства, высота транспортного средства, вид трансмиссии (например, привод на два или четыре колеса), вид шин, тормозная система, топливная система, пробег, идентификационный номер транспортного средства, рабочий объем двигателя и т.д. [80]
[81] На реализацию электронного устройства 210 также не накладывается каких-либо ограничений. Например, электронное устройство 210 может быть реализовано в виде блока управления двигателем транспортного средства, центрального процессора транспортного средства, навигационного устройства транспортного средства (например, TomTom™, Garmin™), планшета, персонального компьютера, встроенного в транспортное средство 220, и т.д. Следует отметить, что электронное устройство 210 может быть постоянно связано или не связано с транспортным средством 220. Дополнительно или в качестве альтернативы, электронное устройство 210 может быть реализовано в устройстве беспроводной связи, таком как мобильный телефон (например, смартфон или радиотелефон). В некоторых вариантах осуществления изобретения электронное устройство 210 содержит дисплей 270. [81] The implementation of the
[82] Электронное устройство 210 может содержать некоторые или все элементы компьютерной системы 100, представленной на фиг. 1. В некоторых вариантах осуществления изобретения электронное устройство 210 представляет собой бортовое компьютерное устройство и содержит процессор 110, твердотельный накопитель 120 и память 130. Иными словами, электронное устройство 210 содержит аппаратные средства и/или прикладное программное обеспечение и/или встроенное программное обеспечение либо их сочетание для обработки данных, как более подробно описано ниже. [82]
ДатчикSensor
[83] Согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, электронное устройство 210 дополнительно содержит или имеет доступ к датчику 230, способному фиксировать одно или несколько цифровых изображений по меньшей мере части окружающей области 250 вокруг транспортного средства 220. Датчик 230 соединен с процессором 110 для передачи зафиксированной информации в процессор 110 для ее обработки, как более подробно описано ниже. [83] According to non-limiting embodiments of the present technology, the
[84] В некотором не имеющем ограничительного характера примере датчик 230 содержит камеру. На реализацию камеры не накладывается каких-либо особых ограничений. Например, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии камера может быть реализована в виде черно-белой камеры с разрешением, достаточным для обнаружения объектов на заранее заданном расстоянии приблизительно до 30 м (тем не менее, без выхода за границы настоящего изобретения могут использоваться камеры с другим разрешением и другой дальностью действия). [84] In a non-limiting example,
[85] Датчик 230 может устанавливаться с внутренней стороны в верхней части ветрового стекла транспортного средства 220, но в пределах объема настоящего изобретения также возможны и другие места, включая заднее окно, боковые окна, передний капот, крышу, переднюю решетку радиатора или передний бампер транспортного средства 220. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии датчик 230 может быть расположен в специальном кожухе (не показан), установленном сверху транспортного средства 220. [85] The
[86] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии датчик 230 может быть реализован в виде множества камер. Например, множество камер может содержать достаточное количество камер, чтобы фиксировать панорамное цифровое изображение окружающей зоны 250. [86] In some non-limiting embodiments of the present technology,
[87] В некоторых вариантах осуществления настоящей технологии камера (одна или несколько камер, в виде которых реализован датчик 230) способна фиксировать заранее заданную часть окружающей зоны 250 вокруг транспортного средства 220. В некоторых вариантах осуществления настоящей технологии камера способна фиксировать цифровое изображение (или последовательность цифровых изображений), соответствующее сектору окружающей зоны 250 вокруг транспортного средства 220 приблизительно в 90 градусов вдоль траектории движения транспортного средства 220. [87] In some embodiments of the present technology, the camera (one or more cameras in which
[88] В других вариантах осуществления настоящей технологии камера способна фиксировать цифровое изображение (или последовательность цифровых изображений), соответствующее сектору окружающей зоны 250 вокруг транспортного средства 220 приблизительно в 180 градусов вдоль траектории движения транспортного средства 220.[88] In other embodiments of the present technology, the camera is capable of capturing a digital image (or sequence of digital images) corresponding to a sector of the surrounding
[89] В других вариантах осуществления настоящей технологии камера способна фиксировать цифровое изображение (или последовательность цифровых изображений), соответствующее сектору окружающей зоны 250 вокруг транспортного средства 220 приблизительно в 360 градусов вдоль траектории движения транспортного средства 220 (иными словами, всю окружающую зону вокруг транспортного средства 220).[89] In other embodiments of the present technology, the camera is capable of capturing a digital image (or sequence of digital images) corresponding to a sector of the surrounding
[90] Например, на фиг. 3 представлено первое цифровое изображение 300, зафиксированное датчиком 230. Первое цифровое изображение 300 представляет часть окружающей области 250 вокруг транспортного средства 220 в первый момент времени. Как видно на первом цифровом изображении 300, транспортное средство 220 движется по дороге, а другое транспортное средство (например, грузовой автомобиль) находится в окружающей области 250 вокруг транспортного средства 220. [90] For example, in FIG. 3 shows the first
[91] В другом примере на фиг. 5 приведено второе цифровое изображение 500, зафиксированное датчиком 230. Второе цифровое изображение 500 представляет часть окружающей области 250 вокруг транспортного средства 220 во второй момент времени после первого момента времени. Как видно на втором цифровом изображении 500, транспортное средство 220 также движется по дороге, а другое транспортное средство также находится в окружающей зоне 250 вокруг транспортного средства 220.[91] In another example, in FIG. 5 shows a second
[92] Следует отметить, что первое цифровое изображение 300 и второе цифровое изображение 500 могут быть частью цифрового сигнала, фиксируемого датчиком 230. Иными словами, датчик 230 может фиксировать цифровой сигнал (например, в виде последовательности цифровых изображений). Таким образом, первое цифровое изображение 300 может представлять собой цифровой сигнал датчика 230 в первый момент времени, а второе цифровое изображение 500 может представлять собой цифровой сигнал датчика 230 во второй момент времени.[92] It should be noted that the first
[93] В конкретном не имеющем ограничительного характера примере датчик 230 реализован в виде камеры, поставляемой компанией FLIR Integrated Imaging Solutions Inc., 12051 Riverside Way, Richmond, BC, V6W 1K7, Canada (Канада). Очевидно, что датчик 230 может быть реализован в виде любого другого подходящего оборудования. [93] In a specific non-limiting example,
[94] Следует отметить, что в некоторых вариантах осуществления настоящей технологии могут быть реализованы дополнительные датчики, помимо датчика 230. Например, на транспортном средстве 220 могут быть установлены и соединены с процессором 110 радиолокационные системы. В другом примере на транспортном средстве 220 могут быть установлены и соединены с процессором 110 лидарные системы - лазерные системы обнаружения и измерения дальности (LIDAR, LIght Detection And Ranging). Таким образом, транспортное средство 220, для простоты представлено на фиг. 2 лишь с датчиком 230, тем не менее, в других вариантах осуществления настоящей технологии в пределах ее сущности и объема транспортное средство 220 может быть реализовано с дополнительными датчиками, помимо датчика 230.[94] It should be noted that in some embodiments of the present technology, additional sensors may be implemented in addition to
[95] В некоторых вариантах осуществления настоящей технологии датчик 230 может быть откалиброван. Такая калибровка может выполняться во время изготовления и/или настройки транспортного средства 220 или в любой удобный последующий момент времени. Иными словами, калибровка может выполняться во время модернизации транспортного средства 220 с датчиком 230 в соответствии с предлагаемыми здесь не имеющими ограничительного характера вариантами осуществления настоящей технологии. В качестве альтернативы, калибровка может выполняться во время оснащения транспортного средства 220 датчиком 230 в соответствии с предлагаемыми здесь не имеющими ограничительного характера вариантами осуществления настоящей технологии.[95] In some embodiments of the present technology,
Сеть связиCommunication network
[96] В некоторых вариантах осуществления настоящей технологии сеть 245 связи представляет собой сеть Интернет. В альтернативных не имеющих ограничительного характера вариантах осуществления изобретения сеть связи может быть реализована в виде любой подходящей локальной сети (LAN, Local Area Network), глобальной сети (WAN, Wide Area Network), частной сети связи и т.п. Очевидно, что варианты осуществления сети связи приведены лишь в иллюстративных целях. Реализация линии связи (отдельно не обозначена) между электронным устройством 210 и сетью 245 связи зависит, среди прочего, от реализации электронного устройства 210. Лишь в качестве примера, не имеющего ограничительного характера, в тех вариантах осуществления настоящей технологии, где электронное устройство 210 реализовано в виде устройства беспроводной связи, такого как смартфон или навигационное устройство, линия связи может быть реализована в виде беспроводной линии связи. Примеры беспроводных линий связи включают в себя канал сети связи 3G, канал сети связи 4G и т.п. В сети 245 связи также может использоваться беспроводное соединение с сервером 235.[96] In some embodiments of the present technology, communication network 245 is the Internet. In alternative non-limiting embodiments of the invention, the communications network may be implemented as any suitable local area network (LAN, Local Area Network), wide area network (WAN, Wide Area Network), private communications network, and the like. Obviously, the embodiments of the communication network are given for illustrative purposes only. The implementation of a communication link (not specifically indicated) between
СерверServer
[97] В некоторых вариантах осуществления настоящей технологии сервер 235 реализован в виде традиционного компьютерного сервера и может содержать некоторые или все элементы компьютерной системы 100, представленной на фиг. 1. В одном не имеющем ограничительного характера примере сервер 215 реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™, но он также может быть реализован с использованием любых других подходящих аппаратных средств, прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленных не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер является одиночным сервером. В других, не имеющих ограничительного характера вариантах осуществления настоящей технологии (не показаны) функции сервера 235 могут быть распределены между несколькими серверами. [97] In some embodiments of the present technology, the
[98] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 устройства 210 может быть соединен с сервером 235 для получения одного или нескольких обновлений. Обновления могут представлять собой обновления программного обеспечения, обновления карт, обновления маршрутов, обновления погодных данных и т.д. В некоторых вариантах осуществления настоящей технологии процессор 110 также может отправлять серверу 235 некоторые рабочие данные, такие как пройденные маршруты, данные о дорожном движении, рабочие характеристики и т.д. Некоторые или все данные, передаваемые между транспортным средством 220 и сервером 235, могут быть зашифрованы и/или обезличены. [98] In some non-limiting embodiments of the present technology,
ПроцессорCPU
[99] Процессор 110 соединен с датчиком 230 для приема от него данных изображения. У процессора 110 есть доступ к сети ODNN. В целом, сеть ODNN представляет собой нейронную сеть (NN, Neural Network), способную выполнять обнаружение объектов на основе данных изображения, принимаемых от датчика 230 (и, возможно, от других источников данных изображения). Это означает, что процессор 110 способен принимать от датчика 230 данные изображения, представляющие собой цифровое изображение, и может с помощью сети ODNN выполнять (а) классификацию объектов на цифровом изображении и (б) локализацию объектов на цифровом изображении.[99] The
[100] Сеть ODNN может классифицировать объекты на цифровом изображении с отнесением их к одному или нескольким классам объектов. Классы объектов могут включать в себя «транспортное средство», «легковой автомобиль», «грузовой автомобиль», «человек», «животное», «дерево», «здание», «дорога», «полоса движения», «дорожный знак», «стена», «светофор» и т.п., но не ограничиваясь этим. [100] The ODNN can classify objects in a digital image into one or more object classes. Object classes can include "vehicle", "car", "truck", "person", "animal", "tree", "building", "road", "lane", "traffic sign" , "wall", "traffic light", etc., but not limited to this.
[101] В одном варианте осуществления изобретения сеть ODNN может выполнять классификацию объектов с отнесением их к одному классу. Это означает, что сеть ODNN может определять принадлежность этого объекта к определенному классу объектов. Например, сеть ODNN может определять принадлежность этого объекта к классу «транспортное средство».[101] In one embodiment of the invention, the ODNN can perform a classification of objects into the same class. This means that the ODNN can determine whether an object belongs to a certain object class. For example, the ODNN can determine whether this object belongs to the class "vehicle".
[102] В других вариантах осуществления изобретения сеть ODNN может выполнять классификацию объектов с отнесением их к нескольким классам. Это означает, что сеть ODNN может определять принадлежность этого объекта к одному из множества классов объектов. Например, сеть ODNN может определять принадлежность этого объекта к одному из следующих классов объектов: «транспортное средство», «человек» или «полоса движения».[102] In other embodiments of the invention, the ODNN can perform a classification of objects into multiple classes. This means that the ODNN can determine that an object belongs to one of many object classes. For example, the ODNN may determine whether an object belongs to one of the following object classes: "vehicle", "person", or "lane".
[103] Сеть ODNN может выполнять локализацию объектов на цифровом изображении путем определения части цифрового изображения, соответствующей этому объекту (или занятой этим объектом). Например, сеть ODNN может определять границы объекта на цифровом изображении (и/или границы части цифрового изображения, содержащей данный объект). В другом примере сеть ODNN может определять зону, в которой находится объект на данном цифровом изображении.[103] The ODNN can perform localization of objects in a digital image by determining the portion of the digital image corresponding to (or occupied by) that object. For example, an ODNN may define the boundaries of an object in a digital image (and/or the boundaries of a portion of the digital image containing the object). In another example, the ODNN may determine the zone in which an object is located in a given digital image.
[104] Далее описано, как сеть ODNN может выполнять обнаружение объектов, т.е. классификацию и локализацию объектов на цифровых изображениях.[104] The following describes how the ODNN can perform object discovery, i. classification and localization of objects in digital images.
Нейронная сетьNeural network
[105] Как указано выше, сеть ODNN представляет собой нейронную сеть (NN). В общем случае сеть NN состоит из группы взаимосвязанных искусственных «нейронов», обрабатывающих информацию с использованием коннекционного подхода. Сети NN используются для моделирования сложных взаимосвязей между входными и выходными данными (без фактической информации об этих взаимосвязях) или для поиска закономерностей в данных. Сети NN сначала адаптируются на этапе обучения, когда они обеспечиваются известным набором входных данных и информацией с целью адаптации сети NN к формированию корректных выходных данных (для ситуации, в отношении которой выполняется попытка моделирования). На этапе обучения сеть NN адаптируется к изучаемой ситуации и изменяет свою структуру так, чтобы она могла обеспечивать адекватные предсказанные выходные данные для входных данных в новой ситуации (на основе того, что было изучено). Таким образом, вместо попытки определения сложных статистических закономерностей или математических алгоритмов для данной ситуации, сеть NN пытается предоставить «интуитивный» ответ на основе «восприятия» ситуации. Таким образом, сеть NN представляет собой некоторого рода обученный черный ящик, который может быть использован в ситуациях, когда содержимое ящика не имеет значения, а важно лишь то, что этот ящик предоставляет адекватные ответы для входных данных.[105] As stated above, the ODNN is a neural network (NN). In the general case, the NN network consists of a group of interconnected artificial "neurons" that process information using a connection approach. NNs are used to model complex relationships between inputs and outputs (without actual knowledge of those relationships) or to look for patterns in data. The NNs are first adapted in the training phase when they are provided with a known set of inputs and information in order to adapt the NNs to generate the correct output (for the situation being attempted to simulate). During the training phase, the NN network adapts to the situation being studied and changes its structure so that it can provide adequate predictive output for the input in the new situation (based on what has been learned). Thus, instead of trying to determine complex statistical patterns or mathematical algorithms for a given situation, the NN tries to provide an "intuitive" answer based on the "perception" of the situation. Thus, the NN network is a kind of trained black box that can be used in situations where the contents of the box do not matter, but only that this box provides adequate answers to the input data.
[106] Сети NN широко используются во многих таких ситуациях, где важно лишь получать выходные данные на основе входных данных и менее важна или вовсе не важна информация о том, как получаются эти выходные данные. Например, сети NN широко используются для оптимизации распределения веб-трафика между серверами и при обработке данных, включая фильтрацию, кластеризацию, разделение сигналов, сжатие, формирование векторов, распознавание речи и т.п.[106] NNs are widely used in many of these situations where it is only important to derive output from input and less important or not at all important to know how that output is obtained. For example, NNs are widely used to optimize the distribution of web traffic between servers and data processing, including filtering, clustering, signal separation, compression, vectorization, speech recognition, and the like.
[107] Сети NN можно разделить на несколько классов, которые могут иметь разную топологию или архитектуру, разные свойства и могут использоваться в различных приложениях. Один класс сетей NN включает в себя сверточные нейронные сети (CNN, Convolutional Neural Networks). Сети CNN - это многослойные сети NN, в структуре которых предусмотрены входной слой, выходной слой, а также множество скрытых слоев, которые могут (в зависимости от их конкретной реализации) включать в себя, например, сверточные слои, объединяющие слои, полносвязные слои и нормирующие слои. После глубокого обучения сети CNN могут использоваться для анализа визуальных образов и других приложений компьютерного зрения.[107] NN networks can be divided into several classes, which may have different topology or architecture, different properties, and can be used in different applications. One class of NN networks includes Convolutional Neural Networks (CNNs). CNNs are multi-layer NNs that have an input layer, an output layer, and a set of hidden layers, which may (depending on their specific implementation) include, for example, convolutional layers, pooling layers, fully connected layers, and normalizing layers. layers. After deep learning, CNNs can be used for visual image analysis and other computer vision applications.
[108] Предполагается, что в некоторых вариантах осуществления настоящей технологии сеть ODNN, используемая процессором 110 для целей обнаружения объектов, может быть сетью CNN в пределах сущности и объема настоящей технологии. [108] It is contemplated that, in some embodiments of the present technology, the ODNN used by
[109] В целом, реализацию сети ODNN с использованием процессора 110 укрупненно можно разделить на два этапа - этап обучения и этап использования. [109] In general, the implementation of the ODNN network using the
[110] Сначала сеть ODNN обучается на этапе обучения. На этапе обучения в сети ODNN может выполняться большое количество обучающих итераций. В общем случае, во время обучающей итерации в сеть ODNN вводятся (а) данные изображения, представляющие собой обучающее цифровое изображение, и (б) данные оцененной человеком метки (например, обучающая оцененная человеком метка) для объектов на обучающем цифровом изображении (например, данные оценки человеком обнаружения объекта). В частности, данные оцененной человеком метки могут содержать указания на классы объектов, идентифицированных людьми-оценщиками, а также указания на расположение объектов, идентифицированных людьми-оценщиками. Следовательно, сеть ODNN в некотором смысле «обучается» идентифицировать объекты, определять их классы и расположение на обучающем цифровом изображении на основе данных изображения, представляющих обучающее цифровое изображение. Предполагается, что сеть ODNN может быть реализована и обучена по меньшей мере одним из серверов 235 и/или процессоров 110 электронного устройства 210.[110] First, the ODNN is trained in the training phase. During the training phase of the ODNN network, a large number of training iterations can be performed. In general, during the training iteration, the ODNN is fed with (a) image data representing the training digital image, and (b) human-rated label data (e.g., training human-rated label) for objects in the training digital image (e.g., data human evaluation of object detection). In particular, the human-rated label data may contain indications of the classes of objects identified by the human evaluators, as well as indications of the location of the objects identified by the human evaluators. Therefore, the ODNN network in a sense "learns" to identify objects, determine their classes and location on the training digital image based on the image data representing the training digital image. It is contemplated that the ODNN can be implemented and trained by at least one of the
[111] Затем, на этапе использования, когда сеть ODNN «знает», какие данные следует ожидать в качестве входных данных (например, данные изображения, соответствующие цифровым изображениям) и какие данные следует выдавать в качестве выходных данных (например, данные обнаружения объекта - классы объектов и расположение объектов на цифровых изображениях), сеть ODNN запускается с данными этапа использования. В общем случае, на этапе использования в сеть ODNN вводятся данные изображения, соответствующие цифровому изображению этапа использования, а в ответ выдаются данные обнаружения объектов этапа использования, определяющие (а) присутствие объектов на цифровом изображении этапа использования, (б) классы этих объектов и (в) расположение этих объектов на цифровом изображении этапа использования.[111] Then, in the use phase, when the ODNN knows what data to expect as input (for example, image data corresponding to digital images) and what data to output as output (for example, object detection data - object classes and the location of objects in digital images), the ODNN is started with the data of the use phase. In general, at the use stage, image data corresponding to the digital image of the use stage is entered into the ODNN, and in response, object detection data of the use stage is returned, determining (a) the presence of objects in the digital image of the use stage, (b) the classes of these objects, and ( c) the location of these objects on the digital image of the stage of use.
[112] Далее подробно описан представленный на фиг. 3 и фиг. 4 первый не имеющий ограничительного характера пример этапа использования сети ODNN. Следует напомнить, что первое цифровое изображение 300 соответствует цифровому сигналу датчика 230 в первый момент времени. Это означает, что первое цифровое изображение 300 может быть цифровым изображением (относящимся к первому моменту времени) в последовательности цифровых изображений, зафиксированных датчиком 230 и переданных процессору 110 и/или серверу 235. [112] The following describes in detail, shown in FIG. 3 and FIG. 4 is a first non-limiting example of an ODNN usage step. It should be recalled that the first
[113] Процессор 110 может вводить в сеть ODNN данные изображения, соответствующие первому цифровому изображению 300. Иными словами, процессор 110 может использовать данные изображения, соответствующие первому цифровому изображению 300, в качестве данных этапа использования для сети ODNN. В ответ сеть ODNN способна выдавать первые данные 490 обнаружения этапа использования, представленные на фиг. 4. В этом случае первые данные 490 обнаружения этапа использования указывают на то, что сеть ODNN обнаружила первый объект 400 и второй объект 450. [113] The
[114] Например, сеть ODNN может выдавать первые данные 490 обнаружения этапа использования, указывающие на то, что (а) первый объект 400 присутствует на первом цифровом изображении 300, (б) первый объект 400 относится к классу объектов «полоса движения» и (в) первый объект 400 расположен на первом цифровом изображении 300 в пределах первых границ 402. [114] For example, the ODNN may provide first usage
[115] Можно сказать, что сеть ODNN способна обнаруживать первый объект 400 на первом цифровом изображении 300 путем определения первой части 403 (например, набора пикселей) первого цифрового изображения 300, соответствующей первому объекту 400. Например, первая часть 403 - это часть первого цифрового изображения 300, ограниченная первыми границами 402.[115] It can be said that the ODNN is able to detect the
[116] Кроме того, сеть ODNN способна выдавать первые данные 490 обнаружения этапа использования, указывающие на то, что (а) второй объект 450 присутствует на первом цифровом изображении 300, (б) второй объект 450 относится к классу объектов «полоса движения» и (в) второй объект 450 расположен на первом цифровом изображении 300 в пределах вторых границ 452.[116] In addition, the ODNN is capable of providing first use
[117] Можно сказать, что сеть ODNN способна обнаруживать второй объект 450 на первом цифровом изображении 300 путем определения другой части 453 (например, другого набора пикселей) первого цифрового изображения 300, соответствующей второму объекту 450. Например, другая часть 453 - это часть первого цифрового изображения 300, ограниченная вторыми границами 452.[117] It can be said that the ODNN is able to detect the
[118] Иными словами, можно сказать, что сеть ODNN обнаруживает наличие двух полос движения на дороге, по которой движется транспортное средство 220, где крайняя правая полоса движения дороги является первым объектом 400, а крайняя левая полоса движения дороги является вторым объектом 450. В некоторых вариантах осуществления изобретения сеть ODNN также может обнаруживать дополнительные объекты на первом цифровом изображении 300, например, объект, соответствующий другому транспортному средству (в частности, грузовой автомобиль). Тем не менее, для простоты изложения можно полагать, что сеть ODNN обнаруживает первый объект 400 и второй объект 450 на первом цифровом изображении 300.[118] In other words, it can be said that the ODNN detects the presence of two lanes on the road on which the
[119] Далее подробно описан представленный на фиг. 5 и фиг. 6 второй не имеющий ограничительного характера пример этапа использования сети ODNN. Следует напомнить, что второе цифровое изображение 500 соответствует цифровому сигналу датчика 230 во второй момент времени. Второе цифровое изображение 500 может быть цифровым изображением (относящимся ко второму моменту времени) в последовательности цифровых изображений, зафиксированных датчиком 230 и переданных процессору 110 и/или серверу 235. [119] The following describes in detail, shown in FIG. 5 and FIG. 6 is a second non-limiting example of an ODNN usage step. It should be recalled that the second
[120] В этом случае второй момент времени наступает после первого момента времени, связанного с первым цифровым изображением 300. Например, временной интервал между первым моментом времени и вторым моментом времени может быть порядка нескольких миллисекунд. В другом примере цифровой сигнал датчика 230 может быть представлен в видеоформате, при этом два кадра цифрового сигнала являются соответствующими кадрами первого цифрового изображения 300 и второго цифрового изображения 500. В некоторых вариантах осуществления изобретения первое цифровое изображение 300 и второе цифровое изображение 500 могут быть последовательными цифровыми изображениями цифрового сигнала датчика 230, но это не является обязательным для каждого варианта осуществления настоящей технологии.[120] In this case, the second time occurs after the first time associated with the first
[121] Процессор 110 и/или сервер 235 могут вводить в сеть ODNN данные изображения, соответствующие второму цифровому изображению 500. Иными словами, процессор 110 и/или сервер 235 могут использовать данные изображения, соответствующие первому цифровому изображению 500, в качестве данных этапа использования для сети ODNN. В ответ сеть ODNN может выдавать вторые данные 690 обнаружения этапа использования, представленные на фиг. 6. В этом случае вторые данные 690 обнаружения этапа использования указывают на то, что сеть ODNN обнаружила изменившийся первый объект 400′ вместо первого объекта 400 и второй объект 450. [121]
[122] Например, сеть ODNN может выдавать вторые данные 690 обнаружения этапа использования, указывающие на то, что (а) изменившийся первый объект 400′ присутствует на втором цифровом изображении 500, (б) изменившийся первый объект 400′ относится к классу объектов «полоса движения» и (в) изменившийся первый объект 400′ расположен на втором цифровом изображении 500 в пределах третьих границ 502. [122] For example, the ODNN may provide second usage
[123] Можно сказать, что сеть ODNN способна обнаруживать изменившийся первый объект 400′ на втором цифровом изображении 500 путем определения второй части 503 (например, набора пикселей) второго цифрового изображения 500, соответствующей изменившемуся первому объекту 400′. Например, вторая часть 503 - это часть второго цифрового изображения 500, ограниченная третьими границами 502. [123] It can be said that the ODNN is able to detect the changed first object 400' in the second
[124] Иными словами, можно сказать, что сеть ODNN обнаруживает на основе второго цифрового изображения 500 наличие одной полосы движения на дороге, где эта полоса движения на дороге является измененным первым объектом 400′, в отличие от обнаружения наличия двух полос на дороге на основе первого цифрового изображения 300.[124] In other words, it can be said that the ODNN detects, based on the second
[125] Следует отметить, что как измененный первый объект 400′, так и первый объект 400, обнаруженные сетью ODNN, соответствуют одному и тому же реальному объекту (например, конкретной полосе движения), тем не менее, измененный первый объект 400′ и первый объект 400 были локализованы сетью ODNN по-разному при их обнаружении, т.е. сеть ODNN определила разные части (например, места расположения) соответствующих цифровых изображений, соответствующие одному и тому же реальному объекту.[125] It should be noted that both the modified first object 400' and the
[126] Следует отметить, что в этих не имеющих ограничительного характера примерах этапа использования сети ODNN не важно, сколько полос движения в действительности имеется на дороге, по которой движется транспортное средство 220 - одна или две. Независимо от того, одна или две полосы движения имеются на дороге, по которой движется транспортное средство 220, разработчики настоящей технологии пришли к выводу, что обнаружение сетью ODNN этого объекта на двух цифровых изображениях (которые были зафиксированы с небольшой разницей во времени) как имеющего существенно отличающиеся части (например, места расположения) на соответствующих цифровых изображениях является проблемой. Основанием для этого, по мнению разработчиков настоящей технологии, является то, что сеть ODNN получив почти одинаковые изображения с почти одинаковыми признаками, тем не менее, дает существенно отличающиеся прогнозы.[126] It should be noted that in these non-limiting examples of the ODNN step, it does not matter whether there are actually one or two lanes on the road on which the
[127] Иными словами, не важно, какой результат выполненного сетью ODNN обнаружения более точен - на первом цифровом изображении 300 или на втором цифровом изображении 500. Независимо от того, какой результат выполненного сетью ODNN обнаружения более точен - на первом цифровом изображении 300 или на втором цифровом изображении 500, разработчики настоящей технологии пришли к выводу, что существенные отличия результатов выполненного сетью ODNN обнаружения на двух изображениях, зафиксированных с небольшой разницей во времени, свидетельствуют о наличии проблемы.[127] In other words, it does not matter which result of the detection performed by the ODNN is more accurate - on the first
[128] Следует напомнить, что разработчики настоящей технологии разработали способы и системы для повторного обучения сети ODNN, чтобы сеть ODNN обнаруживала объекты более «согласованным» образом, независимо от действительных условий окружающей области 250 вокруг транспортного средства 220 (см. фиг. 2). [128] It should be recalled that the developers of the present technology have developed methods and systems for retraining the ODNN so that the ODNN detects objects in a more "consistent" manner, regardless of the actual conditions of the surrounding
[129] Например, можно предположить, что в действительности на дороге, по которой движется транспортное средство 220, имеется лишь одна полоса движения. Можно также предположить, что эта единственная полоса движения настолько широка, что позволяет двум транспортным средствам двигаться по ней рядом (даже если это не разрешено правилами). Возможно, что в некоторых реализациях способа целесообразно обучать сеть ODNN обнаруживать одну широкую полосу движения на дороге, чтобы предсказывать/обнаруживать реальные дорожные условия на этапе использования. [129] For example, it can be assumed that in reality there is only one lane on the road on which the
[130] Тем не менее, также возможно, что в других реализациях целесообразно обучать сеть ODNN обнаруживать две полосы на дороге, что не соответствует реальным дорожным условиям, а скорее является «искусственно измененными» дорожными условиями. Обнаружение искусственно измененных дорожных условий (вместо реальных дорожных условий) может быть целесообразно для смягчения последствий риска, возникающего, например, в результате маневрирования на дороге при обгоне. Таким образом, обнаружение сетью ODNN двух полос движения на дороге (что является не реальными дорожными условиями, а искусственно измененными дорожными условиями) позволяет процессору 110 управлять транспортным средством 220 иначе, в том числе в плане маневрирования, «ожидая» возможного обгона вторым транспортным средством, даже если на дороге имеется лишь одна полоса движения.[130] However, it is also possible that in other implementations it is useful to train the ODNN to detect two lanes on the road, which does not correspond to real road conditions, but rather "artificially modified" road conditions. Detection of artificially changed road conditions (instead of real road conditions) can be useful to mitigate the consequences of risk arising, for example, from overtaking maneuvers on the road. Thus, the detection by the ODNN of two traffic lanes on the road (which are not real road conditions, but artificially modified road conditions) allows the
[131] Поэтому, независимо от целесообразности обнаружения одной или двух полос движения на дороге, по которой движется транспортное средство 220, желательно обнаруживать полосы движения на этой дороге согласованным образом (путем обнаружения либо действительных, либо искусственно измененных состояний). С этой целью разработчики настоящей технологии разработали решения для выбора цифровых изображений, которые должны использоваться для повторного обучения сети ODNN, чтобы она согласованным образом обнаруживала объекты на цифровых изображениях этапа использования.[131] Therefore, whether it is desirable to detect one or two lanes on the road that
[132] В общем случае процессор 110 и/или сервер 235 выполнены с возможностью выбирать по меньшей мере одно из первого цифрового изображения 300 и второго цифрового изображения 500 для использования при повторном обучении сети ODNN выполнению более согласованного обнаружения объектов путем сравнения (а) первых данных 490 обнаружения этапа использования, связанных с первым цифровым изображением 300, с (б) вторыми данными 690 обнаружения этапа использования, связанными со вторым цифровым изображением 500.[132] In general,
[133] Например, процессор 110 и/или сервер 235 могут сравнивать первую часть 403 первого цифрового изображения 300 со второй частью 603 второго цифрового изображения 500 для определения степени подобия обнаружения для первого объекта 400 (и измененного первого объекта 400′). Степень подобия обнаружения указывает на степень схожести прогнозов при обнаружении одного и того же реального объекта (конкретной полосы движения дороги), выполняемых сетью ODNN в первый и второй моменты времени.[133] For example,
[134] В некоторых вариантах осуществления изобретения процессор 110 и/или сервер 235 при таком сравнении могут выполнять IOU-анализ на первой части 403 и второй части 603. В общем случае, в результате IOU-анализа определяется параметр IOU как отношение (а) площади пересечения первой части 403 и второй части 603 (фиг. 6) к (б) площади объединения первой части 403 (фиг. 4) и второй части 603. [134] In some embodiments of the invention, the
[135] Например, чем ближе параметр IOU к «1», тем больше локализация первого объекта 400 похожа на локализацию измененного первого объекта 400′. Аналогично, чем ближе параметр IOU к «0», тем меньше локализация первого объекта 400 похожа на локализацию измененного первого объекта 400′. В некоторых вариантах осуществления изобретения степень подобия обнаружения, определяемая процессором 110 и/или сервером 235, может быть параметром IOU для первой части 403 и второй части 603.[135] For example, the closer the IOU parameter is to "1", the more the localization of the
[136] В некоторых вариантах осуществления настоящей технологии предполагается, что IOU-анализ может выполняться для проекций первой части 403 и второй части 603 на двумерную поверхность, вместо выполнения IOU-анализа непосредственно для первой части 403 и второй части 603. Это означает, что в некоторых вариантах реализации настоящей технологии процессор 110 способен: (а) проецировать первую часть 403 на двумерную поверхность, (б) проецировать вторую часть 603 на двумерную поверхность, и (в) выполнять IOU-анализ для проекций первой части 403 и второй части 603 вместо выполнения IOU-анализа непосредственно для первой части 403 и второй части 603.[136] In some embodiments of the present technology, it is contemplated that the IOU analysis can be performed on the projections of the
[137] Процессор 110 и/или сервер 235 могут сравнивать степень подобия обнаружения с заранее заданным пороговым значением. Заранее заданное пороговое значение может быть определено оператором процессора 110 и/или сервера 235. Например, оператор процессора 110 и/или сервера 235 может эмпирически определять заранее заданное пороговое значение. Если значение подобия обнаружения оказывается ниже заранее заданного порогового значения, процессор 110 может использовать по меньшей мере одно из первого цифрового изображения 300 и второго цифрового изображения 500 для повторного обучения сети ODNN.[137] The
[138] Если предположить, что должно использоваться первое цифровое изображение 300, то первое цифровое изображение 300 может быть предоставлено людям-оценщикам, имеющим задачу идентифицировать и определить местонахождение объектов первого цифрового изображения 300. Например, им может быть поставлена задача идентифицировать оцененную человеком метку расположения объектов на первом цифровом изображении 300, а также соответствующие классы этих объектов (например, сформировать оцененную человеком метку для первого цифрового изображения 300). В некоторых случаях им может быть поставлена задача определить расположение объектов в соответствии с реальными дорожными условиями. А в других случаях, которые поясняются выше, им может быть поставлена задача определить местонахождение объектов в соответствии с искусственно измененными дорожными условиями.[138] Assuming that the first
[139] Процессор 110 и/или сервер 235 может выполнять повторное обучение сети ODNN на основе выбранного по меньшей мере одного из первого цифрового изображения 300 и второго цифрового изображения 500 и/или соответствующих данных оцененной человеком метки. Например, второй этап обучения сети ODNN может выполняться процессором 110 и/или сервером 235 на основе по меньшей мере одного из первого цифрового изображения 300 и второго цифрового изображения 500 и соответствующих данных оцененной человеком метки, чтобы обеспечить сети ODNN условия для обнаружения объектов на этапе использования более согласованным образом.[139]
[140] В некоторых вариантах осуществления настоящей технологии предусмотрено применение способа 700 формирования обучающих данных для повторного обучения сети ODNN, которое может выполняться компьютерным устройством, например, процессором 110 и/или сервером 235. Далее способ 700 описан более подробно.[140] In some embodiments of the present technology, a
Шаг 702: ввод в сеть ODNN первого цифрового изображения.Step 702: Entering the first digital image into the ODNN.
[141] Реализация способа 700 начинается на шаге 702 вводом в сеть ODNN первого цифрового изображения 300 компьютерным устройством, связанным с сетью ODNN (например, процессором 110 и/или сервером 235). Первое цифровое изображение 300 представляет собой цифровой сигнал датчика 230 в первый момент времени.[141]
[142] Сеть ODNN способна обнаруживать заданный объект (например, первый объект 400, представленный на фиг. 4) на первом цифровом изображении 300 путем определения первой части 403 первого цифрового изображения 300, соответствующей этому объекту.[142] The ODNN is capable of detecting a given object (eg, the
[143] Например, до использования сети ODNN компьютерным устройством на шаге 702, сеть ODNN может быть обучена на этапе обучения. Как упоминалось выше, предполагается, что в некоторых вариантах осуществления настоящей технологии сеть ODNN может быть обучена (до шага 702) обнаружению объекта на основе (а) обучающего цифрового изображения и (б) оцененной человеком метки для объектов на обучающем цифровом изображении, при этом сеть ODNN прогнозирует классы объектов и расположение объектов на обучающем цифровом изображении.[143] For example, prior to using the ODNN by the computing device in
Шаг 704: ввод в сеть ODNN второго цифрового изображения.Step 704: Entering a second digital image into the ODNN.
[144] Реализация способа 700 продолжается на шаге 704 вводом компьютерным устройством в сеть ODNN второго цифрового изображения 500. Второе цифровое изображение 500 представляет собой цифровой сигнал датчика 230 во второй момент времени после первого момента времени.[144]
[145] Сеть ODNN способна обнаруживать заданный объект (например, измененный первый объект 400′) на втором цифровом изображении 500 путем определения первой части 603 второго цифрового изображения 500, соответствующей этому объекту.[145] The ODNN is capable of detecting a given object (eg, a modified first object 400') in the second
[146] Следует отметить, что как измененный первый объект 400′, так и первый объект 400, обнаруженные сетью ODNN, соответствуют одному реальному объекту (например, конкретной полосе движения), тем не менее, измененный первый объект 400′ и первый объект 400 оказываются локализованными сетью ODNN по-разному при их обнаружении, т.е. сеть ODNN определяет отличающиеся части (например, места расположения) цифровых изображений, соответствующие одному и тому же реальному объекту.[146] It should be noted that both the modified first object 400' and the
Шаг 706: сравнение первой части первого цифрового изображения со второй частью второго цифрового изображения для определения степени подобия обнаружения объекта.Step 706: comparing the first part of the first digital image with the second part of the second digital image to determine the degree of similarity of object detection.
[147] Реализация способа 700 продолжается на шаге 706, на котором компьютерное устройство сравнивает первую часть 403 первого цифрового изображения 300 со второй частью 603 второго цифрового изображения 500 для определения степени подобия обнаружения объекта.[147]
[148] Степень подобия обнаружения указывает на степень схожести прогнозов при обнаружении объекта, выполняемых сетью ODNN в первый момент времени и во второй момент времени. Также можно сказать, что степень подобия обнаружения указывает на то, насколько похожи друг на друга прогнозы сети ODNN относительно расположения этого объекта на соответствующих цифровых изображениях.[148] The degree of similarity of detection indicates the degree of similarity between the object detection predictions made by the ODNN at the first time and at the second time. You can also say that the degree of similarity of detection indicates how similar the predictions of the ODNN network are to each other regarding the location of this object in the corresponding digital images.
[149] В некоторых вариантах осуществления настоящей технологии сравнение первой части 403 первого цифрового изображения 300 со второй частью 603 второго цифрового изображения 500 для определения степени подобия обнаружения может включать в себя применение компьютерным устройством IOU-анализа. Предполагается, что применение IOU-анализа, как указано выше, включает в себя (а) определение пересечения первой части 403 и второй части 603 и (б) определение объединения первой части 403 и второй части 603.[149] In some embodiments of the present technology, comparing the
Шаг 708: использование по меньшей мере одного из первого цифрового изображения и второго цифрового изображения для получения оцененной человеком метки при уменьшении степени подобия обнаружения ниже заранее заданного порогового значения.Step 708: using at least one of the first digital image and the second digital image to obtain a human-rated label while reducing the degree of similarity of detection below a predetermined threshold.
[150] Реализация способа 700 продолжается на шаге 708, на котором при уменьшении степени подобия обнаружения ниже заранее заданного порогового значения компьютерное устройство использует по меньшей мере одно из первого цифрового изображения 300 и второго цифрового изображения 500 для получения оцененной человеком метки, указывающей на действительную часть по меньшей мере одного из первого цифрового изображения 300 и второго цифрового изображения 500, занятую этим объектом на соответствующем одном из первого цифрового изображения 300 и второго цифрового изображения 500.[150] The implementation of
[151] В некоторых вариантах осуществления изобретения действительная часть, занятая объектом, может быть идентифицирована человеком-оценщиком на основе действительного состояния этого объекта, как описано выше. В других вариантах осуществления действительная часть этого объекта может быть идентифицирована человеком-оценщиком на основе искусственно измененного состояния этого объекта, как описано выше.[151] In some embodiments, the actual portion occupied by an object can be identified by a human evaluator based on the actual state of that object, as described above. In other embodiments, the implementation of the real part of this object can be identified by a human appraiser based on an artificially changed state of this object, as described above.
ШАГ 710: повторное обучение сети ODNN на основе по меньшей мере одного из первого цифрового изображения и второго цифрового изображения и/или оцененной человеком метки.STEP 710: retraining the ODNN based on at least one of the first digital image and the second digital image and/or a human-rated label.
[152] Реализация способа 700 продолжается на этапе 710, на котором компьютерное устройство повторно обучает сеть ODNN на основе по меньшей мере одного из следующего: первого цифрового изображения 300, второго цифрового изображения 500 и соответствующих оцененных человеком меток.[152]
[153] Например, для повторного обучения сети ODNN может использоваться первое цифровое изображение 300 с соответствующей оцененной человеком метки. В другом примере для повторного обучения сети ODNN может использоваться второе цифровое изображение 500 с соответствующей оцененной человеком меткой. В еще одном примере для повторного обучения сети ODNN могут использоваться как первое цифровое изображение 300 с соответствующей оцененной человеком меткой, так и второе цифровое изображение 500 с соответствующей оцененной человеком меткой.[153] For example, the first
[154] Следует напомнить, что действительная часть для объекта на цифровом изображении, идентифицированная человеком-оценщиком, может зависеть от задачи, поставленной человеку-оценщику - идентификации действительного состояния этого объекта или идентификации искусственно измененного состояния этого объекта. Таким образом, если человеку-оценщику поставлена задача идентификации действительной части для объекта в соответствии с его действительным состоянием, сеть ODNN может быть повторно обучена для обнаружения объектов в соответствии с их действительным состоянием. Если человеку-оценщику поставлена задача идентификации действительной части объекта в соответствии с искусственно измененным состоянием, сеть ODNN может быть повторно обучена для обнаружения объектов в соответствии с искусственно измененным состоянием.[154] It should be recalled that the real part for an object in a digital image, identified by a human evaluator, may depend on the task assigned to the human evaluator - to identify the actual state of this object or to identify an artificially altered state of this object. Thus, if a human evaluator is tasked with identifying a valid part for an object according to its actual state, the ODNN can be retrained to detect objects according to their actual state. If a human evaluator is tasked with identifying a real part of an object according to the artificially changed state, the ODNN can be retrained to detect objects according to the artificially changed state.
[155] В некоторых вариантах осуществления настоящей технологии описанные выше шаги способа 700 могут повторяться для третьего цифрового изображения (не показано) из цифрового сигнала датчика 230 и для четвертого цифрового изображения (не показано) из цифрового сигнала датчика 230, аналогично тому, как компьютерное устройство выполняет вышеупомянутые шаги для первого цифрового изображения 300 и второго цифрового изображения 500 в пределах сущности и объема настоящей технологии.[155] In some embodiments of the present technology, the steps of
[156] Соответственно, предполагается, что компьютерное устройство может формировать набор данных для повторного обучения сети ODNN. Например, набор данных для повторного обучения может содержать любую комбинацию (а) первого цифрового изображения 300 с соответствующей оцененной человеком меткой, (б) второго цифрового изображения 500 с соответствующей оцененной человеком меткой, (в) третьего цифрового изображения с соответствующей оцененной человеком меткой и (г) четвертого цифрового изображения с соответствующей оцененной человеком меткой.[156] Accordingly, it is contemplated that the computing device can generate a dataset for retraining the ODNN. For example, the retraining dataset may contain any combination of (a) a first
[157] В некоторых вариантах осуществления настоящей технологии компьютерное устройство может определять, что область 250 вокруг транспортного средства 220 в первый момент времени и/или во второй момент времени является областью несогласованного обнаружения. Например, транспортное средство 220 может включать в себя датчик типа GPS, который может предоставлять данные о местоположении, указывающие на место окружающей области 250 в данный момент времени. В результате, если по меньшей мере одно из первого цифрового изображения 300 и второго цифрового изображения 500 должно использоваться для повторного обучения сети ODNN, компьютерное устройство может определять, что окружающая область 250 вокруг транспортного средства 220 в данный момент времени, когда зафиксировано по меньшей мере одно из первого цифрового изображения 300 и второго цифрового изображения 500, является областью несогласованного обнаружения. Таким образом, в некоторых вариантах осуществления, помимо повторного обучения сети ODNN, как описано выше, компьютерное устройство может отмечать и отслеживать области несогласованного обнаружения для дальнейшего анализа.[157] In some embodiments of the present technology, the computing device may determine that the
[158] Предполагается, что набор данных для повторного обучения, формируемый для сети ODNN, может использоваться компьютерным устройством (которым может быть, например, процессор 110 электронного устройства 210 или процессор 110 сервера 235) для повторного обучения сети ODNN в отношении признаков цифровых изображений, на которых обнаружение объектов сетью ODNN оказывается несогласованным. Как указано выше, при выполнении сетью ODNN обнаружения объекта на основе двух цифровых изображений, например, первого цифрового изображения 300 и второго цифрового изображения 500, сеть ODNN выполняет обнаружение объекта на основе схожих входных данных. Тем не менее, как описано выше, несмотря на схожесть входных данных (например, данных первого цифрового изображения 300 и второго цифрового изображения 500), выходные данные сети ODNN могут существенно отличаться. Таким образом, (а) формирование набора данных для повторного обучения на основе ситуаций, когда схожие входные данные сети ODNN приводили к существенно отличающимся выходным данным сети ODNN, и (б) использование этого повторно обучающего набора данных для повторного обучения сети ODNN позволяют снизить вероятность несогласованного обнаружения объектов сетью ODNN после этапа повторного обучения. Например, компьютерное устройство может повторно обучать сеть ODNN в отношении признаков первого цифрового изображения 300 и/или второго цифрового изображения 500 (признаков, получаемых сетью ODNN на основе соответствующих данных изображения), при этом после этапа повторного обучения снижается вероятность несогласованного обнаружения объектов сетью ODNN при приеме схожих входных данных первого цифрового изображения 300 и/или второго цифрового изображения 500.[158] It is contemplated that the retraining dataset generated for the ODNN may be used by a computing device (which may be, for example, the
[159] Следует отметить, что повторное обучение сети ODNN компьютерным устройством может выполняться для снижения вероятности несогласованного обнаружения объекта сетью ODNN, когда транспортное средство 220 (или другие транспортные средства, реализованные аналогично транспортному средству 220) находятся в области несогласованного обнаружения. Когда после этапа повторного обучения сети ODNN данные цифровых изображений, зафиксированных в области несогласованного обнаружения, вводятся в сеть ODNN, сеть ODNN может с меньшей вероятностью повторять несогласованное обнаружение объектов. Иными словами, несмотря на то, что до этапа повторного обучения сеть ODNN может выполнять несогласованное обнаружение объекта на основе данных цифровых изображений, зафиксированных в области несогласованного обнаружения, после этапа повторного обучения сеть ODNN будет с меньшей вероятностью выполнять несогласованное обнаружение объектов на основе данных цифровых изображений, зафиксированных в области несогласованного обнаружения. Следовательно, можно сказать, что повторное обучение сети ODNN, как описано выше, может выполняться так, что сеть ODNN будет с меньшей вероятностью выполнять несогласованное обнаружение объектов на основе признаков цифровых изображений, зафиксированных в области несогласованного обнаружения. Кроме того, предполагается, что повторное обучение сети ODNN может выполняться для снижения вероятности несогласованного обнаружения объектов сетью ODNN на основе признаков цифровых изображений, зафиксированных в областях, подобных области несогласованного обнаружения. Например, цифровые изображения областей, подобных области несогласованного обнаружения, могут быть связаны с признаками, близкими признакам цифровых изображений области несогласованного обнаружения.[159] It should be noted that ODNN retraining by the computing device may be performed to reduce the likelihood of inconsistent detection of an object by the ODNN when vehicle 220 (or other vehicles implemented similarly to vehicle 220) is in an inconsistent detection region. When, after the ODNN retraining step, the digital image data captured in the inconsistent detection region is input to the ODNN, the ODNN can be less likely to repeat the inconsistent object detection. In other words, although before the retraining step, the ODNN may perform inconsistent object detection based on digital image data captured in the inconsistent detection region, after the retraining step, the ODNN will be less likely to perform inconsistent object detection based on digital image data. fixed in the area of inconsistent detection. Therefore, it can be said that the retraining of the ODNN as described above can be performed so that the ODNN is less likely to perform inconsistent object detection based on digital image features captured in the inconsistent detection region. Furthermore, it is contemplated that ODNN retraining can be performed to reduce the likelihood of inconsistent detection of objects by the ODNN based on features of digital images captured in regions like the inconsistent detection region. For example, digital images of areas like the area of mismatch may be associated with features similar to those of digital images of the area of mismatch.
[160] Для специалиста в данной области могут быть очевидными возможные изменения и усовершенствования описанных выше вариантов осуществления настоящей технологии. Предшествующее описание приведено лишь в иллюстративных целях, а не для ограничения объема изобретения. Объем охраны настоящей технологии определяется исключительно объемом приложенной формулы изобретения.[160] For a person skilled in the art, possible changes and improvements in the above-described embodiments of the present technology may be obvious. The foregoing description is 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 appended claims.
Claims (58)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2020113268A RU2763215C2 (en) | 2020-04-10 | 2020-04-10 | Methods and systems for forming training data for a neural network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2020113268A RU2763215C2 (en) | 2020-04-10 | 2020-04-10 | Methods and systems for forming training data for a neural network |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2018146459 Division | 2018-12-26 | 2018-12-26 |
Publications (3)
Publication Number | Publication Date |
---|---|
RU2020113268A RU2020113268A (en) | 2021-10-11 |
RU2020113268A3 RU2020113268A3 (en) | 2021-10-12 |
RU2763215C2 true RU2763215C2 (en) | 2021-12-28 |
Family
ID=78261339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2020113268A RU2763215C2 (en) | 2020-04-10 | 2020-04-10 | Methods and systems for forming training data for a neural network |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2763215C2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2785704C1 (en) * | 2022-04-28 | 2022-12-12 | Открытое Акционерное Общество "Российские Железные Дороги" | Method for forming a training sample for control systems of unmanned electric trains |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2411468C1 (en) * | 2009-09-21 | 2011-02-10 | Закрытое акционерное общество "Научно-технический центр "Реагент" | Method of evaluating quantitative characteristics of probed earth's surface |
US20150104062A1 (en) * | 2013-10-14 | 2015-04-16 | National Taipei University Of Technology | Probabilistic neural network based moving object detection method and an apparatus using the same |
RU2656711C2 (en) * | 2016-11-17 | 2018-06-06 | Общество с ограниченной ответственностью "РобоСиВи" | Method and system for detecting and tracking of moving objects based on three-dimensional sensor data |
US20180203445A1 (en) * | 2017-01-13 | 2018-07-19 | Ford Global Technologies, Llc | Generating Simulated Sensor Data For Training And Validation Of Detection Models |
US20180211128A1 (en) * | 2017-01-24 | 2018-07-26 | Ford Global Technologies, Llc | Object Detection Using Recurrent Neural Network And Concatenated Feature Map |
-
2020
- 2020-04-10 RU RU2020113268A patent/RU2763215C2/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2411468C1 (en) * | 2009-09-21 | 2011-02-10 | Закрытое акционерное общество "Научно-технический центр "Реагент" | Method of evaluating quantitative characteristics of probed earth's surface |
US20150104062A1 (en) * | 2013-10-14 | 2015-04-16 | National Taipei University Of Technology | Probabilistic neural network based moving object detection method and an apparatus using the same |
RU2656711C2 (en) * | 2016-11-17 | 2018-06-06 | Общество с ограниченной ответственностью "РобоСиВи" | Method and system for detecting and tracking of moving objects based on three-dimensional sensor data |
US20180203445A1 (en) * | 2017-01-13 | 2018-07-19 | Ford Global Technologies, Llc | Generating Simulated Sensor Data For Training And Validation Of Detection Models |
US20180211128A1 (en) * | 2017-01-24 | 2018-07-26 | Ford Global Technologies, Llc | Object Detection Using Recurrent Neural Network And Concatenated Feature Map |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2785704C1 (en) * | 2022-04-28 | 2022-12-12 | Открытое Акционерное Общество "Российские Железные Дороги" | Method for forming a training sample for control systems of unmanned electric trains |
Also Published As
Publication number | Publication date |
---|---|
RU2020113268A (en) | 2021-10-11 |
RU2020113268A3 (en) | 2021-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11433902B2 (en) | Methods and systems for computer-based determining of presence of dynamic objects | |
US11836623B2 (en) | Object detection and property determination for autonomous vehicles | |
JP7222868B2 (en) | Real-time prediction of object behavior | |
US20180349746A1 (en) | Top-View Lidar-Based Object Detection | |
EP3674972B1 (en) | Methods and systems for generating training data for neural network | |
US20210366144A1 (en) | Systems and methods for utilizing a deep learning model to determine vehicle viewpoint estimations | |
RU2743895C2 (en) | Methods and systems for computer to determine presence of objects | |
RU2750243C2 (en) | Method and system for generating a trajectory for a self-driving car (sdc) | |
US11188085B2 (en) | Vehicle capsule networks | |
RU2769921C2 (en) | Methods and systems for automated detection of the presence of objects | |
US11574483B2 (en) | Methods and systems for computer-based determining of presence of objects | |
US12017683B2 (en) | Method and device for operating a self-driving car | |
US12100221B2 (en) | Methods and electronic devices for detecting objects in surroundings of a self-driving car | |
EP4102473A1 (en) | Method and device for operating a self-driving car | |
US20240338951A1 (en) | Generic Obstacle Detection in Drivable Area | |
US20220326714A1 (en) | Unmapped u-turn behavior prediction using machine learning | |
RU2750152C1 (en) | Methods and systems for determining vehicle trajectory estimation procedure | |
CN117315624A (en) | Obstacle detection method, vehicle control method, device, apparatus, and storage medium | |
RU2763215C2 (en) | Methods and systems for forming training data for a neural network | |
KR20230011774A (en) | Method and system for data recording of vehicle | |
US20230368541A1 (en) | Object attention network | |
US20240144701A1 (en) | Determining lanes from drivable area | |
RU2800694C2 (en) | Method for predicting the trajectory of an agent near an unmanned vehicle based on the ranking | |
RU2789921C2 (en) | Method and device for control of self-driving car | |
US11697435B1 (en) | Hierarchical vehicle action prediction |