陳壯煉,林曉樂(lè),陳銀菊,黃秋瑩,李 超
(廣東輕工職業(yè)技術(shù)學(xué)院 信息技術(shù)學(xué)院,廣州 510300)
在現(xiàn)實(shí)生活中,手部障礙給人們帶來(lái)了諸多不便,而且嚴(yán)重影響人們的日常生活。隨著科學(xué)技術(shù)的發(fā)展,手部障礙患者的治療方式愈趨于智能化,如基于數(shù)據(jù)手套的手部遠(yuǎn)程虛擬康復(fù)系統(tǒng)[1-2]和基于觸覺(jué)的虛擬康復(fù)系統(tǒng)[3-4]。前者是利用數(shù)據(jù)手套來(lái)控制虛擬場(chǎng)景中小球的拿捏來(lái)完成手部的訓(xùn)練。該虛擬系統(tǒng)雖然一定程度能達(dá)到手部康復(fù)的目的,但患者在佩戴時(shí)會(huì)有負(fù)重感,容易造成二次傷害,而且數(shù)據(jù)手套價(jià)格較昂貴,不適合普通家庭的使用。后者是利用觸覺(jué)系統(tǒng)和虛擬環(huán)境結(jié)合設(shè)計(jì)出用戶(hù)圖形,患者通過(guò)舉起杯子和擠壓球等動(dòng)作走出“3D迷宮”,完成訓(xùn)練。該康復(fù)系統(tǒng)雖提高了患者訓(xùn)練的積極性,但虛擬設(shè)備價(jià)格較高,而且只能訓(xùn)練某些特定的動(dòng)作,不具備靈活性。
針對(duì)上述手部康復(fù)系統(tǒng)的不足,利用計(jì)算機(jī)視覺(jué)技術(shù)設(shè)計(jì)出的手勢(shì)識(shí)別康復(fù)系統(tǒng)兼具靈活、高識(shí)別準(zhǔn)確率、低成本的特點(diǎn),并且在訓(xùn)練過(guò)程中能與患者進(jìn)行動(dòng)態(tài)交互,通過(guò)數(shù)據(jù)庫(kù)記錄下訓(xùn)練過(guò)程,有助于醫(yī)務(wù)人員針對(duì)該訓(xùn)練過(guò)程給患者制定合理的康復(fù)訓(xùn)練療程。
本文為手部患者設(shè)計(jì)了較靈活、低成本的康復(fù)系統(tǒng)。其系統(tǒng)結(jié)構(gòu)可分為圖像采集、圖像預(yù)處理、圖像分類(lèi)和圖像識(shí)別4個(gè)部分。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 康復(fù)系統(tǒng)結(jié)構(gòu)圖
該系統(tǒng)采用的Python編輯器是PyCharm,該編輯器的好處是能夠提升編程的速度,提高開(kāi)發(fā)效率。主要利用Anaconda對(duì)包進(jìn)行管理,利用開(kāi)源視覺(jué)庫(kù)OpenCV和卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像處理和分類(lèi),sklearn進(jìn)行模型訓(xùn)練,PyQt進(jìn)行GUI界面設(shè)計(jì)和數(shù)據(jù)可視化。
1.2.1 圖像采集
采用PC端攝像頭對(duì)康復(fù)手勢(shì)進(jìn)行拍攝采集,OpenCV會(huì)將采集的圖片會(huì)分割成多個(gè)像素點(diǎn),形成像素圖,再將圖像保存到文件夾,并給文件命名作為圖像的標(biāo)簽。
1.2.2 圖像預(yù)處理
1)圖像分割:
計(jì)算機(jī)視覺(jué)中的攝像頭采集到的是不同等級(jí)的灰度圖像[5],而在很多應(yīng)用中需要的是純黑或純白的圖像,如卷積神經(jīng)網(wǎng)絡(luò)在進(jìn)行圖像的特征提取時(shí)輸入只由簡(jiǎn)單線條、文字組成的圖像,那么在提取的過(guò)程就會(huì)簡(jiǎn)單很多,模型訓(xùn)練的準(zhǔn)確率也會(huì)提高。本文采用局部二值化圖像中的自適應(yīng)閾值二值化算法進(jìn)行圖像分割[6]。
將攝像頭采集的彩色圖片進(jìn)行灰度化后,把灰度圖像進(jìn)行二值化處理。即找到一個(gè)閾值,灰度大于這個(gè)閾值的區(qū)域設(shè)置像素為255,灰度小于這個(gè)閾值的區(qū)域設(shè)置像素為0。自適應(yīng)二值化是針對(duì)光影變化較大的圖片,根據(jù)圖片的灰度直方圖,得到一個(gè)適合該圖像的二值化閾值?;叶戎狈綀D如圖2所示,柱狀形代表灰度直方圖,設(shè)法找到一個(gè)合適的混合高斯分布,兩個(gè)高斯分布相交的灰度值即要選擇的閾值。
本文采用最大類(lèi)間方差法(OTSU)來(lái)計(jì)算圖像二值化的自適應(yīng)閾值,閾值將原圖像分為前景和后景,這里令閾值為T(mén),圖像像素對(duì)應(yīng)的灰度級(jí)為f(x,y),經(jīng)閾值分割后的圖像g(x,y)定義為:
(1)
公式(1)中,1代表前景,0代表后景,即圖像二值化。
當(dāng)選取最佳閾值時(shí),目標(biāo)與背景的差別最大,最大類(lèi)間方差法(OTSU)公式推導(dǎo)如下。
記T為分割閾值,W0為前景點(diǎn)數(shù)占圖像比例,U0為前景平均灰度,W1為后景點(diǎn)數(shù)占圖像比例,U1為后景平均灰度,則圖像的總平均灰度U為:
U=W0*U0+W1*U1
(2)
前景和后景圖像的方差S為:
S=W0*(U0-U)2+W1*(U1-U)2=
W0*W1*(U0-U1)2
(3)
當(dāng)方差S最大時(shí),前景和后景的差別最大,此時(shí)的灰度是最佳閾值。
2)圖像平滑處理:
圖像平滑處理[7]是計(jì)算機(jī)視覺(jué)中一種相對(duì)簡(jiǎn)單并且使用頻率較高的圖像處理方式。常用來(lái)減少圖像中的噪點(diǎn)和降低圖像的分辨率。一張沒(méi)有經(jīng)過(guò)圖像處理的圖像中包含有很多的高頻信息,如噪音和邊界。如果將未經(jīng)處理的圖像直接進(jìn)行卷積運(yùn)算會(huì)帶來(lái)很多不必要的運(yùn)算量,使用濾波器可以有效地去除噪音,達(dá)到圖像模糊的目的。圖像平滑處理一般有圖像均值平滑濾波,高斯濾波和中值濾波,本文采用的是均值平滑濾波。
均值濾波是一種典型的線性濾波算法,是指在圖像上對(duì)目標(biāo)像素值給出一個(gè)濾波模板,該模板包含目標(biāo)像素周?chē)腗*N個(gè)臨近像素,也就是去掉目標(biāo)像素本身,再用該模板中目標(biāo)像素周?chē)南袼仄骄祦?lái)代替原來(lái)像素值。其中M*N的矩陣稱(chēng)為核,采用核對(duì)原始圖像中的像素點(diǎn)進(jìn)行處理,從而實(shí)現(xiàn)圖像去噪,得到結(jié)果圖像。均值濾波處理過(guò)程如圖3所示。
圖3 均值濾波處理過(guò)程
均值濾波處理公式為:
(4)
根據(jù)公式(4)對(duì)圖3中的區(qū)域像素進(jìn)行均值濾波處理過(guò)程為:
((197+25+106+156+159)+(149+40+107+5+71)+(163+198+226+223+156)+(222+37+68+193+157)+(42+72+250+41+75))/25 =125.52
其中,5*5的矩陣為模糊內(nèi)核。本文使用計(jì)算機(jī)視覺(jué)中的blur()方法實(shí)現(xiàn)圖像的平滑處理。
1.2.3 圖像分類(lèi)
計(jì)算機(jī)能看到的是一個(gè)個(gè)像素值,并不能像人類(lèi)的視覺(jué)一樣,可以輕松分辨出圖片里面出現(xiàn)的事物,以及圖片的類(lèi)別,故計(jì)算機(jī)需要通過(guò)圖像分類(lèi)來(lái)區(qū)分圖片?;谟?jì)算機(jī)視覺(jué)的圖像分類(lèi)方法有樸素貝葉斯分類(lèi)、K近鄰、支持向量機(jī)、決策樹(shù)、Boosting、隨機(jī)森林和神經(jīng)網(wǎng)絡(luò)。本文采用神經(jīng)網(wǎng)絡(luò)中的卷積神經(jīng)網(wǎng)絡(luò)圖像分類(lèi)算法[8-9],首先通過(guò)PCA技術(shù)提取樣本圖像特征與待分類(lèi)的圖像特征碼,根據(jù)特征碼生成輸入項(xiàng),樣本所屬標(biāo)簽作為輸出項(xiàng),將輸入與輸出項(xiàng)送入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,讓神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)每個(gè)類(lèi)別圖像的特征,最后將待分類(lèi)圖像的特征碼輸入神經(jīng)網(wǎng)絡(luò)進(jìn)行測(cè)試,根據(jù)神經(jīng)網(wǎng)絡(luò)輸出項(xiàng)判斷其所屬類(lèi)別。
1.2.4 圖像識(shí)別
計(jì)算機(jī)和人的眼睛一樣,都是通過(guò)顏色的輪廓來(lái)區(qū)分圖像,而圖像的顏色由三原色組成的,可以通過(guò)調(diào)色得到各種顏色。在計(jì)算機(jī)圖像識(shí)別中,制定了RGB(Red,Green,Blue)通道作為圖像識(shí)別的基礎(chǔ)。OpenCV中圖像通道有單通道、二通道、三通道和四通道,其中常見(jiàn)通道有單通道和三通道。
一般黑白圖像是用灰度來(lái)表示色彩,稱(chēng)為單通道,例如某個(gè)像素值為0則表示黑色,255則表示白色,灰度的范圍為0~255。彩色圖像則采用RGB通道來(lái)表示,稱(chēng)為三通道,例如(255,255,255)表示白色,(0,0,0)表示黑色,灰度也是彩色的一種。二通道的圖像采用RGB555和RGB565表示,一個(gè)通道為實(shí)數(shù),另一個(gè)為虛數(shù)。四通道則是采用RGBA來(lái)表示,與三通道相比多了一個(gè)A通道,A通道表示透明度。本文圖像識(shí)別采用的是三通道。
康復(fù)系統(tǒng)設(shè)計(jì)主要分為幾個(gè)步驟:1)樣本采集:首先在界面的綠色識(shí)別方框內(nèi)做出不同的手勢(shì),攝像頭識(shí)別到手勢(shì)并將手勢(shì)進(jìn)行拍攝保存到文件夾中,再將文件夾命名為對(duì)應(yīng)手勢(shì)的名稱(chēng)作為手勢(shì)標(biāo)簽。2)圖片預(yù)處理:將采集到的手勢(shì)進(jìn)行圖像分割,形成灰度圖像,以免復(fù)雜背景影響訓(xùn)練的準(zhǔn)確度,再將圖像進(jìn)行均值濾波處理,減少圖像的噪聲。3)神經(jīng)網(wǎng)絡(luò)訓(xùn)練:將處理過(guò)后的圖像通過(guò)卷積、池化和全連接層進(jìn)行特征提取和分類(lèi)。4)模型測(cè)試:在相應(yīng)位置做出對(duì)應(yīng)手勢(shì),觀察屏幕是否顯示該手勢(shì)的標(biāo)簽。5)康復(fù)訓(xùn)練:患者通過(guò)打開(kāi)系統(tǒng)進(jìn)行手部康復(fù)訓(xùn)練,并將對(duì)應(yīng)訓(xùn)練過(guò)程保存到數(shù)據(jù)庫(kù)中。6)康復(fù)歷史查詢(xún):通過(guò)點(diǎn)擊查詢(xún)按鈕,調(diào)用數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)句,將訓(xùn)練過(guò)程顯示到屏幕上。
2.1.1 樣本采集
為了實(shí)現(xiàn)手部康復(fù)的訓(xùn)練,定義并采集了6種手勢(shì),依次是懸垂、二指捏、擊打、柱狀抓握、勾拉、側(cè)捏,建立康復(fù)手勢(shì)數(shù)據(jù)庫(kù)。通過(guò)調(diào)用cv2.VideoCapture(0)方法打開(kāi)PC端攝像頭,輸入采集手勢(shì)的種類(lèi)和訓(xùn)練周期,將采集的手勢(shì)保存到geskind目錄下,然后將同種類(lèi)的手勢(shì)放到一個(gè)文件夾并為其取標(biāo)簽名,方便后續(xù)對(duì)這些手勢(shì)圖像進(jìn)行圖像處理。采集的分別是50歲以上、10到50歲、10歲以下3個(gè)年齡段的人群,一共拍攝70組數(shù)據(jù),共490張手勢(shì)圖片,采集的圖片大小都是306*306,采集條件是室內(nèi)正常光照,采集手勢(shì)對(duì)象的男女比例均衡。圖像采集流程如圖4所示。
圖4 圖像采集
以下是進(jìn)行圖像捕獲關(guān)鍵代碼:
global gestname,sample_nums,path,saveimg if(self.is_camera_opened==False):
QMessageBox.warning(self,'警告','未打開(kāi)攝像頭')
else:
if self.hand_name.text()=="":
gestname=self.hand_example.currentText()
else:
gestname=self.hand_name.text()
sample_nums=self.hand_num.value()
print(gestname+str(sample_nums))
try:
os.makedirs('./geskind/'+gestname)
except OSError as e:
print(gestname + '文件夾已創(chuàng)建')
path ="./geskind/" + gestname + "/"
if gestname =='':
互聯(lián)網(wǎng)背景下會(huì)計(jì)電算化課程改革一方面可以提高人才的理論素質(zhì);另一方面可以增強(qiáng)人才的實(shí)踐技能。與傳統(tǒng)的會(huì)計(jì)核算方式相比,會(huì)計(jì)電算化課程核算的途徑,發(fā)生了明顯的變化。會(huì)計(jì)人才不僅需要充分的了解會(huì)計(jì)專(zhuān)業(yè)的相關(guān)知識(shí),同樣需掌握與會(huì)計(jì)軟件應(yīng)用情況有關(guān)的理論。加強(qiáng)課程改革,是確保教學(xué)能夠達(dá)到上述效果的基礎(chǔ),對(duì)會(huì)計(jì)人才理論素質(zhì)的提高,具有重要價(jià)值。從實(shí)踐的角度分析,會(huì)計(jì)電算化對(duì)人才計(jì)算機(jī)操作水平的要求逐漸提高。學(xué)生必須不斷的練習(xí),并積極利用網(wǎng)絡(luò)資源,方可充分了解當(dāng)前的會(huì)計(jì)政策以及核算方式的變化情況。加強(qiáng)課程改革,是確保學(xué)生的各項(xiàng)實(shí)踐技能,能夠得到充分培養(yǎng)的關(guān)鍵。
print("請(qǐng)先輸入一個(gè)存放文件夾的名字")
else:
saveimg =True
#循環(huán)捕獲圖片
ret,self.frame =self.camera.read()
self.frame =cv2.flip(self.frame,3)
roi =self.binaryMask(self.frame,x0,y0,width,height)
framecount =framecount + 1
為了降低手勢(shì)在訓(xùn)練過(guò)程過(guò)擬合和減少圖片處理時(shí)的計(jì)算量,需要進(jìn)行圖片預(yù)處理。利用Opencv中的cv2.Imread()方法將圖片加載進(jìn)來(lái),再通過(guò)Numpy的array()方法將圖片進(jìn)行歸一化,使其能提高模型的收斂速度和精度,然后使用LabelBinarizer()進(jìn)行二值化處理,將彩色圖像處理成黑白圖像,即二值化灰度圖像,再將二值化灰度圖像用blur()方法進(jìn)行平滑處理,降低圖像噪聲,最后使用pickle.dump(lb,f)將標(biāo)簽數(shù)據(jù)保存為dat文件,方便模型訓(xùn)練和手勢(shì)識(shí)別,具體流程如圖5所示。
圖5 圖像預(yù)處理流程
2.1.3 神經(jīng)網(wǎng)絡(luò)訓(xùn)練
該手部康復(fù)系統(tǒng)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)包含5個(gè)卷積層,3個(gè)池化層和兩個(gè)全連接層。其中5個(gè)卷積層的卷積核尺寸大小都一樣,卷積核個(gè)數(shù)分別是32,64,64,128,128,而且都是采用全零填充和Relu激活函數(shù)。3個(gè)池化層采用的是2*2大小,步長(zhǎng)為2的最大池化操作。在全連接層之前該系統(tǒng)采用了Dropout[10]隨機(jī)丟棄50%神經(jīng)元參數(shù),讓這些參數(shù)不參與當(dāng)前訓(xùn)練而達(dá)到了又一次的防止過(guò)擬合。最后在輸出層采用Softmax函數(shù)對(duì)結(jié)果進(jìn)行分類(lèi)輸出。關(guān)鍵代碼如下:
# 神經(jīng)網(wǎng)絡(luò)構(gòu)建
model =Sequential()
# 第一層卷積和第一層池化
model.add(Conv2D(32,(3,3),padding="same",input_shape=(100,100,3),activation="relu"))
model.add(MaxPooling2D(pool_size=(2,2),strides=(2,2)))
# 第二層卷積
model.add(Conv2D(64,(3,3),padding="same",activation="relu"))
# 第三層卷積和第二層池化
model.add(Conv2D(64,(3,3),padding="same",activation="relu"))
model.add(MaxPooling2D(pool_size=(2,2),strides=(2,2)))
# 第四層卷積
model.add(Conv2D(128,(3,3),padding="same",activation="relu"))
# 第五層卷積和第三層池化
model.add(Conv2D(128,(3,3),padding="same",activation="relu"))
model.add(MaxPooling2D(pool_size=(2,2),strides=(2,2)))
# 全連接層
model.add(Flatten())
model.add(Dense(64,activation="relu"))
# 防止過(guò)擬合
model.add(Dropout(0.5))
# 輸出層(用的是多分類(lèi)的對(duì)數(shù)損失函數(shù)softmax,如果只有兩個(gè)手勢(shì),用sigmoid)
model.add(Dense(class_num,activation="softmax"))
2.1.4 模型測(cè)試
為了保證模型的準(zhǔn)確度,需要對(duì)模型的準(zhǔn)確度進(jìn)行測(cè)試。首先需要使用pickle.load()加載標(biāo)簽數(shù)據(jù),調(diào)用load_model()加載神經(jīng)網(wǎng)絡(luò),使用inverse_transform()將標(biāo)準(zhǔn)化的數(shù)據(jù)轉(zhuǎn)為原始數(shù)據(jù),再調(diào)用cv2.VideoCapture(0)方法打開(kāi)Pc端攝像頭,在界面的綠色區(qū)域內(nèi)做出采集過(guò)的手勢(shì),調(diào)用cv2.putText()將識(shí)別到的手勢(shì)類(lèi)型名稱(chēng)顯示在屏幕上,根據(jù)在綠色識(shí)別區(qū)域作出的手勢(shì)與屏幕上顯示的手勢(shì)類(lèi)型名稱(chēng)是否一致判斷模型的準(zhǔn)確度。重復(fù)進(jìn)行模型測(cè)試,當(dāng)模型測(cè)試達(dá)到高準(zhǔn)確度和高穩(wěn)定性時(shí),就可以把該模型運(yùn)用到手部康復(fù)訓(xùn)練中。關(guān)鍵代碼如下:
#加載標(biāo)簽
try:
with open(LABEL_NAME,"rb")as f:
lb =pickle.load(f)
#加載神經(jīng)網(wǎng)絡(luò)
model=load_model(MODEL_NAME)
except:
print('沒(méi)有'+LABEL_NAME+'和'+MODEL_NAME)
gesture=lb.inverse_transform(prediction)[0]
手部康復(fù)患者首先打開(kāi)康復(fù)訓(xùn)練程序,若是首次使用的患者可以根據(jù)需要錄入各種手勢(shì)。非首次使用可以跳過(guò)錄入手勢(shì)的步驟,設(shè)定好康復(fù)訓(xùn)練的組數(shù)作為一個(gè)療程進(jìn)行康復(fù)訓(xùn)練,在康復(fù)訓(xùn)練中患者需要根據(jù)屏幕上提示的文字信息在界面的綠色區(qū)域中做出對(duì)應(yīng)的手勢(shì),完成療程后結(jié)束康復(fù)訓(xùn)練。訓(xùn)練完畢會(huì)生成數(shù)據(jù)錄入數(shù)據(jù)庫(kù)中,患者可點(diǎn)擊歷史查詢(xún)按鈕查看歷史康復(fù)訓(xùn)練數(shù)據(jù)的反饋,根據(jù)系統(tǒng)記錄判斷患者的訓(xùn)練完成程度對(duì)訓(xùn)練計(jì)劃做出相應(yīng)的調(diào)整,患者可設(shè)定較低組數(shù)作為手部的適應(yīng)性訓(xùn)練,當(dāng)患者適應(yīng)訓(xùn)練強(qiáng)度后可逐步增加訓(xùn)練的難度。循序漸進(jìn)的手部康復(fù)訓(xùn)練,有利于提高患者對(duì)康復(fù)訓(xùn)練的信心和加快患者手部的恢復(fù)速度。
通過(guò)攝像頭拍攝的各種手勢(shì)圖像一般都是RGB圖像,該系統(tǒng)使用了OpenCV技術(shù)把輸入的RGB圖像數(shù)據(jù)經(jīng)過(guò)預(yù)處理轉(zhuǎn)化為灰度圖像,同時(shí)也采用歸一化提升手勢(shì)識(shí)別康復(fù)系統(tǒng)模型的收斂速度和精度。該手部康復(fù)系統(tǒng)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)包含5個(gè)卷積層,3個(gè)池化層和兩個(gè)全連接層。經(jīng)過(guò)5個(gè)僅取圖像數(shù)據(jù)局部特征的卷積層,有效地減少了圖片的長(zhǎng)度和寬度,減少了特征權(quán)值的數(shù)量。3個(gè)一樣的池化層不斷地降低了維數(shù),通過(guò)降采樣的方式,在不影響我們的特征圖像質(zhì)量的情況之下壓縮圖片,從而達(dá)到了減少網(wǎng)絡(luò)中的參數(shù)和計(jì)算次數(shù),縮短了訓(xùn)練時(shí)間等目的,也很好地控制了過(guò)度擬合情況的發(fā)生。最后在全連接層之前該系統(tǒng)也采用了Dropout隨機(jī)丟棄50%神經(jīng)元參數(shù),讓這些參數(shù)不參與當(dāng)前訓(xùn)練而達(dá)到了又一次的防止過(guò)擬合。其中第一個(gè)全連接層也使用了拉直層。由于手勢(shì)識(shí)別康復(fù)過(guò)程中需要訓(xùn)練的手勢(shì)往往是兩個(gè)以上的,所以輸出層用的是輸出值概率總和始終為1的多分類(lèi)的對(duì)數(shù)損失函數(shù)Softmax函數(shù)。該系統(tǒng)的訓(xùn)練過(guò)程中是用總樣本的20%為測(cè)試數(shù)據(jù),剩下的80%為訓(xùn)練數(shù)據(jù)。最終的訓(xùn)練的準(zhǔn)確率可以達(dá)到96%以上。
該系統(tǒng)不僅使用了計(jì)算機(jī)視覺(jué)技術(shù),卷積神經(jīng)網(wǎng)絡(luò)也應(yīng)用在其中,使訓(xùn)練模型的準(zhǔn)確度不斷提高。整個(gè)康復(fù)系統(tǒng)也采用PyQt5設(shè)計(jì)GUI界面,實(shí)現(xiàn)了可視化。以歷史查詢(xún)界面為例,用戶(hù)通過(guò)時(shí)間選擇范圍,查看在各階段的手勢(shì)恢復(fù)數(shù)據(jù)反饋,如訓(xùn)練時(shí)間,訓(xùn)練手勢(shì)種類(lèi),訓(xùn)練周期等數(shù)據(jù)可以幫助醫(yī)生以及患者查看患者在各個(gè)階段的手部恢復(fù)情況,便于醫(yī)生對(duì)恢復(fù)程度進(jìn)行針對(duì)性的康復(fù)訓(xùn)練調(diào)整。由于計(jì)算機(jī)視覺(jué)對(duì)收集手勢(shì)的環(huán)境背景要求比較高,該康復(fù)系統(tǒng)在使用時(shí),最好保證攝像頭開(kāi)啟時(shí)的環(huán)境背景足夠單調(diào),這樣更有利于降低周?chē)h(huán)境對(duì)識(shí)別手勢(shì)的干擾,準(zhǔn)確識(shí)別到手勢(shì),提高訓(xùn)練使用準(zhǔn)確率。
本文設(shè)計(jì)并實(shí)現(xiàn)了基于計(jì)算機(jī)視覺(jué)的手部康復(fù)系統(tǒng),給手部障礙患者提供一個(gè)良好的訓(xùn)練環(huán)境并進(jìn)行有效的康復(fù)訓(xùn)練,提高患者訓(xùn)練的積極性。系統(tǒng)具有以下點(diǎn):采用PyQt設(shè)計(jì)了GUI界面,呈現(xiàn)效果美觀;利用計(jì)算機(jī)視覺(jué)技術(shù)與患者進(jìn)行交互,識(shí)別速度和識(shí)別準(zhǔn)確率較高;患者的訓(xùn)練過(guò)程會(huì)保存到數(shù)據(jù)庫(kù)中,可以隨時(shí)查看訓(xùn)練過(guò)程并做出相應(yīng)的訓(xùn)練調(diào)整。
手勢(shì)康復(fù)訓(xùn)練是近年來(lái)人工智能研究鄰域的熱點(diǎn),對(duì)此我們對(duì)該系統(tǒng)如下展望:提高在復(fù)雜背景下識(shí)別的準(zhǔn)確率;通過(guò)跟相關(guān)醫(yī)院合作,根據(jù)更專(zhuān)業(yè)的醫(yī)護(hù)知識(shí)完善訓(xùn)練手勢(shì)的種類(lèi)、訓(xùn)練過(guò)程設(shè)計(jì)等;進(jìn)一步研究智能決策系統(tǒng),通過(guò)主觀評(píng)估結(jié)果結(jié)合智能決策法,產(chǎn)生康復(fù)訓(xùn)練的初步方案,并將該方法運(yùn)用到游戲訓(xùn)練的過(guò)程中,通過(guò)監(jiān)控當(dāng)前游戲訓(xùn)練中的參數(shù)的變化趨勢(shì),以此作為后續(xù)訓(xùn)練方案制定的依據(jù)。