• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于DirectShow的目標(biāo)識別系統(tǒng)研究

    2014-04-29 10:09:25邵剛
    電子世界 2014年21期
    關(guān)鍵詞:目標(biāo)識別

    邵剛

    【摘要】運(yùn)動物體自動識別是視覺識別中的重要研究內(nèi)容之一。本文通過介紹DirectShow的視頻圖像處理技術(shù),闡述了DirectShow系統(tǒng)架構(gòu),構(gòu)造了一種目標(biāo)識別運(yùn)動物體系統(tǒng)模型。通過采用過濾技術(shù)實(shí)現(xiàn)復(fù)雜環(huán)境準(zhǔn)確自動物體識別功能,結(jié)合實(shí)驗(yàn)論證了基于DirectShow的目標(biāo)識別物體系統(tǒng)的可行性。最后探討了下一步的研究方向。

    【關(guān)鍵詞】視頻圖像處理;DirectShow;目標(biāo)識別;過濾技術(shù)

    引言

    在社會信息化日益發(fā)展的今天,信息技術(shù)、網(wǎng)絡(luò)技術(shù)、通信技術(shù)以及多媒體技術(shù)已經(jīng)滲透到人類生活的各個(gè)領(lǐng)域中,視頻監(jiān)控以其直觀、方便和內(nèi)容豐富等特點(diǎn),日益受到人們的青睞。視頻監(jiān)控是多媒體、計(jì)算機(jī)網(wǎng)絡(luò)、工業(yè)控制和人工智能等多種技術(shù)的綜合運(yùn)用,目前正從傳統(tǒng)的圖像采集朝著音視頻的數(shù)字化、系統(tǒng)的網(wǎng)絡(luò)化和管理的智能化方向發(fā)展。

    人體檢測和跟蹤是智能視覺監(jiān)控中的重要研究內(nèi)容之一,也是近年來計(jì)算機(jī)視覺領(lǐng)域中備受關(guān)注的前沿方向。對圖像序列中的運(yùn)動人體快速而準(zhǔn)確的檢測和跟蹤是一項(xiàng)十分重要且極具挑戰(zhàn)性的工作,同時(shí)準(zhǔn)確的檢測和跟蹤也是對行為進(jìn)行有效理解的基礎(chǔ)除了視覺監(jiān)控之外,人體檢測和跟蹤在高級人機(jī)交互動畫制作等方面也有著廣泛的應(yīng)用。

    基于智能空間的機(jī)器視覺是計(jì)算機(jī)視覺領(lǐng)域一個(gè)新興的研究方向,它與傳統(tǒng)意義上的系統(tǒng)的區(qū)別在于其智能性。簡單而言,不僅用攝像機(jī)代替人眼,而且用計(jì)算機(jī)替代人協(xié)助人,來完成監(jiān)視或控制任務(wù),從而減輕人的負(fù)擔(dān)。本論文工作的主要任務(wù)就是基于DirectShow技術(shù)的智能識別系統(tǒng)對攝像機(jī)拍錄的圖像序列進(jìn)行自動分析來對被場景中人物的變化進(jìn)行定位、跟蹤和識別,并結(jié)合人體朝向等分析的基礎(chǔ)上判斷有關(guān)目標(biāo)的行為。

    1.DirectShow系統(tǒng)原理

    DirectShow是一套高效的多媒體開發(fā)系統(tǒng),與DirectX開發(fā)包一起發(fā)布。它是建立在組建對象模型(COM)基礎(chǔ)上的,由許多模塊化的組件組成。DirectShow將應(yīng)用程序、復(fù)雜的數(shù)據(jù)傳輸、硬件設(shè)備的差異以及同步等問題隔離開,多媒體軟件開發(fā)者只需要按照統(tǒng)一的COM接口來編寫應(yīng)用程序,從而簡化了在Windows平臺上數(shù)字媒體應(yīng)用程序的開發(fā)任務(wù),DirectShow系統(tǒng)框架應(yīng)用程序與DirectShow系統(tǒng)以及DirectShow所支持的軟件、硬件之間的關(guān)系如圖1所示。

    圖1 DirectShow系統(tǒng)架構(gòu)

    DirectShow主要由Filter Graph構(gòu)成,F(xiàn)ilter Graph中包含了各種Filter,這些Filter在Filter Graph Manager的統(tǒng)一控制下,按一定順序連接在一起,從而使數(shù)據(jù)在由Filte組成的鏈表中流動,圖1中的箭頭表示Filter鏈表中的數(shù)據(jù)流的方向。在DirectShow系統(tǒng)框架外,是與用戶直接交互的應(yīng)用程序。應(yīng)用程序要根據(jù)實(shí)際的功能需求引入相應(yīng)的Filter, 建立Filter Graph, 然后通過Filter GraphManager來控制系統(tǒng)的數(shù)據(jù)處理過程。DirectShow通過事件通知機(jī)制,實(shí)現(xiàn)應(yīng)用程序與Filter Graph Manager之間的交互控制。Filter Graph運(yùn)行的時(shí)候接收到各種事件,通過消息的方式發(fā)送到用戶應(yīng)用程序,用戶應(yīng)用程序則根據(jù)事件類型做出相應(yīng)的處理。

    2.基于DirectShow目標(biāo)識別系統(tǒng)

    2.1 目標(biāo)是識別系統(tǒng)總體框架

    采集圖像端創(chuàng)建一個(gè)Source Filter讀取內(nèi)存緩沖區(qū)數(shù)據(jù),并加入到Filter Graph Manager,F(xiàn)ilter Graph Manager負(fù)責(zé)視頻信息采集,同時(shí)通過數(shù)據(jù)發(fā)送線程將從數(shù)據(jù)流發(fā)送。圖像處理端接受采集端傳送的視頻信息,通過Filter Graph Manager創(chuàng)建一個(gè)filter graph來對圖像幀進(jìn)行控制,見圖2。

    圖2 自動識別系統(tǒng)總體架構(gòu)

    2.2 圖像過濾

    圖像采集和后端圖像處理兩個(gè)部分組成(如圖2)所示。前端圖像采集部分包括:高清攝像機(jī)、傳輸線纜、后端圖像處理部分、數(shù)據(jù)管理和圖像顯示。采用DirectShow提供的輔助組件Capture Graph Builder來創(chuàng)建Filter Graph,流程如圖3所示。

    圖3 Filter Graph Manager創(chuàng)建過程

    在Filter Graph Manager創(chuàng)建完成后,調(diào)用該組件的QueryInterfaces接口,獲取并存儲IMediaControl、IMediaEventEx、IBasicVideo、IBasicAudio、IVideoWindow等接口對象。在多媒體軟件中,利用這些接口對象可以開發(fā)出如圖像預(yù)覽、圖片快照、音視頻播放控制、屏幕控制等具體應(yīng)用。

    用Filter鏈路建立調(diào)用Capture Graph Builder組件的RenderStream接口對PIN_CATEGORY_PREVIEW類型的Pin完成后續(xù)連接,代碼如下:

    ICaptureGraphBuilder *pBuild;

    //第二步獲取的對象

    Capture Graph BuilderIBaseFilter *pCap;

    //第三步獲取的對象

    Videocapture filterhr=pBuild->RenderStream

    (&PIN_CATEGORY_PREVIEW,&MEDIATYPE_Video,

    pCap,NULL,NULL);

    視頻顯示部分調(diào)用IVideoWindow對象進(jìn)行指定窗口的顯示,調(diào)用IMediaControl對象的Run方法控制Filter Graph開始運(yùn)行, 代碼如下:

    RECT winRect;

    //應(yīng)用程序傳入的窗口對象

    IVideoWindow *pIVideoWin;

    //第三步獲取的

    IVideoWindow 對象

    IMediaControl *pIMediaCtrl;

    //第三步獲取的

    IMediaControl對象

    pIVideoWind->put_Left(0);

    pIVideoWind->put_Top(0);

    pIVideoWind->put_Width(winRect.right

    -winRect.left);

    pIVideoWind->put_Height(winRect.bottom

    -winRect.top);

    pIVideoWind->put_WindowStyle(WS_CHILD|WS

    _CLIPCHILDREN|WS_CLIPSIBLINGS);

    pIMediaCtrl->Run();

    目標(biāo)識別系統(tǒng)將上述開發(fā)過程的DirectShow部分封裝為一個(gè)獨(dú)立的類,包括Filter Graph Manager的創(chuàng)建、系統(tǒng)設(shè)備的枚舉以及對設(shè)備各種控制接口的操作等,上層應(yīng)用程序只需實(shí)例化該類的對象,即可調(diào)用該類提供的公共接口。

    2.3 圖像目標(biāo)識別處理

    DirectShow采集進(jìn)來的圖像是BMP格式的。圖像處理的大致流程是:一是灰度化;二是二值化;三是標(biāo)記;四是計(jì)算目標(biāo)區(qū)域位置;五是判決當(dāng)前目標(biāo)是否被命中。本系統(tǒng)的圖像處理采用基于DirectShow系統(tǒng)架構(gòu)的圖像處理流程。圖象處理主要實(shí)現(xiàn)步驟如下:

    (1)初始化COM。

    (2)創(chuàng)建Capture Graph Builder組件 , 獲取 CaptureGraph接口。

    (3)在Filter Graph加入視頻源過濾器。

    (4)在Filter Graph加入AVI Decompressor Filter。

    (5)在Filter Graph加入Sample Grabber Filter并設(shè)置媒體類型、緩沖模式。

    (6)連接各Filter pBuilder->RenderStre

    am(&PIN_CATEGORY_CAPTURE,&MEDIATYPE_Video,m_pFilter,pAviDecompressorF,pGrabberF);

    pBuilder->RenderStream(NULL,&MEDIATY

    PE_Video,pGrabberF,NULL,NULL);

    pBuilder->Release();

    (7)定義一個(gè)類 CSampleGrabberCB: public IsampleGrabberCB在該類中重載 BufferCB方法。在BufferCB中可以加入用戶具體的圖像處理函數(shù)。在類中可以定義一些公用屬性, 用于傳遞相關(guān)參數(shù)。

    (8)設(shè)置Sample Grabber回調(diào)模式CSample-

    GrabberCB CB;//向類CsampleGrabberCB傳遞圖像類型信息。

    CB.Width = vih- >bmiHeader.biWidth;

    CB.Height = vih- >bmiHeader.biHeight;

    FreeMediaType(mt);

    pGrabber- >SetBufferSamples(true);

    pGrabber- >SetOneShot(false);

    pGrabber- >SetCallback(&CB,1);

    (9)用接口對Filter Graph進(jìn)行控制。

    3.實(shí)驗(yàn)結(jié)果與分析

    本實(shí)驗(yàn)使用采集人體運(yùn)動視頻來驗(yàn)證系統(tǒng)的有效性,視頻1是一段正對面向攝像頭行進(jìn)的運(yùn)動人體序列。視頻采集處理的圖像如下圖4所示。從圖上可以清晰的看出人體被標(biāo)黑,并且可以準(zhǔn)確的跟蹤人體運(yùn)動,達(dá)到預(yù)期的目標(biāo)。

    圖4 正對面向鏡頭行進(jìn)的運(yùn)動人體識別圖

    為了進(jìn)一步測試自動識別系統(tǒng)對圖像的處理識別能力,下圖5所示為垂直于鏡頭的運(yùn)動人體序列的情況,自動識別系統(tǒng)依然可以正確識別人體。

    實(shí)驗(yàn)表明采用基于DirectShow的自動人體識別系統(tǒng)可以在不同的角度對運(yùn)動的物體進(jìn)行識別捕獲,具有較好的識別能力和推廣使用價(jià)值。

    4.結(jié)束語

    本文介紹了基于DirectShow的自動識別運(yùn)動系統(tǒng),通過分析DirectShow的視頻圖像處理技術(shù),闡述了DirectShow系統(tǒng)架構(gòu),構(gòu)造了一種目標(biāo)識別物體物體系統(tǒng)。采用過濾技術(shù)實(shí)現(xiàn)復(fù)雜環(huán)境準(zhǔn)確人體識別功能,結(jié)合實(shí)驗(yàn)論證了基于DirectShow的目標(biāo)識別運(yùn)動物體系統(tǒng)的可行性。下一步我們將對圖像處理過濾部分進(jìn)行優(yōu)化設(shè)計(jì),提高過濾效率。

    參考文獻(xiàn)

    [1]Kalman R E.A new approach to linear filtering and prediction problems[J].Journal of Basic Engineering,1960,82D:34-45.

    [2](美)Simon Haykin,鄭寶玉譯.自適應(yīng)濾波器原理[M].北京:電子工業(yè)出版社,2008.

    [3]DirectX 9.0 SDK Document[M].US:Microsoft Corporation,2002.

    猜你喜歡
    目標(biāo)識別
    基于偏振數(shù)字圖像的特征提取及處理方法研究
    一種BCI與SAR融合的目標(biāo)檢測系統(tǒng)設(shè)計(jì)
    Java數(shù)字音頻識別程序
    中國新通信(2017年3期)2017-03-11 21:51:31
    渡口水域安全監(jiān)管技術(shù)研究
    渡口水域安全監(jiān)管技術(shù)研究
    全自動模擬目標(biāo)搜救系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
    動態(tài)場景中的視覺目標(biāo)識別方法分析
    基于PC的視覺解決方案在 Delta機(jī)器人抓放中的應(yīng)用
    移動機(jī)器人圖像目標(biāo)識別
    基于深度學(xué)習(xí)的目標(biāo)反饋?zhàn)R別系統(tǒng)
    乌拉特中旗| 临泉县| 鱼台县| 东乡| 红桥区| 夏邑县| 乌鲁木齐市| 温州市| 崇阳县| 沁阳市| 宜兰市| 金平| 文昌市| 中卫市| 阳高县| 新干县| 驻马店市| 边坝县| 安丘市| 福清市| 四平市| 拜城县| 白玉县| 老河口市| 博乐市| 滨海县| 中超| 峨眉山市| 南安市| 邮箱| 崇明县| 花莲县| 从化市| 商水县| 章丘市| 突泉县| 忻城县| 电白县| 乐陵市| 安吉县| 喀什市|