1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        使用 Mask-RCNN 對路面坑洞進行實例分割

        共 4640字,需瀏覽 10分鐘

         ·

        2021-08-25 11:30

        點擊上方小白學(xué)視覺”,選擇加"星標"或“置頂

        重磅干貨,第一時間送達

        在文章中,我們將創(chuàng)建自己的訓(xùn)練模型來檢測坑洼。關(guān)于檢測,我們將在 Supervisely 的幫助下使用 Mask-RCNN 的實例分割技術(shù)。在創(chuàng)建模型之前,讓我們了解一下我們正在使用的工具和技術(shù)。


        什么是實例分割?
        實例分割
        實例分割是一種通過屏蔽或逐像素覆蓋檢測到的對象來進行檢測的技術(shù)。實例分割在自動駕駛汽車中非常有用,因為我們獲得像素到像素的結(jié)果,從而提高了減少事故的準確性。

        Mask-RCNN

        Mask-RCNN 是一種深度神經(jīng)網(wǎng)絡(luò),旨在解決機器學(xué)習(xí)或計算機視覺中的實例分割問題。Mask RCNN 有兩個階段,首先,它根據(jù)輸入圖像生成關(guān)于可能存在對象的區(qū)域的建議;其次,根據(jù)第一階段的建議,預(yù)測對象的類別,細化邊界框并生成對象像素級的掩碼。


        Mask-RCNN 實際上是一個經(jīng)過訓(xùn)練的模型,但在文章中,我將向小伙伴展示如何微調(diào)我們的自定義對象或訓(xùn)練 Mask-RCNN 模型。

        Mask-RCNN 結(jié)構(gòu)


        什么是Supervisely以及如何使用它?

        Supervisely是一個用于解決計算機視覺問題的網(wǎng)絡(luò)平臺,在監(jiān)督的幫助下,我們可以非常輕松地對圖像進行注釋,并且在對圖像進行注釋后,我們可以輕松地在任何深度學(xué)習(xí)模型上訓(xùn)練我們的數(shù)據(jù)而無需編碼。

        監(jiān)督工作流程


        如何在監(jiān)督中使用 Mask R-CNN 進行目標檢測?

        在這個實踐中,我們將通過掩蓋檢測到的區(qū)域來檢測道路坑洼。

        收集和注釋數(shù)據(jù)集:我們已經(jīng)從 Kaggle 的 Pothole 圖像數(shù)據(jù)集中收集了數(shù)據(jù)集。


        現(xiàn)在讓我們使用 supervisely 來注釋圖像,在注釋之前,讓我們監(jiān)督導(dǎo)入數(shù)據(jù)。


        首先在supervise中創(chuàng)建一個工作區(qū)

        創(chuàng)建工作區(qū)


        然后從我們的電腦導(dǎo)入數(shù)據(jù)


        對圖像進行注釋,請單擊projects >> Pothole dataset >>從下拉菜單中單擊開始注釋,我們將使用位圖注釋,現(xiàn)在只注釋我們要檢測的區(qū)域。

        位圖注釋

        使用 DTL 進行數(shù)據(jù)增強:


        注釋完所有圖像后,是時候擴充我們的數(shù)據(jù)了。增強是一種用于通過對收集的數(shù)據(jù)集進行水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)、旋轉(zhuǎn)、鏡像、剪切等稍微的更改來增加數(shù)據(jù)樣本的技術(shù)。


        在監(jiān)督方面,我們將借助dtl(數(shù)據(jù)轉(zhuǎn)換語言)來擴充數(shù)據(jù),我們可以將以下 json 代碼稱為 dtl。

        [  {    "dst": "$raw",    "src": [      "pothole_detection/*"    ],    "action": "data",    "settings": {      "classes_mapping": "default"    }  },  {    "action": "flip",    "src": [      "$raw"    ],    "dst": "$raw_fliph",    "settings": {      "axis": "vertical"    }  },  {    "dst": "$data",    "src": [      "$raw",      "$raw_fliph"    ],    "action": "multiply",    "settings": {      "multiply": 5    }  },  {    "action": "crop",    "src": [      "$data"    ],    "dst": "$randocrop",    "settings": {      "random_part": {        "height": {          "min_percent": 10,          "max_percent": 40        },        "width": {          "min_percent": 30,          "max_percent": 80        },        "keep_aspect_ratio": false      }    }  },  {    "action": "crop",    "src": [      "$data"    ],    "dst": "$randocrop2",    "settings": {      "random_part": {        "height": {          "min_percent": 40,          "max_percent": 90        },        "width": {          "min_percent": 60,          "max_percent": 90        },        "keep_aspect_ratio": false      }    }  },  {    "action": "dummy",    "src": [      "$raw",      "$raw_fliph",      "$randocrop",      "$randocrop2"    ],    "dst": "$out",    "settings": {}  },  {    "dst": "$precontrast",    "src": [      "$out"    ],    "action": "multiply",    "settings": {      "multiply": 10    }  },  {    "dst": "$outcontrast",    "src": [      "$precontrast"    ],    "action": "contrast_brightness",    "settings": {      "contrast": {        "min": 0.5,        "max": 2,        "center_grey": false      },      "brightness": {        "min": -50,        "max": 50      }    }  },  {    "dst": [      "$totrain",      "$toval"    ],    "src": [      "$outcontrast",      "$out"    ],    "action": "if",    "settings": {      "condition": {        "probability": 0.95      }    }  },  {    "dst": "$train",    "src": [      "$totrain"    ],    "action": "tag",    "settings": {      "tag": "train",      "action": "add"    }  },  {    "dst": "$val",    "src": [      "$toval"    ],    "action": "tag",    "settings": {      "tag": "val",      "action": "add"    }  },  {    "dst": "pothole_augmented-train-val",    "src": [      "$train",      "$val"    ],    "action": "supervisely",    "settings": {}  }]

        選擇運行 DTL 選項

        DTL 工作流程


        現(xiàn)在點擊開始按鈕,單擊后我們可以看到創(chuàng)建了一個新的圖像文件夾,這樣我們的數(shù)據(jù)增強部分就完成了,讓我們進入下一部分。


        使用增強數(shù)據(jù)訓(xùn)練 Mask-RCNN:


        我們將使用 Mask-RCNN 模型來訓(xùn)練坑洼圖像,所以點擊神經(jīng)網(wǎng)絡(luò)選項,我們會看到神經(jīng)網(wǎng)絡(luò)模型列表,然后添加Mask-RCNN(keras+TF)(COCO)模型。

        克隆神經(jīng)網(wǎng)絡(luò)

        現(xiàn)在點擊訓(xùn)練按鈕訓(xùn)練神經(jīng)網(wǎng)絡(luò)

        但是訓(xùn)練我們的神經(jīng)網(wǎng)絡(luò)會給我們帶來錯誤,它給出了錯誤,因為我們沒有提供所需的代理或資源,我們將使用 aws 云提供適當?shù)拇?/p>

        現(xiàn)在單擊集群頁面鏈接以創(chuàng)建集群

        新集群已創(chuàng)建

        對我們代理的要求


        使用 Aws 云實例訓(xùn)練我們的模型

        要運行 EC2 實例,請按照以下步驟操作:


        1.首先轉(zhuǎn)到 AWS EC2 服務(wù),然后單擊 Launch Instance,之后我們將選擇一個具有 Linux、Docker、GPU、Nvidia-Docker 的實例。

        2.選擇深度學(xué)習(xí) AMI (Ubuntu 18.04)

        3. 我們將選擇名為p2.xlarge的 GPU 實例

        4.現(xiàn)在去配置實例并做以下配置

        5. 提供至少 90Gib 的存儲空間

        6. 現(xiàn)在創(chuàng)建密鑰后啟動實例,要登錄實例,請使用 ssh 命令

        實例已啟動

        對于訓(xùn)練,將來自監(jiān)督的 curl 命令復(fù)制并粘貼到我們的 ec2 實例上。

        運行 bash 命令

        等待完整的設(shè)置安裝

        現(xiàn)在去監(jiān)督訓(xùn)練Mask-RCNN模型:

        首先,所有圖像都將下載到我們的實例中

        模型開始訓(xùn)練

        我們還可以看到我們模型的訓(xùn)練圖和日志

        最后,訓(xùn)練后我們可以通過上傳一些測試圖像來測試我們的模型,這是我們模型的結(jié)果,我認為它運行的非常很好。

        坑洼圖像分割


        下載1:OpenCV-Contrib擴展模塊中文版教程
        在「小白學(xué)視覺」公眾號后臺回復(fù):擴展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴展模塊教程中文版,涵蓋擴展模塊安裝、SFM算法、立體視覺、目標跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

        下載2:Python視覺實戰(zhàn)項目52講
        小白學(xué)視覺公眾號后臺回復(fù):Python視覺實戰(zhàn)項目,即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個視覺實戰(zhàn)項目,助力快速學(xué)校計算機視覺。

        下載3:OpenCV實戰(zhàn)項目20講
        小白學(xué)視覺公眾號后臺回復(fù):OpenCV實戰(zhàn)項目20講,即可下載含有20個基于OpenCV實現(xiàn)20個實戰(zhàn)項目,實現(xiàn)OpenCV學(xué)習(xí)進階。

        交流群


        歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~


        瀏覽 40
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产激情视频免费观看 | 粉嫩99精品99久久久久久特污兔 | 欧美做爱视频网站视频 | 国产成人精品无码一区二区五十路 | 野花国产精品入口 | 69天堂网 | 波多野结衣之潜藏淫欲 | 黄羞羞视频 | 三级成人小说 | 在线艹逼|