簡體   English   中英

創建自定義數據集

[英]Creating custom datasets

我想這是一個廣泛適用的問題,但是我正在嘗試為特定比賽創建一個數據集,其中涉及將無人機駕駛在塗有字母數字字符的紙板幾何形狀的區域上。 目的是檢測和分類形狀和字符。

目前,我正在使用SURF來檢測形狀,使用K均值對形狀和字符進行分割,並使用卷積神經網絡對其進行分類。 但是,在訓練可以與真實數據一起良好運行的數據方面,我遇到了瓶頸。

我嘗試過的

  • 使用Keras的ImageDataGenerator生成數據集,該數據集具有打字字體和幾何形狀的每個字母數字字符的模板圖像的隨機旋轉,縮放和傾斜:

  • 使用MNIST數據集:

  • 使用EMNIST ByClass數據集(與MNIST數據集不同;還包含字母):

  • 使用Tesseract OCR作為角色。

我還沒試過

  • 使用我們創建的真實紙板切口進行幾次跨接,並使用每個視頻的多個幀作為數據集。

  • 使用ImageDataGenerator,但是使用幾種不同的字體而不是一種。

有人對如何為這樣的任務創建自定義數據集有任何建議嗎?

這是我的dataSetGenerator也許可以幫助您生成自己的數據集

import numpy as np
from os import listdir
from glob import glob
import cv2

def dataSetGenerator(path,resize=False,resize_to=224,percentage=100):
    """

    DataSetsFolder
      |
      |----------class-1
      |        .   |-------image-1
      |        .   |         .
      |        .   |         .
      |        .   |         .
      |        .   |-------image-n
      |        .
      |-------class-n

    :param path: <path>/DataSetsFolder
    :param resize:
    :param resize_to:
    :param percentage:
    :return: images, labels, classes
    """
    classes = listdir(path)
    image_list = []
    labels = []
    for classe in classes:
        for filename in glob(path+'/'+classe+'/*.tif'):
            if resize:image_list.append(cv2.resize(cv2.imread(filename),(resize_to, resize_to)))
            else:image_list.append(cv2.imread(filename))
            label=np.zeros(len(classes))
            label[classes.index(classe)]=1
            labels.append(label)
    indice = np.random.permutation(len(image_list))[:int(len(image_list)*percentage/100)]
    return np.array([image_list[x] for x in indice]),np.array([labels[x] for x in indice]),np.array(classes)

我們了解到的是,在生成自定義數據集時,應該嘗試合並盡可能多的“真實”元素(例如,來自EMNIST的手寫字符,來自Google圖片的背景)。 如果需要生成一部分數據集,則像使用Keras的ImageDataGenerator類之類的數據增強技術尤為重要。

我們最終使用了EMNIST Balanced數據集,並在字母數字分類中看到了很好的結果。 為了定位幾何形狀,我們使用YOLO( https://pjreddie.com/darknet/yolo/ )深度學習算法代替了SURF。 為了創建自定義數據集,我們將EMNIST字符放置到幾何形狀后,將生成的幾何形狀放置在從Google抓取的字段的鳥瞰圖的背景圖像中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM