我已经为对象检测下载了10个类对象的数据集。数据集不分为培训,验证和测试。然而,作者在他的论文中提到将数据集分为20%训练,20%验证和60%测试,图像随机选择。
按照作者所说的标准,我随机选择了20%的图像用于培训,20%的图像用于验证,60%的图像用于测试。
我想知道几件事
1)我是否需要在训练集或验证集或测试集中放置困难的图像?例如,目前测试集中有41个困难图像,训练集中有30个,验证集中有20个
2)如何确保所有十个对象类均匀分布?
的更新
3)理想情况下,对于平衡分割困难的图像应该平均分配?如果测试更难,或者培训更难或验证更多,它会对结果产生多大影响?
十个级别:飞机,储存罐,棒球场,网球场,篮球场,地面跑道场,桥梁,船舶,港口和车辆。
我有650张图片,其中466张图片只有一个类,图片中有多个对象 飞机= 88张图像,储存罐= 10张图像,棒球场= 46张图像,网球场= 29张图像,篮球场= 32张图像,地面轨迹场= 55张图像,桥梁58张图像,船舶= 36张图像,港口27张图像,以及车辆= 85张图像。
剩余的184张图片有多个类。
共有757架飞机,302艘船,655个储油箱,390个棒球场,524个网球场,159个篮球场,163个地面跑道场,224个港口,124座桥梁和477辆车
答案 0 :(得分:1)
最常见的技术是随机选择。例如,如果您有1000个图像,则可以创建一个包含每个文件名称的数组,并且可以使用随机排列来对元素进行分类。然后你可以使用前200个元素进行训练,接下来的200个元素用于验证,其他元素用于测试(在20%,20%,60%的情况下)
如果存在极不平衡的类,则可以在每组中强制使用相同比例的类。要做到这一点,你必须按照我提到的课程进行。
您不应该手动选择图像。如果您知道数据集中存在一些困难的图像,则无法手动选择它们以将它们包含在列车,验证和测试集中。
如果您想要对算法进行公平比较,如果一些图像可以高度修改精度。您可以多次重复随机分割。在某些情况下,训练集中会有许多困难的图像,而在验证或测试集中则会出现其他情况。然后,您可以提供准确度的平均值和标准差(或您使用的指标)。
<强>更新:强>
我看到,在您的描述中,图像中有多个对象。不是吗? 例如,你有两艘船和一座桥吗? 我用来处理每个图像中包含单个对象的数据集。然后,为了检测图像中的多个对象,我扫描图像的不同部分,寻找单个对象。
您提到的论文的作者可能是随机分割数据集的。如果你在研究论文中使用更复杂的部门,你应该提到它。
关于你如何在每一组中获得更多不同图像的效果的问题,答案非常复杂。这取决于算法以及与验证和测试集的图像进行比较时训练集的图像有多相似。
使用复杂模型(例如具有大量图层和神经元的神经网络),您可以在训练集上获得所需的准确度(例如100%)。然后,如果图像与验证和测试集中的图像非常相似,则准确性将类似。但是如果它们不是很相似,那么你就会过度装配,并且验证和测试装置的准确性会更慢。为了解决这个问题,你需要一个更简单的模型(例如减少神经元的数量或使用一个好的正则化技术),在这种情况下,训练集的准确性会更慢,但验证和测试集的准确性将更接近于训练集获得的准确度。