Отправьте изображение в yolo (darknet) и получите положение и тип объекта - PullRequest
0 голосов
/ 11 мая 2018

Есть ли возможность отправить изображение с C # на yolo и получить все обнаруженные позиции и типы объектов.

Например, на демонстрационном изображении

type      | x   | y   | width | height
-------------------------------------------
bicycle   | 214 | 150 | 450   | 378
dog       | 150 | 260 | 210   | 350
truck     | 540 | 100 | 250   | 150

yolo detection result

Пример кода

public class Yolo
{
    public ObjectPosition[] GetObjects(Image image)
    {
        //return yolo result
    }
}

public class ObjectPosition
{
    public string Type { get; set; }
    public int X { get; set; }
    public int Y { get; set; }
    public int Width { get; set; }
    public int Height { get; set; }
}

Ответы [ 3 ]

0 голосов
/ 30 мая 2018

Да, вы можете использовать этот пакет nuget Alturos.Yolo для ваших требований.Больше информации вы нашли на странице продукта .

Установка зависимости

Сначала установите эти два пакета nuget, первый - логика с opencvи проект yolo c ++, второй содержит данные конфигурации yolo.

PM> install-package Alturos.Yolo
PM> install-package Alturos.YoloV2TinyVocData

Пример кода

using (var yoloWrapper = new YoloWrapper("yolov2-tiny-voc.cfg", "yolov2-tiny-voc.weights", "voc.names"))
{
    var items = yoloWrapper.Detect("image.jpg");
}
0 голосов
/ 31 мая 2018

Я использую https://github.com/AlexeyAB/darknet fork для использования yolo в Windows. Существуют проекты yolo_cpp_dll и yolo_cpp_dll_no_gpu для сборки DLL Yolo. Эта функция «обнаружения» получает изображение и возвращает набор обнаружений, каждое из которых имеет структуру: {x, y, w, h, prob, class_id}. Существует также пример использования netnet.py с этой DLL из python. Я не думаю, что это будет сложнее с C #.

0 голосов
/ 11 мая 2018

YOLO, по-видимому, не предоставляет конечную точку для получения результатов и ограничивающих рамок.

Если вы прочитаете веб-страницу YOLO, вы увидите, что вместо этого в командной строке она будет возвращать строкис объектами и оценками достоверности, а также ограничивающие рамки (как видно на изображении демонстрационных прогнозов) на самом деле выводятся в файлpretions.png.

Полагаю, если вы хотите эти ограничивающие рамки,вам, вероятно, придется скачать исходный код YOLO и настроить его консольный вывод, чтобы также возвращать эти значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...