理解对象检测数据的使用

3视图(30天)
你好,
我有一个问题关于“加载数据”部分在这段代码中,这是来自Yolo v3意思对象检测指南 在这里
本例使用车辆的图像。它有一个地面实况文件,以及一个数据集。
我可以看到地上MATLAB中的真理文件文件夹,但我不明白它的数据集。我不确定我理解一个数据集和地面实况数据之间的差异。
我想要做的是改变代码,以便它检测到的脸,而不是汽车。
我已经下载了一个数据集称为“CelebA”。我现在有一个文件夹,其中包含图像的面孔,他们编号000001,000002等……
还有一个文本文件,其中包含许多行,每个包含一个图像文件名称和坐标的边界框(我认为马克的位置坐标的脸的形象,这是地面实况数据的一部分)。
我需要地面实况数据加载到matlab,以及数据集。
我会感激帮助实现这个改变。
谢谢你!
% %下载pretrained网络(设置为“真正的”训练网络)
doTraining = false;
如果~ doTraining
preTrainedDetector = downloadPretrainedYOLOv3Detector ();
结束
% %加载数据(修改面临数据集)
data =负载(“vehicleDatasetGroundTruth.mat”);
vehicleDataset = data.vehicleDataset;

答案(1)

Prateek拉伊
Prateek拉伊 2021年10月9日
我的理解,你想学习如何加载数据集和Yolo v3对象检测MATLAB意思示例中使用。此外,你想使用自己的数据来训练Yolo v3意思对象检测模型。
第1部分:
% %下载pretrained网络(设置为“真正的”训练网络)
doTraining = false;
如果~ doTraining
preTrainedDetector = downloadPretrainedYOLOv3Detector ();
结束
这部分的代码是用来决定是否你想训练网络或使用pretrained网络。“doTraining”设置为“真正的”来训练网络。
第2部分:
% %加载数据(修改面临数据集)
data =负载(“vehicleDatasetGroundTruth.mat”);
vehicleDataset = data.vehicleDataset;
在这里,数据的变量将存储垫文件反过来是一个1×1和1场即vehicleDataset结构。
现在,“vehicleDataset”变量将存储主要数据集是295 * 2表。第一列包含图像文件的位置路径和第2列包含边界框坐标。这个边界框指定左上角,在像素边界框的大小。边界框的形式 (x y宽度高度)
现在,如果你想使用你的数据应用后的变化。
步骤1:创建一个表中:
  • 第一列的位置路径应该包含你的照片。
  • 第二列应该包含边界框向量按指定格式。
步骤2:“vehicleDataset”变量设置为这个新创建的表。
5个评论
Yonathan Zarkovian
Yonathan Zarkovian 2021年10月24日
usig火车函数替换原来的训练是可可数据库,还是添加,如转移培训?
顺便说一下,我得到这个错误当我doTraining设置为“true”:
“generateTargets”用于目标检测使用YOLO v3意思深入学习。
错误在modelGradients(第11行)
[boxTarget, objectnessTarget classTarget、objectMaskTarget boxErrorScale] = generateTargets (gatheredPredictions,
错误在deep.internal.dlfeval(第17行)
[varargout {1: nargout}] =乐趣(x {:});
错误在dlfeval(40行)
[varargout {1: nargout}] = deep.internal.dlfeval(乐趣,变长度输入宗量{:});
错误在yolov3_Copy(第110行)
(渐变、州lossInfo) = dlfeval (@modelGradients、yolov3Detector XTrain, YTrain, penaltyThreshold);

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!