徐 峰, 李黨偉, 鄧心歡, 馮英萍, 劉忠玲
(吉林大學(xué) 通信工程學(xué)院, 長(zhǎng)春 130012)
體感游戲突破了以往單純以手柄按鍵輸入的操作方式, 是一種通過(guò)肢體動(dòng)作變化進(jìn)行操作的新型電子游戲。國(guó)外代表平臺(tái)有Wii、 Iphone、 PlayStation Move和Xbox360, 國(guó)內(nèi)代表平臺(tái)有愛(ài)動(dòng)推出的愛(ài)動(dòng)體感運(yùn)動(dòng)機(jī)(17Vee)和康佳8000D系列云智能電視平臺(tái)等[1]。上述平臺(tái)主要通過(guò)xyz三維動(dòng)作識(shí)別器, 采用光學(xué)式雙目立體識(shí)別、 跟蹤技術(shù), 對(duì)人體真實(shí)運(yùn)動(dòng)進(jìn)行識(shí)別, 將用戶的運(yùn)動(dòng)行為實(shí)時(shí)反應(yīng)在電子顯示屏幕上。最新的文獻(xiàn)研究表明, 體感游戲?qū)μ岣呃夏耆说纳罱】灯焚|(zhì)和改善部分人群的軀體功能性障礙有很大幫助, 具有廣闊的市場(chǎng)開發(fā)前景[2-5]。與前面提到的平臺(tái)相比, 筆者所提出體感游戲, 結(jié)構(gòu)簡(jiǎn)單, 成本低廉, 且具有很強(qiáng)的趣味性, 更容易被大眾所接受。
顯示屏上端有24個(gè)磚塊, 共有4行, 每行6塊, 各行有不同的顏色(見(jiàn)圖1)。在顯示屏的底端, 有個(gè)長(zhǎng)約兩個(gè)磚塊的木板, 用戶的手可以在CMOS(Complementory Metal Oxide Semiconductor)攝像頭下控制該木板移動(dòng), 如玩家的手左移, 顯示屏上的木板就向左移動(dòng)。顯示屏上還有一個(gè)紅球, 紅球碰到顯示屏兩邊、 上方或木板時(shí), 會(huì)發(fā)生彈性碰撞, 碰撞則產(chǎn)生反彈。當(dāng)紅球碰到各個(gè)磚塊時(shí), 方塊漸漸褪色(當(dāng)碰撞次數(shù)達(dá)到7次時(shí), 方塊完全褪色, 不再阻擋紅球的運(yùn)動(dòng), 即不與紅球發(fā)生碰撞, 消失掉)。玩家的手上移時(shí), 紅球的運(yùn)動(dòng)會(huì)加速, 反之, 玩家的手向下移時(shí), 紅球運(yùn)動(dòng)減速。如果紅球碰到屏幕下端, 游戲結(jié)束。
圖1 游戲磚塊示意圖
CMOS傳感器采用OV9650, 用于攝取手部移動(dòng)圖像。FPGA (Field Programmable Gate Array)讀入數(shù)據(jù)后, 膚色檢測(cè)模塊通過(guò)膚色匹配識(shí)別手部的中心位置, 再將該位置坐標(biāo)送到控制部分。由VGA控制模塊控制滑塊位置, 進(jìn)而控制小球位置變化, 與磚塊碰撞后引起其顏色變化。小球與磚塊碰撞的同時(shí), 通過(guò)聲音編碼控制聲音輸出[6-8]。系統(tǒng)結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)結(jié)構(gòu)圖
圖3 FPGA設(shè)計(jì)結(jié)構(gòu)圖
FPGA模塊采用Altera公司的EP1C6Q240C8芯片, 游戲的核心控制流程如圖3所示。FPGA主要包括控制模塊、 膚色檢測(cè)模塊、 小球控制模塊、 RGB模塊、 聲音模塊、 VGA模塊、 磚塊匹配與顏色選擇模塊??刂颇K用于完成整個(gè)游戲的控制, 接收膚色中心位置, 接收小球的中心位置, 控制小球的運(yùn)動(dòng)模式(左上, 右上, 左下, 右下), 輸出實(shí)時(shí)的聲音控制信息(是否發(fā)聲)。膚色識(shí)別模塊用于識(shí)別膚色并輸出手的中心位置。小球位置模塊用于完成小球位置生成功能, 并將球中心位置送至RGB進(jìn)行顯示器顏色合成。RGB模塊用于接收膚色中心坐標(biāo)、 小球中心坐標(biāo)和顏色模塊發(fā)送的顏色信息, 進(jìn)而將實(shí)時(shí)行掃描的顏色信息送至VGA模塊。聲音模塊用于完成聲音編碼和波形輸出, 進(jìn)而完成相應(yīng)的聲音合成。磚塊匹配和顏色選擇模塊用于接收顯示器掃描的坐標(biāo), 進(jìn)而用于選擇磚塊顏色, 并將顏色信息送到RGB模塊, 供RGB模塊選擇顏色。VGA控制模塊用于顯示器掃描控制。
小球有6種運(yùn)動(dòng)狀態(tài), 運(yùn)動(dòng)狀態(tài)機(jī)如圖4所示。狀態(tài)0是開機(jī)復(fù)位狀態(tài), 停留在木板中心不動(dòng); 狀態(tài)1是向左上方運(yùn)動(dòng); 狀態(tài)2是向右上方運(yùn)動(dòng); 狀態(tài)3是向右下方運(yùn)動(dòng); 狀態(tài)4是向左下方運(yùn)動(dòng);狀態(tài)5是游戲結(jié)束。
圖4 小球運(yùn)動(dòng)狀態(tài)機(jī)
MCU采用STC89C52, 通過(guò)I2C總線協(xié)議完成對(duì)CMOS傳感器的配置, 使其工作在VGA模式, RAWRGB格式輸出。COMS傳感器輸出行同步、 場(chǎng)同步、 像素時(shí)鐘和數(shù)據(jù)信號(hào)。FPGA通過(guò)這些信號(hào)獲取圖像, 并通過(guò)RAW2RGB模塊將Bayer矩陣數(shù)據(jù)轉(zhuǎn)換成圖像, 經(jīng)膚色檢測(cè)算法判斷手的中心坐標(biāo), 進(jìn)而控制游戲的運(yùn)行[9-11]。膚色檢測(cè)流程如圖5所示。
圖5 膚色檢測(cè)流程圖
樣本選取4個(gè)人的右手(樣本是上午11點(diǎn)拍攝的圖像), 如圖6所示, 膚色判斷基本可覆蓋中國(guó)人的膚色范圍。
圖6 樣本膚色圖
將每個(gè)圖像的數(shù)值代入下式
(1)
(2)
進(jìn)行均值和方差計(jì)算。得到R、G、B的均值分別為93、54、35, 標(biāo)準(zhǔn)差為29、26、24, 在識(shí)別過(guò)程中, 閾值選取范圍采用如下公式
(3)
(4)
(5)
圖7 Matlab仿真膚色圖
計(jì)算。
根據(jù)計(jì)算得到的RGB均值畫出Matlab圖像[12-15], 如圖7所示。
測(cè)試環(huán)境: 12月13日上午, 學(xué)院第1教學(xué)樓422房間(朝南、 室內(nèi)光線柔和), 攝像頭的背景為白色頂棚, 測(cè)試人選擇非樣本人群。實(shí)際運(yùn)行結(jié)果: 使用Matlab仿真得到的閾值進(jìn)行膚色判決, 進(jìn)而進(jìn)行游戲控制, 運(yùn)行結(jié)果不穩(wěn)定, 滑板會(huì)左右跳動(dòng)。經(jīng)過(guò)實(shí)際反復(fù)測(cè)試, 發(fā)現(xiàn)R的均值偏高, 當(dāng)把R均值降至62時(shí), 游戲操作流暢, 無(wú)Bug產(chǎn)生, 達(dá)到設(shè)計(jì)要求, 游戲場(chǎng)景如圖8所示。
a 小球向右下方運(yùn)動(dòng) b 小球反彈向右上方運(yùn)動(dòng) c 小球反彈向右下方運(yùn)動(dòng)
筆者在FPGA開發(fā)板上設(shè)計(jì)了一款新的體感游戲。OV9650攝像頭采用51單片機(jī)配置后, 獲取的人體手部圖像數(shù)據(jù)傳送到FPGA模塊。通過(guò)對(duì)膚色樣本的Matlab仿真分析, 確定膚色的范圍, 進(jìn)而實(shí)現(xiàn)人手識(shí)別。移動(dòng)空中的手可以控制滑板進(jìn)行游戲操作。實(shí)驗(yàn)研究表明, 在一定的環(huán)境條件下, 游戲運(yùn)行順暢。同時(shí), 膚色識(shí)別過(guò)程易受到環(huán)境因素影響, 例如光線強(qiáng)度、 攝像頭背景顏色等。
參考文獻(xiàn):
[1]ZHANG Zheng-you. Microsoft Kinect Sensor and Its Effect [J]. Multimedia, IEEE, 2012, 19(2): 4-10.
[2]CHEN Shang-ti, HUANG Y, CHIANG I. Using Somatosensory Video Games to Promote Quality of Life for the Elderly with Disabilities [C]∥Digital Game and Intelligent Toy Enhanced Learning (DIGITEL), 2012 IEEE Fourth International Conference. Takamatsu: IEEE, 2012: 258-262.
[3]HU Hai, CUI Yi, HUANG Ben-xiong. Game System of Treadmill Based on Video Capture [C]∥Green Computing and Communications (GreenCom), 2010 IEEE/ACM Int’l Conference on & Int’l Conference on Cyber, Physical and Social Computing (CPSCom). Hangzhou, China: IEEE, 2010: 836-839.
[4]GAO Zhen-xing. Study and Implementation on Somatosensory Interaction in 3D Virtual Environments [C]∥Electrical & Electronics Engineering (EEESYM), 2012 IEEE Symposium. Kuala Lumpur: IEEE, 2012: 281-284.
[5]CHEN Ching-yi. Accelerometer-Based Hand Gesture Recognition Using Fuzzy Learning Vector Quantization [J]. Advanced Science Letters, 2012, 9(1): 38-44.
[6]ZHAO Zhen-hua, YANG Wei-fa, WANG Na, et al. A Hardware Design of Defect Detection System in Cloth Belt Based on Machine Vision [C]∥Electrical and Control Engineering (ICECE), 2010 International Conference. Wuhan, China: IEEE, 2010: 62-65.
[7]KUANG Shun-ming, HE Xiao-jian. Design and Application of CMOS Device Driver Based on S3C2440 [C]∥Electronic Measurement & Instruments (ICEMI), 2011 10th International Conference. Chengdu, China: IEEE, 2011: 110-114.
[8]LU Yin-li, YU Hong-li, ZHANG Peng-peng. The Implementation of Embedded Image Acquisition Based on V4L2 [C]∥Electronics, Communications and Control (ICECC), 2011 International Conference. Ningbo, China: IEEE, 2011: 549-552.
[9]FANG Xiao-ying, GU Wen-quan, HUANG Chang. A Method of Skin Color Identification Based on Color Classification [C]∥Computer Science and Network Technology (ICCSNT), 2011 International Conference. Harbin, China: IEEE, 2011: 2355-2358.
[10]YIN Li-jun, JIA Jing-rong, MORRISSEY J. Towards Race-Related Face Identification: Research on Skin Color Transfer [C]∥Automatic Face and Gesture Recognition, 2004. Proceedings Sixth IEEE International Conference. Wuhan, China: IEEE, 2004: 362-368.
[11]CHANDRASHEKAR C, SIVARAMAKRISHNA S, LEE G. Facial Information Retrieval Using Component-Based Classification and Scale Invariance [C]∥World Automation Congress (WAC). Kobe: IEEE, 2010: 1-6.
[12]LIU Le-yuan, SANG Nong, YANG Sai-yong, et al. Real-Time Skin Color Detection under Rapidly Changing Illumination Conditions [J]. Consumer Electronics, IEEE Transactions on, 2011, 57(3): 1295-1302.
[13]WANG Xin-yu, XU Huo-sheng, WANG Heng, et al. Robust Real-Time Face Detection with Skin Color Detection and the Modified Census Transform [C]∥Information and Automation, ICIA 2008, International Conference. Changsha, China: IEEE, 2008: 590-595.
[14]PAI Yu-ting, LEE LI-TE, RUAN Shang-jiang, et al. Honeycomb Model Based Skin Color Detector for Face Detection [C]∥Mechatronics and Machine Vision in Practice, 2008. 15th International Conference. Auckland: IEEE, 2008: 11-16.
[15]YANG Guo-liang, LI Huan, ZHANG Li, et al. Research on a Skin Color Detection Algorithm Based on Self-Adaptive Skin Color Model [C]∥Communications and Intelligence Information Security (ICCIIS), 2010 International Conference. Nanning, China: IEEE, 2010: 266-270.