1. 數(shù)據(jù)集
UCI: Human Activity Recognition Using Smartphones Data Set
手機傳感器陀螺儀數(shù)據(jù)檩互,數(shù)據(jù)集.
本例的數(shù)據(jù)來源于UCI(即UC Irvine仅乓,加州大學(xué)歐文分校)。數(shù)據(jù)由年齡在19-48歲之間的30位志愿者蘑秽,智能手機固定于他們的腰部,執(zhí)行六項動作箫攀,即行走肠牲、上樓梯、下樓梯靴跛、坐缀雳、站立、躺下梢睛,同時在手機中存儲傳感器(加速度傳感器和陀螺儀)的三維(XYZ軸)數(shù)據(jù)肥印。傳感器的頻率被設(shè)置為50HZ(即每秒50次記錄)。對于所輸出傳感器的維度數(shù)據(jù)绝葡,進(jìn)行噪聲過濾(Noise Filter)深碱,以2.56秒的固定窗口滑動,同時窗口之間包含50%的重疊莹痢,即每個窗口的數(shù)據(jù)維度是128(2.56*50)維坦辟,根據(jù)不同的運動類別,將數(shù)據(jù)進(jìn)行標(biāo)注。傳感器含有三類:身體(Body)的加速度傳感器肉盹、整體(Total)的加速度傳感器腋颠、陀螺儀侮穿。
公開數(shù)據(jù)集整理 (Public datasets for activity recognition)
非常詳細(xì)的一個行為識別相關(guān)的數(shù)據(jù)集集合腔长,包括描述與下載地址,以及引用該數(shù)據(jù)集的文章等跟继,如果需要數(shù)據(jù)集先從這里掃一掃看看有沒需要的。
2. 人體動作識別 (HAR) - 基于視頻
2.1 人體動作識別架構(gòu)圖
Human Activity Recognition:
- Single-layered approaches
- Spatical-temporal approaches
- Spatial-temporal volume
- Trajectories
- Spatial-temporal features
- Sequential approaches
- Exemplar-based
- State-based
- Spatical-temporal approaches
- Hierarchal approaches
- Statistical
- Syntactic
- Description-based
源自2011年 Aggarwal and Ryoo的建議。相對來說虎忌,已經(jīng)很老舊了,僅供了解參考
另泉孩,本來有個架構(gòu)圖的硼端,簡書的圖片上傳功能瓦特了, 只能簡單手寫了。
2.2 目標(biāo)跟蹤
目標(biāo)跟蹤綜述
視覺目標(biāo)(單目標(biāo))跟蹤任務(wù)就是在給定某視頻序列初始幀的目標(biāo)大小與位置的情況下寓搬,預(yù)測后續(xù)幀中該目標(biāo)的大小與位置珍昨。這一基本任務(wù)流程可以按如下的框架劃分:
輸入初始化目標(biāo)框,在下一幀中產(chǎn)生眾多候選框(Motion Model),提取這些候選框的特征(Feature Extractor)镣典,然后對這些候選框評分(Observation Model)兔毙,最后在這些評分中找一個得分最高的候選框作為預(yù)測的目標(biāo)(Prediction A),或者對多個預(yù)測值進(jìn)行融合(Ensemble)得到更優(yōu)的預(yù)測目標(biāo)...
Polen: 最全面的一篇視覺跟蹤的綜述兄春,雖然很多是參照其他文章的澎剥,但是整個視覺跟蹤的前因后果,發(fā)展歷程都有涉及赶舆,很詳細(xì)哑姚,很全面
機器之心:從傳統(tǒng)方法到深度學(xué)習(xí),目標(biāo)跟蹤方法的發(fā)展概述芜茵,陳正華叙量,清華
目標(biāo)跟蹤是計算機視覺研究領(lǐng)域的熱點之一,過去幾十年以來九串,目標(biāo)跟蹤的研究取得了長足的發(fā)展绞佩。從 Meanshift、粒子濾波(Particle Filter)和 Kalman Filter 等經(jīng)典跟蹤方法猪钮,到基于檢測(Track By Detection)或相關(guān)濾波(Correlation Filter)的方法品山,到最近三年來出現(xiàn)的深度學(xué)習(xí)相關(guān)方法。每年在幾個主要跟蹤數(shù)據(jù)集上的競賽非常激烈躬贡,方法也越來越多谆奥。本期閱面科技資深研究員陳正華將以「目標(biāo)跟蹤方法的發(fā)展概述」為主題給大家分享更多的內(nèi)容眼坏。
-
通用目標(biāo)的跟蹤
經(jīng)典目標(biāo)跟蹤方法(產(chǎn)生式模型的方法)
2010 年以前拂玻,目標(biāo)跟蹤領(lǐng)域大部分采用一些經(jīng)典的跟蹤方法,比如 Meanshift宰译、Particle Filter 和 Kalman Filter檐蚜,以及基于特征點的光流算法等。在深度學(xué)習(xí)和相關(guān)濾波的跟蹤方法出現(xiàn)后沿侈,經(jīng)典的跟蹤方法都被舍棄闯第,這主要是因為這些經(jīng)典方法無法處理和適應(yīng)復(fù)雜的跟蹤變化,它們的魯棒性和準(zhǔn)確度都被前沿的算法所超越缀拭。-
檢測與跟蹤相結(jié)合的方法(基于鑒別式模型的方法)
而基于鑒別式模型的方法是指利用分類來做跟蹤的方法咳短,即把跟蹤的目標(biāo)作為前景,利用在線學(xué)習(xí)或離線訓(xùn)練的檢測器來區(qū)分前景目標(biāo)和背景蛛淋,從而得到前景目標(biāo)的位置咙好。雖然此時通用物體的檢測率還非常低(ImageNet 的檢測率不超過 20%),因為物體檢測主要基于手工設(shè)計的特征褐荷,但是勾效,通過在新更新檢測器的模型和各種底層特征的提出,鑒別式跟蹤方法更能適應(yīng)跟蹤過程中的復(fù)雜變化,所以利用檢測來做跟蹤(Tracking By Detection)逐漸成為主流层宫。- Surrey 大學(xué)博士生 Z.Kalal 提出的一種長效跟蹤的 TLD(Tracking-Learning-Detection)方法
- 2013年VOT競賽的冠軍 Struck杨伙,利用結(jié)構(gòu)化 SVM 方法在線學(xué)習(xí)的一個分類器
- 2014年VOT競賽的冠軍 DSST,一種改進(jìn)的基于相關(guān)濾波的多尺度跟蹤方法
-
基于相關(guān)濾波的跟蹤算法
- 2012 年 P.Martins 提出的 CSK 方法(一種基于循環(huán)矩陣的核跟蹤方法萌腿,并且從數(shù)學(xué)上完美解決了密集采樣(Dense Sampling)的問題限匣,利用傅立葉變換快速實現(xiàn)了檢測的過程)
- 基于 HOG 特征的 KCF 方法
- 考慮多尺度或顏色特征(Color Name 表)的方法
-
基于深度學(xué)習(xí)的跟蹤方法
- GOTURN 方法利用 ALOV300+視頻序列集和 ImageNet 檢測數(shù)據(jù)集訓(xùn)練了一個基于圖像對輸入的卷積網(wǎng)絡(luò),輸出在搜索區(qū)域內(nèi)相對于上一幀位置的變化哮奇,從而得到目標(biāo)在當(dāng)前幀上的位置
- 牛津大學(xué)的 Luca Bertinetto 提出的端到端的跟蹤框架膛腐,從 SiameseFC 到今年的 CFNet
特定目標(biāo)的跟蹤
特定物體的跟蹤與前面介紹的方法不同,它更多地依賴對物體訓(xùn)練特定的檢測器鼎俘。人臉跟蹤由于它的明顯特征哲身,它的跟蹤就主要由檢測來實現(xiàn),比如早期的 Viola-Jones 檢測框架和當(dāng)前利用深度學(xué)習(xí)的人臉檢測或人臉特征點檢測模型贸伐。手勢跟蹤在應(yīng)用主要集中在跟蹤特定的手型钩乍,比如跟蹤手掌或者拳頭怯疤。設(shè)定特定的手型可以方便地訓(xùn)練手掌或拳頭的檢測器。
2.3 HAR + 機器學(xué)習(xí)
CNN: Deep Learning for Human Activity Recognition,2018
源碼: Github
數(shù)據(jù)集:UCI: Human Activity Recognition Using Smartphones Data Set
簡單使用cnn實現(xiàn)了對UCI數(shù)據(jù)集的分析, 基于Tensorflow and Pytorch.
That dataset contains 9 channels of the inputs: (acc_body, acc_total and acc_gyro) on x-y-z. So the input channel is 9.
Dataset providers have clipped the dataset using sliding window, so every 128 in .txt can be considered as an input. In real life, you need to first clipped the input using sliding window.
So in the end, we reformatted the inputs from 9 inputs files to 1 file, the shape of that file is [n_sample,128,9], that is, every windows has 9 channels with each channel has length 128. When feeding it to Tensorflow, it has to be reshaped to [n_sample,9,1,128] as we expect there is 128 X 1 signals for every channel.
知乎:基于深度學(xué)習(xí)的人體動作識別算法總結(jié)拔莱,桑燊
文章主要列出了一些相關(guān)的數(shù)據(jù)集以及深度學(xué)習(xí)的方法包括基于無監(jiān)督學(xué)習(xí)的行為識別、基于卷積神經(jīng)網(wǎng)絡(luò)的行為識別腿短、基于循環(huán)神經(jīng)網(wǎng)絡(luò)以及一些拓展模型的方法鸠补。當(dāng)然,這里面提到的很多模型都不是最新的技術(shù)藐翎,還有很多最新的模型和技術(shù)都沒有包含進(jìn)來材蹬。
本文首先提出一共17個人體姿態(tài)識別相關(guān)的數(shù)據(jù)集及其鏈接,然后給出9個深度學(xué)習(xí)在人體姿態(tài)識別領(lǐng)域的應(yīng)用模型吝镣,包括其論文提出的思路堤器、模型結(jié)構(gòu)、實驗數(shù)據(jù)集和使用的加速硬件(如果有的話)末贾,本文不提供相關(guān)的實現(xiàn)方法闸溃。
-
基于無監(jiān)督學(xué)習(xí)的行為識別
-
Learning hierarchical invariant spatio-temporal features for action recognition with independent subspace analysis. In: Proceedings of the 2011 IEEE
原來在動作識別領(lǐng)域所使用的方法一般都是人工選取的特征。本篇文章的工作就是使用了一種無監(jiān)督的學(xué)習(xí)方法自動地從視頻中學(xué)習(xí)特征拱撵。所使用到的方法是Independent Subspace Analysis(ISA)辉川。文章中對該算法進(jìn)行了一些改進(jìn),主要是使用了stacking和卷積兩種方法拴测,使模型能夠?qū)Ψ謱犹卣鬟M(jìn)行更好的學(xué)習(xí)乓旗。
-
Learning hierarchical invariant spatio-temporal features for action recognition with independent subspace analysis. In: Proceedings of the 2011 IEEE
-
基于卷積神經(jīng)網(wǎng)絡(luò)的行為識別
-
P-CNN: pose-based CNN features for action recognition
將傳統(tǒng)的CNN拓展到具有時間信息的3D-CNN,在視頻數(shù)據(jù)的時間維度和空間維度上進(jìn)行特征計算昼扛,在卷積過程中的特征圖與多個連續(xù)幀中的數(shù)據(jù)進(jìn)行連接寸齐。簡單來說欲诺,3D-CNN就是將連續(xù)的視頻幀看作一個盒子,使用一個三維的卷積核進(jìn)行卷積渺鹦,通過這種結(jié)構(gòu)扰法,就能捕獲動作信息,使用7幀[公式]大小幀序列作為輸入毅厚,第一層為硬編碼的卷積核塞颁,然后進(jìn)行兩次卷積和下采樣,最后得到一個128維的特征集合吸耿。 -
Two-stream convolutional networks for action recognition in videos
提出一種稱為P-CNN的模型祠锣,使用單幀數(shù)據(jù)和光流數(shù)據(jù),從而捕獲運動信息咽安。
首先伴网,要對視頻序列計算光流數(shù)據(jù)并且存儲為圖片的形式,對于給定的視頻信息和相對應(yīng)的骨骼位置妆棒,將RGB圖片和光流圖片分割為5類(左手澡腾、右手、上部分身體糕珊、下部分身體和整張圖片)动分,將其大小均初始化為[公式],然后使用兩個不同的卷積網(wǎng)絡(luò)红选,每個網(wǎng)絡(luò)都含有5個卷積層和3個全連層澜公,然后通過聚合和歸一化,最后整合為一個P-CNN的特征集合喇肋,最后使用線性SVM進(jìn)行訓(xùn)練坟乾。 -
Large-scale video classification with convolutional neural networks
提出一種稱為Long-term Temporal Convolutions(LTC-CNN)的網(wǎng)絡(luò),在定長時間的視頻內(nèi)使用三維的CNN苟蹈。
相比于其他的將視頻切分為短時間的序列糊渊,該模型最大限度的保留了視頻的時空信息右核,網(wǎng)絡(luò)有5個時空卷積層和3個全連層慧脱,對于每個時空卷積核尺寸都為[公式],都采用ReLU函數(shù)和最大值池化層(max pooling贺喝,除了第一層為[公式]菱鸥,其他尺寸均為 [公式]),并且在卷積時采用1像素的邊緣填充躏鱼。
-
P-CNN: pose-based CNN features for action recognition
- 循環(huán)神經(jīng)網(wǎng)絡(luò)及擴展模型
-
Beyond short snippets: deep networks for video classification, 對應(yīng)有個PPT
使用在imageNet上預(yù)訓(xùn)練過的CNN(AlexNet或者GoogleLeNet)提取幀級特征氮采,再將幀級特征和提取到的光流特征輸入到池化框架或者LSTM進(jìn)行訓(xùn)練,得到分類結(jié)果染苛。 就是說使用LSTM對視頻進(jìn)行建模鹊漠,LSTM將底層CNN的輸出連接起來作為下一時刻的輸入主到,在UCF101數(shù)據(jù)庫上獲得了82.6% 的識別率。主要貢獻(xiàn):- 提出采用CNN來得到視頻級的全局描述躯概,并且證明增大幀數(shù)能夠顯著提高分類性能登钥。
- 通過在時序上共享參數(shù),參數(shù)的數(shù)量在特征聚合和LSTM架構(gòu)中都作為視頻長度的函數(shù)保持不變娶靡。
- 證明了光流圖像能夠提升分類性能并用實驗結(jié)果說明即使在光流圖像本身存在大量噪聲的情況下(如在Sports-1M數(shù)據(jù)集中)牧牢,與LSTM結(jié)合后仍然對分類有很大幫助
-
Long-term recurrent convolutional networks for visual recognition and description
提出了長時遞歸卷積神經(jīng)網(wǎng)絡(luò)(Long-term recurrent convolutional network,LRCN),這個網(wǎng)絡(luò)將CNN和LSTM結(jié)合在一起對視頻數(shù)據(jù)進(jìn)行特征提取姿锭,單幀的圖像信息通過CNN獲取特征塔鳍,然后將CNN的輸出按時間順序通過LSTM,這樣最終將視頻數(shù)據(jù)在空間和時間維度上進(jìn)行特征表征呻此,在UCF101數(shù)據(jù)庫上得到了82.92% 的平均識別率轮纫。
該模型將卷積神經(jīng)網(wǎng)絡(luò)和LSTM相結(jié)合,輸入可以是一個單獨的圖片或者是一個視頻的一幀焚鲜,將該輸入進(jìn)行死絕特征提取蜡感,可以得到一個用來表示數(shù)據(jù)特征的定長向量,然后將其輸入到LSTM中學(xué)習(xí)到其中時間相關(guān)的信息恃泪,最后做出預(yù)測郑兴。
該模型的特點是可以根據(jù)不同的輸入實現(xiàn)不同的的任務(wù):- 動作識別:序列輸入,固定輸出
- 圖片描述:固定輸入贝乎,序列輸出
- 視頻描述:輸入和輸入均是序列
-
NTU RGB+D: A Large Scale Dataset for 3D Human Activity Analysis
提出一種稱為Part-Aware LSTM的模型情连,該模型主要是在針對使用Kinect采集的骨骼數(shù)據(jù)進(jìn)行人體的姿態(tài)識別。
該模型在LSTM的基礎(chǔ)上览效,允許有多個i却舀、g和f門,但是只有一個o門锤灿,主要是將下圖所示的25個人體骨骼根據(jù)動作的相關(guān)性分成5個組:軀干挽拔、雙手和雙腿。讓這個5個組分別通過自己的i但校、g和f門螃诅,但是卻共享一個o門,即每一個時間序列上状囱,豆?jié){這5個組各自的狀態(tài)存在細(xì)胞狀態(tài)中术裸,這樣不僅可以得到人體關(guān)節(jié)在時間序列上的關(guān)聯(lián),也可以通過分組更好獲取人體運動的特征亭枷。
-
Beyond short snippets: deep networks for video classification, 對應(yīng)有個PPT
HMM Adaptation for Improving a Human Activity Recognition System
使用HMM袭艺,優(yōu)化HAR問題
IJCAI 2018 | 海康威視Oral論文:分層式共現(xiàn)網(wǎng)絡(luò)叨粘,實現(xiàn)更好的動作識別和檢測
官方論文:Co-occurrence Feature Learning from Skeleton Data for Action Recognition and Detection with Hierarchical Aggregation
動作識別和檢測正得到計算機視覺領(lǐng)域越來越多的關(guān)注猾编。近日瘤睹,海康威視在 arXiv 發(fā)布了在這方面的一項實現(xiàn)了新的最佳表現(xiàn)的研究成果答倡,該論文也是 IJCAI 2018 Oral 論文默蚌。
本論文關(guān)注的是基于骨架的人體動作識別和檢測問題(圖 1)。骨架的相互作用和組合在描述動作特征上共同發(fā)揮了關(guān)鍵性作用苇羡。有很多早期研究都曾試圖根據(jù)骨架序列來設(shè)計和提取共現(xiàn)特征(co-occurrence feature)绸吸,比如每個關(guān)節(jié)的配對的相對位置 [Wang et al., 2014]、配對關(guān)節(jié)的空間方向 [Jin and Choi, 2012]设江、Cov3DJ [Hussein et al., 2013] 和 HOJ3D [Xia et al., 2012] 等基于統(tǒng)計的特征锦茁。另一方面,帶有長短期記憶(LSTM)神經(jīng)元的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)也常被用于建模骨架的時間序列 [Shahroudy et al., 2016; Song et al., 2017; Liu et al., 2016]叉存。盡管 LSTM 網(wǎng)絡(luò)就是為建模長期的時間依賴關(guān)系而設(shè)計的码俩,但由于時間建模是在原始輸入空間上完成的,所以它們難以直接從骨架上學(xué)習(xí)到高層面的特征 [Sainath et al., 2015]歼捏。而全連接層則有能力聚合所有輸入神經(jīng)元的全局信息稿存,進(jìn)而可以學(xué)習(xí)到共現(xiàn)特征。[Zhu et al., 2016] 提出了一種端到端的全連接深度 LSTM 網(wǎng)絡(luò)來根據(jù)骨架數(shù)據(jù)學(xué)習(xí)共現(xiàn)特征瞳秽。
Deep Progressive Reinforcement Learning for Skeleton-based Action Recognition, CVPR2018
來自清華的增強學(xué)習(xí)
這篇文章開篇就指出瓣履,我們的模型是要從人體動作的序列中選取出最informative的那些幀,而丟棄掉用處不大的部分练俐。但是由于對于不同的視頻序列袖迎,挑出最有代表性的幀的方法是不同的,因此腺晾,本文提出用深度增強學(xué)習(xí)來將幀的選擇模擬為一個不斷進(jìn)步的progressive process燕锥。
這篇文章處理的問題是skeleton based action recognition
可以看出整個模型大體分為兩個部分,F(xiàn)DNet和GCNN悯蝉。其中FDNet指的是frame distillation network归形,幀蒸餾網(wǎng)絡(luò),形象的將選取最有用的幀的過程用蒸餾來形容鼻由。FDNet得到有用的幀之后就要輸入到GCNN暇榴,也就是graph convolutional neural network里面進(jìn)行g(shù)raph convolution,完成動作識別嗡靡。
強化學(xué)習(xí)是通過優(yōu)化選擇actions的policy來最大化agent從environment所獲得的rewards跺撼。文章中說至今為止窟感,在動作識別領(lǐng)域讨彼,增強學(xué)習(xí)的應(yīng)用還不多。
...
最后作者講了如何將FDNet和GCNN結(jié)合起來柿祈,首先哈误,從graph的序列中均勻的選出一些frames哩至,用它們來訓(xùn)練GCNN,之后將GCNN的參數(shù)固定蜜自,再來訓(xùn)練FDNet菩貌,而訓(xùn)練過的FDNet又能夠精細(xì)調(diào)節(jié)GCNN, 就這樣兩者互幫互助重荠。
A New Representation of Skeleton Sequences for 3D Action Recognition CVPR2017
骨架動作識別箭阶, 參考博客,本文的主要思想是將3d骨架坐標(biāo)轉(zhuǎn)換成圖片戈鲁,然后再用卷積網(wǎng)絡(luò)提取特征仇参,時域上的特征通過特殊的卷積核來提取,以達(dá)到時序記憶的目的婆殿。
Investigation of Different Skeleton Features for CNN-based 3D Action Recognition 2017
3D骨架識別問題诈乒。
將節(jié)點之間的距離變成圖片,將線和線之間的夾角變成圖片婆芦,再送入CNN網(wǎng)絡(luò)提取特征
基于深度學(xué)習(xí)的Action Recognition(行為識別)文檔整理
Action Recognition的研究方向(發(fā)論文的方向)分為三大類怕磨。
-
Structure
這里的結(jié)構(gòu)主要指網(wǎng)絡(luò)結(jié)構(gòu)。目前消约,主流的結(jié)構(gòu)都是基于 Two-Stream Convolutional Networks 和 C3D 發(fā)展而來肠鲫,所以這一塊內(nèi)容也主要討論這兩種結(jié)構(gòu)的各種演化中作為benchmark的一些結(jié)構(gòu)-
Temporal Segment Networks: Towards Good Practices for Deep Action Recognition【ECCV2016】
該論文繼承了雙流網(wǎng)絡(luò)的結(jié)構(gòu),但為了解決long-term的問題或粮,作者提出使用多個雙流網(wǎng)絡(luò)滩届,分別捕捉不同時序位置的short-term信息,然后進(jìn)行融合被啼,得到最后結(jié)果帜消。 -
Deep Local Video Feature for Action Recognition 【CVPR2017】
TSN改進(jìn)版本之一。改進(jìn)的地方主要在于fusion部分浓体,不同的片段的應(yīng)該有不同的權(quán)重泡挺,而這部分由網(wǎng)絡(luò)學(xué)習(xí)而得,最后由SVM分類得到結(jié)果命浴。 -
Temporal Relational Reasoning in Videos
TSN改進(jìn)版本二娄猫。
這篇是MIT周博磊大神的論文,作者是也是最近提出的數(shù)據(jù)集 Moments in time 的作者之一生闲。
該論文關(guān)注時序關(guān)系推理媳溺。對于哪些僅靠關(guān)鍵幀(單幀RGB圖像)無法辨別的動作,如摔倒碍讯,其實可以通過時序推理進(jìn)行分類悬蔽。
除了兩幀之間時序推理,還可以拓展到更多幀之間的時序推理捉兴。
通過對不同長度視頻幀的時序推理蝎困,最后進(jìn)行融合得到結(jié)果录语。 -
I3D-DeepMind
即基于inception-V1模型,將2D卷積擴展到3D卷積禾乘。 -
T3D
該論文值得注意的澎埠,一方面是采用了3D densenet,區(qū)別于之前的inception和Resnet結(jié)構(gòu)始藕;另一方面蒲稳,TTL層,即使用不同尺度的卷積(inception思想)來捕捉訊息伍派。 -
P3D-MSRA
改進(jìn)ResNet內(nèi)部連接中的卷積形式弟塞。然后,超深網(wǎng)絡(luò)拙已,一般人顯然只能空有想法决记,望而卻步。 -
Temporal Pyramid Pooling:End-to-end Video-level Representation Learning for Action Recognition
Pooling倍踪。時空上都進(jìn)行這種pooling操作系宫,旨在捕捉不同長度的訊息。 -
TLE: Deep Temporal Linear Encoding Networks
TLE這篇文章認(rèn)為建车,在一段視頻中扩借,連續(xù)幀之間的移動通常很微小,然后參考到IDT算法中對特征點密集采樣并且使用光流來跟蹤它們能夠得到比較好的video representation缤至,因此提出需要有一個對所有的幀進(jìn)行綜合編碼而得到的video representation潮罪,從而才能夠捕捉到長時間的動態(tài)過程。
也就是說领斥,TLE首先對一段視頻嫉到,切割成K段,然后對每一段月洛,讓它通過一個CNN提取到CNN features何恶,當(dāng)然這K個CNN是權(quán)值共享的,然后對這K段的CNN features嚼黔,首先用一個融合操作把它們糅合成一個features细层,然后對這融合后的features進(jìn)行編碼從而得到最終的video representation。
該模型建立TSN基礎(chǔ)上唬涧,在輸入的特征圖上進(jìn)行時序推理疫赎。增加三層全連接層學(xué)習(xí)不同長度視頻幀的權(quán)重,及上圖中的函數(shù)g和h碎节。
-
Temporal Segment Networks: Towards Good Practices for Deep Action Recognition【ECCV2016】
-
Inputs
輸入一方面指輸入的數(shù)據(jù)類型和格式捧搞,也包括數(shù)據(jù)增強的相關(guān)操作。
雙流網(wǎng)絡(luò)中,空間網(wǎng)絡(luò)通道的輸入格式通常為單RGB圖像或者是多幀RGB堆疊实牡。而空間網(wǎng)絡(luò)一般是直接對ImageNet上經(jīng)典的網(wǎng)絡(luò)進(jìn)行finetune陌僵。雖然近年來對motion信息的關(guān)注逐漸上升轴合,指責(zé)行為識別過度依賴背景和外貌特征创坞,而缺少對運動本身的建模,但是受葛,事實上题涨,運動既不是名詞,也不應(yīng)該是動詞总滩,而應(yīng)該是動詞+名詞的形式纲堵,例如:play+basketball,也可以是play+football闰渔。所以席函,個人認(rèn)為,雖然應(yīng)該加大的時間信息的關(guān)注冈涧,但不可否認(rèn)空間特征的重要作用茂附。
空間網(wǎng)絡(luò)主要捕捉視頻幀中重要的物體特征。目前大部分公開數(shù)據(jù)集其實可以僅僅依賴單圖像幀就可以完成對視頻的分類督弓,而且往往不需要分割营曼,那么,在這種情況下愚隧,空間網(wǎng)絡(luò)的輸入就存在著很大的冗余蒂阱,并且可能引入額外的噪聲。A Key Volume Mining Deep Framework for Action Recognition 【CVPR2016】
雖然上面的方法可以集成到一個網(wǎng)絡(luò)中訓(xùn)練狂塘,但是思路是按照圖像分類算法RCNN中需要分步先提出候選框录煤,挑選出關(guān)鍵幀。既然挑選前需要輸入整個視頻荞胡,可不可以省略挑選這個步驟辐赞,直接在卷積/池化操作時,重點關(guān)注那些關(guān)鍵幀硝训,而忽視那些冗余幀呢响委?去年就有人提出這樣的解決方法。AdaScan: Adaptive Scan Pooling in Deep Convolutional Neural Networks for Human Action Recognition in Videos 【CVPR2017】
注:AdaScan的效果一般窖梁,關(guān)鍵幀的質(zhì)量比上面的Key Volume Mining效果要差一點赘风。不過模型整體比較簡單。
輸入方面纵刘,空間網(wǎng)絡(luò)目前主要集中在關(guān)鍵幀的研究上邀窃。而對于temporal通道而言,則是更多人的關(guān)注焦點。首先瞬捕,光流的提取需要消耗大量的計算力和時間(有論文中提到幾乎占據(jù)整個訓(xùn)練時間的90%)鞍历;其次,光流包含的未必是最優(yōu)的的運動特征肪虎。Hidden Two-Stream Convolutional Networks for Action Recognition
該論文主要參考了flownet劣砍,即使用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)生成光流圖,然后作為temporal網(wǎng)絡(luò)的輸入扇救。該方法提升了光流的質(zhì)量刑枝,而且模型大小也比flownet小很多。有論文證明迅腔,光流質(zhì)量的提高装畅,尤其是對于邊緣微小運動光流的提升,對分類有關(guān)鍵作用沧烈。
另一方面掠兄,該論文中也比較了其余的輸入格式,如RGB diff锌雀。但效果沒有光流好蚂夕。
- Connection
這里連接主要是指雙流網(wǎng)絡(luò)中時空信息的交互。一種是單個網(wǎng)絡(luò)內(nèi)部各層之間的交互汤锨,如ResNet/Inception双抽;一種是雙流網(wǎng)絡(luò)之間的交互,包括不同fusion方式的探索闲礼,目前值得考慮的是參照ResNet的結(jié)構(gòu)牍汹,連接雙流網(wǎng)絡(luò)。
這里主要討論雙流的交互柬泽。-
Spatiotemporal Multiplier Networks for Video Action Recognition【CVPR2017】
網(wǎng)絡(luò)的結(jié)構(gòu)如上圖慎菲。空間和時序網(wǎng)絡(luò)的主體都是ResNet锨并,增加了從Motion Stream到Spatial Stream的交互露该。論文還探索多種方式。 -
Spatiotemporal Pyramid Network for Video Action Recognition 【CVPR2017】
論文作者認(rèn)為第煮,行為識別的關(guān)鍵就在于如何很好的融合空間和時序上的特征解幼。作者發(fā)現(xiàn),傳統(tǒng)雙流網(wǎng)絡(luò)雖然在最后有fusion的過程包警,但訓(xùn)練中確實單獨訓(xùn)練的撵摆,最終結(jié)果的失誤預(yù)測往往僅來源于某一網(wǎng)絡(luò),并且空間/時序網(wǎng)絡(luò)各有所長害晦。論文分析了錯誤分類的原因:空間網(wǎng)絡(luò)在視頻背景相似度高的時候容易失誤特铝,時序網(wǎng)絡(luò)在long-term行為中因為snippets length的長度限制容易失誤。那么能否通過交互,實現(xiàn)兩個網(wǎng)絡(luò)的互補呢鲫剿?
該論文重點在于STCB模塊鳄逾,詳情請參閱論文。交互方面灵莲,在保留空間雕凹、時序流的同時,對時空信息進(jìn)行了一次融合笆呆,最后三路融合请琳,得出最后結(jié)果粱挡。 - Attentional pooling for action recognition 【NIPS2017】
-
ActionVLAD for video action classification 【CVPR2017】
這兩篇論文從pooling的層面提高了雙流的交互能力赠幕,這兩篇筆者還在看,有興趣的讀者請自行參閱論文询筏。后期會附上論文的解讀榕堰。 -
Deep Convolutional Neural Networks with Merge-and-Run Mappings
這篇論文也是基于ResNet的結(jié)構(gòu)探索新的雙流連接方式。
-
Spatiotemporal Multiplier Networks for Video Action Recognition【CVPR2017】
TURN TAP: Temporal Unit Regression Network for Temporal Action Proposals
有一篇該論文的讀書筆記:Model for Video Understanding
模型結(jié)果不復(fù)雜嫌套,最大亮點是:Unit-level Regression逆屡。模型結(jié)構(gòu)見下圖,雖然我覺得看圖并不直觀踱讨。
前的工作集中在frame-level上魏蔗,即直接回歸得到邊界的屬性,例如直接得到起/終點的frame index痹筛,不過主流的普遍是center frame以及l(fā)ength莺治。本文提供了一種新的思路,relax回歸的精度帚稠,在unit-level上回歸谣旁,結(jié)果發(fā)現(xiàn),unit-level上不僅更容易訓(xùn)練滋早,效果也更好榄审。Unit-level其實也很簡單,就是連續(xù)幀杆麸,本文里Unit length設(shè)置為{16搁进,32}。
Cascaded Boundary Regression for Temporal Action Detection
有一篇該論文的讀書筆記:Model for Video Understanding
這篇文章主要是前一篇文章的改進(jìn)昔头,思路很簡單饼问,既然回歸網(wǎng)絡(luò)可以修正邊界,那么級聯(lián)的回歸網(wǎng)絡(luò)應(yīng)該會有更好的效果减细,即進(jìn)行多次回歸修正匆瓜。
模型的主要結(jié)構(gòu)還是兩部分,action proposal和action classification。在每一個部分中驮吱,增加級聯(lián)邊界回歸網(wǎng)絡(luò)茧妒。
3. 人體動作識別 (HAR) - 基于傳感器
3.1 移動端傳感器信息
CoreMotion (加速儀與陀螺儀)
CoreMotion (加速儀與陀螺儀),加速儀可以檢測三維空間中的加速度 左冬,坐標(biāo)對應(yīng)如下
deviceMotion
包含下面四種數(shù)據(jù):
- attitude(類型:CMAttitude)
- 返回設(shè)備的方位信息桐筏,包含roll 、pitch拇砰、yaw三個歐拉角的值
- roll: 設(shè)備繞 Z 軸轉(zhuǎn)過的角度
- pitch: 設(shè)備繞 X 軸轉(zhuǎn)過的角度
- yaw: 設(shè)備繞 Y 軸轉(zhuǎn)過的角度
- rotationRate(類型:CMRotationRate)
- 經(jīng)過濾波操作之后的陀螺儀數(shù)據(jù)梅忌,即 靜止時,三個方向的轉(zhuǎn)動速度接近于0除破;
- gravity(類型:CMAcceleration)
- 返回重力對設(shè)備在三個方向上的加速度
- 即重力加速度矢量在當(dāng)前設(shè)備的參考坐標(biāo)系中的表達(dá)牧氮,開發(fā)中不再需要通過濾波來提取這個信息
- userAcceleration(類型:CMAcceleration)
- 返回用戶對設(shè)備在三個方向上的加速度
- 不再需要濾波,但根據(jù)程序需求而加的濾波算法可以保留
- magneticField:該屬性返回校準(zhǔn)后的磁場信息
- 該屬性值是一個CMCalibr atedMagneticField結(jié)構(gòu)體變量
- CMCalibratedMagneticField類型的變量包括field和accuracy兩個字段
- 其中field代表X瑰枫、Y踱葛、Z、軸上的磁場強度光坝,accuracy則代表磁場強度的精度尸诽;
CoreMotion框架(一)—— 基礎(chǔ)理論
CoreMotion框架, iOS參數(shù)介紹
iOS中的一個核心運動框架CoreMotion.framework盯另。這個框架性含,主要是為了訪問加速度計和陀螺儀的相關(guān)數(shù)據(jù)。 它不僅僅提供給你獲得實時的加速度值和旋轉(zhuǎn)速度值鸳惯,更重要的是商蕴,蘋果在其中集成了很多算法,可以直接給你輸出把重力加速度分量剝離的加速度悲敷,省去你的高通濾波操作究恤,以及提供給你一個專門的設(shè)備的三維位置信息。
cocoachina:詳說CMDeviceMotion
基礎(chǔ)的接口API介紹后德,算是比較全面部宿,但是深度一般
3.2 行為序列的特征提取
行為識別(時間序列)特征提取代碼
語言: matlab + C語言
多種傳感器可以用于行為識別,如最常用的加速度計瓢湃、陀螺儀理张、藍(lán)牙與WiFi等。針對藍(lán)牙與WiFi的特征提取绵患,要根據(jù)具體的問題情況來進(jìn)行雾叭。通常來說,加速度和陀螺儀的數(shù)據(jù)是最常用的落蝙。因此织狐,我們就以這兩種信號為例暂幼,提供針對它們的特征提取代碼。
加速度和陀螺儀都是典型的時間序列信號移迫,在行為識別中旺嬉,通常我們都會提取一些統(tǒng)計信息(又稱為時域)和頻率信息(又稱為頻域)。兩部分合起來厨埋,就可以用于行為識別了邪媳。從經(jīng)驗出發(fā),能夠識別人體常見的大多數(shù)運動行為荡陷。
也可以用本代碼進(jìn)行一些時間序列的特征提取雨效,用法是一樣的
關(guān)于時域和頻域具體特征的計算方法請見在知乎的這個回答:https://www.zhihu.com/question/41068341/answer/89926233
行為識別常用的特征提取方法
提取加速度:
- 滑動窗口
窗口大小,滑動步長 - 合成加速度
常規(guī)采集的都是三個方向的加速度废赞,在處理過程中徽龟,會用到三軸加速度合成一個加速度(為了減少計算性) - 時域特征
均值,標(biāo)準(zhǔn)差蛹头,眾數(shù)顿肺,MAX/MIN, Range戏溺,相關(guān)系數(shù)渣蜗,信號幅值面積SMA - 頻域特征
直流分量,幅度旷祸,功率譜密度PSD
3.3 卡爾曼濾波(Kalman Filter)
官方論文:A New Approach to Linear Filtering and Prediction Problems
卡爾曼全名Rudolf Emil Kalman耕拷,匈牙利數(shù)學(xué)家,1930年出生于匈牙利首都布達(dá)佩斯托享。1953骚烧,1954年于麻省理工學(xué)院分別獲得電機工程學(xué)士及碩士學(xué)位。1957年于哥倫比亞大學(xué)獲得博士學(xué)位闰围。
我們現(xiàn)在要學(xué)習(xí)的卡爾曼濾波器赃绊,正是源于他的博士論文和1960年發(fā)表的論文《A New Approach to Linear Filtering and Prediction Problems》(線性濾波與預(yù)測問題的新方法)
理解Kalman濾波的使用
Kalman濾波是一種線性濾波與預(yù)測方法,原文為:A New Approach to Linear Filtering and Prediction Problems羡榴。文章推導(dǎo)很復(fù)雜碧查,看了一半就看不下去了,既然不能透徹理解其原理校仑,但總可以通過實驗來理解其具體的使用方法忠售。
Kalman濾波分為2個步驟,預(yù)測(predict)和校正(correct)迄沫。預(yù)測是基于上一時刻狀態(tài)估計當(dāng)前時刻狀態(tài)稻扬,而校正則是綜合當(dāng)前時刻的估計狀態(tài)與觀測狀態(tài),估計出最優(yōu)的狀態(tài)羊瘩。
function filter = Kalman(filter)
%predict
predict_x = filter.A * filter.x + filter.B * filter.u;
filter.P = filter.A * filter.P * filter.A' + filter.Q;
%correct
filter.K = filter.P * filter.H' / (filter.H * filter.P * filter.H' + filter.R);
filter.x = predict_x + filter.K * (filter.z - filter.H * predict_x);
filter.P = filter.P - filter.K * filter.H * filter.P;
end
在matlab中泰佳,kalman濾波實際上就是上面那5個公式盼砍,而難點卻是在測試代碼中針對不同問題各個變量的初始化上。
...
根據(jù)上面的實驗結(jié)果逝她,可以看出Kalman濾波應(yīng)用中的幾個問題:
- 模型建立的正確性從根本上決定了濾波效果的正確性衬廷。
上面使用物體靜止模型進(jìn)行濾波,結(jié)果完全不對汽绢,而使用勻速運動模型則能達(dá)到較好的效果般卑。從根本上講,上面的數(shù)據(jù)也不是勻速運動的车柠,為何結(jié)果會基本正確相种?看看第一個使用靜止模型的濾波結(jié)果,雖然我們假定了物體是靜止的积仗,但由于觀測數(shù)據(jù)的作用疆拘,kalman濾波結(jié)果也會有相應(yīng)的運動而不是完全靜止,也就是說濾波器在不停地修正這個狀態(tài)寂曹,而在勻速運動模型中哎迄,物體的速度我們認(rèn)為不變,但同樣地kalman濾波器也會不停地修正這個速度隆圆,濾波器中計算的速度實質(zhì)的偏離了真實速度的漱挚,因此最終也會有相應(yīng)的偏差,不過這個偏差在我們?nèi)菰S范圍內(nèi)渺氧,也就可以大膽使用了旨涝。
如果能確定物體是勻變速直線運動,使用相應(yīng)帶加速度的模型會得到更準(zhǔn)確的效果侣背。但是越嚴(yán)格的模型其適用范圍也相應(yīng)越小白华。 - 影響濾波結(jié)果平滑性的因素是cR/cQ
影響濾波結(jié)果平滑性的因素是cR/cQ,這個值反映了我們對于預(yù)測和觀測值的信任程度贩耐;其值越大則越相信預(yù)測結(jié)果弧腥,濾波結(jié)果平滑性好;反之則越相信觀測結(jié)果潮太,濾波結(jié)果越偏向于觀測值管搪。一般我們使用kalman濾波器是為了能平滑數(shù)據(jù)的波動,因此應(yīng)盡量保證cR/cQ稍大消别,上面的測試結(jié)果該值在1e4以上數(shù)據(jù)較為平滑
Polen: 非常透徹的講解, 偏教學(xué)引導(dǎo)性的講解寻狂,包括一些數(shù)學(xué)推到和matlab實現(xiàn)
卡爾曼濾波在我當(dāng)學(xué)生的時候就用過岁经,但是當(dāng)年我似乎就是套公式蛇券,沒有理解其精髓缀壤,加之時間久了有點模糊筋夏,突然需要指導(dǎo)學(xué)生使用,有了強烈的陌生感覺,不得不逼自己再一次撿起乞巧。自己學(xué)會和教會別人是學(xué)習(xí)的兩個層次,為了自我提高摊鸡,也為了更好得指導(dǎo)學(xué)生绽媒。于是,我又翻出自己當(dāng)年寫的算法以及在網(wǎng)上找了些大神寫的資料免猾,進(jìn)行融會貫通是辕,總結(jié)提煉,希望稍微有點大學(xué)概率論的人能夠看懂此文并熟練使用掸刊。
講解了隨機變量和概率免糕,那么為啥要引入卡爾曼濾波呢∮遣啵卡爾曼濾波適用于估計一個由隨機變量組成的動態(tài)系統(tǒng)的最優(yōu)狀態(tài)。即便是觀測到的系統(tǒng)狀態(tài)參數(shù)含有噪聲牌芋,觀測值不準(zhǔn)確蚓炬,卡爾曼濾波也能夠完成對狀態(tài)真實值的最優(yōu)估計。
這篇文章從編程的角度躺屁,定義了kalman濾波的各項參數(shù)肯夏,并基于C實現(xiàn)了一個demo版本。
- 卡爾曼濾波中的真實值,測量值,預(yù)測值,估計值怎么區(qū)分?
- 卡爾曼濾波遞歸過程
- 卡爾曼濾波器的工作過程
//標(biāo)量卡爾曼濾波
typedef struct {
float x; // 系統(tǒng)的狀態(tài)量
float A; // x(n)=A*x(n-1)+u(n),u(n)~N(0,q)
float H; // z(n)=H*x(n)+w(n),w(n)~N(0,r)
float q; // 預(yù)測過程噪聲協(xié)方差
float r; // 測量過程噪聲協(xié)方差
float p; // 估計誤差協(xié)方差
float gain;//卡爾曼增益
}KalmanStructTypedef;
Discrete Kalman Optimal Estimator,2013
對應(yīng)的github: Kalman.scala
polen: 這是書 <Scala For Mahine Learning> 的上的內(nèi)容犀暑,此章節(jié)是基于kalman 實現(xiàn)預(yù)測的scala 代碼驯击,但是運行有bug,跑不起來
This post is an introduction to the Kalman optimal filter using the Scala programming language as implementation. The Kalman filter is widely used in signal processing and statistical analysis to quantify or estimate noise created by a process and noise generated by measurement devices.
Kalman Filter at the age of big data: programming in Spark/Scala,2017
Scala實現(xiàn)Kalman濾波
在大數(shù)據(jù)時代如何通過kalman filter進(jìn)行星際導(dǎo)航. 先介紹了下kalmanfilter是什么耐亏,然后將在導(dǎo)航系統(tǒng)中根據(jù)觀察值和觀察狀態(tài)使用kalmanfilter徊都。偏向于科普文為主,沒有太多數(shù)學(xué)推到广辰,大部分假設(shè)以高斯分布為主暇矫。
Kalman-and-Bayesian-Filters-in-Python
卡爾曼貝葉斯濾波器的系統(tǒng)介紹主之,基于python notebook實現(xiàn)
Multidimensional Kalman Filter for a Constant Acceleration Model (CA)
基于卡爾曼濾波,計算乒乓球的運動軌跡李根,和波爾打乒乓
Effective Adaptive Kalman Filter for MEMS-IMU/Magnetometers Integrated Attitude and Heading Reference Systems
西工大的幾個學(xué)生寫的基于卡爾曼濾波進(jìn)行姿態(tài)識別槽奕, 大部分以數(shù)學(xué)推到為主。
3.4 姿態(tài)識別/姿態(tài)解算
官方:Open source IMU and AHRS
開源:AHRS的官方源碼(c,c#,matlab)
Pixhawk 源碼分析系列-姿態(tài)解算房轿,創(chuàng)客制造
經(jīng)過近一段時間的研究粤攒,主要是關(guān)于多旋翼無人機姿態(tài)解算算法的研究,開源PX4源代碼里面默認(rèn)使用的是基于mahony的互補濾波算法(explicit complement filter)進(jìn)行姿態(tài)解算的囱持;還有一套備用姿態(tài)解算算法是基于kalman的EKF(extended kalman filter)琼讽;然后呢,其實還有一套PX4源代碼中尚未涉及的基于madgwick的梯度下降算法(gradient descent)洪唐。
A Python implementation of Madgwick's IMU and AHRS algorithm
python實現(xiàn)的AHRS算法版本钻蹬,主要是四元數(shù)的計算
Indirect Kalman Filter for 3D Attitude Estimation
純粹數(shù)學(xué)推導(dǎo)
Indirect Kalman Filter for 3D Attitude Estimation
Nikolas Trawny and Stergios I. Roumeliotis Department of Computer Science & Engineering University of Minnesota
Multiple Autonomous Robotic Systems Laboratory, TR-2005-002
March 2005
Python Attitude Heading and Reference System,2014-07-23
一個python的ahrs的源代碼,沒仔細(xì)看凭需,感覺啥都有一點
IMU Data Fusing: Complementary, Kalman, and Mahony Filter
姿態(tài)識別常用的幾種方法對比
在IMU數(shù)據(jù)融合來得到準(zhǔn)確姿態(tài)方面的工作已經(jīng)有很多大牛研究過问欠,主要有:Colton,Bizard,Starlino,Lauszus,Mahony,Madgwick。他們的研究成果已經(jīng)成為了標(biāo)準(zhǔn)的參考粒蜈。這么多的算法中有相似也有不同之處顺献,容易給人造成混亂。這里就以6軸傳感器的IMU來討論他們之間的區(qū)別和相似枯怖。
這里討論三個最基本的濾波器方法注整,互補濾波器,卡爾曼濾波器(線性的)度硝,Mahony&Madgwick 濾波器肿轨。分為五塊部分來敘述,第一部分是關(guān)于基本的知識蕊程,第二部分是關(guān)于1維IMU數(shù)據(jù)融合(1階椒袍,沒有估計陀螺儀誤差);第三部分是關(guān)于1維IMU數(shù)據(jù)融合(2階藻茂,帶有陀螺儀誤差估計)驹暑;第四部分帶有Mahony濾波器的3維IMU數(shù)據(jù)融合;第五部分是關(guān)于3維濾波器的展望辨赐。最后附帶一些算法的實現(xiàn)步驟优俘。
3.5 傳感器 + 機器學(xué)習(xí)
3.5.1 移動端 + 機器學(xué)習(xí)
用智能手機做行為識別文章總結(jié)
列舉了13年到15年用手機做行為識別相關(guān)的論文
Motion Gesture Detection Using Tensorflow on Android
基于android的傳感器+tensorflow神經(jīng)網(wǎng)絡(luò),識別用戶是左滑還是右滑動作
這里有中文翻譯版本掀序,其對應(yīng)android的代碼帆焕, 其中tensorflow訓(xùn)練的jupyter notebook
對于我們的目標(biāo),我們可以將其描述為希望手機能夠識別左右的快速動作森枪。
我們希望能夠在一個單獨的Android庫中完成這一實現(xiàn)视搏,以便它能夠容易地集成到任何其他應(yīng)用程序中审孽。
這些動作可以通過手機上的幾個傳感器進(jìn)行捕獲:加速度計、陀螺儀浑娜、磁力計等等佑力。隨后,這些批量動作可以用于機器學(xué)習(xí)算法筋遭,以便進(jìn)行訓(xùn)練和后續(xù)識別打颤。
為了捕捉數(shù)據(jù),我們將開發(fā)一個Android應(yīng)用程序漓滔。預(yù)處理和訓(xùn)練過程將在Jupyter Notebook環(huán)境的PC上使用Python和TensorFlow庫執(zhí)行编饺。手勢識別將在一個Android應(yīng)用程序演示中執(zhí)行,并生成訓(xùn)練數(shù)據(jù)响驴。最后透且,我們將開發(fā)一個即時可用的Android庫,用于手勢識別豁鲤,而且可以很容易地集成到其他應(yīng)用程序中
讀取的原始數(shù)據(jù)為:600.000000,2.464342,0.030081,-1.655362
對應(yīng): column_names = ['timestamp', 'x-axis', 'y-axis', 'z-axis']
監(jiān)督學(xué)習(xí)的標(biāo)簽:green/red (表明左滑或者右滑)
Machine-Learning powered Gesture Recognition on iOS
iOS上集成手勢識別的toolkit, 對應(yīng)源碼
作者實現(xiàn)了一個訓(xùn)練ViewController和一個預(yù)測ViewController秽誊。訓(xùn)練ViewController用于你做指定的動作,來添加訓(xùn)練數(shù)據(jù)琳骡。具體的算法是用C++寫的隨機森林的一個分類器锅论。相對比較簡單,準(zhǔn)確性姑且不論楣号,至少這一套完整做下來最易,后續(xù)有其他類似項目,可以作為啟動的demo參考炫狱。
基于DeepConvLSTM的傳感器信號分類,美圖,2018
源碼: Github
數(shù)據(jù)集:UCI: Human Activity Recognition Using Smartphones Data Set
本文主要根據(jù)手機的傳感器數(shù)據(jù)藻懒,訓(xùn)練深度學(xué)習(xí)模型,用于預(yù)測用戶的運動模式毕荐,如行走束析、上樓梯、下樓梯憎亚、坐、站立弄慰、躺下等六種動作.
模型是基于深度學(xué)習(xí)的DeepConvLSTM算法第美,算法融合了卷積(Convolution)和LSTM操作,既可以學(xué)習(xí)樣本的空間屬性陆爽,也可以學(xué)習(xí)時間屬性什往。在卷積操作中,通過將信號與卷積核相乘慌闭,過濾波形信號别威,保留高層信息躯舔。在LSTM操作中,通過記憶或遺忘前序信息省古,發(fā)現(xiàn)信號之間的時序關(guān)系粥庄。
, 代碼基于keras實現(xiàn)
最終效果豺妓,在測試集中惜互,準(zhǔn)確率約為95%左右:
loss: 0.0131 - acc: 0.9962 - val_loss: 0.1332 - val_acc: 0.9535
val_f1: 0.953794 — val_precision: 0.958533 — val_recall 0.949101
Deep, Convolutional, and Recurrent Models for Human Activity Recognition Using Wearables 好不容易找到一個有github鏈接的,
分別對DNN,CNN,RNN實現(xiàn)一波人體姿態(tài)識別琳拭,然后對比實驗看結(jié)果训堆。從結(jié)果來看,CNN和LSTM的效果更好一些白嘁。
代碼上是基于Lua寫的坑鱼,實現(xiàn)方式是基于CNN/DNN/RNN都有實現(xiàn),但是可以調(diào)試/測試的只有RNN絮缅。不過既然代碼都不能調(diào)試鲁沥,其論文的可驗證性打個問號吧。
3.5.2 傳感器 + 機器學(xué)習(xí)
知乎:近幾年國際會議關(guān)于傳感器行為識別的文章整理
匯總了11年到15年各大平臺的行為識別的論文盟蚣,主要以手機或者傳感器為原始數(shù)據(jù)黍析。列舉的很詳細(xì),匯總了幾十篇論文屎开。
深度學(xué)習(xí)用于行為識別文章總結(jié) (Deep learning for activity recognition)
深度學(xué)習(xí)用于行為識別代碼 (Deep learning codes)
傳感器識別 + 深度學(xué)習(xí)
遷移學(xué)習(xí)用于行為識別 (Transfer learning for activity recognition)
傳感器識別 + 遷移學(xué)習(xí)
與位置相關(guān)的傳感器行為識別文章
傳感器在身體的不同位置 + 機器學(xué)習(xí)
基于加速度傳感器的連續(xù)動態(tài)手勢識別阐枣,陳鵬展 羅漫 李杰 華東交通大學(xué)電氣與電子工程學(xué)院 南昌
摘要:針對個體手勢動作信號的差異性和不穩(wěn)定性,提出了一種基于加速度傳感器的連續(xù)動態(tài)手勢識 別方法奄抽。通過 MEMS 加速度傳感器采集手勢動作信號蔼两,并結(jié)合手勢信號的動作特征,對單個手勢的有效 數(shù)據(jù)進(jìn)行自動定位截取逞度,經(jīng)預(yù)處理和特征提取后额划,構(gòu)建隱馬爾可夫模型( HMM) 以實現(xiàn)對特定手勢的實時 識別。通過設(shè)計實現(xiàn)了一種可穿戴手勢信號采集硬件原型系統(tǒng)档泽,對 10 類手勢的 1000 個手勢數(shù)據(jù)進(jìn)行識 別對比實驗俊戳,統(tǒng)計結(jié)果表明: 該方法可以對連續(xù)手勢進(jìn)行實時有效的識別。