本發(fā)明涉及網(wǎng)絡(luò)技術(shù)應(yīng)用領(lǐng)域,特別涉及一種基于機(jī)器視覺的非接觸式人體體征檢測方法及裝置。
背景技術(shù):
心率是臨床檢測生命參數(shù)的重要指標(biāo),現(xiàn)行的方法主要采用接觸式檢測技術(shù),生物醫(yī)學(xué)信號(hào)的接觸式檢測是指利用電極或傳感器直接或間接地接觸人體,達(dá)到檢測醫(yī)學(xué)信息的目的,它可分為對(duì)人體固有信息的檢測(如血壓、心率測量等)和借助外能量的信息檢測(x射線、b超檢測等),檢測過程中對(duì)人體有一定的約束。
非接觸式檢測是指借助于外來能量(探測媒介),不接觸人體,而且隔一定的距離,隔一定的介質(zhì),通過檢測人體生理活動(dòng)所引起的各種微動(dòng),進(jìn)而獲取各類生理信息。非接觸式檢測在檢測過程中不需要對(duì)人體進(jìn)行太多約束,測量過程更為友好,在某些特殊場合能夠做到更為隱蔽的人體生理特征監(jiān)測,甚至于更進(jìn)一步的刑偵審訊中的特殊需求。
非接觸式心率檢測技術(shù),按照采用的手段可以分為視覺檢測技術(shù)與非視覺檢測技術(shù);其中視覺檢測技術(shù)主要為基于成像式光電容積描記技術(shù)(ippg),非視覺檢測技術(shù)主要為光電容積描記技術(shù)(ppg)與基于多普勒原理的雷達(dá)檢測技術(shù)(微波、無線電波與聲波等)。
基于機(jī)器視覺的心率檢測方法已經(jīng)在市場上有產(chǎn)品出現(xiàn),最著名的為飛利浦公司開發(fā)的“生命體征相機(jī)”軟件,該軟件的工作流程為使用攝像頭捕捉固定區(qū)域內(nèi)的人臉部圖像,分析人臉部圖像的顏色變化進(jìn)而得到人體心率的數(shù)值。但是,這種方法的缺點(diǎn)為在測量時(shí)需要被測者保持不動(dòng),從而使得人臉部保持固定,在此種情況下才能分析固定區(qū)域內(nèi)的人臉部面色變化。這種不友好的使用方式使得被測者在使用的過程中體驗(yàn)較差,在一些無法主動(dòng)要求被測者保持固定不動(dòng)的特殊場景下(如審訊、測謊等),則無法正常使用。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問題,本發(fā)明提供了一種基于機(jī)器視覺的非接觸式人體體征檢測方法及裝置。
本發(fā)明提供的基于機(jī)器視覺的非接觸式人體體征檢測方法,包括:
獲取包含人臉信息的視頻圖像,將所述視頻圖像與預(yù)先存儲(chǔ)的若干幀視頻圖像合并,得到待處理圖像序列;
通過預(yù)設(shè)的人臉檢測算法和穩(wěn)像算法確定出所述待處理圖像序列中每幀視頻圖像中的人臉位置;
根據(jù)所述每幀視頻圖像中的人臉位置對(duì)所述待處理圖像序列進(jìn)行歸一化處理,在歸一化處理后的待處理圖像序列中提取出人臉圖像,并根據(jù)所述人臉圖像得到臉部局部圖像矩陣;
利用預(yù)設(shè)的視頻放大算法放大所述臉部局部圖像矩陣的顏色變化,得到放大后的臉部局部圖像序列;
對(duì)所述放大后的臉部局部圖像序列進(jìn)行信號(hào)處理,得到人體體征。
本發(fā)明還提供了一種基于機(jī)器視覺的非接觸式人體體征檢測裝置,包括:
預(yù)處理模塊,用于獲取包含人臉信息的視頻圖像,將所述視頻圖像與預(yù)先存儲(chǔ)的若干幀視頻圖像合并,得到待處理圖像序列;
人臉檢測模塊,用于通過預(yù)設(shè)的人臉檢測算法和穩(wěn)像算法確定出所述待處理圖像序列中每幀視頻圖像中的人臉位置;
臉部局部圖像確定模塊,根據(jù)所述每幀視頻圖像中的人臉位置對(duì)所述待處理圖像序列進(jìn)行歸一化處理,在歸一化處理后的待處理圖像序列中提取出人臉圖像,并根據(jù)所述人臉圖像得到臉部局部圖像矩陣;
放大模塊,用于利用預(yù)設(shè)的視頻放大算法放大所述臉部局部圖像矩陣的顏色變化,得到放大后的臉部局部圖像序列;
信號(hào)處理模塊,用于對(duì)所述放大后的臉部局部圖像序列進(jìn)行信號(hào)處理,得到人體體征。
本發(fā)明有益效果如下:
本發(fā)明實(shí)施例使用常見的網(wǎng)絡(luò)攝像頭或手機(jī)攝像頭拍攝實(shí)時(shí)人臉視頻,通過人臉檢測算法與穩(wěn)像算法確定人臉部位置,通過視頻放大算法放大人臉部局部圖像矩陣的顏色變化,通過信號(hào)處理算法得到精確地實(shí)時(shí)人體心率數(shù)值。為了解決在視頻心率測量中人體頭部自由活動(dòng)產(chǎn)生的問題,本發(fā)明引入了人臉檢測與穩(wěn)像模塊,使被測者在使用中可以在攝像機(jī)拍攝范圍內(nèi)幅度不大的活動(dòng)頭部,并且能夠準(zhǔn)確地獲得被測者的心率數(shù)值。
附圖說明
圖1是本發(fā)明方法實(shí)施例的基于機(jī)器視覺的非接觸式人體體征檢測方法的流程圖;
圖2是本發(fā)明裝置實(shí)施例的基于機(jī)器視覺的非接觸式人體體征檢測裝置的結(jié)構(gòu)示意圖;
圖3是實(shí)例1基于機(jī)器視覺的非接觸式心率檢測裝置的結(jié)構(gòu)示意圖;
圖4是本發(fā)明實(shí)驗(yàn)驗(yàn)證時(shí)得到的第一實(shí)驗(yàn)結(jié)果示意圖;
圖5是本發(fā)明實(shí)驗(yàn)驗(yàn)證時(shí)得到的第二實(shí)驗(yàn)結(jié)果示意圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
為了解決在視頻心率測量中人體頭部自由活動(dòng)產(chǎn)生的問題,本發(fā)明提供了一種基于機(jī)器視覺的非接觸式人體體征檢測方法及裝置,以下結(jié)合附圖以及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不限定本發(fā)明。
根據(jù)本發(fā)明的方法實(shí)施例,提供了一種基于機(jī)器視覺的非接觸式人體體征檢測方法,圖1是本發(fā)明方法實(shí)施例的基于機(jī)器視覺的非接觸式人體體征檢測方法的流程圖,本發(fā)明所述的人體體征包括心率、血壓、呼吸頻率等;如圖1所示,根據(jù)本發(fā)明方法實(shí)施例的基于機(jī)器視覺的非接觸式人體體征檢測方法包括如下處理:
步驟101,獲取包含人臉信息的視頻圖像,將所述視頻圖像與預(yù)先存儲(chǔ)的若干幀視頻圖像合并,得到待處理圖像序列。
步驟102,通過預(yù)設(shè)的人臉檢測算法和穩(wěn)像算法確定出所述待處理圖像序列中每幀視頻圖像中的人臉位置。
具體的,通過預(yù)設(shè)的人臉檢測算法和穩(wěn)像算法確定出所述待處理圖像序列中每幀視頻圖像中的人臉位置,包括:
利用預(yù)設(shè)的人臉檢測算法對(duì)所述待處理圖像序列中的每幀圖像進(jìn)行人臉檢測,得到初步的人臉位置;
通過預(yù)設(shè)的穩(wěn)像算法對(duì)所述初步的人臉位置進(jìn)行修正,得到每幀圖像的人臉位置。
步驟103,根據(jù)所述每幀視頻圖像中的人臉位置對(duì)所述待處理圖像序列進(jìn)行歸一化處理,在歸一化處理后的待處理圖像序列中提取出人臉圖像,并根據(jù)所述人臉圖像得到臉部局部圖像矩陣。
具體的,根據(jù)所述每幀視頻圖像中的人臉位置對(duì)所述待處理圖像序列進(jìn)行歸一化處理,在歸一化處理后的待處理圖像序列中提取出人臉圖像,并根據(jù)所述人臉圖像得到臉部局部圖像矩陣,包括:
采用預(yù)設(shè)的特征點(diǎn)提取算法提取所述待處理圖像序列中每幀視頻圖像的特征點(diǎn),對(duì)所述待處理圖像序列中不屬于人臉位置的特征點(diǎn)的亮度進(jìn)行歸一化處理,得到每幀視頻圖像的亮度歸一化系數(shù);
根據(jù)第i幀視頻圖像的亮度歸一化系數(shù)對(duì)第i幀視頻圖像進(jìn)行調(diào)整,得到歸一化調(diào)整后的第i幀視頻圖像,所述第i幀視頻圖像為待處理圖像序列中的任意一幀視頻圖像;
在歸一化調(diào)整后的第i幀視頻圖像中根據(jù)第i幀視頻圖像中的人臉位置提取人臉圖像;
調(diào)整所述人臉圖像,以使在所有視頻圖像中提取出的人臉圖像大小相同;
根據(jù)調(diào)整后的人臉圖像得到臉部局部圖像矩陣。
步驟104,利用預(yù)設(shè)的視頻放大算法放大所述臉部局部圖像矩陣的顏色變化,得到放大后的臉部局部圖像序列。
具體的,利用預(yù)設(shè)的視頻放大算法放大所述臉部局部圖像矩陣的顏色變化,得到放大后的臉部局部圖像序列,包括:
對(duì)所述臉部局部圖像矩陣序列進(jìn)行多層降采樣,并對(duì)最后的降采樣結(jié)果進(jìn)行帶通濾波;
將帶通濾波后的結(jié)果進(jìn)行放大,得到放大后的信息;
通過與所述多層降采樣相同層級(jí)的升采樣過程將所述放大后的信息嵌入臉部局部圖像序列,得到放大后的臉部局部圖像序列。
步驟105,對(duì)所述放大后的臉部局部圖像序列進(jìn)行信號(hào)處理,得到人體體征。具體的,對(duì)臉部局部圖像序列進(jìn)行信號(hào)處理的方法為本領(lǐng)域的常規(guī)技術(shù)手段,本發(fā)明不再贅述。
本發(fā)明方法實(shí)施例的基于機(jī)器視覺的非接觸式人體體征檢測方法,還包括:顯示所述人體體征的結(jié)果信息。
與本發(fā)明的方法實(shí)施例相對(duì)應(yīng),提供了一種基于機(jī)器視覺的非接觸式人體體征檢測裝置,圖2是本發(fā)明裝置實(shí)施例的基于機(jī)器視覺的非接觸式人體體征檢測裝置的結(jié)構(gòu)示意圖,如圖2所示,根據(jù)本發(fā)明裝置實(shí)施例的基于機(jī)器視覺的非接觸式人體體征檢測裝置包括:預(yù)處理模塊20、人臉檢測模塊22、臉部局部圖像確定模塊24、放大模塊26、信號(hào)處理模塊28;以下對(duì)本發(fā)明實(shí)施例的各個(gè)模塊進(jìn)行詳細(xì)的說明。
所述預(yù)處理模塊20,用于獲取包含人臉信息的視頻圖像,將所述視頻圖像與預(yù)先存儲(chǔ)的若干幀視頻圖像合并,得到待處理圖像序列。
所述人臉檢測模塊22,用于通過預(yù)設(shè)的人臉檢測算法和穩(wěn)像算法確定出所述待處理圖像序列中每幀視頻圖像中的人臉位置。
所述人臉檢測模塊22具體用于:
利用預(yù)設(shè)的人臉檢測算法對(duì)所述待處理圖像序列中的每幀圖像進(jìn)行人臉檢測,得到初步的人臉位置;
通過預(yù)設(shè)的穩(wěn)像算法對(duì)所述初步的人臉位置進(jìn)行修正,得到每幀圖像的人臉位置。
所述臉部局部圖像確定模塊24,根據(jù)所述每幀視頻圖像中的人臉位置對(duì)所述待處理圖像序列進(jìn)行歸一化處理,在歸一化處理后的待處理圖像序列中提取出人臉圖像,并根據(jù)所述人臉圖像得到臉部局部圖像矩陣。
所述臉部局部圖像確定模塊24具體用于:
采用預(yù)設(shè)的特征點(diǎn)提取算法提取所述待處理圖像序列中每幀視頻圖像的特征點(diǎn),對(duì)所述待處理圖像序列中不屬于人臉位置的特征點(diǎn)的亮度進(jìn)行歸一化處理,得到每幀視頻圖像的亮度歸一化系數(shù);
根據(jù)第i幀視頻圖像的亮度歸一化系數(shù)對(duì)第i幀視頻圖像進(jìn)行調(diào)整,得到歸一化調(diào)整后的第i幀視頻圖像,所述第i幀視頻圖像為待處理圖像序列中的任意一幀視頻圖像;
在歸一化調(diào)整后的第i幀視頻圖像中根據(jù)第i幀視頻圖像中的人臉位置提取人臉圖像;
調(diào)整所述人臉圖像,以使在所有視頻圖像中提取出的人臉圖像大小相同;
根據(jù)調(diào)整后的人臉圖像得到臉部局部圖像矩陣。
所述放大模塊26,用于利用預(yù)設(shè)的視頻放大算法放大所述臉部局部圖像矩陣的顏色變化,得到放大后的臉部局部圖像序列。
所述放大模塊26具體用于:
對(duì)所述臉部局部圖像矩陣序列進(jìn)行多層降采樣,并對(duì)最后的降采樣結(jié)果進(jìn)行帶通濾波;
將帶通濾波后的結(jié)果進(jìn)行放大,得到放大后的信息;
通過與所述多層降采樣相同層級(jí)的升采樣過程將所述放大后的信息嵌入臉部局部圖像序列,得到放大后的臉部局部圖像序列。
所述信號(hào)處理模塊28,用于對(duì)所述放大后的臉部局部圖像序列進(jìn)行信號(hào)處理,得到人體體征。
本發(fā)明裝置實(shí)施例的基于機(jī)器視覺的非接觸式人體體征檢測方法,還包括顯示模塊,所述顯示模塊,用于顯示所述人體體征的結(jié)果信息。
為了更加詳細(xì)的說明本發(fā)明的方法實(shí)施例和裝置實(shí)施實(shí)施例,給出實(shí)例1。圖3是實(shí)例1基于機(jī)器視覺的非接觸式心率檢測裝置的結(jié)構(gòu)示意圖,如圖3所示,基于機(jī)器視覺的非接觸式心率檢測裝置包括如下四個(gè)模塊:
模塊一:視頻輸入模塊
該模塊的作用為從攝像設(shè)備中獲取視頻流。
模塊二:視頻預(yù)處理模塊
該模塊的作用為對(duì)模塊一得到的視頻流進(jìn)行預(yù)處理,獲得模塊三能夠處理的臉部局部圖像矩陣。該模塊包含三個(gè)子模塊:
子模塊一:人臉檢測
接收到模塊一傳遞的視頻流之后,首先與內(nèi)存中存儲(chǔ)的之前若干幀圖像合并,得到待處理的圖像序列。對(duì)合并之后的圖像序列中每幀圖像的人臉進(jìn)行檢測,獲得初步的人臉位置信息,通過光流穩(wěn)像算法對(duì)人臉位置進(jìn)行細(xì)微修正,得到優(yōu)化過后的人臉位置信息。
子模塊二:光照調(diào)整
進(jìn)行光照歸一化調(diào)節(jié)。采用特征點(diǎn)提取算法(例如sift、surf、orb等)提取圖像序列每一幀的特征點(diǎn),對(duì)不屬于人臉部區(qū)域的對(duì)應(yīng)位置的特征點(diǎn)的亮度進(jìn)行歸一化處理,得到每幀圖像亮度歸一化系數(shù),從而實(shí)現(xiàn)圖像序列的光照歸一化處理。
子模塊三:區(qū)域確定
在優(yōu)化后的人臉位置信息的基礎(chǔ)上選擇前額與面頰兩部分所對(duì)應(yīng)的圖像像素組成可供模塊三后續(xù)處理的矩陣序列。具體方法是首先對(duì)圖像序列的每幀圖像中提取出的人臉圖像進(jìn)行大小調(diào)整,使所有人臉圖像同樣大小,其次選擇人臉前額與面頰兩部分區(qū)域的像素組合為模塊三能夠處理的矩陣序列。
模塊三:心率信號(hào)處理模塊
該模塊的作用為對(duì)模塊二得到的臉部局部圖像矩陣進(jìn)行處理,獲得模塊四能夠處理的人體心率信息。該模塊包含兩個(gè)子模塊:
子模塊一:視頻放大
接收到模塊二傳遞的臉部局部圖像矩陣后,采用視頻放大算法對(duì)矩陣進(jìn)行處理,實(shí)現(xiàn)有效的放大人臉前額與面頰兩部分的面色變化,具體方法是對(duì)矩陣序列進(jìn)行多層降采樣,對(duì)最后的降采樣結(jié)果進(jìn)行帶通濾波,將濾波后的結(jié)果與放大系數(shù)相乘進(jìn)行放大,在通過與降采樣相同層級(jí)的升采樣過程將放大之后的信息嵌入前額與面頰部分所對(duì)應(yīng)的圖像,得到放大后的臉部局部圖像序列。
子模塊二:信號(hào)處理
對(duì)放大面色后的臉部局部圖像序列進(jìn)行信號(hào)處理,獲得準(zhǔn)確地人體心率數(shù)值。
模塊四:心率結(jié)果輸出模塊
該模塊的作用為輸出被測者的心率信息,可以采用多種方式,例如在可視化界面中顯示被測者的心率曲線,心率數(shù)值等。
本發(fā)明的處理流程包括如下七個(gè)步驟:
步驟一:模塊一接收攝像設(shè)備拍攝的包含人臉部圖像的視頻流,攝像設(shè)備可以采用usb連接、局域網(wǎng)連接等多種連接方式與用于采集視頻信息的計(jì)算機(jī)相連接。用于采集視頻信息的計(jì)算機(jī)通過軟件工具采集并解析視頻流。用于采集視頻信息的計(jì)算機(jī)獲取到視頻流之后將之保存入能夠被模塊二處理的矩陣內(nèi)存中,傳遞給模塊二。
步驟二:模塊二的子模塊一接收模塊一傳遞的矩陣內(nèi)存之后,首先與內(nèi)存中存儲(chǔ)的之前若干幀圖像合并得到圖像序列,對(duì)圖像序列中每幀圖像的人臉進(jìn)行檢測,獲得初步的人臉位置信息。通過光流穩(wěn)像算法對(duì)人臉位置進(jìn)行細(xì)微修正,得到優(yōu)化過后的人臉位置信息。將圖像序列與優(yōu)化過后的人臉位置信息傳遞給模塊二的子模塊二。
步驟三:模塊二的子模塊二接收模塊二的子模塊一傳遞的圖像序列與優(yōu)化過后的人臉位置信息之后,采用特征點(diǎn)提取算法提取圖像序列每一幀的特征點(diǎn),結(jié)合優(yōu)化過后的人臉位置信息,對(duì)不屬于人臉部區(qū)域的對(duì)應(yīng)位置的特征點(diǎn)的亮度進(jìn)行歸一化處理,得到每幀圖像亮度歸一化系數(shù),從而實(shí)現(xiàn)圖像序列的光照歸一化處理。將經(jīng)過光照歸一化處理的圖像序列與優(yōu)化過后的人臉位置信息傳遞給模塊二的子模塊三。
步驟四:模塊二的子模塊三接收模塊二的子模塊二傳遞的經(jīng)過光照歸一化處理的圖像序列與優(yōu)化過后的人臉位置信息后,對(duì)圖像序列的每幀圖像中按照優(yōu)化過后的人臉位置信息提取出的人臉圖像進(jìn)行大小調(diào)整,使所有人臉圖像同樣大小,其次選擇人臉前額與面頰兩部分區(qū)域的像素變換組合為臉部局部圖像矩陣。將臉部局部圖像矩陣傳遞給模塊三。
步驟五:模塊三的子模塊一接收模塊二傳遞的臉部局部圖像矩陣之后,采用視頻放大算法對(duì)矩陣進(jìn)行處理,得到臉部局部圖像序列。將臉部局部圖像序列傳遞給模塊三的子模塊二。
步驟六:模塊三的子模塊二接收模塊三的子模塊一傳遞的臉部局部圖像序列之后,統(tǒng)計(jì)臉部局部圖像序列中每幀圖像的均值(圖像為rgb模式),通過處理獲得對(duì)應(yīng)的心率數(shù)值,將心率數(shù)值傳遞給模塊四。
步驟七:模塊四接收模塊三傳遞的心率數(shù)值之后,將心率數(shù)值以可視化的方式輸出。
本發(fā)明為了在被測者臉部運(yùn)動(dòng)時(shí)能夠正常獲得心率數(shù)值,在通過攝像設(shè)備獲得人臉視頻的基礎(chǔ)上,采用人臉檢測算法與穩(wěn)像算法獲得穩(wěn)定的人臉圖像,解決了其他方法在視頻心率測量中人體頭部自由活動(dòng)導(dǎo)致的測量失效問題。
本發(fā)明在實(shí)驗(yàn)驗(yàn)證時(shí),通過攝像設(shè)備(網(wǎng)絡(luò)攝像頭、監(jiān)控?cái)z像頭等)在自然光照環(huán)境下拍攝室內(nèi)被測者的臉部視頻,拍攝時(shí)被測者頭部會(huì)輕微運(yùn)動(dòng),實(shí)時(shí)輸出被測者的心率數(shù)值。實(shí)驗(yàn)測得的結(jié)果如圖4,圖5所示,可以看出,本發(fā)明能夠較為準(zhǔn)確的測得頭部輕微運(yùn)動(dòng)下的人體心率數(shù)值。
本發(fā)明解決了非接觸狀態(tài)下活動(dòng)人體心率檢測問題。使用常見的網(wǎng)絡(luò)攝像頭或手機(jī)攝像頭拍攝實(shí)時(shí)人臉部視頻,通過人臉檢測算法與穩(wěn)像算法確定人臉部位置,通過視頻放大算法放大人臉部敏感區(qū)域的顏色變化,通過信號(hào)處理算法得到精確地實(shí)時(shí)人體心率數(shù)值。為了解決在視頻心率測量中人體頭部自由活動(dòng)產(chǎn)生的問題,本發(fā)明引入了人臉檢測與穩(wěn)像模塊,使被測者在使用中可以在攝像機(jī)拍攝范圍內(nèi)幅度不大的活動(dòng)頭部,并且能夠準(zhǔn)確地獲得被測者的心率數(shù)值。
以上所述僅為本發(fā)明的實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利要求范圍之內(nèi)。