專利名稱:人的檢測方法和設備的制作方法
技術領域:
本發明涉及人的檢測,更特別地是,涉及一種使用從數字視頻攝像機輸入的圖像進行的人檢測的方法和設備。
背景技術:
現有技術韓國專利公開號為2000-50405和1997-60927的專利揭示了運動檢測方法。韓國專利公開號為2000-50405的專利揭示了一種使用不考慮環境亮度的安全攝像機進行運動檢測的方法。在該方法中,采樣每一個圖像幀,獲取每個被采樣的圖像幀中的像素之間的變化,對前一個圖像幀中像素之間的變化和當前圖像幀中像素之間的變化進行比較,兩個變化之間的差和一個預先確定的參考值進行比較。韓國專利公開號為1997-60927的專利揭示了一種選擇性的記錄設備和方法,其中僅記錄一個攝像機記錄的許多圖像中的一個圖像幀,該圖像幀具有不同于參考圖像的圖像信號。然而,由于這兩種方法使用了兩個連續圖像中像素數值的變化,因此一個即使是因為一種像噪聲一樣的變化,例如照明度中的變動而產生的像素數值中的變化也被檢測作為運動。
韓國專利公開號為1998-82154和2000-61100的專利揭示了一種控制用戶訪問與安全系統相連的特殊服務器的方法。韓國專利公開號為1998-82154的專利揭示了一種用戶識別系統和采用該系統的自動取款機(ATM)。用戶識別系統和自動取款機聯合操作。用戶識別系統通過一個用來記錄自動取款機用戶臉部圖像的監視攝像機獲取一個臉部輪廓,分析臉部輪廓來決定是否某個后來被確定的特征存在于該臉部輪廓中,只有在可以確定的特征存在時,才允許處理用戶的命令。韓國專利公開號為2000-61100的專利揭示了一種在銀行系統中認出用戶臉部的方法。在該方法中,必須確定在給用戶照得的臉部圖像中眼睛和嘴是否可以清晰的監測到。當眼睛和嘴不能夠被清晰的監測,例如,當用戶用手蓋住他/她的臉,戴著帽子或者面具,或者不能展示他/她清晰的臉部外觀時,銀行系統的操作將被中斷,因此可以阻止金融犯罪。然而,盡管提供這兩種方法可以阻止可能的違法行為,不利的是,一個沒有意圖違法但是戴著太陽鏡、面具或者帽子的誠實的人將會不便。
發明內容
本發明提供一種使用數字攝像機的人的檢測方法,通過該方法可以精確的檢測到一個真實的運動,不會被類似噪聲的變化,例如照明度的變化影響,例如個人臉部的信息可以被精確地檢測和存儲,使用數字攝像機獲取的圖像存儲使用效率得到提高。
本發明還提供使用人的檢測方法的人的檢測設備。
按照本發明的一個方面,其提供了一種通過數字視頻攝像機提供的圖像來檢測人的方法。該方法包括(a)初始化用于用戶檢測的參數;(b)決定當前的模式;(c)當決定當前模式為臉部檢測模式時,對眾多圖像幀中的每一幀執行臉部檢測,當經過預先設定的臉部檢測試驗次數后仍然沒有檢測到臉部時,選擇運動檢測模式,并且返回到步驟(b);(d)當決定當前的檢測模式是運動檢測時,同時對預定數目的圖像幀執行運動檢測,當在一個預先設定的時間內至少成功地執行預定數目的運動檢測時,返回到步驟(a)。
優選地,在步驟(c)中包含使用Gabor小波變換檢測臉部選擇區域。
優選地,在步驟(c)中包含使用低分辨率支持矢量機和高分辨率支持矢量機檢測臉部。
按照本發明的另一個方面,提供一種檢測由數字視頻攝像機提供的圖像運動的方法。該方法包括接收多個預定數目的圖像幀;使用時間邊界檢測算法和相對于時間的像素值變化來檢測圖像幀中的運動;決定是否已經檢測到運動;當確定運動已經被檢測時,存儲圖像。
按照本發明的另一個方面,提供一種從數字視頻攝像機提供的圖像中檢測人的設備。該設備包括用于初始化用戶檢測所需參數的裝置;決定當前模式的檢測模式決定裝置;臉部檢測裝置,當決定當前模式是臉部檢測模式時,在眾多圖像幀中的每一幀執行臉部檢測,當經過預定數目的臉部檢測試驗后仍然沒有檢測到臉部時,選擇運動檢測模式;運動檢測裝置,當決定當前模式不是臉部模式時,同時對預定數目的圖像幀執行運動檢測,當在一個預先設定的時間內成功地執行預定數目的運動檢測時,初始化參數。
按照本發明的另外一個方面,提供一種從數字視頻攝像機提供的圖像中檢測運動的設備。該設備包括一個接收預定數目的圖像幀的裝置;使用時間邊界檢測算法和相對于時間的像素值變化來檢測圖像幀中的運動的裝置;決定是否一個運動已經被檢測的裝置;當確定運動已經被檢測時,存儲圖像的裝置。
通過結合附圖對本發明的優選實施例進行詳細描述,本發明的上述和其他特性和優點將會變得更加清楚。
圖1表示一個按照本發明實施例的人的檢測方法的流程圖;圖2表示圖1中所示的步驟S30的具體實施例的流程圖;圖3顯示M形柵格圖;圖4顯示水平方向和垂直方向的柵格間隔;圖5A和5B顯示了改變定義臉部檢測區域的搜索窗口的過程,在該窗口中,臉部檢測在包含使用Gabor小波變換檢測的臉部候選區域和周圍區域的圖像中執行。
圖6表示圖1中所示步驟S40的具體實施例的流程圖;圖7表示圖6中所示步驟S404的具體實施例的流程圖;圖8表示圖7中所示步驟S4040的具體實施例的流程圖;圖9表示按照本發明實施例在安全系統中檢測運動的方法的流程圖;圖10表示按照本發明的實施例的人的檢測設備的方框圖。
具體實施例方式
在下文中,將參照附圖詳細地描述本發明的優選實施例。
本發明關于使用從數字視頻攝像機輸入的圖像所進行的人的檢測方法。最優選的是用來檢測圖像中的個人臉部。本發明的目的是即使臉部不能被準確的檢測也可以檢測圖像中個人的運動和輪廓。為了達到這個目的,本發明包含臉部檢測和運動檢測,兩者補充執行,從而提供一種更加精確和高效的從輸入圖像檢測個人的方法。另外,只有一個被檢測到臉部或者運動的圖像被存儲,因此顯著的提高了存儲器使用效率。
圖1是一個按照本發明的實施例使用數字視頻攝像機進行人的檢測方法的流程圖。該方法包括初始化參數(S10)、決定檢測模式(S20)、檢測臉部(S30)和檢測運動(S40)。
更加特別的,用來檢測人的參數被初始化(S10)。參數包括檢測模式DETECT_MODE,臉部檢測試驗次數COUNT_FD,運動檢測試驗次數COUNT_MD,運動檢測成功次數SUCCESS_MD。這里,“FD”表示臉部檢測,“MD”表示運動檢測。在步驟S10中,所有的參數都被初始化為,例如0。當檢測模式DETECT_MODE是0時,一個使用該方法的系統在臉部檢測模式下操作。當檢測模式DETECT_MODE是1時,安全系統在運動檢測模式下操作。執行臉部檢測和運動檢測的順序在該方法中不重要。然而,為了更清楚地描述,初始化檢測模式DETECT_MODE被設置為0,使得在系統開啟時首先執行臉部檢測。
經過步驟S10,確定檢測模式DETECT_MODE是否為臉部檢測模式(S20)。如果確定該檢測模式DETECT_MODE是臉部檢測模式,則執行臉部檢測(S30)。如果確定檢測模式DETECT_MODE不是臉部檢測模式,則執行運動檢測(S40)。
在步驟S30中,當經過預先設定的臉部檢測試驗次數后仍然沒有檢測到臉部時,選擇運動檢測模式,并且處理回到步驟S20。另外,步驟S30包含使用Gabor小波變換檢測臉部候選區域和使用低分辨率支持矢量機(SVM)和高分辨率SVM檢測臉部。在步驟S40中,運動檢測同時執行于預先設定數量的圖像幀中,當在預先設定的時間段內,至少預定次數的運動檢測成功時,操作將返回到步驟S10。圖2表示圖1所示步驟S30的具體實施例的流程圖。步驟S30的實施例包括接收單個圖像幀,從圖像幀中檢測臉部,當臉部被檢測到時存儲該圖像幀,重復臉部檢測,當從預先設定的任何數目的圖像幀中都沒有檢測到臉部時選擇運動檢測(S300至S320)。
在步驟S30中,在單個圖像幀上執行單個臉部檢測,連續臉部檢測的次數受限于預先設定的閾值TH1。步驟S30中執行的臉部檢測經過三步粗略檢測(S304)、中等檢測(S308)和詳細檢測(S312)。相應地,可以減少臉部檢測消耗的時間,同時,可以保持一個令人滿意的臉部檢測速率。臉部檢測(S30)的操作將參照圖2進行詳細描述。
接收到一個用于臉部檢測的單個圖像幀(S300)。在單個圖像幀上執行單個臉部檢測。
在步驟S300之后,臉部檢測試驗次數COUNT_FD增加1(S302)。步驟S302用來限制連續臉部檢測次數為預先設定的閾值TH1。當一次臉部檢測試驗失敗后使用一個新的圖像幀試驗臉部檢測時,臉部檢測試驗次數COUNT_FD增加1。
在步驟S302后,對臉部候選區域進行檢測(S304)。為了檢測臉部候選區域,建立一個由訓練多個模型臉部圖形所構成的模型臉部數據庫。在步驟S304,使用Gabor小波變換,更加特別地,使用M-柵格Gabor小波變換,將圖像幀與模型臉部數據庫進行比較以檢測一個臉部候選區域。在M-柵格的Gabor小波變換中,訓練模型臉部輪廓的柵格間距可以基于眼珠中間的距離和眼睛和嘴之間的距離來確定。使用M-柵格的Gabor小波變換的步驟S304將參考圖3和圖4詳細介紹。
為了從連續的圖像信號中檢測臉部候選區域,執行許多關于圖像中臉部色彩或者圖形的研究和開發。盡管像素層次的皮膚顏色可以顯著地減少檢測間隔,但是人類皮膚的顏色將根據拍照環境以及光源的方向和強度的變化而改變。在本發明中,使用通過M型柵格的Gabor濾波器響應的相似匹配得到的圖形信息檢測臉部候選區域。
如圖3中所示,M-柵格由一些預先設置的柵格點組成,例如20個柵格點,組成字母M的形狀。柵格點在水平和垂直方向以預先設置的間隔排列。例如,如圖4所示,柵格點的水平間隔可以設置為眼珠中間距離的1/4,垂直方向可以設置為從嘴到兩眼連線的距離的1/3。
使用Gabor小波變換進行臉部候選區域的檢測包括兩步。一步是,訓練包含臉部各種變化的模擬臉部圖像,這里,通過執行訓練將M-柵格結構應用于多個圖像來構成模型臉部數據庫。另一步是,使用M形柵格相似性匹配,對模擬臉部數據庫中的模型臉部和接收到的圖像畫面進行比較。這里,如果確定具有與模型臉部高度近似性的非臉部圖像部分作為執行M-型柵格匹配的結果,甚至一個非臉部圖像部分被作為臉部候選區域進行檢測。
在步驟S304之后,決定是否已經使用M-柵格的Gabor小波變換檢測到臉部候選區域(S306)。根據M-柵格的Gabor小波變換,在圖像中可以被估計為臉部的部分被檢測作為臉部候選區域,不管這部分是不是真正的臉部。換句話說,一個預先設定的部分,即被確定具有屬于整個圖像中的臉部的最大可能性的部分,將被認定為臉部候選區域。這樣,即使當臉部候選區域從圖像中檢測出來,也不能認定圖像中實際上包含一個臉部。因此,一個低分辨率的臉部檢測(S308)和一個高分辨率的臉部檢測(S312)在所檢測的臉部候選區域執行,以便更精確地檢測臉部。然而,如果認定臉部候選區域沒有被檢測到,操作轉到步驟S318,在那里,臉部檢測試驗次數COUNT_FD等于或者大于預先設定的閾值TH1。步驟S308將在后面詳細描述。
在粗略、中等、詳細檢測的分級結構中,上述的使用Gabor小波變換的臉部檢測是最低級的粗略檢測。粗略檢測不提供精確的檢測,但是它對亮度和其他噪聲引起的變化不敏感,因此可以在很短時間內完成。例如,當接收圖像的大小為320×240,目標臉部兩眼之間有40到80個像素,使用奔騰4,1.4GHz的計算機進行粗略檢測需要花費大約170ms。
為了從使用M-柵格匹配所檢測到的臉部候選區域中更精確地檢測臉部,本發明使用基于PCA子空間中訓練的SVM的分類。PCA是主成分分析的縮寫,其將在下文中被描述。以下描述涉及用于步驟S308和S312的基于SVM臉部檢測方法。
臉部圖像不是隨機地分散在高維圖像空間中,因此它們可以由一個低維子空間代表。在基于SVM的分類中,臉部檢測的速度根據支持矢量(SV)的數目變化。本發明的目的之一是提高分類速度。通過選擇恰當數量的支持矢量,可提高分類速度,并且分類性能可以保持令人滿意。本發明采用PCA作為減少臉部尺寸的恰當的方法。一個流傳廣的臉部識別技術是將PCA方法應用于臉部圖像的處理。PCA是一種用于將圖像數據影射到低維特征向量空間中具有最小唯一圖像信息損失,以減少信息的技術。當PCA用于識別臉部,臉部的主成分矢量將從一個輸入圖像中提取出來,并且與預先被訓練和存儲在數據庫中的圖像的主成分矢量進行比較。
基于低分辨率SVM的分類提高了分類的速度。一個圖像在基于低分辨率SVM的分類確定不是臉部時則最終確實不是臉部,然而,即使一個圖像在基于低分辨率SVM的分類被認定為是臉部圖像時,該圖像也可能不是臉部。在該背景下,在步驟S308中使用基于低分辨率SVM的分類就可以高速濾掉非臉部圖像。經過濾的圖像可能包含非臉部圖像。接下來,在步驟S312中經過濾的圖像將通過基于高分辨率SVM的分類精確地濾掉非臉部圖像。換句話而言,只有作為第一層低分辨率結果被分類為臉部的那部分將經過作為第二層高分辨率的分類。因此,在第二層分類處理的圖像數據的數量將大大減少。
例如,一個使用在20×20臉部圖像的20 PCA特征訓練的低分辨率SVM被應用到在步驟S308中使用Gabor小波變換提取的臉部候選區域。之后,利用使用40×40臉部圖像的50 PCA特征訓練的二次多項式內核的高分辨率SVM被應用到步驟S312中。
為了執行一個基于SVM的臉部檢測,必須向系統提供一個經過訓練的臉部數據庫。臉部數據庫通過使用臉部圖像和非臉部圖像進行訓練而建立。在一個低分辨率SVM的訓練中,臉和非臉圖像被調整到預先設定的大小,例如20×20,這樣,矢量的個數是400。只有一個預先設定數量的矢量,例如20個矢量,從400個矢量中選擇出來,作為特征向量,特征向量建立。
下一步,調整位置和刻度來選擇一區域,從該區域中在圖像中檢測到臉部,使用低分辨率SVM檢測臉部。
圖5A和5B表示在包含使用Gabor子波形變換檢測到的臉部候選區域和周圍區域的圖像中為臉部檢測而改變搜索窗口的過程。在使用低分辨率SVM的臉部檢測中,搜索窗口的參考點和搜索窗口參考點的運動范圍根據臉部候選區域的位置和大小決定。參照圖5A,小的劃陰影線的矩形表示臉部候選區域。外圈大的矩形代表臉部檢測區域,在該范圍內使用低分辨率SVM執行臉部檢測。例如,在圖5A中,左上角設置為第一個搜索窗口的參考點,搜索窗口設置為80×80,如圖5B所示。接下來,在搜索窗口中的圖像數據被調整大小為20×20。被調整大小的圖像數據與經過訓練的SV數據結果進行比較以檢測臉部。之后,搜索窗口逐漸擴展,重復地進行調整大小和作比較。當搜索窗口的最大限制設置為160×160,搜索窗口同時在長度和寬度上分別擴展20個像素,搜索窗口從80×80逐步擴展到160×160,訓練和比較被重復進行五次。由于臉部檢測需要在圖5A定義的外部大的矩形區域中執行,搜索窗口的參考點向右和向下移動以擴大搜索窗口,如圖5B所示。當搜索窗口擴大時,臉部檢測重復進行。
在步驟S312中使用高分辨率SVM的臉部檢測按照與步驟S308中使用低分辨率SVM的臉部檢測同樣的方式執行,不同的是調整大小向量的數量和特征向量的數量增加了,結果可以更加精確地檢測臉部。更明確地說,必須向系統提供一個經過訓練的臉部數據庫。臉部數據庫通過使用臉部圖像和非臉部圖像進行訓練而建立。在一個高分辨率SVM的訓練中,臉和非臉數據被調整到預先設定的大小,例如40×40,這樣,矢量的個數是1600。只有一個預先設定數量的矢量,例如50個矢量,從1600個矢量中選擇出來,作為特征向量,特征向量建立。
下一步,調整位置和刻度來選擇一個區域,從該區域中在圖像中檢測到臉部,使用高分辨率SVM檢測到臉部。搜索窗口參考點和它的移動范圍按照與使用如圖5A和5B所示的低分辨率SVM的臉部檢測相同的方式執行,不同的是它們從使用低分辨率SVM檢測到的臉部區域的周邊面積中選擇出來。
如上所述,一種根據本發明檢測臉部的方法包括三步檢測臉部候選區域(S304),使用低分辨率SVM檢測臉部(S308),使用高分辨率SVM檢測臉部(S312),從而,增加臉部檢測的可靠性、準確性和速度。
因此,只有當確定使用高分辨率SVM(S314)檢測的結果是檢測到臉部時才最終決定臉部被檢測到。即使當前圖像幀中實際上不包含臉部,而確定在步驟S314中檢測到臉部時,錯誤報警率(FAR)就會增加。當確定在步驟S314中檢測到臉部,而當前圖像幀中確實包含臉部,臉部檢測率(FDR)就增加。
當在步驟S310或者S314中確定沒有檢測到臉部時,在步驟S318中確定臉部檢測試驗次數COUNT_FD是否等于或者大于預先設定的閾值TH1(參照第一閾值)。第一閾值TH1可以設置為,例如10。
在步驟S318中,操作是否進入運動檢測是基于預先設定的臉部檢測試驗次數和預先設定的時間段而確定的。一個靠近終端的物體是否是一個人不能通過臉部檢測100%地確定。當用戶戴面具或者太陽鏡或者背朝攝像機,即使用戶移動,也很難檢測到臉部。在這種情況下,臉部沒有檢測到,但是必須存儲一個包含運動的圖像。因此,如果基于有限的預先設定的臉部檢測試驗次數,確定從任何預先設定數目的輸入圖像幀中都沒有檢測到臉部時,臉部檢測停止,執行運動檢測。這里,臉部檢測試驗次數COUNT_FD和臉部檢測失敗的次數相等。步驟S318用于限制試驗的次數。當臉部檢測以失敗告終,也就是,當確定在步驟S306中沒有檢測到臉部候選區域時,當確定在步驟S310中作為使用低分辨率SVM的檢測結果沒有檢測到臉部時,或者當確定在步驟S314中作為使用高分辨率SVM的檢測結果沒有檢測到臉部時,在步驟S318中確定臉部檢測試驗次數COUNT_FD是否等于或者大于第一閾值TH1。當確定臉部檢測試驗次數COUNT_FD小于第一閾值TH1時,操作轉到步驟S300。當確定臉部檢測試驗次數COUNT_FD等于或者大于第一閾值TH1時,操作轉到步驟S320。
在步驟S320中,檢測模式DETECT_MODE被設置為“1”,使得模式轉變到運動檢測模式。換句話說,即使經過預先設定的臉部檢測試驗次數(TH1)之后仍然沒有檢測到臉部,模式轉變為運動檢測模式。此后,操作轉到步驟S20。由于檢測模式DETECT_MODE被設置為“1”,根據步驟S20決定的結果執行運動檢測。
其間,當確定在步驟S314中使用高分辨率SVM的檢測結果為檢測到臉部,當前圖像幀被存儲,在步驟S316中臉部檢測試驗次數COUNT_FD被初始化為0。然后,操作進入步驟S300。換句話說,當檢測到臉部時,臉部檢測繼續。
圖6是圖1所示步驟S40中具體實施例的流程圖。步驟S40的具體實施例包括接收預先設定數量的圖像幀;根據時間邊緣檢測算法檢測運動;如果在預先設定的時間內成功執行預定次數的運動監測,則跳轉到臉部檢測;如果沒有,則繼續執行運動檢測(S400到S414)。
在本發明中,基于通過將空間邊緣擴展到時域定義的時間邊緣檢測運動。在預先設定的一段時間內輸入的圖像幀被組成并且定義為運動檢測單元。估計這些圖像幀中的時間變化以檢測運動。
在本發明的具體實施例中,在預先設定的時間段內,通過拍攝一個靠近終端的物體得到的一系列的圖像幀,例如10個圖像幀,將進行單獨的運動檢測。換句話說,運動檢測在預先設定數量的圖像幀單元中執行,例如,10個圖像幀。單個圖像幀包含“n”個具有預設分辨率的像素,因此,當執行單個運動檢測時,對一個關注的像素中10個像素值的時間變化進行估計以決定關注像素是否是一個運動像素。這種估計在“n”個像素上重復執行。
在本發明中,數字攝像機的特征在于每個單位時間預先設定數目的圖像幀。因此,如果每秒取出30幀,大約每秒可以執行3次運動檢測。
現在可以參照圖6詳細地描述圖1中所示的步驟S40的具體實施例。一個預設數目的圖像幀,例如10幀圖像幀,被接收(S400)。接下來,運動檢測試驗次數COUNT_MD加1(S402)。接下來,通過使用時間邊緣檢測算法檢測圖像幀中的運動(S404)。
空間邊緣是兩個具有不同亮度的區域的邊緣。可以用Sobel掩碼、Prewitt掩碼、Laplacian掩碼或者Canny掩碼來檢測空間邊緣。在使用Laplacian掩碼的邊緣檢測中,空間邊緣的概念可以擴展為時間邊緣的概念,因此,在圖像幀中的運動可以使用該時間邊緣檢測法檢測。
圖7是步驟S404的具體實施例的流程圖。步驟S404所示的具體實施例包括通過查找關于時間的拉普拉斯算子零相交來檢測像素,將這些點的局部變化和預設值比較,認為局部變化等于或者大于預先設定的值的像素是運動像素(從S4040到S4044)。
更明確地,在步驟S4040中,使用預設數量的圖像幀檢測通過查找關于時間的拉普拉斯算子零相交確定的像素。
圖8是圖7中步驟S4040的具體實施例流程圖。關于假定接收到2m圖像幀(這里m是一個正整數),每個圖像幀存在n個像素,步驟S4040的具體實施例包括將2m圖像幀分成兩組,一組從f(t1)到f(t2m-1),另一組從f(t2)到f(t2m),獲得這兩組關于時間的拉普拉斯算子,確定拉普拉斯算子的零相交或非零相交(從S4040a到S4040c)。這里,從f(t1)到f(t2m)表示在2m個圖像幀中被處理的當前所關注像素的像素值。步驟S4040a到S4040c重復運行與每一個圖像幀中的像素數目相同的次數,也就是,在單個運動檢測中“n”次。步驟S4040的具體實施例將在下文詳細介紹。
公式(1)和(2)是使用典型的3×3拉普拉斯算子掩碼檢測空間邊緣計算的例子。
2f=4z5-(z2+z4+z6+z8) (1)2f=8z5-(z1+z2+z3+z4+z6+z7+z8+z9) (2)在步驟S4040a中,從一組中f(t1)到f(t2m-1)的每一個圖像幀乘以一個預先設定的權重,然后取平均值,以此可以得到f(tm)時間拉普拉斯算子。為了通過將典型的3×3拉普拉斯算子掩碼擴展為時間域來檢測時間邊緣,包含在一組圖像幀中的圖像幀數設為9。例如,當m=5時,從f(t1)到f(t9)9幀中的每一幀乘以一個預設的權重,然后取平均值,由此得到f(t5)時間拉普拉斯算子,也就是2f(t5)。2f(t5)可以用公式(3)或公式(4)計算。
2f(t5)=4f(t5)-(f(t2)+f(t4)+f(t6)+f(t8))(3)2f(t5)=8f(t5)-(f(t1)+f(t2)+f(t3)+f(t4)+f(t6)+f(t7)+f(t8)+f(t9))(4)另一個像素值的時間拉普拉斯算子被用于檢測具有拉普拉斯算子零相交的像素。因此,在步驟S4040b中,從另一組f(t2)到f(t2m)中的每一個圖像幀乘以一個預先設定的權重,然后取平均值,以此可以得到一個f(tm+1)時間拉普拉斯算子。為了使用典型的3×3拉普拉斯算子掩碼,例如,從f(t2)到f(t10)9個圖像幀中的每一幀乘以一個預設的權重,然后取平均值,于是得到f(t6)時間拉普拉斯算子,也就是2f(t6)。2f(t6)可以用公式(5)或公式(6)計算。
2f(t6)=4f(t6)-(f(t3)+f(t5)+f(t7)+f(t9)) (5)2f(t6)=8f(t6)-(f(t2)+f(t3)+f(t4)+f(t5)+f(t7)+f(t8)+f(t9)+f(t10)) (6)在步驟S4040c中,確定拉普拉斯算子零相交或者非零相交。更明確地,當2f(tm)是負數并且2f(tm+1)是正數時,或者當2f(tm)是正數并且2f(tm+1)是負數時,關注的像素被確定為零相交像素。換句話說,當m=5時,一個零相交像素根據2f(t5)和2f(t6)之間是否出現零相交被確定。當確定零相交發生,一個關注的像素f(tm)就被檢測作為運動像素。
在步驟S4042中,使用預先設定數量的圖像幀來計算像素值關于時間的變化。步驟S4042可以在步驟S4040之后或者與其同步執行。變量σ可以使用公式(7)計算。
σ=Σi=12m-1(x-f(ti))22m-1,]]>x=Σi=12m-1f(ti)2m-1---(7)]]>在步驟S4040和S4042之后,確定通過查找拉普拉斯算子零相交檢測到的每一個像素的變化是否等于或者大于預設閾值,如果確定變化等于或者大于預設閾值,則在步驟S4044確定該像素是運動像素。如果確定變化小于預設閾值,盡管在像素中有隨時間的變化,但確定這種變化是類似噪聲的變化,例如,由亮度,而不是由于物體的實際運動造成的。因為步驟S4044,一種根據本發明檢測運動的方法對類似亮度和環境變化的噪聲是不敏感的。
在步驟S404之后,在步驟S406確定是否檢測到運動。步驟S406可以被具體表達為包含確定在步驟S404中認定為運動像素的像素數量是否等于或者大于預設值,并且確定當運動像素的數量至少是預設值時檢測到運動。
當確定運動已經被檢測時,在步驟S408運動檢測成功次數SUCCESS_MD增加1,并且保存圖像。這里,被存儲的圖像是圖像幀f(tm)。當m=5時,圖像幀f(t5)被存儲。
在步驟S408之后,在步驟S410中確定是否運動檢測試驗次數COUNT_MD小于第三閾值TH3,例如30(COUNT_MD<30),以及運動檢測成功的次數SUCCESS_MD等于或者大于第二閾值TH2,例如10(SUCCESS_MD≥10)的條件被滿足。如果確定條件滿足,操作返回到S10。換句話說,當條件滿足時,運動檢測模式的目的被實現。當預設運動檢測次數在預設的時間內成功執行,就確定實現了臉部檢測的條件,因為安全系統最終目的是準確地檢測臉部,所以執行臉部檢測。在步驟S10中,所有的參數被初始化,于是操作執行臉部檢測模式。
當在步驟S406中確定了沒有檢測到運動時,或者當確定在步驟S410中的條件沒有滿足時,在步驟S412中,判斷運動檢測試驗次數COUNT_MD是否等于或者大于第三閾值TH3。當確定運動檢測試驗次數COUNT_MD小于第三閾值TH3時,操作轉到步驟S400。
然而,當確定運動檢測試驗次數COUNT_MD等于或者大于第三閾值TH3時,運動檢測試驗次數COUNT_MD和運動檢測成功的次數SUCCESS_MD在步驟S414初始化,于是操作轉到S400。本發明的目的是在“預設時間段內”成功執行預設次數的運動檢測。當開始運動檢測模式之后經過很長時間才檢測到運動,就認為不可能檢測到臉部。因此,當在預定次數運動檢測被成功執行之前預設時間段流逝,也就是,當運動檢測試驗次數COUNT_MD等于或者大于第三閾值TH3時,運動檢測的計數值被初始化,以便執行一個新的運動檢測。
同時,為了高效地檢測用戶,在執行運動檢測當中執行一個臉部檢測是必要的。換句話說,有必要準備一情況,其中靠近終端的用戶在一段時間內不移動。因此,步驟S40可以具體表達為包含在預設的時間內中斷運動檢測,以執行臉部檢測。
由于拉普拉斯算子對噪聲敏感,步驟S404可以進一步包含在步驟S4040中得到像素值的拉普拉斯算子之前,對圖像幀執行一高斯濾波以平滑圖像幀。
圖9是按照本發明具體實施例在安全系統中檢測運動的方法的流程圖。該方法包括接收預設數量的圖像幀,使用時間邊緣檢測算法檢測運動,當在預設的時間內檢測到運動時存儲圖像,當在預設的時間內沒有檢測到運動時繼續運動檢測(從S500到S506)。
更明確地,在步驟S500接收預設數量的圖像幀。接下來,在步驟S502中,使用時間邊緣檢測算法和像素值關于時間的變化來檢測運動。步驟S502可以具體表現為包括圖7中所示的步驟S4040到S4044。
更明確地,步驟S502包括使用預設數量的圖像幀,通過查找關于時間的拉普拉斯算子零相交來檢測像素(步驟S4040)。關于假定接收到2m圖像幀,每幀圖像幀有“n”個像素,步驟S4040可以具體表現為包括圖8所示的步驟S4040a到S4040c。
步驟S4040包括從一組圖像幀f(t1)到f(t2m-1)中的每一個圖像幀乘以一個預先設定的權重,然后對乘積的結果取平均值以此得到2f(tm)(S4040a),從另一組圖像幀f(t2)到f(t2m)中的每一個圖像幀乘以一個預先設定的權重,然后對乘積的結果取平均值以此得到2f(tm+1)(S4040b),當2f(tm)是負數并且2f(tm+1)是正數,或者當2f(tm)是正數并且2f(tm+1)是負數時,關注的像素被確定為零相交像素。這里,從f(t1)到f(t2m)表示被處理的當前所關注像素的像素值。步驟S4040a到S4040c重復“n”次。
在步驟S4040后,在步驟S4042中,使用預設數量圖像幀計算像素值關于時間的變化。檢測運動的方法可以進一步包含在步驟S4040之前對圖像幀執行高斯濾波以平滑圖像幀。
在步驟S4042之后,確定對于每個拉普拉斯算子零相交像素計算的變化是否等于或者大于預設閾值,如果確定變化等于或者大于預設閾值,在步驟S4044確定該像素是運動像素。如果確定變化小于預設閾值,盡管在像素中具有隨時間的變化,但確定這種變化是類似噪聲的變化,例如,亮度,而不是由于物體的實際運動造成的。因為步驟S4044,一種根據本發明檢測運動的方法對類似亮度和環境中的變化的噪聲是不敏感的。
在步驟S502之后,確定在步驟S504中是否檢測到運動。優選地,確定運動像素的數量是否等于或者大于預設的值,當運動像素的數量等于或者大于預設的值時確定檢測到運動。
當確定沒有檢測到運動時,操作轉到步驟S500,并且不存儲圖像。當確定檢測到運動時,在步驟S506中存儲圖像,操作進入步驟S500。
圖10是按照本發明的具體實施例用于檢測人的設備20的方框圖。設備20包括臉部檢測單元200,用來從由數字視頻攝像機10輸入的圖像檢測臉部;運動檢測單元210,用來檢測運動;控制單元220,用來控制臉部檢測和運動檢測;存儲單元230,用來存儲圖像。
臉部檢測單元200響應于從控制單元220接收到的檢測模式信號221,對輸入圖像執行臉部檢測,并且輸出表示臉部檢測成功或者失敗的臉部檢測結果信號222。
響應于從控制單元220接收到的檢測模式信號221,運動檢測單元210同時接收預設數目的圖像幀,使用時間邊緣檢測算法執行運動檢測,輸出表示運動檢測結果成功或者失敗的運動檢測結果信號223。
響應于從控制單元220接收到的圖像存儲命令信號224,存儲單元230存儲數字視頻攝像機10輸入的圖像。
控制單元220初始化用于用戶檢測的參數,輸出檢測模式信號221激活臉部檢測單元200或者運動檢測單元210,響應于臉部檢測結果信號222或者運動檢測結果信號223輸出圖像存儲命令信號224,響應于臉部檢測結果信號222累計臉部檢測試驗次數,響應于運動檢測結果信號223累計運動檢測試驗次數和運動檢測成功次數。當臉部檢測試驗次數等于或者大于第一閾值TH1,例如10時,控制單元220輸出高電平的檢測模式信號221以激活運動檢測單元210,在預設的時間段內當運動檢測成功次數等于或者大于第三閾值TH3,例如10時,輸出低電平的檢測模式信號221來激活臉部檢測單元200。
如圖1所示的步驟S10和S20可以通過控制單元220執行。圖1所示的步驟S30由臉部檢測單元200、存儲單元230和控制單元240執行。圖1所示的步驟S40可以由運動檢測單元210、存儲單元230和控制單元240執行。
如圖10所示,臉部檢測單元200包括臉部候選區域檢測器201、低分辨率臉部檢測器202、高分辨率臉部檢測器203和臉部檢測結果信號生成器204。
臉部候選區域檢測器201使用M-柵格的Gabor小波變換,從數字視頻攝像機10輸入的圖像中檢測臉部候選區域,輸出被檢測的臉部候選區域,并輸出檢測結果作為第一臉部檢測結果。例如,當檢測臉部候選區域時,第一臉部檢測結果以高電平輸出。但是,當沒有檢測到臉部檢測區域時,第一臉部檢測結果以低電平輸出。如圖2所示的步驟S304和S306可以由臉部候選區域檢測器201來執行。
低分辨率臉部檢測器202使用低分辨率SVM從包含由臉部候選區域檢測器201檢測的臉部候選區域的預設區域檢測臉部區域,輸出被檢測的臉部區域,并且輸出檢測結果作為第二臉部檢測結果。例如,當檢測到低分辨率臉部區域時,第二臉部檢測結果以高電平輸出,但是,當沒有檢測到低分辨率臉部區域時,第二臉部檢測結果以低電平輸出。圖2所示的步驟S308和S310可以通過低分辨率臉部檢測器202執行。
高分辨率臉部檢測器203使用高分辨率SVM從包含由低分辨率臉部檢測器202檢測的低分辨率臉部檢測區域的預設區域檢測臉部區域,并且輸出檢測結果作為第三臉部檢測結果。例如,當檢測到高分辨率臉部區域時,第三臉部檢測結果以高電平輸出。但是,當沒有檢測到高分辨率臉部區域時,第三臉部檢測結果以低電平輸出。圖2所示的步驟S312和S314可以通過高分辨率臉部檢測器203執行。
臉部檢測結果信號生成器204響應于第一到第三臉部檢測結果生成臉部檢測結果信號222。臉部檢測結果信號生成器204可以具體表現為當第一到第三檢測結果的任何一個是低電平時,產生臉部檢測結果信號222為低電平。例如,臉部檢測結果信號生成器204可以用與門來實現,該與門通過輸入端子接收第一到第三臉部檢測結果。
如圖10所示,運動檢測單元210包括邊緣檢測器211、變化計算器212、運動像素檢測器213和運動檢測結果信號生成器214。
邊緣檢測器211通過搜索時間拉普拉斯算子零相交來確定邊緣像素。圖7所示的步驟S4040可以由邊緣檢測器211執行。
變化計算器212計算像素值關于時間的變化。圖7所示的步驟S4042可以由變化計算器212來執行。
當變化計算器212計算的變化等于或者大于預設值時,運動像素檢測器213確定邊緣像素為運動像素。圖7所示的步驟S4044可以由運動像素檢測器213執行。
運動檢測結果信號生成器214根據在圖像幀中的運動像素的數目是否至少為預設值來產生運動檢測結果信號223。例如,運動檢測結果信號生成器214可以具體表現為當運動像素的數量至少為預設值時,產生高電平運動檢測結果信號223;當運動像素數量小于預設值時,產生低電平的運動檢測結果信號223。
如上所述,按照本發明的人的檢測方法和設備,當系統處于操作狀態,臉部檢測和運動檢測是重復地或互補地執行,以便實現所獲圖像的精確檢測,高速度執行和高存儲使用效率。另外,可以不受類似亮度和環境中的變化的噪聲的影響精確地檢測到物體的實際運動。
盡管僅僅描述了本發明的幾個實施例,但對于本領域的技術人員來說,在不偏離本發明的精神和范圍的情況下,可以對其中的一些元件做些改變,本發明的保護范圍在附加的權利要求中限定。
權利要求
1.一種從數字視頻攝像機提供的圖像檢測運動的方法,該方法包括e1.接收預定數目的圖像幀;e2.使用時間邊緣檢測算法和像素值關于時間的變化來檢測在圖像幀中的運動;e3.確定是否檢測到運動;e4.當確定檢測到運動時,存儲圖像。
2.如權利要求1所述的方法,其中步驟e2中包含e20.使用預設數量的圖像幀,通過查找關于時間的拉普拉斯算子的零相交來檢測像素;e22.使用預設數量的圖像幀,計算像素值關于時間的變化;e24.確定計算的每一個拉普拉斯算子零相交像素的變化是否等于或者大于預設值,當確定變化等于或者大于預設值時,確定像素為運動像素。
3.如權利要求2所述的方法,其中當接收到2m幀圖像,每個圖像幀中有“n”個像素時,步驟e20中包含e200.一組圖像幀從f(t1)到f(t2m-1)的每一個乘以一個預先設定的權重,然后對乘積結果取平均,以獲得2f(tm);e202.一組圖像幀從f(t2)到f(t2m)的每一個乘以一個預先設定的權重,然后對乘積結果取平均,以獲得2f(tm+1);e204.當2f(tm)是負數并且2f(tm+1)是正數,或者當2f(tm)是正數并且2f(tm+1)是負數時,確定被關注的像素為零相交像素,其中,從f(t1)到f(t2m)表示被處理的當前關注像素的像素值,從步驟e200到e204重復“n”次。
4.如權利要求2所述的方法,其中步驟e3中包含確定在步驟e2被確定為運動像素的像素數量是否等于或大于預設值,當確定運動像素的數量至少為預設值時,確定檢測到運動。
5.如權利要求2所述的方法,進一步包含在步驟e20之前,對接收圖像幀執行高斯濾波以平滑圖像幀。
6.一種從數字視頻攝像機提供的圖像檢測運動的設備,該設備包括接收預定數目的圖像幀的裝置;使用時間邊緣檢測算法和像素值關于時間的變化來檢測在圖像幀中的運動的裝置;確定是否檢測到運動的裝置;當檢測到運動,存儲圖像的裝置。
7.如權利要求6所述的方法,其中在拍攝的圖像中檢測運動的裝置包含使用預設數量的圖像幀,通過查找關于時間的拉普拉斯算子零相交來檢測像素的裝置;使用預設數量的圖像幀,計算像素值關于時間的變化的裝置;確定計算的每一個拉普拉斯算子零相交像素的變化是否等于或者大于預設值,當確定變化等于或者大于預設值時,確定像素為運動像素的裝置。
8.如權利要求7所述的設備,其中通過查找關于像素坐標和時間的拉普拉斯算子零相交來檢測像素的裝置包含用于將一組圖像幀從f(t1)到f(t2m-1)的每一個乘以一個預先設定的權重,然后取多個乘積結果的平均值,以此得到f(tm)關于時間的拉普拉斯算子,也就是2f(tm)的裝置;用于將另一組圖像幀從f(t2)到f(t2m)的每一個乘以一個預先設定的權重,然后取多個乘積結果的平均值,以此得到f(tm+1)關于時間的拉普拉斯算子,也就是2f(tm+1)的裝置;當2f(tm)是負數并且2f(tm+1)是正數,或者當2f(tm)是正數并且2f(tm+1)是負數時,將關注的像素確定為零相交像素的裝置,其中,接收到2m幀圖像,每幀圖像中有“n”個像素,從f(t1)到f(t2m)表示被處理的當前關注像素的像素值,以上三種裝置的操作重復“n”次。
9.如權利要求7所述的設備,其中確定是否檢測到運動的裝置包括用于確定被確定為運動像素的像素的數目是否等于或者大于預設值,當確定運動像素的數目等于或者大于預設值時,確定檢測到運動的裝置。
10.如權利要求7所述的設備,進一步包含對接收圖像幀執行高斯濾波以平滑圖像幀并且將平滑后的圖像幀傳送到用于檢測所拍攝圖像中運動的裝置的裝置。
全文摘要
提供了一種人的檢測方法和設備。在該方法中,從數字視頻攝像機提供的圖像中檢測人。該方法包括(a)初始化用戶檢測用到的參數;(b)確定當前模式;(c)當確定當前檢測模式為臉部檢測模式時,對每一個圖像幀執行臉部檢測,當即使經過預設臉部試驗次數后仍然沒有檢測到臉部時,選擇運動檢測模式,并返回到步驟(b);(d)當確定當前檢測模式為運動檢測模式時,同時對預設數目的圖像幀執行運動檢測,當在預設時間內至少預設次數運動檢測執行成功后,返回步驟(a)。
文檔編號G06T7/20GK1963839SQ200610143588
公開日2007年5月16日 申請日期2003年12月6日 優先權日2002年12月6日
發明者成映勛, 金泰均 申請人:三星電子株式會社