Python|運動目標檢測

2020-12-24 網際網路冒泡

常用的運動目標檢測方法——幀差法

幀差法將鄰近幀圖像相減濾除圖像中的靜止景物得到運動區域,其對環境的光線變化不敏感並可快速檢測出運動目標,但對於運動物體速度太慢的情況則產生不完整的「空洞」現象,太快又易於生成「拖尾」現象,其之後的補償處理比較複雜。

1) 兩幀差法

兩幀差法實現方式:是前後兩幀進行差分得到差分圖像,通過比較所有像素的灰度差(即像素值之間的差)絕對值,設定一個閾值,如果灰度差絕對值超過這個絕對值,則得到一個像素集,即運動目標區域。通過對運動目標區域進行連通性分析,得到一個連通的目標區域。

① 假定P(i, j)對應第n幀圖像和第n-1幀的同一像素點,若第n幀P(i, j)的值用

fn-1(i, j)表示,第n-1幀P(i, j)的值用fn-1(i, j)表示,則:

P(i, j)=|fn(i, j)-fn-1(i, j)|

②假定兩像素之間相差後,判斷運動區域的閾值為T ,因為判定結果得到的是一個二值圖像,設 BW(i, j)為所得二值圖像。

2) 三幀差法

三幀差法是基於兩幀差法的檢測方法,其原理是將相鄰的3幀圖像前後作差,經過像兩幀差法的處理後,再將得到的兩個幀差圖像作「與」運算,最後得到運動目標輪廓。

① 假定P(i, j)對應第n+1、第n幀圖像和第n-1幀的同一像素點,若第n+1幀P(i, j)的值用表示,若第n幀P(i, j)的值用表示,第n-1幀P(i, j)的值用表示,則:

P(i, j)=|fn(i, j)-fn-1(i, j)|∩|fn(i, j)-fn+1(i, j)|

②假定像素作差再「與」運算後,判斷運動區域的閾值為T,因為判定結果得到的是一個二值圖像,設BW(i ,j)為所得二值圖像。

三幀差法的閾值設定與上面兩幀差相似。而幀差法的閾值設定時最難確定最佳閾值,這一步往往也是最容易影響結果的準確性。如果把閾值設置太高了那麼就可能把運動目標也部分去掉了,但是如果閾值設置過低,圖像噪聲就會偏多,影響結果。

效果如下,原始碼見github:https://github.com/Rare0716/targetDetect.git

第一次百家號發文章。對于格式還不太熟練,會慢慢改進。

相關焦點

  • 基於python+opencv的圖像目標區域自動提取
    提取矩形角落坐標矩形的檢測主要是提取邊緣,圖片顯示部分的亮度通常高於周圍環境,我們可以將圖片閾值化,將圖片部分與周圍環境明顯的分別開來,這對後邊的邊緣檢測非常有幫助。檢測矩形並提取坐標需要對圖像進行預處理、邊緣檢測、提取輪廓、檢測凸包、角點檢測。
  • 數據科學工具包:手把手用YOLO做目標檢測
    其中,目標檢測是計算機視覺領域常見的問題之一,如何平衡檢測的質量和算法的速度很重要。對於這個問題,計算機視覺工程師、VirtusLab 創始人 Piotr Skalski 發表了自己的心得,分享了關於他最喜歡的計算機視覺算法 YOLO 的實踐資料。以下便是他的全文。
  • OpenCV-Python 光流|四十八
    目標在本章中,我們將了解光流的概念及其使用Lucas-Kanade方法的估計。我們將使用cv.calcOpticalFlowPyrLK()之類的函數來跟蹤視頻中的特徵點。光流光流是由物體或照相機的運動引起的兩個連續幀之間圖像物體的視運動的模式。它是2D向量場,其中每個向量都是位移向量,表示點從第一幀到第二幀的運動。考慮下面的圖片(圖片提供:Wikipedia關於Optical Flow的文章)。它顯示了一個球連續5幀運動。箭頭顯示其位移向量。
  • 慢步python,你苦苦找尋的python中文使用手冊在哪裡?這裡有答案
    #學習難度大python對大家來說,應該算是相對新的程式語言。即使這樣,我們學習python的道路依舊困難重重。問題在,相關的學習資料不夠系統。初學者使用手冊像以前剛開始使用電視、手機一樣,都有一本使用說明書,即使用手冊。
  • 讓所有程式設計師絕不能錯過的59個Python庫總結!
    Python有以下三個特點:易用性和靈活性全行業高接受度:Python無疑是業界最流行的數據科學語言用於數據科學的Python庫的豐富數量優勢本文介紹了python人最常用的59個python庫。一起來看看吧~用於數據收集的Python庫1.
  • 一篇文章幫你搞定Python異常處理
    異常與錯誤程序錯誤分類(兩類)語法錯誤(這種錯誤,根本過不了python解釋器的語法檢測,必須在程序執行前就改正)邏輯錯誤(邏輯錯誤)#用戶輸入不完整中,錯誤觸發的異常如下Python中異常種類在python中不同的異常可以用不同的類型(python中統一了類與類型,類型即類)去標識,不同的類對象標識不同的異常,一個異常標識一種錯# 觸發IndexErrorl=['run1','aa']
  • 做目標檢測,這6篇就夠了:CVPR 2020目標檢測論文盤點
    CVPR 2020 會議上,有哪些目標檢測論文值得關注?目標檢測是計算機視覺中的經典問題之一。憑藉大量可用數據、更快的 GPU 和更好的算法,現在我們可以輕鬆訓練計算機以高精度檢測出圖像中的多個對象。前不久結束的 CVPR 2020 會議在推動目標檢測領域發展方面做出了一些貢獻,本文就為大家推薦其中 6 篇有價值的目標檢測論文。
  • Python常用庫大全
    ptpython – 高級交互式Python解析器, 構建於python-prompt-toolkit 之上。 文件文件管理和 MIME(多用途的網際郵件擴充協議)類型檢測。imghdr – (Python 標準庫)檢測圖片類型。 mimetypes – (Python 標準庫)將文件名映射為 MIME 類型。
  • python字典操作大全,學習python第7天
    python字典跟列表類型,能存儲多個數據,並且還能在訪問元素的時候可以很快定位到需要的元素。而python字典操作方法有多少種呢?下面羽憶教程為您介紹。python字典python字典概念:python字典可以用來存儲任意類型對象,python字典都是由一個鍵和一個值組成的「鍵值對」,兩者之間用冒號隔開
  • Python2 已終結,入手Python 3,你需要這30個技巧
    想更深入的了解數據類,可以參考:https://realpython.com/python-data-classes/你可以快速創建一個網頁伺服器,並將當前的路徑作為內容:python3 -m http.server如果你想跟你的同事分享一些東西,或者測試一些簡單的 HTML 網站,那這條命令就很有用了。儘管你可以在代碼中用三重引號(「 「 「 」 」 」)來存儲多行字符串,但這並不是理想的方法。你在三重引號間的所有內容都變成了字符串,如下圖所示,連格式符都變成了字符串。
  • Python開發:Win10創建定時任務執行Python腳本
    註:創建基礎任務時,選擇的執行程序是pythonw.exe,而不是python.exe,主要原因是pythonw.exe執行python程序是不會出現黑色控制臺窗口,python.exe執行python文件時會出現控制臺窗口,從用戶體驗觸發,選擇pythonw.exe執行。
  • python多重線性回歸分析
    python多重線性回歸分析多重線性回歸分析定義多重線性回歸模型:Mulitiple Linear Regression多元線性回歸模型:MultivariateLinear Regression數據準備#多重線性回歸#數據準備import pandas as pddf=pd.read_csv('e:/python/out/corr.csv',encoding='utf8')df根據預測目標,確定自變量和因變量#多重線性回歸
  • opencv-python獲取圖像:面向對象與面向過程
    運行環境:win10系統 python==3.6 opencv-contrib-python== 4.1.0第一行「# -*- coding: utf-8 -*-」 告訴Python解釋器,按照UTF-8編碼讀取原始碼"""import cv2image=cv2.imread('lena.JPG') #讀取本地圖片,
  • 深圳Python培訓班打造行業高標準Python人才
    Python火的原因1、python相比別的高級語言集成度更高,除了執行的效率低些,開源可以調用的類庫實在太多了,要實現一個功能,如果換作傳統的程式語言,需要實現基本的功能模塊,但直接調用類庫很方便的搞定,特別適合零基礎的學習, 幾行代碼就能實現很強大的功能。
  • 圖像目標檢測算法——總結
    傳統目標檢測方法Selective SearchDeformable Part Model基於CNN 的目標檢測1.最開始的CNN 目標檢測就是兩階段的。R-CNNR-CNN 是最早利用CNN 實現目標檢測任務的方法,由rbg(Ross Girshick)等人提出。
  • Python Tool 101 - Tool 002 - Python 情感分析 SnowNLP
    SnowNLP是咋們中國人受到了TextBlob的啟發後開發的python類庫,能夠非常方便的處理中文文本內容,劃重點方便處理中文的類庫!!!,類庫中的算法和訓練好的字典都已經準備好了。唯一需要注意的是要使用unicode編碼,所以使用時請自行decode成unicode。知道這個SnowNLP是什麼之後,我們開始設計下實驗方案。
  • 蘇州python培訓班做時代前沿的工程師
    先定個小目標爬個小山,然後再往更高山峰前進。而不像C和JAVA光語言學習本身,對於很多初學者來說就像珠穆朗瑪峰一樣高不可攀。明確優雅:Python的語法非常簡潔,代碼量少,非常容易編寫,代碼的測試、重構、維護等都非常容易。一個小小的腳本,用C可能需要1000行代碼、用JAVA可能要幾百行,但是用Python往往只需要幾十行就能實現!
  • python能做什麼
    python能做什麼?書聲琅琅Python培訓老師介紹,最近許多的朋友諮詢,聽說python很火,甚至可以超越JAVA,因此很想學這個python,但是不知道python能做什麼,能完成一些什麼項目呢?針對這個問題,今天徐老師跟大家來聊一聊python能做什麼的話題。
  • Kaggle實戰目標檢測奇淫技巧合集
    點擊文末「閱讀原文」立刻申請入群~本文來自52CV群友Spytensor參加Kaggle目標檢測比賽的總結,作者是位數據競賽愛好者,文章非常具有實戰意義。這裡分享一下我總結的一些目標檢測中會用到的 「奇淫技巧」,牽扯到代碼的我就直接拿 mmdetection[1] 來舉例了,修改起來比較簡單。1.
  • Anchor Boxes——目標檢測質量的關鍵
    雷鋒網(公眾號:雷鋒網) AI 科技評論按:隨著計算機視覺技術逐年火熱,利用計算機圖像處理技術對目標進行實時跟蹤的研究越來越熱門那麼如何提高目標檢測的質量?Anders Christiansen 認為,正確地調整 Anchor Boxes 可以大大提高模型檢測某些未知大小和形狀的對象的能力。下面是他的觀點, 雷鋒網 AI 科技評論編譯整理。在學習用於目標檢測的卷積神經網絡時,Anchor Boxes 是最難掌握的概念之一。它還是你在提高數據集的性能的時候,能夠調優的最重要的參數之一。