用于图像分割的掩模RCNN实现 - 教程

2021-04-10 04:39:01

图像分割就像一种先进的分类形式。在分类中,我们曾经将图片对类进行分类。在图像分割的情况下,我们将图像的每个像素分类为不同的类

前面一个后面一个

在本文中,我们将使用Mask RCNN尝试图像分段。它'是更快的-rcnn的继任者。我们将使用Tensorflow-GPU == 1.15进行培训。检查mask_rcnn github存储库。它在TensoRFlow框架中实现的IT&#39在resnet101作为默认骨干网实现。

图像分割就像一种先进的分类形式。在分类中,我们曾经将图片对类进行分类。在图像分割的情况下,我们将图像的每个像素分类为不同的类。分割的目标是简化和/或将图像的表示变为更加有意义,更容易分析的东西。

这是Python 3,Keras和Tensorflow上的掩模R-CNN的实现。该模型为图像中的对象的每个实例生成边界框和分段掩码。它基于特征金字塔网络(FPN)和Resnet101骨干网。

3. root data_folder在根目录中并按以下方式排列文件夹。将数据分为列车和val的70/30。

- data_folder - train - img1.jpg - img1.json - img2.jpg - img2.json ... - val - img3.jpg - img2.json - img4.jpg - img4.json ...

#配置#根据数据集和gpuimages调整_per_gpu = 2#1 ##的类(包括背景)num_classes = 1 + 1#背景#通常在标记后,可以从DataSet类中设置类#如果要测试您的模型,则可以设置您的模型, 根据您的训练数据集#训练步骤数,更好地设置它每个epochsteps_per_per_per_pecoch = 100 导入pixellibfrom pixelib.instance import custom_seationationmodel_path =" image_path =" image_path" amplic_path" output_path =" output_path" secon_image = custom_seation()semment_image.inferconfig(num_classes = 4,class_names = [" bg&#34 ;," arduino nano&#34 ;," esp8266&#34 ;,#34; raspberry pi 3&#34 ;," heltec esp32 lora&#34 ;])segment_image.load_model(model_path)segment_image.segmentimage(image_path,show_bboxes = true,output_image_name = output_path) 如果您想编写文章或改进本文以CodeperFectPlus邮件给我们邮件邮件@ gmail.com