如何解决Matlab 的detectMaskRCNN 函数错误与变量之间的大小差异
背景信息 我是编码新手,并且一直致力于掩码 rcnn(修改后的更快 rcnn)项目以识别图像中的 Stryker Miltary Vehicles。我在 matlab 的 mask rcnn 训练示例和 matlab 答案的帮助下毫无问题地训练了 maskrcnn 网络,但是当我尝试运行函数 detectMaskRCNN 时,出现错误。主要错误是在 Matlab 的 detectMaskRCNN 函数中运行第 39-45 行后,YRCNNReg 变量和 bBoxes 的大小不同。我知道在阅读文档 YRCNNReg 应该是 [numClasses*4 numObs] 之后,YRCNNReg 变量的大小不正确。我尝试遍历函数中如何创建 YRCNNReg 的代码,但我无法理解多层中发生了什么。我所知道的是,两个变量都使用 numClasses 但 YRCNNReg 包括背景类,而 bBoxes 不包括。例如,YRCNNReg 大小是 8x1000 单个,bBoxes 是 1000x4 单个。传入的 params 参数表示要检测的 numClasses 为 1。所以我不确定如何解决这个大小差异。非常感谢您的帮助!
问题 所以我的问题是“我怎样才能让 YRCNNReg 达到正确的大小?在这个过程中的什么地方导致了这种差异?”
参考链接: https://www.mathworks.com/help/deeplearning/ug/instance-segmentation-using-mask-rcnn.html
这类似于我用来训练我的神经网络的训练示例,但我更改了试图识别的类。
错误:
Arrays have incompatible
sizes for this operation.
Error in
helper.applyRegression
(line 24)
gx = BoxIn(:,3).*x +
px; % center position
Error in detectMaskRCNN
(line 93)
bBoxes =
helper.applyRegression(bBoxes,reg,params.MinSize,params.MaxSize);
detectMaskRCNN 正在运行的代码:
line 38: % Run prediction on the inputs
line 39: [bBoxes,YRCNNClass,YRCNNReg,featureMap] = predict(...
line 40: dlnet,X,'Outputs',outputNodes);
line 41:
line 42 % Extract data from the output dlarrays
line 43: bBoxes = extractdata(bBoxes)';
line 44: YRCNNClass = extractdata(YRCNNClass);
line 45: YRCNNReg = extractdata(YRCNNReg);
...
line 93: bBoxes = helper.applyRegression(bBoxes,params.MaxSize);
https://github.com/matlab-deep-learning/mask-rcnn/blob/main/detectMaskRCNN.m
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。