新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > DIY你的體感游戲:人體動作識別系統(tǒng)的設計,提供軟硬件實現(xiàn)方案

DIY你的體感游戲:人體動作識別系統(tǒng)的設計,提供軟硬件實現(xiàn)方案

作者: 時間:2017-06-04 來源:網(wǎng)絡 收藏

本文引用地址:http://2s4d.com/article/201706/348731.htm

一 項目設計摘要

人體特征和是非常熱門的領域,相關的算法和實現(xiàn)方案也層出不窮。依賴于豐富的內(nèi)部資源,可以實現(xiàn)高速的設計和數(shù)據(jù)處理。為了給人們的生活和娛樂帶來更多的樂趣,我們的設計靈感來源于一款PC游戲,將人體和個人電腦游戲結(jié)合起來,通過對人體動作的判斷,控制游戲中相應物體的動作,這類似于無線控制,但是也不盡相同,這將是一個非常有趣并且吸引人的項目。本項目使用 OpenSPARC評估平臺,首先通過VGA解碼芯片,將PC機中的視頻流數(shù)據(jù)解碼出R、G、B信號值和場、行信號。然后使用OV7670,攝取人體的手部動作,運用一定的算法,對攝像頭數(shù)據(jù)進行處理,判定此時的人體動作,然后將其與RGB分量信號進行疊加,通過配置DVI接口芯片,將疊加后的圖像送至顯示器顯示。在正確檢測出人體動作的前提下,將向PC機發(fā)出相應的控制信號,用來控制PC機中游戲的動作。

二 系統(tǒng)的原理

本設計項目為人體,設計的重點在于攝像頭數(shù)據(jù)的獲取、人體動作的正確識別、圖像的疊加、圖像的顯示以及控制信號的傳輸。本項目使用Digilent公司提供的 OpenSPARC評估板,板上含有 XC5VLX110T ,2個Xilinx XCF32P Platform Flash PROMs(每個32 Mbyte),用于存儲大型設計的配置信息;64位寬256Mbyte DDR2小型DIMM(SODIMM),兼容EDK 附帶的IP及驅(qū)動程序;板載32位ZBT同步SRAM 和Intel P30 StrataFlash;可編程系統(tǒng)時鐘發(fā)生器,RS-232接口和許多其他I/O設備與接口等。評估板上的眾多資源為本項目的設計和開發(fā)帶來了極大的便利。整個系統(tǒng)的框圖如下圖1所示。

圖1 系統(tǒng)的整體框圖

下面簡單介紹一下各部分的原理

  1. 數(shù)字視頻流的解碼

在Virtex-5 OpenSPARC評估板上,帶有視頻解碼芯片AD9980,該芯片是一個8bit,95MSPS,帶有模擬接口,專門用于捕捉Y(jié)PBPR視頻和RGB圖像信號的視頻解碼芯片,它的圖像分辨率最高可到達1024x768,此時的刷新頻率為85Hz。本次設計視頻流的輸入格式為640x480,刷新頻率為60Hz。AD9980芯片采用IIC總線,通過配置部分寄存器,設置輸入視頻的格式,可以從輸入的視頻流中分離出RGB 8bit分量和場行信號。

  1. 攝像頭數(shù)據(jù)的獲取

為了能準確的獲取圖像信號,本設計采用OV7670,其帶有標準的SCCB接口,同時兼容IIC總線接口,因此可以在程序設計上,可以采用通用的IIC配置程序,簡化設計,減少設計量。OV7670支持VGA、CIF和從CIF到40x30的圖像尺寸。OV7670輸出為8bit的圖像數(shù)據(jù),通過選擇輸出圖像的格式,8bit的數(shù)據(jù)代表了不同的RGB分量。同時OV7670還能直接輸出場行信號,但與標準的VGA場行信號不盡相同。對于OV7670的使用,重點在于寄存器的設置和時鐘信號的選擇。

  1. 數(shù)據(jù)的緩存

OV7670輸出的數(shù)字圖像信號,在進行處理之前,還必須進行必要的緩沖,這是因為選擇不同的數(shù)據(jù)格式,8bit的數(shù)據(jù)代表了不同的RGB分量,不能直接同AD9980解碼后的RGB分量進行疊加,另外OV7670輸出的場行信號也與標準的場行信號存在差異。在Virtex-5 XC5VLX110T FPGA中含有豐富的塊RAM,將其配置成FIFO,非常適合于大量高速數(shù)據(jù)的緩沖處理。

  1. 動作的識別

人體動作的識別是本次設計的重中之重,也是最為困難的地方。為了能夠準確的判斷出人體的動作,需要非常精密的算法。本項目類似于運動物體檢測,有關的算法還正在研究之中。

  1. 圖像的疊加

圖像的疊加原理,類似于字母的疊加,這部分的設計不是很難,只需要將AD9980和OV7670解碼出來的RGB顏色分量疊加在一起即可,但是要做到視頻圖像畫面的穩(wěn)定,不出現(xiàn)畫面的跳動、串幀,需要仔細研究VGA時序。

  1. 圖像的顯示

在Virtex-5 OpenSPARC評估板上,帶有DVI傳輸芯片CH7301,它的輸入為RGB分量、場行信號和時鐘信號。輸入圖像的格式可選,CH7301帶有IIC總線接口,最重要的也是相關寄存器的合理配置。如果要得到VGA信號,可以使用DVI轉(zhuǎn)VGA接頭,將DVI信號轉(zhuǎn)換成VGA信號輸出。

  1. 控制信號的傳輸

當已經(jīng)準確的判斷出了人體的動作時,F(xiàn)PGA將根據(jù)此時的動作發(fā)出相應的控制信號,傳遞個PC機。對于控制信號的傳輸可以采用RS-232接口,模擬鍵盤,此時需要編寫串口模擬鍵盤程序。不同的控制信號對應于不同的動作,PC機接收控制信號,控制游戲發(fā)生相應的動作。

三 系統(tǒng)的軟件設計

系統(tǒng)在開始時,首先獲取PC機的視頻流數(shù)據(jù),然后通過攝像頭得到人體動作的圖像數(shù)據(jù),在數(shù)據(jù)經(jīng)過緩沖處理、識別之后,將于解碼后的RGB分量相互疊加,最后通過DVI接口將視頻數(shù)據(jù)輸出至顯示器,同時FPGA將控制信號傳送給PC機,達到控制PC機中游戲的目的。系統(tǒng)的軟件流程如下圖2所示。

圖2 系統(tǒng)軟件流程圖



評論


相關推薦

技術專區(qū)

關閉