我需要使用图像分类器根据图像内容将图像分类到文件夹中。
从本质上讲,我有数千张狗,牛,绵羊和“没有动物”的图片,需要将它们移动到名为“狗”,“牛”,“绵羊”,“负面”的文件夹中。我需要使用图像分类器的帮助,以首先识别图像,然后将图像分类到文件夹中。如果可能无法进行排序,则用类别标记图像并手动排序也将加快处理过程。
我相信我有一个训练有素的图像分类器(来自https://www.tensorflow.org/hub/tutorials/image_retraining),该分类器应该能够以80-95%的准确度识别类别中的大多数图片。
如何使用图像分类器对图像进行识别和分类?
我已经创建了图像分类器并对其进行了重新训练,使用了数千幅手工分类的图像;使用Tensorflow教程:https://www.tensorflow.org/hub/tutorials/image_retraining)
我还成功使用了Prabhu的教程(https://medium.com/@RaghavPrabhu/a-simple-tutorial-to-classify-images-using-tensorflow-step-by-step-guide-7e0fad26c22)。本质上,Prabhu教程中的预培训步骤是我尝试使用自己的模型进行的操作。
Prabhu的代码让我知道该怎么做:
def organise_dataset(root_path,):
dataset_path = root_path+'/dataset'
train_data = root_path+'/train/'
os.makedirs(root_path, exist_ok=True)
df = pd.read_csv(root_path+'/labels.csv')
files = os.listdir(train_data)
print("Organising dataset by creating folders by dogs breeds using names in labels")
for file in files:
# Define folder name reference in labels csv by 32 UUID file name
folder_name = df.loc[df['id'] == file.split('.')[0],'breed'].values[0]
os.makedirs(dataset_path+'/'+folder_name, exist_ok=True)
source = train_data+file
destination = dataset_path+'/'+folder_name+'/'+file
# Moving files from source (train folder) to detination folder under each breed
os.rename(source, destination)
print("Dataset folders successfully created by breed name and copied all images in corresponding folders")
不幸的是,该代码只能在labels.csv的ID列中对具有32 UUID文件名的图像进行排序,而且我不知道如何创建类似的代码来调用图像分类器对图像进行排序。
任何帮助将不胜感激,即使它只是将我引向另一个教程。