包含水果的高质量图像数据集。包括以下水果:苹果(不同品种:金色,金红色,格兰尼史密斯,红色,红色美味),杏,鳄梨,鳄梨成熟,香蕉(黄色,红色,手指),仙人掌果,哈密瓜(2个品种) ),Carambula,樱桃(不同品种,雷尼尔),樱桃蜡(黄色,红色,黑色),板栗,克莱门汀,科科斯,日期,西番莲,葡萄(蓝色,粉红色,白色(不同品种)),葡萄柚(粉红色,白色) ),番石榴,哈克贝利,猕猴桃,柿子,Kumsquats,柠檬(正常,梅尔),石灰,荔枝,柑,芒果,芒果,玛拉库,甜瓜Piel de Sapo,桑树,油桃,橙,木瓜,百香果,桃(不同品种),Pepino,梨(不同品种,Abate,怪物,威廉姆斯),酸浆(正常,有稻壳),菠萝(正常,迷你),Pitahaya红,李子,石榴,柚子蜜,木瓜,红毛丹,覆盆子,红醋栗, Salak,草莓(普通,楔形),Tamarillo,Tangelo,番茄(不同品种,栗色,樱桃红),核桃。
数据集属性
图片总数:47593(每张图片一张)。
训练集大小:35625幅图像。
验证集大小:11968幅图像。
类别数量:71(种水果)。
图像大小:100×100像素。
文件名格式:image_index_100.jpg(例如32_100.jpg)或r_image_index_100.jpg(例如r_32_100.jpg)或r2_image_index_100.jpg。“r”代表旋转的水果。“r2”表示水果围绕第3轴旋转。“100”来自图像尺寸(100×100像素)。不同品种的相同水果(例如苹果)被存储为属于不同的类别。
存储库结构
文件夹 Training/ 和 Test/ 分别包含用于训练和测试目的的图像。
文件夹test-multiple_fruits包含多个水果的图像。其中一些被其他水果部分覆盖。这是一个真实世界检测的优秀测试用例。
文件夹src / image_classification包含用于训练神经网络的python代码。使用TensorFlow库。
文件夹src / utils包含用于从后台提取水果的C ++代码。
我们如何创建数据集
将水果放置在低速马达的轴上(3rpm),记录20秒的视频短片。使用罗技C920相机拍摄水果。这是目前可用的最佳网络摄像机之一。
在水果后面,我们放置了一张白纸作为背景。
然而,由于光照条件的变化,背景并不统一,我们编写了一个专门的算法,从背景中提取水果。该算法是洪水填充类型:我们从图像的每个边缘开始,并在那里标记所有像素,然后标记在已标记像素的邻域中发现的颜色之间的距离小于规定值的所有像素。我们重复上一步直到没有更多的像素可以被标记。
所有标记的像素都被认为是背景(然后被填充白色),其余像素被认为属于该对象。2个相邻像素之间的距离的最大值是算法的参数, 对每个视频通过试错设置了经验值。