-3

As I am working on my project that is to detect FOD (Foreign Object Debirs) that is found on the runway. FOD include anything like nuts, bolts, screws, locking wires, plastic debris, stones etc. that has the potential to cause damage to the aircraft. Now I have searched on the Internet to find any image dataset but no dataset is available related to FOD. Now my question is kindly guide me that how can I make my own dataset of images that can then be used for training purpose.

Kindly guide me in making image dataset for both classification and detection purposes. And also the data pre-processing that will be required. Thanks and waiting for the reply!

  • Something similar has already been discussed by the link, There are code sample which will fetch images from web page and complete instruction for object marking. https://stackoverflow.com/questions/42852813/hand-detection-and-tracking-methods/62379106#62379106 – Petr Tripolsky Jun 14 '20 at 23:01

3 Answers3

0

Although the question is a bit vague regarding your requirements and the specs of your machine, I'll try to answer it. You'll need object detection to do your task. There are many models available which you can use like Yolo, SSD, etc..

To create your own dataset, you can follow these steps:

  • Take lots of images of your objects of interest in various conditions, viewpoints and backgrounds. (Around 2000 per class should be good enough).
  • Now annotate (or mark) where your object is in the image. If you're using Yolo, make use of Yolo-mark for annotating. There should be other similar tools for SSD and other models.
  • Now you can begin training.

These steps should get you started or at least point you in the right direction.

rajput
  • 166
  • 7
  • Thanks rajput for a nice and brief reply. Just to ask some more information that in the task of image classification what are the steps in the preperation of dataset? And kindly elaborate on the term of labelled data in classification domain and how we can label our own data for classification? – Farjad Haider Apr 22 '20 at 13:23
  • May I ask why you want to use **Image Classification** here? **Image classification** and **Object Detection** are two different tasks by the way. Image classification being the simpler of the two. Here is a [link](https://medium.com/analytics-vidhya/image-classification-vs-object-detection-vs-image-segmentation-f36db85fe81) explaining the difference. – rajput Apr 24 '20 at 03:21
0

You can build your own dataset with this code. I wrote it, and it works correctly. You need to import the libraries and add your 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()
    
   
David Buck
  • 3,752
  • 35
  • 31
  • 35
0

In case if you're starting completely from scratch, you can use "Dataset Directory", available on Play store. The App helps you in creating custom datasets using your mobile. You'll have to sign in to your Google drive such that your dataset is stored in Drive rather on your mobile. Additionally, It also contains Labelling the entity for classification and Regression predictive models. Currently, the App supports Binary Image Classification and Image Regression.

Hope this Helped!

Download Link : https://play.google.com/store/apps/details?id=com.applaud.datasetdirectory