專利名稱:一種運動檢測的方法
一種運動檢測的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及運動檢測領(lǐng)域,尤其是關(guān)于一種將幀圖像分為多組幀圖像進行運動檢 測的方法。
背景技術(shù):
動態(tài)場視覺監(jiān)控室計算機視覺領(lǐng)域中一個非?;钴S的新興應(yīng)用方向,其不僅用攝 像機代替人眼,而且還用計算機代替人、協(xié)助人來完成監(jiān)視或控制任務(wù)從而減輕人的負(fù)擔(dān)。 視覺監(jiān)控具有廣泛的應(yīng)用前景和潛在的經(jīng)濟價值。視覺監(jiān)控中一個非常重要的研究內(nèi)容就是從監(jiān)控攝像機所捕捉的序列幀圖像中 檢測是否有物體運動。目前,幀圖像運動檢測的常用方法主要有連續(xù)幀間差分法、背景差分 法和光流法。所述連續(xù)幀間差分法對于動態(tài)環(huán)境有很好的適應(yīng)性,其主要思想是將幀圖像 分成若干小塊,計算各小塊的亮度均值,判斷幀間各小塊的變化判斷是否發(fā)生運動。其缺點 是運動判別的分辨率低,使得分塊內(nèi)的運動無法判斷。因此,需要提出一種新的技術(shù)方案來克服上述問題。
發(fā)明內(nèi)容本部分的目的在于概述本發(fā)明的實施例的一些方面以及簡要介紹一些較佳實施 例。在本部分以及本申請的說明書摘要和發(fā)明名稱中可能會做些簡化或省略以避免使本部 分、說明書摘要和發(fā)明名稱的目的模糊,而這種簡化或省略不能用于限制本發(fā)明的范圍。本發(fā)明的目的在于提供一種運動檢測的方法,其降低了運動判別的復(fù)雜度和代 價。根據(jù)本發(fā)明的一方面,本發(fā)明提供一種運動檢測的方法,其包括將幀圖像分成不 重疊的X組分塊;在每相鄰的X幀圖像的第K幀中計算第K組的分塊的圖像表征;計算當(dāng)前 幀圖像的被計算組的各分塊的圖像表征和先前幀圖像的對應(yīng)組的各分塊的圖像表征的差, 并計算該被計算組中的各分塊的圖像表征的差大于圖像表征閾值的分塊個數(shù),在大于圖像 表征閾值的分塊個數(shù)大于個數(shù)閾值時,則判定當(dāng)前幀圖像發(fā)生了運動,其中1 < K < X。進一步的,所述圖像表征包括所述分塊的亮度均值、色度均值或飽和度均值。進一步的,所述分塊的亮度均值定義為Y_mean = sum(Y(i 屬于當(dāng)前分塊))/(mXn),其中,Y(i屬于當(dāng)前分塊)為當(dāng)前分塊內(nèi)各像素點的亮度值,m、n分別為對幀圖像 分組后形成的分塊的寬和高。進一步的,根據(jù)亮度值計算所述各組時間相鄰的幀間差時,所述幀間差定義為dY_mean(I, I,j) = Y_mean(IK, i, j)_Y_mean((I+1)K,i, j) |,其中,I為幀號,Ik和(Ι+Χ)κ為選取標(biāo)記為k組分塊的幀號,i為I-M中任一自然 數(shù),j為I-N中任一自然數(shù),M、N分別為原有幀圖像中分塊的行數(shù)和列數(shù)。進一步的,所述計算各組時間相鄰的幀間差大于閾值的數(shù)目,所述數(shù)目定義為
num_motion = sum(dY_mean (I,i, j) > Thresh_Y,i 為 1_M 之間的任一自然數(shù),j 為I-N之間的任一自然數(shù))),其中M、N分別為原有幀圖像中分塊的行數(shù)和列數(shù)。進一步的,所述分塊的色度均值定義為U_mean = sum(U(i 屬于當(dāng)前分塊))/ (mXn),其中,U(i屬于當(dāng)前分塊)為當(dāng)前分塊內(nèi)各像素點的色度值,m、n分別為對幀圖像 分組后形成的分塊的寬和高。進一步的,根據(jù)色度值計算所述各組時間相鄰的幀間差時,所述幀間差定義為dU_mean(I, I, j) = |U_mean(工K,i, j)_U_mean((I+1)K,i, j) |,其中,I為幀號,Ik和(Ι+Χ)κ為選取標(biāo)記為k組分塊的幀號,i為I-M中任一自然 數(shù),j為I-N中任一自然數(shù),其中,M、N分別為原有幀圖像中分塊的行數(shù)和列數(shù)。進一步的,所述計算各組時間相鄰的幀間差大于閾值的數(shù)目,所述數(shù)目定義為num_motion = sum(dU_mean (I,i, j) > Thresh_U, i 為 1_M 之間的任一自然數(shù),j 為I-N之間的任一自然數(shù))),其中M、N分別為原有幀圖像中分塊的行數(shù)和列數(shù)。進一步的,所述每組的分塊利用同一個數(shù)值進行標(biāo)記。與現(xiàn)有技術(shù)相比,本發(fā)明提高原幀圖像的分辨率,并將幀圖像進行棋盤間隔分塊 分為若干組,在連續(xù)組數(shù)幀間分別計算各組的幀間差,或同時計算各組的幀間差,完成運動 檢測,從而大大降低了計算量,在提高分辨率的前提下不改變運動判別的復(fù)雜度和代價,且 提高運動估計計算速率,提高編碼效率。
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用 的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本 領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其它 的附圖。其中圖1為本發(fā)明中運動檢測的流程圖;圖2為本發(fā)明中棋盤間隔分塊的一個實施例;圖3為圖2中分塊后的四組分塊組;和圖4為本發(fā)明中一實施例的分組圖。
具體實施方式本發(fā)明的詳細(xì)描述主要通過程序、步驟、過程或其他象征性的描述來直接或間接 地模擬本發(fā)明技術(shù)方案的運作。為透徹的理解本發(fā)明,在接下來的描述中陳述了很多特定 細(xì)節(jié)。而在沒有這些特定細(xì)節(jié)時,本發(fā)明則可能仍可實現(xiàn)。所屬領(lǐng)域內(nèi)的技術(shù)人員使用此 處的這些描述和陳述向所屬領(lǐng)域內(nèi)的其他技術(shù)人員有效的介紹他們的工作本質(zhì)。換句話 說,為避免混淆本發(fā)明的目的,由于熟知的方法和程序已經(jīng)容易理解,因此它們并未被詳細(xì) 描述。此處所稱的“一個實施例”或“實施例”是指可包含于本發(fā)明至少一個實現(xiàn)方式中 的特定特征、結(jié)構(gòu)或特性。在本說明書中不同地方出現(xiàn)的“在一個實施例中”并非均指同一 個實施例,也不是單獨的或選擇性的與其他實施例互相排斥的實施例。此外,表示一個或多
4個實施例的方法、流程圖或功能框圖中的模塊順序并非固定的指代任何特定順序,也不構(gòu) 成對本發(fā)明的限制。本發(fā)明將原有的幀圖像分成更多的不重疊的分塊,利用對幀圖像進行棋盤分塊以 分成若干組,即將一個幀分成若干組,將各組時間相鄰的兩幀進行比較以計算幀間差,由此 判定是否發(fā)生運動,大大提高了運動估計計算速率。其具體的過程可參見圖1所示。圖1為本發(fā)明中運動檢測的流程圖,請參閱圖1所示,所述運動檢測方法包括步驟110,對幀圖像進行分組,也就是將幀圖像原有的棋盤間隔分塊分成更多的不 重疊的分塊,并將所述不重疊的放開分為X組。一般的,若原有幀圖像為M行N列的棋盤, 可將幀圖像分成PM行qN列的棋盤分塊,這里則有X = pXq。如將ρ、q取2時,其具體的 可參見圖2所示,圖2為本發(fā)明中棋盤間隔分塊的一個實施例,原有幀圖像為一個四行四列 的一個棋盤,現(xiàn)將其每個分塊再進行分塊,也就是將原有棋盤分塊成了八行八列;然后將原 有幀圖像分塊后進行分組,并用同一個數(shù)值對同組進行標(biāo)記,如圖中的1、2、3和4,最后分 成的四組組成四個幀圖像如圖3所示。在實際應(yīng)用中,可以根據(jù)實際所要達到的效果將各 個分塊分成不同個數(shù)的分塊。步驟120,在每相鄰的X幀圖像的第K幀圖像中計算第K組的各分塊的圖像表征。對所有幀圖像均分塊并對分塊進行分組后,在計算圖像表征的時候需依次在每連 續(xù)的X個幀圖像中選取不同的組來進行計算。即每X個幀圖像為一個周期,在每一個周期 內(nèi)均要在不同的幀圖像中依次選取不同的組以進行各分塊的圖像表征的計算。在一個實施例中,當(dāng)上述X = 4時,則對第1+1幀則計算第1組的各個分塊的圖像 表征,對第1+2幀則計算第2組的各個分塊的圖像表征,對第1+3幀和第1+4幀則分別計算 第3組和第4組的各個分塊的圖像表征;而對于第1+5幀則計算第1組的各個分塊的圖像 表征,下面依次類推。其中所述圖像表征可以為亮度均值、色差均值或飽和度均值。一般的,亮度均值可定義為Y_mean = sum(Y(i屬于當(dāng)前分塊))/(mXn),Y(i屬 于當(dāng)前分塊)為當(dāng)前分塊內(nèi)各像素點的亮度值;色差均值定義為U_mean = sum(U(i屬于 當(dāng)前分塊))/(mXn),U(i屬于當(dāng)前分塊)為當(dāng)前分塊內(nèi)各像素點的色度值;飽和度均值同 樣定義為V_mean = sum(V(i屬于當(dāng)前分塊))/(mXn),V(i屬于當(dāng)前分塊)為當(dāng)前分塊內(nèi) 各像素點的飽和度的值。其中,m、n分別為對幀圖像分組后形成的各個分塊的寬和高。在一個實施例中,若 原有幀圖像為MXN個分塊的幀圖像,現(xiàn)將原有幀圖像分為了 pMXqN個分塊的幀圖像,則 現(xiàn)有幀圖像中每個分塊的寬為m = width/(pM),每個分塊的高為η = height/(qN),其中 width和height分別為幀圖像的寬和高。在一個實施例中,每個組由4行4列的分塊組成,即共有16個分塊,其可參見圖4 所示,在進行亮度均值計算時,首先計算每個分塊(從分塊1到分塊16)內(nèi)各像素點的亮度 值,對每個分塊中各像素點亮度值的求和,然后除以當(dāng)前分塊的分辨率,則得到當(dāng)前分塊的 亮度均值。步驟130,計算當(dāng)前幀圖像的被計算組的各分塊的圖像表征和先前幀圖像的對應(yīng) 組的各分塊的圖像表征的差。具體來說第I幀為先前幀,第I+X幀為當(dāng)前幀,對第I幀和第I+X幀中的對應(yīng)的組均進行幀間差的計算,如第I幀選取第一組進行幀間差的計算,則在第I+X幀也選取第一 組進行幀間差的計算,其將第I幀和第I+X幀對應(yīng)第一組的每個分塊進行比較以計算圖像 表征的差值(即幀間差)。所述對應(yīng)分塊的圖像表征的差值可以通過亮度差、色度差或飽和 度差來計算。—般的,當(dāng)用亮度差計算幀間差時,所述幀間差即幀間亮度差可以定義為dY_ mean(I,i, j) = Yjnean (IK,i,j)-Yjnean ((I+X)K,i,j) |,其中 I 為幀號,Ik 和(Ι+Χ)κ 為選 取標(biāo)記為k組分塊的幀號,i為I-M中任一自然數(shù),j為I-N中任一自然數(shù),即計算各組相鄰 兩幀之間各個分塊的亮度差;幀間色度差可以定義為dU_mean(I,i,j) = U_mean(IK, i, j)-U_mean((I+X)K, i,j) |,其中I為幀號,Ik和(I+X)K為選取標(biāo)記為k組分塊的幀號,i為 I-M中任一自然數(shù),j為I-N中任一自然數(shù),即計算各組相鄰兩幀之間各個分塊的色度差;同 理,飽和度差可以定義為dV_mean(I,i,j) = V_mean(IK, i,j)-V_mean ((I+X)K, i,j) |,其 中I為幀號,Ik和(Ι+Χ)κ為選取標(biāo)記為k組分塊的幀號,i為I-M中任一自然數(shù),j為I-N 中任一自然數(shù),即計算各組相鄰兩幀之間各個分塊的飽和度差。其中,所述M、N分別為原有 幀圖像中棋盤分塊的行數(shù)和列數(shù)。在一個實施例中,在連續(xù)的2X個幀中,分別計算具有相同標(biāo)記的兩幀之間的幀間 差,如當(dāng)X = 4時,則計算第1幀和第5幀之間的幀間差,第2幀和第6幀之間的幀間差,第 3幀和第7幀之間的幀間差,第4幀和第8幀之間的幀間差。若第1幀到第4幀依次選取第 1組到第4組,則其具體為計算第1幀和第5幀中第1組的對應(yīng)的各個分塊之間亮度均值 的差,并取其絕對值,最后將第1組中所有分塊之間的亮度均值的差的絕對值求和,則得到 第1幀和第5幀之間的幀間差;其余對應(yīng)的三組幀依次類推。步驟140,計算各組所述幀間差大于圖像表征閾值的數(shù)目,即計算被計算組中的各 分塊的圖像表征的差大于圖像表征閾值的分塊個數(shù)。具體為將每組當(dāng)前幀和對應(yīng)的先前幀中對應(yīng)分塊均進行圖像表征的計算,得到 差值后再將所述差值與預(yù)設(shè)的圖像表征閾值進行比較,大于所述圖像表征閾值則數(shù)目加1, 最終得到每組中所有大于圖像表征閾值的數(shù)目。(具體的計算將在下面的一個實施例中講 述)這里計算幀間差大于閾值的數(shù)目的計算公式可以定義為根據(jù)幀間亮度差可定義為num_motion= sum(dY_mean(I,i, j) > Thresh_Y,i 為I-M之間的任一自然數(shù),j為I-N之間的任一自然數(shù)));根據(jù)幀間色度差可定義為num_ motion = sum(dU_mean(I,i,j) > Thresh_U, i 為 1_M之間的任一自然數(shù),j 為 1_N之間的任 一自然數(shù)));或根據(jù)幀間飽和度可定義為num_motion = sum(dV_mean(I,i,j) > Thresh_ V,i為I-M之間的任一自然數(shù),j為I-N之間的任一自然數(shù)))。步驟150,判定是否發(fā)生了運動。具體來講通過上述步驟得到了每組中圖像表征大于圖像表征閾值的數(shù)目,現(xiàn)將 每組得到的數(shù)目與個數(shù)閾值進行比較,大于個數(shù)閾值的,也就是說,每組中圖像表征大于所 述圖像表征閾值的總數(shù)目大于所述個數(shù)閾值時,則認(rèn)為當(dāng)前幀相對于先前幀發(fā)生了運動。在一個具體的實施例中,請參閱圖2所示,圖2將幀圖像進行了分塊并分組,也就 是將原來的四行四列的幀圖像分成了八行八列的幀圖像,且將其分為4個組,分別用1、2、 3和4進行了標(biāo)記,標(biāo)記相同值的各分塊為一組。這樣,每塊的分辨率為mXn,其中,m =width/(2 ΧΜ), η = height/(2ΧΝ),width 為幀圖像的寬,height 為幀圖像的高,M = N = 4。從而將幀圖像分為四組MXN的數(shù)組,即四組4X4的數(shù)組,如圖3所示。對第I幀中標(biāo)記為1的第一組進行圖像表征的計算,這里選用小塊的亮度均值來 表征,其具體定義為Y_mean = Sum(Y(i屬于當(dāng)前分塊)/(mXn) ;Y(i屬于當(dāng)前分塊)表示 當(dāng)前分塊內(nèi)各像素的亮度值)。然后,計算時間相鄰的幀間差,對于第一組分塊來講,則第I幀的時間相鄰的幀為 第1+4幀,所述第1+4幀仍選取標(biāo)記為1的第一組分塊進行計算,則它們之間的幀間差為 ClYjiiean(Hj) = Y_mean(I1, i,j)_Y_mean((1+4) i,j) |,其中,I1 禾口 (工+幻工為選取第 一組分塊作為幀間差的幀,i :(l_4),j :(1_4)。也就是說,上式計算選取同樣分組的連續(xù)兩 幀之間的相對應(yīng)各分塊的亮度差值。同理,可計算其它各組在時間相鄰兩幀間的亮度差值。接下來,將上述得到的各組的亮度差值與預(yù)先設(shè)定的圖像表征閾值進行比較,由 于兩個幀中同一塊的亮度值的差大于一定閾值則代表著幀發(fā)生了運動,從而得到各組中亮 度差值大于所述圖像表征閾值的數(shù)目。其具體的計算為num_motion = sum(dY_mean(I, i, j)) > Thresh_Y,i :(1-4),j (1-4),其中,Thresh_Y為亮度差閾值,大于該閾值則說明兩 幀的亮度差值比較大。最后,判定是否發(fā)生了運動,即計算任一組中上述numjiiotion的數(shù)目大于個數(shù)閾 值則認(rèn)為發(fā)生了運動。如閾值設(shè)定為12,由上得到的各組的numjiiotion的數(shù)目分別為5, 7,14,10,則其中第三組的數(shù)目大于個數(shù)閾值,可由此直接判定當(dāng)前幀發(fā)生了運動。在利用亮度值、色度值或飽和度值對幀圖像進行圖像表征時,各個組選用的圖像 表征可以不相同。如,在分別選取第一組到第四組的第1幀到第4幀中,其第一幀可以用亮 度值對其內(nèi)的第一組分塊進行圖像表征,此時對應(yīng)的第5幀在進行計算的時候也需要用亮 度值對其內(nèi)的第一組分塊進行圖像表征,以計算第1幀和第5幀之間的幀間差;第二幀可以 用色度值對其內(nèi)第二組分塊進行圖像表征,此時對應(yīng)的第6幀在進行計算的時候也同樣需 要用色度值對其內(nèi)第二組分塊進行圖像表征,以計算第2幀和第6幀之間的幀間差;其余的 各對應(yīng)幀可類推。由上可知,由于現(xiàn)有技術(shù)的分塊比較大,使得塊內(nèi)的運動無法判斷;而本發(fā)明中的 技術(shù)是將原有幀圖像的分塊再進行分塊,使得分塊比較小,這樣進行塊內(nèi)的運動估計判定 比較精確。且對分塊后進行分組后,選取幀中一組分塊進行計算,其每一幀的計算量均比原 有幀的計算量要小的多,如分組為X組,則此時每一幀的計算量僅為原有幀的1/X。由此可 以看出,本發(fā)明有效的利用提高分辨率來提高分塊內(nèi)的運動估計,并利用分組來保證計算 的復(fù)雜度保持不變。綜上所述,本發(fā)明通過對原有幀圖像進行分塊,并對分塊后的幀圖像進行了分組, 再通過每組來計算時間相鄰的幀間差,提高了塊內(nèi)運動檢測的精度,且降低了運動判別的 復(fù)雜度和代價,并提高了運動估計的效率。上述說明已經(jīng)充分揭露了本發(fā)明的具體實施方式
。需要指出的是,熟悉該領(lǐng)域的 技術(shù)人員對本發(fā)明的具體實施方式
所做的任何改動均不脫離本發(fā)明的權(quán)利要求書的范圍。 相應(yīng)地,本發(fā)明的權(quán)利要求的范圍也并不僅僅局限于前述具體實施方式
。
權(quán)利要求
一種運動檢測的方法,其特征在于,其包括將幀圖像分成不重疊的X組分塊;在每相鄰的X幀圖像的第K幀圖像中計算第K組的各分塊的圖像表征;計算當(dāng)前幀圖像的被計算組的各分塊的圖像表征和先前幀圖像的對應(yīng)組的各分塊的圖像表征的差,并計算該被計算組中的各分塊的圖像表征的差大于圖像表征閾值的分塊個數(shù),在大于圖像表征閾值的分塊個數(shù)大于個數(shù)閾值時,則判定當(dāng)前幀圖像發(fā)生了運動,其中1≤K≤X。
2.根據(jù)權(quán)利要求1所述的運動檢測的方法,其特征在于所述圖像表征包括所述分塊 的亮度均值、色度均值或飽和度均值。
3.根據(jù)權(quán)利要求2所述的運動檢測的方法,其特征在于所述分塊的亮度均值定義為Y_mean = sum(Y(i 屬于當(dāng)前分塊))/(mXn),其中,Y(i屬于當(dāng)前分塊)為當(dāng)前分塊內(nèi)各像素點的亮度值,m、n分別為對幀圖像分組 后形成的分塊的寬和高。
4.根據(jù)權(quán)利要求3所述的運動檢測的方法,其特征在于根據(jù)亮度值計算所述各組時 間相鄰的幀間差時,所述幀間差定義為dY_mean(I, i, j) = |Y_mean(IK, i, j)-Y_mean((I+X)K, i,j) |, 其中,I為幀號,Ik和(I+X)K為選取標(biāo)記為k組分塊的幀號,i為I-M中任一自然數(shù),j 為I-N中任一自然數(shù),M、N分別為原有幀圖像中分塊的行數(shù)和列數(shù)。
5.根據(jù)權(quán)利要求4所述的運動檢測的方法,其特征在于所述計算各組時間相鄰的幀 間差大于閾值的數(shù)目,所述數(shù)目定義為num_motion = sum(dY_mean (I,i, j) > Thresh_Y,i 為 1_M 之間的任一自然數(shù),j 為 I-N之間的任一自然數(shù))),其中Μ、N分別為原有幀圖像中分塊的行數(shù)和列數(shù)。
6.根據(jù)權(quán)利要求2所述的運動檢測的方法,其特征在于所述分塊的色度均值定義為U_mean = sum(U(i 屬于當(dāng)前分塊))/(mXn),其中,U(i屬于當(dāng)前分塊)為當(dāng)前分塊內(nèi)各像素點的色度值,m、n分別為對幀圖像分組 后形成的分塊的寬和高。
7.根據(jù)權(quán)利要求6所述的運動檢測的方法,其特征在于根據(jù)色度值計算所述各組時 間相鄰的幀間差時,所述幀間差定義為dU_mean(I, i, j) = |U_mean(IK, i, j)-U_mean((I+X)K, i,j) |, 其中,I為幀號,Ik和(I+X)K為選取標(biāo)記為k組分塊的幀號,i為I-M中任一自然數(shù),j 為I-N中任一自然數(shù),M、N分別為原有幀圖像中分塊的行數(shù)和列數(shù)。
8.根據(jù)權(quán)利要求7所述的運動檢測的方法,其特征在于所述計算各組時間相鄰的幀 間差大于閾值的數(shù)目,所述數(shù)目定義為num_motion = sum(dU_mean (I,i, j) > Thresh_U, i 為 1_M 之間的任一自然數(shù),j 為 I-N之間的任一自然數(shù))),其中Μ、N分別為原有幀圖像中分塊的行數(shù)和列數(shù)。
9.根據(jù)權(quán)利要求1所述的運動檢測的方法,其特征在于所述每組的分塊利用同一個 數(shù)值進行標(biāo)記。
全文摘要
本發(fā)明提供一種運動檢測的方法,其包括將幀圖像分成不重疊的X組分塊;在每相鄰的X幀圖像的第K幀圖像中計算第K組的各分塊的圖像表征;計算當(dāng)前幀圖像的被計算組的各分塊的圖像表征和先前幀圖像的對應(yīng)組的各分塊的圖像表征的差,并計算該被計算組中的各分塊的圖像表征的差大于圖像表征閾值的分塊個數(shù),在大于圖像表征閾值的分塊個數(shù)大于個數(shù)閾值時,則判定當(dāng)前幀圖像發(fā)生了運動,其中1≤K≤X。
文檔編號H04N5/14GK101951462SQ20101029644
公開日2011年1月19日 申請日期2010年9月29日 優(yōu)先權(quán)日2010年9月29日
發(fā)明者高飛 申請人:無錫中星微電子有限公司