嚴一鳴,郭 星
(1.安徽師范大學皖江學院 電子工程系,安徽 蕪湖 241000; 2.安徽大學 計算機科學與技術學院,安徽 合肥 230031)
基于計算機視覺的交互式電子沙盤系統研究
嚴一鳴1,郭 星2
(1.安徽師范大學皖江學院 電子工程系,安徽 蕪湖 241000; 2.安徽大學 計算機科學與技術學院,安徽 合肥 230031)
傳統的沙盤模型只是單純的模型展示。隨著社會的發展,交互性是影響沙盤性能的一個非常重要的標準。交互性越高,講解人員與沙盤的互動性就越強,講解效果就越好。為此,充分利用計算機視覺技術,結合沙盤介紹中激光筆的運用特點,提出并實現了一種通過激光點來進行交互的電子沙盤系統。該系統采用攝像頭采集沙盤區域圖像,利用差分技術識別出激光點,通過分區對角線坐標轉換算法得到激光點所指的沙盤區域,將轉換后的坐標信息按照消息傳遞機制發送給電子沙盤系統的主控制顯示模塊,主控制顯示模塊根據接收的坐標信息,通過函數調用播放對應區域的語音或視頻文件,以實現語音或者視頻介紹功能。模擬仿真運行結果表明,所建立的系統通過MFC與DirectShow的有機結合,可100%識別出激光點所指示的區域,并顯示出對應的視頻;且該系統互動效果良好,為講解人員提供了一種更加高效、自然的交互方式,提高了講解人員的效率,充分體現了展示效果。
人機交互;計算機視覺;圖像識別;沙盤
傳統的實物沙盤主要應用在傳統的軍事指揮領域。由于可以形象地模擬作戰地形以及便于參與者進行交流互動,因此傳統的實物沙盤成為之前軍事指揮的重要演示工具,也是指揮人員進行作戰計劃和決策演示的重要工具和手段[1-2]。隨著計算機科學技術的發展,帶聲、光、電的電子沙盤應運而生。這種沙盤大大提升了顯示效果,但是與人的交互還有所欠缺,使得沙盤展示效果不盡人意[3]。利用計算機視覺技術,結合傳統沙盤需要使用激光筆的特點,提出一種交互式電子沙盤,大大提高了人機交互能力,提升了沙盤的展示效果。所設計的電子沙盤是把實物實景模型建造出來,再以此為基礎為其配備攝像頭、計算機、語音播報設備等。把攝像頭安裝在電子沙盤模型的正上方,對沙盤模型進行監控。參觀人員可以通過激光筆指向實物模型。當指揮人員進行激光筆操作時,攝像頭就會對視頻圖像進行采集,利用采集圖像把激光點和手勢識別出來并對它們的坐標信息進行坐標轉換,然后轉換后的坐標信息通過消息傳遞機制發送給電子沙盤系統的主控制顯示模塊。電子沙盤系統的主控制顯示模塊會根據接收的坐標信息,通過函數調用該區域對應的語音或視頻介紹文件進行播放,最終實現語音或視頻介紹的功能。
實現的交互功能是使用者用激光筆對電子沙盤進行操作。整個系統的工作流程如圖1所示。

圖1 總體工作流程圖
置于物理模型上方的攝像頭時刻采集沙盤模型的圖像,當有人使用激光筆或者用手在沙盤上進行操作時,攝像頭就會采集到包含人手或者激光點的圖像,系統對激光點和手勢進行識別,檢測出激光點和手勢,把檢測結果發送給系統主控制程序,主控程序接收消息,調用相應函數播放相應的語音或者視頻進行信息介紹。
根據系統功能,主要實現兩個模塊:激光點識別定位模塊、主控制顯示模塊。
2.1 激光點識別定位模塊
根據激光點定位模塊的工作流程和所要實現的功能,設計出的模塊流程如圖2所示。
2.1.1 激光點圖像的獲取
計算機只能對數字圖像進行識別處理,不能對現場實景中的圖像直接進行處理,而視頻采集是獲取數字圖像的一個主要來源。當今市場上視頻采集設備主要有USB攝像機、數碼攝像機以及視頻采集卡等。文中使用USB攝像頭作為圖像采集的硬件,因為它可以和計算機直接進行數字圖像傳輸,應用比較廣泛,而且采集的圖像分辨率也能滿足實驗要求。在Windows系統中視頻數據流的采集軟件有Video for Windows和DirectShow,文中選擇DirectShow進行圖像采集處理,因為該軟件的采集速度較快,實時性較好。所設計的電子沙盤系統是把USB攝像頭安放在沙盤模型的正上方進行監控來獲取數字圖像,當激光點打在模型上,攝像頭就會對圖像進行采集,從而獲取激光點的圖像。

圖2 模塊流程圖
2.1.2 激光點檢測
對激光點進行識別時,電子沙盤系統需要從攝像頭捕獲的序列圖像中把激光點從圖片背景中單獨提取出來,也就相當于電子沙盤系統能及時地識別激光點并把它準確地從攝像頭拍攝的序列圖像中提取出來。文中設計的電子沙盤系統對激光點的位置識別和跟蹤,先通過攝像頭對激光點圖像視頻進行拍攝,然后再對獲取到的激光點圖像進行分析處理,把激光點在圖像中的位置檢測出來,最后計算出激光點的坐標位置信息。也可以利用攝像頭所拍攝圖像的激光點圖像,對連續幾幀的圖像進行比較分析就可以實現對激光點的跟蹤。設備架構是攝像頭固定在電子沙盤模型的正上方,因此攝像機一直保持靜止,也就是說攝像機所拍攝的圖像背景都是保持不變的,指揮人員使用激光筆發射到沙盤模型上的激光點是運動的,因此只需研究靜態背景下的激光點的識別方法。在圖像采集時,對背景是靜止的、目標是運動的情況,差分法在目前最合適。通過比較分析,采用背景差分算法對激光點進行識別[4-5]。
設Ft和Bt分別是t時刻的視頻圖像和背景圖像,則前景點滿足:
(1)
因為激光點很亮,所以可將閾值T設置為一個較大的值,從而較好地提取出激光點,得到激光點在采集圖像中的坐標(X,Y)[5-6]。
2.1.3 激光點坐標轉換
因為對激光點進行識別操作后獲得的激光點位置信息是在USB攝像頭拍攝區域內的激光點坐標位置信息,這和計算機屏幕上電子沙盤模型上的位置不一樣,因此需要對攝像頭拍攝區域上的激光點位置信息進行坐標轉換,將拍攝區域上的激光點坐標轉化為沙盤模型的坐標,也即計算機的屏幕坐標。對于坐標轉換,采用分區對角線坐標轉換算法,因為該算法可以很好地解決攝像頭捕獲圖像存在畸變所帶來的誤差問題,得到的激光點的邏輯坐標更加精確,尤其是在圖像邊緣區域。在實現激光點在圖像上的準確定位后,通過該算法將該激光點在攝像頭上的坐標轉換為計算機屏幕上電子沙盤模型桌面上的坐標[6-7]。
算法步驟如下:
(1)以白色背景顯示20*16黑色小矩陣將計算機桌面上的電子沙盤模型進行分區[8],如圖3所示。

圖3 顯示黑色小矩形
假設這些小矩形的寬度和高度分別為width和height。drow為整個電子沙盤模型在橫向左右邊緣各保留20個像素后剩下寬度范圍平均選取20個點的相鄰兩點間的距離。dcol是以整個電子沙盤上下邊緣各保留16個像素后剩下高度范圍平均選取16個點的相鄰兩點間的距離。如果drow>dcol,則w=h=dcol/3,否則w=h=drow/3。將選取的16*20個點作為小矩形的左上角坐標點,那么每個小矩形中心點坐標(xi,yi)為:
(2)

將小矩形中心點的坐標存入數組nScreenPt[N],N=320。然后對攝像頭捕獲到的幀圖像從上到下、從左到右逐行掃描,找到圖像上這些黑色小矩形的中心點在圖像平面上的坐標,并把這些坐標寫入數組nCameraPt[N]。根據攝像捕獲的數字圖像,位圖的行數據存儲次序是顛倒的,可以看出位圖文件中第一行數據對應的是圖像最低行的數據[3],因此可以得到:
nCameraPt[N]=nScreenPt[N-(i+1)*20]
(3)
換算后把數組中的值保存成文件,文件名為“zuobiao.txt”。以后每次系統啟動都會讀取,作為系統參數。
(2)執行完第一步,系統啟動后,當指揮者使用激光筆打在電子沙盤模型上時,攝像頭就會對圖像進行采集,系統經過圖像的識別和處理,激光點檢測得到攝像頭上激光點的坐標值(X,Y)。然后在第一次操作生成的“zuobiao.txt”文件中找出對應的激光點在計算機屏幕上的坐標,從上面所選的第二行的點開始,由該點及其周圍的點,計算出這些點和激光點在圖像平面上的X坐標值之差和Y坐標值之差的絕對值之和di。以此類推,一直進行到圖像坐標的倒數第二個點,即數組nCameraPt[N]的第319個元素,計算出最小的di。激光點就落在由最小di所對應的四個點構成的小矩形區域,如圖4所示。根據存儲在坐標文件“zuobiao.txt”中的攝像頭拍攝的電子沙盤圖像的成像平面坐標點數組nCameraPt[N]和計算機桌面上的邏輯坐標點數組nScreenPt[N]的對應關系,找到激光點在計算機桌面所在區域的四個邏輯點的坐標[3]。

圖4 計算機桌面上激光點的位置
(3)根據步驟(2)確定的激光點所在的矩形區域,利用對角線法確定激光點在計算機桌面上的電子沙盤模型邏輯坐標值。具體算法如下:設激光點在攝像頭圖像成像平面的坐標為(x,y),其在計算機桌面上的坐標為(X,Y),通過式(4)進行求解:
(4)
其中,(x1,y1),(x2,y2),(x3,y3),(x4,y4)是激光點在圖像屏幕小矩形的左下角,左上角,右上角,右下角的坐標值;(X1,Y1),(X2,Y2),(X3,Y3),(X4,Y4)是對應計算機桌面上電子沙盤模型上小矩形相應的坐標值。

2.1.4 激光點信息的發送
當定位激光點的位置坐標后,激光點定位模塊會通過串口將位置信息發送到主控模塊,主控模塊接收到信息,對與接收的坐標信息相對應的語音或者視頻文件進行播放,實現語音或者視頻介紹[9]。
2.2 主控制顯示模塊
電子沙盤系統各個功能能否正常實現,關鍵在于系統主控制程序能否正常運行。電子沙盤主控制模塊是電子沙盤系統的核心部分,影響整個系統各個功能的實現。在電子沙盤系統的主控制顯示模塊啟動時,調用函數對配置文件進行初始化和讀取相應的配置文件內容,把電子沙盤模型在計算機屏幕上顯示出來。當操作人員進行激光筆操作時,激光點定位模塊會發送消息將被點擊區域的坐標信息發送出去,主控制顯示模塊就會對消息進行接收和響應,并根據接收到的坐標信息,選取相應的語音或者視頻文件進行語音或者視頻介紹。根據主控制模塊的主要功能設計的流程圖如圖5所示。

圖5 主控制顯示模塊設計流程圖
主控顯示模塊中的語音與視頻和沙盤具體風景是一一對應的關系。采用二維矩陣表示電子沙盤模型[10-12]:

在電子沙盤模型中有哪些建筑物和風景需要系統進行介紹,就將該建筑物或者風景區域從沙盤模型圖片中相應摳出來進行編號,將上述二維矩陣用編號進行賦值,并對編號添加與之對應的語音或者視頻文件。比如在作為實驗對象的校園沙盤中,將圖書館選中標記為1號,利用軟件給其添加上與之對應的語音或者視頻文件。當主控制顯示模塊通過串口接收到激光檢測模塊發送過來的坐標信息時,根據坐標所對應的值所在的區域編號(如1號),顯示模塊調用(1號)對應的配置文件中的視頻或語音文件。點擊不同的區域就對應不同的語音和視頻,因此顯示效果也不一樣。比如點擊湖面時,在進行語音介紹的同時也會出現湖水波動、小船游動的畫面,點擊道路也會同時進行語音介紹和顯示汽車跑動的畫面。其他區域同理。
2.3 實現效果
系統利用MFC結合DirectShow框架實現,效果良好,能100%識別出激光點所指示的區域,正確顯示視頻文件,互動效果良好,如圖6所示。
為提高電子沙盤模型多媒體展示的光電自動化控制水平,充分利用計算機視覺技術,設計并構建了一種基于激光筆控制的交互式電子沙盤系統。該系統應用攝像頭感應用戶激光筆激光對電子沙盤的相應區域音頻或視頻的控制,避免了傳統沙盤的單方面被動展示,提高了電子沙盤的交互性、新穎性和擴展性。今后還可擴展電子沙盤的控制方式,如利用手勢[13]等,進一步提高其應用效果。

圖6 系統實現效果圖
[1] 程忠波.淺析數字沙盤的設計與應用[J].電子制作,2014(24):68.
[2] 王亞麗.基于圖像的激光光斑識別和特性分析[D].長春:長春理工大學,2008.
[3] 陳海漢.面向航跡規劃的電子沙盤技術研究[D].合肥:合肥工業大學,2009.
[4] 丁 磊,宮寧生.基于改進的三幀差分法運動目標檢測[J].電視技術,2013,37(1):151-153.
[5] 李 志.基于圖像識別的大屏幕人機交互系統研究[D].合肥:安徽大學,2010.
[6] 李孟歆,范靜靜,張 穎,等.一種基于多重判別的運動目標檢測算法[J].沈陽建筑大學學報:自然科學版,2013,29(4):750-756.
[7] 徐衛星,王蘭英,李秀娟.一種基于OpenCV實現的三幀差分運動目標檢測算法研究[J].計算機與數字工程,2011,39(11):141-144.
[8] 陳遠祥.視頻圖像運動目標跟蹤技術的研究[D].鎮江:江蘇大學,2010.
[9] Paragios N,Deriche R.Geodesic:active contours and levelsets for the detection and tracking of moving objects[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(3):266-280.
[10] Park S,Yu S,Kim J,et al.3D hand tracking using Kalman filter in depth space[J].EURASIP Journal on Advances in Signal Processing,2012,2012(1):1-18.
[11] 張圓圓.基于視覺的手勢識別技術及其應用研究[J].計算技術與自動化,2015,34(1):131-135.
[12] 楊小岡,付光遠,繆 棟,等.基于圖像NMI特征的目標識別新方法[J].計算機工程,2002,28(6):149-151.
[13] Lin Daogui.Research on presentation of multimedia interactive electronic sand table[C]//International conference on education technology and economic management.[s.l.]:Atlantis Press,2015.
Investigation on Interactive Electronic Sand Table System with Computer Vision
YAN Yi-ming1,GUO Xing2
(1.Department of Electronic Engineering,Wanjiang College of Anhui Normal University,Wuhu 241000,China; 2.College of Computer Science and Technology,Anhui University,Hefei 230031,China)
The traditional sand table model is just a show of simple model.With the development of society,interactivity is a very important criterion which influences sand table performance.The higher the interactivity becomes,the stronger the interaction between the staff and the sand table will be,thus the better the effect of interpretation is.Therefore,making full use of computer vision technology and applying the characteristics of the laser pen in sand table presentation,an electronic sand table system has been proposed and established,which is composed of cameras to collect the image of sand table and distinguish the laser spot with difference technique.The sand table area located with laser point has been acquired with diagonal coordinate conversion algorithm of partition area and then the location information transformed has been sent to main control display module of the electronic sand table system according to message transmission mechanism.According to coordination information accepted the main control display module plays the relevant audio or video file of the corresponding region to carry out interpretation function.The simulation operation results show that the region located with laser point can be fully identified to launch the relevant audio or video player to indicate fine interactive effect of this established system is satisfactory and that the system has provided a natural and effective interactive style for interpreters to enhance the interpretation efficiency and effects.
human-computer interaction;computer vision;image recognition;sand table
2016-07-27
2016-11-03 網絡出版時間:2017-04-28
國家科技支撐計劃(2015BAK24B00)
嚴一鳴(1994-),男,研究方向為信號處理;郭 星,博士,講師,研究方向為計算機視覺。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170428.1704.078.html
TP302
A
1673-629X(2017)06-0195-04
10.3969/j.issn.1673-629X.2017.06.041