国产无码免费,人妻口爆,国产V在线,99中文精品7,国产成人无码AA精品一,制度丝袜诱惑av,久久99免费麻辣视频,蜜臀久久99精品久久久久久酒店
        訂閱
        糾錯
        加入自媒體

        用Python和OpenCV為對象檢測任務實現最流行、最高效的數據擴充

        2021-12-15 10:41
        磐創AI
        關注

        數據擴充是一種增加數據集多樣性的技術,無需收集更多真實數據,但仍有助于提高模型精度并防止模型過擬合。

        在本文中,你將學習使用Python和OpenCV為對象檢測任務實現最流行、最高效的數據擴充過程。

        即將引入的一組數據擴充方法包括:

        1.隨機裁剪

        2.Cutout

        3.顏色抖動

        4.增加噪音

        5.過濾

        首先,在繼續之前,讓我們導入幾個庫并準備一些必要的子例程。

        import os

        import cv2

        import numpy as np

        import random

        def file_lines_to_list(path):

           '''
                  ### 在TXT文件里的行轉換為列表 ###
                   path: 文件路徑
                  '''
                   with open(path) as f:
                   content = f.readlines()
                   content = [(x.strip()).split() for x in content]
                   return content

        def get_file_name(path):
                  '''
                  ### 獲取Filepath的文件名 ###
                  path: 文件路徑
                  '''
                  basename = os.path.basename(path)
                  onlyname = os.path.splitext(basename)[0]
                  return onlyname

        def write_anno_to_txt(boxes, filepath):
                 '''
                 ### 給TXT文件寫注釋 ###
                 boxes: format [[obj x1 y1 x2 y2],...]
                 filepath: 文件路徑
                 '''
                 txt_file = open(filepath, "w")
                 for box in boxes:
                      print(box[0], int(box[1]), int(box[2]), int(box[3]), int(box[4]), file=txt_file)
                 txt_file.close()

        下面的圖片是在這篇文章中使用的示例圖片。

        隨機裁剪隨機裁剪隨機選擇一個區域并進行裁剪以生成新的數據樣本,裁剪后的區域應具有與原始圖像相同的寬高比,以保持對象的形狀。

        從上圖中,左側圖像表示具有邊界框(紅色)的原始圖像,通過裁剪橙色框內的區域創建一個新樣本作為右側圖像。在新示例的注釋中,將刪除與左側圖像中的橙色框不重疊的所有對象,并細化位于橙色框邊界上的對象的坐標,使其適合新圖像示例。原始圖像的隨機裁剪輸出為新裁剪圖像及其注釋。

        image.png

        image.png

        Cutout

        Terrance DeVries和Graham W.Taylor在2017年的論文中介紹了Cutout,它是一種簡單的正則化技術,用于在訓練過程中隨機屏蔽輸入的方塊區域,可用于提高卷積神經網絡的魯棒性和整體性能。

        這種方法不僅非常容易實現,而且還表明它可以與現有形式的數據擴充和其他正則化工具結合使用,以進一步提高模型性能。

        如本文所述,剪切用于提高圖像識別(分類)的準確性,因此,如果我們將相同的方案部署到對象檢測數據集中,可能會導致丟失對象的問題,尤其是小對象。

        在下圖中,cutout區域(黑色區域)內的大量小對象被移除,這不符合數據擴充的精神。

        為了使這種方式適用于對象檢測,我們可以進行簡單的修改,而不是僅使用一個蒙版并將其放置在圖像中的隨機位置。當我們隨機選擇一半數量的對象并將剪切應用于這些對象區域時,效果會更好。增強圖像如下圖中的右圖所示。

        剪切輸出是新生成的圖像,我們不移除對象或更改圖像大小,則生成圖像的注釋與原始圖像相同。

        def cutout(img, gt_boxes, amount=0.5):
                 '''
                 ### Cutout ###
                 img: 圖像
                 gt_boxes: format [[obj x1 y1 x2 y2],...]
                 amount: 蒙版數量/對象數量
                 '''
                 out = img.copy()
                 ran_select = random.sample(gt_boxes, round(amount*len(gt_boxes)))
                 for box in ran_select:
                     x1 = int(box[1])
                     y1 = int(box[2])
                     x2 = int(box[3])
                     y2 = int(box[4])
                     mask_w = int((x2 - x1)*0.5)
                     mask_h = int((y2 - y1)*0.5)
                     mask_x1 = random.randint(x1, x2 - mask_w)
                     mask_y1 = random.randint(y1, y2 - mask_h)
                     mask_x2 = mask_x1 + mask_w
                     mask_y2 = mask_y1 + mask_h
                     cv2.rectangle(out, (mask_x1, mask_y1), (mask_x2, mask_y2), (0, 0, 0), thickness=-1)
                 return out

        顏色抖動

        ColorJitter是另一種簡單的圖像數據增強,我們可以隨機改變圖像的亮度、對比度和飽和度。我相信這個技術很容易被大多數讀者理解。

        image.png

        image.png

        增加噪聲在一般意義上,噪聲被認為是圖像中的一個意外因素,然而,幾種類型的噪聲(例如高斯噪聲、椒鹽噪聲)可用于數據增強,在深度學習中添加噪聲是一種非常簡單和有益的數據增強方法。在下面的示例中,為了增強數據,將高斯噪聲和椒鹽噪聲添加到原始圖像中。

        對于那些無法識別高斯噪聲和椒鹽噪聲之間差異的人,高斯噪聲的值范圍為0到255,具體取決于配置,因此,在RGB圖像中,高斯噪聲像素可以是任何顏色。相比之下,椒鹽噪波像素只能有兩個值0或255,分別對應于黑色(PEPER)或白色(salt)。

        image.png

        image.png

        濾波本文介紹的最后一個數據擴充過程是濾波。與添加噪聲類似,濾波也簡單且易于實現。實現中使用的三種類型的濾波包括模糊(平均)、高斯和中值。

        image.png

        總結

        在這篇文章中,向大家介紹了一個關于為對象檢測任務實現數據增強的教程。你們可以在這里找到完整實現。

        聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯系舉報。

        發表評論

        0條評論,0人參與

        請輸入評論內容...

        請輸入評論/評論長度6~500個字

        您提交的評論過于頻繁,請輸入驗證碼繼續

        暫無評論

        暫無評論

          掃碼關注公眾號
          OFweek人工智能網
          獲取更多精彩內容
          文章糾錯
          x
          *文字標題:
          *糾錯內容:
          聯系郵箱:
          *驗 證 碼:

          粵公網安備 44030502002758號

          主站蜘蛛池模板: 高清一区二区三区| 啪啪综合网| 九色91| 肉大榛一出一进免费观看在线| 亚洲人妻系列| 色二区| 国产精品V在线播放| 无码中文幕| 99中文在线精品 | 屄视频| 阳东县| 加勒比久久AV| wwwww黄| 视频| 国产精品18禁久久久久久白浆| 福安市| 影音先锋资源| 无码免费一区二区三区| 义乌市| 67194欧洲| 国产偷伦| 丰满人妻被猛烈进入中文字幕| 精品a片| 兰坪| 中文字幕在线高清| 国产精成人| 泉州市| 曰批免费40分钟免费观看软件| 草久视频| 丰满熟女人妻中出系列| 91肉丝酒店高跟91肉丝酒店高跟| 抚州市| 69堂在线观看线无码视频一| 城固县| 国内精品熟女亚洲精品熟女| AV亚洲?电影AV?AV天堂| 五华县| 丰满人妻被猛烈进入| jizzjizzyou| 老熟妇AV| 久热天堂|