什么是Shape Context

Shape Context是一个用于形状识别的,非常经典的特征(一串便于计算机处理的数字)提取方法,它由Serge Belongie和Jitendra Malik 于2002年在他们的文章“Shape matching and object recognition using shape contexts”中提出。这种特征提取方法使得计算机能够衡量形状之间的相似性,并且能够同时得出形状上的点对应关系。

Shape Context在表示形状时,首先会在形状的轮廓上采样N个点;而对每一个点来说,会利用其周围点的信息,为其提取一个向量,来表示这个点(具体的提取方法可以参考原始的论文)。如此一来,每一个形状便由N个向量来表示了;向量之间是可以衡量距离的,在确定这种距离的衡量方式后,便可以利用匈牙利(Hungarian)算法找出两个形状之间,NN的最佳匹配关系了。当然文章的作者又进一步提出可以使用TPS(Thin Plate Spline)变换对待匹配的形状进行不断的形变,以取得更佳的匹配结果,这里便不做介绍。

相同形状轮廓点的匹配

不同形状轮廓点的匹配

      利用Shape Context进行字符识别

利用Shape Context进行字符识别的过程,便是找出与待识别形状最相似模板库图像的过程。这个过程虽然思路比较简单,不过其中也有一些需要注意的东西,这里写一下我自己的做法。

1)模板字符库的准备

由于Shape Context可以在形状发生倾斜、位移、大小等平面变换时,都可以进行比较良好的匹配。所以与基于统计的模型不同,使用Shape Context特征的每一种字符只需要较少的模板就可以进行识别了。这里的实验对每一种字符仅使用一到两个模板,每一个模板都是由手工绘制的单像素轮廓图。

用于识别的字符模板库

      2)形状点的采样

在使用Shape Context提取形状的特征时,首先会在形状轮廓上采样N个点。而实际输入图像的轮廓点个数一般是未知的,而根据图像大小的不同,这些点的坐标的大小也是不同的,因此需要对这些情况进行一些预处理。

当输入图像的轮廓点足够时,首先可以将图像中包含轮廓的最小区域截取出来,然后将这个区域中的轮廓采样N个点,最后将这些点的坐标保持长宽比缩放到[0-1]区间,以完成尺度归一化的目的。

对输入图像的轮廓点进行采样及归一化

而当输入图像的轮廓点个数不足时,我们可以将图像进行放大,待轮廓点个数足够时,再按上面的方法进行采样。不过需要注意的是,图像放大时候,原来的形状轮廓可能会变粗,因此还需要进行图像的细化操作,使得轮廓的宽度尽量保持单像素宽。

输入图像轮廓点个数不够时的处理

字符识别程序的演示


点我打开视频观看

利用Shape Context进行形状识别相关推荐

  1. 模式识别之Shape Context---利用Shape Context进行形状识别

     什么是Shape Context Shape Context是一个用于形状识别的,非常经典的特征(一串便于计算机处理的数字)提取方法,它由Serge Belongie和Jitendra Malik  ...

  2. shape context matlab,形状上下文(shape context)算法完全解读

    形状上下文(Shape Context)算法完全解读 前言 一. 轮廓提取(Canny Edge Detection)和轮廓点采样(Jitendra's Sampling) 二. 形状上下文(Shap ...

  3. 【论文阅读】基于视图的图卷积神经网络3D物体形状识别算法

    原文地址:点击访问 本期,为大家推送CVPR 2020一篇关于图神经网络与3D相关的文章.自我感觉挺有趣的,有兴趣的同学推荐一读. 论文题目:View-GCN: View-based Graph Co ...

  4. 形状上下文(shape context)算法完全解读

    形状上下文(Shape Context)算法完全解读 前言 一. 轮廓提取(Canny Edge Detection)和轮廓点采样(Jitendra's Sampling) 二. 形状上下文(Shap ...

  5. 二维物体形状识别方法比较

    二维物体形状识别方法比较 摘  要  针对模式识别中二维物体的形状识别问题,以二值图像中的物体形状为主要研究对象,依次从特征提取.分类器设计两个主要层面对形状识别方法进行了全面综述,并分析了国内外研究 ...

  6. MVTN:用于3D形状识别的多视图转换网络(ICCV2021)

    论文标题:MVTN: Multi-View Transformation Network for 3D Shape Recognition 论文.项目地址:在公众号「3D视觉工坊」,后台回复「MVTN ...

  7. 利用svg合成任意形状的图片

    什么是svg: 百度百科这样说: SVG可以算是目前最最火热的图像文件格式了,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形.它是基于XML(Extensibl ...

  8. 二维物体形状识别方法(一)

    原文:http://blog.csdn.net/liuqz2009/article/details/47624145 物体识别是计算机视觉应用的一项基本任务.识别通常基于目标物体的灰度信息.颜色信息或 ...

  9. 二维物体形状识别方法(二)

    这个论文不知道作者转自哪里,暂时就写博客作者地址吧:http://blog.chinaunix.net/uid-24517893-id-3140811.html 摘  要  针对模式识别中二维物体的形 ...

最新文章

  1. 北大华为鹏城联合首次提出视觉 Transformer 后量化算法!
  2. SQL 语句使用to_char函数时,检索结果有空格
  3. 碎碎念-----快排与工作
  4. PyTorch 官方教程发布,限时免费开放!
  5. 物理化学 化学 动力学(下)
  6. 如何求两个向交矩形的交集的面积?
  7. Struts 2的OGNL表达式
  8. ACM模板——拓扑排序
  9. 编写一个可动态注入Spring 容器的工具类
  10. command模式 java_命令模式(Command)_java实现
  11. gitglone 指定分支_安装说明 · harryxu/gitube Wiki · GitHub
  12. 温故10个经典排序算法(Java版)
  13. LINUX虚拟机与WINDOWS主机,直接复制交换文件会有问题
  14. 聚类分析--k中心点算法
  15. 网卡加到linux网桥,[Linux] ubuntu 14 通过网桥将无线网络桥接给有线网卡
  16. 对于程序员来说什么才是A站B站。。。Z站?
  17. selenium 模拟登陆豆瓣,爬取武林外传的短评
  18. Linux安装Kibana详细教程
  19. Mybatis3基础示例
  20. 2022中国连锁企业人才管理报告

热门文章

  1. python 匹配字符串开头和结尾
  2. 国产化Kettle、JDK、MySQL下载安装操作步骤
  3. 基于51单片机的8位数码管显示的可调时电子时钟
  4. 2022年中职组网络安全国赛A模块解析第二套
  5. OpenStack Designate系统架构分析
  6. 人工智能走过了怎样的70年?
  7. 最新爬取携程酒店信息上:思路讲解
  8. IEEE 802.15.4和ZigBee
  9. JDBC 学习笔记 day02 用 PreparedStatement 实现 CRUD 操作
  10. 统计字符串中每个字符的个数。(原始字符串是:“aabccdeefff”,结果是:a2 b1 c2 d1 e2 f3)