MSRA TD5000資料集使用詳解

2022-02-04 05:12:40 字數 1867 閱讀 9757

裡面的內容為和label,這裡的label表示方法很蛋疼,是rbox風格的,即

這裡這個theta不好理解,其實它是弧度...

弧度就是角度的一種度量方式,是用弧長與半徑的比來計算。因此0表示0度,π表示180度,π/2表示90度。

在python中,可以通過math.radius()來做角度和弧度的變換。

print(math.radians(90)) # 1.5707963267948966

print(math.radians(180)) # 3.141592653589793

print(math.radians(360)) # 6.283185307179586

一般的深度學習演算法,接收的矩形框都是quad風格的,即:

x1,y1,x2,y2,x3,y3,x4,y4,text
因此我這邊通過python**進行了座標的變換:

def rotate(angle, x, y):

"""基於原點的弧度旋轉

:param angle: 弧度

:param x: x

:param y: y

:return:

"""rotatex = math.cos(angle) * x - math.sin(angle) * y

rotatey = math.cos(angle) * y + math.sin(angle) * x

return rotatex, rotatey

def xy_rorate(theta, x, y, centerx, centery):

"""針對中心點進行旋轉

:param theta:

:param x:

:param y:

:param centerx:

:param centery:

:return:

"""r_x, r_y = rotate(theta, x - centerx, y - centery)

return centerx+r_x, centery+r_y

def rec_rotate(x, y, width, height, theta):

"""傳入矩形的x,y和寬度高度,弧度,轉成quad格式

:param x:

:param y:

:param width:

:param height:

:param theta:

:return:

"""centerx = x + width / 2

centery = y + height / 2

x1, y1 = xy_rorate(theta, x, y, centerx, centery)

x2, y2 = xy_rorate(theta, x+width, y, centerx, centery)

x3, y3 = xy_rorate(theta, x, y+height, centerx, centery)

x4, y4 = xy_rorate(theta, x+width, y+height, centerx, centery)

return x1, y1, x2, y2, x3, y3, x4, y4

再重新寫回txt文字裡面就可以了。

UCI資料集使用

uci資料可以使用matlab的dlmread或textread讀取,不過,需要先將不是數字的類別用數字,比如1 2 3等替換,否則讀入不了數值,當字元了。每個資料檔案 data 包含以 屬性 值 對形式描述的很多個體樣本的記錄。對應的.info檔案包含的大量的文件資料。有些檔案generate d...

aflw資料集使用

網上的一些資源 工具 密碼是difc 這個應該是完整版的,僅供參考9gtf。本人申請了資料集,但是只有aflw images 0.tar.gz,aflw images 2.tar.gz,aflw images 3.tar.gz,工具是用的第乙個鏈結 還有乙個閆大腦門同學的鏈結,更詳細 沒有秘密 將壓...

使用COCO資料集報錯

1.背景 跑深度學習的 時,用到coco資料集,就需要用到cocoapi,我們按照它的requirement來,直接把pythonapi放在相應的資料夾下,會報錯importerror no module named pycocotools.mask 或importerror no module n...