{"title":"OpenCV的特征检测器和特征匹配器的比较","authors":"Frazer K. Noble","doi":"10.1109/M2VIP.2016.7827292","DOIUrl":null,"url":null,"abstract":"There exists a range of feature detecting and feature matching algorithms; many of which have been included in the Open Computer Vision (OpenCV) library. However, given these different tools, which one should be used? This paper discusses the implementation and comparison of a range of the library's feature detectors and feature matchers. It shows that the Speeded-Up Robust Features (SURF) detector found the greatest number of features in an image, and that the Brute Force (BF) matcher matched the greatest number of detected features in an image pair. Given a benchmark image set, OpenCV's SURF detector found, on average, 1907.20 features in 1538.61 ms, and OpenCV's BF matcher, on average, matched features in 160.24 ms. The combination of the Binary Robust Invariant Scalable Key-points (BRISK) detector and BF matcher was found to be the highest ranked combination of OpenCV's feature detectors and feature matchers; on average, detecting and matching 1132.00 and 80.20 features, respectively, in 265.67 ms. It was concluded that if the number of features detected is important, the SURF detector should be used; else, if the number of features matched is important, the BF matcher should be used; otherwise, the combination of the OpenCV's BRISK feature detector and BF feature matcher should be used.","PeriodicalId":125468,"journal":{"name":"2016 23rd International Conference on Mechatronics and Machine Vision in Practice (M2VIP)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"47","resultStr":"{\"title\":\"Comparison of OpenCV's feature detectors and feature matchers\",\"authors\":\"Frazer K. Noble\",\"doi\":\"10.1109/M2VIP.2016.7827292\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"There exists a range of feature detecting and feature matching algorithms; many of which have been included in the Open Computer Vision (OpenCV) library. However, given these different tools, which one should be used? This paper discusses the implementation and comparison of a range of the library's feature detectors and feature matchers. It shows that the Speeded-Up Robust Features (SURF) detector found the greatest number of features in an image, and that the Brute Force (BF) matcher matched the greatest number of detected features in an image pair. Given a benchmark image set, OpenCV's SURF detector found, on average, 1907.20 features in 1538.61 ms, and OpenCV's BF matcher, on average, matched features in 160.24 ms. The combination of the Binary Robust Invariant Scalable Key-points (BRISK) detector and BF matcher was found to be the highest ranked combination of OpenCV's feature detectors and feature matchers; on average, detecting and matching 1132.00 and 80.20 features, respectively, in 265.67 ms. It was concluded that if the number of features detected is important, the SURF detector should be used; else, if the number of features matched is important, the BF matcher should be used; otherwise, the combination of the OpenCV's BRISK feature detector and BF feature matcher should be used.\",\"PeriodicalId\":125468,\"journal\":{\"name\":\"2016 23rd International Conference on Mechatronics and Machine Vision in Practice (M2VIP)\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2016-11-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"47\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2016 23rd International Conference on Mechatronics and Machine Vision in Practice (M2VIP)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/M2VIP.2016.7827292\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 23rd International Conference on Mechatronics and Machine Vision in Practice (M2VIP)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/M2VIP.2016.7827292","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 47
摘要
存在一系列的特征检测和特征匹配算法;其中许多已经包含在开放计算机视觉(OpenCV)库中。然而,给定这些不同的工具,应该使用哪一个呢?本文讨论了一系列库的特征检测器和特征匹配器的实现和比较。结果表明,SURF (accelerated - up Robust Features,加速鲁棒特征)检测器在图像中发现的特征数量最多,而BF (Brute Force matcher)匹配器在图像对中匹配到的特征数量最多。给定一个基准图像集,OpenCV的SURF检测器平均在1538.61 ms内发现1907.20个特征,而OpenCV的BF匹配器平均在160.24 ms内匹配特征。二元鲁棒不变可伸缩关键点(Binary Robust Invariant Scalable Key-points, BRISK)检测器和BF匹配器的组合被认为是OpenCV的特征检测器和特征匹配器中排名最高的组合;平均在265.67 Ms内分别检测和匹配了1132.00个和80.20个特征。如果检测到的特征数量很重要,则应使用SURF检测器;否则,如果匹配的特征数量很重要,则应使用BF匹配器;否则,应该结合使用OpenCV的BRISK特征检测器和BF特征匹配器。
Comparison of OpenCV's feature detectors and feature matchers
There exists a range of feature detecting and feature matching algorithms; many of which have been included in the Open Computer Vision (OpenCV) library. However, given these different tools, which one should be used? This paper discusses the implementation and comparison of a range of the library's feature detectors and feature matchers. It shows that the Speeded-Up Robust Features (SURF) detector found the greatest number of features in an image, and that the Brute Force (BF) matcher matched the greatest number of detected features in an image pair. Given a benchmark image set, OpenCV's SURF detector found, on average, 1907.20 features in 1538.61 ms, and OpenCV's BF matcher, on average, matched features in 160.24 ms. The combination of the Binary Robust Invariant Scalable Key-points (BRISK) detector and BF matcher was found to be the highest ranked combination of OpenCV's feature detectors and feature matchers; on average, detecting and matching 1132.00 and 80.20 features, respectively, in 265.67 ms. It was concluded that if the number of features detected is important, the SURF detector should be used; else, if the number of features matched is important, the BF matcher should be used; otherwise, the combination of the OpenCV's BRISK feature detector and BF feature matcher should be used.