Обрезать помеченные объекты в отдельное изображение в аннотации компьютерного зрения (CVAT)?

#matlab #computer-vision #weka #cvat

#matlab #компьютерное зрение #века #cvat

Вопрос:

У меня есть набор кадров, в которых видны разные животные. Я прокомментировал их, используя функцию полигона CVAT. Теперь все, что мне нужно сделать, это обрезать часть аннотации и извлечь объекты в виде CSV-файла.

Я могу извлечь функции с помощью VGG16 в MATLAB, используя приведенный ниже код:

 net = vgg16;
I = imread('myImage.jpg');
featureMap = activations(net, I, 'pool5');
disp(featureMap);
 

Поскольку я хочу использовать свои данные в Weka, и я хочу избавиться от файлов изображений, и я хочу обучить свой алгоритм, используя эти функции. Алгоритмы, которые я хочу использовать, — это Дерево решений, SVM и RCNN.

Как я могу обрезать аннотированную часть в CVAT? и как я могу получить свои функции в виде CSV-файла?

Ответ №1:

Сначала я загрузил результаты COCO CVAT с выходными изображениями в Roboflow и обрезал изображения на основе определенного прямоугольника в файле COCO (JSON).

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

Наконец, используя MATLAB, я выполнил следующий код для извлечения объектов с использованием vgg16:

 imds = imageDatastore('E:/...', ...
'IncludeSubfolders',true,'LabelSource','foldernames');
%% 
[imdsTrain, imdsValidation] = splitEachLabel(imds,0.7,'randomized');
%% 
net = vgg16;
%% 
layer = 'fc8';
%% 
featuresTrain = activations(net, imdsTrain, layer, 'OutputAs','channels');
featuresTest = activations(net, imdsValidation, layer, 'OutputAs','channels');
 

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