目前,我有一个(大学)作业,我们需要使用任何技术创建一个神经网络,该网络可以从图像中检测单个对象。但是我觉得我缺乏对这些算法的工作原理的理解,我现在读过有关YOLO,CNN和RCNN的论文。但是,这种算法(使用边界框显示对象的位置)的输出结果是没有解释的(至少对我而言不明显)。
我知道输入到这些网络中的数据是图像像素值的数组,但是输出的是什么?
我认为它是如何工作的,是一个1对象检测算法的输出将是一个包含边界框的高度/宽度和x / y位置的数组。但是,这引出了我这个问题:这些算法如何推广到 n 个对象。
我从未在大学对我解释过它,也很容易发现,这让我感到惊讶。我发现的每个 对象检测简介 都没有提到这个基本事实。
答案 0 :(得分:0)
对于多目标检测,可以用固定的网格“覆盖”图像。对于网格中的每个像元,输出将包括该像元中是否包含给定对象的质心,以及随后的包围盒尺寸。假设每个网格单元仅包含单个对象的质心,如果单元分辨率足够高,通常就是这种情况。
然后,网络输出的大小与网格单元的数量成正比(例如,每个单元具有对象质心的XY坐标,边界框的宽度/高度以及单元中存在唯一对象的置信度)。