從零單排fastai腳本(3)

使用BIWI人腦姿態(tài)數(shù)據(jù)集來回歸人腦中心位置猾骡。

有請人工智能四大天王寸痢。

  • 數(shù)據(jù)
  • 模型
  • 損失
  • 算法

下面分別介紹fastai解決BIWI的套路蚊锹。

1 數(shù)據(jù)

數(shù)據(jù)集的下載地址BIWI head pose侈询。

當(dāng)然數(shù)據(jù)集也可以直接使用python下載

%reload_ext autoreload
%aureload 2
%matplotlib inline

from fastai.visoion import *
path = untar_data(URLs.BIWI_HEAD_POSE)

數(shù)據(jù)注意坐標(biāo)變換妻献,rgb.cal中包含中心位置轉(zhuǎn)換的坐標(biāo)值贪庙。
每一個單獨的文件夾下獨有一個rgb.cal蜘犁。

cal = np.genfromtxt(path/'01'/'rgb.cal', skip_footer=6)

為了由數(shù)據(jù)集中的姿態(tài)數(shù)據(jù)得到人頭的中心位置,腳本做了如下變換

def convert_biwi(coords):
    c1 = coords[0] * cal[0][0]/coords[2] + cal[0][2]
    c2 = coords[1] * cal[1][1]/coords[2] + cal[1][2]
    return tensor([c2,c1])

def get_ctr(f):
    ctr = np.genfromtxt(img2txt_name(f), skip_header=3)
    return convert_biwi(ctr)

def get_ip(img,pts): return ImagePoints(FlowField(img.size, pts), scale=True)

其中get_ctr(f)從圖片文件名止邮,得到圖片中人臉的中心位置坐標(biāo)这橙。

數(shù)據(jù)加載使用PointItemList

data = (PointsItemList.from_folder(path)
        .split_by_valid_func(lambda o: o.parent.name=='13')
        .label_from_func(get_ctr)
        .transform(get_transforms(), tfm_y=True, size=(120,160))
        .databunch().normalize(imagenet_stats)
       )

這里簡單分析下上面的數(shù)據(jù)加載代碼奏窑。使用了PointsItemList的from_folder來加載數(shù)據(jù),直接從文件夾中提取數(shù)據(jù)屈扎。然后將文件夾名為13的文件夾下的數(shù)據(jù)作為驗證集數(shù)據(jù)埃唯。標(biāo)簽使用get_ctr函數(shù)來從txt文件中讀取人臉中心坐標(biāo),數(shù)據(jù)增強需要設(shè)置tfm_y=True鹰晨,因為原始圖像變換了墨叛,坐標(biāo)也要跟這邊,不然不在人臉中心位置了模蜡。后面的databunch和normalize都是常規(guī)操作了漠趁。

圖1 部分訓(xùn)練數(shù)據(jù),注意人臉中心紅點

2

圖2 識別結(jié)果
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末忍疾,一起剝皮案震驚了整個濱河市闯传,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌卤妒,老刑警劉巖甥绿,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異荚孵,居然都是意外死亡妹窖,警方通過查閱死者的電腦和手機(jī)纬朝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門收叶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人共苛,你說我怎么就攤上這事判没。” “怎么了隅茎?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵澄峰,是天一觀的道長。 經(jīng)常有香客問我辟犀,道長俏竞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任堂竟,我火速辦了婚禮魂毁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘出嘹。我一直安慰自己席楚,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布税稼。 她就那樣靜靜地躺著烦秩,像睡著了一般垮斯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上只祠,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天兜蠕,我揣著相機(jī)與錄音,去河邊找鬼抛寝。 笑死牺氨,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的墩剖。 我是一名探鬼主播猴凹,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼岭皂!你這毒婦竟也來了郊霎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤爷绘,失蹤者是張志新(化名)和其女友劉穎书劝,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體土至,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡购对,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了陶因。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片骡苞。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖楷扬,靈堂內(nèi)的尸體忽然破棺而出解幽,到底是詐尸還是另有隱情,我是刑警寧澤烘苹,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布躲株,位于F島的核電站,受9級特大地震影響镣衡,放射性物質(zhì)發(fā)生泄漏霜定。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一廊鸥、第九天 我趴在偏房一處隱蔽的房頂上張望望浩。 院中可真熱鬧,春花似錦黍图、人聲如沸曾雕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽剖张。三九已至切诀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間搔弄,已是汗流浹背幅虑。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留顾犹,地道東北人倒庵。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像炫刷,于是被迫代替她去往敵國和親擎宝。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容

  • ORA-00001: 違反唯一約束條件 (.) 錯誤說明:當(dāng)在唯一索引所對應(yīng)的列上鍵入重復(fù)值時浑玛,會觸發(fā)此異常绍申。 O...
    我想起個好名字閱讀 5,336評論 0 9
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,111評論 1 32
  • d3 (核心部分)選擇集d3.select - 從當(dāng)前文檔中選擇一系列元素。d3.selectAll - 從當(dāng)前文...
    謝大見閱讀 3,451評論 1 4
  • 今年二年級又開始寫千字文了,爭取堅持下來涨享,下面那些是上學(xué)以前寫的筋搏,我覺得上學(xué)以前寫一遍太有必要了,你搜一搜梁...
    紅紅2017閱讀 539評論 0 1
  • 這是大班新學(xué)期的開始,我們要學(xué)著寫(畫)出自己的名字栏账,硬生地讓他學(xué)他不愿意帖族,于是在他做完數(shù)字游戲后自己簽上名字栈源,他...
    書宇YY閱讀 227評論 0 0