如何使用Python和OpenCV實現(xiàn)對象檢測任務(wù)的數(shù)據(jù)擴充過程?
數(shù)據(jù)擴充是一種增加數(shù)據(jù)集多樣性的技術(shù),無需收集更多的真實數(shù)據(jù),但仍然有助于提高模型的準(zhǔn)確性和防止模型過度擬合。在這篇文章中,你將學(xué)習(xí)使用Python和OpenCV實現(xiàn)最流行和最有效的對象檢測任務(wù)的數(shù)據(jù)擴充過程。
介紹的數(shù)據(jù)擴充方法包括:隨機剪裁CutoutColorJitter添加噪聲過濾首先,讓我們導(dǎo)入幾個庫并準(zhǔn)備一些必要的子例程。import os
import cv2
import numpy as np
import random
def file_lines_to_list(path):
'''
### Convert Lines in TXT File to List ###
path: path to file
'''
with open(path) as f:
content = f.readlines()
content = [(x.strip()).split() for x in content]
return content
def get_file_name(path):
'''
### Get Filename of Filepath ###
path: path to file
'''
basename = os.path.basename(path)
onlyname = os.path.splitext(basename)[0]
return onlyname
def write_anno_to_txt(boxes, filepath):
'''
### Write Annotation to TXT File ###
boxes: format [[obj x1 y1 x2 y2],...]
filepath: path/to/file.txt
'''
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()
下圖在本文中用作示例圖像。
隨機剪裁隨機剪裁:隨機選擇一個區(qū)域并將其裁剪出來,形成一個新的數(shù)據(jù)樣本,被裁剪的區(qū)域應(yīng)與原始圖像具有相同的寬高比,以保持對象的形狀。
在上圖中,左邊的圖像是帶有真實邊界框的原始圖像(紅色部分),右邊的圖像是通過裁剪橙色框中的區(qū)域創(chuàng)建的新樣本。在新樣本的標(biāo)注中,去除所有與左側(cè)圖像中橙色框不重疊的對象,并將橙色框邊界上的對象的坐標(biāo)進行細(xì)化,使之與新樣本相匹配。對原始圖像進行隨機裁剪的輸出是新的裁剪后的圖像及其注釋。def randomcrop(img, gt_boxes, scale=0.5):
'''
### Random Crop ###
img: image
gt_boxes: format [[obj x1 y1 x2 y2],...]
scale: percentage of cropped area
'''
# Crop image
height, width = int(img.shape[0]*scale), int(img.shape[1]*scale)
x = random.randint(0, img.shape[1] - int(width))
y = random.randint(0, img.shape[0] - int(height))
cropped = img[y:y+height, x:x+width]
resized = cv2.resize(cropped, (img.shape[1], img.shape[0]))

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
-
9 每日AI全球觀察
- 1 特斯拉工人被故障機器人打成重傷,索賠3.6億
- 2 【行業(yè)深度研究】退居幕后四年后,張一鳴終于把算法公司變成AI公司?
- 3 AI 時代,阿里云想當(dāng)“安卓” ,那誰是“蘋果”?
- 4 拐點已至!匯川領(lǐng)跑工控、埃斯頓份額第一、新時達(dá)海爾賦能扭虧為盈
- 5 硬剛英偉達(dá)!華為發(fā)布全球最強算力超節(jié)點和集群
- 6 隱退4年后,張一鳴久違現(xiàn)身!互聯(lián)網(wǎng)大佬正集體殺回
- 7 00后華裔女生靠兩部AI電影狂賺7.8億人民幣,AI正式進軍好萊塢
- 8 谷歌“香蕉”爆火啟示:國產(chǎn)垂類AI的危機還是轉(zhuǎn)機?
- 9 機器人9月大事件|3家國產(chǎn)機器人沖刺IPO,行業(yè)交付與融資再創(chuàng)新高!
- 10 美光:AI Capex瘋投不止,終于要拉起存儲超級周期了?
- 生產(chǎn)部總監(jiān) 廣東省/廣州市
- 資深管理人員 廣東省/江門市
- Regional Sales Manager 廣東省/深圳市
- 銷售總監(jiān) 廣東省/深圳市
- 結(jié)構(gòu)工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 自動化高級工程師 廣東省/深圳市
- 技術(shù)專家 廣東省/江門市
- 激光器高級銷售經(jīng)理 上海市/虹口區(qū)
- 封裝工程師 北京市/海淀區(qū)