openCV:背景建模

幀間差分法背景建模

定義

由于場景中的目標(biāo)在運(yùn)動(dòng)夏哭,目標(biāo)的影像在不同圖像幀中的位置不同。該類算法對(duì)時(shí)間上連續(xù)的兩幀圖像進(jìn)行差分運(yùn)算白筹,不同幀對(duì)應(yīng)的像素點(diǎn)相減挖诸,判斷灰度差的絕對(duì)值汁尺,當(dāng)絕對(duì)值超過一定閾值時(shí),即可判斷為運(yùn)動(dòng)目標(biāo)多律,從而實(shí)現(xiàn)目標(biāo)的檢測(cè)功能痴突。

優(yōu)缺點(diǎn)

  • 優(yōu)點(diǎn):算法簡單搂蜓,不易受環(huán)境光線影響
  • 缺點(diǎn):
    • 不能用于運(yùn)動(dòng)的攝像頭中;
    • 無法識(shí)別靜止或運(yùn)動(dòng)速度很慢的目標(biāo)苞也;
    • 運(yùn)動(dòng)目標(biāo)表面有大面積灰度值相似區(qū)域的情況下洛勉,在做差分時(shí)圖像會(huì)出現(xiàn)空洞;

混合高斯模型背景建模

基本原理

  • 在進(jìn)行前景檢測(cè)前如迟,先對(duì)背景進(jìn)行訓(xùn)練,對(duì)圖像中每個(gè)背景采用一個(gè)混合高斯模型進(jìn)行模擬攻走,每個(gè)背景的混合高斯的個(gè)數(shù)可以自適應(yīng)殷勘。
  • 然后在測(cè)試階段,對(duì)新來的像素進(jìn)行GMM匹配昔搂,如果該像素值能夠匹配其中一個(gè)高斯玲销,則認(rèn)為是背景,否則認(rèn)為是前景摘符。
  • 由于整個(gè)過程GMM模型在不斷更新學(xué)習(xí)中贤斜,所以對(duì)動(dòng)態(tài)背景有一定的魯棒性。
  • 最后通過對(duì)一個(gè)有樹枝搖擺的動(dòng)態(tài)背景進(jìn)行前景檢測(cè)逛裤,取得了較好的效果瘩绒。

在視頻中對(duì)于像素點(diǎn)的變化情況通常是符合高斯分布

背景的實(shí)際分布應(yīng)當(dāng)是多個(gè)高斯分布混合在一起,每個(gè)高斯模型也可以帶有權(quán)重

混合高斯模型學(xué)習(xí)方法

  • 1.首先初始化每個(gè)高斯模型矩陣參數(shù)带族。

  • 2.取視頻中T幀數(shù)據(jù)圖像用來訓(xùn)練高斯混合模型锁荔。來了第一個(gè)像素之后用它來當(dāng)做第一個(gè)高斯分布。

  • 3.當(dāng)后面來的像素值時(shí)蝙砌,與前面已有的高斯的均值比較阳堕,如果該像素點(diǎn)的值與其模型均值差在3倍的方差內(nèi),則屬于該分布择克,并對(duì)其進(jìn)行參數(shù)更新恬总。

  • 4.如果下一次來的像素不滿足當(dāng)前高斯分布,用它來創(chuàng)建一個(gè)新的高斯分布肚邢。

混合高斯模型測(cè)試方法

在測(cè)試階段壹堰,對(duì)新來像素點(diǎn)的值與混合高斯模型中的每一個(gè)均值進(jìn)行比較,如果其差值在2倍的方差之間的話道偷,則認(rèn)為是背景缀旁,否則認(rèn)為是前景。將前景賦值為255勺鸦,背景賦值為0并巍。這樣就形成了一副前景二值圖。

import numpy as np
import cv2

#經(jīng)典的測(cè)試視頻
cap = cv2.VideoCapture('test.avi')
#形態(tài)學(xué)操作需要使用
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(3,3))
#創(chuàng)建混合高斯模型用于背景建模
fgbg = cv2.createBackgroundSubtractorMOG2()

while(True):
    ret, frame = cap.read()
    fgmask = fgbg.apply(frame)
    #形態(tài)學(xué)開運(yùn)算去噪點(diǎn)
    fgmask = cv2.morphologyEx(fgmask, cv2.MORPH_OPEN, kernel)
    #尋找視頻中的輪廓
    im, contours, hierarchy = cv2.findContours(fgmask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

    for c in contours:
        #計(jì)算各輪廓的周長
        perimeter = cv2.arcLength(c,True)
        if perimeter > 188:
            #找到一個(gè)直矩形(不會(huì)旋轉(zhuǎn))
            x,y,w,h = cv2.boundingRect(c)
            #畫出這個(gè)矩形
            cv2.rectangle(frame,(x,y),(x+w,y+h),(0,255,0),2)    

    cv2.imshow('frame',frame)
    cv2.imshow('fgmask', fgmask)
    k = cv2.waitKey(150) & 0xff
    if k == 27:
        break

cap.release()
cv2.destroyAllWindows()

混合高斯背景建模.gif
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末换途,一起剝皮案震驚了整個(gè)濱河市懊渡,隨后出現(xiàn)的幾起案子刽射,更是在濱河造成了極大的恐慌,老刑警劉巖剃执,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件誓禁,死亡現(xiàn)場離奇詭異,居然都是意外死亡肾档,警方通過查閱死者的電腦和手機(jī)摹恰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來怒见,“玉大人俗慈,你說我怎么就攤上這事∏菜#” “怎么了闺阱?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長舵变。 經(jīng)常有香客問我酣溃,道長,這世上最難降的妖魔是什么纪隙? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任赊豌,我火速辦了婚禮,結(jié)果婚禮上瘫拣,老公的妹妹穿的比我還像新娘亿絮。我一直安慰自己,他們只是感情好麸拄,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布派昧。 她就那樣靜靜地躺著,像睡著了一般拢切。 火紅的嫁衣襯著肌膚如雪蒂萎。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天淮椰,我揣著相機(jī)與錄音五慈,去河邊找鬼。 笑死主穗,一個(gè)胖子當(dāng)著我的面吹牛泻拦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播忽媒,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼争拐,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了晦雨?” 一聲冷哼從身側(cè)響起架曹,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤隘冲,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后绑雄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體展辞,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年万牺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了罗珍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡脚粟,死狀恐怖靡砌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情珊楼,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布度液,位于F島的核電站厕宗,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏堕担。R本人自食惡果不足惜已慢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望霹购。 院中可真熱鬧佑惠,春花似錦、人聲如沸齐疙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贞奋。三九已至赌厅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間轿塔,已是汗流浹背特愿。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留勾缭,地道東北人揍障。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像俩由,于是被迫代替她去往敵國和親毒嫡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容