当前位置: 首页 > wzjs >正文

企业网站怎么建设新品怎么推广效果最好

企业网站怎么建设,新品怎么推广效果最好,帮传销做网站会违法吗,网站建设公司做ppt吗OpenCV Python BRIEF ( Binary Robust Independent Elementary Features) 【目标】 学习 BRIEF 算法理论 【理论】 我们知道SIFT使用128维向量作为描述符。因为它使用的是浮点数,所以需要512字节。类似地,SURF也需要最少256字…

OpenCV Python BRIEF ( Binary Robust Independent Elementary Features)

【目标】

  • 学习 BRIEF 算法理论

【理论】

我们知道SIFT使用128维向量作为描述符。因为它使用的是浮点数,所以需要512字节。类似地,SURF也需要最少256字节(对于64维)。为数千个特性创建这样的向量需要大量内存,这对于资源受限的应用程序是不可行的,特别是对于嵌入式系统,内存消耗大,匹配的时间长。

但这些维度在实际匹配时可能不是都需要。我们可以使用PCA、LDA等多种方法对数据进行压缩。甚至还使用其他方法,如使用LSH ( 局域敏感哈希) 来将这些浮点数中的 SIFT 描述符转换为二进制串。这些二进制字符串使用汉明距离来匹配特征。这提供了更好的加速,因为寻找汉明距离只是应用异或和位计数,这在具有SSE指令的现代cpu中非常快。但在这里,我们需要先找到描述符,然后才能应用哈希,这并不能解决我们最初的内存问题。

这时,BRIEF 浮现在眼前。它提供了直接查找二进制字符串的快捷方式,而无需查找描述符。它需要平滑的图像块,并以唯一的方式选择一组nd(x,y)n_d (x,y)nd(x,y)位置对(在论文中解释)。然后对这些位置对进行像素强度比较。例如,设某一个位置对为pppqqq,如果 I(p)<I(q)I(p) < I(q)I(p)<I(q),则其结果为1,否则为0。这适用于所有的ndn_dnd位置对,以获得一个ndn_dnd维位串。

  • 点对选择

设我们在特征点的邻域块大小为 S×SS×SS×S 内选择ndn_dnd个点对(p,q)(p,q)(p,q),Calonder的实验中测试了5种采样方法:

1)在图像块内平均采样;
2)pppqqq都符合(0,125S2)(0, \frac{1}{25} S^2)(0,251S2)的高斯分布;
3)ppp符合(0,125S2)(0, \frac{1}{25}S^2)(0,251S2)的高斯分布,而qqq符合(0,1100S2)(0, \frac{1}{100}S^2)(0,1001S2)的高斯分布;
4)在空间量化极坐标下的离散位置随机采样
5)把ppp固定为(0,0)(0,0)(0,0)qqq在周围平均采样

在这里插入图片描述

这个ndn_dnd可以是128128128256256256512512512OpenCV支持所有这些,但默认情况下,它将是256256256 (OpenCV以字节表示, 所以这些值将是16,32和64)。一旦你得到了这个,你就可以用汉明距离来匹配这些描述符。

重要的一点是 BRIEF 是一个特征描述符,它不提供任何查找特征的方法。所以你必须使用任何其他的特征检测器,如SIFT, SURF等。本文推荐使用CenSurE,这是一种快速检测器,BRIEF 对 CenSurE 点的效果甚至比 SURF 点要好。

简而言之,BRIEF是一种更快的特征描述符计算和匹配方法。它还提供了高识别率,除非有大的平面内旋转。

  • 优点:

计算速度快

  • 缺点:

对噪声敏感
不具备旋转不变性
不具备尺度不变性

  • STAR(CenSurE) in OpenCV

STAR 是源自 CenSurE 的特征检测器。但与CenSurE不同的是,Star使用正方形、六边形和八边形等多边形来接近圆形,而Star模拟的是带有2个重叠正方形的圆形:1个垂直,1个旋转45度。这些多边形是双层的。它们可以被看作是带有粗边框的多边形。边界和封闭区域的权重是相反的。与其他尺度空间探测器相比,该探测器具有更好的计算特性,并且能够实时实现。与SIFT和SURF相比,它们在次采样像素处发现极值,从而在更大的尺度上降低精度,CenSurE在金字塔的所有尺度上使用全空间分辨率创建特征向量。

【代码】

在这里插入图片描述

import numpy as np 
import cv2 
from matplotlib import pyplot as pltimg = cv2.imread("assets/blox.jpg")# fast检测
fast_kp = cv2.FastFeatureDetector_create()# brief 描述子
brief = cv2.xfeatures2d.BriefDescriptorExtractor.create()# 特征点检测
kp = fast_kp.detect(img, None)
print(len(kp))# 计算特征
kp, des = brief.compute(img, kp)
print(len(kp))# 画关键点
img2 = cv2.drawKeypoints(img, kp, None, color=(255,0,0), flags=0)
print(brief.descriptorSize())star = cv2.xfeatures2d.StarDetector_create()
star_kp = star.detect(img, None)
img3 = cv2.drawKeypoints(img, star_kp, None, color=(255, 0, 0), flags=0)
print(len(star_kp))cv2.imshow("fastkpafter", img2)
cv2.imshow("starkp", img3)
cv2.waitKey(0)
cv2.destroyAllWindows()

【接口】

  • BriefDescriptorExtractor_create
cv.xfeatures2d.BriefDescriptorExtractor_create(	[, bytes[, use_orientation]]	) ->	retval
  • bytes: 描述符的长度(字节),16, 32, 64
  • use_orientation: 是否使用方向,默认不使用

其他见

【OpenCV-Python】教程:4-4 SIFT (Scale-Invariant Feature Transform) 介绍_黄金旺铺的博客-CSDN博客

【OpenCV-Python】教程:4-5 SURF (Speeded-Up Robust Features) 介绍_黄金旺铺的博客-CSDN博客

【OpenCV-Python】教程:4-6 FAST (Features from Accelerated Segment Test)算法角点检测_黄金旺铺的博客-CSDN博客

【参考】

  1. OpenCV官方文档
  2. Michael Calonder, Vincent Lepetit, Christoph Strecha, and Pascal Fua, “BRIEF: Binary Robust Independent Elementary Features”, 11th European Conference on Computer Vision (ECCV), Heraklion, Crete. LNCS Springer, September 2010.
  3. LSH (Locality Sensitive Hashing) at wikipedia.
  4. BriefDescriptorExtractor Class Reference
http://www.dtcms.com/wzjs/252476.html

相关文章:

  • 软件开发与网站建设市场调研与分析
  • 外贸汽车网站免费制作小程序平台
  • 西安比较好的网络公司关键词优化资讯
  • 泰州网站制作推广百度的营销推广模式
  • 云存储做网站网站收录大全
  • 泉州网站开发人员小米的推广软文
  • 上海比较好的外包公司seo排名教程
  • 李沧做网站公司广州seo推广公司
  • 海淘网站主要关键词重庆seo小z博客
  • 宝安做网站怎么样免费百度下载
  • 潍坊做网站的电话谷歌chrome浏览器
  • 咸宁网站定制百度网页版链接
  • 去泰国做赌博发网站站长素材音效
  • 如何做测评视频网站网上全网推广
  • 合肥seo优化外包公司seo工资
  • 医院网站建设 不足网上哪里接app推广单
  • 正规品牌网站设计地址百度推广官方投诉电话
  • 南昌市网站建设aso优化服务平台
  • 手机网站用什么软件做的网站注册地址
  • 网站空间格式asp电视剧排行榜百度搜索风云榜
  • 建筑网站的设计与实现的论文东莞企业网站推广
  • 网站建设注意内容在线排名优化
  • 别人网站建设多少钱在线网页生成器
  • 网站上传到万网主机seo推广哪家好
  • 广州学建网站如何在网上推广
  • 舟山网站seo网页推广怎么做
  • 小型企业的网站建设论文网站怎么推广效果好一点呢
  • 在网站后台设置wap模板目录推广赚钱平台
  • 自制大型网站建设chrome手机版
  • 衡水做淘宝网站建设广告推广策划