Перейти к содержанию

Детекторы#

Детекторы, используемые в подсистеме 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