摘"要:為豐富人機(jī)交互模式,基于OpenCV和Mediapipe在面部識(shí)別中的應(yīng)用,在個(gè)人電腦上實(shí)現(xiàn)通過面部動(dòng)作進(jìn)行常用的鼠標(biāo)控制。具體的方法是通過捕捉攝像頭傳入視頻幀中用戶臉部的關(guān)鍵點(diǎn),并根據(jù)關(guān)鍵點(diǎn)的位置變化來執(zhí)行對(duì)應(yīng)鼠標(biāo)操作。實(shí)際測(cè)試結(jié)果表明:該程序僅通過簡(jiǎn)單的面部動(dòng)作就可以較好地實(shí)現(xiàn)諸如移動(dòng)光標(biāo)、單擊鼠標(biāo)左右鍵以及拖動(dòng)滾動(dòng)條等常用鼠標(biāo)操作,且識(shí)別準(zhǔn)確率高,是一種針對(duì)特殊用戶和特定環(huán)境條件下替代鼠標(biāo)操作的低成本實(shí)用技術(shù)。
關(guān)鍵詞:MediaPipe;"OpenCV;"面部識(shí)別;"鼠標(biāo)操作
中圖分類號(hào):TP317.1""""""文獻(xiàn)標(biāo)識(shí)碼:A
Research"on"Facial"Action"Control"Mouse"Operation"
Based"on"OpenCV"and"MediaPipe
WANG"Junxiang,MA"Jianwei,SONG"Diqiu,ZHU"Sizhe
(College"of"Software,"Nankai"University,"Tianjin"300457,China)
Abstract:In"order"to"enrich"the"humancomputer"interaction"methods,"this"work"realizes"common"mouse"control"through"facial"movements"on"PC"based"on"the"application"of"OpenCV"and"MediaPipe"in"facial"recognition."The"specific"method"is"to"capture"the"key"points"of"user’s"face"in"the"video"frame"transmitted"by"the"camera,"and"perform"corresponding"operations"according"to"the"position"changes"of"the"key"points."The"actual"test"results"show"that"this"program"can"effectively"achieve"common"mouse"operations"such"as"moving"the"cursor,"clicking"the"left"and"right"mouse"buttons,"and"dragging"the"scroll"bar"through"simple"facial"movements,"and"has"high"recognition"accuracy."It"is"a"lowcost"practical"technology"that"can"replace"mouse"operations"for"special"users"and"specific"environmental"conditions.
Key"words:MedaiPipe;"OpenCV;"face"recognition;"mousecontrol
人機(jī)交互是研究人與計(jì)算機(jī)及其相互作用的技術(shù),包括交互的方式、方法、設(shè)備和界面[1],其目的是實(shí)現(xiàn)人與計(jì)算機(jī)的雙向溝通。鼠標(biāo)光標(biāo)操作是當(dāng)前最主要的人機(jī)交互方式之一,但該技術(shù)存在著殘障或手部勞損人士使用不便和使用受場(chǎng)合受限等缺陷[2]。因此有必要開發(fā)替代鼠標(biāo)操作的技術(shù)。
當(dāng)前國(guó)內(nèi)外研究人員在開發(fā)可替代鼠標(biāo)操作的計(jì)算機(jī)操作方面做了大量的研究。現(xiàn)有的新型人機(jī)交互技術(shù)大致包含手勢(shì)控制、語(yǔ)音控制和面部動(dòng)作控制三類。手勢(shì)控制方面有美國(guó)Ultraleap公司推出的Leap"Motion手勢(shì)控制儀,國(guó)內(nèi)陳敬宇等[3]也研究了基于手勢(shì)識(shí)別的人機(jī)交互系統(tǒng)。該技術(shù)采用人手勢(shì)變化實(shí)現(xiàn)鼠標(biāo)操作功能,可以避免長(zhǎng)期操作鼠標(biāo)而造成的關(guān)節(jié)勞損,但手勢(shì)識(shí)別技術(shù)常常需要依賴于較為昂貴的硬件,且不適合于手部殘障的用戶,另外,頻繁進(jìn)行幅度較大手部動(dòng)作同樣會(huì)使用戶感到疲勞。研究語(yǔ)音控制技術(shù)的有美國(guó)微軟公司,該公司在Windows"11操作系統(tǒng)中提供語(yǔ)音訪問功能,國(guó)內(nèi)朱全勝等人[4]也研究了語(yǔ)音交互識(shí)別系統(tǒng),該技術(shù)僅僅依賴麥克風(fēng)進(jìn)行語(yǔ)音采集,就能實(shí)現(xiàn)鼠標(biāo)的操作功能,對(duì)硬件要求低,但語(yǔ)音控制無法在嘈雜的環(huán)境下使用,且還會(huì)影響周圍的人。面部動(dòng)作控制技術(shù)主要通過和計(jì)算機(jī)連接的攝像頭捕捉操作者的面部表情或動(dòng)作,并將其轉(zhuǎn)化為對(duì)應(yīng)的鼠標(biāo)操作,稱為相機(jī)鼠標(biāo)技術(shù)。當(dāng)下的相機(jī)鼠標(biāo)技術(shù)有多種實(shí)現(xiàn)方式,Vasanthan等人[5]使用了微傳感器和粘貼在面部的發(fā)光貼紙,通過監(jiān)控貼紙標(biāo)記的輪廓來實(shí)現(xiàn)鼠標(biāo)動(dòng)作控制。Mohamed等人[6]則將攝像頭傳入的影像轉(zhuǎn)化為灰度圖后使用支持向量機(jī)(SVM)技術(shù)來識(shí)別面部位置以及實(shí)際坐標(biāo)來實(shí)現(xiàn)鼠標(biāo)動(dòng)作控制。Gyawal等[7]使用了特殊的眼部監(jiān)測(cè)算法,通過在圖片中定位眼部位置來控制鼠標(biāo)動(dòng)作。微軟公司在Windows"11中提供視線控制以及美國(guó)Oculus公司推出的虛擬現(xiàn)實(shí)裝置Oculus"Quest2都是基于眼動(dòng)控制鼠標(biāo)動(dòng)作的技術(shù)。相對(duì)于采用語(yǔ)音和手勢(shì)控制,采用面部動(dòng)作實(shí)現(xiàn)鼠標(biāo)控制技術(shù)可以很好地克服語(yǔ)言控制干擾他人以及手部控制易產(chǎn)生疲勞的缺陷。然而,上述通過面部動(dòng)作控制鼠標(biāo)的技術(shù)也或多或少存在一些缺陷,如在臉部粘貼發(fā)光貼紙的做法操作麻煩也不符合大多數(shù)用戶的習(xí)慣;Mohamed和Gyawal等人的相機(jī)鼠標(biāo)技術(shù)識(shí)別精度較低,需反復(fù)操作多次才能完成預(yù)期操作,并且,在識(shí)別精度以及操作邏輯的限制下,雙擊或更加復(fù)雜的操作難以實(shí)現(xiàn);微軟公司的視線控制和Oculus公司虛擬現(xiàn)實(shí)裝置都需要配置昂貴硬件的系統(tǒng)。
為了克服上述技術(shù)中的不足,從機(jī)器視覺的角度出發(fā),對(duì)發(fā)展前景好的相機(jī)鼠標(biāo)技術(shù)進(jìn)行優(yōu)化,通過面部動(dòng)作來實(shí)現(xiàn)常用的鼠標(biāo)操作,為特殊需求的人群和不便于進(jìn)行鼠標(biāo)操作的場(chǎng)合提供一種簡(jiǎn)便易行的人機(jī)交互方式。本文采用基于OpenCV庫(kù)以及由美國(guó)Google公司推出的MediaPipe庫(kù)來實(shí)現(xiàn)這一技術(shù)的開發(fā)。本技術(shù)僅需使用與計(jì)算機(jī)連接的攝像頭作為額外硬件或利用顯示器屏幕上自帶的攝像頭,通過捕捉攝像頭傳入視頻幀中用戶臉部的關(guān)鍵點(diǎn)的位置變化來執(zhí)行諸如光標(biāo)移動(dòng),鼠標(biāo)左、右鍵單擊和滾輪滾動(dòng)等基本鼠標(biāo)操作[8]。
1"面部動(dòng)作實(shí)現(xiàn)鼠標(biāo)操作的解決方案
相機(jī)鼠標(biāo)技術(shù)的主要難點(diǎn)在于如何精確識(shí)別用戶的有意識(shí)面部動(dòng)作,并將不同的動(dòng)作以合理的方式映射到鼠標(biāo)動(dòng)作的對(duì)應(yīng)操作上。過去的技術(shù)因?yàn)槊娌孔R(shí)別的精度有限,難以識(shí)別用戶的微小動(dòng)作,只能通過識(shí)別頭部轉(zhuǎn)動(dòng)等較大幅度動(dòng)作對(duì)電腦進(jìn)行操作。為解決這類的問題,基于OpenCV和Mediapipe在面部識(shí)別中的應(yīng)用,在個(gè)人電腦上實(shí)現(xiàn)通過面部動(dòng)作進(jìn)行常用的鼠標(biāo)控制。
1.1"OpenCV
OpenCV是一個(gè)開源的計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)軟件庫(kù),為計(jì)算機(jī)視覺應(yīng)用提供通用的架構(gòu),并加速商業(yè)產(chǎn)品中的機(jī)器感知而構(gòu)建。OpenCV基于Apache"2.0許可(開源)發(fā)行,包含了超過2500種優(yōu)化過的計(jì)算機(jī)視覺以及機(jī)器學(xué)習(xí)算法。OpenCV為C++、Python、JAVA、MATLAB語(yǔ)言提供接口,并且支持Windows、Linux、Android、以及Mac"OS操作系統(tǒng)[9]。本應(yīng)用主要使用了其中的攝像頭調(diào)用,圖像放大處理等計(jì)算機(jī)視覺領(lǐng)域的算法。
1.2"MediaPipe
MediaPipe是一個(gè)基于Apache"2.0許可(開源)發(fā)行的,為流媒體及直播提供的跨平臺(tái)機(jī)器學(xué)習(xí)解決方案,支持面部檢測(cè)、手勢(shì)檢測(cè)、物體追蹤、人體骨骼檢測(cè)等多種功能。MediaPipe的核心框架由C++實(shí)現(xiàn),并且為Python、Java等語(yǔ)言提供支持[10]。本技術(shù)中主要使用了MediaPipe的face_mesh模塊。該模塊可以識(shí)別圖像中是否有人臉,若包含則將人臉部分進(jìn)行統(tǒng)一大小的裁剪,然后將裁剪后的圖像傳入Attention"mesh模型中提取特征,定位、標(biāo)記出468個(gè)面部關(guān)鍵點(diǎn)(圖1),并能時(shí)刻向電腦中返回這些關(guān)鍵點(diǎn)在圖像中的位置[11][12]。
MediaPipe提供的算法可以在較低性能消耗的前提下快速識(shí)別出人臉,并精確返回面部關(guān)鍵點(diǎn)坐標(biāo)。這使得通過識(shí)別出更小幅度的動(dòng)作(例如眨眼)成為可能。為了平衡識(shí)別的準(zhǔn)確率以及操作的便利性,本程序選用圖1中加粗顯示的27個(gè)特征點(diǎn),設(shè)定一系列更加精確的特定動(dòng)作進(jìn)行操作,并引入一個(gè)簡(jiǎn)單的判斷算法,在適應(yīng)用戶使用習(xí)慣的同時(shí)過濾用戶的無意識(shí)動(dòng)作,從而提升操作的精確度。
2"程序開發(fā)環(huán)境和工作過程
2.1"開發(fā)環(huán)境
采用的編程語(yǔ)言是Python"3.10,集成開發(fā)環(huán)境是PyCharm,依賴庫(kù)有:MediaPipe"0.10.9,PyQt6"6.6.1,PyAutoGUI"0.9.54,NumPy"1.26.3,OpenCVcontribPython"4.9.0.80和OpenCVPython"4.9.0.80。其中核心依賴庫(kù)為OpenCV和MediaPipe。
2.2"程序工作過程
程序的主要功能為持續(xù)調(diào)取攝像頭傳入的圖像信息,識(shí)別并判斷用戶臉部是否進(jìn)行了特定動(dòng)作,以決定是否執(zhí)行對(duì)應(yīng)的鼠標(biāo)光標(biāo)操作。程序工作流程如圖2所示。
上述面部特定動(dòng)作包含用戶頭部的轉(zhuǎn)動(dòng)、同時(shí)眨雙眼、張嘴和左右傾斜頭部。用戶可以通過這四個(gè)動(dòng)作分別執(zhí)行移動(dòng)光標(biāo)、單擊鼠標(biāo)左鍵、單擊鼠標(biāo)右鍵和滑動(dòng)滾輪四種操作。下文中將給出該程序的核心思路。
2.3"程序的實(shí)現(xiàn)
2.3.1"面部關(guān)鍵點(diǎn)的捕捉和動(dòng)作識(shí)別
(1)獲取面部關(guān)鍵點(diǎn)坐標(biāo)
MediaPipe的face_mesh方法可以將視頻幀中的人臉識(shí)別為關(guān)鍵點(diǎn),并返回所有關(guān)鍵點(diǎn)在視頻幀中的相對(duì)位置。為了實(shí)現(xiàn)對(duì)特定動(dòng)作的觀測(cè),程序需要讀取包含眉心7個(gè),雙眼眼周共12個(gè),嘴部6個(gè),以及頭頂、下巴下端2個(gè)共27個(gè)識(shí)別點(diǎn)的坐標(biāo),并觀測(cè)坐標(biāo)的變化。
(2)獲取視點(diǎn)位置作為視線追蹤的一種低成本近似,程序讀取兩眼之間的眉心位置的7個(gè)識(shí)別點(diǎn)的橫、縱坐標(biāo)平均值作為眉心坐標(biāo),并將這個(gè)坐標(biāo)在屏幕上的位置、在不同時(shí)間位置的差異,作為光標(biāo)移動(dòng)的依據(jù)。
(3)判斷是否眨眼
為了識(shí)別用戶是否進(jìn)行眨眼動(dòng)作,程序按照?qǐng)D3的方式(以右眼為例)讀取左、右眼的面部關(guān)鍵點(diǎn)。
程序?qū)凑展剑?),計(jì)算圖3中p2、p6和p3、p5兩組對(duì)應(yīng)點(diǎn)的歐式距離以及p1、p4歐氏距離的比值的平均值(e_ratio)作為判定用戶眼睛狀態(tài)的依據(jù)。當(dāng)e_ratio值減小時(shí),用戶的上下眼瞼靠近,可以認(rèn)為用戶正在閉上眼睛;反之,可以認(rèn)為用戶正在睜大眼睛。程序?qū)凑障嗤姆椒ㄓ?jì)算左眼的e_ratio_l值,并以這兩個(gè)數(shù)值的平均值作為e_ratio的值。
e_ratio_r(l)=‖p2-p6‖+‖p3-p5‖2‖p1-p4‖"(1)
為了解決固定閾值無法應(yīng)對(duì)不同用戶眼睛大小不同的問題,該程序維護(hù)一個(gè)大小為5的數(shù)組e_ratiolist,數(shù)組將存放最近5幀中的e_ratio值??紤]到用戶無意識(shí)眨眼一般發(fā)生在程序運(yùn)行的1~2幀以內(nèi),程序?qū)_ratiolist的平均值作為用戶不眨眼時(shí)的參考值。每當(dāng)攝像頭傳入新的一幀時(shí),數(shù)組將從數(shù)組最前端移除最舊的e_ratio值,并將最新值添加在數(shù)組尾端。若在最新一幀中的e_ratio值小于e_ratiolist元素平均值與特定閾值eye_thresh的和時(shí)(閾值可調(diào)節(jié),用于調(diào)節(jié)識(shí)別的靈敏度),程序認(rèn)為用戶正在進(jìn)行一個(gè)眨眼的動(dòng)作,并開始累積e_ratio值小于e_ratiolist均值+eye_thresh的連續(xù)幀數(shù)。當(dāng)這個(gè)數(shù)字大于另一特定閾值closed_eyes_frame(長(zhǎng)于自然眨眼所用時(shí)長(zhǎng)),并且最新一幀的e_ratio值大于e_ratiolist平均值和eye_thresh和時(shí),程序識(shí)別出用戶完成一次有意識(shí)的眨雙眼動(dòng)作。
(4)判斷是否張嘴
判斷是否張嘴的方法和判定是否眨眼非常相似。按照在眼沿選取關(guān)鍵點(diǎn)的方式取上唇兩個(gè),下唇兩個(gè),以及左、右嘴角共6個(gè)關(guān)鍵點(diǎn),并按照公式1的計(jì)算方式計(jì)算出嘴部比例m_ratio,同樣維護(hù)一個(gè)大小為5的數(shù)組m_ratiolist記錄用戶自己的常態(tài)嘴部大小。與判斷眨眼相反的是,程序識(shí)別張嘴的動(dòng)作,所以程序會(huì)在當(dāng)前m_ratio值大于m_ratiolist與可調(diào)閾值mouth_thresh的和時(shí),程序開始累積這個(gè)保持這個(gè)狀態(tài)的連續(xù)幀數(shù)。當(dāng)幀數(shù)大于特定閾值opened_mouth_frame時(shí),程序識(shí)別到有意識(shí)的張嘴動(dòng)作。
(5)判斷頭部?jī)A斜
程序計(jì)算頭頂、下巴下端兩個(gè)識(shí)別點(diǎn)的橫軸坐標(biāo)差值inc。在頭部向不同方向傾斜的時(shí)候,inc的正負(fù)、大小都將相應(yīng)發(fā)生變化。這個(gè)差值將作為滾輪操作的依據(jù)。
2.3.2"鼠標(biāo)控制的實(shí)現(xiàn)
(1)光標(biāo)的移動(dòng)
程序?qū)⒕S護(hù)一個(gè)大小為2的數(shù)組,用于存儲(chǔ)當(dāng)前幀和上一幀中兩個(gè)眉心坐標(biāo)。當(dāng)兩個(gè)坐標(biāo)的歐式距離大于某個(gè)閾值時(shí),鼠標(biāo)光標(biāo)將按照一定的比例按照橫、縱坐標(biāo)的變化值在電腦屏幕上運(yùn)動(dòng)。
(2)鼠標(biāo)的左、右鍵操作
當(dāng)程序成功識(shí)別到一次有意識(shí)的眨雙眼動(dòng)作時(shí),程序?qū)?zhí)行鼠標(biāo)左鍵單擊一次的操作。當(dāng)成功識(shí)別到一次有意識(shí)的張嘴動(dòng)作時(shí),程序?qū)?zhí)行鼠標(biāo)右鍵單擊一次的操作。
(3)鼠標(biāo)滾輪的移動(dòng)
當(dāng)頭頂和下巴下端兩個(gè)識(shí)別點(diǎn)的橫軸坐標(biāo)差值(inc)大于一個(gè)特定的正值時(shí),程序識(shí)別出用戶在向左歪頭,并執(zhí)行向上滾動(dòng)滾輪的操作。而inc值小于一個(gè)特定的負(fù)值時(shí)(絕對(duì)值和正值相同)程序識(shí)別出用戶在向右歪頭,并執(zhí)行向下滾動(dòng)滾輪的操作。
2.3.3"全局參數(shù)以及調(diào)整
本程序包含了多個(gè)全局變量。這些全局變量控制著程序的具體運(yùn)作,用戶也可以根據(jù)自己的需要以及喜好對(duì)其進(jìn)行修改。下面將對(duì)程序使用到的全局變量以及程序校準(zhǔn)方法進(jìn)行介紹:sensitivity:"在mouse_move()函數(shù)中,為了防止光標(biāo)的抖動(dòng),程序只在檢測(cè)到視點(diǎn)移動(dòng)歐氏距離超過sensitivity值時(shí),程序才會(huì)進(jìn)行光標(biāo)位置的移動(dòng)。用戶可以通過鍵盤輸入“w”和“e”鍵來控制sensitivity的值。考慮到鍵盤使用困難的可能,這一操作可以通過系統(tǒng)自帶的屏幕鍵盤實(shí)現(xiàn)。
eye_thresh:是用于判定眼睛是否閉上的閾值。只有當(dāng)用戶當(dāng)前的e_ratio值小于e_ratiolist列表中值的平均值+eye_thresh值時(shí),程序認(rèn)定用戶開始閉眼,才會(huì)開始累積閉眼判定幀數(shù)。eye_thresh值越大,判定閉眼的標(biāo)準(zhǔn)越高。eye_thresh的值可以通過鍵盤輸入“u”和“d”來修改。
closed_eyes_frame:是判定閉眼幀數(shù)的閾值。當(dāng)e_ratio大于e_ratiolist均值和eye_thresh的和時(shí),程序?qū)?duì)e_ratio連續(xù)小于e_ratiolist均值和eye_thresh的幀數(shù)進(jìn)行判定。若超過了closed_eyes_frame,則執(zhí)行左鍵單擊操作。closed_eyes_frame可以通過鍵盤輸入“j”和“k”來增大或減小。
mouth_thresh:"原理和eye_thresh相近,用戶可以通過鍵盤輸入“v”和“p”來增大或減小mouth_thresh的值。
opened_mouth_frame:"原理和closed_eyes_frame相近,用戶可以通過輸入“m”和“n”來增大或減小opened_mouth_frame的值。
2.4"實(shí)現(xiàn)效果
運(yùn)行程序時(shí),光標(biāo)位置被初始化在屏幕正中心。通過轉(zhuǎn)動(dòng)頭部、張嘴、眨雙眼、以及歪頭的動(dòng)作,我們依次完成選定文件夾、打開右鍵菜單、打開文件夾、向下滾動(dòng)頁(yè)面的操作。過程如圖4所示。
經(jīng)過實(shí)際反復(fù)測(cè)試,光標(biāo)移動(dòng),頁(yè)面滾動(dòng)響應(yīng)快速。程序識(shí)別用戶張嘴動(dòng)作的正確率為100%。程序在用戶不佩戴眼鏡時(shí)識(shí)別用戶眨雙眼動(dòng)作的正確率為88.89%,在用戶佩戴眼鏡時(shí)識(shí)別正確率為82.22%,準(zhǔn)確率較高。與傳統(tǒng)的光標(biāo)操控方式,如鼠標(biāo)、觸摸板、鍵盤控制方法相比,本文提供的面部動(dòng)作控制方法完全擺脫了對(duì)雙手控制的依賴,校準(zhǔn)和調(diào)整也可以通過操作系統(tǒng)內(nèi)置的屏幕鍵盤完成;相比于語(yǔ)音識(shí)別控制光標(biāo),本文提供的方法對(duì)輸入的響應(yīng)更快,操作更加方便、迅速;而相比手勢(shì)控制光標(biāo)方法,本文提供的方法無需手部的任何動(dòng)作,在操作更加輕松的同時(shí)更加符合用戶習(xí)慣。
從人機(jī)交互的發(fā)展進(jìn)程來看,當(dāng)下正處于可以通過語(yǔ)音、手勢(shì)等多樣方式進(jìn)行交互的智能人機(jī)交互階段[14],本文實(shí)現(xiàn)了面部動(dòng)作對(duì)光標(biāo)控制,通過不同的面部動(dòng)作控制光標(biāo),識(shí)別速度快,準(zhǔn)確率較高,性能要求低,在光標(biāo)操作中解放了用戶的雙手,適應(yīng)了更廣泛的使用人群,是智能人機(jī)的交互方式的一個(gè)有益補(bǔ)充。這些智能人機(jī)交互的操作方式越發(fā)多樣,操作效率不斷提高,操作本身的自然性,也就是操作是否符合直覺,也越來越被強(qiáng)調(diào)。這樣的趨勢(shì)與深度學(xué)習(xí)、計(jì)算機(jī)視覺技術(shù)的發(fā)展、使用門檻的降低息息相關(guān)。今后,人機(jī)交互會(huì)繼續(xù)向著多通道的方向發(fā)展,可以讀取、識(shí)別用戶包含言語(yǔ)、表情、手勢(shì)、視線、姿態(tài)等多種信息[15],使得操作效率、便利性以及無障礙程度得到進(jìn)一步的發(fā)展。
3"結(jié)"論
使用Python編程調(diào)用OpenCV和MediaPipe等庫(kù),并通過識(shí)別攝像頭輸入的用戶面部動(dòng)作實(shí)現(xiàn)了光標(biāo)移動(dòng),鼠標(biāo)左鍵、右鍵單擊,滾輪滑動(dòng)的操作。該程序具有識(shí)別準(zhǔn)確率高、響應(yīng)快速、操作簡(jiǎn)單、成本低等優(yōu)點(diǎn)。經(jīng)進(jìn)一步完善后,有望成為一種有發(fā)展前途的替代鼠標(biāo)光標(biāo)操作的實(shí)用技術(shù)。
參考文獻(xiàn)
[1]"董士海."人機(jī)交互的進(jìn)展及面臨的挑戰(zhàn)[J]."計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),"2004(1):1-13.
[2]"李龑,胡立夫,王嘉浩."一種基于OpenCV的殘障人士計(jì)算機(jī)交互系統(tǒng)設(shè)計(jì)[J]."中國(guó)科技信息,2021(17):62-64.
[3]"陳敬宇,徐金,羅容,等."基于手勢(shì)識(shí)別的3D人機(jī)交互系統(tǒng)[J]."現(xiàn)代信息科技,2023,7(22):88-91.
[4]"朱全勝,劉嬈,李衛(wèi)東."語(yǔ)音識(shí)別技術(shù)應(yīng)用于EMS人機(jī)交互初探[J]."電力系統(tǒng)自動(dòng)化,2008(13):45-48+100.
[5]"VASANTHAN"M,"MURUGAPPAN"M,"NAGARAJAN"R,"et"al."Facial"expression"based"computer"cursor"control"system"for"assisting"physically"disabled"person[C]."2012"IEEE"International"Conference"on"Communication,"Networks"and"Satellite"(ComNetSat),"2012:172-176.
[6]"MOHAMED"A"W","KOGGALAGE"R."Control"of"mouse"movements"using"human"facial"expressions"[C]."2007"3rd"International"Conference"on"Information"and"Automation"for"Sustainability,"2007:13-18.
[7]"GYAWAL"P,"ABEER"ALSADOON,PRASAD"P"W"C,"et"al.A"novel"robust"camera"mouse"for"disabled"peoplenbsp;(RCMDP)[C]."2016"7th"International"Conference"on"Information"and"Communication"Systems"(ICICS),"2016:217-220.
[8]"謝鵬."基于OpenCV+MediaPipe實(shí)現(xiàn)運(yùn)動(dòng)姿態(tài)AI檢測(cè)在體育訓(xùn)練中的應(yīng)用[J]."無線互聯(lián)科技,2023,20(18):100-104.
[9]"OpenCV"team."About[EB/OL]."htpp://opencv.org/about,2024.
[10]Google"team."MediaPipe"Solutions"guide."[EB/OL]."htpp://developers.google.com/mediapipe/solutions/guide,"2023-11-09.
[11]Google"team."Face"landmark"detection"guide[EB/OL]."htpp://developers.google.com/mediapipe/solutions/vision/face_landmarker#get_started,2024-1-23."
[12]王福友."基于面部特征的駕駛疲勞檢測(cè)應(yīng)用研究[D].呼和浩特:內(nèi)蒙古工業(yè)大學(xué),2023.
[13]ISCHMELZEISEN"L"S."Understandingmediapipefacemeshoutput[EB/OL].https://github.com/lschmelzeisen/understandingmediapipefacemeshoutput,2022-8-22."
[14]黃進(jìn),韓冬奇,陳毅能,等.混合現(xiàn)實(shí)中的人機(jī)交互綜述[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2016(6).869-880.
[15]賈計(jì)東,張明路.人機(jī)安全交互技術(shù)研究進(jìn)展及發(fā)展趨勢(shì)[J].機(jī)械工程學(xué)報(bào),2020(3).16-30.