文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.182476
中文引用格式: 陳旭東,,周昱琪,李夢(mèng)杰,,等. 基于SoC FPGA和CNN模型的動(dòng)作識(shí)別系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,,2019,45(2):97-104,,108.
英文引用格式: Chen Xudong,Zhou Yuqi,,Li Mengjie,,et al. Design of an action recognition system based on SoC FPGA and CNN model[J]. Application of Electronic Technique,2019,,45(2):97-104,,108.
0 引言
基于視覺(jué)的動(dòng)作識(shí)別方法可以分為兩大類[1],其一是采用人工設(shè)計(jì)的特征進(jìn)行識(shí)別的方法,,比如基于密集軌跡[2],、基于空時(shí)濾波器與圖模型[3]、基于關(guān)節(jié)信息和流形學(xué)習(xí)的方法[4],、基于HMM的復(fù)雜動(dòng)作建模[5]等,;其二是采用深度網(wǎng)絡(luò)的方法,,比如基于空時(shí)卷積神經(jīng)網(wǎng)絡(luò)[6]、Two-stream卷積網(wǎng)絡(luò)[7-8],、基于關(guān)節(jié)信息和LSTM的空時(shí)注意力模型[9]等,。雖然使用深度學(xué)習(xí)可以減少人工設(shè)計(jì)特征的工作量,且在圖像識(shí)別等領(lǐng)域有極佳的表現(xiàn)[10],,但是卻有運(yùn)算量大的問(wèn)題,。對(duì)此,可以通過(guò)模型改進(jìn)[11-12],、壓縮[13],、量化[14]等方式減少運(yùn)算量,也可以使用GPU[15],、ASIC[16]和FPGA[17-18]等硬件系統(tǒng)進(jìn)行加速運(yùn)算,。
本文采用CNN模型對(duì)視頻流中的目標(biāo)任務(wù)進(jìn)行動(dòng)作識(shí)別。為了減少運(yùn)算量,,首先利用基于光流信息和靜態(tài)圖像處理的行人檢測(cè)方案定位場(chǎng)景中的目標(biāo),,而后使用CNN網(wǎng)絡(luò)對(duì)目標(biāo)區(qū)域的圖像和光流進(jìn)行處理,最終給出動(dòng)作識(shí)別結(jié)果,。該系統(tǒng)在DE10-Nano開(kāi)發(fā)板上進(jìn)行開(kāi)發(fā)與驗(yàn)證,,在FPGA端實(shí)現(xiàn)流水線型LK光流計(jì)算、基于HOG和SVM的行人檢測(cè),、指令集架構(gòu)的NPU處理單元,,在HPS端實(shí)現(xiàn)目標(biāo)區(qū)域融合求解、NPU單元調(diào)用,,兩者共享DDR內(nèi)存,,采用AXI總線實(shí)現(xiàn)片內(nèi)通信。
1 動(dòng)作識(shí)別原理
1.1 LK光流法
I(x,,y,,t)表示時(shí)刻t拍攝下的視頻圖像中坐標(biāo)(x,y)點(diǎn)的灰度值,,根據(jù)LK光流約束[19],,光流場(chǎng)的計(jì)算滿足下列式子:
求解上述優(yōu)化問(wèn)題,可以得到其最優(yōu)解的形式如下:
1.2 基于HOG和SVM的行人檢測(cè)
通常使用滑動(dòng)窗口對(duì)原始圖像進(jìn)行HOG特征提取,,再對(duì)HOG特征向量進(jìn)行分類識(shí)別,,達(dá)到行人檢測(cè)的目的。圖像中(x,,y)坐標(biāo)點(diǎn)的像素值為I(x,,y)。該點(diǎn)的像素梯度的大小和方向可以計(jì)算為M(x,y)和Θ(x,,y),。將梯度的方向Θ(x,y)劃分到N個(gè)區(qū)間,,每個(gè)區(qū)間占據(jù)π/N角度值,,如圖1所示。
其中:
將檢測(cè)窗口(window)劃分成數(shù)個(gè)元胞(cell),。在本設(shè)計(jì)中,,窗口尺寸設(shè)定為140×80,可被劃分成14×8個(gè)10×10的元胞,。首先,,對(duì)這14×8個(gè)10×10的元胞,依次統(tǒng)計(jì)每個(gè)元胞里面的梯度直方圖,;將其通過(guò)規(guī)則化模塊,,得到最終的cell特征;通過(guò)組合2×2的元胞特征,,可以得到塊特征;最后,,將窗口中的塊特征依次排列,,得到最終的91×36=3 276維度的窗口特征,如圖2所示,。
在提取HOG特征后,,可以利用SVM進(jìn)行分類識(shí)別。本文選擇使用線性SVM進(jìn)行分類判別,。其判別的依據(jù)如式(3)所示,。
其中,w和b分別是SVM的權(quán)值和偏置,,x則是輸入的HOG特征,。最后輸出y=+1說(shuō)明是正樣本(即行人);輸出y=-1則說(shuō)明是負(fù)樣本(即非行人),。
1.3 動(dòng)態(tài)窗口與靜態(tài)窗口的融合
使用光流信息和靜態(tài)圖像信息都可以對(duì)視頻流中的行人進(jìn)行檢測(cè)[20-21],。通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),使用基于HOG和SVM的靜態(tài)圖像檢測(cè)方法不易受到物體運(yùn)動(dòng)影響,,但是誤檢率較高,;而基于光流信息的動(dòng)態(tài)檢測(cè)方法誤檢率較低,但是一旦物體長(zhǎng)時(shí)間靜止或者緩慢運(yùn)動(dòng)就難以定位目標(biāo),。因此,,本文提出將兩種檢測(cè)方法相融合的方案,如圖3所示,。
融合光流和行人檢測(cè)結(jié)果的窗口融合算法流程如下:
通過(guò)上述窗口融合算法,,可以得到目標(biāo)人物在視頻幀中的位置,。針對(duì)這個(gè)區(qū)域的視頻圖像和光流數(shù)據(jù)進(jìn)行采集,對(duì)于不同的動(dòng)作有不同的數(shù)據(jù)形態(tài),。如圖4所示,,每個(gè)動(dòng)作對(duì)應(yīng)的四張圖分別是原始視頻圖像、光流x軸分量,、光流y軸分量和顯著運(yùn)動(dòng)檢測(cè)掩膜,。
1.4 基于CNN的動(dòng)作識(shí)別
計(jì)算每一幀視頻的光流,提取行人存在區(qū)域的視頻圖像,、光流場(chǎng)x軸分量,、y軸分量以及顯著運(yùn)動(dòng)檢測(cè)掩膜。將這四類圖像信息統(tǒng)一形變到94×94大小,,并作為CNN的輸入通道,,交由CNN進(jìn)行卷積層和池化層運(yùn)算;最后的結(jié)果經(jīng)過(guò)全連接層計(jì)算得到姿勢(shì)識(shí)別結(jié)果,。其中,,卷積核的尺寸統(tǒng)一設(shè)置為3×3大小,池化核的尺寸統(tǒng)一為2×2,;而為了提高CNN的泛化性能,,在全連接層使用了dropout,并對(duì)CNN中的卷積核,、全連接權(quán)值都添加L2正則化,。使用CNN模型識(shí)別目標(biāo)人物的動(dòng)作如圖5所示。
2 動(dòng)作識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
2.1 軟硬件協(xié)同開(kāi)發(fā)示意圖
本文提出的動(dòng)作識(shí)別系統(tǒng)發(fā)揮了SoC FPGA的軟硬件協(xié)同處理能力,。
將運(yùn)算量巨大的光流計(jì)算,、靜態(tài)行人檢測(cè)和CNN運(yùn)算放置在FPGA端,充分發(fā)揮其并行計(jì)算,、流水線型處理的運(yùn)算能力,;而將運(yùn)算需求較低的窗口融合算法在HPS端實(shí)現(xiàn),使其發(fā)揮C語(yǔ)言程序設(shè)計(jì)的便捷性,。HPS和FPGA之間通過(guò)AXI橋?qū)崿F(xiàn)通信,。而為了訓(xùn)練CNN模型,在HPS端增加數(shù)據(jù)采樣模塊,,將樣本保存到ima文件,,通過(guò)網(wǎng)絡(luò)傳輸?shù)絇C。針對(duì)站立,、揮手,、下蹲和行走四種姿勢(shì)分別采樣,其中存在一定數(shù)量的“離群值”,為了更好地訓(xùn)練CNN,,在MATLAB上實(shí)現(xiàn)了可視化樣本篩選程序,。所有樣本和標(biāo)簽代入TensorFlow框架,進(jìn)行CNN模型訓(xùn)練,;將訓(xùn)練得到的CNN模型參數(shù)和CNN模型結(jié)構(gòu)傳輸?shù)紿PS端,,HPS會(huì)將CNN參數(shù)加載到DDR內(nèi)存,并將CNN模型對(duì)應(yīng)的NPU指令發(fā)送到FPGA端的指令集架構(gòu)NPU單元的指令Cache中,。一旦HPS將目標(biāo)窗口融合完成,,可以發(fā)送一次CNN運(yùn)算啟動(dòng)的指令,等待FPGA端NPU運(yùn)算完成,,讀取DDR中的判別結(jié)果,。動(dòng)作識(shí)別系統(tǒng)框架圖如圖6所示。
2.2 硬件系統(tǒng)框架
整個(gè)動(dòng)作識(shí)別系統(tǒng)的硬件部分框架的細(xì)節(jié)圖如圖7所示,。DDR存儲(chǔ)空間為1 GB,,被劃分為7個(gè)部分。其中,,Linux操作系統(tǒng)占用0~480 MB空間,;光流計(jì)算結(jié)果占用480 MB~512 MB這32 MB空間;原始視頻流數(shù)據(jù)占用512 MB~544 MB空間,;行人檢測(cè)的結(jié)果占用576 MB~608 MB空間,;行人加框視頻占用608 MB~640 MB空間;而將640 MB~1 024 MB空間用于NPU運(yùn)算過(guò)程中的數(shù)據(jù)緩存,。
攝像頭MT9D111的數(shù)據(jù)進(jìn)入FPGA后,會(huì)同時(shí)傳輸?shù)絃K光流計(jì)算模塊,、行人檢測(cè)模塊,,計(jì)算結(jié)果會(huì)緩存到DDR中;而通過(guò)視頻緩存與顯示模塊,,原始視頻可以存儲(chǔ)到DDR中,,同時(shí)HDMI視頻輸出所需的數(shù)據(jù)從DDR中獲取。這些模塊對(duì)DDR的讀寫(xiě)優(yōu)先級(jí)較高,,且占用DDR帶寬較大,,使用FPGA-to-SDRAM(F2S)接口直接和HPS上的SDRAM控制器交互。
HPS端的C程序需讀取行人檢測(cè)結(jié)果,,并使用NMS算法對(duì)行人檢測(cè)的框進(jìn)行聚合,、優(yōu)化。調(diào)用memcpy()將原始視頻復(fù)制到加框視頻的內(nèi)存空間,,并加上打框的結(jié)果,;同時(shí)使用通過(guò)HPS-to-FPGA(H2F)接口傳輸指令,啟動(dòng)FPGA端NPU的運(yùn)算,并讀取NPU運(yùn)算狀態(tài),。
NPU運(yùn)算時(shí)會(huì)對(duì)DDR進(jìn)行讀寫(xiě)訪問(wèn),,該訪問(wèn)通過(guò)FPGA-to-HPS(F2H)接口和L3互聯(lián)網(wǎng)絡(luò)實(shí)現(xiàn)。NPU單元可以計(jì)量指令執(zhí)行時(shí)間,,將運(yùn)算狀態(tài)與執(zhí)行時(shí)間寫(xiě)入到狀態(tài)寄存器中,,隨后HPS可以通過(guò)Light Weight HPS-to-FPGA(H2F-LW)接口獲取NPU運(yùn)行狀態(tài)信息。
2.3 流水線LK光流計(jì)算模塊設(shè)計(jì)
本文設(shè)計(jì)的流水線LK光流計(jì)算框架如圖8所示,。
每當(dāng)MT9D111完成一幀圖像傳輸(VSYNC下降),,或者一行傳輸完成(HSYNC下降),都會(huì)啟動(dòng)從DDR中讀取一行的視頻數(shù)據(jù)緩存到FIFO內(nèi),,生成I(x,,y,t-1),;而后,,MT9D111輸出的像素點(diǎn)分別進(jìn)入長(zhǎng)度為一行像素點(diǎn)數(shù)量和長(zhǎng)度為1的移位寄存器,得到I(x,,y-1,,t)和I(x-1,y,,t),;將I(x,y,,t),,I(x-1,y,,t),,I(x,y-1,,t)和I(x,,y,t-1)輸入到梯度計(jì)算模塊,,得到在x,,y和t方向上的一階差分為Ix,Iy和It,;使用4個(gè)長(zhǎng)度一致為一幀圖像一行像素點(diǎn)數(shù)量的移位寄存器,,以及5×6個(gè)寄存器陣列構(gòu)造LK光流法計(jì)算區(qū)域,即Ω域,。使用互乘矩陣模塊,,分別計(jì)算寄存器陣列中previous對(duì)應(yīng)數(shù)據(jù)Ix,,prev,Iy,,prev和It,,prev的乘法交叉項(xiàng);同理,,計(jì)算出current對(duì)應(yīng)數(shù)據(jù)Ix,,curr,Iy,,curr和It,,curr的乘法交叉項(xiàng)。Ω域內(nèi)乘法交叉項(xiàng)可以更新為:
結(jié)合光流場(chǎng)計(jì)算式(2),,可以通過(guò)流水線型除法器實(shí)現(xiàn)光流場(chǎng)的計(jì)算,。最后將運(yùn)算結(jié)果回寫(xiě)到DDR中的480 MB~512 MB空間。
2.4 指令集架構(gòu)NPU設(shè)計(jì)
為了便于實(shí)現(xiàn),、修改CNN架構(gòu),,本文設(shè)計(jì)了基于指令集架構(gòu)的NPU處理單元,能夠執(zhí)行矩陣運(yùn)算(如ADD,、SUB,、MULT、DOT等),、立即數(shù)運(yùn)算(ADDi,、MULTi等)、2-D圖像處理(如卷積CONV,、池化POOL等),、激活函數(shù)(如SIGM、TANH,、ReLU等),。指令集架構(gòu)NPU結(jié)構(gòu)框圖如圖9所示。通過(guò)不同NPU指令組合,,能夠?qū)崿F(xiàn)不同CNN結(jié)構(gòu)。NPU指令設(shè)計(jì)參考RISC格式,,如表1所示,,每條指令是128 bit長(zhǎng)度,其中高4 bit區(qū)分指令類型,,[123:92]表示參數(shù)$1內(nèi)存首地址,,[91:60]表示參數(shù)$2的內(nèi)存首地址或者立即數(shù)IMM,[59:28]表示運(yùn)算結(jié)果$3的內(nèi)存首地址,,[27:0]用于表示運(yùn)算參數(shù),,如函數(shù)輸入矩陣尺寸,、卷積核尺寸等。
比如全連接層的NPU指令可以表述如下,。將存儲(chǔ)在首地址0x0F000000的輸入矩陣$1(尺寸為1×112)與存儲(chǔ)在0x0A6B0000的權(quán)值矩陣$2(尺寸為112×32)相乘,,結(jié)果緩存在0x0C000000;而后加上存儲(chǔ)在0x0A6C0000的偏置(尺寸為1×32),,緩存到0x0C010000,;最后通過(guò)SIGM指令實(shí)現(xiàn)非線性映射,結(jié)果保存到0x0E000000,。
Layer 6: fully_connection
MULT, @0F000000, @0A6B0000, @0C000000,M=1,N=112, P=32
inst=40F0000000A6B00000C0000000170200
ADD, @0C000000, @0A6C0000, @0C010000, M=1, N=32
inst=00C0000000A6C00000C0100000120000
SIGM, @0C010000, xx, @0E000000, M=1, N=32
inst=90C010000000000000E0000000120000
整個(gè)NPU劃分成FSM控制邏輯,、NPU指令解析邏輯、NPU指令運(yùn)算邏輯和DDR讀寫(xiě)接口邏輯四個(gè)部分,。
如果NPU就緒,,那么會(huì)給出cnn_inst_ready信號(hào),表示可以接收運(yùn)算指令,;cnn_inst信號(hào)則是外部控制邏輯給出的運(yùn)算指令,;cnn_inst_en信號(hào)則表示cnn_inst指令有效使能。
DDR讀寫(xiě)接口由ddr_write_*和ddr_read_*兩組信號(hào)構(gòu)成,,且都符合Avalon-MM接口協(xié)議,。由*_addr給出讀寫(xiě)地址,*_req給出讀寫(xiě)請(qǐng)求,,對(duì)于DDR寫(xiě)入使用ddr_write_data表示寫(xiě)入數(shù)據(jù),。讀寫(xiě)過(guò)程中信號(hào)都要保持穩(wěn)定,直到DDR控制器給出*_ready讀寫(xiě)請(qǐng)求完成信號(hào),。對(duì)于DDR讀取,,ddr_read_data表示讀取的數(shù)據(jù),而ddr_read_data_valid則表示DDR讀取數(shù)據(jù)有效,。
2.5 軟件設(shè)計(jì)架構(gòu)
HPS中的軟件程序框架圖如圖10所示,。其中分別實(shí)現(xiàn)了下述功能模塊。
(1)初始化接口,,使用mmap()函數(shù)將HPS-to-FPGA接口和DDR物理內(nèi)存映射到Linux用戶空間,,方便其他模塊訪問(wèn)、讀寫(xiě)FPGA和DDR內(nèi)的數(shù)據(jù),;
(2)按鍵響應(yīng)模塊,,一旦用戶按下鍵盤上的按鍵,程序能夠及時(shí)響應(yīng),;
(3)目標(biāo)窗口生成模塊,,加載光流數(shù)據(jù)和靜態(tài)圖像行人檢測(cè)結(jié)果,生成動(dòng)態(tài)窗口和靜態(tài)窗口,,并通過(guò)窗口融合算法對(duì)其進(jìn)行融合,,確定目標(biāo)所在的位置,;
(4)數(shù)據(jù)采集模塊,從DDR中采集視頻,、光流等數(shù)據(jù),,并保存到相應(yīng)的文件中,用于CNN的離線學(xué)習(xí)使用,;
(5)NPU指令傳輸和狀態(tài)監(jiān)控模塊,,能夠通過(guò)HPS-to-FPGA接口傳輸NPU指令到FPGA端的指令cache中;并且能夠啟動(dòng)NPU的運(yùn)算,、監(jiān)控NPU的指令執(zhí)行情況,;
(6)繪圖模塊,能夠?qū)⒋翱谌诤辖Y(jié)果保存到DDR中的內(nèi)存區(qū)間,,便于HDMI輸出顯示,。
3 動(dòng)作識(shí)別系統(tǒng)測(cè)試
3.1 CNN參數(shù)訓(xùn)練
為了訓(xùn)練本文的CNN模型,對(duì)于“無(wú)人”,、“揮手”,、“下蹲”、“站立”和“行走”這5種情況分別采集600個(gè)訓(xùn)練樣本,,共計(jì)3 000個(gè)樣本,。采用深度學(xué)習(xí)框架TensorFlow對(duì)CNN模型參數(shù)進(jìn)行訓(xùn)練[22]。整個(gè)訓(xùn)練過(guò)程在Nvidia GeForce 940M顯卡進(jìn)行,,大約消耗3小時(shí),,識(shí)別精度可以在訓(xùn)練集達(dá)到90%,在測(cè)試集達(dá)到88%,。對(duì)于不同的動(dòng)作,,訓(xùn)練結(jié)果如表2所示。本文采用的動(dòng)作識(shí)別方法能夠較好識(shí)別“揮手”,、“站立”和“行走”這三種姿勢(shì),;而對(duì)于“無(wú)人”、“下蹲”這兩個(gè)情況檢出率較低,,但是誤報(bào)率也相對(duì)較低,。
3.2 硬件資源消耗與運(yùn)行性能
由于本文設(shè)計(jì)的LK光流模塊、基于HOG和SVM的行人檢測(cè)模塊,、指令集架構(gòu)NPU單元都是采用流水線處理,,數(shù)據(jù)吞吐量極大。各模塊的資源消耗與理論最大性能如表3所示,。
選擇DE10-Nano開(kāi)發(fā)板作為軟硬件運(yùn)行平臺(tái),,在Quartus II 14.0環(huán)境下對(duì)動(dòng)作識(shí)別系統(tǒng)進(jìn)行綜合,、布局布線,,工程消耗FPGA資源如表4所示,。
布局布線后各模塊分布情況如圖11所示。
3.3 實(shí)際運(yùn)行測(cè)試
對(duì)本文提出的動(dòng)作識(shí)別系統(tǒng)進(jìn)行運(yùn)行測(cè)試,。將開(kāi)發(fā)板和攝像頭MT9D111,、HDMI顯示器進(jìn)行連接,如圖12所示,。
針對(duì)“站立”,、“行走”、“下蹲”和“揮手”等不同的人物動(dòng)作進(jìn)行識(shí)別,,結(jié)果輸出到顯示器,。其中,左上角為原始視頻,;左下角為光流計(jì)算結(jié)果,;右上角為行人加框結(jié)果;右下角為動(dòng)作識(shí)別結(jié)果,。系統(tǒng)運(yùn)行測(cè)試情況如圖13所示,。
4 結(jié)論
本文提出并實(shí)現(xiàn)了一種基于SoC FPGA和CNN模型的動(dòng)作識(shí)別系統(tǒng)。該系統(tǒng)具有流水線型運(yùn)算結(jié)構(gòu),,能快速地執(zhí)行光流計(jì)算和靜態(tài)的行人檢測(cè),;同時(shí),指令集架構(gòu)NPU的設(shè)計(jì)可以很方便地適應(yīng)于多種CNN模型結(jié)構(gòu),;該姿勢(shì)識(shí)別系統(tǒng)在訓(xùn)練和實(shí)際識(shí)別測(cè)試中都表現(xiàn)出較高的準(zhǔn)確率,。
參考文獻(xiàn)
[1] 范嘉義.基于骨架信息的人體動(dòng)作識(shí)別[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué),2017.
[2] WANG H,,KLASER A,,SCHMID C,et al.Action recognition by dense trajectories[C].IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Society,,2011:3169-3176.
[3] TURAGA P,,CHELLAPPA R,SUBRAHMANIAN V S,,et al.Machine recognition of human activities:a survey[J].IEEE Transactions on Circuits & Systems for Video Technology,,2008,18(11):1473-1488.
[4] 王鑫,,沃波海,,管秋,等.基于流形學(xué)習(xí)的人體動(dòng)作識(shí)別[J].中國(guó)圖象圖形學(xué)報(bào),,2014,,19(6):914-923.
[5] 戰(zhàn)青卓,王大東.基于深度神經(jīng)網(wǎng)絡(luò)的人體動(dòng)作識(shí)別研究[J].智能計(jì)算機(jī)與應(yīng)用,,2018,,8(2):151-154.
[6] VAROL G,,LAPTEV I,SCHMID C.Long-term temporal convolutions for action recognition[J].IEEE Trans on Pattern Anal & Mach Intell,,2015,,PP(99):1-1.
[7] SILVA V D O,VIDAL F D B,,ROMARIZ A R S.Human action recognition based on a two-stream convolutional network classifier[C].IEEE International Conference on Machine Learning and Applications.IEEE,,2017:774-778.
[8] 王亮亮. 基于視覺(jué)的人體動(dòng)作識(shí)別研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2017.
[9] SONG S,,LAN C,,XING J,et al.An end-to-end spatiotemporal attention model for human action recognition from skeleton data[J].arXiv:1611.06067,,2016.
[10] 周凱龍.基于深度學(xué)習(xí)的圖像識(shí)別應(yīng)用研究[D].北京:北京工業(yè)大學(xué),,2016.
[11] GIRSHICK R.Fast R-CNN[J].Computer Science,2015.
[12] REN S,,HE K,,GIRSHICK R,et al.Faster R-CNN:towards real-time object detection with region proposal networks[C].International Conference on Neural Information Processing Systems.MIT Press,,2015:91-99.
[13] HAN S,,KANG J,MAO H,,et al.ESE:efficient speech recognition engine with sparse LSTM on FPGA[J].arXiv:1612.00694,,2017.
[14] COURBARIAUX M,HUBARA I,,SOUDRY D,,et al.Binarized neural networks: training deep neural networks with weights and activations constrained to +1 or -1[J].arXiv:1602.02830,2016.
[15] ABADI M,,AGARWAL A,,BARHAM P,et al.TensorFlow:large-scale machine learning on heterogeneous distributed systems[J].arXiv:1603.04467,,2016.
[16] LIU S,,DU Z,TAO J,,et al.Cambricon:an instruction set architecture for neural networks[C].International Symposium on Computer Architecture.IEEE Press,,2016:393-405.
[17] 王思陽(yáng).基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速器設(shè)計(jì)[D].成都:電子科技大學(xué),2017.
[18] GUO K,,SUI L,,QIU J,et al.Angel-Eye:a complete design flow for mapping CNN onto embedded FPGA[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2017,,PP(99):1-1.
[19] BARRON J L,,F(xiàn)LEET D J,BEAUCHEMIN S S,,et al.Performance of optical flow techniques[J].International Journal of Computer Vision,1994,,12(1):43-77.
[20] 謝紅,,原博,解武.LK光流法和三幀差分法的運(yùn)動(dòng)目標(biāo)檢測(cè)算法[J].應(yīng)用科技,,2016,,43(3):23-27,33.
[21] LI J,,YIN Y,,LIU X,et al.12,000-fps Multi-object detection using HOG descriptor and SVM classifier[C].IEEE/RSJ International Conference on Intelligent Robots and Systems.IEEE,,2017:5928-5933.
[22] ZHANG M,,XU H,WANG X,,et al.Application of Google TensorFlow machine learning framework[J].Microcomputer & Its Applications,,2017.
作者信息:
陳旭東1,周昱琪2,,李夢(mèng)杰1,,陳章進(jìn)1,3
(1.上海大學(xué) 微電子研究與開(kāi)發(fā)中心,,上海200444,;
2.上海大學(xué) 納米科學(xué)與技術(shù)研究中心,上海200444,;3.上海大學(xué) 計(jì)算中心,,上海200444)