Детекторы#
Детекторы, используемые в подсистеме CARS_API, предназначены для обнаружения ТС и ГРЗ на изображениях, а также выделяют соответствующие ограничивающие прямоугольники (BBox).
Конфигурация детекторов ТС и ГРЗ задается в конфигурационном файле
/data/vehicleEngine.conf(подробнее в Приложении 1).Тестирование работы детекторов доступно через интерфейс CARS_API Tester (подробнее в «CARS_Analytics. Руководство администратора»).
Детектор ТС#
Детектор ТС предназначен для обнаружения ТС на изображениях, также позволяет получать информацию о положении ТС в видеопотоке или видеофайле.
Детектор ТС последней версии включает алгоритм повторной детекции (редетекции) для повышения точности, возможность работы с изображениями, полученными с камер, установленных на значительной высоте (birdview), а также настройку дополнительных параметров детектора ТС.
Пример входного изображения представлен на Рисунке 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 |
Детектор дыма и огня#
Детектор дыма и огня предназначен для детекции возгораний на изображениях, видеопотоках и видеофайлах.
Пример входного изображения представлен на Рисунке 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 | Горизонтальная координата левого верхнего угла зоны детекции | 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 - нет возгорания. | |||
| execution_time | int | Время исполнения в миллисекундах | 0…1000 |
| detector | string | Название типа детектора | smoke_fire |
Детектор животных#
Детектор животных предназначен для детекции животных на изображениях, видеопотоках и видеофайлах.
Пример входного изображения представлен на Рисунке 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 - птица | |||
| execution_time | int | Время исполнения в миллисекундах | 0…1000 |
| detector | string | Название типа детектора | animal |
Универсальный метод#
Универсальный метод предназначен для детекции и распознавания ТС, ГРЗ, животных, дыма и огня на изображениях, видеопотоках и видеофайлах. Данный метод позволяет в одном запросе обработать несколько типов объектов, которые ранее требовали отдельные запросы. Например, можно одновременно получить детекцию транспортного средства и номерного знака, а также другие объекты, такие как животные или дым. Это сокращает количество запросов и ускоряет процесс получения результатов.
Метод поддерживает несколько режимов обработки изображения.
В структуре 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.0…1.0 |
| score | float | Оценка точности детекции объекта | 0.0…1.0 |
| 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.0...1.0 |
| score | float | Оценка точности детекции ГРЗ | 0.0...1.0 |
| detector | string | Тип детектора | grz |
| score | float | Оценка точности детекции ТС | 0.0…1.0 |
| 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 |
Обработка кропа изображения с ТС#
В этом режиме метод выполняет детекцию и распознавание транспортных средств, а также классификацию номерных знаков, если они присутствуют на изображении. Кроме того, осуществляется классификация транспортного средства по бренду и модели.
Пример ответа:
{
"batches": [
{
"batch": [
{
"photoProcessing": [
{
"brand": "Audi",
"classifier": "car_brand_model_v2",
"model": "A8",
"score": 0.9837
}
]
},
]
}
]
}
Обработка кропа изображения с ГРЗ#
В этом режиме происходит исключительно классификация номерных знаков на изображении. Если номерной знак присутствует, производится его классификация для распознавания номеров.
{
"batches": [
{
"batch": [
{
"photoProcessing": [
{
"classifier": "license_plate_ags_v1",
"score": 0.9715
}
]
},
]
}
]
}
Настройка детекторов#
Настройка детекторов позволяет получить текущие параметры детекторов ТС и ГРЗ, включая пороги точности детекции и размеры изображений. Метод возвращает актуальные настройки для этих детекторов.
Пример ответа:
{
"detectorsSettings": [
{
"detector": "car",
"scoreThreshold": 0.5,
"imageSize": 640
},
{
"detector": "grz",
"scoreThreshold": 0.5,
"imageSize": 220
}
]
}
Таблица 48. Описание полей настройки
| Поле | Тип | Описание | Возможные значения |
|---|---|---|---|
| detectorsSettings | array | Массив с текущими настройками для детекторов ТС и ГРЗ | Список объектов с параметрами настройки |
| detector | string | Тип детектора | car, grz |
| scoreThreshold | float | Порог точности детекции | 0.0000…1.0000 |
| imageSize | int | Размер изображения для детектора | 100…1280 |