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