利用Mask RCNN為圖片去除背景

tonyguo
·
·
IPFS
·
image in Cars Dataset from stanford

Introduction

在上學期期末中,老師要求學生在final project 中尋找有關 “機器視覺” 與“機器學習” 有關的題目進行演示,最後我與組員選擇使用GAN 中相較容易實現的 pix2pix 進行汽車自動上色任務,但在處理資料集時發現,圖片須先進行去背處裡,於是我們使用Mask RCNN 進行mask處理,尤其在coco資料集中有高達80類物件可以選擇,之前也在kaggle [1][2] 中看過類似的處理手法,因此趁這次機會學習如和使用Mask RCNN 為圖片去背。

環境配置

CUDA 10.1
pytorch 1.3
apex 0.1
maskrcnn-benchmark 0.1

使用

  • category: 選擇目標類別(類別如demo中所描述)
  • is_crop:(default False)

If True, 圖片經檢測與目標類別篩選後,取出有最大bounding box的物件,並依bounding box 進行裁剪。

If False, 圖片經檢測與目標類別篩選後,取出有最大bounding box的物件,但不進行裁剪,保留原圖大小。

  • multi_object: (default False)

If true, 圖片經檢測與目標類別篩選後,保留圖中目標類別的所有物件。

If False, 圖片經檢測與目標類別篩選後,取出有最大bounding box的物件。

Demo

multi_object = True

前往 gist 看更多

修改的部分

跟源repo 比起來,我只對predictor.py 進行修改,取消了對檢測後的label、上色與描框,新增了以上parameter,並作適當的處理。由此查閱

Repo

github

Reference

[1]Airbus Ship Detection Challenge

[2]Recursion Cellular Image Classification

CC BY-NC-ND 2.0

Like my work? Don't forget to support and clap, let me know that you are with me on the road of creation. Keep this enthusiasm together!