zerollzeng / tensorrt-zoo

openpose, yolov3 with tiny-tensorrt
86 stars 25 forks source link

YoloV3.cpp mpDetCpu.resize(63883)? #5

Closed guods closed 4 years ago

guods commented 4 years ago

63883是怎么计算的?和网络输入尺寸有什么关系?

zerollzeng commented 4 years ago

(13x13+26x26+52x52)x3x(4+1+1)+1 = 63883 解释一下: yolov3的输出包括三个尺度(划分成13x13,26x26,52x52)的grid,每个grid预测三个输出,输出内容包括(x,y,w,h,是物体的score,物体类别score), 最后那个其实就是mpDetCpu[0], 存储着目标框个数.这个你可以在代码里看到

所以应该是(13x13+26x26+52x52)x3x(4+1+N) + 1, 其中N代表类别数

guods commented 4 years ago

@zerollzeng 感谢你的回复。我这仍有一些疑问,你测试的时候用的coco数据集的yolov3模型吗?coco类别80(不包含背景),根据(13x13+26x26+52x52)x3x(4+1+N) + 1, 你计算时用的N为什么是1

zerollzeng commented 4 years ago

我这个测试用了我自己的行人检测模型,所以只有一类.如果你要用你的模型,这个是可以改的

zerollzeng commented 4 years ago

YoloV3(const std::string& prototxt, const std::string& caffeModel, const std::string& engineFile, const std::vector<std::string>& outputBlobName, const std::vector<std::vector<float>>& calibratorData, int maxBatchSize, int mode, int yoloClassNum, int netSize); yoloClassNum这个参数设为你自己的类别即可

guods commented 4 years ago

@zerollzeng 感谢您的回复,我明白了。