999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

多用戶眼動跟蹤數據的可視化共享與協同交互*

2019-10-24 02:09:34程時偉沈嘵權孫凌云胡屹凜
軟件學報 2019年10期
關鍵詞:眼動可視化用戶

程時偉,沈嘵權,孫凌云,胡屹凜

1(浙江工業大學 計算機科學與技術學院,浙江 杭州 310023)

2(計算機輔助設計與圖形學國家重點實驗室(浙江大學),浙江 杭州 310058)

隨著計算機支持的協同工作(computer supported cooperative work)、社會計算(social computing)等相關技術及應用的迅速發展,人機交互活動已不再局限于以單個用戶為中心的交互空間,交互任務往往需要在多用戶協同環境下才能完成.在多人協同交互過程中,信息的共享機制不僅有助于協作者了解彼此的任務完成情況,還可以促進協同工作效率的提升.針對與視覺認知相關的協同交互,如何將多用戶的視覺注意資源形成一個有機的協作體,通過共享機制讓個人用戶根據自身的目標、意圖、偏好等因素,匹配其他用戶的視覺注意資源,從而降低自身認知負荷,提高交互效率和主觀體驗,已成為一個新的研究課題.由于眼動跟蹤(eye tracking)數據可以表征用戶的交互意圖,且基于眼動跟蹤的交互具有“所見即所得”的特點[1],所以在文本、語音、手勢等形式的交互語義無法準確表達的情況下,通過眼動跟蹤數據及其可視化在多用戶之間表征視覺行為和交互語義,可以降低語義歧義性,提高多人協同交互質量水平與效率.然而,目前多用戶協同交互環境下的視覺認知研究相對匱乏,尤其是缺少基于眼動跟蹤的協同交互方法和關鍵技術.具體而言就是,如何在協同環境下簡單、有效地記錄眼動跟蹤數據,并在協作者之間傳輸、分享和表達,進而提高交互質量和效率的相關機制目前還沒有展開加以深入研究.

為此,在上述研究背景下,本文提出面向多用戶協同交互的眼動跟蹤技術,實時獲取、計算和傳輸協同環境下不同用戶的眼動跟蹤數據,并通過分析與可視化眼動跟蹤數據,實現多用戶協作過程中視覺注意行為和交互意圖的協同感知.設計與開發了一個面向程序代碼協同審查的多用戶眼動跟蹤交互應用系統,通過用戶實驗,驗證了本文方法能夠有效地促進多用戶協作效率的提升.

1 相關工作

已有的相關研究主要集中在以下3 個方面.

(1)基于聯合注意理論的協同交互基礎研究.聯合注意(joint attention)是指社會協作者聚焦于一個共同的參考對象(例如,物體、人或者事件),并且觀察其他協作者對該對象的注意力[2].在這個過程中,注視起著十分重要的作用,使得協作者共享對感興趣事物或事件的注意[3].聯合注意不僅強調協作個體同時同步關注同一個對象,而且更強調協作者能夠互相感知出他們的視覺關注存在共同性[4].表征聯合注意的具體行為主要包括[5]:注視追隨(gaze following),即追隨其他人的注視從而注意到對方關注的對象;指向關注對象的模仿(object-directed imitation),即模仿其他人對關注對象所施加的動作;社會參照(social referencing),即根據其他人來調整自己對場景的知覺,從而做出更合理的反應.參與聯合注意的方式包括兩種,一種是被動地對其他人的注意指引做出反應,另一種是主動發起聯合注意,這兩種方式都可促進個體對外部環境的理解和生成互動的動機[5].聯合注意可以促進協同交互,例如,通過在協同式搜索任務過程中分享注視點,可以提高任務績效[6].特別是在分布式的協同環境下,由于語言在描述空間信息時經常具有模糊性而影響交流效率,而聯合注意通過分享注視點信息可以起到更加明確的指示作用,一定程度上消除了語義模糊性,從而強化分散在不同地域協作者之間的交流,使其在復雜的協同式空間搜索任務中可顯著提高效率[7,8].

(2)眼動數據特征可視化研究.近年來,進一步對聯合注意中所涉及的眼動數據特征參數開展可視化分析研究.例如,用矩陣散點圖來顯示隨時間變化的協同注意數據,分析協作群體中聯合注意行為在時序上的演進,例如,不同用戶一開始很難同步,但會逐漸建立起與其他人的高度協調;或者一個團隊開始有很好的同步性,但隨著時間的延續,逐漸產生分歧或沖突,而喪失視覺注意行為上的協調性[9].這種可視化方法的缺點是它只適合表達時序信息,無法表達交互過程中聯合注意行為產生的位置等空間信息.力導向網絡圖節點表示單個用戶在每一個感興趣區域內的注視點數目,邊表示在這些感興趣區域之間的眼跳,可以表達空間維度相關的信息[2].比較不同用戶的力導向網絡圖可以發現,不同的視覺注意分布和轉換模式與矩陣散點圖形成互補.但是這些可視化形式仍存在表達不直觀、普通用戶不易于理解的缺點.還有研究人員針對解謎和模擬拆裝任務,給一個用戶顯示另一個用戶在執行任務過程中的單個注視點和注視點軌跡,設計了基于注視點的區域縮放指示和動態軌跡指示等可視化形式[10].此外,我們前期開展的研究,記錄了專家用戶在閱讀文檔時的眼動數據,然后通過生成可視化批注分享給新手用戶,指導其把握文檔重點內容和全文結構,可有效提高閱讀理解水平[11].然而,如何根據視覺注意機制特征對聯合注意行為本身的相關眼動數據進行處理和可視化,提高用戶在協同交互中的認知水平和操作績效,則有待深入研究.

(3)應用研究.面向教育、汽車駕駛、醫療影像分析及培訓[12]等不同領域開展了具體的應用研究,實現了代替語音交互、協助用戶合作與分工、增強群體認知等.例如,在課堂教學場景下,用兩個眼動跟蹤系統記錄兩兩配對學生的眼動數據,并作為聯合注意資源進行分享,實驗結果表明,對于概念性知識的學習內容,聯合注意資源越多,學習效果越好[13,14].在汽車駕駛場景下,坐在副駕駛位置的乘客可以給駕駛員提供路況信息,以彌補駕駛員由于視線盲區造成的信息獲取不充分的缺陷,因此,記錄副駕駛座位上乘客的注視點,并通過可視化方式呈現給駕駛員,可幫助其察覺相關路況信息,提高駕駛安全性[15,16].在遠程醫療場景下,國際化的醫療會診和手術團隊中的成員來自不同國家和地區,可能會產生語言溝通障礙,為此,在模擬手術過程中綜合使用語言、眼動發出協作指令,使不同成員合作完成目標選取任務,實驗結果表明,眼動比語言協作的準確率和效率都會更高[17].在協同工作場景下,使用眼動儀記錄多用戶協同完成搜索任務時的眼動注視點并在公共屏幕上顯示,使得用戶可以看到協作者正在搜索的區域,從而有意識地避免重復和冗余搜索,提高效率[18];分析多個用戶完成協同搜索任務時的眼動注視點分布規律,發現在不同交互方式下,用戶眼動注視點的分布情況差異較大,尤其是在眼動數據可視化共享的情況下,不同用戶的眼動注視點分布呈相互彌補趨勢,分工意識更加明確,任務完成時間更短;而在其他方式下,不同用戶的注視點則呈相互重疊趨勢,分工意識不明顯[19].

上述研究工作對協同人機交互的具體實踐支持不夠,絕大多數工作只涉及不同用戶眼動數據的可視化方法,以及協同工作質量的預測和評估[20],尚未針對目標搜索、跟蹤、識別、圖像分析等具體任務的特征,從協同交互方式和用戶界面設計,以及具體應用系統架構和實現機制的角度來展開具體研究工作.

2 多用戶協同眼動跟蹤

標定是實現眼動跟蹤的重要環節,每位用戶在使用眼動跟蹤設備前都需要進行標定,以建立起個人的眼動跟蹤映射模型.本文使用基于瞳孔-普爾欽斑(Pupil center-cornea reflection,簡稱PCCR)向量的9 點標定法[21].該方法需要先生成9 個位置已知的標定點,然后在用戶注視這些標定點時,求解眼動跟蹤注視點映射模型,用于后續注視點的計算.在多用戶協同環境下,隨著用戶的增多,如果對每位用戶都進行9 點標定,將會增加用戶的工作負荷和系統的計算資源消耗,并導致系統復雜性和不確定性升高.因此,本文在前期工作[22]基礎上提出協同式標定方法,簡化標定過程,并在此基礎上提出多用戶協同眼動跟蹤的計算架構.

2.1 基于梯度優化的協同標定模型

為了了解個體差異對眼動跟蹤效果的影響,相關研究通過實驗發現,不同的用戶在同一位置注視同一目標的情況下,眼動跟蹤注視點的位置具有較高的一致性[23].因此,PCCR 向量的方向也大致相同,其中的差異性主要是由用戶個體的視線和眼球光軸夾角不同引起的[24],進而導致眼動跟蹤映射模型無法通用.為此,本文提出基于梯度優化的協同標定模型:首先利用標準的9 點標定方法得到一個用戶的眼動跟蹤映射模型,然后利用其他用戶的少量標定數據,基于梯度優化算法,對該映射模型進行校正,使其具有更好的通用性.具體而言,就是對協作團隊中某位用戶進行標定,得到跟蹤精度較高的眼動跟蹤映射模型,然后將該模型分發給其他協作者,并利用梯度優化算法對此模型進行優化,得到適應各協作者個體差異性的眼動跟蹤映射模型.主要工作可以分成兩部分:獲取基本眼動跟蹤映射模型和訓練協同眼動跟蹤映射模型.下面進行詳細闡述.

(1)獲取基本眼動跟蹤映射模型.

讓用戶佩戴眼動跟蹤系統依次注視屏幕上的9 個點,完成標定過程,然后計算得到該用戶的眼動跟蹤映射模型系數.進一步地,在協同環境下實現基本眼動跟蹤映射模型在多用戶之間的傳輸和共享.如圖1 所示,用戶1完成標定并得到基本眼動跟蹤映射模型之后,觸發分發事件,依次將該模型分發給協同環境中的其他注冊用戶.

Fig.1 Distribution mechanism of basic eye tracking model in the collaboration environment圖1 協同環境下基本眼動跟蹤映射模型分發機制

(2)訓練協同眼動跟蹤映射模型.

本文利用涅斯捷羅夫梯度加速方法(Nesterov accelerated gradient,簡稱NAG)[25]對基本眼動跟蹤映射模型系數進行優化和校正.該方法的優點是通過增加動量項參數,加快了計算過程,并且在計算參數梯度時,在損失函數中也減去了動量項,進一步提高了計算速度.具體而言,先獲取來自某個用戶的眼動跟蹤映射模型(基本眼動跟蹤映射模型),然后要求當前用戶在屏幕上做4 點標定.將每個標定點的屏幕坐標和相應的PCCR 向量作為一組數據,然后利用NAG 方法進行協同眼動跟蹤映射模型的訓練.計算步驟如下.

·Step 1.確認優化模型的假設函數和損失函數.本文設計的協同眼動跟蹤映射模型的函數如下:

hθ(PX0,PX1),hθ(PY0,PY1)是注視點坐標的計算函數,θ0…θ5是最終的計算值,即協同眼動跟蹤映射模型的系數.其中,

的系數a0,...,a5和b0,...,b5是基本眼動跟蹤映射模型系數,x是用戶的PCCR 向量X軸方向的向量,y是用戶的PCCR 向量Y軸方向的向量.上述的協同眼動跟蹤映射模型函數,以hθ(PX0,PX1)為例,其損失函數為

其中,m為訓練數據的數量,在本文中取m=4.X為用戶標定時真實的屏幕X軸標定點;

·Step 2.相關參數初始化.初始化θ0,θ1,θ2的值和設置迭代次數,通過多次實驗比較,本文取迭代次數為10萬次,并將θ0,θ1,θ2的值都設為0;

·Step 3.確定當前的損失函數的梯度表達式,對于θi,其表達式為

·Step 4.用步長η乘以損失函數,得到當前的下降位置,即:

·Step 5.累計得到迭代次數,如果迭代次數到達預設閾值,則停止計算;否則,轉到下一步;

·Step 6.更新所有的θ,對于θi,用如下表達式進行更新,更新完畢后轉入步驟Step 1 繼續執行,直到迭代次數累計達到預設閾值.

根據上述步驟,可以求得協同眼動跟蹤映射模型的系數θ0,θ1,θ2,θ3,θ4,θ5,進而準確計算當前用戶注視點的坐標值.

(3)模型測試.

為了驗證協同眼動跟蹤映射模型的標定效果,本文邀請了5 名被試用戶(年齡24 歲~28 歲,無色盲,視力良好),在電腦上進行眼動跟蹤測試.使用的電腦屏幕尺寸為35.5cm×30.5cm,屏幕分辨率為1366×786,CPU 頻率為1.7GHz,內存為8GB.屏幕上依次顯現4 個標定點,待完成標定之后,采用21 個測試點測試跟蹤精度(為了保證測試精度的準確性,測試點與標定點處于不同位置).計算用戶在測試點的注視點坐標,然后計算其與實際坐標值之間的誤差.設定了40cm、60cm、80cm 這3 個測試視距(用戶眼睛到屏幕之間的距離),測試結果表明,在視距為80cm 時,平均精度最高,為0.69°(標準差為0.32°);在視距為40cm 時,平均精度最低,為1.37°(標準差為0.44°);在視距為60cm 時,平均精度為0.96°(標準差為0.30°).此外,已有9 點標定法,在測試視距相近的情況下,得到眼動跟蹤平均精度為0.8°~2.0°[26],而其中精度比本文方法較高的方法,都在硬件配置上比本文方法更復雜,如加裝了紅外光源以提高眼部圖像成像質量和圖像處理效果[27].

2.2 多用戶協同眼動跟蹤的計算框架

對于協同眼動跟蹤的計算架構,已有研究開展了初步嘗試,例如讓兩位用戶完成搜索任務,通過兩臺眼動跟蹤設備連接到一臺電腦主機實現多用戶眼動跟蹤[18],但其不足在于:(1)硬件接口受到限制,導致能接入的眼動跟蹤設備數量有限,從而限制了協同環境下的用戶人數,擴展性較差;(2)由于不同用戶眼動跟蹤數據的記錄和處理都集中在一臺主機上進行,導致主機計算負荷較大,計算性能受到影響.

因此,為了將眼動跟蹤數據記錄和處理產生的計算負荷合理地進行分配,并且盡可能地擴充協同環境下的用戶人數,本文的多用戶協同眼動跟蹤計算采用客戶端/服務器(client/sever,簡稱C/S)結構,其中,服務器負責記錄客戶端的眼動跟蹤數據,并且進行處理、控制和轉發;客戶端則負責眼動跟蹤數據的計算、請求和可視化.所有的客戶端只與服務器連接通信,客戶端之間彼此不直接相連,而是通過服務器進行數據轉發,實現相互通信.這種計算架構的優點是服務器提供了統一的數據轉發模式,并且客戶端所有的數據在服務器端匯聚,方便服務器進行統一的處理和分發.客戶端則支持眼動跟蹤標定、眼動跟蹤數據計算等具體工作,然后發送到服務器.系統框架如圖2 所示.

Fig.2 Computing framework of multi-user collaborative eye tracking圖2 多用戶協同眼動跟蹤計算框架示意圖

此外,上述計算架構基于傳輸控制協議/Internet 互聯協議(transmission control protocol/Internet protocol,簡稱TCP/IP)傳輸層設計了新的網絡應用層通信協議,用于支持眼動跟蹤協同交互的需求.眼動跟蹤注視點數據的傳輸共分為兩類.

(1)當客戶端計算出眼動跟蹤注視點數據之后,把數據封裝進相應的數據包發送到服務器;

(2)當服務器處理好眼動跟蹤注視點數據之后,把數據封裝進相應的數據包再發送回客戶端.本文的通信協議使用的數據包結構如圖3 所示,由一個數據頭、若干個數據塊和校驗位組成.其中,數據頭中的命令代碼表示該數據包的作用;數據類型描述數據內容的數據格式;數據塊大小表示每個數據塊的字節數量;數據總長度指的是該數據內容包含的數據塊個數.數據塊存儲著眼動跟蹤注視點坐標.校驗位則主要是為了確保數據包的完整性和準確性.

Fig.3 Packet structure of communication protocol in the network application layer圖3 網絡應用層通信協議下的數據包結構

3 眼動跟蹤數據協同可視化

相關已有研究在多人視頻會話[28,29]、問題探索[30,31]和指令交流[32]等領域使用了眼跳軌跡、注視點光標等可視化形式,在本地和遠程協同交互環境下,為用戶提供在線幫助、傳遞信息和指令、促進協作者之間的互相感知和理解.這些研究關注了協同交互中眼動跟蹤數據的可視化設計,但未深入研究具體可視化形式作為指示線索在可視性和視覺干擾性方面的矛盾[18],即忽視了聯合注意資源在視覺表現上對用戶感知和認知活動的負面影響.例如,不合理的可視化形式不僅不能向協作者提供有效信息,還會造成用戶本身的視覺不適感,分散注意力和降低操作效率.因此,設計合理的眼動跟蹤數據可視化表現形式對于協同交互顯得尤為重要.

3.1 眼動跟蹤數據協同可視化設計

相關研究提出了眼動數據可視化形式的設計原則,如既要吸引用戶注意力,準確表達眼動特征,又要防止對用戶產生視覺干擾,并進行了相關實驗,結果表明,類似于光標形式的眼動注視點可視化形式效果最佳[18].為此,本文設計了3 種注視點可視化表現形式:圓點、散點和軌跡.如圖4 所示,圓點具體表現為一個半透明的圓形(例如圓形半徑設為15 像素,透明度設置為50%),這種表現形式簡單明了,指向性強,所表示的視線指示范圍集中;散點具體表現為若干聚集在一起的紅色圓形(例如,圓形半徑設為5 像素,4 個圓形排布在一個半徑為20 像素的圓形范圍內),這種表現形式覆蓋范圍廣,使用戶更容易關注到注視點的周圍信息;軌跡具體表現為前一個注視點和后一個注視點之間的連線,使得原本沒有關聯的注視點有了直觀的時間順序和空間關聯.

Fig.4 Eye tracking data visualization圖4 眼動跟蹤數據可視化表現形式

3.2 實驗與分析

我們設計了用戶實驗,探索可視化形式對協同交互環境下用戶視覺行為的影響,以及具體哪種可視化形式能夠提高協同交互效率.

(1)實驗設計.實驗招募了6 位被試用戶(5 位男生,1 位女生,平均年齡在25 歲),兩人一組開展實驗.如圖5所示,兩位用戶協同完成一個視覺搜索任務:圖片中一共有510 個圓,6 個橢圓,用戶需要在所有圓中找出這6 個橢圓,橢圓全部找到之后,記錄任務完成時間.每一組實驗中,兩個用戶電腦上顯示的內容相同,當其中一個用戶找出橢圓時,單擊鼠標左鍵進行確認,系統會自動用矩形圈出該橢圓,這一過程也同時顯示在另一位用戶的電腦上,使其了解相關情況.

Fig.5 Experiment of collaborative visual search task圖5 協同視覺搜索任務實驗

(2)效率分析.在具體實驗過程中,不僅進行了無注視點共享和有注視點共享的對比,還針對注視點不同的可視化形式進行了對比.實驗結果表明,不同的眼動跟蹤注視點可視化形式對用戶完成視覺搜索任務的效率有不同程度的影響.如圖6 所示,在共享情況下,圓點可視化形式條件下任務完成時間最短,相比沒有眼動注視點共享的情況提高了搜索效率;而其他注視點可視化形式延長了視覺搜索時間,其原因是,散點和軌跡形式理解起來較為困難,且對用戶的視覺干擾較大,從而影響了視覺搜索效率.相反,圓點覆蓋范圍小,可以直觀顯示對方的注視點信息,所產生的視覺干擾也較小.此外,結合搜索任務實驗結果,對被試用戶進行了訪談,90%的用戶認為圓點形式的可視化共享能夠顯著提高搜索效率.因此,本文最終選擇圓點作為眼動跟蹤數據協同可視化的表現形式.

Fig.6 Average task completion time (error bars are standard deviation)圖6 任務平均完成時間(誤差線為標準差)

(3)行為分析.進一步地,分析眼動跟蹤數據協同可視化對用戶視覺行為的影響.首先,在屏幕上劃分用戶感興趣區域(area of interest,簡稱AOI),并選擇圓點形式顯示協作者的注視點,同時記錄各自用戶的注視點數據;然后,在考察用戶視覺行為時,基于交叉重復度[33]方法分析協同雙方在同一時間、同一區域的注視駐留時間與任務完成時間的關系.交叉重復度越大,表明協同雙方在任務過程中同一時刻對相同區域共同關注的時間越長;反之,表明協同雙方在任務過程中同一時刻對相同區域共同關注的時間越短.根據已有工作提出的區域劃分方法來分析注意力分布疊加特征[33],本文計算用戶交叉重復度的具體步驟是:把顯示屏幕共分成兩行兩列4 個相同面積的矩形區域,首先判斷注視點是否位于屏幕的有效區域內,然后再判斷注視點所屬具體哪個區域,并附加相應的區域標簽.再依據注視點的時間戳和注視點的區域標簽得到兩位用戶在同一區域的停留時間,記為t1;依據任務開始和結束的時間戳得到任務完成總時間,記為t2.t1和t2的比值即為用戶交叉重復度c(用百分比形式表示).進一步地,計算4個區域的交叉重復度,結果見表1.可知,無注視點共享時用戶之間的交叉重復度總體上高于有注視點共享時的交叉重復度.

Table 1 Calculation example of cross-recurrence表1 交叉重復度計算結果示例

圖7 和圖8 分別給出任務過程中一段時間內有注視點共享和無注視點共享時每個區域的交叉重復度,其中,紅線和藍線分別表示兩位用戶注視點隨時間推移在4 個區域內的轉移情況;虛線區域表示兩位用戶注視點在此區域重合.可見,無注視點共享時,用戶在4 個區域之間的轉換頻率較高,用戶之間的注釋點覆蓋范圍重合區域多;而有注視點共享時,用戶在4 個區域之間的轉換頻率較低,用戶之間的注視點覆蓋范圍重合區域較少,表明用戶的分工意識相對明確.

Fig.7 Example of cross-recurrence for each AOI with shared gaze visualization圖7 有注視點共享時各區域的交叉重復度示例

Fig.8 Example of cross-recurrence for each AOI without shared gaze visualization圖8 無注視點共享時各區域的交叉重復度示例

此外,通過繪制熱區圖對有注視點共享和無注視點共享條件下的用戶注視點覆蓋范圍作更加直觀的分析.用戶注視點形成的熱區圖如圖9 所示,其中,左右兩邊分別是兩個用戶各自注視點形成的熱區圖.

結果表明,在有注視點共享情況下,用戶之間的注視點覆蓋范圍呈互補趨勢;而在無注視點共享情況下,用戶之間的注視點覆蓋范圍呈重疊趨勢.這進一步說明,在無注視點共享時,用戶的分工意識相對薄弱,會依據自己的情況完成任務;但有了注視點共享之后,用戶的分工意識會加強,會依據對方的注視點分布情況動態規劃自己的目標搜索過程.這與前述基于交叉重復度所分析的結論相一致,進一步驗證了合理的眼動跟蹤數據可視化能夠對協同交互中多用戶的分工起到促進作用,從而能夠提高協同工作的質量和效率[18].

Fig.9 Heat map based on gaze fixation圖9 用戶眼動跟蹤注視點熱區圖

4 應用實例

在軟件工程領域,利用多個眼動跟蹤系統同步記錄程序員們如何對同一段代碼進行編程工作,進而通過比較合作方式質量水平的高低,可以發現具有較好效果的協作編程工作與更多的聯合視覺注意相關[9].受此啟發,本文以代碼協同審查為應用場景,使用多用戶眼動跟蹤及眼動跟蹤數據可視化促進協同工作中的多用戶協作與分工,提高代碼審查效率.

4.1 基于眼動跟蹤的代碼協同審查系統

系統主要包括兩類可視化功能,一類是實時注視點,即根據第3 節的研究,通過圓點形式實時顯示協作者的注視點;另一類是基于注視點數據對代碼審查視圖進行可視處理,設計了代碼行邊框、代碼行背景灰度、代碼行之間連線這3 種可視化屬性.此外,還包括注視點回放、基于時間軸的掃描軌跡回放這兩個可視分析模塊.客戶端通過標定之后實現眼動跟蹤,隨后加入局域網,多臺客戶端通過服務器共享數據,由此建立協作交互機制.具體的可視化功能闡述如下.

1)代碼行邊框

當協作者視線停留在某行代碼時,當前用戶視圖中的相同代碼行會出現邊框,以此告知當前用戶協作者此時正在注視的代碼行.同時,為了表示協作者對此行代碼的關注程度,記錄注視駐留時間,并以此來設置代碼行邊框的寬度,代碼行邊框越寬,表明協作者在此行代碼的注視駐留時間越長(例如,注視駐留時間每增加1s,邊框寬度就增加2 像素).舉例而言,在圖10(a)所示用戶A 視圖中,代碼行1 出現了邊框,表示用戶B 當前正在審查此行代碼,其中,淺紅色小圓點為用戶B 的注視點.類似地,圖10(b)所示用戶B 視圖中用戶A 正在查看代碼行2.此外,圖10(a)所示中代碼行1 的邊框較細,表明用戶B 在此行代碼的注視駐留時間較短,而圖10(b)所示中代碼行2邊框較粗,表明用戶A 在此行代碼的注視駐留時間較長.

2)代碼行背景灰度

用戶在審查代碼時,不可避免地會對一些重要的代碼行反復進行查看.因此,使用代碼行區域的背景顏色灰度來表示用戶對此行代碼的查看次數,顏色越深,表示協作者查看此行代碼的次數越多.具體地,根據兩條規則對代碼行背景灰度進行實時調整:(1)如果用戶注視點進入某一行代碼,則該行代碼查看次數增加1 次,背景灰度值也相應增加(例如,灰度值增加15);(2)如果用戶在某一行代碼的注視駐留時間有所增加,則該行代碼背景灰度值也會增加(例如,駐留時間每增加1s,背景灰度值增加10).此外,由于用戶審查代碼時,多數情況下是從第1行往下依次閱讀各行代碼,如果遵循上述的第1 條規則,用戶注視點每次從上一行轉向緊鄰的下一行時,下一行的背景灰度都會增加,從而導致絕大多數代碼行的背景灰度都會變化,使得視覺效果過于復雜,不利于用戶觀察.所以,為了避免這種影響,本文進一步規定:當用戶第1 次在看完上一行代碼并接著看下一行代碼時,下一行代碼的查看次數不增加.但是,如果用戶從下一行代碼返回來查看上一行代碼時,上一行代碼的查看次數增加1.具體可視化效果如圖11 所示,圖11(a)所示用戶A 視圖中的各行代碼背景灰度深淺各異,表明用戶B 在不同代碼行上的查看次數不同,其中,代碼行3 顏色較深,說明用戶B 從別處代碼跳轉到此行代碼的次數較多,且在此行代碼的查看時間較長,此行代碼是重點審查區域之一.類似地,在圖11(b)所示用戶B 的視圖中,可以看到用戶A將代碼行3 和代碼行i作為重點審查區域.

3)代碼行之間連線

由于不同代碼行之間存在邏輯關系,用戶常在多行代碼之間多次來回查看,這類信息可以揭示用戶在審查代碼過程中的邏輯思維,從而為協作者提供參考.為此,本文用連線表示兩行代碼之間的聯系.具體地,當用戶在兩個代碼行之間存在注視點轉移時,記錄并計算相應的轉移次數[11],且每轉移1 次,代碼行之間的連線寬度就增加相應的寬度(例如10 像素).為了便于區分,不同代碼行之間的連線顏色也不同.此外,為了降低視覺復雜度,便于用戶觀察,與上文代碼行背景灰度的處理類似,上下相鄰兩個代碼行之間的首次順序轉移,不計入連線寬度值的增加計算.具體的可視化效果如圖12 所示,圖12(a)所示用戶A 視圖中的連線1 關聯了代碼行i和代碼行j,表明用戶B 在這兩行代碼之間存在多次的注視點轉換.類似地,圖12(b)所示用戶B 視圖中的連線2 關聯了代碼行6 和代碼行11,表明用戶A 在這兩行代碼之間也存在多次的注視點轉換.

Fig.11 Visualization of code line background圖11 代碼行背景灰度可視化示意圖

Fig.12 Visualization of the connections between code lines圖12 代碼行之間連線可視化示意圖

4)注視點與掃描軌跡回放

上述3 種可視化屬于代碼實時審查過程中的在線共享,而線下的共享,對促進代碼審查方法的學習和效果評估同樣也很重要.為此,在完成協同審查代碼之后,還可以將協作者在審查代碼過程中的眼動跟蹤數據進行可視化回放,從而讓協作者相互學習和借鑒相關的代碼審查技巧,提高自身代碼審查能力.回放功能包括:(1)注視點回放.全程記錄協同環境下每位用戶在審查代碼時的注視點運動情況,并實現整個過程的回放;(2)基于時間軸的掃描軌跡回放.顯示用戶時間軸上不同時段內注視點所在的代碼行.如下文的圖13 所示,圓點表示用戶的注視點,橫軸為時間軸,從左到右依次顯示不同時間段內用戶注視點所在的代碼行.

4.2 實驗與分析

我們招募了32 名被試用戶參與實驗(28 名男生,4 名女生,年齡在23 歲~27 歲之間,視力良好),兩人一組協同審查代碼,雙方戴上眼動跟蹤設備記錄眼動數據(眼動跟蹤設備的圖像采樣頻率為30 幀/s、視距為35cm、視角精度為1.1o)[26].實驗使用3 臺電腦進行測試,其中兩臺作為代碼協同審查系統的客戶端(屏幕尺寸為35.5cm×30.5cm,分辨率為1366×786,CPU 頻率為1.7GHz,內存為8GB),其放置在用戶的正前方,并與用戶頭部距離保持在40cm 左右;另外一臺作為服務器(屏幕尺寸為35.5cm×30.5cm,屏幕分辨率為1366×786,CPU 頻率為2.21GHz,內存為16GB).具體實驗場景如圖14 所示.

Fig.13 Timeline based scan path playback圖13 基于時間軸的掃描軌跡回放

Fig.14 Experimental scene圖14 實驗場景

首先將用戶兩兩劃分為一組,共分為16 組.每組用戶將做兩組實驗,分別是控制組實驗和實驗組實驗.其中,實驗組的用戶在協同審查代碼時共享眼動注視點可視化(只允許在找到錯誤代碼進行口頭提交時進行語言交流),而控制組用戶實驗時只能用語言進行交流.為了確保語言交流時用戶能夠清楚地聽到對方說話,用戶被安排在一間60m2的實驗室內,但是互相通過半封閉隔斷分開,以保證不能看到相互之間的計算機屏幕.在正式開始實驗之前,首先對用戶進行簡單培訓,讓用戶了解系統功能和熟悉相關操作,然后開始正式實驗.每個控制組和實驗組的實驗又分別包含3 個不同的任務,分別針對簡單、中等、較難這3 種不同難度的代碼進行審查.其中,簡單和中等難度的代碼只有1 處錯誤,而較難的代碼有兩處錯誤.實驗從用戶進入系統開始計時,兩位用戶通過協作找出代碼錯誤,并報告所找到的錯誤.若所報告的代碼錯誤不正確,將繼續尋找真正的錯誤,直到找到為止,屆時計時停止,任務完成(若超出時間上限,例如20 分鐘,錯誤仍未找到,則中斷任務,且判定此次任務沒有完成).

系統以對方用戶的實時注視點為數據來源,以代碼行邊框、代碼行背景灰度、代碼行之間連線等信息給當前用戶提供可視化分享.實驗中的可視化效果如圖15 所示.

記錄每組用戶的任務完成時間、眼動跟蹤數據及其表征的視覺行為,以及用戶主觀反饋等,然后分別進行分析,具體分析結果說明如下.

1)任務完成時間

實驗組和控制組的用戶在實驗中分別完成簡單、中等、較難等不同任務.如果不區分任務難度,那么以每項任務為單位,共48 份實驗數據樣本,則實驗組任務完成時間的平均值為249.83s,標準差為120.14s;控制組任務完成時間的平均值為 313.65s,標準差為 141.02s.進一步地,對任務完成時間作配對 T 檢驗分析,得到t=–4.152,p<0.05,存在顯著性差異,即在不區分任務難度時,實驗組用戶的任務完成時間比控制組要短,說明眼動跟蹤數據可視化的分享機制能夠有效地提高代碼協同審查的效率.另一方面,如果區分任務難度,則每個難度條件下的實驗數據樣本各為16 份,任務完成時間結果見表2.

Fig.15 Visualization displayed in the experiment圖15 實驗中可視化效果示意圖

Table 2 Task completion time analysis under tasks with different difficulty表2 區分難度的任務完成時間分析

進一步對任務完成時間進行多因素方差分析,結果如圖16 所示,在3 種不同任務難度條件下,也存在顯著性差異,實驗組的任務完成時間比控制組要短,也進一步說明眼動跟蹤數據可視化的分享機制對不同難度的代碼審查具有較好的適應性.

Fig.16 Multi-factor variance analysis of the task completion time圖16 任務完成時間的多因素方差分析結果

2)視覺行為

我們從交叉重復度、眼動跟蹤掃描軌跡兩個方面來分析用戶視覺行為.將每一個代碼行設為一個區域,計算用戶在該區域的交叉重復度,結果見表3.

Table 3 Cross-recurrence calculation results of tasks with different difficulty (average)表3 不同任務難度條件下的交叉重復度計算結果(平均值)

在不同任務難度條件下,實驗組的交叉重復度平均值小于控制組的交叉重復度平均值,說明眼動跟蹤數據可視化的共享使用戶在審查代碼時的分工意識更為明確.

進一步地,將每兩位用戶在任務過程中基于時間軸的掃描軌跡進行比較分析,如圖17 所示.圖中,不同顏色的折線代表某兩位用戶的掃描軌跡,用戶在協同代碼審查過程中的掃描軌跡既存在“跟隨”現象(如圖17(a)所示),又存在掃描軌跡“分離”現象(如圖17(b)所示).例如,在開始階段,用戶通過分工進行代碼的快速查找時,掃描軌跡會分離;在縮小錯誤范圍,共同定位具體代碼錯誤時,掃描軌跡會相互跟隨.

Fig.17 Timeline based scan paths comparison圖17 基于時間軸的掃描軌跡比較分析示例

3)主觀反饋

在實驗之后,使用量表和訪談搜集了用戶的主觀體驗和建議.使用5 點量表(1-非常不滿意,5-非常滿意)考察了用戶對代碼協同審查系統的整體滿意程度,結果表明,用戶主觀滿意度平均值為3.88,標準差為0.7,表明用戶對系統的滿意度較高.此外,在訪談中發現:(1)對于實時注視點的共享,50%的用戶認為很有幫助,因為可以在一個較細的粒度下實時了解協作者的視覺行為,而且對自己的視覺干擾較小.(2)對于代碼行邊框這個可視化屬性,47%的用戶覺得此功能對自己的幫助很大,主要是可以了解協作者關注的具體代碼行,可以引導雙方共同關注和確定具體的審查范圍.但也有用戶認為,這種可視化效果有時會對自己產生視覺干擾,并建議增加一個可視化開關,允許用戶自己啟動或關閉這個可視化效果.(3)對于代碼行背景灰度可視化屬性,54%的用戶覺得對自己有很大幫助,可以幫助自己了解協作者對不同代碼行的關注程度.(4)針對代碼行之間連線可視化屬性,42%的用戶覺得此功能對自己有很大的幫助,可以幫助自己了解協作者審查代碼的思路,了解兩行代碼之間的邏輯關系;但也有用戶認為,當連線較多時,連線識別起來比較困難,視覺干擾較大.

5 結 語

本文提出了面向多用戶眼動跟蹤的協同交互方法,具體地,通過基于梯度優化的協同標定模型和基于客戶端/服務器的架構實現了多用戶眼動跟蹤注視點的同步記錄、精確計算和數據管理.在此基礎上,進行眼動跟蹤數據協同可視化探索,提出了針對視覺搜索任務的可視化設計.進而針對代碼協同審查應用,設計與開發了協同式眼動跟蹤原型系統,實現了實時注視點、代碼行邊框、代碼行背景灰度、代碼行之間連線等可視化屬性的共享.用戶實驗結果表明,代碼錯誤的平均搜索時間比沒有共享機制下減少了20.1%,顯著提高了協同代碼審查的效率和協作分工意識.

下一步,將針對計算機支持的協同工作和社會計算等領域的相關應用,繼續擴大用戶規模,突破配對協同(pair-collaboration)[2]的瓶頸,建立聯合注意資源驅動下的多用戶協同工作模型和用戶管理機制,融合不同用戶的認知資源,擴展用戶的知覺、學習和記憶能力,支持高效、有序的多人協同交互.此外,深入研究聯合注意條件下的用戶評估和反饋優化問題,關注眼動跟蹤協同交互環境下用戶認知負荷的動態變化,對聯合注意驅動的視覺指示線索進行優化和動態自適應調整.

猜你喜歡
眼動可視化用戶
基于CiteSpace的足三里穴研究可視化分析
基于眼動的駕駛員危險認知
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
基于ssVEP與眼動追蹤的混合型并行腦機接口研究
載人航天(2021年5期)2021-11-20 06:04:32
基于CGAL和OpenGL的海底地形三維可視化
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
國外翻譯過程實證研究中的眼動跟蹤方法述評
外語學刊(2016年4期)2016-01-23 02:34:15
主站蜘蛛池模板: yjizz国产在线视频网| 久久青草免费91线频观看不卡| 欧美日韩免费| 精品久久久久久中文字幕女| 新SSS无码手机在线观看| 欧美一区二区丝袜高跟鞋| 天天综合网亚洲网站| 99久久精品国产精品亚洲| 国产乱码精品一区二区三区中文 | 就去吻亚洲精品国产欧美| 青青青视频91在线 | 国产嫖妓91东北老熟女久久一| 青草精品视频| 久久天天躁狠狠躁夜夜2020一| 99久久精品无码专区免费| 美女内射视频WWW网站午夜| 天堂岛国av无码免费无禁网站| 无码免费的亚洲视频| 欧美精品成人| 国产欧美日韩综合在线第一| 亚洲人成网线在线播放va| 国产精品v欧美| 黄色在线不卡| 亚洲第一中文字幕| 在线观看无码av免费不卡网站 | 激情国产精品一区| 最新加勒比隔壁人妻| 中字无码精油按摩中出视频| 99re热精品视频中文字幕不卡| 漂亮人妻被中出中文字幕久久| 久久永久视频| 麻豆精品久久久久久久99蜜桃| 欧美一区二区自偷自拍视频| 欧美人与动牲交a欧美精品| 欧美日韩精品一区二区视频| 久久精品人人做人人爽97| 精品国产www| 99热国产在线精品99| 精品伊人久久久香线蕉| 色综合久久无码网| 高清国产va日韩亚洲免费午夜电影| www.狠狠| 99久久国产综合精品2020| 国产成人免费高清AⅤ| 国产欧美视频综合二区| 国产精品成人免费视频99| 免费 国产 无码久久久| 亚洲一级毛片在线观| 久草中文网| 日本人又色又爽的视频| 国产精品污污在线观看网站| 欧美成人精品在线| 香港一级毛片免费看| 成人日韩视频| 欧美性天天| 天天色天天综合网| 日韩一区精品视频一区二区| 黄色网址免费在线| 国产乱人伦AV在线A| 免费观看国产小粉嫩喷水| 亚洲va在线∨a天堂va欧美va| 国产主播一区二区三区| 日本不卡在线播放| 999精品色在线观看| 国产精品开放后亚洲| 亚洲精品卡2卡3卡4卡5卡区| 国产免费a级片| 色欲不卡无码一区二区| 美女视频黄频a免费高清不卡| 亚洲AV无码乱码在线观看裸奔| 国产区在线看| 青青草国产在线视频| 九色在线观看视频| 亚洲日韩精品伊甸| 日韩第九页| 亚洲精品自产拍在线观看APP| 欧美在线综合视频| 亚洲视频影院| 任我操在线视频| 欧美性色综合网| 亚洲欧美国产五月天综合| 国产成人91精品|