如何制作自己的自定义图像数据集



由于我正在进行我的项目,即检测跑道上发现的FOD(异物Debirs(。FOD包括任何可能对飞机造成损坏的东西,如螺母、螺栓、螺钉、锁紧线、塑料碎片、石头等。现在我在互联网上搜索了任何图像数据集,但没有与FOD相关的数据集。现在,我的问题是指导我如何制作自己的图像数据集,然后用于训练目的。

请指导我制作用于分类和检测目的的图像数据集。以及所需的数据预处理。感谢并等待回复!

虽然这个问题对您的要求和机器规格有点模糊,但我会尽力回答。您需要对象检测来完成任务。有许多型号可供您使用,如Yolo、SSD等。

要创建自己的数据集,您可以按照以下步骤操作:

  • 在各种条件、视点和背景下,为您感兴趣的对象拍摄大量图像。(每节课2000左右就足够了(
  • 现在注释(或标记(对象在图像中的位置。如果使用Yolo,请使用Yolo标记进行注释。SSD和其他型号应该有其他类似的工具
  • 现在你可以开始训练了

这些步骤应该让你开始,或者至少为你指明正确的方向。

您可以使用此代码构建自己的数据集。这是我写的,而且效果很好。您需要导入库并添加DATADIR

if __name__ == "__main__":

for category in CATEGORIES:
path = os.path.join(DATADIR, category)
class_num = CATEGORIES.index(category)
for img in os.listdir(path):
try:
img_array = cv2.imread(os.path.join(path,img))
new_array = cv2.resize(img_array, (IMG_SIZE, IMG_SIZE))
training_data.append([new_array, class_num])
except Exception as e:
pass


for features, label in training_data:
x_train.append(features)
y_train.append(label)


#create pikle
pickle_out = open("x_train.pickle", "wb")
pickle.dump(x_train, pickle_out)
pickle_out.close()

pickle_out = open("y_train.pickle", "wb")
pickle.dump(y_train, pickle_out)
pickle_out.close()


如果您完全从头开始,您可以使用"数据集目录";,可在Play商店购买。该应用程序可帮助您使用手机创建自定义数据集。你必须登录你的谷歌硬盘,这样你的数据集就存储在硬盘中,而不是你的手机上。此外,它还包含用于分类和回归预测模型的实体标签。目前,该应用程序支持二进制图像分类和图像回归。

希望这有帮助!

下载链接:https://play.google.com/store/apps/details?id=com.applaud.datasetdirectory

最新更新