基于Aruco碼的機(jī)器人定位系統(tǒng)設(shè)計(jì)_第1頁
基于Aruco碼的機(jī)器人定位系統(tǒng)設(shè)計(jì)_第2頁
基于Aruco碼的機(jī)器人定位系統(tǒng)設(shè)計(jì)_第3頁
基于Aruco碼的機(jī)器人定位系統(tǒng)設(shè)計(jì)_第4頁
基于Aruco碼的機(jī)器人定位系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

PAGEii基于Aruco碼的機(jī)器人定位系統(tǒng)設(shè)計(jì)摘要:機(jī)器人定位是確定其在已知環(huán)境中所處位置的過程,是實(shí)現(xiàn)機(jī)器人自動導(dǎo)航能力的關(guān)鍵,而其中最關(guān)鍵也是最基礎(chǔ)的是找到真實(shí)世界和成像投影之間的對應(yīng)點(diǎn),即機(jī)器人的位置和姿態(tài)估計(jì),這一步通常很困難,因此我們常用自己制作的或基本的標(biāo)識符號來讓這一切變得更容易。目前最為流行的一個(gè)途徑是基于二進(jìn)制平方的Aruco碼標(biāo)記。這種標(biāo)記的主要便利之處在于,一個(gè)標(biāo)識符號提供了足夠多的對應(yīng)(四個(gè)角)來獲取相機(jī)的信息。同樣的,內(nèi)部的二進(jìn)制編碼使得算法非常健壯,允許應(yīng)用錯誤檢測和校正技術(shù)的可能性。本文針對機(jī)器人與目標(biāo)物之間難以相對定位的問題提出了一種基于Aruco碼的機(jī)器人定位系統(tǒng)設(shè)計(jì),進(jìn)行了相機(jī)標(biāo)定及靜態(tài)動態(tài)檢測,并利用Python中的OpenCV庫進(jìn)行代碼編寫完成效果演示。關(guān)鍵詞:Aruco碼;機(jī)器人定位;位置姿態(tài)估計(jì);相機(jī)標(biāo)定;靜態(tài)動態(tài)檢測目錄TOC\o"2-3"\h\z\t"標(biāo)題1,1,次標(biāo)題,1"目錄 ii1 緒論 11.1 課題背景及研究意義 11.2 國內(nèi)外研究現(xiàn)狀 21.2.1視覺檢測技術(shù)研究現(xiàn)狀21.2.2視覺定位技術(shù)研究現(xiàn)狀31.2.3基于二維碼的定位技術(shù)研究現(xiàn)狀41.3 論文的主要研究內(nèi)容 42 機(jī)器人定位和Aruco碼 52.1 機(jī)器人定位 52.1.1機(jī)器人定位技術(shù)62.1.2機(jī)器人定位方法72.2 Aruco碼 82.2.1Aruco碼組成82.2.2標(biāo)記解碼93 Aruco碼的圖像處理123.1 Aruco碼圖像處理的技術(shù)背景123.1.1python123.1.2opencv133.2 Aruco碼圖像處理的方法133.2.1圖像灰度化133.2.2圖像閾值化144 Aruco碼的檢測154.1 相機(jī)標(biāo)定154.1.1攝像頭模型154.1.2畸變矯正164.2 Aruco碼檢測164.2.1靜態(tài)檢測164.2.2動態(tài)檢測18致謝19參考文獻(xiàn)20附錄 1 PAGE10 緒論1.1課題的背景及研究意義近幾十年以來,關(guān)于機(jī)器人的各種技術(shù)得到了跨越式的發(fā)展及應(yīng)用,諸如自動控制理論的研究、現(xiàn)代控制理論的發(fā)展、機(jī)器人導(dǎo)航算法的更新、傳感器精度大大提高等,都支持了機(jī)器人技術(shù)的不斷迭代更新。機(jī)器人憑借自身靈活機(jī)動、占用空間小便于攜帶等優(yōu)點(diǎn)逐漸成為21世界的研究熱點(diǎn),各種機(jī)器人技術(shù)也應(yīng)用到我們生活的方方面面,攝及軍事、民用、商用等用途,比如用于精確制導(dǎo)、救災(zāi)救援、反恐排爆、農(nóng)業(yè)植保、航空航天等領(lǐng)域。相應(yīng)的,也催生了的許多高新技術(shù)機(jī)器人企業(yè),比如美國的3DRobotics,法國的Parrot以及我國的大疆、科沃斯、新松等。同樣,機(jī)器人的發(fā)展也伴隨著計(jì)算機(jī)技術(shù)的進(jìn)步,近年來,計(jì)算機(jī)視覺、深度學(xué)習(xí)、圖像處理等新名詞被提出,相應(yīng)的,人們也越發(fā)關(guān)注機(jī)器人的目標(biāo)識別與定位技術(shù),另一方面,隨著傳統(tǒng)材料被逐漸淘汰,更多的輕型復(fù)合材料被用在機(jī)器人的制造上,這使得機(jī)器人的靈活機(jī)動性能得到了很大的提高,能執(zhí)行更多以前不能執(zhí)行的任務(wù),同樣的,關(guān)于機(jī)器人其他方面的技術(shù),比如衛(wèi)星定位技術(shù),電子通信技術(shù)以及無線控制技術(shù)等,都得到了巨大的發(fā)展,致使人們開發(fā)更加靈活的機(jī)器人定位控制技術(shù)以提高機(jī)器人的自主性。近十幾年的發(fā)展過程中,關(guān)于機(jī)器人的定位問題始終是機(jī)器人領(lǐng)域的主要研究方向及研究難點(diǎn)之一,機(jī)器人只有準(zhǔn)確了解自身在環(huán)境中的位置及姿態(tài),才能成功完成路徑規(guī)劃、避障等任務(wù)。目前機(jī)器人的定位方法主要有2種,第一種是由外部設(shè)備想向機(jī)器人本體提供環(huán)境位置信息,比如用于實(shí)驗(yàn)室的運(yùn)動捕捉系統(tǒng),但這種系統(tǒng)造價(jià)昂貴且抗干擾性弱,所以只能用于特定的場合下,這限制了機(jī)器人的應(yīng)用范圍,基于這種前提,用機(jī)器視覺來估計(jì)機(jī)器人位姿情況的技術(shù)得到了廣泛的關(guān)注。目前,市面上大多數(shù)產(chǎn)品級機(jī)器人的定位控制系統(tǒng)都是通過多顆衛(wèi)星無死角聯(lián)合定位的,但由于距離原因,亦或者在室內(nèi)、高樓間等復(fù)雜環(huán)境下定位信號往往存在延時(shí)性或定位信號缺失從而導(dǎo)致定位精度不高或者定位失敗,這樣機(jī)器人就會變?yōu)橐粋€(gè)機(jī)器,就像人失去視覺一樣,不能實(shí)現(xiàn)自主控制。然而,在現(xiàn)實(shí)情況下,機(jī)器人應(yīng)用的絕大部分場景,例如室內(nèi)物流倉庫、寫字樓間傳遞物品以及發(fā)生自然災(zāi)害的情況下,都需要機(jī)器人自己控制自己,因?yàn)槿说墓ぷ髁渴怯邢薜模@就像工業(yè)機(jī)器人在工廠工作時(shí),人只是起到一個(gè)監(jiān)督及排障等作用一樣。更甚者,在一些特定的工作狀態(tài)下,例如國防領(lǐng)域中,我們用無人機(jī)進(jìn)行偵察、干擾、打擊等任務(wù)時(shí),就需要機(jī)器人完全自主控制,因此,提高機(jī)器人自主控制的能力,是推動機(jī)器人技術(shù)進(jìn)步的關(guān)鍵。本課題建立在沒有戶外運(yùn)動捕捉系統(tǒng)、衛(wèi)星定位系統(tǒng)信號差(諸如室內(nèi)、隧道、橋洞等環(huán)境下)等機(jī)器人與目標(biāo)物難以相對定位的前提下,提出了一種基于Aruco碼的機(jī)器人定位系統(tǒng)設(shè)計(jì)方法,從而為機(jī)器人精確定位提供了支持。在以前,在人們的認(rèn)知中,機(jī)器人彷佛是一個(gè)虛無縹緲的東西,只能在一些科幻電影中看見,但其實(shí)人們無比渴望能在現(xiàn)實(shí)世界中看到它,本文就是為了解決機(jī)器人定位系統(tǒng)造價(jià)高昂,發(fā)明一種價(jià)格低廉且滿足機(jī)器人控制精度要求的定位與姿態(tài)估計(jì)系統(tǒng),具有實(shí)際意義和一定的科研意義。1.2 國內(nèi)外研究現(xiàn)狀1.2.1視覺識別技術(shù)研究現(xiàn)狀視覺識別技術(shù)是當(dāng)下熱門的計(jì)算機(jī)技術(shù)的研究方向之一,是人工智能領(lǐng)域在計(jì)算機(jī)技術(shù)領(lǐng)域的一個(gè)重要延申,它通過計(jì)算機(jī)將真實(shí)世界呈現(xiàn)在我們眼前,是當(dāng)下人們花費(fèi)巨大人力物力研究的一種高新技術(shù)。通過了多年的努力,全世界的科學(xué)家們及各國當(dāng)?shù)氐拇髮W(xué)或者研究機(jī)構(gòu)在視覺識別技術(shù)領(lǐng)域進(jìn)行了廣泛且深入的探索研究,并取得了一系列重大的成果,但許多關(guān)鍵性的問題噩待解決,其中一個(gè)最具挑戰(zhàn)性的課題莫過于對目標(biāo)進(jìn)行識別與定位。目前,在科研及工程領(lǐng)域內(nèi),用于計(jì)算機(jī)視覺技術(shù)的目標(biāo)檢測識別定位技術(shù)的常用方法如下:基于統(tǒng)計(jì)特征的目標(biāo)識別檢測定位這種方法的基本過程是最初經(jīng)過學(xué)習(xí),選取一定量的樣本和非樣本,然后抽象出它們的特征,最后于圖像中的系統(tǒng)特征進(jìn)行辨識。這種方法的優(yōu)點(diǎn)是不需要事前建立目標(biāo)的模型,從而避免了大量的計(jì)算及驗(yàn)證過程,并且如果建立的模型不完整的話,會給后面的實(shí)驗(yàn)帶來誤差并不斷累積,最總造成結(jié)果大大偏離真實(shí)值,該法的常見種類有Boost法、支持向量機(jī)法、神經(jīng)網(wǎng)絡(luò)法等。這種方法也有缺陷,那就是在識別之前,需要選取大量樣本,并對它們進(jìn)行學(xué)習(xí)訓(xùn)練,這一步通常會花費(fèi)大量時(shí)間?;谀0宓哪繕?biāo)檢測識別定位顧名思義,這種方法要預(yù)先定義并設(shè)置一些模板,以便在之后的實(shí)驗(yàn)中能夠根據(jù)所設(shè)模板的特征,成功匹配目標(biāo)物,從而確定目標(biāo)是否存在于所檢測圖像中,如果圖像匹配,能當(dāng)即得到模板在世界坐標(biāo)系中的位置坐標(biāo)。之后結(jié)合預(yù)測算法,就可以預(yù)測目標(biāo)物在接下來會產(chǎn)生什么運(yùn)動,也就是在下一幀圖像中,目標(biāo)可能出現(xiàn)在的地方的位置集合,這種方法最大的優(yōu)點(diǎn)就是讓檢測的范圍盡量小,大大提高效率。(3)基于運(yùn)動的目標(biāo)檢測識別定位這種方法通過對比一個(gè)圖像相鄰的幀的像素值是否發(fā)生變化,且向什么方向變化,這可以作為這個(gè)圖像的某種特征值,然后分析得出目標(biāo)的位置及運(yùn)動狀態(tài),目前這種技術(shù)應(yīng)用在眾多領(lǐng)域,它的優(yōu)點(diǎn)有兩個(gè),一是精確檢測,二是得到在時(shí)間維度上目標(biāo)的所有信息。目前有兩種方法運(yùn)用較成熟,一是差分法,二是光流法。(4)基于特征的目標(biāo)檢測識別定位這種方法同樣要先提取目標(biāo)的所有特征點(diǎn),然后與待識別物體的所有特征點(diǎn)進(jìn)行對比分析,以確定目標(biāo)在圖像中的位置情況?,F(xiàn)存的算法有很多種,其中較為常見的有SIFT法、SUFT法、FAST法以及Haar法等等,而最后一個(gè)方法Haar是目前最成熟且運(yùn)用最廣泛的方法之一,它有許多優(yōu)點(diǎn),比如它能夠?qū)⒛繕?biāo)的全部特征都描述出來且描述的十分全面,而且它所需要處理的數(shù)據(jù)量較其他算法少,這樣就使得它的結(jié)構(gòu)十分簡單且運(yùn)算速度很快。它通常結(jié)合AdaBoost算法進(jìn)行實(shí)驗(yàn),然后對所選取樣本的Haar特征進(jìn)行學(xué)習(xí)訓(xùn)練,然后將結(jié)果輸出,構(gòu)成一個(gè)集合,用于檢測目標(biāo)。(5)基于區(qū)域的目標(biāo)檢測識別定位這種方法將圖像的全局信息進(jìn)行創(chuàng)建并關(guān)聯(lián)起來,再進(jìn)行分析推斷,最后得出相鄰圖像的對應(yīng)區(qū)域之間的互相聯(lián)系信息,最后進(jìn)行目標(biāo)識別。這種算法有一個(gè)明顯的缺點(diǎn),一是計(jì)算十分繁瑣,從而計(jì)算所需要時(shí)間很長,簡介導(dǎo)致檢測成本變高。由于計(jì)算十分復(fù)雜,就導(dǎo)致了計(jì)算的實(shí)時(shí)性很差,因此此種方法很難單獨(dú)應(yīng)用在需要實(shí)時(shí)處理數(shù)據(jù)的場合中,在運(yùn)算中必須結(jié)合其他信息因素正常進(jìn)行。目前,出現(xiàn)了一個(gè)新的算法:顯著性區(qū)域目標(biāo)檢測算法,這是一個(gè)以人類視覺原理作為基礎(chǔ)的先進(jìn)檢測方法,通過近年來的運(yùn)用取得了較大的發(fā)展,是這幾年發(fā)展最為迅速的基于區(qū)域的目標(biāo)識別方法之一。1.2.2視覺定位技術(shù)研究現(xiàn)狀經(jīng)過了很多年的發(fā)展,目前,在計(jì)算機(jī)、傳感器等服務(wù)于視覺定位技術(shù)的相關(guān)技術(shù)發(fā)展的推動下,機(jī)器人定位技術(shù)得到了跨越式的飛速發(fā)展,并且應(yīng)用的領(lǐng)域也十分廣泛,例如軍工技術(shù)、醫(yī)療科技技術(shù)以及航空航天技術(shù)等領(lǐng)域。對于機(jī)器人,和人需要有最基礎(chǔ)的感知能力和視覺一樣,需要通過自身安裝的各種傳感器準(zhǔn)確的自主感知到自己位于已知及未知環(huán)境的位置及姿態(tài),建立在此基礎(chǔ)上,機(jī)器人方可實(shí)現(xiàn)自主導(dǎo)航。但是,在不同的空間環(huán)境中,用于定位的各種傳感器的精度會發(fā)生一定程度的漂移從而導(dǎo)致定位不準(zhǔn),所以要順利完成自主定位與導(dǎo)航任務(wù),就需要機(jī)器人在不同的環(huán)境下應(yīng)用不同的定位方法。由于移動機(jī)器人的應(yīng)用環(huán)境不同,有些環(huán)境下需要較高的定位精度,比如物流車間場景,要求機(jī)器人的定位精度要達(dá)到厘米級別,最嚴(yán)苛的環(huán)境諸如排爆等場景時(shí)甚至要達(dá)到毫米級別。衛(wèi)星信號在良好的條件下定位精度一般在米級,不符合上述應(yīng)用場景的要求。而利用慣性導(dǎo)航元件雖然可以測量目標(biāo)相對位移,但這種元件有個(gè)致命的缺點(diǎn):由慣導(dǎo)元件測量后的數(shù)據(jù)存在一定程度上的漂移,因此它需要其他傳感器配合使用以提高精度,并且它的算法復(fù)雜,不利于大規(guī)模應(yīng)用。近幾年提出的技術(shù)利用激光雷達(dá)進(jìn)行精準(zhǔn)測距,完成定位任務(wù),但是需要在環(huán)境中布置反光板來為激光雷達(dá)提供定位信息,而且激光雷達(dá)造價(jià)昂貴也不是適合大規(guī)模使用。近兩年來機(jī)器人可以通過電磁、尋跡的方式進(jìn)行定位,雖然此種方法可以基本滿足其定位精度要求,但是在定位前需要提前在環(huán)境中布置軌道或路標(biāo),而當(dāng)機(jī)器人的任務(wù)發(fā)生變化時(shí),需要重新布置路徑,靈活性很差,成本很高。1.2.3基于二維碼的定位技術(shù)研究現(xiàn)狀近些年,出現(xiàn)了利用色帶和條形碼、qr碼等利用二維碼的視覺定位方法,這種方法通常在地面鋪設(shè)的彩帶做引導(dǎo),在二維碼中添加位置信息,機(jī)器人通過識別二維碼實(shí)現(xiàn)定位,但這種方法的缺點(diǎn)是地面上的彩帶和二維碼容易被人為地污損,且當(dāng)機(jī)器人任務(wù)路徑發(fā)生改變時(shí),需要重新粘貼色帶或二維碼,這使得機(jī)器人的靈活性變差,定位對環(huán)境要求變高。另外,這種方法要求攝像頭的光軸方向與二維碼鋪設(shè)的平面必須呈垂直關(guān)系,而且要求攝像頭與二維碼鋪設(shè)平面距離要盡可能地接近,否則機(jī)器人將不能很好地識別二維碼,這使得這種方法有較大的局限性。在一個(gè)以往的專利中公開了一種用單目相機(jī)和二維碼路標(biāo)進(jìn)行室內(nèi)機(jī)器人自主定位的方法,該方法不僅克服了不能有效識別二維碼所產(chǎn)生的機(jī)器人運(yùn)動局限性,而且當(dāng)機(jī)器人執(zhí)行任務(wù)的內(nèi)容發(fā)生改變時(shí)不需要重新布置路徑,但這種方法依然不夠靈活,其不足之處在于,需要根據(jù)機(jī)器人的行駛路徑提前布置好二維碼,二維碼的布局需要嚴(yán)格按照一定的規(guī)律,而且必須經(jīng)過精確地測量才能確定二維碼之間的位姿關(guān)系;如果用這種方法機(jī)器人行進(jìn)路線必將受二維碼布局和二維碼信息的制約,機(jī)器人行走方式單一,不能完成復(fù)雜曲線行駛。而且,此方法使用在二維平面鋪設(shè)二維碼的方式,不能獲得機(jī)器人的三維空間坐標(biāo),只能用于局限的規(guī)劃平面路徑,無法規(guī)劃無人機(jī)等空間中運(yùn)行的機(jī)器人的三維路徑,應(yīng)用場景比較有限。近些年,隨著AR/VR技術(shù)的飛速發(fā)展,人們開發(fā)出了各種各樣用于視覺檢測的標(biāo)志,這些二維碼均能實(shí)現(xiàn)目標(biāo)的快速檢測且具有很高的抗干擾性,便用成本也很低。這些二維碼被用于增強(qiáng)現(xiàn)實(shí)技術(shù),下表1.1為幾個(gè)常見的增強(qiáng)現(xiàn)實(shí)二維碼比較。表1.1增強(qiáng)現(xiàn)實(shí)二維碼比較1.3論文的主要研究內(nèi)容在進(jìn)行機(jī)器人的定位與導(dǎo)航時(shí),我們通常人為的設(shè)置合作標(biāo)記,這是一種重要的輔助手段,而要實(shí)現(xiàn)機(jī)器人完成自主定位及導(dǎo)航,最重要的就是要能正確檢測并識別出環(huán)境中的標(biāo)記。本文的主要研究內(nèi)容如下:第一章介紹了了課題的背景和意義,總結(jié)了視覺識別技術(shù)、視覺定位技術(shù)及基于二維碼的定位技術(shù)的國內(nèi)外研究現(xiàn)狀,并闡述了論文的主要研究內(nèi)容;第二章研究了機(jī)器人定位的技術(shù)和方法,并研究了Aruco的組成及編碼解碼方式;第三章研究了Aruco圖像處理的技術(shù)背景和圖像處理方法;第四章研究了Aruco碼的檢測過程,研究了相機(jī)標(biāo)定,靜態(tài)和動態(tài)檢測過程,并展示了實(shí)驗(yàn)結(jié)果。機(jī)器人定位和Aruco碼近年來,基于圖像處理的機(jī)器人定位方法在普遍應(yīng)用于我們所熟知的領(lǐng)域,從最初應(yīng)用于與人類密切相關(guān)的民用危險(xiǎn)環(huán)境領(lǐng)域(例如火災(zāi)、地震等自然災(zāi)害現(xiàn)場),到如今應(yīng)用于關(guān)乎國家安全的國防安全領(lǐng)域(例如軍事作戰(zhàn)、武裝偵察和防空防御等方面),尤其是沒有GPS信號或GPS信號受到干擾不穩(wěn)定時(shí)(例如室內(nèi)、地下通道和隧道等環(huán)境),有巨大的應(yīng)用前景。當(dāng)前,視覺導(dǎo)航技術(shù)是一種重要的機(jī)器人定位導(dǎo)航的方法,早在機(jī)器人誕生之初,人們就設(shè)想并嘗試進(jìn)行機(jī)器人的視覺導(dǎo)航,因?yàn)殡p眼提供的視覺為人類提供了關(guān)于周圍環(huán)境最真實(shí)的信息,眼見為實(shí)就是這個(gè)道理。那么機(jī)器人是否實(shí)現(xiàn)視覺導(dǎo)航這一點(diǎn)呢?在很久以前機(jī)器人誕生之初,計(jì)算機(jī)的存儲能力及運(yùn)算能力還較差,而圖像處理占用的內(nèi)存很大且要求計(jì)算機(jī)有較快的運(yùn)行速度,這就使得處理一塊圖像需要大量的人力物力,最終導(dǎo)致圖像處理沒有實(shí)時(shí)性,機(jī)器視覺發(fā)展滯后。但隨著近十幾年來計(jì)算機(jī)技術(shù)得到了跨越式發(fā)展,上述問題被一個(gè)個(gè)解決,計(jì)算機(jī)圖像處理能力及計(jì)算速度的大大提高,使得圖像處理展現(xiàn)出實(shí)時(shí)性,慢慢的圖像處理被用于各種實(shí)時(shí)場合,在這種大環(huán)境下,關(guān)于機(jī)器人的視覺定位技術(shù)受到了學(xué)術(shù)界廣泛的研究及關(guān)注。目前應(yīng)用機(jī)器人視覺定位技術(shù)的場合十分之多,例如智能機(jī)器人、公共交通的管理、汽車行駛應(yīng)用和無人機(jī)完全自主著降。機(jī)器人定位技術(shù)的核心要務(wù)就是要對標(biāo)志進(jìn)行快速且準(zhǔn)確的檢測與識別,從而精確計(jì)算出機(jī)器人在自身所處環(huán)境中的實(shí)際地理位置。機(jī)器人在實(shí)際環(huán)境下定位精度的高低水平主要取決于對標(biāo)志辨識的準(zhǔn)確與否以及是否能準(zhǔn)確并實(shí)時(shí)的識別出各種傳感器所反饋的位置信息2.1機(jī)器人定位2.1.1機(jī)器人定位技術(shù)進(jìn)入21世紀(jì)以來,智能技術(shù)、傳感器技術(shù)和計(jì)算機(jī)技術(shù)在不斷進(jìn)步,支撐了機(jī)器人技術(shù)也在不斷進(jìn)步,智能移動機(jī)器人在人類的生產(chǎn)和生活中發(fā)揮著越來越關(guān)鍵的作用,現(xiàn)如今關(guān)于機(jī)器人的定位技術(shù)主要涉及以下五個(gè)方面:1.移動機(jī)器人的超聲導(dǎo)航定位技術(shù)超聲導(dǎo)航定位技術(shù)的原理類似于激光技術(shù)和紅外技術(shù),由超聲波傳感器的發(fā)射探頭發(fā)射超聲波,在某種介質(zhì)中進(jìn)行傳播,如果遇到障礙,超聲波就會被反射然后由接收裝置接收。長期以來,超聲波傳感器廣泛應(yīng)用于移動機(jī)器人導(dǎo)航定位中,它具有諸如分辨率高、采集速度快和造價(jià)低能被大范圍應(yīng)用等優(yōu)點(diǎn),而且超聲波導(dǎo)航定位在沒有復(fù)雜的圖像設(shè)備技術(shù)支持時(shí)也可采集環(huán)境信息時(shí),這樣就不會產(chǎn)生測量延時(shí),測量得到的數(shù)據(jù)也就更加真實(shí)。同時(shí),在天氣條件惡劣、環(huán)境光照不足、有障礙物產(chǎn)生陰影、等外部不良條件下,超聲導(dǎo)航定位受到的影響較小,因此超聲導(dǎo)航定位廣泛應(yīng)用于各種移動機(jī)器人傳感系統(tǒng)中。2.移動機(jī)器人視覺導(dǎo)航定位技術(shù)在視覺導(dǎo)航定位系統(tǒng)研究領(lǐng)域,目前國內(nèi)導(dǎo)航方法主要是將安裝于汽車的車載攝像頭安裝在機(jī)器人上以實(shí)現(xiàn)導(dǎo)航定位,這樣也就意味著定位所用到的傳感器及控制設(shè)備等原安裝在環(huán)境中的設(shè)備被安裝在機(jī)器人本體上,也就是說圖像識別和路徑規(guī)劃等高級動作將由機(jī)器人控制計(jì)算機(jī)加以決策實(shí)現(xiàn)。這種定位技術(shù)的工作原理是機(jī)器人對周圍環(huán)境完成一些簡單的光學(xué)處理,首先機(jī)器人通過攝像機(jī)對周圍環(huán)境進(jìn)行檢測,采集圖像信息,然后壓縮處理采集到的信息,接著由神經(jīng)網(wǎng)絡(luò)和統(tǒng)計(jì)方法組成的學(xué)習(xí)子系統(tǒng)對信息作反饋處理,然后就可以對圖像相信和機(jī)器人運(yùn)動初始位置建立某種連接關(guān)系,最后完成機(jī)器人的自主導(dǎo)航定位功能。3.全球定位系統(tǒng)技術(shù)全球定位系統(tǒng)技術(shù)一般采用偽距離差分動態(tài)定位方法。通過4顆衛(wèi)星觀測位置信息的變化,反饋給接收機(jī),由計(jì)算機(jī)進(jìn)行計(jì)算,最后通過某種算法經(jīng)過推導(dǎo)得到機(jī)器人正在任一時(shí)刻環(huán)境中的三維位置坐標(biāo)。如果與參考站的實(shí)際距離大于1000公里,可以消除衛(wèi)星鐘差和對流層誤差。在移動導(dǎo)航中,衛(wèi)星定位系統(tǒng)GPS的定位精度由許多參考因素,除了信號差、傳播道路不通暢等因素,還與時(shí)鐘誤差、傳播誤差、接收機(jī)噪聲等諸多因素有關(guān)聯(lián)。由于要參考眾多因素,如果我們只用GPS進(jìn)行導(dǎo)航定位的化,可靠性并不高。因此,我們通常將磁羅盤和GPS相結(jié)合進(jìn)行定位。除此之外,GPS在室內(nèi)和水下等對定位精度要求很高的復(fù)雜情況下也不能得到很好的應(yīng)用。4.移動機(jī)器人光反射導(dǎo)航定位技術(shù)典型光導(dǎo)定位技術(shù)以激光反射和紅外定位為前提。目前研究出的用激光技術(shù)制造的全球定位系統(tǒng)的工作主要由激光旋轉(zhuǎn)、激光反射、光電接收及數(shù)據(jù)采集四個(gè)步驟構(gòu)成。工作時(shí),激光的發(fā)射步驟由旋轉(zhuǎn)裝置進(jìn)行,經(jīng)過一段時(shí)間激光反射,反射的激光被光電接收裝置接收,數(shù)據(jù)采集器讀取數(shù)據(jù)并進(jìn)行信號處理,處理后的數(shù)據(jù)將作為碼盤的旋轉(zhuǎn)機(jī)構(gòu)角度測量值(靶標(biāo)),然后與主機(jī)建立通信連接,對PC機(jī)進(jìn)行數(shù)據(jù)處理,將標(biāo)志值和測量值比較,就能計(jì)算出傳感器電流在路線圖系統(tǒng)中的位置和方向,對目標(biāo)進(jìn)行進(jìn)一步的精準(zhǔn)定位導(dǎo)航。5.SLAM技術(shù)目前大多數(shù)處于行業(yè)領(lǐng)先地位的服務(wù)機(jī)器人公司采用的主要技術(shù)為SLAM技術(shù)。在SLAM技術(shù)中,只有硅烷技術(shù)(SLAMTEC)具有獨(dú)特的優(yōu)勢。SLAM技術(shù)是一種未知環(huán)境地圖建模技術(shù),就是首先對未知環(huán)境進(jìn)行檢測,在模擬器上建立環(huán)境地圖,為之后的路徑規(guī)劃打下基礎(chǔ)。1988年,提出了SLAM實(shí)時(shí)建圖技術(shù),建立環(huán)境的實(shí)時(shí)地圖,這類方法主要應(yīng)用于對地圖的定位以及工程方面。對于完全未知的環(huán)境,SLAM技術(shù)主要通過激光雷達(dá)測距的方式建圖,為機(jī)器人自主導(dǎo)航提供支持。SLAM技術(shù)可以概括的描述為:機(jī)器人在未知的環(huán)境中移動,初始位置不知道的情況下,機(jī)器人可以在移動過程中對自己當(dāng)前的位置進(jìn)行估計(jì)并根據(jù)傳感器反饋的信息定位位置,建立實(shí)時(shí)地圖。2.1.2機(jī)器人定位方法關(guān)于機(jī)器人的定位方法,麻省理工教授JohnJ.Leonard和原悉尼大學(xué)教授HughDurrant-Whyte最初提出了三個(gè)問題。第一個(gè)問題機(jī)器人如何根據(jù)已知的信息和觀測到的信息確定自己在環(huán)境中的實(shí)時(shí)位置。第二個(gè)和第三個(gè)問題,可以歸結(jié)為一個(gè)問題:指定一個(gè)目標(biāo)點(diǎn),如何通過機(jī)器人的自主路徑規(guī)劃來到達(dá)這個(gè)目標(biāo)點(diǎn)。對一般的移動機(jī)器人來說,這個(gè)目標(biāo)是二位空間坐標(biāo)點(diǎn),即平面坐標(biāo)點(diǎn),我們稱之為機(jī)器人的定點(diǎn)導(dǎo)航問題。而對于像無人機(jī)等在三位空間運(yùn)動的機(jī)器人,定點(diǎn)導(dǎo)航顯然不適用,如果想要實(shí)現(xiàn)三維空間導(dǎo)航,那么就要求機(jī)器人要能到達(dá)空間中的所有位置,這和SLAM建圖類似。在我們?nèi)粘I钪杏稍S多地方用到了機(jī)器人的三位空間導(dǎo)航技術(shù),比如用于通訊的基站和用于衛(wèi)星定位的GPS系統(tǒng),相比之下,機(jī)器人的定位環(huán)境一般都比較苛刻,大多是室內(nèi)和室外的復(fù)雜環(huán)境,比如用于日常生活的掃地機(jī)器人和用于反恐排爆的機(jī)器人,它們對機(jī)器人的定位的精度和速度都很高,因此需要用到別的定位方法。下面就列舉了幾個(gè)。1.相對定位法航位推算法(Dead-ReckoningMethod)應(yīng)用于無人機(jī)定位的相對定位法,它是最經(jīng)典也是運(yùn)用最廣泛的相對定位法。就和我們現(xiàn)在看到的飛機(jī)一樣,上面裝備了大量的精密傳感器,它們的作用是對機(jī)器人的實(shí)時(shí)運(yùn)動狀態(tài)進(jìn)行監(jiān)測,防止定位偏離或失敗。通過遞推累計(jì)公式,還能計(jì)算出機(jī)器人的初始位置。航算法用到的傳感器一般有:碼盤、慣性傳感器(如陀螺儀、加速度計(jì)等)。碼盤是一種安裝在車輪上的光電傳感器,用來計(jì)算車輪的轉(zhuǎn)數(shù),進(jìn)而得出機(jī)器人相對上一時(shí)刻的位置及姿態(tài)變化量,這些量經(jīng)過累積就可以對機(jī)器人的下一步動作進(jìn)行估計(jì),推理出下一位置坐標(biāo)。由于碼盤價(jià)格便宜且安裝簡單,用碼盤進(jìn)行定位操作簡單,步驟少,所以能進(jìn)行快速定位,但用碼盤進(jìn)行定位容易受到環(huán)境的影響,如果車輪產(chǎn)生位移,亦或者由于道路原因產(chǎn)生干擾,碼盤的定位精度將大打折扣,最終導(dǎo)致定位失敗。常用的慣性傳感器有用于測量角加速度的陀螺儀和用于測量線加速度的加速度計(jì)。將測得的角加速度和線加速度進(jìn)行擬合,積分得出機(jī)器人的位姿信息。一般情況下,用慣性傳感器的定位精度比用碼盤的高,但慣性傳感器定位也易環(huán)境影響,影響因素有:陀螺儀產(chǎn)生漂移、標(biāo)定有誤差等。無論是碼盤定位還是慣性傳感器定位,它們都存在一個(gè)共同的缺點(diǎn),那就是累積誤差:隨著時(shí)間、距離的不斷增加,誤差也會隨之增大。因此相對定位法不適用于長時(shí)間、長距離的精確定位。2.絕對定位法機(jī)器人在進(jìn)行絕對定位時(shí),要在環(huán)境中選取一個(gè)參照物,這個(gè)參照物是恒定不變的且它的參照信息是要易獲取的。然后將自己與參照信息進(jìn)行對比分析,建立某種聯(lián)系,解算自己的位姿信息。3.基于信標(biāo)的定位原先信標(biāo)主要指用于航空或航海的無線電波。在機(jī)器人定位領(lǐng)域,信標(biāo)主要指可以被識別和檢測出的帶有明顯特征的標(biāo)志,機(jī)器人在定位時(shí)可以通過這種標(biāo)志算出機(jī)器人本體與標(biāo)志的相對位置,進(jìn)而帶入標(biāo)志位置坐標(biāo),解算出機(jī)器人的絕對坐標(biāo)實(shí)現(xiàn)定位。用于定位的標(biāo)志有以下三個(gè)特征:①信標(biāo)的位置固定且信標(biāo)的絕對坐標(biāo)已知;②信標(biāo)具有主被動特征,易于辨識;③信標(biāo)位置便于從各方向觀測。信標(biāo)定位的方法主要是三邊測量和三角測量。三邊指機(jī)器人與信標(biāo)之間的距離,三邊測量定位系統(tǒng)至少需要3個(gè)安裝在機(jī)器人身上的發(fā)射器或接收器且它們的位置必須是已知的。三角指機(jī)器人與信標(biāo)之間的角度,也需要3個(gè)發(fā)射器或接收器進(jìn)行輔助。環(huán)境中已知信標(biāo)的特征是信標(biāo)定位的基礎(chǔ),通過安裝在機(jī)器人身上的傳感器進(jìn)行觀測。用于觀測的傳感器有許多種類,比如激光雷達(dá)、超聲波傳感器和視覺傳感器,這些傳感器優(yōu)點(diǎn)眾多,比如定位精度高、定位實(shí)時(shí)性好、魯棒性高及沒有累計(jì)誤差等。目前基于信標(biāo)的機(jī)器人已經(jīng)具備成熟的技術(shù),但由于造價(jià)高昂,只適合對定位精度要求較高的場合。4.基于視覺的定位科學(xué)研究統(tǒng)計(jì)表明,人類從外界獲得信息量約有75%來自視覺,與人一樣,機(jī)器人探測周圍環(huán)境最直接的方式就是通過視覺探測。近年來熱門的研究領(lǐng)域,比如模式識別和機(jī)器視覺,都屬于視覺定位領(lǐng)域。視覺定位主要有單目視覺和雙目視覺兩種。單目視覺用于二維定位,只能探測平面信息,如果要獲取環(huán)境的深度信息,只能通過移動改變位姿進(jìn)行不同方向不同角度的測量,適用于執(zhí)行簡單的定位任務(wù),比如通過目標(biāo)的幾何形狀,取3個(gè)以上特征點(diǎn)進(jìn)行目標(biāo)位置信息獲取,但單目視覺的定位精度不高。雙目立體視覺三維測量是基于視差原理的。雙目視覺利用兩個(gè)相機(jī),如果一個(gè)相機(jī)像面上的任意一點(diǎn)都能在另一個(gè)相機(jī)上找到相對應(yīng)的點(diǎn),即可得出該點(diǎn)的三位信息坐標(biāo)。5.環(huán)境地圖模型匹配定位環(huán)境地圖模型匹配定位通過機(jī)器人上安裝的各種傳感器對周圍環(huán)境信息探測并進(jìn)行局部地圖構(gòu)建,在其內(nèi)部通常由完整的地圖,將構(gòu)建的局部地圖與完整地圖進(jìn)行比對,即可得出自己的環(huán)境位置。由于要事先建立完整的地圖,對于復(fù)雜的環(huán)境,該方法就不太適用了。2.2Aruco碼2.2.1Aruco碼組成ArUco標(biāo)記最初由RafaelMuioz和SergioGarrido共同提出并實(shí)現(xiàn)的,它是一種二進(jìn)制標(biāo)記碼,主要作用是增強(qiáng)現(xiàn)實(shí)。標(biāo)準(zhǔn)的二進(jìn)制基準(zhǔn)Aruco碼標(biāo)記可以準(zhǔn)確估計(jì)環(huán)境中攝像頭的具體位置。由于內(nèi)部構(gòu)造較為簡單,所以在進(jìn)行Aruco碼檢測時(shí)能很簡單并高校的被識別出,并且它對環(huán)境的抗干擾性很強(qiáng)。為了實(shí)現(xiàn)機(jī)器人的精確定位,關(guān)鍵就是要找到真實(shí)世界和成像投影間相對應(yīng)的點(diǎn),最容易也是最簡單的方法就是采用基本的標(biāo)記,aruco碼標(biāo)記就是當(dāng)前最流行及簡便的標(biāo)記之一。它的id可以由內(nèi)部的二進(jìn)制編碼進(jìn)行驗(yàn)證,如果錯誤,它可以及時(shí)檢測到并進(jìn)行矯正。機(jī)器人實(shí)現(xiàn)自主定位導(dǎo)航需要一個(gè)外部載體,而一個(gè)優(yōu)良的合作標(biāo)記應(yīng)具有下列特征:(1)標(biāo)記本身應(yīng)具有明顯的特征且包含豐富的特征信息以便于之后的位置和姿態(tài)估計(jì)工作;(2)標(biāo)記本身的形狀及顏色等特征要與周圍環(huán)境有明顯差別,以便于被更容易的檢測識別出來:(3)不受周圍環(huán)境的影響,以便于能夠被應(yīng)用于大多數(shù)場合;(4〉標(biāo)記內(nèi)所包含的信息易于被檢測裝置提取,以便于計(jì)算機(jī)能夠及時(shí)的、實(shí)時(shí)的處理提取到的信息,從而滿足系統(tǒng)實(shí)時(shí)性的要求。外部的黑色邊框有利于檢測裝置對標(biāo)記圖像的快速檢測,內(nèi)部的二進(jìn)制編碼矩陣則允許它的識別和檢測,滿足了一個(gè)優(yōu)良的合作標(biāo)記的各種技術(shù)指標(biāo)。ArUco是一個(gè)被用于增強(qiáng)現(xiàn)實(shí)技術(shù)的庫,它其中包含了許多預(yù)定義的不同尺寸的標(biāo)識。每個(gè)ArUco標(biāo)記內(nèi)部都有一個(gè)唯一固定的內(nèi)部矩陣,由二進(jìn)制編碼組成。這樣的結(jié)構(gòu)使識別裝置對它的識別速度加快,增強(qiáng)了編碼的可靠性、保密性,減少了被錯誤檢測的幾率。圖2.1Aruco碼的組成2.2.2標(biāo)記解碼每一個(gè)Aruco碼都有一個(gè)內(nèi)部編碼,比如一個(gè)7×7的Aruco碼,它的本體被分為7×7的網(wǎng)絡(luò),除了外部的一周是它的黑色邊框,它的id信息包含在內(nèi)部的5×5網(wǎng)絡(luò)中。受到計(jì)算機(jī)二進(jìn)制語言的啟發(fā),我們發(fā)現(xiàn)該碼也只有兩種狀態(tài):黑和白,對應(yīng)的我們將黑色表示為0,白色表示為1。通過這樣的信息分割,在經(jīng)過數(shù)組的排列組合,Aruco碼的內(nèi)部就存在5個(gè)標(biāo)記序列,每個(gè)序列有5位數(shù)字組成。海明碼是一種內(nèi)部包含用于驗(yàn)證信息傳輸?shù)臄?shù)據(jù)的代碼。一個(gè)標(biāo)準(zhǔn)的海明碼有8位,包含4個(gè)數(shù)據(jù)位(D1-D4)、3個(gè)奇偶校驗(yàn)位(用于控制)和最后1位檢查位。如圖2.2所示。Aruco碼的編碼方式與海明碼相似,3位數(shù)字用于校驗(yàn),2位數(shù)字用于數(shù)據(jù)存儲。圖2.2海明碼與海明碼不同,本文采用的Aruco碼中將編碼的位數(shù)由8位減少為5位,奇偶校驗(yàn)位不變,仍然是3位,數(shù)據(jù)位由4位減少為2位,其中將偶數(shù)列作為數(shù)據(jù)列,如圖2.3所示。這種編碼方式產(chǎn)生了1024種組合,如圖2.4所示。圖2.3Aruco編碼圖2.4Aruco編碼形式的標(biāo)記標(biāo)記解碼的流程如下:(1)檢查輪廓的完整性。如果Aruco碼有完整的四邊形輪廓,那么進(jìn)行切割,先將一個(gè)完整的Aruco碼平均分為7×7個(gè)小方格。然后檢測每個(gè)小方格的像素值,如果小方格中非零像素小于方格中像素,則判定該方格為黑色格,反之則為白色。最后檢測外圍一圈的所有方格,如果所有方格都是黑色的,那么判定此輪廓是完整的。(2)識別編碼區(qū)域。經(jīng)過輪廓檢查,將方格分為黑白兩類,在黑白方格中分別寫入0或1進(jìn)行編碼。搭載在機(jī)器人上的攝像頭在拍攝時(shí)受環(huán)境影響會產(chǎn)生旋轉(zhuǎn)變化,由于有4個(gè)旋轉(zhuǎn)方向,就要分析4種不同的情況,因此對標(biāo)記區(qū)域進(jìn)行4次編碼解碼,然后在4個(gè)結(jié)果中選出1一個(gè)真實(shí)值。(3)通過海明距離,確定旋轉(zhuǎn)角度。統(tǒng)計(jì)所有處于旋轉(zhuǎn)狀態(tài)之下的標(biāo)記,計(jì)算它們的海明距離。和第二步類似,每個(gè)標(biāo)記都對應(yīng)著4種海明編碼方式,經(jīng)過計(jì)算之后,會產(chǎn)生四個(gè)不同的海明距離。在4個(gè)結(jié)果中0的個(gè)數(shù)大于等于1,則計(jì)算這個(gè)旋轉(zhuǎn)后的矩陣來表示ID。過程如圖2.5所示。圖2.5Aruco解碼Aruco碼的圖像處理第二部分介紹了Aruco碼的編碼方式以及如果進(jìn)行解碼,第三部分主要介紹Aruco碼的圖像處理,在這之前,先介紹用于Aruco碼圖像處理的工具。3.1Aruco碼圖像處理的背景技術(shù)3.1.1PythonPython是一種廣泛使用的解釋型、高級和通用的編程語言。1991年,荷蘭數(shù)學(xué)與計(jì)算機(jī)科學(xué)研究學(xué)會的GuidovanRossum創(chuàng)造并發(fā)布了第一版Python語言。Python語言使用中綴表達(dá)式,是LISP語言的一種,同時(shí)承繼了ABC語言。Python進(jìn)行面對對象編程時(shí)十分簡單和高效,并提供了許多高級的數(shù)據(jù)結(jié)構(gòu),并且這些結(jié)構(gòu)運(yùn)用起來十分高效。目前Python語言已經(jīng)成為快速開發(fā)語言的代表,這是因?yàn)樗忉屝驼Z言的本質(zhì)易于被理解掌握且Python版本的更新速度不斷加快,并且每次伴隨更新,新的功能就會被不斷添加進(jìn)來,也正以為如此,Python逐漸被用于獨(dú)立的、大型項(xiàng)目的開發(fā)。Python支持多種編程范型,包括函數(shù)式、指令式、結(jié)構(gòu)化、面向?qū)ο蠛头瓷涫骄幊?。Python解釋器易于擴(kuò)展,可以使用C或C++(或者其他可以通過C調(diào)用的語言)擴(kuò)展新的功能和數(shù)據(jù)類型。Python也可用于可定制化軟件中的擴(kuò)展程序語言。Python擁有動態(tài)類型系統(tǒng)和垃圾回收功能,能夠自動管理內(nèi)存使用,并且其本身擁有一個(gè)巨大而廣泛的標(biāo)準(zhǔn)庫,提供了適用于各個(gè)主要系統(tǒng)平臺的源碼或機(jī)器碼。20世紀(jì)90年代,Python誕生,經(jīng)過幾十年的發(fā)展,現(xiàn)如今它已在系統(tǒng)管理任務(wù)方面和Web編程得到了大面積的使用。1989年圣誕節(jié)期間的阿姆斯特丹,Python的創(chuàng)始人Guido因?yàn)樘^無聊,決心開發(fā)一個(gè)新的腳本解釋程序。Python的名字來源于英國20世紀(jì)70年代首播的電視喜劇《蒙提.派森干的飛行馬戲團(tuán)》(MontyPython'sFlyingCircus)。Guido參加設(shè)計(jì)了一種教學(xué)語言ABC,就Guido本人看來,ABC這種語言非常優(yōu)美和強(qiáng)大,是專門為非專業(yè)程序員設(shè)計(jì)的。但是事與愿違,ABC語言并沒有成功,究其原因,Guido認(rèn)為它的非開放性。Guido發(fā)明了Python并決心在Python中避免這一錯誤。同時(shí),他還想將ABC中閃現(xiàn)過但未曾實(shí)現(xiàn)的東西在Python中得以實(shí)現(xiàn)。Python還受到了Modula-3語言的影響,并且結(jié)合了Unixshell和C的習(xí)慣。到今天,Python已經(jīng)成為最受歡迎的編程語言之一。Python使用的爆發(fā)式增長主要在2004年以后,2011年1月,它被評為2010年度語言。由于Python語言的簡潔性、易讀性以及可擴(kuò)展性,在國外用Python做科學(xué)計(jì)算的學(xué)術(shù)和研究機(jī)構(gòu)日益增多,這其中也有很多大學(xué),他們用Python來教授程序、設(shè)計(jì)課程。眾多開源的科學(xué)計(jì)算軟件包都提供了Python的調(diào)用接口,例如著名的計(jì)算機(jī)視覺庫OpenCV、醫(yī)學(xué)圖像處理庫ITK。而Python專用的科學(xué)計(jì)算擴(kuò)展庫就更多了,例如如下2個(gè)十分經(jīng)典的科學(xué)計(jì)算擴(kuò)展庫:NumPy和matplotlib,它們分別為Python提供了快速數(shù)組處理和繪圖功能。因此Python語言及其眾多的擴(kuò)展庫所構(gòu)成的開發(fā)環(huán)境十分適合工程技術(shù)、科研人員處理實(shí)驗(yàn)數(shù)據(jù)、制作圖表,甚至開發(fā)科學(xué)計(jì)算應(yīng)用程序。2018年3月,該語言作者在郵件列表上宣布Python2.7將于2020年1月1日終止支持。用戶如果想要在這個(gè)日期之后繼續(xù)得到與Python2.7有關(guān)的支持,則需要付費(fèi)給商業(yè)供應(yīng)商。隨著Python2的產(chǎn)品壽命結(jié)束,只有Python3.9和后續(xù)版本正在被完全支持,但仍提供對3.6、3.7和3.8版本的安全性修正。3.1.2OpenCVOpenCV是一個(gè)開源計(jì)算機(jī)視覺與機(jī)器學(xué)習(xí)軟件庫,可以在各種系統(tǒng)上運(yùn)行。它由一系列c函數(shù)和少量C++類構(gòu)成,呈現(xiàn)出輕量且高效的特性,同時(shí)其他編程語言也可應(yīng)用在OpenCv上,OpenCv多用于圖像處理算法和計(jì)算機(jī)視覺技術(shù)。OpenCV主要由C++語言編寫,它的主要接口也是C++語言,但是依然保留了大量的C語言接口。該庫也有大量的Python、JavaandMATLAB/OCTAVE(版本2.5)的接口。這些語言的API接口函數(shù)可以通過在線文檔獲得。如今也提供對于C#、Ch、Ruby,GO的支持。所有新的開發(fā)和算法都是用C++接口。OpenCV于1999年由Intel建立,如今由WillowGarage提供支持。OpenCV是一個(gè)基于BSD許可(開源)發(fā)行的跨平臺計(jì)算機(jī)視覺庫,可以運(yùn)行在Linux、Windows和MacOS操作系統(tǒng)上。它輕量級而且高效——由一系列C函數(shù)和少量C++類構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。OpenCV擁有包括500多個(gè)C函數(shù)的跨平臺的中、高層API。它不依賴于其它的外部庫——盡管也可以使用某些外部庫。OpenCV為IntelRIntegratedPerformancePrimitives(IPP)提供了透明接口。這意味著如果有為特定處理器優(yōu)化的IPP庫,OpenCV將在運(yùn)行時(shí)自動加載這些庫。3.2圖像處理算法3.2.1圖像灰度化彩色圖像中的每一個(gè)像素點(diǎn)都是由RGB(紅綠藍(lán))三通道組成,每一種通道都有0-255共256種值可取,因此一個(gè)像素點(diǎn)就可能會有1600多萬種變化。圖像灰度處理就是將圖像RGB三個(gè)通道的值變成一樣,使得圖像中的每一個(gè)像素點(diǎn)只有256種變化方式,進(jìn)而減少計(jì)算量。由于本次采用的Aruco碼是由黑白塊組成的,這就使得更容易灰度處理這些圖像,獲得所需的目標(biāo)信息。圖像灰度化處理中用到最多的方法時(shí)加權(quán)平均法,將RGB圖像的3個(gè)通道的值分別與一定的權(quán)值相乘并累加。經(jīng)過灰度處理后圖像保留下了大部分原圖的特征信息,不會改變圖像包含的信息,色度和亮度分等級仍很鮮明,不會影響到接下來的圖像處理。按照下式就能得到加權(quán)平均后的灰度圖像Gray(x,y)。R(x,y)、G(x,y)、B(x,y)分別為RGB圖像三個(gè)分量的值。3.2.2圖像閾值化 圖像閾值化是指把經(jīng)過灰度處理后的圖像根據(jù)算法的規(guī)則將RGB通道的值變?yōu)閮H有黑色(0)、白色(255)兩種值的圖像,通過這樣轉(zhuǎn)變,我們能更加容易的捕獲目標(biāo),不同的閾值選取能直接對圖像取黑還是白產(chǎn)生巨大的影響。閾值選擇方法的可以分為以下幾種(1)全局固定閾值二值化 這種方法采用一個(gè)固定的閾值來對圖像進(jìn)行二值化,這種方法在二值化時(shí)穩(wěn)定性高,能排除掉部分干擾。通過現(xiàn)場視頻畫面提前經(jīng)過不斷的調(diào)試得出一個(gè)最優(yōu)的閾值,可以提高入侵目標(biāo)二值化的精度,使得目標(biāo)更容易被分辨出來。這種方法雖然適應(yīng)環(huán)境的變化能力較弱,但在一些室內(nèi)場地,光線變化不大的場景下,通過現(xiàn)場調(diào)試得出最優(yōu)閾值后,二值化的效果非常好。 (2)局部自適應(yīng)閾值二值化 局部自適應(yīng)閾值二值化指定一個(gè)像素點(diǎn)周圍的一定范圍,檢測該范圍內(nèi)的像素值,然后確定這個(gè)像素點(diǎn)的二值化閾值。這樣做可以根據(jù)周圍的環(huán)境的明亮程度來自動選擇適應(yīng)的閾值。二值化閾值在亮度高的區(qū)域相對高,在亮度低的地方相對低。這種方法能夠自適應(yīng)環(huán)境進(jìn)行二值化處理,避免了不同的場景都要重復(fù)進(jìn)行調(diào)試,但因此精度會有縮減。設(shè)原始圖像的灰度為Ⅰ,通過合適方法選取一個(gè)閾值T將圖像進(jìn)行分割,分割后的圖像為:I(i,j)表示分割前圖像(i,j)處的灰度攝像頭標(biāo)定和Aruco檢測攝像頭標(biāo)定4.1.1攝像頭模型攝像頭成像使用小孔成像模型,如圖4.1所示;圖4.1小孔成像模型采用張氏標(biāo)定法,對攝像頭進(jìn)行標(biāo)定,確定攝像頭的內(nèi)參矩陣K,標(biāo)定過程如圖2.2所示。圖4.2攝像頭標(biāo)定示意圖4.1.2畸變矯正相機(jī)的成像模型有線性成像模型和非線性成像模型兩種。線性成像模型是理想狀態(tài)下的成像模型,它不考慮鏡頭制造和安裝過程中引入的畸變,根據(jù)針孔成像原理而成。在相機(jī)鏡頭生產(chǎn)過程中,由于制造水平和安裝工藝有限,會使鏡頭發(fā)生一定的畸變,因此理想的線性成像模型并不存在,實(shí)際的相機(jī)在成像過程中都云反生一足的畸變,徑向畸變和切向畸變是成像過程中最常見的兩種畸變類型。企問畸受云便圖像像素點(diǎn)沿著半徑方向發(fā)生移動,切向畸變會使圖像像素點(diǎn)沿著垂直于半徑的方向發(fā)生移動,徑向畸變和切向畸變會對像素點(diǎn)位置產(chǎn)生影響。徑向畸變存在的主要原因是由于鏡頭徑向曲率的不規(guī)則變化。它會使圖像發(fā)生扭曲變形,在離中心點(diǎn)距離越大的地方變形量也越大。在正方向上的變形會導(dǎo)致圖像發(fā)生枕形畸變,負(fù)方向上的變形會導(dǎo)致圖像發(fā)生桶形畸變。切向畸變一般是由于鏡頭的幾何中心和光學(xué)中心不一致造成的。在發(fā)生畸變變形以后,圖像的像素坐標(biāo)發(fā)生了變化,偏離了它本來的位置??梢酝ㄟ^對相機(jī)進(jìn)行標(biāo)定,將相機(jī)畸變系數(shù)求解出來,然后利用畸變系數(shù)對圖像進(jìn)行校正,得到理想的沒有變形的圖像。矯正前后對比:矯正前矯正后圖4.3矯正前后對比圖4.2.1靜態(tài)檢測ArUco的檢測步驟如下:步驟1:檢測標(biāo)記,檢測過程如圖2.3所示,包括:步驟1.1:搜索圖像中所有的待選標(biāo)記,利用自適應(yīng)性閾值法來將標(biāo)記進(jìn)行分割,然后從閾值化的圖像中提取出外形輪廓,并且舍棄掉非凸多邊形和不是方形的輪廓,接著使用一些額外的濾波來剔除過小或過大的輪廓以及過于相近的凸多邊形等。步驟1.2:對比分析待篩選標(biāo)記的內(nèi)部編碼來認(rèn)定它們是否確實(shí)是標(biāo)記,包括:步驟1.2.1:對圖像進(jìn)行透視變換處理,來得到其規(guī)范形態(tài)圖(正視圖)。步驟1.2.2:對規(guī)范化的圖像用最大類間差法(Otsu法)進(jìn)行閾值化處理以分離黑色和白色位,然后提取出每個(gè)標(biāo)記的標(biāo)記位,最后分析出標(biāo)記的編號。步驟2:先進(jìn)行角點(diǎn)處亞像素級細(xì)化處理,再根據(jù)小孔成像模型,利用ArUco碼標(biāo)記了的4個(gè)角點(diǎn)的像素坐標(biāo),通過solvePnP函數(shù)處理即可求解出攝像機(jī)的旋轉(zhuǎn)矩陣R′和平移矩陣T。圖4.5標(biāo)記檢測過程流程圖在環(huán)境中圖像檢測Aruco標(biāo)記,環(huán)境中有7個(gè)標(biāo)記靜態(tài)檢測分為以下8個(gè)步驟;1.導(dǎo)入所需庫importnumpyasnpimporttimeimportcv2importcv2.arucoasaruco讀取圖片frame=cv2.imread('1.jpg')3.灰度化處理gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)4.設(shè)置預(yù)定義的字典aruco_dict=aruco.Dictionary_get(aruco.DICT_6X6_250)5.使用默認(rèn)值初始化檢測器參數(shù)parameters=aruco.DetectorParameters_create()6.使用aruco.detectMarkers()函數(shù)可以檢測到marker,返回ID和標(biāo)志板的4個(gè)角點(diǎn)坐標(biāo)corners,ids,rejectedImgPoints=aruco.detectMarkers(gray,aruco_dict,parameters=parameters)7.畫出標(biāo)志位置aruco.drawDetectedMarkers(frame,corners,ids)8.返回cv2.imshow("frame",frame)cv2.waitKey(0)效果演示:檢測前檢測后圖4.5靜態(tài)檢測效果圖4.2.2動態(tài)檢測摘要:安防監(jiān)控是保障社會環(huán)境安全和公民人身財(cái)產(chǎn)安全的重要手段,基于視頻智能分析的入侵監(jiān)測識別已成為安防領(lǐng)域的重要發(fā)展方向,但現(xiàn)有的智能視頻安防監(jiān)控系統(tǒng)中大多都是基于二維圖像進(jìn)行研究和處理的,存在著誤報(bào)率和漏報(bào)率高等問題。采用OpenCV結(jié)合三維成像與計(jì)算機(jī)視覺技術(shù),采集到的圖像包含三維信息,提取圖像深度信息,并結(jié)合目標(biāo)檢測技術(shù)進(jìn)行入侵目標(biāo)檢測和判斷,既實(shí)現(xiàn)了智能安防監(jiān)測,又在此基礎(chǔ)上減少了誤報(bào)和漏報(bào)的現(xiàn)象,降低了安全風(fēng)險(xiǎn)。本系統(tǒng)的軟件開發(fā)環(huán)境為PyCharm和OpenCV,采用Python來進(jìn)行代碼編寫,主要是針對靜態(tài)背景下的入侵目標(biāo)監(jiān)測與跟蹤。當(dāng)有目標(biāo)出現(xiàn)時(shí),能夠及時(shí)高效的檢測到運(yùn)動目標(biāo)。關(guān)鍵詞: OpenCV;目標(biāo)監(jiān)測;三維視覺;空間入侵;圖像處理近幾年來,隨著我國的經(jīng)濟(jì)的飛速發(fā)展,國民的生活物質(zhì)水平不斷的提高,對自身的人身財(cái)產(chǎn)安全日益重視。伴隨著我國開展的諸多如平安城市和天網(wǎng)工程等的安防工程,智能化安防領(lǐng)域迎來了自己強(qiáng)有力的發(fā)展前景。安防系統(tǒng)主要是由遠(yuǎn)程視頻監(jiān)控、綜合監(jiān)控管理中心、應(yīng)急處理部門等組成。安防領(lǐng)域的不斷發(fā)展不僅僅給我們帶來安全性,同時(shí)也為我們生活智能化提供了便利。目前大量傳統(tǒng)的安防系統(tǒng)的遠(yuǎn)程視頻監(jiān)控畫面仍停留在僅使用人工查看的情況,在一些人流量較小的地方,由于監(jiān)控視頻畫面中往往長時(shí)間沒有入侵目標(biāo)出現(xiàn),安保人員極易造成視覺疲勞。當(dāng)正在的具有危險(xiǎn)的入侵目標(biāo)出現(xiàn)時(shí),無法及時(shí)的發(fā)現(xiàn)危險(xiǎn)并制止。安防系統(tǒng)僅成為了事故取證的工具,而失去了預(yù)防安全事故發(fā)生的功能,可能會造成較大的損失?,F(xiàn)如今,隨著用工成本的大幅度提升,全國各行各業(yè)中都開始逐步采用基于三維視覺和圖像分析的智能化入侵監(jiān)測系統(tǒng),以此來實(shí)現(xiàn)分析和處理來自現(xiàn)場的監(jiān)控視頻。智能化三維空間入侵系統(tǒng)可以使來自監(jiān)控中心的人員無需全天一直盯著監(jiān)控電視墻,只需要在系統(tǒng)發(fā)出入侵提醒時(shí)再去進(jìn)行應(yīng)急處理。相較于傳統(tǒng)監(jiān)控系統(tǒng)來說,智能系統(tǒng)輔助完成大量的重復(fù)且枯燥的工作,大幅度縮短了監(jiān)控人員的工作量,提高了人工效率,也可以避免了因?yàn)槿斯らL時(shí)間的工作導(dǎo)致的視覺疲勞引發(fā)的漏檢和錯檢。同時(shí)由于智能化系統(tǒng)是基于像素點(diǎn)變化,精度相較于傳統(tǒng)的人工也更高。為了滿足人們的需求,需要研究一個(gè)性能良好的智能化三維空間入侵監(jiān)測系統(tǒng),一個(gè)優(yōu)秀的監(jiān)控需要滿足準(zhǔn)確、可靠、實(shí)時(shí)三種特征。這些特征主要表現(xiàn)在視頻分析算法能夠在一線畫面通過局域網(wǎng)傳輸?shù)綌?shù)據(jù)處理中心時(shí)能夠第一時(shí)間高效執(zhí)行的對目標(biāo)的準(zhǔn)確監(jiān)測和跟蹤,同時(shí)也能夠面對復(fù)雜的環(huán)境干擾時(shí),具有強(qiáng)大的抗干擾能力。目前全國范圍內(nèi)的監(jiān)控設(shè)備覆蓋率已經(jīng)極高,設(shè)備的新舊程度各有不同,攝像頭相對來說都是固定位置的。因此我們應(yīng)該側(cè)重于算法的設(shè)計(jì),使算法能在一些老舊設(shè)備采集圖像的質(zhì)量差的情況下,也能通過算法邏輯的優(yōu)化,盡可能達(dá)到占用較小的內(nèi)存的情況下實(shí)現(xiàn)優(yōu)秀目標(biāo)跟蹤。國內(nèi)外研究現(xiàn)狀三維視覺研究現(xiàn)狀機(jī)器視覺的研究是從20世紀(jì)50年代開始的,剛開始的機(jī)器視覺主要是針對二維圖像處理,在60年代美國科學(xué)家羅伯茲首先通過程序?qū)崿F(xiàn)了三維積木世界。此后大量的科學(xué)家對積木研究發(fā)現(xiàn)并解決了陰影處理、景物解釋等問題。積木世界的研究對機(jī)器視覺的研究起了奠基的作用,能夠?qū)崿F(xiàn)一些較為簡單的物體實(shí)現(xiàn)三維的程序解釋,但仍無法解釋復(fù)雜世界。1977年,美國麻省理工學(xué)院馬爾教授提出了馬爾視覺理論,通過對二維圖像中的邊緣點(diǎn)、頂點(diǎn)、直線等通過圖像基本要素恢復(fù)技術(shù)首次實(shí)現(xiàn)了不完全三維重建。機(jī)器視覺發(fā)展至今,國內(nèi)外在該領(lǐng)域獲得了巨大的成果,英國牛津大學(xué)工程科學(xué)系采用了最為先進(jìn)的計(jì)算機(jī)視覺和人工智能數(shù)學(xué)理論研究,實(shí)現(xiàn)了交互實(shí)時(shí)3D場景分割框架,不需要昂貴的硬件設(shè)備支持,就可以在半小時(shí)內(nèi)捕獲并重建出整個(gè)房屋的三維模型。意大利EuclidLabs公司致力于開發(fā)機(jī)器人三維視覺系統(tǒng)和離線編程系統(tǒng)。其中,三維視覺系統(tǒng)主要用于上下料的機(jī)器人隨機(jī)抓取、折彎鈑金定位、碼垛拆垛、三維位置識別和檢測等,具有智能化、精度高、調(diào)試方便等特點(diǎn),在國際處于領(lǐng)先水平;離線編程系統(tǒng)則覆蓋了上下料應(yīng)用、折彎應(yīng)用、碼垛拆垛等場合,其智能化的路徑規(guī)劃技術(shù)能夠使復(fù)雜的工程應(yīng)用簡單化,降低調(diào)試周期和成本,具有很好的應(yīng)用前景。在國內(nèi),浙江大學(xué)的國家重點(diǎn)實(shí)驗(yàn)室CVG實(shí)現(xiàn)了自動相機(jī)跟蹤系統(tǒng),可以從視頻和電影序列中恢復(fù)攝像機(jī)運(yùn)動和3D場景結(jié)構(gòu),提供自動跟蹤的便利性。它可以高效穩(wěn)定地跟蹤各種攝像機(jī)運(yùn)動,可以旋轉(zhuǎn)或自由移動。中國科學(xué)院自動化研究所,對攝像機(jī)校準(zhǔn)和3D重建,姿勢估計(jì),基于視覺的機(jī)器人導(dǎo)航和視覺服務(wù)進(jìn)行了大量的研究,取得了巨大的進(jìn)展智能監(jiān)測系統(tǒng)研究現(xiàn)狀在全球范圍內(nèi),以歐美發(fā)達(dá)國家為代表,對智能監(jiān)控領(lǐng)域投入了大量的人力物力,將各種現(xiàn)代會前沿科技與歷史經(jīng)驗(yàn)相結(jié)合,對相關(guān)技術(shù)逐步攻關(guān),取得了不菲的成果。以美國麻省理工學(xué)院和斯坦福大學(xué)為代表的高等教育機(jī)構(gòu),早在1997年的時(shí)候,就共同召開了歷史上第一屆具有劃時(shí)代意義的基于因特網(wǎng)的遠(yuǎn)程網(wǎng)絡(luò)視頻會議,會議上主要探討了視頻監(jiān)控系統(tǒng)的主體框架,監(jiān)控方案與機(jī)制等基本問題,為此后的三維視覺空間入侵監(jiān)測奠定一個(gè)良好的基礎(chǔ)。通過了幾十年的理論驗(yàn)證和創(chuàng)新,智能視頻監(jiān)控系統(tǒng)得到了強(qiáng)有力的發(fā)展,其運(yùn)用到的技術(shù)已經(jīng)逐漸被應(yīng)用到各行各業(yè)中。無人駕駛領(lǐng)域的龍頭企業(yè)特斯拉提出了一種基于深度學(xué)習(xí)的純機(jī)器視覺汽車無人駕駛方案。采用分別從安裝在汽車周圍的八個(gè)攝像頭中提取需要的圖像特征,通過機(jī)器智能學(xué)習(xí)將這些可以相互融合在一起的特征進(jìn)行圖像處理。目前,此方案已經(jīng)在達(dá)到計(jì)算出車道線、紅綠燈狀態(tài)的同時(shí),預(yù)測汽車及行人的運(yùn)動軌跡,無論是機(jī)器視覺的識別效率還是識別精度都達(dá)到了一個(gè)極高的層次,能充分滿足無人自動駕駛的各項(xiàng)要求。英特爾公司提出了一種面向工業(yè)4.0的機(jī)器視覺解決方案,提供了一種經(jīng)優(yōu)化的神經(jīng)網(wǎng)絡(luò)模型以進(jìn)行缺陷檢測和預(yù)測性維護(hù),賦予了機(jī)器模擬人類的能力,推動了工業(yè)現(xiàn)代化4.0轉(zhuǎn)型。國外在機(jī)器視覺領(lǐng)域起步較早、投入大、不同機(jī)構(gòu)間有不斷的交流合作,使得大量的國外機(jī)構(gòu)在這些領(lǐng)域取得了極為顯著的成果,成為了該領(lǐng)域的領(lǐng)頭羊,推動了機(jī)器視覺的發(fā)展。雖然國內(nèi)的科學(xué)技術(shù)在過去受到科學(xué)技術(shù)水平落后的限制,在機(jī)器視覺視頻監(jiān)控領(lǐng)域起步相較于國外起步較晚,但慢慢的隨著國內(nèi)的經(jīng)濟(jì)和科學(xué)技術(shù)水平的發(fā)展,計(jì)算機(jī)視覺也得到了巨大的發(fā)展,運(yùn)動目標(biāo)的入侵監(jiān)測的研究開始得到了國內(nèi)學(xué)者的重視。2002年5月國內(nèi)第一屆全國智能視覺監(jiān)控學(xué)術(shù)會議在北京舉行,會議重點(diǎn)討論了圖像序列分析、目標(biāo)識別和跟蹤、高層理解等研究方向。中國的高等學(xué)府如中國科學(xué)技術(shù)研究所、北京航空航天大學(xué)、南理工大學(xué)等首先敏銳的發(fā)現(xiàn)了機(jī)器視覺領(lǐng)域未來前景,大力的投入運(yùn)動目標(biāo)的監(jiān)測的研究。2018年中國機(jī)器視覺市場的規(guī)模首次超過了百億,在消費(fèi)電子、汽車、半導(dǎo)體、虛擬現(xiàn)實(shí)、智能安防等領(lǐng)域都對機(jī)器視覺視覺有著巨大需求。2021年上海國際機(jī)器視覺展覽會表現(xiàn)出機(jī)器視覺已經(jīng)具有高度的自動化、高效率、高精度的特點(diǎn)。在實(shí)現(xiàn)中國智能制造2025的目標(biāo)下,使用機(jī)器視覺的智能監(jiān)測系統(tǒng)的工業(yè)生產(chǎn)線相較于傳統(tǒng)的傳感器的不僅僅節(jié)省了大量的人力物力,還可以提高了工業(yè)生產(chǎn)的良品率,機(jī)器視覺的重要性愈來愈大,運(yùn)動目標(biāo)的監(jiān)測也逐步成為了機(jī)器視覺核心。智能化入侵監(jiān)測領(lǐng)域需要解決的問題傳統(tǒng)的監(jiān)控系統(tǒng)存在的問題有:1)需要人工判斷分析在一些背景復(fù)雜、環(huán)境惡劣的監(jiān)控環(huán)境下,大量的人工被使用來判斷監(jiān)控畫面中目標(biāo)的行為狀態(tài),長時(shí)間的觀看會造成人員的視覺疲勞,導(dǎo)致不能及時(shí)發(fā)現(xiàn)問題并處理。2)視頻分析困難視頻畫面的圖像快速分析的仍困擾著視頻處理,由于圖像數(shù)據(jù)的多變性,當(dāng)面對數(shù)據(jù)量增大時(shí),在某些重大事故需要分析大量的視頻數(shù)據(jù)時(shí),由于圖像數(shù)據(jù)各不相同,尋找目標(biāo)如同大海撈針,所以常常會發(fā)生誤報(bào)漏報(bào)等問題,加重了數(shù)據(jù)分析的負(fù)擔(dān)。3)監(jiān)控系統(tǒng)的響應(yīng)時(shí)間問題采用計(jì)算機(jī)對視頻畫面進(jìn)行圖像處理非常耗時(shí),傳統(tǒng)的視頻監(jiān)控系統(tǒng)對事故發(fā)生的響應(yīng)速度主要取決于人員的反應(yīng)時(shí)間,在面對突發(fā)情況時(shí),假如工作人員因?yàn)樽⒁饬Σ患?,反?yīng)時(shí)間和處理的速度會被加長,不利于突發(fā)狀況的預(yù)防處理。本文的研究內(nèi)容基于上述問題,本文主要采用的Python中的OpenCV庫編寫了一個(gè)空間入侵監(jiān)測系統(tǒng)。入侵監(jiān)測系統(tǒng)主要有圖像采集模塊、圖像處理,目標(biāo)監(jiān)測等模塊組成,通過計(jì)算機(jī)實(shí)現(xiàn)基于三維視覺的空間入侵監(jiān)測。二值化處理圖像二值化是指把經(jīng)過灰度處理后的圖像根據(jù)算法的規(guī)則將RGB通道的值變?yōu)閮H有黑色(0)、白色(255)兩種值的圖像,通過這樣轉(zhuǎn)變,我們能更加容易的捕獲目標(biāo),不同的閾值選取能直接對圖像取黑還是白產(chǎn)生巨大的影響。閾值選擇方法的可以分為以下幾種(1)全局固定閾值二值化全局固定閾值二值化是通過采用一個(gè)固定的閾值來進(jìn)行二值化,這種方法在二值化時(shí)穩(wěn)定性高,能排除掉部分干擾。通過現(xiàn)場視頻畫面提前經(jīng)過不斷的調(diào)試得出一個(gè)最優(yōu)的閾值,可以提高入侵目標(biāo)二值化的精度,使得目標(biāo)更容易被分辨出來。這種方法雖然適應(yīng)環(huán)境的變化能力較弱,但在一些室內(nèi)場地,光線變化不大的場景下,通過現(xiàn)場調(diào)試得出最優(yōu)閾值后,二值化的效果非常好。(2)局部自適應(yīng)閾值二值化局部自適應(yīng)閾值二值化指根據(jù)一個(gè)像素點(diǎn)周圍指定范圍內(nèi)的像素值來確定該像素點(diǎn)的二值化閾值。這樣做可以根據(jù)周圍的環(huán)境的明亮程度來自動選擇適應(yīng)的閾值。二值化閾值在亮度高的區(qū)域相對高,在亮度低的地方相對低。這種方法能夠自適應(yīng)環(huán)境進(jìn)行二值化處理,避免了不同的場景都要重復(fù)進(jìn)行調(diào)試,但因此精度會有縮減。形態(tài)學(xué)操作形態(tài)學(xué)是一門比較先進(jìn)的學(xué)科。形態(tài)學(xué)圖像處理是通過計(jì)算機(jī)程序結(jié)合數(shù)學(xué)理論知識對物體進(jìn)行操作。形態(tài)學(xué)操作一般運(yùn)用于邊界提取、噪聲消除、區(qū)域填充、細(xì)化、粗化等操作,通過定義具有一定結(jié)果的數(shù)學(xué)模型來測量和操作圖像中與模型相似的形狀來簡化圖像中無意義的圖像數(shù)據(jù)。形態(tài)學(xué)操作不會對圖像原有的特征造成影響,不會影響到圖像識別與處理的目的。膨脹和腐蝕兩種操作往往被廣泛的運(yùn)用到形態(tài)學(xué)操作中。在形態(tài)學(xué)操作中,腐蝕和膨脹的作用可謂相當(dāng)豐富。首先,可以幫我們?nèi)コ舳祱D像中的各種噪聲,其次,可以在找到二值圖像中噪聲點(diǎn)的同時(shí),連接圖像中鄰近的像素點(diǎn),最后,可以幫助我們找到圖像中的極大和極小值點(diǎn)。形態(tài)學(xué)腐蝕操作和形態(tài)學(xué)膨脹操作從其數(shù)學(xué)原理上可以理解為圖像與內(nèi)核了卷積,內(nèi)核也被稱為喵點(diǎn)或者模擬掩碼,其形狀和大小都通過需求單獨(dú)定義了,并沒有固定的標(biāo)準(zhǔn)。腐蝕操作是將內(nèi)核和其覆蓋區(qū)域二值圖中的每一個(gè)像素點(diǎn)都進(jìn)行與操作,如果兩個(gè)值都為1,那么該像素點(diǎn)去白色,反之取黑色。膨脹操作也是進(jìn)行內(nèi)核與其覆蓋區(qū)域二值圖進(jìn)行相與,兩個(gè)值都為0,則取黑色否則取白色。腐蝕操作是求取局部最大值的過程,計(jì)算得到的內(nèi)核與二值圖進(jìn)行卷積后的局部區(qū)域的像素點(diǎn)的RGB最大值,將局部的最大值賦值給指定的像素后,圖像中的高亮區(qū)域會逐漸擴(kuò)張。膨脹可以理解為內(nèi)核將圖像的外邊界包圍,對于高亮部分而已,圖像邊界以外的部分小于圖像的高亮像素,使用圖像外部會被內(nèi)部取代。 兩者雖然看起來是互逆操作,但使用形態(tài)學(xué)腐蝕操作對膨脹后的圖像進(jìn)行并不能完全的還原出膨脹前的原圖,反之也不能還原出原圖。先腐蝕后膨脹稱為開操作,先膨脹后腐蝕稱為閉操作。另外圖像形態(tài)學(xué)操作還有擊中與擊不中變換,頂帽變換,黑帽變換等。輪廓提取在進(jìn)行過上述圖像灰度化,二值化,形態(tài)學(xué)操作以后我們就可以進(jìn)行邊緣檢測與輪廓提取,邊緣檢測的實(shí)質(zhì)是通過某種特定的算法將圖像中的對象與背景進(jìn)行分割。在對圖像進(jìn)行二值化處理后,可以清晰的發(fā)現(xiàn)圖像中對象的邊緣就在處理過后黑與白兩種像素塊的交界處。由于圖像二值化后會產(chǎn)生大量的孔洞,所以對象會產(chǎn)生很多邊緣,我們需要選取最外層的邊緣。找到邊緣后就可以使用函數(shù)將輪廓繪制. 值得注意的是,某些特殊的情況可能會導(dǎo)致輪廓出現(xiàn)一個(gè)導(dǎo)致無法閉合的缺口,我們必須采用形態(tài)學(xué)操作使圖像外部邊緣閉合,這樣就可以避免遇到特殊情況時(shí)也能提取到目標(biāo)。 通過對目標(biāo)的輪廓提取,我們可以獲取到目標(biāo)的位置,通過不斷的連續(xù)的進(jìn)行圖像處理操作我們便可以得到一個(gè)動態(tài)的輪廓變化,從而達(dá)到空間入侵目標(biāo)的動態(tài)監(jiān)測。機(jī)器視覺簡介機(jī)器視覺就是通過機(jī)器人仿生模擬人眼觀察物體并提取特征信息,正如雙眼觀察目標(biāo)的時(shí)候,我們不僅僅可以知道物體是什么,同時(shí)也可以在這個(gè)過程中了解到更多的深度信息,根據(jù)技術(shù)手段的不同可以分為雙目視覺和單目視覺兩種技術(shù)路線。單目視覺的技術(shù)路線是先識別在深度:通過單目攝像頭獲取的圖像中的運(yùn)動目標(biāo)的信息,同時(shí)計(jì)算運(yùn)動目標(biāo)的相對運(yùn)動速度,通過導(dǎo)入固定參數(shù)并將目標(biāo)物體與周圍的固定參照物進(jìn)行對比,計(jì)算得出物體一些三維的信息,技術(shù)的關(guān)鍵就在于提前編寫好樣本數(shù)據(jù)庫。雙目攝像頭是采用先進(jìn)行建模在進(jìn)行識別,通過視差來進(jìn)行深度信息的獲取,雖然對比單目視覺系統(tǒng),雙目視覺系統(tǒng)對深度信息的獲取優(yōu)勢更大,但由于雙目系統(tǒng)的計(jì)算量大,為了識別的實(shí)時(shí)性在入侵目標(biāo)的檢測階段仍采用單目視覺來進(jìn)行,在獲取深度信息時(shí)采用雙目視覺相機(jī)采樣的原理由圖2.2可以分現(xiàn)相機(jī)成像的原理與小孔成像的原理很相似。相機(jī)在獲取圖像時(shí),物體表面會通過反射可見光,經(jīng)過相機(jī)透鏡反射到內(nèi)部成像平面上,三維的圖像就轉(zhuǎn)變成為了二維圖像。產(chǎn)生了世界坐標(biāo)系,圖像坐標(biāo)系,相機(jī)坐標(biāo)系1)世界坐標(biāo)系世界坐標(biāo)系的建立沒有任何個(gè)固定法制,但為了后續(xù)三維視覺的行人目標(biāo)檢測研究比較方便。我們將人的在中心點(diǎn)設(shè)為原點(diǎn)Ow,以目標(biāo)面對的方向?yàn)閄w正方向,以垂直向下為Yw正方向2)圖像坐標(biāo)系圖像坐標(biāo)系主要是描述圖像中的像素點(diǎn)的相對位置,所以以圖像的中心點(diǎn)O為原點(diǎn)X軸與Y軸垂直相交3)相機(jī)坐標(biāo)系以O(shè)點(diǎn)為攝像機(jī)光心(投影中心),Xc軸和Yc軸與成像平面坐標(biāo)系的x軸和y軸平行,Zc軸為攝像機(jī)的光軸,和圖像平面垂直。光軸與圖像平面的交點(diǎn)為圖像的主點(diǎn)O1,由點(diǎn)O與Xc,Yc,Zc軸組成的直角坐標(biāo)系稱為攝像機(jī)的坐標(biāo)系。O01為攝像機(jī)的焦距。相機(jī)標(biāo)定方法利用相機(jī)進(jìn)行信息采集時(shí),三維世界場景經(jīng)過透視變換到二維平面時(shí),勢必會由于畸變等原因?qū)е律疃刃畔⒌膩G失,因此需要對相機(jī)進(jìn)行標(biāo)定,獲取精確的相機(jī)參數(shù)后,再對三維場景進(jìn)行重構(gòu)。對單個(gè)相機(jī)進(jìn)行標(biāo)定可以獲得相機(jī)的焦距、主點(diǎn)坐標(biāo)、畸變參數(shù)等內(nèi)部參數(shù);對于立體視覺而言,在單個(gè)相機(jī)標(biāo)定的基礎(chǔ)上,還需對左右相機(jī)進(jìn)行雙目標(biāo)定,獲得旋轉(zhuǎn)矩陣、平移矩陣等外部參數(shù)。(1)傳統(tǒng)相機(jī)標(biāo)定法傳統(tǒng)相機(jī)標(biāo)定法[60]以基于最優(yōu)化算法的相機(jī)標(biāo)定為代表,該類方法需要通過與外部參照物的對比獲得標(biāo)定結(jié)果。傳統(tǒng)標(biāo)定方法的標(biāo)定精度較高,適用于相機(jī)參數(shù)相對固定的情況。(2)相機(jī)自標(biāo)定法相機(jī)自標(biāo)定法基于Kruppa方程等進(jìn)行相機(jī)標(biāo)定,該類方法無需外部參照物,通過分析多幅場景圖像的差異和相機(jī)內(nèi)部參數(shù)之間的約束關(guān)系即可得到標(biāo)定結(jié)果,這種方式適用范圍廣,但魯棒性相對較差。(3)張正友相機(jī)標(biāo)定法張正友相機(jī)標(biāo)定法是張正友教授1998年提出的單平面棋盤格的相機(jī)標(biāo)定方法。傳統(tǒng)標(biāo)定法的標(biāo)定板是需要三維的,需要非常精確,這很難制作,而張正友教授提出的方法介于傳統(tǒng)標(biāo)定法和自標(biāo)定法之間,但克服了傳統(tǒng)標(biāo)定法需要的高精度標(biāo)定物的缺點(diǎn),而僅需使用一個(gè)打印出來的棋盤格就可以。同時(shí)也相對于自標(biāo)定而言,提高了精度,便于操作。因此張氏標(biāo)定法被廣泛應(yīng)用于計(jì)算機(jī)視覺方面。雙目視覺成像原理分析及矯正雙目視覺有的時(shí)候我們也會把它稱為體視,是人類利用雙眼獲取環(huán)境三維信息的主要途徑。從目前來看,隨著機(jī)器視覺理論的發(fā)展,雙目立體視覺在機(jī)器視覺研究中發(fā)回來看了越來越重要的作用。雙目視覺原理分析雙目立體視覺是基于視差原理,由多幅圖像獲取物體三維幾何信息的方法。在機(jī)器視覺系統(tǒng)中,雙目視覺一般由雙攝像機(jī)從不同角度同時(shí)獲取周圍景物的兩幅數(shù)字圖像,或有由單攝像機(jī)在不同時(shí)刻從不同角度獲取周圍景物的兩幅數(shù)字圖像,并基于視差原理即可恢復(fù)出物體三維幾何信息,重建周圍景物的三維形狀與位置。雙目立體視覺由三角法原理進(jìn)行三維信息的獲取,即由兩個(gè)攝像機(jī)的圖像平面和北側(cè)物體之間構(gòu)成一個(gè)三角形。一直兩個(gè)攝像機(jī)之間的位置關(guān)系,便可以獲得兩攝像機(jī)公共視場內(nèi)物體的三維尺寸及空間物體特征點(diǎn)的三維坐標(biāo)。所以,雙目視覺系統(tǒng)一般由兩個(gè)攝像機(jī)構(gòu)成。當(dāng)左右兩個(gè)相機(jī)同時(shí)觀察三維像素點(diǎn)時(shí),像素點(diǎn)在這兩個(gè)平面上的投影的差異就是視差,在圖2.3中,在同一坐標(biāo)系內(nèi),點(diǎn)P為三維物體頂部坐標(biāo),O1與O2與兩垂直平面的交點(diǎn)就是投影點(diǎn)。通過數(shù)學(xué)運(yùn)算可以得出深度=光心的間距*相機(jī)的焦距/視差。視差越小,可以探測的深度越大。根據(jù)雙目視覺原理圖,我們可以發(fā)現(xiàn)可以通過使用兩個(gè)單目攝像頭構(gòu)成雙目攝像系統(tǒng),我們需要將兩個(gè)攝像頭交叉放置來增加測量范圍。通過兩個(gè)攝像頭分別從左右兩個(gè)角度獲取圖像,以左攝像頭為主體進(jìn)行實(shí)時(shí)的空間入侵監(jiān)測,通過程序處理左右兩個(gè)攝像頭中的圖像,得到更多的三維信息,以此來提高入侵監(jiān)測的精度。雙目視覺校正在雙目視覺系統(tǒng)中,當(dāng)兩個(gè)相機(jī)從兩個(gè)不同的位置觀測同一物體時(shí),三維空間中的點(diǎn)和它的像點(diǎn)存在著一定的幾何關(guān)系。從相機(jī)的中心點(diǎn)出發(fā),經(jīng)過像點(diǎn)作一條射線,則空間中這條射線上的點(diǎn)在圖像平面上所成的像均為同一個(gè)點(diǎn)。兩個(gè)相機(jī)光心之間的連線與左右像平面的交點(diǎn)稱為極點(diǎn)。射線在左相機(jī)平面上的投影為點(diǎn),在右相機(jī)平面上的投影為直線,這條線在右相機(jī)中叫做極線,同理直線在左相機(jī)平面上也是一條極線。在三維空間中,三點(diǎn)構(gòu)成一個(gè)平面,這個(gè)平面叫做極平面,極平面與相機(jī)成像平面的交線是極線,所有的極平面均相交于兩個(gè)極點(diǎn)之間的連線。根據(jù)空間點(diǎn)在左圖像平面上的投影點(diǎn),可以求得它在右圖像平面上的極線,空間點(diǎn)在右圖像平面上的投影點(diǎn)必然在極線上面。對于左相機(jī)圖像上的每一個(gè)像點(diǎn),在右相機(jī)圖像平面上必然有與它相對應(yīng)的極線,這種對應(yīng)關(guān)系被稱為極線約束。極線約束的建立,使得相機(jī)匹配的搜索范圍從一個(gè)平面縮小到了一條極線上,降低了搜索時(shí)間,提高了搜索效率。對于相交式雙目視覺系統(tǒng),我們可以通過雙目極線校正的方法,使得兩個(gè)相機(jī)的像平面共面,光軸相互平行。經(jīng)過雙目極線校正以后,左圖像上一點(diǎn)與右圖像上和它具有相同的行坐標(biāo)的一條直線相對應(yīng),搜索左圖像中一點(diǎn)在右圖像上的對應(yīng)點(diǎn)時(shí)只需要對行坐標(biāo)相同的像素點(diǎn)進(jìn)行搜索匹配即可,大大的提高了搜索效率基于單目視覺的空間入侵算法設(shè)計(jì)常見的空間入侵監(jiān)測算法基于三維視覺的空間入侵監(jiān)測系統(tǒng),本質(zhì)上是一個(gè)針對圖像中的入侵目標(biāo)進(jìn)行檢測與跟蹤,通過圖像處理把入侵目標(biāo)從背景中提取出來進(jìn)行跟蹤處理。在現(xiàn)實(shí)應(yīng)用環(huán)境中,我們根據(jù)攝像頭是否是固定的,將入侵目標(biāo)監(jiān)測系統(tǒng)分為動態(tài)背景監(jiān)測和靜態(tài)背景監(jiān)測,本文主要討論固定攝像頭的情況下的算法設(shè)計(jì)以優(yōu)化。常見的目標(biāo)監(jiān)測算法有光流法,幀差法,背景減除法這三種。光流法光流法是目前一種較為先進(jìn)的圖像處理算法,光流是用來描述運(yùn)動圖像模式運(yùn)動的速度,光流場是用來描述圖像上物體點(diǎn)運(yùn)動的速度場。光流法是基于光流提出的一種計(jì)算機(jī)視覺操作,其原理是通過建立光流場模型,因?yàn)槿肭帜繕?biāo)會對光流產(chǎn)生干擾,所以通過計(jì)算出圖像中像素點(diǎn)的運(yùn)動速度,如果圖像中像素點(diǎn)的光流有大幅度的相對運(yùn)動,那么大幅度移動的地方就是入侵目標(biāo)。但光流法的應(yīng)用難度也相當(dāng)大,由于其要滿足亮度不變和動幅度小兩個(gè)基本條件,如果亮度發(fā)生大幅度改變或者入侵目標(biāo)運(yùn)動迅速,會導(dǎo)致大面積的光流場受到大面積的影響,容易造成誤檢。并且光流法的算法計(jì)算量大,運(yùn)行時(shí)間長,需要搭建特定的硬件平臺才能夠?qū)崿F(xiàn),所以在此次系統(tǒng)設(shè)計(jì)中不做考慮。幀差法幀差法從字面意思上可以理解為將圖像幀與幀之間進(jìn)行差分運(yùn)算來得出入侵目標(biāo)。當(dāng)攝像頭處于固定狀態(tài)時(shí),當(dāng)視頻畫面中沒有入侵目標(biāo)出現(xiàn)時(shí),由于背景沒有變化,相鄰近幀之間的像素點(diǎn)幾乎沒有什么變化,當(dāng)入侵目標(biāo)出現(xiàn)時(shí),幀與幀之間的像素點(diǎn)的灰度值做減法并取絕對值便會得到一個(gè)值,將該值與設(shè)定的二值化閾值進(jìn)行對比,如果大于設(shè)定值就可以認(rèn)定為有目標(biāo)出現(xiàn)。幀差法一般有鄰近幀差法和三幀差法兩種,鄰近幀差法僅計(jì)算相鄰幀之間的灰度圖的像素點(diǎn)差,這種方法在實(shí)際運(yùn)用時(shí)由于監(jiān)測目標(biāo)在一幀圖像變化的時(shí)間的位移較小,會有大量的重復(fù)部分,容易照常目標(biāo)重復(fù)部分出現(xiàn)巨大的空洞,不易于我們后續(xù)圖像識別。相較于鄰近幀差法,三幀差法在此基礎(chǔ)上做了很大的優(yōu)化。三幀差法選取連續(xù)的三幀圖像,分別對連續(xù)兩幀的灰度圖進(jìn)行差分運(yùn)算,對得到兩個(gè)差分值二值化后與進(jìn)行邏輯運(yùn)算后得出結(jié)果,能夠更準(zhǔn)確的檢測運(yùn)動目標(biāo)。幀差法的優(yōu)點(diǎn)在于其算法較為簡單,運(yùn)行占用內(nèi)存小,對運(yùn)行的硬件要求低,同時(shí)由于其算法的特點(diǎn)導(dǎo)致這種方法受光線變化的影響較小,能夠適應(yīng)一些環(huán)境變化小的環(huán)境,是目前比較廣泛使用的算法。但時(shí)同樣是因?yàn)槠渌惴ǖ奶攸c(diǎn),在面對運(yùn)動較慢或者相對禁止的目標(biāo)的時(shí)候,無論是鄰近幀差法還是三幀差法都會由于運(yùn)動目標(biāo)的像素點(diǎn)在連續(xù)幾幀之間可能是重合的,目標(biāo)可能會短暫的消失。背景減除法背景差法與幀差法的原理基本上是相似的,區(qū)別在于幀差法才用的是鄰近幀的差法運(yùn)算,而背景減除法是與建立的背景模型進(jìn)行對比。當(dāng)攝像頭是固定的,圖像的背景幾乎是不發(fā)生任何變化的,通過邏輯運(yùn)算建立一個(gè)一個(gè)背景模型,并將其與當(dāng)前幀的灰度圖進(jìn)行差值運(yùn)算,得到值二值化后與二值化閾值進(jìn)行對于,只要大于閾值,那么就是運(yùn)動目標(biāo)。相較于幀差法,背景建模法對于目標(biāo)檢測效果更好,具有更強(qiáng)的抗干擾性和穩(wěn)定性。常見的背景減除法由均值建模法,混合高斯建模法法等。均值建模法的原理相當(dāng)?shù)暮唵?,建立模型的速度極快。只需要截取一段視頻序列中的所有幀,通過計(jì)算所有幀的灰度圖的像素值的平均值,各個(gè)像素點(diǎn)平均值構(gòu)成的就是該環(huán)境的背景模型。而混合高斯建模法則相對比較復(fù)雜,需要通過對每一個(gè)像素點(diǎn)都進(jìn)行對高斯模型來體現(xiàn)出像素的信息,將不同的高斯值通過加權(quán)疊加的辦法來建模。通過這種辦法建立的模型能夠有較強(qiáng)的環(huán)境適應(yīng)能力,能滿足幾乎所有的應(yīng)用環(huán)境,背景建模法相較于幀差法來說有著更高的準(zhǔn)確性,更強(qiáng)的抗干擾性,而且在運(yùn)行的時(shí)長上也僅必幀差法慢上一點(diǎn)點(diǎn)。基于混合高斯建模的空間入侵監(jiān)測算法設(shè)計(jì)混合高斯模型是一類穩(wěn)定的背景模型,假設(shè)在待測視頻圖像序列中某位置像素點(diǎn)的像素值分別為(X,X,X),為了描述該像素點(diǎn)像素值的分布情況,為其建立包含n(1≤n≤K)個(gè)高斯分布的混合模型,在時(shí)刻t,通過公式3-1來表示像素值X,屬于背景的概率: (3-1)其中,K表示高斯分布的個(gè)數(shù),w為第k個(gè)高斯分布在時(shí)刻t的權(quán)重值;,分別是第k個(gè)高斯分布在時(shí)刻t的期望和標(biāo)準(zhǔn)差;n為高斯分布概率密度函數(shù)。式中K決定了計(jì)算的精度,其取值越大,則跟蹤過程中能夠適應(yīng)的環(huán)境變化就越多,處理效果也會提升。但實(shí)際應(yīng)用中,受硬件數(shù)據(jù)處理能力的限制及計(jì)算復(fù)雜度的要求,K取值一般為3~5個(gè)。基于混合高斯的背景模型建模步驟如下:1)初始模型的建立將第一幀圖像中各個(gè)像素點(diǎn)的像素值X作為其第一個(gè)高斯分布的均值以,給定標(biāo)準(zhǔn)差己和權(quán)值w,構(gòu)建得到初始混合高斯模型。其中,標(biāo)準(zhǔn)差己應(yīng)取較大值,而權(quán)值w宜取較小值。2)前景檢測和模型學(xué)習(xí)高斯模型函數(shù)體現(xiàn)了圖像中像素點(diǎn)屬于背景的概率大小,如果視頻當(dāng)前幀中某一像素點(diǎn)符合建立的背景模型范疇,則認(rèn)為其為背景像素,否則屬于前景。在前景檢測過程中,用待測像素點(diǎn)的像素值X,去匹配已有的k個(gè)高斯分布,若滿足式(3-2),則表明當(dāng)前匹配成功,做模型參數(shù)更新處理,如果未能成功匹配,則將其作為下一個(gè)新的高斯分布更新模型結(jié)構(gòu),其中,當(dāng)k<K時(shí),直接引入;當(dāng)k=K時(shí),則把權(quán)值最小的那個(gè)高斯分布用其取代。(3-2)(3)模型參數(shù)的實(shí)時(shí)更新模型的實(shí)時(shí)更新保證了混合高斯模型的優(yōu)良穩(wěn)定性,采用公式(3-3)調(diào)整混合高斯模型中各個(gè)高斯分布的權(quán)值。(3-3)其中,o為學(xué)習(xí)率。若第k個(gè)高斯分布與被檢測的像素值X,匹配,則M為1,其余高斯分布對應(yīng)的M為0。通過這樣的配置,使得匹配次數(shù)多的高斯分布權(quán)值不斷變大,進(jìn)而達(dá)到模型的穩(wěn)定。均值和方差分別按式(3-4)和式(3-5)進(jìn)行更新。(3-4)(3-5)其中,r和β分別為預(yù)設(shè)的更新系數(shù)。模型更新完成后,將各高斯分布按式(3-6)從大到小排列,并選定其中權(quán)重最大的S個(gè)分布為穩(wěn)定的分布作為下一次目標(biāo)檢測的依據(jù)。 (3-6)程序測試及成果為了驗(yàn)證基于混合高斯建模法的入侵目標(biāo)檢測的算法性能,本文在Python的編譯環(huán)境下進(jìn)行,利用OpenCV-python提供的函數(shù)接口實(shí)現(xiàn),選取了一段來自O(shè)penCV官網(wǎng)的視頻。主要調(diào)用的函數(shù)和程序VideoCapture():進(jìn)行視頻讀取cv2.getStructuringElement():生成一個(gè)指定形狀和大小的內(nèi)核結(jié)構(gòu)用于形態(tài)學(xué)操作, cv2.createBackgroundSubtractorMOG2():混合高斯模型建立的函數(shù)讀取視頻中的每一幀:while(True):ret,frame=cap.read()#有兩個(gè)返回值,第一個(gè)返回值表示是否讀取到圖片,返 回True或者False,第二個(gè)參數(shù)表示截取到的每一幀圖片。fgmask=fgbg.apply(frame)fgmask=cv2.morphologyEx(fgmask,cv2.MORPH_OPEN,kernel)im,contours,hierarchy=cv2.findContours(fgmask,cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)遍歷所有的輪廓,篩選出超過閾值的部分畫出矩形框:forcincontours:perimeter=cv2.arcLength(c,True)ifperimeter>188:x,y,w,h=cv2.boundingRect(c)cv2.rectangle(frame,(x,y),(x+w,y+h),(123,123,17),2)實(shí)驗(yàn)結(jié)果如圖3-1所示,采用了混合高斯模型建模法能夠正確的識別出圖像中的絕大多數(shù)目標(biāo)并繪制了矩形框圖進(jìn)行了相應(yīng)的標(biāo)記,得出較為完整的前景目標(biāo)輪廓,圖像中沒有較大的空洞,能夠有效的進(jìn)行入侵目標(biāo)監(jiān)測與跟蹤,但當(dāng)兩個(gè)目標(biāo)距離較近時(shí),兩個(gè)會被識別到同一個(gè)矩形框中,造成了誤檢,仍需要提高和完善。通過對單目視覺入侵監(jiān)測的實(shí)驗(yàn),驗(yàn)證了目標(biāo)檢測的方法,結(jié)合雙目攝像頭原理,采用兩個(gè)單目攝像頭構(gòu)成基于三維視覺的空間入侵監(jiān)測

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論