程時(shí)偉,沈嘵權(quán),孫凌云,胡屹凜
1(浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310023)
2(計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)國家重點(diǎn)實(shí)驗(yàn)室(浙江大學(xué)),浙江 杭州 310058)
隨著計(jì)算機(jī)支持的協(xié)同工作(computer supported cooperative work)、社會(huì)計(jì)算(social computing)等相關(guān)技術(shù)及應(yīng)用的迅速發(fā)展,人機(jī)交互活動(dòng)已不再局限于以單個(gè)用戶為中心的交互空間,交互任務(wù)往往需要在多用戶協(xié)同環(huán)境下才能完成.在多人協(xié)同交互過程中,信息的共享機(jī)制不僅有助于協(xié)作者了解彼此的任務(wù)完成情況,還可以促進(jìn)協(xié)同工作效率的提升.針對與視覺認(rèn)知相關(guān)的協(xié)同交互,如何將多用戶的視覺注意資源形成一個(gè)有機(jī)的協(xié)作體,通過共享機(jī)制讓個(gè)人用戶根據(jù)自身的目標(biāo)、意圖、偏好等因素,匹配其他用戶的視覺注意資源,從而降低自身認(rèn)知負(fù)荷,提高交互效率和主觀體驗(yàn),已成為一個(gè)新的研究課題.由于眼動(dòng)跟蹤(eye tracking)數(shù)據(jù)可以表征用戶的交互意圖,且基于眼動(dòng)跟蹤的交互具有“所見即所得”的特點(diǎn)[1],所以在文本、語音、手勢等形式的交互語義無法準(zhǔn)確表達(dá)的情況下,通過眼動(dòng)跟蹤數(shù)據(jù)及其可視化在多用戶之間表征視覺行為和交互語義,可以降低語義歧義性,提高多人協(xié)同交互質(zhì)量水平與效率.然而,目前多用戶協(xié)同交互環(huán)境下的視覺認(rèn)知研究相對匱乏,尤其是缺少基于眼動(dòng)跟蹤的協(xié)同交互方法和關(guān)鍵技術(shù).具體而言就是,如何在協(xié)同環(huán)境下簡單、有效地記錄眼動(dòng)跟蹤數(shù)據(jù),并在協(xié)作者之間傳輸、分享和表達(dá),進(jìn)而提高交互質(zhì)量和效率的相關(guān)機(jī)制目前還沒有展開加以深入研究.
為此,在上述研究背景下,本文提出面向多用戶協(xié)同交互的眼動(dòng)跟蹤技術(shù),實(shí)時(shí)獲取、計(jì)算和傳輸協(xié)同環(huán)境下不同用戶的眼動(dòng)跟蹤數(shù)據(jù),并通過分析與可視化眼動(dòng)跟蹤數(shù)據(jù),實(shí)現(xiàn)多用戶協(xié)作過程中視覺注意行為和交互意圖的協(xié)同感知.設(shè)計(jì)與開發(fā)了一個(gè)面向程序代碼協(xié)同審查的多用戶眼動(dòng)跟蹤交互應(yīng)用系統(tǒng),通過用戶實(shí)驗(yàn),驗(yàn)證了本文方法能夠有效地促進(jìn)多用戶協(xié)作效率的提升.
已有的相關(guān)研究主要集中在以下3 個(gè)方面.
(1)基于聯(lián)合注意理論的協(xié)同交互基礎(chǔ)研究.聯(lián)合注意(joint attention)是指社會(huì)協(xié)作者聚焦于一個(gè)共同的參考對象(例如,物體、人或者事件),并且觀察其他協(xié)作者對該對象的注意力[2].在這個(gè)過程中,注視起著十分重要的作用,使得協(xié)作者共享對感興趣事物或事件的注意[3].聯(lián)合注意不僅強(qiáng)調(diào)協(xié)作個(gè)體同時(shí)同步關(guān)注同一個(gè)對象,而且更強(qiáng)調(diào)協(xié)作者能夠互相感知出他們的視覺關(guān)注存在共同性[4].表征聯(lián)合注意的具體行為主要包括[5]:注視追隨(gaze following),即追隨其他人的注視從而注意到對方關(guān)注的對象;指向關(guān)注對象的模仿(object-directed imitation),即模仿其他人對關(guān)注對象所施加的動(dòng)作;社會(huì)參照(social referencing),即根據(jù)其他人來調(diào)整自己對場景的知覺,從而做出更合理的反應(yīng).參與聯(lián)合注意的方式包括兩種,一種是被動(dòng)地對其他人的注意指引做出反應(yīng),另一種是主動(dòng)發(fā)起聯(lián)合注意,這兩種方式都可促進(jìn)個(gè)體對外部環(huán)境的理解和生成互動(dòng)的動(dòng)機(jī)[5].聯(lián)合注意可以促進(jìn)協(xié)同交互,例如,通過在協(xié)同式搜索任務(wù)過程中分享注視點(diǎn),可以提高任務(wù)績效[6].特別是在分布式的協(xié)同環(huán)境下,由于語言在描述空間信息時(shí)經(jīng)常具有模糊性而影響交流效率,而聯(lián)合注意通過分享注視點(diǎn)信息可以起到更加明確的指示作用,一定程度上消除了語義模糊性,從而強(qiáng)化分散在不同地域協(xié)作者之間的交流,使其在復(fù)雜的協(xié)同式空間搜索任務(wù)中可顯著提高效率[7,8].
(2)眼動(dòng)數(shù)據(jù)特征可視化研究.近年來,進(jìn)一步對聯(lián)合注意中所涉及的眼動(dòng)數(shù)據(jù)特征參數(shù)開展可視化分析研究.例如,用矩陣散點(diǎn)圖來顯示隨時(shí)間變化的協(xié)同注意數(shù)據(jù),分析協(xié)作群體中聯(lián)合注意行為在時(shí)序上的演進(jìn),例如,不同用戶一開始很難同步,但會(huì)逐漸建立起與其他人的高度協(xié)調(diào);或者一個(gè)團(tuán)隊(duì)開始有很好的同步性,但隨著時(shí)間的延續(xù),逐漸產(chǎn)生分歧或沖突,而喪失視覺注意行為上的協(xié)調(diào)性[9].這種可視化方法的缺點(diǎn)是它只適合表達(dá)時(shí)序信息,無法表達(dá)交互過程中聯(lián)合注意行為產(chǎn)生的位置等空間信息.力導(dǎo)向網(wǎng)絡(luò)圖節(jié)點(diǎn)表示單個(gè)用戶在每一個(gè)感興趣區(qū)域內(nèi)的注視點(diǎn)數(shù)目,邊表示在這些感興趣區(qū)域之間的眼跳,可以表達(dá)空間維度相關(guān)的信息[2].比較不同用戶的力導(dǎo)向網(wǎng)絡(luò)圖可以發(fā)現(xiàn),不同的視覺注意分布和轉(zhuǎn)換模式與矩陣散點(diǎn)圖形成互補(bǔ).但是這些可視化形式仍存在表達(dá)不直觀、普通用戶不易于理解的缺點(diǎn).還有研究人員針對解謎和模擬拆裝任務(wù),給一個(gè)用戶顯示另一個(gè)用戶在執(zhí)行任務(wù)過程中的單個(gè)注視點(diǎn)和注視點(diǎn)軌跡,設(shè)計(jì)了基于注視點(diǎn)的區(qū)域縮放指示和動(dòng)態(tài)軌跡指示等可視化形式[10].此外,我們前期開展的研究,記錄了專家用戶在閱讀文檔時(shí)的眼動(dòng)數(shù)據(jù),然后通過生成可視化批注分享給新手用戶,指導(dǎo)其把握文檔重點(diǎn)內(nèi)容和全文結(jié)構(gòu),可有效提高閱讀理解水平[11].然而,如何根據(jù)視覺注意機(jī)制特征對聯(lián)合注意行為本身的相關(guān)眼動(dòng)數(shù)據(jù)進(jìn)行處理和可視化,提高用戶在協(xié)同交互中的認(rèn)知水平和操作績效,則有待深入研究.
(3)應(yīng)用研究.面向教育、汽車駕駛、醫(yī)療影像分析及培訓(xùn)[12]等不同領(lǐng)域開展了具體的應(yīng)用研究,實(shí)現(xiàn)了代替語音交互、協(xié)助用戶合作與分工、增強(qiáng)群體認(rèn)知等.例如,在課堂教學(xué)場景下,用兩個(gè)眼動(dòng)跟蹤系統(tǒng)記錄兩兩配對學(xué)生的眼動(dòng)數(shù)據(jù),并作為聯(lián)合注意資源進(jìn)行分享,實(shí)驗(yàn)結(jié)果表明,對于概念性知識(shí)的學(xué)習(xí)內(nèi)容,聯(lián)合注意資源越多,學(xué)習(xí)效果越好[13,14].在汽車駕駛場景下,坐在副駕駛位置的乘客可以給駕駛員提供路況信息,以彌補(bǔ)駕駛員由于視線盲區(qū)造成的信息獲取不充分的缺陷,因此,記錄副駕駛座位上乘客的注視點(diǎn),并通過可視化方式呈現(xiàn)給駕駛員,可幫助其察覺相關(guān)路況信息,提高駕駛安全性[15,16].在遠(yuǎn)程醫(yī)療場景下,國際化的醫(yī)療會(huì)診和手術(shù)團(tuán)隊(duì)中的成員來自不同國家和地區(qū),可能會(huì)產(chǎn)生語言溝通障礙,為此,在模擬手術(shù)過程中綜合使用語言、眼動(dòng)發(fā)出協(xié)作指令,使不同成員合作完成目標(biāo)選取任務(wù),實(shí)驗(yàn)結(jié)果表明,眼動(dòng)比語言協(xié)作的準(zhǔn)確率和效率都會(huì)更高[17].在協(xié)同工作場景下,使用眼動(dòng)儀記錄多用戶協(xié)同完成搜索任務(wù)時(shí)的眼動(dòng)注視點(diǎn)并在公共屏幕上顯示,使得用戶可以看到協(xié)作者正在搜索的區(qū)域,從而有意識(shí)地避免重復(fù)和冗余搜索,提高效率[18];分析多個(gè)用戶完成協(xié)同搜索任務(wù)時(shí)的眼動(dòng)注視點(diǎn)分布規(guī)律,發(fā)現(xiàn)在不同交互方式下,用戶眼動(dòng)注視點(diǎn)的分布情況差異較大,尤其是在眼動(dòng)數(shù)據(jù)可視化共享的情況下,不同用戶的眼動(dòng)注視點(diǎn)分布呈相互彌補(bǔ)趨勢,分工意識(shí)更加明確,任務(wù)完成時(shí)間更短;而在其他方式下,不同用戶的注視點(diǎn)則呈相互重疊趨勢,分工意識(shí)不明顯[19].
上述研究工作對協(xié)同人機(jī)交互的具體實(shí)踐支持不夠,絕大多數(shù)工作只涉及不同用戶眼動(dòng)數(shù)據(jù)的可視化方法,以及協(xié)同工作質(zhì)量的預(yù)測和評估[20],尚未針對目標(biāo)搜索、跟蹤、識(shí)別、圖像分析等具體任務(wù)的特征,從協(xié)同交互方式和用戶界面設(shè)計(jì),以及具體應(yīng)用系統(tǒng)架構(gòu)和實(shí)現(xiàn)機(jī)制的角度來展開具體研究工作.
標(biāo)定是實(shí)現(xiàn)眼動(dòng)跟蹤的重要環(huán)節(jié),每位用戶在使用眼動(dòng)跟蹤設(shè)備前都需要進(jìn)行標(biāo)定,以建立起個(gè)人的眼動(dòng)跟蹤映射模型.本文使用基于瞳孔-普爾欽斑(Pupil center-cornea reflection,簡稱PCCR)向量的9 點(diǎn)標(biāo)定法[21].該方法需要先生成9 個(gè)位置已知的標(biāo)定點(diǎn),然后在用戶注視這些標(biāo)定點(diǎn)時(shí),求解眼動(dòng)跟蹤注視點(diǎn)映射模型,用于后續(xù)注視點(diǎn)的計(jì)算.在多用戶協(xié)同環(huán)境下,隨著用戶的增多,如果對每位用戶都進(jìn)行9 點(diǎn)標(biāo)定,將會(huì)增加用戶的工作負(fù)荷和系統(tǒng)的計(jì)算資源消耗,并導(dǎo)致系統(tǒng)復(fù)雜性和不確定性升高.因此,本文在前期工作[22]基礎(chǔ)上提出協(xié)同式標(biāo)定方法,簡化標(biāo)定過程,并在此基礎(chǔ)上提出多用戶協(xié)同眼動(dòng)跟蹤的計(jì)算架構(gòu).
為了了解個(gè)體差異對眼動(dòng)跟蹤效果的影響,相關(guān)研究通過實(shí)驗(yàn)發(fā)現(xiàn),不同的用戶在同一位置注視同一目標(biāo)的情況下,眼動(dòng)跟蹤注視點(diǎn)的位置具有較高的一致性[23].因此,PCCR 向量的方向也大致相同,其中的差異性主要是由用戶個(gè)體的視線和眼球光軸夾角不同引起的[24],進(jìn)而導(dǎo)致眼動(dòng)跟蹤映射模型無法通用.為此,本文提出基于梯度優(yōu)化的協(xié)同標(biāo)定模型:首先利用標(biāo)準(zhǔn)的9 點(diǎn)標(biāo)定方法得到一個(gè)用戶的眼動(dòng)跟蹤映射模型,然后利用其他用戶的少量標(biāo)定數(shù)據(jù),基于梯度優(yōu)化算法,對該映射模型進(jìn)行校正,使其具有更好的通用性.具體而言,就是對協(xié)作團(tuán)隊(duì)中某位用戶進(jìn)行標(biāo)定,得到跟蹤精度較高的眼動(dòng)跟蹤映射模型,然后將該模型分發(fā)給其他協(xié)作者,并利用梯度優(yōu)化算法對此模型進(jìn)行優(yōu)化,得到適應(yīng)各協(xié)作者個(gè)體差異性的眼動(dòng)跟蹤映射模型.主要工作可以分成兩部分:獲取基本眼動(dòng)跟蹤映射模型和訓(xùn)練協(xié)同眼動(dòng)跟蹤映射模型.下面進(jìn)行詳細(xì)闡述.
(1)獲取基本眼動(dòng)跟蹤映射模型.
讓用戶佩戴眼動(dòng)跟蹤系統(tǒng)依次注視屏幕上的9 個(gè)點(diǎn),完成標(biāo)定過程,然后計(jì)算得到該用戶的眼動(dòng)跟蹤映射模型系數(shù).進(jìn)一步地,在協(xié)同環(huán)境下實(shí)現(xiàn)基本眼動(dòng)跟蹤映射模型在多用戶之間的傳輸和共享.如圖1 所示,用戶1完成標(biāo)定并得到基本眼動(dòng)跟蹤映射模型之后,觸發(fā)分發(fā)事件,依次將該模型分發(fā)給協(xié)同環(huán)境中的其他注冊用戶.

Fig.1 Distribution mechanism of basic eye tracking model in the collaboration environment圖1 協(xié)同環(huán)境下基本眼動(dòng)跟蹤映射模型分發(fā)機(jī)制
(2)訓(xùn)練協(xié)同眼動(dòng)跟蹤映射模型.
本文利用涅斯捷羅夫梯度加速方法(Nesterov accelerated gradient,簡稱NAG)[25]對基本眼動(dòng)跟蹤映射模型系數(shù)進(jìn)行優(yōu)化和校正.該方法的優(yōu)點(diǎn)是通過增加動(dòng)量項(xiàng)參數(shù),加快了計(jì)算過程,并且在計(jì)算參數(shù)梯度時(shí),在損失函數(shù)中也減去了動(dòng)量項(xiàng),進(jìn)一步提高了計(jì)算速度.具體而言,先獲取來自某個(gè)用戶的眼動(dòng)跟蹤映射模型(基本眼動(dòng)跟蹤映射模型),然后要求當(dāng)前用戶在屏幕上做4 點(diǎn)標(biāo)定.將每個(gè)標(biāo)定點(diǎn)的屏幕坐標(biāo)和相應(yīng)的PCCR 向量作為一組數(shù)據(jù),然后利用NAG 方法進(jìn)行協(xié)同眼動(dòng)跟蹤映射模型的訓(xùn)練.計(jì)算步驟如下.
·Step 1.確認(rèn)優(yōu)化模型的假設(shè)函數(shù)和損失函數(shù).本文設(shè)計(jì)的協(xié)同眼動(dòng)跟蹤映射模型的函數(shù)如下:

hθ(PX0,PX1),hθ(PY0,PY1)是注視點(diǎn)坐標(biāo)的計(jì)算函數(shù),θ0…θ5是最終的計(jì)算值,即協(xié)同眼動(dòng)跟蹤映射模型的系數(shù).其中,

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

其中,m為訓(xùn)練數(shù)據(jù)的數(shù)量,在本文中取m=4.X為用戶標(biāo)定時(shí)真實(shí)的屏幕X軸標(biāo)定點(diǎn);
·Step 2.相關(guān)參數(shù)初始化.初始化θ0,θ1,θ2的值和設(shè)置迭代次數(shù),通過多次實(shí)驗(yàn)比較,本文取迭代次數(shù)為10萬次,并將θ0,θ1,θ2的值都設(shè)為0;
·Step 3.確定當(dāng)前的損失函數(shù)的梯度表達(dá)式,對于θi,其表達(dá)式為

·Step 4.用步長η乘以損失函數(shù),得到當(dāng)前的下降位置,即:

·Step 5.累計(jì)得到迭代次數(shù),如果迭代次數(shù)到達(dá)預(yù)設(shè)閾值,則停止計(jì)算;否則,轉(zhuǎn)到下一步;
·Step 6.更新所有的θ,對于θi,用如下表達(dá)式進(jìn)行更新,更新完畢后轉(zhuǎn)入步驟Step 1 繼續(xù)執(zhí)行,直到迭代次數(shù)累計(jì)達(dá)到預(yù)設(shè)閾值.

根據(jù)上述步驟,可以求得協(xié)同眼動(dòng)跟蹤映射模型的系數(shù)θ0,θ1,θ2,θ3,θ4,θ5,進(jìn)而準(zhǔn)確計(jì)算當(dāng)前用戶注視點(diǎn)的坐標(biāo)值.
(3)模型測試.
為了驗(yàn)證協(xié)同眼動(dòng)跟蹤映射模型的標(biāo)定效果,本文邀請了5 名被試用戶(年齡24 歲~28 歲,無色盲,視力良好),在電腦上進(jìn)行眼動(dòng)跟蹤測試.使用的電腦屏幕尺寸為35.5cm×30.5cm,屏幕分辨率為1366×786,CPU 頻率為1.7GHz,內(nèi)存為8GB.屏幕上依次顯現(xiàn)4 個(gè)標(biāo)定點(diǎn),待完成標(biāo)定之后,采用21 個(gè)測試點(diǎn)測試跟蹤精度(為了保證測試精度的準(zhǔn)確性,測試點(diǎn)與標(biāo)定點(diǎn)處于不同位置).計(jì)算用戶在測試點(diǎn)的注視點(diǎn)坐標(biāo),然后計(jì)算其與實(shí)際坐標(biāo)值之間的誤差.設(shè)定了40cm、60cm、80cm 這3 個(gè)測試視距(用戶眼睛到屏幕之間的距離),測試結(jié)果表明,在視距為80cm 時(shí),平均精度最高,為0.69°(標(biāo)準(zhǔn)差為0.32°);在視距為40cm 時(shí),平均精度最低,為1.37°(標(biāo)準(zhǔn)差為0.44°);在視距為60cm 時(shí),平均精度為0.96°(標(biāo)準(zhǔn)差為0.30°).此外,已有9 點(diǎn)標(biāo)定法,在測試視距相近的情況下,得到眼動(dòng)跟蹤平均精度為0.8°~2.0°[26],而其中精度比本文方法較高的方法,都在硬件配置上比本文方法更復(fù)雜,如加裝了紅外光源以提高眼部圖像成像質(zhì)量和圖像處理效果[27].
對于協(xié)同眼動(dòng)跟蹤的計(jì)算架構(gòu),已有研究開展了初步嘗試,例如讓兩位用戶完成搜索任務(wù),通過兩臺(tái)眼動(dòng)跟蹤設(shè)備連接到一臺(tái)電腦主機(jī)實(shí)現(xiàn)多用戶眼動(dòng)跟蹤[18],但其不足在于:(1)硬件接口受到限制,導(dǎo)致能接入的眼動(dòng)跟蹤設(shè)備數(shù)量有限,從而限制了協(xié)同環(huán)境下的用戶人數(shù),擴(kuò)展性較差;(2)由于不同用戶眼動(dòng)跟蹤數(shù)據(jù)的記錄和處理都集中在一臺(tái)主機(jī)上進(jìn)行,導(dǎo)致主機(jī)計(jì)算負(fù)荷較大,計(jì)算性能受到影響.
因此,為了將眼動(dòng)跟蹤數(shù)據(jù)記錄和處理產(chǎn)生的計(jì)算負(fù)荷合理地進(jìn)行分配,并且盡可能地?cái)U(kuò)充協(xié)同環(huán)境下的用戶人數(shù),本文的多用戶協(xié)同眼動(dòng)跟蹤計(jì)算采用客戶端/服務(wù)器(client/sever,簡稱C/S)結(jié)構(gòu),其中,服務(wù)器負(fù)責(zé)記錄客戶端的眼動(dòng)跟蹤數(shù)據(jù),并且進(jìn)行處理、控制和轉(zhuǎn)發(fā);客戶端則負(fù)責(zé)眼動(dòng)跟蹤數(shù)據(jù)的計(jì)算、請求和可視化.所有的客戶端只與服務(wù)器連接通信,客戶端之間彼此不直接相連,而是通過服務(wù)器進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),實(shí)現(xiàn)相互通信.這種計(jì)算架構(gòu)的優(yōu)點(diǎn)是服務(wù)器提供了統(tǒng)一的數(shù)據(jù)轉(zhuǎn)發(fā)模式,并且客戶端所有的數(shù)據(jù)在服務(wù)器端匯聚,方便服務(wù)器進(jìn)行統(tǒng)一的處理和分發(fā).客戶端則支持眼動(dòng)跟蹤標(biāo)定、眼動(dòng)跟蹤數(shù)據(jù)計(jì)算等具體工作,然后發(fā)送到服務(wù)器.系統(tǒng)框架如圖2 所示.

Fig.2 Computing framework of multi-user collaborative eye tracking圖2 多用戶協(xié)同眼動(dòng)跟蹤計(jì)算框架示意圖
此外,上述計(jì)算架構(gòu)基于傳輸控制協(xié)議/Internet 互聯(lián)協(xié)議(transmission control protocol/Internet protocol,簡稱TCP/IP)傳輸層設(shè)計(jì)了新的網(wǎng)絡(luò)應(yīng)用層通信協(xié)議,用于支持眼動(dòng)跟蹤協(xié)同交互的需求.眼動(dòng)跟蹤注視點(diǎn)數(shù)據(jù)的傳輸共分為兩類.
(1)當(dāng)客戶端計(jì)算出眼動(dòng)跟蹤注視點(diǎn)數(shù)據(jù)之后,把數(shù)據(jù)封裝進(jìn)相應(yīng)的數(shù)據(jù)包發(fā)送到服務(wù)器;
(2)當(dāng)服務(wù)器處理好眼動(dòng)跟蹤注視點(diǎn)數(shù)據(jù)之后,把數(shù)據(jù)封裝進(jìn)相應(yīng)的數(shù)據(jù)包再發(fā)送回客戶端.本文的通信協(xié)議使用的數(shù)據(jù)包結(jié)構(gòu)如圖3 所示,由一個(gè)數(shù)據(jù)頭、若干個(gè)數(shù)據(jù)塊和校驗(yàn)位組成.其中,數(shù)據(jù)頭中的命令代碼表示該數(shù)據(jù)包的作用;數(shù)據(jù)類型描述數(shù)據(jù)內(nèi)容的數(shù)據(jù)格式;數(shù)據(jù)塊大小表示每個(gè)數(shù)據(jù)塊的字節(jié)數(shù)量;數(shù)據(jù)總長度指的是該數(shù)據(jù)內(nèi)容包含的數(shù)據(jù)塊個(gè)數(shù).數(shù)據(jù)塊存儲(chǔ)著眼動(dòng)跟蹤注視點(diǎn)坐標(biāo).校驗(yàn)位則主要是為了確保數(shù)據(jù)包的完整性和準(zhǔn)確性.

Fig.3 Packet structure of communication protocol in the network application layer圖3 網(wǎng)絡(luò)應(yīng)用層通信協(xié)議下的數(shù)據(jù)包結(jié)構(gòu)
相關(guān)已有研究在多人視頻會(huì)話[28,29]、問題探索[30,31]和指令交流[32]等領(lǐng)域使用了眼跳軌跡、注視點(diǎn)光標(biāo)等可視化形式,在本地和遠(yuǎn)程協(xié)同交互環(huán)境下,為用戶提供在線幫助、傳遞信息和指令、促進(jìn)協(xié)作者之間的互相感知和理解.這些研究關(guān)注了協(xié)同交互中眼動(dòng)跟蹤數(shù)據(jù)的可視化設(shè)計(jì),但未深入研究具體可視化形式作為指示線索在可視性和視覺干擾性方面的矛盾[18],即忽視了聯(lián)合注意資源在視覺表現(xiàn)上對用戶感知和認(rèn)知活動(dòng)的負(fù)面影響.例如,不合理的可視化形式不僅不能向協(xié)作者提供有效信息,還會(huì)造成用戶本身的視覺不適感,分散注意力和降低操作效率.因此,設(shè)計(jì)合理的眼動(dòng)跟蹤數(shù)據(jù)可視化表現(xiàn)形式對于協(xié)同交互顯得尤為重要.
相關(guān)研究提出了眼動(dòng)數(shù)據(jù)可視化形式的設(shè)計(jì)原則,如既要吸引用戶注意力,準(zhǔn)確表達(dá)眼動(dòng)特征,又要防止對用戶產(chǎn)生視覺干擾,并進(jìn)行了相關(guān)實(shí)驗(yàn),結(jié)果表明,類似于光標(biāo)形式的眼動(dòng)注視點(diǎn)可視化形式效果最佳[18].為此,本文設(shè)計(jì)了3 種注視點(diǎn)可視化表現(xiàn)形式:圓點(diǎn)、散點(diǎn)和軌跡.如圖4 所示,圓點(diǎn)具體表現(xiàn)為一個(gè)半透明的圓形(例如圓形半徑設(shè)為15 像素,透明度設(shè)置為50%),這種表現(xiàn)形式簡單明了,指向性強(qiáng),所表示的視線指示范圍集中;散點(diǎn)具體表現(xiàn)為若干聚集在一起的紅色圓形(例如,圓形半徑設(shè)為5 像素,4 個(gè)圓形排布在一個(gè)半徑為20 像素的圓形范圍內(nèi)),這種表現(xiàn)形式覆蓋范圍廣,使用戶更容易關(guān)注到注視點(diǎn)的周圍信息;軌跡具體表現(xiàn)為前一個(gè)注視點(diǎn)和后一個(gè)注視點(diǎn)之間的連線,使得原本沒有關(guān)聯(lián)的注視點(diǎn)有了直觀的時(shí)間順序和空間關(guān)聯(lián).

Fig.4 Eye tracking data visualization圖4 眼動(dòng)跟蹤數(shù)據(jù)可視化表現(xiàn)形式
我們設(shè)計(jì)了用戶實(shí)驗(yàn),探索可視化形式對協(xié)同交互環(huán)境下用戶視覺行為的影響,以及具體哪種可視化形式能夠提高協(xié)同交互效率.
(1)實(shí)驗(yàn)設(shè)計(jì).實(shí)驗(yàn)招募了6 位被試用戶(5 位男生,1 位女生,平均年齡在25 歲),兩人一組開展實(shí)驗(yàn).如圖5所示,兩位用戶協(xié)同完成一個(gè)視覺搜索任務(wù):圖片中一共有510 個(gè)圓,6 個(gè)橢圓,用戶需要在所有圓中找出這6 個(gè)橢圓,橢圓全部找到之后,記錄任務(wù)完成時(shí)間.每一組實(shí)驗(yàn)中,兩個(gè)用戶電腦上顯示的內(nèi)容相同,當(dāng)其中一個(gè)用戶找出橢圓時(shí),單擊鼠標(biāo)左鍵進(jìn)行確認(rèn),系統(tǒng)會(huì)自動(dòng)用矩形圈出該橢圓,這一過程也同時(shí)顯示在另一位用戶的電腦上,使其了解相關(guān)情況.

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

Fig.6 Average task completion time (error bars are standard deviation)圖6 任務(wù)平均完成時(shí)間(誤差線為標(biāo)準(zhǔn)差)
(3)行為分析.進(jìn)一步地,分析眼動(dòng)跟蹤數(shù)據(jù)協(xié)同可視化對用戶視覺行為的影響.首先,在屏幕上劃分用戶感興趣區(qū)域(area of interest,簡稱AOI),并選擇圓點(diǎn)形式顯示協(xié)作者的注視點(diǎn),同時(shí)記錄各自用戶的注視點(diǎn)數(shù)據(jù);然后,在考察用戶視覺行為時(shí),基于交叉重復(fù)度[33]方法分析協(xié)同雙方在同一時(shí)間、同一區(qū)域的注視駐留時(shí)間與任務(wù)完成時(shí)間的關(guān)系.交叉重復(fù)度越大,表明協(xié)同雙方在任務(wù)過程中同一時(shí)刻對相同區(qū)域共同關(guān)注的時(shí)間越長;反之,表明協(xié)同雙方在任務(wù)過程中同一時(shí)刻對相同區(qū)域共同關(guān)注的時(shí)間越短.根據(jù)已有工作提出的區(qū)域劃分方法來分析注意力分布疊加特征[33],本文計(jì)算用戶交叉重復(fù)度的具體步驟是:把顯示屏幕共分成兩行兩列4 個(gè)相同面積的矩形區(qū)域,首先判斷注視點(diǎn)是否位于屏幕的有效區(qū)域內(nèi),然后再判斷注視點(diǎn)所屬具體哪個(gè)區(qū)域,并附加相應(yīng)的區(qū)域標(biāo)簽.再依據(jù)注視點(diǎn)的時(shí)間戳和注視點(diǎn)的區(qū)域標(biāo)簽得到兩位用戶在同一區(qū)域的停留時(shí)間,記為t1;依據(jù)任務(wù)開始和結(jié)束的時(shí)間戳得到任務(wù)完成總時(shí)間,記為t2.t1和t2的比值即為用戶交叉重復(fù)度c(用百分比形式表示).進(jìn)一步地,計(jì)算4個(gè)區(qū)域的交叉重復(fù)度,結(jié)果見表1.可知,無注視點(diǎn)共享時(shí)用戶之間的交叉重復(fù)度總體上高于有注視點(diǎn)共享時(shí)的交叉重復(fù)度.

Table 1 Calculation example of cross-recurrence表1 交叉重復(fù)度計(jì)算結(jié)果示例
圖7 和圖8 分別給出任務(wù)過程中一段時(shí)間內(nèi)有注視點(diǎn)共享和無注視點(diǎn)共享時(shí)每個(gè)區(qū)域的交叉重復(fù)度,其中,紅線和藍(lán)線分別表示兩位用戶注視點(diǎn)隨時(shí)間推移在4 個(gè)區(qū)域內(nèi)的轉(zhuǎn)移情況;虛線區(qū)域表示兩位用戶注視點(diǎn)在此區(qū)域重合.可見,無注視點(diǎn)共享時(shí),用戶在4 個(gè)區(qū)域之間的轉(zhuǎn)換頻率較高,用戶之間的注釋點(diǎn)覆蓋范圍重合區(qū)域多;而有注視點(diǎn)共享時(shí),用戶在4 個(gè)區(qū)域之間的轉(zhuǎn)換頻率較低,用戶之間的注視點(diǎn)覆蓋范圍重合區(qū)域較少,表明用戶的分工意識(shí)相對明確.

Fig.7 Example of cross-recurrence for each AOI with shared gaze visualization圖7 有注視點(diǎn)共享時(shí)各區(qū)域的交叉重復(fù)度示例

Fig.8 Example of cross-recurrence for each AOI without shared gaze visualization圖8 無注視點(diǎn)共享時(shí)各區(qū)域的交叉重復(fù)度示例
此外,通過繪制熱區(qū)圖對有注視點(diǎn)共享和無注視點(diǎn)共享?xiàng)l件下的用戶注視點(diǎn)覆蓋范圍作更加直觀的分析.用戶注視點(diǎn)形成的熱區(qū)圖如圖9 所示,其中,左右兩邊分別是兩個(gè)用戶各自注視點(diǎn)形成的熱區(qū)圖.
結(jié)果表明,在有注視點(diǎn)共享情況下,用戶之間的注視點(diǎn)覆蓋范圍呈互補(bǔ)趨勢;而在無注視點(diǎn)共享情況下,用戶之間的注視點(diǎn)覆蓋范圍呈重疊趨勢.這進(jìn)一步說明,在無注視點(diǎn)共享時(shí),用戶的分工意識(shí)相對薄弱,會(huì)依據(jù)自己的情況完成任務(wù);但有了注視點(diǎn)共享之后,用戶的分工意識(shí)會(huì)加強(qiáng),會(huì)依據(jù)對方的注視點(diǎn)分布情況動(dòng)態(tài)規(guī)劃自己的目標(biāo)搜索過程.這與前述基于交叉重復(fù)度所分析的結(jié)論相一致,進(jìn)一步驗(yàn)證了合理的眼動(dòng)跟蹤數(shù)據(jù)可視化能夠?qū)f(xié)同交互中多用戶的分工起到促進(jìn)作用,從而能夠提高協(xié)同工作的質(zhì)量和效率[18].

Fig.9 Heat map based on gaze fixation圖9 用戶眼動(dòng)跟蹤注視點(diǎn)熱區(qū)圖
在軟件工程領(lǐng)域,利用多個(gè)眼動(dòng)跟蹤系統(tǒng)同步記錄程序員們?nèi)绾螌ν欢未a進(jìn)行編程工作,進(jìn)而通過比較合作方式質(zhì)量水平的高低,可以發(fā)現(xiàn)具有較好效果的協(xié)作編程工作與更多的聯(lián)合視覺注意相關(guān)[9].受此啟發(fā),本文以代碼協(xié)同審查為應(yīng)用場景,使用多用戶眼動(dòng)跟蹤及眼動(dòng)跟蹤數(shù)據(jù)可視化促進(jìn)協(xié)同工作中的多用戶協(xié)作與分工,提高代碼審查效率.
系統(tǒng)主要包括兩類可視化功能,一類是實(shí)時(shí)注視點(diǎn),即根據(jù)第3 節(jié)的研究,通過圓點(diǎn)形式實(shí)時(shí)顯示協(xié)作者的注視點(diǎn);另一類是基于注視點(diǎn)數(shù)據(jù)對代碼審查視圖進(jìn)行可視處理,設(shè)計(jì)了代碼行邊框、代碼行背景灰度、代碼行之間連線這3 種可視化屬性.此外,還包括注視點(diǎn)回放、基于時(shí)間軸的掃描軌跡回放這兩個(gè)可視分析模塊.客戶端通過標(biāo)定之后實(shí)現(xiàn)眼動(dòng)跟蹤,隨后加入局域網(wǎng),多臺(tái)客戶端通過服務(wù)器共享數(shù)據(jù),由此建立協(xié)作交互機(jī)制.具體的可視化功能闡述如下.
1)代碼行邊框
當(dāng)協(xié)作者視線停留在某行代碼時(shí),當(dāng)前用戶視圖中的相同代碼行會(huì)出現(xiàn)邊框,以此告知當(dāng)前用戶協(xié)作者此時(shí)正在注視的代碼行.同時(shí),為了表示協(xié)作者對此行代碼的關(guān)注程度,記錄注視駐留時(shí)間,并以此來設(shè)置代碼行邊框的寬度,代碼行邊框越寬,表明協(xié)作者在此行代碼的注視駐留時(shí)間越長(例如,注視駐留時(shí)間每增加1s,邊框?qū)挾染驮黾? 像素).舉例而言,在圖10(a)所示用戶A 視圖中,代碼行1 出現(xiàn)了邊框,表示用戶B 當(dāng)前正在審查此行代碼,其中,淺紅色小圓點(diǎn)為用戶B 的注視點(diǎn).類似地,圖10(b)所示用戶B 視圖中用戶A 正在查看代碼行2.此外,圖10(a)所示中代碼行1 的邊框較細(xì),表明用戶B 在此行代碼的注視駐留時(shí)間較短,而圖10(b)所示中代碼行2邊框較粗,表明用戶A 在此行代碼的注視駐留時(shí)間較長.
2)代碼行背景灰度
用戶在審查代碼時(shí),不可避免地會(huì)對一些重要的代碼行反復(fù)進(jìn)行查看.因此,使用代碼行區(qū)域的背景顏色灰度來表示用戶對此行代碼的查看次數(shù),顏色越深,表示協(xié)作者查看此行代碼的次數(shù)越多.具體地,根據(jù)兩條規(guī)則對代碼行背景灰度進(jìn)行實(shí)時(shí)調(diào)整:(1)如果用戶注視點(diǎn)進(jìn)入某一行代碼,則該行代碼查看次數(shù)增加1 次,背景灰度值也相應(yīng)增加(例如,灰度值增加15);(2)如果用戶在某一行代碼的注視駐留時(shí)間有所增加,則該行代碼背景灰度值也會(huì)增加(例如,駐留時(shí)間每增加1s,背景灰度值增加10).此外,由于用戶審查代碼時(shí),多數(shù)情況下是從第1行往下依次閱讀各行代碼,如果遵循上述的第1 條規(guī)則,用戶注視點(diǎn)每次從上一行轉(zhuǎn)向緊鄰的下一行時(shí),下一行的背景灰度都會(huì)增加,從而導(dǎo)致絕大多數(shù)代碼行的背景灰度都會(huì)變化,使得視覺效果過于復(fù)雜,不利于用戶觀察.所以,為了避免這種影響,本文進(jìn)一步規(guī)定:當(dāng)用戶第1 次在看完上一行代碼并接著看下一行代碼時(shí),下一行代碼的查看次數(shù)不增加.但是,如果用戶從下一行代碼返回來查看上一行代碼時(shí),上一行代碼的查看次數(shù)增加1.具體可視化效果如圖11 所示,圖11(a)所示用戶A 視圖中的各行代碼背景灰度深淺各異,表明用戶B 在不同代碼行上的查看次數(shù)不同,其中,代碼行3 顏色較深,說明用戶B 從別處代碼跳轉(zhuǎn)到此行代碼的次數(shù)較多,且在此行代碼的查看時(shí)間較長,此行代碼是重點(diǎn)審查區(qū)域之一.類似地,在圖11(b)所示用戶B 的視圖中,可以看到用戶A將代碼行3 和代碼行i作為重點(diǎn)審查區(qū)域.
3)代碼行之間連線
由于不同代碼行之間存在邏輯關(guān)系,用戶常在多行代碼之間多次來回查看,這類信息可以揭示用戶在審查代碼過程中的邏輯思維,從而為協(xié)作者提供參考.為此,本文用連線表示兩行代碼之間的聯(lián)系.具體地,當(dāng)用戶在兩個(gè)代碼行之間存在注視點(diǎn)轉(zhuǎn)移時(shí),記錄并計(jì)算相應(yīng)的轉(zhuǎn)移次數(shù)[11],且每轉(zhuǎn)移1 次,代碼行之間的連線寬度就增加相應(yīng)的寬度(例如10 像素).為了便于區(qū)分,不同代碼行之間的連線顏色也不同.此外,為了降低視覺復(fù)雜度,便于用戶觀察,與上文代碼行背景灰度的處理類似,上下相鄰兩個(gè)代碼行之間的首次順序轉(zhuǎn)移,不計(jì)入連線寬度值的增加計(jì)算.具體的可視化效果如圖12 所示,圖12(a)所示用戶A 視圖中的連線1 關(guān)聯(lián)了代碼行i和代碼行j,表明用戶B 在這兩行代碼之間存在多次的注視點(diǎn)轉(zhuǎn)換.類似地,圖12(b)所示用戶B 視圖中的連線2 關(guān)聯(lián)了代碼行6 和代碼行11,表明用戶A 在這兩行代碼之間也存在多次的注視點(diǎn)轉(zhuǎn)換.

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

Fig.12 Visualization of the connections between code lines圖12 代碼行之間連線可視化示意圖
4)注視點(diǎn)與掃描軌跡回放
上述3 種可視化屬于代碼實(shí)時(shí)審查過程中的在線共享,而線下的共享,對促進(jìn)代碼審查方法的學(xué)習(xí)和效果評估同樣也很重要.為此,在完成協(xié)同審查代碼之后,還可以將協(xié)作者在審查代碼過程中的眼動(dòng)跟蹤數(shù)據(jù)進(jìn)行可視化回放,從而讓協(xié)作者相互學(xué)習(xí)和借鑒相關(guān)的代碼審查技巧,提高自身代碼審查能力.回放功能包括:(1)注視點(diǎn)回放.全程記錄協(xié)同環(huán)境下每位用戶在審查代碼時(shí)的注視點(diǎn)運(yùn)動(dòng)情況,并實(shí)現(xiàn)整個(gè)過程的回放;(2)基于時(shí)間軸的掃描軌跡回放.顯示用戶時(shí)間軸上不同時(shí)段內(nèi)注視點(diǎn)所在的代碼行.如下文的圖13 所示,圓點(diǎn)表示用戶的注視點(diǎn),橫軸為時(shí)間軸,從左到右依次顯示不同時(shí)間段內(nèi)用戶注視點(diǎn)所在的代碼行.
我們招募了32 名被試用戶參與實(shí)驗(yàn)(28 名男生,4 名女生,年齡在23 歲~27 歲之間,視力良好),兩人一組協(xié)同審查代碼,雙方戴上眼動(dòng)跟蹤設(shè)備記錄眼動(dòng)數(shù)據(jù)(眼動(dòng)跟蹤設(shè)備的圖像采樣頻率為30 幀/s、視距為35cm、視角精度為1.1o)[26].實(shí)驗(yàn)使用3 臺(tái)電腦進(jìn)行測試,其中兩臺(tái)作為代碼協(xié)同審查系統(tǒng)的客戶端(屏幕尺寸為35.5cm×30.5cm,分辨率為1366×786,CPU 頻率為1.7GHz,內(nèi)存為8GB),其放置在用戶的正前方,并與用戶頭部距離保持在40cm 左右;另外一臺(tái)作為服務(wù)器(屏幕尺寸為35.5cm×30.5cm,屏幕分辨率為1366×786,CPU 頻率為2.21GHz,內(nèi)存為16GB).具體實(shí)驗(yàn)場景如圖14 所示.

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

Fig.14 Experimental scene圖14 實(shí)驗(yàn)場景
首先將用戶兩兩劃分為一組,共分為16 組.每組用戶將做兩組實(shí)驗(yàn),分別是控制組實(shí)驗(yàn)和實(shí)驗(yàn)組實(shí)驗(yàn).其中,實(shí)驗(yàn)組的用戶在協(xié)同審查代碼時(shí)共享眼動(dòng)注視點(diǎn)可視化(只允許在找到錯(cuò)誤代碼進(jìn)行口頭提交時(shí)進(jìn)行語言交流),而控制組用戶實(shí)驗(yàn)時(shí)只能用語言進(jìn)行交流.為了確保語言交流時(shí)用戶能夠清楚地聽到對方說話,用戶被安排在一間60m2的實(shí)驗(yàn)室內(nèi),但是互相通過半封閉隔斷分開,以保證不能看到相互之間的計(jì)算機(jī)屏幕.在正式開始實(shí)驗(yàn)之前,首先對用戶進(jìn)行簡單培訓(xùn),讓用戶了解系統(tǒng)功能和熟悉相關(guān)操作,然后開始正式實(shí)驗(yàn).每個(gè)控制組和實(shí)驗(yàn)組的實(shí)驗(yàn)又分別包含3 個(gè)不同的任務(wù),分別針對簡單、中等、較難這3 種不同難度的代碼進(jìn)行審查.其中,簡單和中等難度的代碼只有1 處錯(cuò)誤,而較難的代碼有兩處錯(cuò)誤.實(shí)驗(yàn)從用戶進(jìn)入系統(tǒng)開始計(jì)時(shí),兩位用戶通過協(xié)作找出代碼錯(cuò)誤,并報(bào)告所找到的錯(cuò)誤.若所報(bào)告的代碼錯(cuò)誤不正確,將繼續(xù)尋找真正的錯(cuò)誤,直到找到為止,屆時(shí)計(jì)時(shí)停止,任務(wù)完成(若超出時(shí)間上限,例如20 分鐘,錯(cuò)誤仍未找到,則中斷任務(wù),且判定此次任務(wù)沒有完成).
系統(tǒng)以對方用戶的實(shí)時(shí)注視點(diǎn)為數(shù)據(jù)來源,以代碼行邊框、代碼行背景灰度、代碼行之間連線等信息給當(dāng)前用戶提供可視化分享.實(shí)驗(yàn)中的可視化效果如圖15 所示.
記錄每組用戶的任務(wù)完成時(shí)間、眼動(dòng)跟蹤數(shù)據(jù)及其表征的視覺行為,以及用戶主觀反饋等,然后分別進(jìn)行分析,具體分析結(jié)果說明如下.
1)任務(wù)完成時(shí)間
實(shí)驗(yàn)組和控制組的用戶在實(shí)驗(yàn)中分別完成簡單、中等、較難等不同任務(wù).如果不區(qū)分任務(wù)難度,那么以每項(xiàng)任務(wù)為單位,共48 份實(shí)驗(yàn)數(shù)據(jù)樣本,則實(shí)驗(yàn)組任務(wù)完成時(shí)間的平均值為249.83s,標(biāo)準(zhǔn)差為120.14s;控制組任務(wù)完成時(shí)間的平均值為 313.65s,標(biāo)準(zhǔn)差為 141.02s.進(jìn)一步地,對任務(wù)完成時(shí)間作配對 T 檢驗(yàn)分析,得到t=–4.152,p<0.05,存在顯著性差異,即在不區(qū)分任務(wù)難度時(shí),實(shí)驗(yàn)組用戶的任務(wù)完成時(shí)間比控制組要短,說明眼動(dòng)跟蹤數(shù)據(jù)可視化的分享機(jī)制能夠有效地提高代碼協(xié)同審查的效率.另一方面,如果區(qū)分任務(wù)難度,則每個(gè)難度條件下的實(shí)驗(yàn)數(shù)據(jù)樣本各為16 份,任務(wù)完成時(shí)間結(jié)果見表2.

Fig.15 Visualization displayed in the experiment圖15 實(shí)驗(yàn)中可視化效果示意圖

Table 2 Task completion time analysis under tasks with different difficulty表2 區(qū)分難度的任務(wù)完成時(shí)間分析
進(jìn)一步對任務(wù)完成時(shí)間進(jìn)行多因素方差分析,結(jié)果如圖16 所示,在3 種不同任務(wù)難度條件下,也存在顯著性差異,實(shí)驗(yàn)組的任務(wù)完成時(shí)間比控制組要短,也進(jìn)一步說明眼動(dòng)跟蹤數(shù)據(jù)可視化的分享機(jī)制對不同難度的代碼審查具有較好的適應(yīng)性.

Fig.16 Multi-factor variance analysis of the task completion time圖16 任務(wù)完成時(shí)間的多因素方差分析結(jié)果
2)視覺行為
我們從交叉重復(fù)度、眼動(dòng)跟蹤掃描軌跡兩個(gè)方面來分析用戶視覺行為.將每一個(gè)代碼行設(shè)為一個(gè)區(qū)域,計(jì)算用戶在該區(qū)域的交叉重復(fù)度,結(jié)果見表3.

Table 3 Cross-recurrence calculation results of tasks with different difficulty (average)表3 不同任務(wù)難度條件下的交叉重復(fù)度計(jì)算結(jié)果(平均值)
在不同任務(wù)難度條件下,實(shí)驗(yàn)組的交叉重復(fù)度平均值小于控制組的交叉重復(fù)度平均值,說明眼動(dòng)跟蹤數(shù)據(jù)可視化的共享使用戶在審查代碼時(shí)的分工意識(shí)更為明確.
進(jìn)一步地,將每兩位用戶在任務(wù)過程中基于時(shí)間軸的掃描軌跡進(jìn)行比較分析,如圖17 所示.圖中,不同顏色的折線代表某兩位用戶的掃描軌跡,用戶在協(xié)同代碼審查過程中的掃描軌跡既存在“跟隨”現(xiàn)象(如圖17(a)所示),又存在掃描軌跡“分離”現(xiàn)象(如圖17(b)所示).例如,在開始階段,用戶通過分工進(jìn)行代碼的快速查找時(shí),掃描軌跡會(huì)分離;在縮小錯(cuò)誤范圍,共同定位具體代碼錯(cuò)誤時(shí),掃描軌跡會(huì)相互跟隨.

Fig.17 Timeline based scan paths comparison圖17 基于時(shí)間軸的掃描軌跡比較分析示例
3)主觀反饋
在實(shí)驗(yàn)之后,使用量表和訪談搜集了用戶的主觀體驗(yàn)和建議.使用5 點(diǎn)量表(1-非常不滿意,5-非常滿意)考察了用戶對代碼協(xié)同審查系統(tǒng)的整體滿意程度,結(jié)果表明,用戶主觀滿意度平均值為3.88,標(biāo)準(zhǔn)差為0.7,表明用戶對系統(tǒng)的滿意度較高.此外,在訪談中發(fā)現(xiàn):(1)對于實(shí)時(shí)注視點(diǎn)的共享,50%的用戶認(rèn)為很有幫助,因?yàn)榭梢栽谝粋€(gè)較細(xì)的粒度下實(shí)時(shí)了解協(xié)作者的視覺行為,而且對自己的視覺干擾較小.(2)對于代碼行邊框這個(gè)可視化屬性,47%的用戶覺得此功能對自己的幫助很大,主要是可以了解協(xié)作者關(guān)注的具體代碼行,可以引導(dǎo)雙方共同關(guān)注和確定具體的審查范圍.但也有用戶認(rèn)為,這種可視化效果有時(shí)會(huì)對自己產(chǎn)生視覺干擾,并建議增加一個(gè)可視化開關(guān),允許用戶自己啟動(dòng)或關(guān)閉這個(gè)可視化效果.(3)對于代碼行背景灰度可視化屬性,54%的用戶覺得對自己有很大幫助,可以幫助自己了解協(xié)作者對不同代碼行的關(guān)注程度.(4)針對代碼行之間連線可視化屬性,42%的用戶覺得此功能對自己有很大的幫助,可以幫助自己了解協(xié)作者審查代碼的思路,了解兩行代碼之間的邏輯關(guān)系;但也有用戶認(rèn)為,當(dāng)連線較多時(shí),連線識(shí)別起來比較困難,視覺干擾較大.
本文提出了面向多用戶眼動(dòng)跟蹤的協(xié)同交互方法,具體地,通過基于梯度優(yōu)化的協(xié)同標(biāo)定模型和基于客戶端/服務(wù)器的架構(gòu)實(shí)現(xiàn)了多用戶眼動(dòng)跟蹤注視點(diǎn)的同步記錄、精確計(jì)算和數(shù)據(jù)管理.在此基礎(chǔ)上,進(jìn)行眼動(dòng)跟蹤數(shù)據(jù)協(xié)同可視化探索,提出了針對視覺搜索任務(wù)的可視化設(shè)計(jì).進(jìn)而針對代碼協(xié)同審查應(yīng)用,設(shè)計(jì)與開發(fā)了協(xié)同式眼動(dòng)跟蹤原型系統(tǒng),實(shí)現(xiàn)了實(shí)時(shí)注視點(diǎn)、代碼行邊框、代碼行背景灰度、代碼行之間連線等可視化屬性的共享.用戶實(shí)驗(yàn)結(jié)果表明,代碼錯(cuò)誤的平均搜索時(shí)間比沒有共享機(jī)制下減少了20.1%,顯著提高了協(xié)同代碼審查的效率和協(xié)作分工意識(shí).
下一步,將針對計(jì)算機(jī)支持的協(xié)同工作和社會(huì)計(jì)算等領(lǐng)域的相關(guān)應(yīng)用,繼續(xù)擴(kuò)大用戶規(guī)模,突破配對協(xié)同(pair-collaboration)[2]的瓶頸,建立聯(lián)合注意資源驅(qū)動(dòng)下的多用戶協(xié)同工作模型和用戶管理機(jī)制,融合不同用戶的認(rèn)知資源,擴(kuò)展用戶的知覺、學(xué)習(xí)和記憶能力,支持高效、有序的多人協(xié)同交互.此外,深入研究聯(lián)合注意條件下的用戶評估和反饋優(yōu)化問題,關(guān)注眼動(dòng)跟蹤協(xié)同交互環(huán)境下用戶認(rèn)知負(fù)荷的動(dòng)態(tài)變化,對聯(lián)合注意驅(qū)動(dòng)的視覺指示線索進(jìn)行優(yōu)化和動(dòng)態(tài)自適應(yīng)調(diào)整.