问题标签 [retinanet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
647 浏览

python - 如何从带有图像注释的 CSV 文件中提取值并将它们附加到 Python 中用于 RetinaNet 的新 CSV 文件?

我正在尝试将 VGG Image Annotator 软件中的 csv 文件转换为可在 RetinaNet 中使用的 csv 文件。我需要的 RetinaNet 训练数据格式是:path/to/image.jpg,x1,y1,x2,y2,class_name. 这是我来自 VIA 的 CSV 文件的示例:+=============+===========+============ ==+============+==================================== ======================+===+ | 文件名 | 文件大小 | region_count | region_id | region_shape_attributes | | +=============+============+==============+======== ===+================================================ ==========+===+ | img--30.png | 2331731 | 10 | 0 | {"name":"rect","x":65,"y":778,"width":108,"height":65} | | +-------------+------------+--------------+-------- ---+---------------------------------------------------------- ----------+---+

基本上,我需要从括号中提取x、y、宽度和高度属性并将它们附加到列表中。这是我的python代码:

此代码输出:

0 投票
1 回答
41 浏览

machine-learning - FCN 头是如何对 RetinaNet 的 FPN 特征进行卷积的?

我最近阅读了 RetinaNet 论文,但我还没有理解一个小细节:
我们有从 FPN (P2,...P7) 获得的多尺度特征图。
然后两个 FCN 头(分类器头和回归器头)对每个特征图进行卷积。
然而,每个特征图都有不同的空间尺度,那么,在所有卷积参数都是固定的情况下,分类器头和回归器头如何保持固定的输出量?(即步幅为 1 的 3x3 过滤器等)。

看看PyTorch 的 RetinaNet 实现中的这条线,我看到头部只是对每个特征进行卷积,然后所有特征都以某种方式堆叠(它们之间唯一的共同维度是 Channel 维度,它是 256,但在空间上它们是彼此的两倍)。
很想听听它们是如何结合在一起的,我无法理解这一点。

0 投票
1 回答
263 浏览

deep-learning - 谁能解释一下 Feature Pyramid Networks for Object Detection 论文中的“非滑动窗口”声明?

Feature Pyramid Networks for Object Detection 采用 RPN 技术创建检测器,并使用滑动窗口技术进行分类。5.2部分怎么会有“非滑窗”的说法?

论文中的扩展声明: 5.2。使用 Fast/Faster R-CNN 进行对象检测 接下来,我们研究 FPN 用于基于区域(非滑动窗口)的检测器。

据我了解,FPN 在检测任务中使用滑动窗口。https://medium.com/@jonathan_hui/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106c中也提到了这一点 ,声明是

“FPN 提取特征图,然后馈入检测器,RPN 说,用于对象检测。RPN 在特征图上应用一个滑动窗口来预测每个位置的对象性(是否有对象)和对象边界框。 "

提前谢谢你。

0 投票
0 回答
539 浏览

python - 当我使用 keras-retinanet / resnet50 获得 0.000 的 mAP 时该怎么办?

我目前正在使用fizyr/retinanet来训练一个检测 3 个类的模型。当我训练模型时,我在所有课程中都获得了 0.0000 的精度。在几轮训练中,我得到了稍高的精度,例如 0.0007。

我看过这些线程,但他们的解决方案似乎不起作用: https ://github.com/fizyr/keras-retinanet/issues/647和https://github.com/fizyr/keras-retinanet/问题/1351

也就是说,我在训练命令中添加了 --image-max-side 参数。我做了这个 2560 像素。我正在使用的图像是 1920X2560 像素。训练集是 916 张图像。验证集是 258 张图像。

我用来训练模型的完整命令是:

我也尝试过运行上述命令而不将权重初始化为 coco。这会产生相同的结果。我已将 train.py 文件复制到我的父目录中。

我必须在 train.py 中包含这段额外的代码,这样训练就不会因 GPU 耗尽资源而停止:

这是我的 train.csv 文件中的一个示例:

这是我的 classes.csv 文件:

我的安装设置是:Windows 10
Tensflow 2.3.1
CUDA Toolkit 11.0
CuDNN v7.6.3

精度不会在多个时期内发生变化。以下是输出示例:

如果有什么建议可以尝试提高我的精度/解决为什么找不到任何对象,请告诉我?

0 投票
1 回答
224 浏览

python - 训练时出错:tensorflow:您的输入没有数据;中断训练

我正在尝试执行与以下链接相关联的 colab 笔记本,该链接训练 Keras Retinanet 以便在图像中查找对象:

https://www.freecodecamp.org/news/object-detection-in-colab-with-fizyr-retinanet-efed36ac4af3/

但是,即使我完全遵循指南,当我用这条线开始火车时:

!keras_retinanet/bin/train.py --freeze-backbone --random-transform --weights {PRETRAINED_MODEL} --batch-size 8 --steps 500 --epochs 10 csv annotations.csv classes.csv

我在第一个时代收到此错误:

WARNING:tensorflow:Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches (in this case, 5000 batches). You may need to use the repeat() function when building your dataset.

这即使,我再说一遍,我完全按照笔记本。

我还尝试使用 Pascal VOC 进行训练,因为在官方 github 存储库(由 fizyr 指定)中指定,但我再次收到此错误。

有人能帮我吗?谢谢

0 投票
1 回答
848 浏览

python - AttributeError:在给定的实例中找不到字段“pred_masks”

我在 colab 上使用 RetinaNet Detectron2 训练了一个模型。培训成功,但我无法在图像上进行测试。

代码:

错误:

/content/drive/My Drive/Detectron/test/wh_dresscode_4969_jpg.rf.5a2702518691d3d6f9cef7ad7977e5c8.jpg 数据类型:<class 'detectron2.structures.instances.Instances'> AttributeError Traceback(最近一次调用最后一次)

AttributeError:在给定的实例中找不到字段“pred_masks”!

0 投票
0 回答
120 浏览

tensorflow - 如何使用 resnet50_coco_best_v2.1.0 进行迁移学习

我一直在搞乱如何从保存的模型中进行转移。我的情况是resnet50_coco_best_v2.1.0.h5,加载后就像

然后我尝试将它添加到我的新模型中

如果您能给我提供有关如何从保存的模型创建新模型的任何帮助,我将不胜感激。

0 投票
1 回答
22 浏览

computer-vision - RetinaNet 特征图维度问题

我已经阅读了很多关于对象检测的内容,特别是在 RetinaNet 上。但是这部分的实现对我来说不是那么清楚。

据说,所有金字塔级别的特征图都传递给权重共享子网络,用于分类和边界框回归。

但是,当子网络的权重在所有金字塔级别共享时,这怎么可能呢?输出将具有不同的维度,因为据我了解,如果我没记错的话,每个子网络的最后一层都与输出完全连接。在原始论文中没有澄清。这里是否发生了一些零填充?

在 Faster-RCNN 架构中,ROI 池化层用于解决这个维度问题,但在这种情况下我迷路了。

0 投票
0 回答
74 浏览

python - 使用来自站点 keras.io 的视网膜代码示例进行对象检测的正确数据集格式

我正在尝试在我自己的数据集上使用来自 keras.io 的视网膜代码示例的对象检测,但我找不到正确的数据格式。代码本身是在一些 TFrecord 数据上训练的,我找不到我的数据集的格式应该是什么。

我检查了代码函数以找出正确的数据格式,并且我想出了一个字典数据示例,正如您在这张图片中看到的那样:

我自己的字典数据及其格式

但我不断收到以下错误:

我收到的错误

谁能帮忙。

0 投票
1 回答
39 浏览

python - 转换边界框格式

我想将 P-DESTRE 数据集与视网膜网络模型一起使用

但是我在绑定框格式方面遇到了问题,因为数据集边界框格式是:

x、y、h、w(左上列、左上行、高度、宽度)

在该模型边界框格式上写的位置是 (x1,y1,x2,y2)

你能告诉我如何将数据集格式转换为模型格式吗