Детекторы LCA API#
Детекторы, используемые в подсистеме API, обнаруживают транспортные средства (ТС) и государственные регистрационные знаки (ГРЗ) на изображениях, а также определяют соответствующие ограничивающие прямоугольники (BBox).
Конфигурация детекторов ТС и ГРЗ задается в конфигурационном файле
/data/vehicleEngine.conf(подробнее см. в разделе Конфигурирование Vehicle Engine).Проверить работу детекторов можно с помощью LCA API Tester (подробнее см. в разделе LCA API Tester).
Детектор ТС#
Детектор ТС обнаруживает ТС на изображениях и определяет их положение с помощью ограничивающих прямоугольников (BBox).
Детектор ТС последней версии поддерживает алгоритм повторной детекции (редетекции) для повышения точности обнаружения, обработку изображений, полученных с камер, установленных на значительной высоте (bird-view), а также настройку дополнительных параметров детектора.
Пример входного изображения представлен на Рисунке 30.
Пример ответа:
{
"detections": [
{
"x": 637.8615112304688,
"y": 161.5411834716797,
"width": 426.82147216796875,
"height": 274.2376708984375,
"score": 0.9445058107376099
},
{
"x": 115.89066314697266,
"y": 155.4100341796875,
"width": 476.1069030761719,
"height": 282.51666259765625,
"score": 0.9419910907745361
}
],
"detector": "car",
"execution_time": 53
}
Таблица 39. Описание полей детектора ТС
| Поле | Тип | Описание | Возможные значения |
|---|---|---|---|
| detections | array | Массив, содержащий координаты, размеры и оценки точности детекций ТС | Список детектированных ТС |
| x | int | Горизонтальная координата левого верхнего угла BBox | 0…1920 |
| y | int | Вертикальная координата левого верхнего угла BBox | 0…1080 |
| width | int | Ширина BBox (в пикселях) | 0…1920 |
| height | int | Высота BBox (в пикселях) | 0…1080 |
| score | float | Оценка точности детекции ТС | 0.0000…1.0000 |
| detector | string | Название детектора | car |
| execution_time | int | Время выполнения в миллисекундах | 0…1000 |
Детектор ГРЗ#
Детектор ГРЗ предназначен для обнаружения номерных знаков (ГРЗ) на изображениях и позволяет получать информацию о положении ГРЗ в видеопотоке или видеофайле.
Детектор ГРЗ последней версии включает возможность детектировать несколько номеров на одном ТС, а также определяет релевантный номер, относящийся к нужному ТС. Кроме того, доступна настройка дополнительных параметров детектора ГРЗ.
Пример входного изображения представлен на Рисунке 31.
Пример ответа:
{
"detections": [
{
"x": 119.0,
"y": 483.0,
"width": 156.0,
"height": 97.0,
"score": 0.93145
},
{
"x": 112.0,
"y": 533.0,
"width": 137.0,
"height": 88.0,
"score": 0.82027
}
],
"detector": "grz",
"execution_time": 53
}
Таблица 40. Описание полей детекций ГРЗ
| Поле | Тип | Описание | Возможные значения |
|---|---|---|---|
| detections | array | Массив, содержащий координаты и размер детекций каждого ГРЗ на изображении, а также оценку точности детекции ГРЗ | Список детектированных ГРЗ |
| x | int | Горизонтальная координата левого верхнего угла BBox | 0…1920 |
| y | int | Вертикальная координата левого верхнего угла BBox | 0…1080 |
| width | int | Ширина BBox | 0…1920 |
| height | int | Высота BBox | 0…1080 |
| score | float | Оценка точности детекции ГРЗ | 0.0000…1.0000 |
| detector | string | Название типа детектора | grz |
| execution_time | int | Время исполнения в миллисекундах | 0…1000 |
Редетектор ТС#
Редетектор ТС выполняет повторную детекцию ТС в заданной области изображения. В ответе возвращаются координаты ограничивающего прямоугольника (BBox) обнаруженного ТС и оценка точности детекции.
Редетектор ТС используется для уточнения результатов первичной детекции. Он позволяет повторно выполнить поиск ТС в указанной области изображения, повысить точность определения их местоположения и обнаружить несколько ТС в пределах одной области кадра.
Пример входного изображения показан на Рисунке 32.
Пример ответа:
{
"detections": [
{
"x": 162,
"y": 103,
"width": 1072,
"height": 749,
"score": 0.6372541785240173
}
],
"execution_time": 20,
"redetector": "car"
}
Таблица 41. Поля редетектора ТС
| Поле | Тип | Описание | Возможные значения |
|---|---|---|---|
| detections | array | Массив, содержащий координаты, размеры и оценки точности детекций ТС | Список детектированных ТС |
| x | int | Горизонтальная координата левого верхнего угла BBox | 0…1920 |
| y | int | Вертикальная координата левого верхнего угла BBox | 0…1080 |
| width | int | Ширина BBox (в пикселях) | 0…1920 |
| height | int | Высота BBox (в пикселях) | 0…1080 |
| score | float | Оценка точности детекции ТС | 0.0000…1.0000 |
| redetector | string | Название редетектора | car |
| execution_time | int | Время выполнения в миллисекундах | 0…1000 |
Детектор дыма и огня#
Детектор дыма и огня обнаруживает дым и возгорания на изображениях.
В ответе возвращаются координаты ограничивающего прямоугольника (BBox), тип обнаруженного объекта и оценка точности детекции.
Пример входного изображения показан на Рисунке 33.
Пример ответа:
{
"detections": [
{
"x": 0,
"y": 0,
"width": 960,
"height": 540,
"score": 0.8205,
"type": "fire"
}
],
"execution_time": 51,
"detector": "smoke_fire"
}
Таблица 42. Поля детектора дыма и огня
| Поле | Тип | Описание | Возможные значения |
|---|---|---|---|
| detections | array | Массив, содержащий координаты, размеры, типы и оценки точности детекций | Список детектированных объектов |
| x | int | Горизонтальная координата левого верхнего угла BBox | 0…1920 |
| y | int | Вертикальная координата левого верхнего угла BBox | 0…1080 |
| width | int | Ширина BBox (в пикселях) | 0…1920 |
| height | int | Высота BBox (в пикселях) | 0…1080 |
| score | float | Оценка точности детекции | 0.0000…1.0000 |
| type | string | Тип обнаруженного объекта | fire, black_smoke, white_smoke, none |
| detector | string | Название детектора | smoke_fire |
| execution_time | int | Время выполнения в миллисекундах | 0…1000 |
Детектор животных#
Детектор животных обнаруживает животных на изображениях.
В ответе возвращаются координаты ограничивающего прямоугольника (BBox), тип обнаруженного животного и оценка точности детекции.
Пример входного изображения показан на Рисунке 34.
Пример ответа:
{
"detections": [
{
"x": 323,
"y": 42,
"width": 137,
"height": 342,
"score": 0.9622,
"type": "big_animal"
}
],
"execution_time": 60,
"detector": "animal"
}
Таблица 43. Поля детектора животных
| Поле | Тип | Описание | Возможные значения |
|---|---|---|---|
| detections | array | Массив, содержащий координаты, размеры, типы и оценки точности детекций | Список детектированных животных |
| x | int | Горизонтальная координата левого верхнего угла BBox | 0…1920 |
| y | int | Вертикальная координата левого верхнего угла BBox | 0…1080 |
| width | int | Ширина BBox (в пикселях) | 0…1920 |
| height | int | Высота BBox (в пикселях) | 0…1080 |
| score | float | Оценка точности детекции | 0.0000…1.0000 |
| type | string | Тип обнаруженного животного | big_animal, small_animal, bird |
| detector | string | Название детектора | animal |
| execution_time | int | Время выполнения в миллисекундах | 0…1000 |
Универсальный метод#
Универсальный метод предназначен для детекции и распознавания транспортных средств (ТС), государственных регистрационных знаков (ГРЗ), животных, дыма и огня на изображениях.
Метод позволяет выполнять обработку нескольких типов объектов в рамках одного запроса. Например, можно одновременно получить результаты детекции ТС и ГРЗ, а также обнаружить животных, дым или огонь. Это сокращает количество запросов и ускоряет обработку изображений.
Метод поддерживает несколько режимов обработки изображений.
В структуре JSON-ответа используются уровни вложенности batches, batch и photoProcessing.
photoProcessing— массив, содержащий результаты работы детекторов и классификаторов для изображения;batches— массив, содержащий группы изображений, обрабатываемые с различными конфигурациями детекторов и классификаторов;batch— группа изображений, обрабатываемых в рамках одного запроса с одинаковыми настройками детекторов и классификаторов.
Пример: если изображения
img1иimg2необходимо обработать с одинаковыми настройками детектора, они будут объединены в одинbatch. Если для этих же изображений требуется использовать другую конфигурацию детекторов или классификаторов, будет сформирован отдельныйbatch.
Обработка полного кадра#
В этом режиме метод выполняет детекцию и распознавание всех объектов на полном изображении, включая ТС, ГРЗ, животных, дым и огонь.
Обработка полного кадра для детекции ТС с использованием классификатора#
Пример ответа:
{
"batches": [
{
"batch": [
{
"photoProcessing": [
{
"detections": [
{
"bbox": {
"height": 296,
"width": 410,
"x": 15,
"y": 90
},
"detectionProcessing": [
{
"brand": "Porsche",
"classifier": "car_brand_model_v2",
"model": "Cayenne",
"score": 0.9407
}
],
"score": 0.9598
}
],
"detector": "car"
}
]
}
]
}
]
}
Таблица 44. Описание полей обработки полного кадра для детекции ТС с использованием классификатора
| Поле | Тип | Описание | Возможные значения |
|---|---|---|---|
| batches | array | Массив, содержащий группы обработки изображений | Список объектов |
| batch | array | Массив, содержащий результаты обработки изображений в рамках одной группы | Список объектов |
| photoProcessing | array | Массив, содержащий результаты детекции и распознавания объектов на изображении | Список объектов |
| detections | array | Массив, содержащий координаты, размеры и оценку точности детекции каждого объекта | Список детекций |
| x | int | Горизонтальная координата левого верхнего угла BBox | 0…1920 |
| y | int | Вертикальная координата левого верхнего угла BBox | 0…1080 |
| width | int | Ширина BBox | 0…1920 |
| height | int | Высота BBox | 0…1080 |
| detectionProcessing | array | Массив, содержащий результаты дополнительной обработки объекта классификаторами | Список объектов |
| classifier | string | Название классификатора | car_brand_model_v2 |
| brand | string | Марка ТС | Porsche |
| model | string | Модель ТС | Cayenne |
| score | float | Оценка точности распознавания марки и модели ТС | 0.0000…1.0000 |
| score | float | Оценка точности детекции объекта | 0.0000…1.0000 |
| detector | string | Тип детектора | car |
Обработка полного кадра для детекции ТС и ГРЗ с классификатором#
Пример ответа:
{
"batches": [
{
"batch": [
{
"photoProcessing": [
{
"detections": [
{
"bbox": {
"height": 296,
"width": 410,
"x": 15,
"y": 90
},
"detectionProcessing": [
{
"detections": [
{
"bbox": {
"height": 21,
"width": 94,
"x": 121,
"y": 299
},
"class": 0,
"detectionProcessing": [
{
"classifier": "license_plate_ags_v1",
"score": 0.994
}
],
"score": 1.0
}
],
"detector": "grz"
}
],
"score": 0.9598
}
],
"detector": "car"
}
]
}
]
}
]
}
Таблица 45. Описание полей обработки полного кадра для детекции ТС и ГРЗ с классификатором
| Поле | Тип | Описание | Возможные значения |
|---|---|---|---|
| batches | array | Массив, содержащий группы запросов с обработанными изображениями | Список объектов |
| batch | array | Массив, содержащий обработку изображений в одном запросе | Список объектов |
| photoProcessing | array | Массив, содержащий информацию о детекции и распознавании объектов на изображении | Список объектов |
| detections | array | Массив, содержащий координаты, размер и оценку точности детекции объектов | Список детекций |
| x | int | Горизонтальная координата левого верхнего угла BBox | 0…1920 |
| y | int | Вертикальная координата левого верхнего угла BBox | 0…1080 |
| width | int | Ширина BBox | 0…1920 |
| height | int | Высота BBox | 0…1080 |
| detectionProcessing | array | Массив, содержащий результаты дополнительной обработки объекта | Список объектов |
| detections | array | Массив, содержащий координаты, размер и оценку точности детекции ГРЗ | Список детекций |
| x | int | Горизонтальная координата левого верхнего угла BBox | 0…1920 |
| y | int | Вертикальная координата левого верхнего угла BBox | 0…1080 |
| width | int | Ширина BBox | 0…1920 |
| height | int | Высота BBox | 0…1080 |
| class | int | Класс объекта | 0 (ГРЗ), 1 (ТС) |
| detectionProcessing | array | Массив, содержащий результаты дополнительной обработки объекта | Список объектов |
| classifier | string | Название классификатора | license_plate_ags_v1 |
| score | float | Оценка качества изображения ГРЗ | 0.0000…1.0000 |
| score | float | Оценка точности детекции ГРЗ | 0.0000…1.0000 |
| detector | string | Тип детектора | grz |
| score | float | Оценка точности детекции ТС | 0.0000…1.0000 |
| detector | string | Тип детектора | car |
Обработка полного кадра для детекции животных#
В этом режиме метод выполняет детекцию животных на полном кадре изображения.
Пример ответа:
{
"batches": [
{
"batch": [
{
"photoProcessing": [
{
"detections": [
{
"bbox": {
"height": 342.9569,
"width": 137.2958,
"x": 323.9004,
"y": 42.0744
},
"score": 0.9622,
"type": "big_animal"
}
],
"detector": "animal"
}
]
}
]
}
]
}
Таблица 46. Описание полей обработки полного кадра для детекции животных
| Поле | Тип | Описание | Возможные значения |
|---|---|---|---|
| batches | array | Массив, содержащий группы обработанных изображений | Список объектов |
| batch | array | Массив, содержащий результаты обработки изображений в одном запросе | Список объектов |
| photoProcessing | array | Массив, содержащий результаты детекции объектов на изображении | Список объектов |
| detections | array | Массив, содержащий координаты, размер и оценку точности детекции каждого животного | Список детектированных животных |
| x | int | Горизонтальная координата левого верхнего угла BBox | 0…1920 |
| y | int | Вертикальная координата левого верхнего угла BBox | 0…1080 |
| width | int | Ширина BBox | 0…1920 |
| height | int | Высота BBox | 0…1080 |
| score | float | Оценка точности детекции животного | 0.0000…1.0000 |
| type | string | Тип животного | big_animal, small_animal, bird |
| detector | string | Тип детектора | animal |
Обработка полного кадра для детекции дыма и огня#
В этом режиме метод выполняет детекцию дыма и огня на полном кадре изображения.
Пример ответа:
{
"batches": [
{
"batch": [
{
"photoProcessing": [
{
"detections": [
{
"bbox": {
"height": 540,
"width": 960,
"x": 0,
"y": 0
},
"score": 0.8205,
"type": "fire"
}
],
"detector": "smoke_fire"
}
]
}
]
}
]
}
Таблица 47. Описание полей обработки полного кадра для детекции дыма и огня
| Поле | Тип | Описание | Возможные значения |
|---|---|---|---|
| batches | array | Массив, содержащий группы обработанных изображений | Список объектов |
| batch | array | Массив, содержащий результаты обработки изображений в одном запросе | Список объектов |
| photoProcessing | array | Массив, содержащий результаты детекции объектов на изображении | Список объектов |
| detections | array | Массив, содержащий координаты, размер и оценку точности детекции каждой зоны обнаружения | Список детектированных зон |
| x | int | Горизонтальная координата левого верхнего угла зоны детекции | 0…1920 |
| y | int | Вертикальная координата левого верхнего угла зоны детекции | 0…1080 |
| width | int | Ширина зоны детекции | 0…1920 |
| height | int | Высота зоны детекции | 0…1080 |
| score | float | Оценка точности детекции дыма или огня | 0.0000…1.0000 |
| type | string | Тип обнаруженного объекта | fire, black_smoke, white_smoke, none |
| detector | string | Тип детектора | smoke_fire |
Обработка кропа изображения с ТС#
В этом режиме метод выполняет распознавание транспортного средства на кропе изображения. При использовании классификатора car_brand_model_v2 метод распознает марку и модель ТС. При необходимости также могут использоваться другие классификаторы ТС.
Пример ответа:
{
"batches": [
{
"batch": [
{
"photoProcessing": [
{
"brand": "Audi",
"classifier": "car_brand_model_v2",
"model": "A8",
"score": 0.9837
}
]
}
]
}
]
}
Таблица 48. Описание полей обработки кропа изображения с ТС
| Поле | Тип | Описание | Возможные значения |
|---|---|---|---|
| batches | array | Массив, содержащий группы обработанных изображений | Список объектов |
| batch | array | Массив, содержащий результаты обработки изображений в одном запросе | Список объектов |
| photoProcessing | array | Массив, содержащий результаты распознавания объектов на изображении | Список объектов |
| classifier | string | Название классификатора | car_brand_model_v2 |
| brand | string | Марка ТС | Audi |
| model | string | Модель ТС | A8 |
| score | float | Оценка точности распознавания марки и модели ТС | 0.0000…1.0000 |
Обработка кропа изображения с ГРЗ#
В этом режиме метод выполняет классификацию ГРЗ на кропе изображения. Если на изображении присутствует номерной знак, выбранный классификатор выполняет его распознавание или оценку качества изображения в зависимости от используемого классификатора.
Пример ответа:
{
"batches": [
{
"batch": [
{
"photoProcessing": [
{
"classifier": "license_plate_ags_v1",
"score": 0.9715
}
]
}
]
}
]
}
Таблица 49. Описание полей обработки кропа изображения с ГРЗ
| Поле | Тип | Описание | Возможные значения |
|---|---|---|---|
| batches | array | Массив, содержащий группы обработанных изображений | Список объектов |
| batch | array | Массив, содержащий результаты обработки изображений в одном запросе | Список объектов |
| photoProcessing | array | Массив, содержащий результаты работы классификатора ГРЗ | Список объектов |
| classifier | string | Название классификатора | license_plate_ags_v1 |
| score | float | Оценка качества изображения ГРЗ | 0.0000…1.0000 |
Настройка детекторов#
Метод позволяет получить текущие настройки детекторов ТС и ГРЗ, включая порог точности детекции и размер входного изображения для каждого детектора.
Пример ответа:
{
"detectorsSettings": [
{
"detector": "car",
"scoreThreshold": 0.5,
"imageSize": 640
},
{
"detector": "grz",
"scoreThreshold": 0.5,
"imageSize": 220
}
]
}
Таблица 50. Описание полей настройки детекторов
| Поле | Тип | Описание | Возможные значения |
|---|---|---|---|
| detectorsSettings | array | Массив, содержащий текущие настройки детекторов | Список объектов |
| detector | string | Тип детектора | car, grz |
| scoreThreshold | float | Порог точности детекции | 0.0000…1.0000 |
| imageSize | int | Размер входного изображения, используемого детектором | 100…1280 |