簡體   English   中英

如何使用計算機視覺來查找圖像中的形狀?

[英]How can I use computer vision to find a shape in an image?

我有一張簡單的照片,可能包含或不包含徽標圖像。 我正在嘗試確定圖片是否包含徽標形狀。 徽標(具有一些額外特征的矩形形狀)可以具有各種尺寸並且可以具有多次出現。 我想使用計算機視覺技術來識別這些徽標的出現位置。 有人能指出我可以用來實現這個目標的正確方向(算法,技術嗎?)?

我是計算機視覺的新手,所以任何方向都會非常感激。

謝謝!

實際問題

因為你需要一個尺度不變的方法(這是“可以是各種尺寸”的正確術語)SIFT(如圖中的Logo識別中提到的,感謝overrider!)是一個很好的首選,它現在非常受歡迎,值得一試。 你可以在這里找到一些代碼下載。 如果你不能使用Matlab,你可能應該使用OpenCV。 即使您最終由於某種原因丟棄SIFT,嘗試使其工作也會教會您一些關於對象識別的重要事項。

一般描述和術語

本節主要通過描述一大類對象檢測方法向您介紹一些重要的流行語,以便您可以查看這些內容。 重要提示:還有許多其他方法不屬於本課程。 我們稱這類為“基於特征的檢測”。

所以,首先你去找你的圖像特征 這些是圖像的特征點(角點和線交叉是很好的例子),它們有很多不變性 :無論你對圖像做什么合理的處理(縮放,旋轉,亮度變化,增加一些噪點等),它都會不改變某個角落存在角落的事實。 “像素值”或“垂直線”是不好的功能。 有時,除了位置之外,特征還會包含一些數字(例如角落的突出部分)。

然后你做一些清理,比如刪除不夠強大的功能。

然后你去你的數據庫 這是你事先建立起來的東西,通常是通過拍攝幾張漂亮而干凈的圖像來找到你想要找到的東西,運行你的特征檢測,清理東西,並將它們安排在下一階段的某些數據結構中 -

查找 您必須從圖像中獲取一些功能,並嘗試將它們與您的數據庫進行匹配:它們是否與您要查找的對象相對應? 這是非常重要的,因為從表面上看,你必須考慮你發現的一系列功能的所有子集,這是指數級的。 所以有各種各樣的智能散列技術可以做到,比如霍夫變換幾何散列

現在你應該做一些驗證。 您在圖像中發現了一些可疑的地方:它們很可能包含您的對象。 通常,您知道對象的假定大小,方向和位置是什么,並且您可以使用簡單的東西(如卷積 )來檢查它是否真的存在。

你最終得到了一堆概率,基本上:對於一些地方,你的物體存在的可能性有多大。 在這里你做一些離群檢測 如果您期望只有1-2次出現您的對象,那么您將尋找突出的最大概率,並僅采用這些點。 如果您預計會出現很多事件(例如,在一群人的照片上進行面部檢測),您將尋找非常低的概率並丟棄它們。

就是這樣,你完成了!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM