攝像頭圖像分析目標物體大小位置_一文讀懂圖像定位及跟蹤技術

04dacdb40121e5ecc8d29094ca5a3037.png

文 | 傳感器技術

在科學技術日新月異的今天,人們對機器設備的智能性、自主性要求也越來越高,希望其完全替代人的角色,把人們從繁重、危險的工作任務中解脫出來,而能否像人一樣具有感知周圍環境的能力已成為設備實現智能化自主化的關鍵。

571187c4d5e2a1049ead86add2396abe.png

廣義的“圖像跟蹤”技術,是指通過某種方式(如圖像識別、紅外、超聲波等)將攝像頭中拍攝到的物體進行定位,并指揮攝像頭對該物體進行跟蹤,讓該物體一直被保持在攝像頭視野范圍內。狹義的“圖像跟蹤”技術就是我們日常所常談到的,通過“圖像識別”的方式來進行跟蹤和拍攝。

因為紅外、超聲波等方式,都受環境的影響,而且要專門的識別輔助設備,在實際應用中已經逐步被“圖像識別”技術所替代。“圖像識別”是直接利用了攝像頭拍攝到的圖像,進行NCAST圖像差分及聚類運算,識別到目標物體的位置,并指揮攝像頭對該物體進行跟蹤。

圖像跟蹤系統采用特有的NCAST目標外形特征檢測方法,被跟蹤者無需任何輔助設備,只要進入跟蹤區域,系統便可對目標進行鎖定跟蹤,使攝像機畫面以鎖定的目標為中心,并控制攝像機進行相應策略的縮放。系統支持多種自定義策略,支持多級特寫模式,適應性強,不受強光、聲音、電磁等環境影響。

目標物體的邊緣檢測

物體的形狀特征在大多數情況下變化不多,基于目標形狀輪廓的跟蹤方法與基于區域的匹配方法相比,可以更精確的分割目標。

邊緣是運動目標的最基本特征,表現在圖像中就是指目標周圍圖像灰度有階躍變化或屋頂變化的那些像素集合,它是圖像中局部亮度變化最顯著的部分。

c87fb4f69a14b06c02e68549c2cb78fd.png

邊緣檢測就是采用某種算法來定位灰度不連續變化的位置,從而圖像中目標與背景的交界線。圖像的灰度變化可以用灰度梯度來表示。

梯度算子

梯度也即一階導數,梯度算子對應一階導數算子,一階導數也即梯度可以表示為:

77a4e83bbbbf529ad741739f201b5922.png

圖像經過邊緣檢測之后,還要經過輪廓追蹤和輪廓表達。輪廓跟蹤的目的是得到邊緣像素的集合邊緣表。輪廓表達則是通過對邊緣表做一些處理,如擬合、統計及逼近等,得到目標形狀特征的直觀表達,為后續匹配提供模板信息。

輪廓跟蹤的思想是:

1、根據提取的圖像邊緣,找出輪廓上的像素;

2、根據這些像素的特征用一定的“跟蹤準則”找出物體上的其他像素;

3、其跟蹤效果的好壞主要取決于起始點和跟蹤準則的選取兩個因素。

跟蹤準則:

按起始點選取準則找到最左下方位的邊界點后,以其為起始點,定義左上方為初始搜索方向,若該方向的點為黑點(特征點),則判其為邊界點,否則沿順時針方向旋轉搜索方向45度,依此類推,直到搜索到第一個黑點(特征點)為止,然后再把該黑點(特征點)作為新的邊界點,逆時針方向旋轉當前搜索方向90度,用相同的方法繼續搜索下一個黑點(特征點),直到找到初始邊界點為止。若用箭頭表示搜索方向,那么該輪廓跟蹤算法可以用圖表示。

45b98fdd184887701dcb2875ff0c51f4.png

通過上述算法得到物體的邊緣表后,可以用其作為輪廓表達,也可以對其進行處理,用處理后的信息形式來表達輪廓。目前常用的輪廓表達有以下三種:逼近擬合曲線法、內插擬合曲線法、統計特征法。

目標圖像顏色檢測

為了對豐富多樣的色彩進行表達,人們用表示顏色的三個參數所構成的三維空間來對圖像的顏色進行描述,這個三維空間就是所謂的顏色空間。

如:RGB格式(紅、綠、藍三基色模型)、HSV格式(色度、飽和度、亮度模型)

RGB格式是工業界的一種顏色標準,是通過對紅(R)、綠(G)、藍(B)三個顏色通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,RGB即是代表紅、綠、藍三個通道的顏色,這個標準幾乎包括了人類視力所能感知的所有顏色,是目前運用最廣的顏色系統之一。

2d3b30a73077aa458c4f2bd940c11a9d.png

HSV格式:H參數表示色彩信息,即所處的光譜顏色的位置。該參數用一個角度量來表示,紅、綠、藍分別相隔120度。互補色分別相差180度。純度S為一比例值,范圍從0到1,它表示成所選顏色的純度和該顏色最大的純度之間的比率。S=0時,只有灰度。V表示色彩的明亮程度,范圍從0到1。有一點要注意:它和光強度之間并沒有直接的聯系。

52f7d02db0e5786f3623b1f2615120f8.png

例如:采用直方圖來表達圖像的顏色分布特征:1、對顏色進行量化;2、計算顏色落在各個小區間內的像素數量;3、對其進行直方圖投影就可以得到圖像的顏色概率分布圖像。

6e3831fe33ad9629c46181aac2d72ecf.png9c4e4e8a1e9640b18282ae0989b034e0.png

圖像濾波及形態學處理算法

運動目標提取時,為了消除相機采集的圖像中的噪聲、改善圖像質量,使圖像變得更清晰,需要對圖像進行濾波。幾種常見噪聲:高斯噪聲、加性噪聲及椒鹽噪聲等。

為了消除噪聲影響和突出圖像的一些特征,目前常用的方法有:鄰域均值濾波、中值濾波法等。

e5374c7fa479430f873defa849ec9e35.png

運動目標提取完成后,得到的二值化圖像可能含有許多空洞和孤立的噪聲點,為了更好地對目標進行定位和跟蹤,需要對得到的檢測結果進行形態學處理。

形態學處理主要思想是:采用一個特定的結構元素作為工具來度量和提取圖像特征(形狀、輪廓等),具體為看該結構元素是否可以適當有效地放入圖像內部。目前常用的形態學運算有:膨脹、腐蝕、開啟和閉合操作。

圖像匹配

圖像匹配是指在多幅圖像之間尋找對應關系的過程,具體為在一幀圖像中尋找與給定目標最相似的圖像區域或在一批圖像中尋找與目標最相似的圖像。

利用圖像匹配技術不僅可以檢測出搜索圖像中是否有目標圖像,還可以獲得目標在圖像中的相對位置信息。

匹配算法概括起來可以分為兩類:基于區域的匹配方法和基于特征的匹配方法。

基于區域的匹配方法

根據整幅圖像的灰度值信息,建立目標模板和待匹配目標圖像之間的相似性度量,然后采用相應的搜索算法,尋找待匹配目標圖像中相似性度量值最大的地方。

d1351103f5281d3a50542624c9fb105d.png

基于特征的匹配方法

提取圖像的特征,如特征點、邊緣、顏色、紋理等,對提取的特征進行加工處理將其表達成特定的形式(向量、直方圖),對加工后的圖像特征采用一定的相似性度量準則進行匹配以建立目標模板和待匹配圖像之間的對應關系。

7a6fa082a7f6d6045ed073bec08c1048.png

圖像跟蹤技術的應用領域

目前,目標跟蹤技術主要應用于以下領域:

1、智能視頻監控:基于運動識別(基于步法的人類識別、自動物體檢測等),自動化監測(監視一個場景以檢測可疑行為);交通監視(實時收集交通數據用來指揮交通流動);

2、人機交互:傳統人機交互是通過計算機鍵盤和鼠標進行的,為了使計算機具有識別和理解人的姿態、動作、手勢等能力,跟蹤技術是關鍵;

3、機器人視覺導航:在智能機器人中,跟蹤技術可用于計算拍攝物體的運動軌跡;

4、虛擬現實:虛擬環境中3D交互和虛擬角色動作模擬直接得益于視頻人體運動分析的研究成果,可給參與者更加豐富的交互形式,人體跟蹤分析是其關鍵技術;

5、醫學診斷:跟蹤技術在超聲波和核磁序列圖像的自動分析中有廣泛應用,由于超聲波圖像中的噪聲經常會淹沒單幀圖像有用信息,使靜態分析十分困難,而通過跟蹤技術利用序列圖像中目標在幾何上的連續性和時間上的相關性,可以得到更準確的結果。

eac67848aeff6f2badba7a567bcaf6a5.png

1edc2cd27bc2c356b38384df7e795cae.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/533607.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/533607.shtml
英文地址,請注明出處:http://en.pswp.cn/news/533607.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java 相對路徑獲取_在java項目中通過相對路徑獲取資源的方式

1.可以通過 類名.class.getResource方法獲取或者getSystemResource2.可以通過當前線程 Thread.currentThread().getContextClassLoader().getResource獲取public class TestDemo {public static void main(String[] args) throws FileNotFoundException, IOException {Properti…

python循環嵌套的外循環必須完全包含內循環_Python:循環與嵌套循環實現規律數列...

很多人覺得編程很難,其實換個想法,這就是個用來解決問題的工具,我們為了解決實際問題而來學習和使用編程,這樣編程學習有了目的性,動力會更強。就像現在十分熱門的Python技術,就是人工智能領域所需求的&…

python爬取正確但不出文件_使用BeautifulSoup進行Python抓取時不顯示所有行

我是美容小組的新手。我試圖從ESPN Fantasy Basketball Standings中獲取“Season Stats”表,但并不是返回所有行。經過一番研究,我認為這可能是一個問題html.parser,所以我用了lxml。我得到了同樣的結果。如果有人能告訴我如何得到所有球隊的…

pat乙級相當于什么水平_雅思6.5是什么水平?相當于托福多少分?

雅思和托福是當前社會中非母語人士的主流英語水平測試。準備出國留學的學生對這兩項考試并不陌生。對于一些學生來說,僅靠雅思成績并不足以申請他們最喜歡的學校。特別是對于申請北美院校的學生,托福成績是申請時提交語言成績的優先考慮事項。那么&#…

java時間方法_JAVA處理日期時間常用方法

轉載JAVA處理日期時間常用方法:1.java.util.CalendarCalendar 類是一個抽象類,它為特定瞬間與一組諸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日歷字段之間的轉換提供了一些方法,并為操作日歷字段(例如獲得下星期的日期)提供了一些方法。瞬間可…

python氣象_Python 在氣象上的應用

Python 在氣象上的應用0.7892019.03.15 23:19:31字數 913閱讀 1,024為什么選擇python功能齊全的編程語言,真正面向對象喜歡可讀的代碼出版質量圖繪制輕松讀/寫netcdf和grib數據輕松使用Fortran / C / C 廣泛的庫支持數字和非數字工作科學計算1.Numpy  Numpy是pyth…

雙飛翼布局內容不換行_web前端入門到實戰:圣杯布局和雙飛翼布局

稍微了解前端的人都知道,圣杯布局和雙飛翼布局是前端面試時必問的問題,因為它既能體現你懂HTML結構又能體現出你對DIVCSS布局的掌握,畢竟我們學習CSS主要就是為了更好地布局帶來最好的用戶體驗嘛~事實上,圣杯布局其實和…

java 去掉 t_關于Java:在LocalDateTime中不能刪除“ T”

這是問題所在:GetMapping("/main/search")public String search (RequestParam String departure,RequestParam String arrival,RequestParam String departureTime,Model model) {DateTimeFormatter formatter DateTimeFormatter.ofPattern("yyyy-…

數據結構知識點總結_大牛帶你學 | 考研數據結構中線性表中順序結構的知識點總結...

前言我們都知道,數據結構中邏輯結構可以劃分為線性結構(線性表)與非線性結構兩大類。而存儲結構指的是數據元素在計算機中的存儲及其邏輯關系的表現,也就是在計算機當中對邏輯結構的表示。線性表的存儲結構主要有順序結構和鏈式結構兩種實現形式。本文主…

java矩形翻轉_如何判斷一個點在旋轉后的矩形中

前言最近在做的一款游戲中,用到點與旋轉矩形的判定來獲得一個選中的物體。在此做個記錄如圖所示,黃色的顏料屏是旋轉的,如果不做處理直接判斷點是否在矩形中,那么點擊紅點的位置會判定為選中物體。顯然這是不對的。如果物體沒有旋…

python中用函數設計棧的括號匹配問題_數據結構和算法(Python版):利用棧(Stack)實現括號的匹配問題...

算法數據結構數據結構和算法(Python版):利用棧(Stack)實現括號的匹配問題在平時寫程序當中,我們會經常遇到程序當中括號的匹配問題,也就是在程序當中左括號的數量和右括號的數量必須相等。如果不相等的話則程序必然會報錯。Hint:在讀取程序的…

python創建空元組_Python——元組的基本語法(創建、訪問、修改、刪除)

原標題:Python——元組的基本語法(創建、訪問、修改、刪除)Python 元組的使用Python 的元組與列表類似,不同之處在于元組的元素不能修改。元組使用小括號 ( ),列表使用方括號 [ ]。元組創建很簡單,只需要在括號中添加元素&#xf…

openssl 生成證書_CentOS7 httpd(Apache)SSL 證書部署

在之前我的文章中我已經搭建了nextcloud服務器,現在我們需要通過域名及https訪問怎么辦1. 進行了簡單的httpd設置后,就可以為網站添加SSL證書功能了。2. 首先得獲取證書,有了證書才能添加。我們采用本地上傳的方式將SSL證書上傳到CentOS上。獲…

FJ的字符串java問題_藍橋杯VIP試題 之 基礎練習 FJ的字符串- JAVA

問題描述FJ在沙盤上寫了這樣一些字符串:A1 “A”A2 “ABA”A3 “ABACABA”A4 “ABACABADABACABA”… …你能找出其中的規律并寫所有的數列AN嗎?輸入格式僅有一個數:N ≤ 26。輸出格式請輸出相應的字符串AN,以一個換行符結束。…

java仿qq gui_Java仿QQ登入頁面

1.[代碼][Java]代碼package com.myqq.frame;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Cursor;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.Image;import java.awt.event.MouseAdapter;import ja…

python數據預處理 重復行統計_Python數據分析之數據預處理(數據清洗、數據合并、數據重塑、數據轉換)學習筆記...

1. 數據清洗1.1 空值和缺失值的處理?空值一般表示數據未知、不適用或將在以后添加數據。缺失值是指數據集中某個或某些屬性的值是不完整的。?一般空值使用None表示,缺失值使用NaN表示1.1.1 使用isnull()和notnull()函數?可以判斷數據集中是否存在空值和缺失值1.1…

java編寫系統登錄界面_java 登陸界面怎么寫,連接數據庫后

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓界面是package 界面類;import javax.jws.soap.SOAPBinding.Use;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing…

python如何復制oracle數據_Python使用cx_Oracle模塊將oracle中數據導出到csv文件的方法...

本文實例講述了Python使用cx_Oracle模塊將oracle中數據導出到csv文件的方法。分享給大家供大家參考。具體實現方法如下:# Export Oracle database tables to CSV files# FB36 - 201007117import sysimport csvimport cx_Oracleconnection raw_input("Enter Or…

JAVA構造函數是不是封裝_Java 封裝與構造函數

面向對象思想思想的三個特征:封裝,繼承,多態。封裝:表現:函數就是一個最基本的封裝體,類也是一個封裝體。好處:1、提高了代碼的復用性,2、隱藏了實現細節,可以對外提供可…

python獲取mysql數據為excel中的sheet_python 從excel、csv、mysql、txt獲取數據源

使用python進行數據分析工作的第一步是獲取數據源,數據源來可能來自于excel、txt、csv文件、mysql數據庫。分別看看這些數據源怎么導入到python中。1. Excel 數據源導入python首先導入pandas 模塊import pandas as pdexcel 導入格式為:pd.read_excel( 路…