精华内容
下载资源
问答
  • 图像特征概念什么是图像特征

    万次阅读 2016-07-26 16:01:48
    少量修改,如疑问,请问原作者! 常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。...一 :颜色特征  ...一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有

    http://blog.csdn.net/wishchin/article/details/14043715

    有少量修改,如有疑问,请问原作者!

    常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。 

    一 :颜色特征 

    (一)特点:颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。由于颜色对图像或图像区域的方向、大小等变化不敏感,所以颜色特征不能很好地捕捉图像中对象的局部特征。另外,仅使用颜色特征查询时,如果数据库很大,常会将许多不需要的图像也检索出来。颜色直方图是最常用的表达颜色特征的方法,其优点是不受图像旋转和平移变化的影响,进一步借助归一化还可不受图像尺度变化的影响,基缺点是没有表达出颜色空间分布的信息。 

            注:对于 pose的估计,颜色直方图可以作为超像素基元的统计特征,在每一个小块内保持不变性;

    (二)常用的特征提取与匹配方法 

    (1) 颜色直方图 

            其优点在于:它能简单描述一幅图像中颜色的全局分布,即不同色彩在整幅图像中所占的比例,特别适用于描述那些难以自动分割的图像和不需要考虑物体空间位置的图像。其缺点在于:它无法描述图像中颜色的局部分布及每种色彩所处的空间位置,即无法描述图像中的某一具体的对象或物体。 

             最常用的颜色空间:RGB颜色空间、HSV颜色空间。 

             颜色直方图特征匹配方法:直方图相交法、距离法、中心距法、参考颜色表法、累加颜色直方图法。 

    (2) 颜色集 (如 HSV 空间

            颜色直方图法是一种全局颜色特征提取与匹配方法,无法区分局部颜色信息。颜色集是对颜色直方图的一种近似首先将图像从 RGB颜色空间转化成视觉均衡的颜色空间(如 HSV 空间),并将颜色空间量化成若干个柄。然后,用色彩自动分割技术将图像分为若干区域,每个区域用量化颜色空间的某个颜色分量来索引,从而将图像表达为一个二进制的颜色索引集。在图像匹配中,比较不同图像颜色集之间的距离和色彩区域的空间关系 

    (3) 颜色矩 (颜色分布)

            这种方法的数学基础在于:图像中任何的颜色分布均可以用它的矩来表示。此外,由于颜色分布信息主要集中在低阶矩中,因此,仅采用颜色的一阶矩(mean)、二阶矩(variance)和三阶矩(skewness)就足以表达图像的颜色分布。 

    (4) 颜色聚合向量 

            其核心思想是:将属于直方图每一个柄的像素分成两部分,如果该柄内的某些像素所占据的连续区域的面积大于给定的阈值,则该区域内的像素作为聚合像素,否则作为非聚合像素。 

    (5) 颜色相关图 


    二 :纹理特征 

    (一)特点:纹理特征也是一种全局特征,它也描述了图像或图像区域所对应景物的表面性质。但由于纹理只是一种物体表面的特性,并不能完全反映出物体的本质属性,所以仅仅利用纹理特征是无法获得高层次图像内容的。与颜色特征不同,纹理特征不是基于像素点的特征,它需要在包含多个像素点的区域中进行统计计算。在模式匹配中,这种区域性的特征具有较大的优越性,不会由于局部的偏差而无法匹配成功。作为一种统计特征,纹理特征常具有旋转不变性,并且对于噪声有较强的抵抗能力。但是,纹理特征也有其缺点,一个很明显的缺点是当图像的分辨率变化的时候,所计算出来的纹理可能会有较大偏差。另外,由于有可能受到光照、反射情况的影响,从2-D图像中反映出来的纹理不一定是3-D物体表面真实的纹理。 

            例如,水中的倒影,光滑的金属面互相反射造成的影响等都会导致纹理的变化。由于这些不是物体本身的特性,因而将纹理信息应用于检索时,有时这些虚假的纹理会对检索造成“误导”。 注:引入纹理语义分层分析;

            在检索具有粗细、疏密等方面较大差别的纹理图像时,利用纹理特征是一种有效的方法。但当纹理之间的粗细、疏密等易于分辨的信息之间相差不大的时候,通常的纹理特征很难准确地反映出人的视觉感觉不同的纹理之间的差别。 


    (二)常用的特征提取与匹配方法 

      纹理特征描述方法分类 :

    (1)统计方法:
             统计方法的典型代表是一种称为灰度共生矩阵GLCM的纹理特征分析方法Gotlieb 和 Kreyszig 等人在研究共生矩阵中各种统计特征基础上,通过实验,得出灰度共生矩阵的四个关键特征:能量、惯量、熵和相关性。统计方法中另一种典型方法,则是从图像的自相关函数(即图像的能量谱函数)提取纹理特征,即通过对图像的能量谱函数的计算,提取纹理的粗细度及方向性等特征参数 

    (2)几何方法: 
             所谓几何法,是建立在纹理基元(基本的纹理元素)理论基础上的一种纹理特征分析方法。纹理基元理论认为,复杂的纹理可以由若干简单的纹理基元以一定的有规律的形式重复排列构成。
            在几何法中,比较有影响的算法有两种:Voronio 棋盘格特征法和结构法。 

    (3)模型   法:
            模型法以图像的构造模型为基础,采用模型的参数作为纹理特征。典型的方法是随机场CRF模型法,如马尔可夫(Markov)随机场(MRF)模型法和 Gibbs 随机场模型法。 

    (4)信号处理法

            纹理特征的提取与匹配主要有:灰度共生矩阵、Tamura 纹理特征、自回归纹理模型、小波变换等。 
            灰度共生矩阵特征提取与匹配主要依赖于能量、惯量、熵相关性四个参数。Tamura 纹理特征基于人类对纹理的视觉感知心理学研究,提出6种属性,即:粗糙度、对比度、方向度、线像度、规整度和粗略度。自回归纹理模型(simultaneous auto-regressive, SAR)是马尔可夫随机场(MRF)模型的一种应用实例。 


    三 :形状特征 


    (一)特点:各种基于形状特征的检索方法都可以比较有效地利用图像中感兴趣的目标来进行检索,但它们也有一些共同的问题,包括:①目前基于形状的检索方法还缺乏比较完善的数学模型
               ②如果目标有变形时检索结果往往不太可靠;
               ③许多形状特征仅描述了目标局部的性质,要全面描述目标常对计算时间和存储量有较高的要求;
               ④许多形状特征所反映的目标形状信息与人的直观感觉不完全一致,或者说,特征空间的相似性与人视觉系统感受到的相似性有差别。
               另外,从 2-D 图像中表现的 3-D 物体实际上只是物体在空间某一平面的投影,从 2-D 图像中反映出来的形状常不是 3-D 物体真实的形状,由于视点的变化,可能会产生各种失真。 注:对于pose的估计可以用基于形状的3维图像,摆脱视点影响,产生类似于VFH的特征;


    (二)常用的特征提取与匹配方法 

    Ⅰ.几种典型的形状特征描述方法 

            通常情况下,形状特征有两类表示方法,一类是轮廓特征,另一类是区域特征。图像的轮廓特征主要针对物体的外边界,而图像的区域特征则关系到整个形状区域。 

    几种典型的形状特征描述方法: 

    (1)边界特征法:  
             该方法通过对边界特征的描述来获取图像的形状参数。其中Hough 变换检测平行直线方法和边界方向直方图方法是经典方法。Hough 变换是利用图像全局特性而将边缘像素连接起来组成区域封闭边界的一种方法,其基本思想是点—线的对偶性;边界方向直方图法首先微分图像求得图像边缘,然后,做出关于边缘大小和方向的直方图,通常的方法是构造图像灰度梯度方向矩阵。 

    (2)傅里叶形状描述符法: 
             傅里叶形状描述符(Fourier shape deors)基本思想是用物体边界的傅里叶变换作为形状描述,利用区域边界的封闭性和周期性,将二维问题转化为一维问题。 
             由边界点导出三种形状表达,分别是曲率函数质心距离复坐标函数。 

    (3)几何参数法: 
             形状的表达和匹配采用更为简单的区域特征描述方法,例如采用有关形状定量测度(如矩、面积、周长等)的形状参数法(shape factor)。在 QBIC 系统中,便是利用圆度、偏心率、主轴方向和代数不变矩等几何参数,进行基于形状特征的图像检索。 
            需要说明的是,形状参数的提取,必须以图像处理及图像分割为前提,参数的准确性必然受到分割效果的影响,对分割效果很差的图像,形状参数甚至无法提取。 

    (4)形状不变矩法: 
             利用目标所占区域的矩作为形状描述参数。 

    (5)其它方法 
            近年来,在形状的表示和匹配方面的工作还包括有限元法(Finite Element Method 或 FEM)、旋转函数(Turning )和小波描述符(Wavelet Deor)等方法。 

    Ⅱ 基于小波和相对矩的形状特征提取与匹配 

            该方法先用小波变换模极大值得到多尺度边缘图像,然后计算每一尺度的 7个不变矩(注:参考小波矩在图像识别中的应用研究),再转化为 10 个相对矩,将所有尺度上的相对矩作为图像特征向量,从而统一了区域和封闭、不封闭结构。 

    四 :空间关系特征 

    (一)特点:所谓空间关系,是指图像中分割出来的多个目标之间的相互 的空间位置或 相对方向关系,这些关系也可分为连接/邻接关系、交叠/重叠关系和包含/包容关系等。通常空间位置信息可以分为两类:相对空间位置信息和绝对空间位置信息。前一种关系强调的是目标之间的相对情况,如上下左右关系等,后一种关系强调的是目标之间的距离大小以及方位。显而易见,由绝对空间位置可推出相对空间位置,但表达相对空间位置信息常比较简单。 

            空间关系特征的使用可加强对图像内容的描述区分能力,但空间关系特征常对图像或目标的旋转、反转、尺度变化等比较敏感。另外,实际应用中,仅仅利用空间信息往往是不够的,不能有效准确地表达场景信息。为了检索,除使用空间关系特征外,还需要其它特征来配合。 

    (二)常用的特征提取与匹配方法 

            提取图像空间关系特征可以有两种方法:一种方法是首先对图像进行自动分割,划分出图像中所包含的对象或颜色区域,然后根据这些区域提取图像特征,并建立索引;另一种方法则简单地将图像均匀地划分为若干规则子块,然后对每个图像子块提取特征,并建立索引。 
          


    姿态估计问题:
      

            姿态估计问题
    就是:确定某一三维目标物体的方位指向问题。姿态估计在机器人视觉、动作跟踪和单照相机定标等很多领域都有应用。 

            在不同领域用于姿态估计的传感器是不一样的,在这里主要讲基于视觉的姿态估计。 
            基于视觉的姿态估计根据使用的摄像机数目又可分为单目视觉姿态估计和多目视觉姿态估计。根据算法的不同又可分为基于模型的姿态估计基于学习的姿态估计。 

    一:基于模型的姿态估计方法 

            基于模型的方法通常利用物体的几何关系或者物体的特征点来估计。其基本思想是利用某种几何模型或结构来表示物体的结构和形状,并通过提取某些物体特征,在模型和图像之间建立起对应关系,然后通过几何或者其它方法实现物体空间姿态的估计。这里所使用的模型既可能是简单的几何形体,如平面、圆柱,也可能是某种几何结构,也可能是通过激光扫描或其它方法获得的三维模型。 

            基于模型的姿态估计方法是通过比对真实图像和合成图像,进行相似度计算更新物体姿态。目前基于模型的方法为了避免在全局状态空间中进行优化搜索,一般都将优化问题先降解成多个局部特征的匹配问题,非常依赖于局部特征的准确检测。当噪声较大无法提取准确的局部特征的时候,该方法的鲁棒性受到很大影响。 

    二:基于学习的姿态估计方法 

            基于学习的方法借助于机器学习(machine learning)方法,从事先获取的不同姿态下的训练样本中学习二维观测与三维姿态之间的对应关系,并将学习得到的决策规则或回归函数应用于样本,所得结果作为对样本的姿态估计。基于学习的方法一般采用全局观测特征,不需检测或识别物体的局部特征,具有较好的鲁棒性。其缺点是由于无法获取在高维空间中进行连续估计所需要的密集采样,因此无法保证姿态估计的精度与连续性。 

            基于学习的姿态估计方法源于姿态识别方法的思想。姿态识别需要预先定义多个姿态类别,每个类别包含了一定的姿态范围;然后为每个姿态类别标注若干训练样本,通过模式分类的方法训练姿态分类器以实现姿态识别。 

            这一类方法并不需要对物体进行建模,一般通过图像的全局特征进行匹配分析,可以有效的避免局部特征方法在复杂姿态和遮挡关系情况下出现的特征匹配歧义性问题。然而姿态识别方法只能将姿态划分到事先定义的几个姿态类别中,并不能对姿态进行连续的精确的估计。 

            基于学习的方法一般采用全局观测特征,可以保证算法具有较好的鲁棒性。然而这一类方法的姿态估计精度很大程度依赖于训练的充分程度。要想比较精确地得到二维观测与三维姿态之间的对应关系,就必须获取足够密集的样本来学习决策规则和回归函数。而一般来说所需要样本的数量是随状态空间的维度指数级增加的,对于高维状态空间,事实上不可能获取进行精确估计所需要的密集采样。因此,无法得到密集采样而难以保证估计的精度与连续性,是基于学习的姿态估计方法无法克服的根本困难。 

            和姿态识别等典型的模式分类问题不同的是,姿态估计输出的是一个高维的姿态向量,而不是某个类别的类标。因此这一类方法需要学习的是一个从高维观测向量到高维姿态向量的映射,目前这在机器学习领域中还是一个非常困难的问题。 





    特征提取:

            特征是描述模式的最佳方式,且我们通常认为特征的各个维度能够从不同的角度描述模式,在理想情况下,维度之间是互补完备的。 

            特征提取的主要目的是降维。特征抽取的主要思想是将原始样本投影到一个低维特征空间,得到最能反应样本本质或进行样本区分的低维样本特征。 (注:特征的提取希望能得到从样本分布到特征分布的hash映射,并能尽量减少冲突,从高维度到低纬度的映射,这个过程的建立需要最优化的指导

            一般图像特征可以分为四类:直观性特征、灰度统计特征、变换系数特征与代数特征。 

            直观性特征主要指几何特征,几何特征比较稳定,受人脸的姿态变化与光照条件等因素的影响小,但不易抽取,而且测量精度不高,与图像处理技术密切相关。 

            代数特征是基于统计学习方法抽取的特征。代数特征具有较高的识别精度,代数特征抽取方法又可以分为两类:一种是线性投影特征抽取方法;另外一种是非线性特征抽取方法。 

            习惯上,将基于主分量分析和Fisher线性鉴别分析所获得的特征抽取方法,统称为线性投影分析。 

            线性投影分析的特征抽取方法,其基本思想是根据一定的性能目标来寻找一线性变换,把原始信号数据压缩到一个低维子空间,使数据在子空间中的分布更加紧凑,为数据的更好描述提供手段,同时计算的复杂度得到大大降低。在线性投影分析中,以主分量分析(PCA,或称K-L变换)和Fisher线性鉴别分析(LDA)最具代表性,围绕这两种方法所形成的特征抽取算法,已成为模式识别领域中最为经典和广泛使用的方法。 

            线性投影分析法的主要缺点为:需要对大量的已有样本进行学习,且对定位、光照与物体非线性形变敏感,因而采集条件对识别性能影响较大。 


            非线性特征抽取方法也是研究的热点之一。“核技巧”最早应用在SVM中,KPCA和KFA是“核技巧”的推广应用。 
            核投影方法的基本思想是将原样本空间中的样本通过某种形式(这个某种要靠自己找了...)的非线性映射,变换到一个高维甚至无穷维的空间,并借助于核技巧在新的空间中应用线性的分析方法求解。由于新空间中的线性方向也对应原样本空间的非线性方向,所以基于核的投影分析得出的投影方向也对应原样本空间的非线性方向。 

            核投影方法也有一些弱点:几何意义不明确,无法知道样本在非显式映射后变成了什么分布模式;核函数中参数的选取没有相应选择标准,大多数只能采取经验参数选取;不适合训练样本很多的情况,原因是经过核映射后,样本的维数等于训练样本的个数,如果训练样本数目很大,核映射后的向量维数将会很高,并将遇到计算量上的难题。 

             就应用领域来说,KPCA远没有PCA应用的广泛。如果作为一般性的降维KPCA确实比PCA效果好,特别是特征空间不是一般的欧式空间的时候更为明显。但PCA可以通过大量的自然图片学习一个子空间,但是KPCA做不到。 

            变换系数特征指先对图像进行Fourier变换、小波变换等,得到的系数后作为特征进行识别。

    展开全文
  • 图像特征概念

    万次阅读 2014-05-12 10:47:58
     少量修改,如疑问,...一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。由于颜色对图像或图像区域的方向、大小等变化不敏感,所以颜色特征不能很好地捕捉图像中对象的
    

    http://blog.csdn.net/wishchin/article/details/14043715

    有少量修改,如有疑问,请问原作者!

    常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。 

    一 :颜色特征 

    (一)特点:颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。由于颜色对图像或图像区域的方向、大小等变化不敏感,所以颜色特征不能很好地捕捉图像中对象的局部特征。另外,仅使用颜色特征查询时,如果数据库很大,常会将许多不需要的图像也检索出来。颜色直方图是最常用的表达颜色特征的方法,其优点是不受图像旋转和平移变化的影响,进一步借助归一化还可不受图像尺度变化的影响,基缺点是没有表达出颜色空间分布的信息。

            注:对于 pose的估计,颜色直方图可以作为超像素基元的统计特征,在每一个小块内保持不变性;

    (二)常用的特征提取与匹配方法 

    (1) 颜色直方图 

            其优点在于:它能简单描述一幅图像中颜色的全局分布,即不同色彩在整幅图像中所占的比例,特别适用于描述那些难以自动分割的图像和不需要考虑物体空间位置的图像。其缺点在于:它无法描述图像中颜色的局部分布及每种色彩所处的空间位置,即无法描述图像中的某一具体的对象或物体。 

             最常用的颜色空间:RGB颜色空间、HSV颜色空间。 

             颜色直方图特征匹配方法:直方图相交法、距离法、中心距法、参考颜色表法、累加颜色直方图法。 

    (2) 颜色集 (如 HSV 空间

            颜色直方图法是一种全局颜色特征提取与匹配方法,无法区分局部颜色信息。颜色集是对颜色直方图的一种近似首先将图像从 RGB颜色空间转化成视觉均衡的颜色空间(如 HSV 空间),并将颜色空间量化成若干个柄。然后,用色彩自动分割技术将图像分为若干区域,每个区域用量化颜色空间的某个颜色分量来索引,从而将图像表达为一个二进制的颜色索引集。在图像匹配中,比较不同图像颜色集之间的距离和色彩区域的空间关系 

    (3) 颜色矩 (颜色分布

            这种方法的数学基础在于:图像中任何的颜色分布均可以用它的矩来表示。此外,由于颜色分布信息主要集中在低阶矩中,因此,仅采用颜色的一阶矩(mean)、二阶矩(variance)和三阶矩(skewness)就足以表达图像的颜色分布。 

    (4) 颜色聚合向量 

            其核心思想是:将属于直方图每一个柄的像素分成两部分,如果该柄内的某些像素所占据的连续区域的面积大于给定的阈值,则该区域内的像素作为聚合像素,否则作为非聚合像素。 

    (5) 颜色相关图 


    二 :纹理特征 

    (一)特点:纹理特征也是一种全局特征,它也描述了图像或图像区域所对应景物的表面性质。但由于纹理只是一种物体表面的特性,并不能完全反映出物体的本质属性,所以仅仅利用纹理特征是无法获得高层次图像内容的。与颜色特征不同,纹理特征不是基于像素点的特征,它需要在包含多个像素点的区域中进行统计计算。在模式匹配中,这种区域性的特征具有较大的优越性,不会由于局部的偏差而无法匹配成功。作为一种统计特征,纹理特征常具有旋转不变性,并且对于噪声有较强的抵抗能力。但是,纹理特征也有其缺点,一个很明显的缺点是当图像的分辨率变化的时候,所计算出来的纹理可能会有较大偏差。另外,由于有可能受到光照、反射情况的影响,从2-D图像中反映出来的纹理不一定是3-D物体表面真实的纹理。 

            例如,水中的倒影,光滑的金属面互相反射造成的影响等都会导致纹理的变化。由于这些不是物体本身的特性,因而将纹理信息应用于检索时,有时这些虚假的纹理会对检索造成“误导”。 注:引入纹理语义分层分析;

            在检索具有粗细、疏密等方面较大差别的纹理图像时,利用纹理特征是一种有效的方法。但当纹理之间的粗细、疏密等易于分辨的信息之间相差不大的时候,通常的纹理特征很难准确地反映出人的视觉感觉不同的纹理之间的差别。 


    (二)常用的特征提取与匹配方法 


      纹理特征描述方法分类 :

    (1)统计方法:
             统计方法的典型代表是一种称为灰度共生矩阵GLCM的纹理特征分析方法Gotlieb 和 Kreyszig 等人在研究共生矩阵中各种统计特征基础上,通过实验,得出灰度共生矩阵的四个关键特征:能量、惯量、熵和相关性。统计方法中另一种典型方法,则是从图像的自相关函数(即图像的能量谱函数)提取纹理特征,即通过对图像的能量谱函数的计算,提取纹理的粗细度及方向性等特征参数 


    (2)几何方法:
             所谓几何法,是建立在纹理基元(基本的纹理元素)理论基础上的一种纹理特征分析方法。纹理基元理论认为,复杂的纹理可以由若干简单的纹理基元以一定的有规律的形式重复排列构成。
            在几何法中,比较有影响的算法有两种:Voronio 棋盘格特征法和结构法。 


    (3)模型   法
            模型法以图像的构造模型为基础,采用模型的参数作为纹理特征。典型的方法是随机场CRF模型法,如马尔可夫(Markov)随机场(MRF)模型法和 Gibbs 随机场模型法。

    (4)信号处理法

            纹理特征的提取与匹配主要有:灰度共生矩阵、Tamura 纹理特征、自回归纹理模型、小波变换等。
            灰度共生矩阵特征提取与匹配主要依赖于能量、惯量、熵相关性四个参数。Tamura 纹理特征基于人类对纹理的视觉感知心理学研究,提出6种属性,即:粗糙度、对比度、方向度、线像度、规整度和粗略度。自回归纹理模型(simultaneous auto-regressive, SAR)是马尔可夫随机场(MRF)模型的一种应用实例。 


    三 :形状特征 


    (一)特点:各种基于形状特征的检索方法都可以比较有效地利用图像中感兴趣的目标来进行检索,但它们也有一些共同的问题,包括:①目前基于形状的检索方法还缺乏比较完善的数学模型
               ②如果目标有变形时检索结果往往不太可靠;
               ③许多形状特征仅描述了目标局部的性质,要全面描述目标常对计算时间和存储量有较高的要求;
               ④许多形状特征所反映的目标形状信息与人的直观感觉不完全一致,或者说,特征空间的相似性与人视觉系统感受到的相似性有差别。
               另外,从 2-D 图像中表现的 3-D 物体实际上只是物体在空间某一平面的投影,从 2-D 图像中反映出来的形状常不是 3-D 物体真实的形状,由于视点的变化,可能会产生各种失真。 注:对于pose的估计可以用基于形状的3维图像,摆脱视点影响,产生类似于VFH的特征;


    (二)常用的特征提取与匹配方法 

    Ⅰ.几种典型的形状特征描述方法 

            通常情况下,形状特征有两类表示方法,一类是轮廓特征,另一类是区域特征。图像的轮廓特征主要针对物体的外边界,而图像的区域特征则关系到整个形状区域。 

    几种典型的形状特征描述方法: 

    (1)边界特征法: 
             该方法通过对边界特征的描述来获取图像的形状参数。其中Hough 变换检测平行直线方法和边界方向直方图方法是经典方法。Hough 变换是利用图像全局特性而将边缘像素连接起来组成区域封闭边界的一种方法,其基本思想是点—线的对偶性;边界方向直方图法首先微分图像求得图像边缘,然后,做出关于边缘大小和方向的直方图,通常的方法是构造图像灰度梯度方向矩阵。 


    (2)傅里叶形状描述符法:
             傅里叶形状描述符(Fourier shape deors)基本思想是用物体边界的傅里叶变换作为形状描述,利用区域边界的封闭性和周期性,将二维问题转化为一维问题。
             由边界点导出三种形状表达,分别是曲率函数质心距离复坐标函数。 

    (3)几何参数法:
             形状的表达和匹配采用更为简单的区域特征描述方法,例如采用有关形状定量测度(如矩、面积、周长等)的形状参数法(shape factor)。在 QBIC 系统中,便是利用圆度、偏心率、主轴方向和代数不变矩等几何参数,进行基于形状特征的图像检索。
            需要说明的是,形状参数的提取,必须以图像处理及图像分割为前提,参数的准确性必然受到分割效果的影响,对分割效果很差的图像,形状参数甚至无法提取。 

    (4)形状不变矩法:
             利用目标所占区域的矩作为形状描述参数。 

    (5)其它方法
            近年来,在形状的表示和匹配方面的工作还包括有限元法(Finite Element Method 或 FEM)、旋转函数(Turning )和小波描述符(Wavelet Deor)等方法。 

    Ⅱ 基于小波和相对矩的形状特征提取与匹配 

            该方法先用小波变换模极大值得到多尺度边缘图像,然后计算每一尺度的 7个不变矩(注:参考小波矩在图像识别中的应用研究),再转化为 10 个相对矩,将所有尺度上的相对矩作为图像特征向量,从而统一了区域和封闭、不封闭结构。 

    四 :空间关系特征 

    (一)特点:所谓空间关系,是指图像中分割出来的多个目标之间的相互 的空间位置或 相对方向关系,这些关系也可分为连接/邻接关系、交叠/重叠关系和包含/包容关系等。通常空间位置信息可以分为两类:相对空间位置信息和绝对空间位置信息。前一种关系强调的是目标之间的相对情况,如上下左右关系等,后一种关系强调的是目标之间的距离大小以及方位。显而易见,由绝对空间位置可推出相对空间位置,但表达相对空间位置信息常比较简单。 

            空间关系特征的使用可加强对图像内容的描述区分能力,但空间关系特征常对图像或目标的旋转、反转、尺度变化等比较敏感。另外,实际应用中,仅仅利用空间信息往往是不够的,不能有效准确地表达场景信息。为了检索,除使用空间关系特征外,还需要其它特征来配合。 

    (二)常用的特征提取与匹配方法 

            提取图像空间关系特征可以有两种方法:一种方法是首先对图像进行自动分割,划分出图像中所包含的对象或颜色区域,然后根据这些区域提取图像特征,并建立索引;另一种方法则简单地将图像均匀地划分为若干规则子块,然后对每个图像子块提取特征,并建立索引。 
         


    姿态估计问题:
     

            姿态估计问题
    就是:确定某一三维目标物体的方位指向问题。姿态估计在机器人视觉、动作跟踪和单照相机定标等很多领域都有应用。 


            在不同领域用于姿态估计的传感器是不一样的,在这里主要讲基于视觉的姿态估计。
            基于视觉的姿态估计根据使用的摄像机数目又可分为单目视觉姿态估计和多目视觉姿态估计。根据算法的不同又可分为基于模型的姿态估计基于学习的姿态估计。 

    一:基于模型的姿态估计方法 

            基于模型的方法通常利用物体的几何关系或者物体的特征点来估计。其基本思想是利用某种几何模型或结构来表示物体的结构和形状,并通过提取某些物体特征,在模型和图像之间建立起对应关系,然后通过几何或者其它方法实现物体空间姿态的估计。这里所使用的模型既可能是简单的几何形体,如平面、圆柱,也可能是某种几何结构,也可能是通过激光扫描或其它方法获得的三维模型。 

            基于模型的姿态估计方法是通过比对真实图像和合成图像,进行相似度计算更新物体姿态。目前基于模型的方法为了避免在全局状态空间中进行优化搜索,一般都将优化问题先降解成多个局部特征的匹配问题,非常依赖于局部特征的准确检测。当噪声较大无法提取准确的局部特征的时候,该方法的鲁棒性受到很大影响。 

    二:基于学习的姿态估计方法 

            基于学习的方法借助于机器学习(machine learning)方法,从事先获取的不同姿态下的训练样本中学习二维观测与三维姿态之间的对应关系,并将学习得到的决策规则或回归函数应用于样本,所得结果作为对样本的姿态估计。基于学习的方法一般采用全局观测特征,不需检测或识别物体的局部特征,具有较好的鲁棒性。其缺点是由于无法获取在高维空间中进行连续估计所需要的密集采样,因此无法保证姿态估计的精度与连续性。 

            基于学习的姿态估计方法源于姿态识别方法的思想。姿态识别需要预先定义多个姿态类别,每个类别包含了一定的姿态范围;然后为每个姿态类别标注若干训练样本,通过模式分类的方法训练姿态分类器以实现姿态识别。 

            这一类方法并不需要对物体进行建模,一般通过图像的全局特征进行匹配分析,可以有效的避免局部特征方法在复杂姿态和遮挡关系情况下出现的特征匹配歧义性问题。然而姿态识别方法只能将姿态划分到事先定义的几个姿态类别中,并不能对姿态进行连续的精确的估计。 

            基于学习的方法一般采用全局观测特征,可以保证算法具有较好的鲁棒性。然而这一类方法的姿态估计精度很大程度依赖于训练的充分程度。要想比较精确地得到二维观测与三维姿态之间的对应关系,就必须获取足够密集的样本来学习决策规则和回归函数。而一般来说所需要样本的数量是随状态空间的维度指数级增加的,对于高维状态空间,事实上不可能获取进行精确估计所需要的密集采样。因此,无法得到密集采样而难以保证估计的精度与连续性,是基于学习的姿态估计方法无法克服的根本困难。 

            和姿态识别等典型的模式分类问题不同的是,姿态估计输出的是一个高维的姿态向量,而不是某个类别的类标。因此这一类方法需要学习的是一个从高维观测向量到高维姿态向量的映射,目前这在机器学习领域中还是一个非常困难的问题。 





    特征提取:

            特征是描述模式的最佳方式,且我们通常认为特征的各个维度能够从不同的角度描述模式,在理想情况下,维度之间是互补完备的。

            特征提取的主要目的是降维。特征抽取的主要思想是将原始样本投影到一个低维特征空间,得到最能反应样本本质或进行样本区分的低维样本特征。 (注:特征的提取希望能得到从样本分布到特征分布的hash映射,并能尽量减少冲突,从高维度到低纬度的映射,这个过程的建立需要最优化的指导

            一般图像特征可以分为四类:直观性特征、灰度统计特征、变换系数特征与代数特征。 

            直观性特征主要指几何特征,几何特征比较稳定,受人脸的姿态变化与光照条件等因素的影响小,但不易抽取,而且测量精度不高,与图像处理技术密切相关。 

            代数特征是基于统计学习方法抽取的特征。代数特征具有较高的识别精度,代数特征抽取方法又可以分为两类:一种是线性投影特征抽取方法;另外一种是非线性特征抽取方法。 

            习惯上,将基于主分量分析和Fisher线性鉴别分析所获得的特征抽取方法,统称为线性投影分析。 

            线性投影分析的特征抽取方法,其基本思想是根据一定的性能目标来寻找一线性变换,把原始信号数据压缩到一个低维子空间,使数据在子空间中的分布更加紧凑,为数据的更好描述提供手段,同时计算的复杂度得到大大降低。在线性投影分析中,以主分量分析(PCA,或称K-L变换)和Fisher线性鉴别分析(LDA)最具代表性,围绕这两种方法所形成的特征抽取算法,已成为模式识别领域中最为经典和广泛使用的方法。 

            线性投影分析法的主要缺点为:需要对大量的已有样本进行学习,且对定位、光照与物体非线性形变敏感,因而采集条件对识别性能影响较大。 


            非线性特征抽取方法也是研究的热点之一。“核技巧”最早应用在SVM中,KPCA和KFA是“核技巧”的推广应用。
            核投影方法的基本思想是将原样本空间中的样本通过某种形式(这个某种要靠自己找了...)的非线性映射,变换到一个高维甚至无穷维的空间,并借助于核技巧在新的空间中应用线性的分析方法求解。由于新空间中的线性方向也对应原样本空间的非线性方向,所以基于核的投影分析得出的投影方向也对应原样本空间的非线性方向。 

            核投影方法也有一些弱点:几何意义不明确,无法知道样本在非显式映射后变成了什么分布模式;核函数中参数的选取没有相应选择标准,大多数只能采取经验参数选取;不适合训练样本很多的情况,原因是经过核映射后,样本的维数等于训练样本的个数,如果训练样本数目很大,核映射后的向量维数将会很高,并将遇到计算量上的难题。 

             就应用领域来说,KPCA远没有PCA应用的广泛。如果作为一般性的降维KPCA确实比PCA效果好,特别是特征空间不是一般的欧式空间的时候更为明显。但PCA可以通过大量的自然图片学习一个子空间,但是KPCA做不到。 

            变换系数特征指先对图像进行Fourier变换、小波变换等,得到的系数后作为特征进行识别。

    展开全文
  • 事务的概念、类型和四个特征.

    千次阅读 2017-01-24 10:52:57
    事务的概念、类型和四个特征(ACID).1.事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么做,要么不做,是一个不可分割的工作单位。通过事务,SQL Server能将逻辑相关的一组操作绑定...

    事务的概念、类型和四个特征(ACID).


    1.事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。
    通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。


    2.事务通常是以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。

        COMMIT表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。
    
        ROLLBACK表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续进行,系统将事务中对数据库的所有以完成的操作全部撤消,滚回到事务开始的状态。
    

    3.事务类型

        A:手动事务
                手动事务允许显式处理若干过程,这些过程包括:开始事务、控制事务边界内的每个连接和资源登记、确定事务结果(提交或中止)以及结束事务。
                尽管此模型提供了对事务的标准控制,但它缺少一些内置于自动事务模型的简化操作。例如,在手动事务中数据存储区之间没有自动登记和协调。
                此外,与自动事务不同,手动事务中事务不在对象间流动。
                如果选择手动控制分布式事务,则必须管理恢复、并发、安全性和完整性。也就是说,必须应用维护与事务处理关联的 ACID 属性所需的所有编程方法。
    
        B:自动事务
                .NET 页、XML Web services方法或 .NET Framework 类一旦被标记为参与事务,它们将自动在事务范围内执行。
                您可以通过在页、XML Web services 方法或类中设置一个事务属性值来控制对象的事务行为。特性值反过来确定实例化对象的事务性行为。
                因此,根据声明特性值的不同,对象将自动参与现有事务或正在进行的事务,成为新事务的根或者根本不参与事务。
                声明事务属性的语法在 .NET Framework 类、.NET 页和 XML Web services 方法中稍有不同。
                声明性事务特性指定对象如何参与事务,如何以编程方式被配置。
                尽管此声明性级别表示事务的逻辑,但它是一个已从物理事务中移除的步骤。
                物理事务在事务性对象访问数据库或消息队列这样的数据资源时发生。
                与对象关联的事务自动流向合适的资源管理器,诸如 OLE DB、开放式数据库连接 (ODBC) 或 ActiveX 数据对象 (ADO) 的关联驱动程序在对象的上下文中查找事务,
                并通过分布式事务处理协调器 (DTC) 在此事务中登记。整个物理事务自动发生。
    

    4.事务的特性(ACID特性)

        A:原子性(Atomicity)
        事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做,要么全不做。
        事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
    
        B:一致性(Consistency)
        事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
        一个事务可以封装状态改变(除非它是一个只读的)。事务必须始终保持系统处于一致的状态,不管在任何给定的时间并发事务有多少。
        也就是说:如果事务是并发多个,系统也必须如同串行事务一样操作。其主要特征是保护性和不变性(Preserving an Invariant).
        以转账案例为例,假设有五个账户,每个账户余额是100元,那么五个账户总额是500元,如果在这个5个账户之间同时发生多个转账,无论并发多少个,
        比如在A与B账户之间转账5元,在C与D账户之间转账10元,在B与E之间转账15元,五个账户总额也应该还是500元,这就是保护性和不变性.
    
        C:隔离性(Isolation)
        一个事务的执行不能被其他事务干扰。隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,
        执行相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。这种属性有时称为串行化,为了防止事务操作间的混淆,
        必须串行化或序列化请求,使得在同一时间仅有一个请求用于同一数据。
    
        D:持续性/永久性(Durability)
            一个事务一旦提交,它对数据库中数据的改变就应该是永久性的,不会被回滚。
    

    5.例子:

        A:比如说在网上转帐从A账户往B账户转100元,需要执行两个操作A账户减少100元,B账户增加100元。
        这两个操作如果只执行了第一个操作,那么你是不会答应的,因为你损失了100元,而如果只执行了第二个操作,那么银行也不会答应。
        这两个操作要么都同时执行成功,要么都执行失败,否则一个成功,一个失败都是不合理的。
        因此将这两个操作放在一个事务中去执行,事务的原子性,保证了要么都执行,要么都不执行。
    
        B:一致性的话,再举个例子,比如说你刷卡买电影票,步骤是这样的,首先营业员先给你打出一张票,然后你刷卡,拿电影票。
        这个时候,实际的电影票是资源,而数据库中的电影票是数据。营业员如果帮你打出一张票,这个时候,数据库中电影票实际上数目减一了,
        但是如果你刷卡失败了,实际的电影票资源并没有发生改变,这个时候执行回滚操作,恢复到打票之前的数据。这样保证了资源和数据的一致性。
    
        C:隔离性的话,就是两个事务之间的操作相互之间不会影响,即不会发生脏读、不可重复读和幻象。
    
        D:持久性的话比较好理解,就是事务执行成功以后,数据将保存在数据库中不再发生改变。
    
    展开全文
  • 字符编码的概念(UTF-8、UTF-16、UTF-32什么鬼)

    万次阅读 多人点赞 2017-11-30 17:11:56
    字符集为每字符分配了一唯一的编号,通过这编号就能找到对应的字符。在编程过程中我们经常会使用字符,而使用字符的前提就是把字符放入内存中,毫无疑问,放入内存中的仅仅是字符的编号,而不是真正的字符实体...

    字符集为每个字符分配了一个唯一的编号,通过这个编号就能找到对应的字符。在编程过程中我们经常会使用字符,而使用字符的前提就是把字符放入内存中,毫无疑问,放入内存中的仅仅是字符的编号,而不是真正的字符实体。

     

    这就抛出了一个问题,如何才能将字符编号放入内存中呢?

     

    对于 ASCII 字符集,这很容易。ASCII 总共包含 128 个字符,用 7 个比特位(Bit)恰好能够存储,不过考虑到计算机一般把字节(Byte)作为基本单元,为了操作方便,我们不妨用一个字节(也就是 8 个比特位)来存储 ASCII。这样虽然浪费了一个比特位,但是读写效率提高了。

     

    但是对于 Unicode,问题就没有这么简单了。Unicode 目前已经包含了上百万的字符,位置靠前的字符用一个字节就能存储,位置靠后的字符用三个字节才能存储。我们可以为所有字符都分配三个字节的内存,也可以为编号小的字符分配一个字节或者两个字节的内存,而为编号大的字符分配三个字节的内存。

     

    这两种方案各有优缺点,请读者看下面的分析。

    字符集和字符编码不是一个概念,字符集定义了文字和二进制的对应关系,为字符分配了唯一的编号,而字符编码规定了如何将文字的编号存储到内存中。有的字符集在制定时就考虑到了编码的问题,是和编码结合在一起的;有的字符集只管制定字符的编号,至于怎么编码,是其他人的事情。

    方案1:为每个字符分配固定长度的内存

    一种方案是为每个字符分配固定长度的内存,并且这块内存要足够大,可以容纳下所有的字符编号。这种方案最简单,直接将字符编号放入内存中即可,不需要任何转换,并且以后在字符串中定位字符、修改字符都非常容易。

    字符串就是一串连续的字符序列,它们在内存中按次序挨着存放。在C语言中,字符串由双引号" "包围起来。

    目前的 Unicode 已经收录了上百万的字符,至少需要三个字节才能容纳下所有的字符编号。假设字符串"A3中¥"的 Unicode 编码值(十六进制形式)分别是 2A、31、DA49、BB672C,那么它们在内存中的存储形式为:

     

    在几乎所有的字符集中,常用字符的编号往往比较小,罕见字符的编号往往比较大,包括 Unicode 在内。

     

    A和3是 ASCII 编码中的字符,Unicode 为了兼容 ASCII,在设计时刻意保留了原来 ASCII 中字符的编号,所以英文字母和阿拉伯数字在 Unicode 中的编号都非常小,用一个字节足以容纳。中是一个汉字,编号比较大,一般要用两个字节才能容纳。¥可以看做是一个极其少见,或者只有极少数地区才会使用到的字符,这样的字符编号往往比较大,有时候需要三个字节才能容纳。

    是人民币符号,是汉字文化的一部分,它和其它汉字一样,实际上是用两个字节存储的,不过这里我们为了演示,故意犯错地说它需要三个字节。

    上图中带灰色背景的字节是没有用到的字节,它们就是被浪费掉的一部分内存空间,这就是用固定长度的内存来存储字符编号的缺点:常用字符的编号都比较小,这种方案会浪费很多内存空间,对于以英文为主的国家,比如美国、加拿大、英国等,内存利用率甚至会低于 50%。

    方案2:为每个字符分配尽量少的内存

    既然上面的方案有缺点,那我们就来改进一下。改进的思路也很明确,就是把空闲的内存压缩掉,为每个字符分配尽量少的字节,例如,A和3分配一个字节足以,中分配两个字节足以,如下图所示:

    这样虽然没有了空闲字节,不浪费任何内存空间了,但是又出现新的问题了:如果我不告诉你,你怎么知道2A表示一个字符,而不是2A31或者2A31DA才表示一个字符呢?后面的字符也有类似的问题。

     

    对于第一种方案,每个字符占用的字节数是固定的,很容易区分各个字符;而这种方案,不同的字符占用的字节数不同,字符之间也没有特殊的标记,计算机是无法定位字符的。

     

    这种方案还需要改进,必须让不同的字符编码有不同的特征,并且字符处理程序也需要调整,要根据这些特征去识别不同的字符。

     

    要想让不同的字符编码有不同的特征,可以从两个方面下手:

    1) 一是从字符集本身下手,在设计字符集时,刻意让不同的字符编号有不同的特征。

     

    例如,对于编号较小的、用一个字节足以容纳的字符,我们就可以规定这个字符编号的最高位(Bit)必须是 0;对于编号较大的、要用两个字节存储的字符,我们就可以规定这个字符编号的高字节的最高位必须是 1,低字节的最高位必须是 0;对于编号更大的、需要三个字节存储的字符,我们就可以规定这个字符编号的所有字节的最高位都必须是 1。

     

    程序在定位字符时,从前往后依次扫描,如果发现当前字节的最高位是 0,那么就把这一个字节作为一个字符编号。如果发现当前字节的最高位是 1,那么就继续往后扫描,如果后续字节的最高位是 0,那么就把这两个字节作为一个字符编号;如果后续字节的最高位是 1,那么就把挨着的三个字节作为一个字符编号。

     

    这种方案的缺点很明显,它会导致字符集不连续,中间留出大量空白区域,这些空白区域不能定义任何字符。

     

    2) 二是从字符编号下手,可以设计一种转换方案,字符编号在存储之前先转换为有特征的、容易定位的编号,读取时再按照相反的过程转换成字符本来的编号。

     

    那么,转换后的编号要具备什么样的特征呢?其实也可以像上面一样,根据字节的最高位是 0 还是 1 来判断字符到底占用了几个字节。

     

    相比第一种方案,这种方案有缺点也有优点:

     

    • 缺点就是多了转换过程,字符在存储和读取时要经过转换,效率低;
    • 优点就是在制定字符集时不用考虑存储的问题,可以任意排布字符。

     

    Unicode 到底使用哪种编码方案

    Unicode 是一个独立的字符集,它并不是和编码绑定的,你可以采用第一种方案,为每个字符分配固定长度的内存,也可以采用第二种方案,为每个字符分配尽量少的内存。

     

    需要注意的是,Unicode 只是一个字符集,在制定的时候并没有考虑编码的问题,所以采用第二种方案时,就不能从字符集本身下手了,只能从字符编号下手,这样在存储和读取时都要进行适当的转换。

     

    Unicode 可以使用的编码有三种,分别是:

    • UFT-8:一种变长的编码方案,使用 1~6 个字节来存储;
    • UFT-32:一种固定长度的编码方案,不管字符编号大小,始终使用 4 个字节来存储;
    • UTF-16:介于 UTF-8 和 UTF-32 之间,使用 2 个或者 4 个字节来存储,长度既固定又可变。

     

    UTF 是 Unicode Transformation Format 的缩写,意思是“Unicode转换格式”,后面的数字表明至少使用多少个比特位(Bit)来存储字符。

    1) UTF-8

    UTF-8 的编码规则很简单:如果只有一个字节,那么最高的比特位为 0;如果有多个字节,那么第一个字节从最高位开始,连续有几个比特位的值为 1,就使用几个字节编码,剩下的字节均以 10 开头。

     

    具体的表现形式为:

    • 0xxxxxxx:单字节编码形式,这和 ASCII 编码完全一样,因此 UTF-8 是兼容 ASCII 的;
    • 110xxxxx 10xxxxxx:双字节编码形式;
    • 1110xxxx 10xxxxxx 10xxxxxx:三字节编码形式;
    • 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx:四字节编码形式。

     

    xxx 就用来存储 Unicode 中的字符编号。

     

    下面是一些字符的编码实例(绿色部分表示本来的 Unicode 编号):

     

    字符 N æ
    Unicode 编号(二进制) 01001110 11100110 00101110 11101100
    Unicode 编号(十六进制) 4E E6 2E EC
    UTF-8 编码(二进制) 01001110 11000011 10100110 11100010 10111011 10101100
    UTF-8 编码(十六进制) 4E C3 A6 E2 BB AC

    对于常用的字符,它的 Unicode 编号范围是 0 ~ FFFF,用 1~3 个字节足以存储,只有及其罕见,或者只有少数地区使用的字符才需要 4~6个字节存储。

    2) UTF-32

    UTF-32 是固定长度的编码,始终占用 4 个字节,足以容纳所有的 Unicode 字符,所以直接存储 Unicode 编号即可,不需要任何编码转换。浪费了空间,提高了效率。

    3) UTF-16

    UFT-16 比较奇葩,它使用 2 个或者 4 个字节来存储。

     

    对于 Unicode 编号范围在 0 ~ FFFF 之间的字符,UTF-16 使用两个字节存储,并且直接存储 Unicode 编号,不用进行编码转换,这跟 UTF-32 非常类似。

     

    对于 Unicode 编号范围在 10000~10FFFF 之间的字符,UTF-16 使用四个字节存储,具体来说就是:将字符编号的所有比特位分成两部分,较高的一些比特位用一个值介于 D800~DBFF 之间的双字节存储,较低的一些比特位(剩下的比特位)用一个值介于 DC00~DFFF 之间的双字节存储。

     

    如果你不理解什么意思,请看下面的表格:

     

    Unicode 编号范围
    (十六进制)
    具体的 Unicode 编号
    (二进制)
    UTF-16 编码 编码后的
    字节数
    0000 0000 ~ 0000 FFFF xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 2
    0001 0000---0010 FFFF yyyy yyyy yyxx xxxx xxxx 110110yy yyyyyyyy 110111xx xxxxxxxx 4

     

    位于 D800~0xDFFF 之间的 Unicode 编码是特别为四字节的 UTF-16 编码预留的,所以不应该在这个范围内指定任何字符。如果你真的去查看 Unicode 字符集,会发现这个区间内确实没有收录任何字符。

     

     

    UTF-16 要求在制定 Unicode 字符集时必须考虑到编码问题,所以真正的 Unicode 字符集也不是随意编排字符的。

    总结

    只有 UTF-8 兼容 ASCII,UTF-32 和 UTF-16 都不兼容 ASCII,因为它们没有单字节编码。

     

    如果你希望查看完整的 Unicode 字符集,以及各种编码方式,请猛击:https://unicode-table.com/cn/

    虽然这个网站有时候无法访问,但它是最好的一个查看 Unicode 字符集的网站。

    GB2312、Shift-JIS 等国家(地区)字符集怎么编码

    GB2312、GBK、Shift-JIS 等特定国家的字符集都是在 ASCII 的基础上发展起来的,它们都兼容 ASCII,所以只能采用变长的编码方案:用一个字节存储 ASCII 字符,用多个字节存储本国字符。

     

    以 GB2312 为例,该字符集收录的字符较少,所以使用 1~2 个字节编码。

    • 对于 ASCII 字符,使用一个字节存储,并且该字节的最高位是 0;
    • 对于中国的字符,使用两个字节存储,并且规定每个字节的最高位都是 1。

     

     

    由于单字节和双字节的最高位不一样,所以很容易区分一个字符到底用了几个字节。

    宽字符和窄字符(多字节字符)

    有的编码方式采用 1~n 个字节存储,是变长的,例如 UTF-8、GB2312、GBK 等;如果一个字符使用了这种编码方式,我们就将它称为多字节字符,或者窄字符。

     

    有的编码方式是固定长度的,不管字符编号大小,始终采用 n 个字节存储,例如 UTF-32、UTF-16 等;如果一个字符使用了这种编码方式,我们就将它称为宽字符。

     

    Unicode 字符集可以使用窄字符的方式存储,也可以使用宽字符的方式存储;GB2312、GBK、Shift-JIS 等国家编码一般都使用窄字符的方式存储;ASCII 只有一个字节,无所谓窄字符和宽字符。

    展开全文
  • 机器视觉学习(一):特征提取基本概念总结一、特征提取概念二、特征概述1.边缘2.角3.区域4.脊三、常用图像特征概述1.颜色特征2.纹理特征3.形状特征4.空间关系特征 一、特征提取概念 特征提取是计算机视觉和...
  • 声明:本文转至Big大鸟的博客下,转载的名为《什么叫大数据 大数据的概念》一文,链接地址http://blog.csdn.net/qq_36738482/article/details/728235091、大数据定义 对于“大数据”(Big data)研究机构Gartner给...
  • 任何形式的数据可视化由丰富的内容、引人注意的视觉效果、精细的制作三个要素组成,概括起来就是新颖、充实、高效、美感四个特征。 广义的数据可视化包括数据的采集、分析、治理、管理、挖掘在内的一系列复杂数据...
  • 理解两个大数相乘过程

    万次阅读 多人点赞 2018-03-07 15:59:35
    2,最开始自己面对这一道面试题,第一反应就是,我无法使用任何编程语言的基本数据类型去表示这样一大数,自然也不能够满足这数的乘积了。这也是这面试题的难点。3,我的想法就是抛开一切数学中的理论概念。用...
  • 文章代码或者内容有任何问题,读者可留言相告,不胜感激!!!! 事务(Transaction)是并发控制的基本单位。所谓的事务,它是一操作序列,这些操作要么执行,要么不执行,它是一不可分割的工作单位。例如,...
  • 事务的概念及事务的四特性。

    千次阅读 2012-12-28 19:31:57
    事务是用户定义的一数据库操作序列,这些操作要么全做要么全不做,是一不可分割的工作单位。  事务具有四特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这...
  • 什么是(监督式)机器学习?简单来说,它的定义如下: 机器学习系统通过学习如何组合输入信息来对从未见过的数据做出有用的预测。 下面我们来了解一下机器学习的基本术语。 标签 标签是我们要预测的事物,即简单...
  • 假设是mfcc特征的均值(mean)和标准差(std)是一样的。 2.为何预加重: 声门气流波,每倍频音下降12分贝。这是我们声带的特征。经过咽腔,口腔进行共振,最后通过嘴唇发出。在唇齿之间进行唇呛辐射时,...
  • SIFT特征提取分析

    万次阅读 多人点赞 2012-06-06 22:06:09
    SIFT(Scale-invariant feature transform)是一种检测局部特征的算法,该算法通过求一幅图中的特征点(interest points,or corner points)及其有关scale 和 orientation 的描述子得到特征并进行图像特征点匹配,...
  • 机器学习入门讲解:什么是特征特征选择

    万次阅读 多人点赞 2017-10-30 14:00:27
    在machine learning (机器学习)中,特征工程是重中之重,我们今天就来简单介绍一下特征工程里面的feature(特征),以及feature selection (特征选择)。   首先我们来看看中文字典里是怎么解释特征的...
  • 它们具有以下两个共同的特征: 1) 一次性 作业必须一次性全部装入内存后,方能开始运行。这会导致两种情况发生: 当作业很大,不能全部被装入内存时,将使该作业无法运行;当大量作业要求运行时,由于内存不...
  • 任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑~此外,公众号内还有更多AI、算法、编程和大数据知识分享,以及免费的SSR节点和学习资料...
  • java虚拟机栈和程序计数器一样,他是线程私有的内存区域,他的生命周期与线程相同,java虚拟机栈描述的是java方法执行时候的内存概念模型,每方法在执行的时候都会创建一栈帧,用来创建这方法的操作数栈,局部...
  • 考研逻辑整理 - 概念概念的种类

    千次阅读 2017-06-17 18:01:01
    概念及其逻辑特征1) 定义:概念是反映事物本质属性的思维形式。 2) 逻辑特征:  ①. 内涵:概念所反映的事务的本质属性。  ②. 外延:概念所反映的事物对象的数量... 普遍概念:外延有两个两个以上对象的概念。 2
  • 时间序列模型的三重要概念

    千次阅读 2017-08-02 14:57:09
    一般来讲,时间序列的分析技术在量化投资中的应用: 对未来的资产价格预测 模拟序列 探索金融时间序列的趋势和周期性 时间序列与其他变量的内在关系,为策略提供辅助和增强 不同时间序列之间的...
  • 机器学习几重要概念

    千次阅读 2015-07-17 20:07:38
    监督学习的输入数据都有对应的类标签或是一输出值,其任务是学习一模型,使模型能够对任意给定的输入,对其相应的输出做出一好的预测。非监督学习就是没有对应的类标签或是输出值。学习中并没有任何标准来告诉...
  • 程序员不成熟的若干个特征

    万次阅读 热门讨论 2010-11-22 06:30:00
    人不成熟的第一个特征------就是立即要回报  他不懂得只有春天播种,秋天才会收获。很多人在做任何事情的时候,刚刚付出一点点,马上就要得到回报。(学钢琴,学英语等等,刚开始就觉得难,发现不行,...
  • 计算机网络的核心概念

    万次阅读 多人点赞 2019-12-31 10:44:21
    我们第一篇文章讲述了计算机网络的基本概念,互联网的基本名词,什么是协议以及几种接入网以及网络传输的物理媒体,那么本篇文章我们来探讨一下网络核心、交换网络、时延、丢包、吞吐量以及计算机网络的协议层次和...
  • 信息论几基本概念

    千次阅读 2014-12-01 00:15:43
    在学习机器学习的算法之前,需要明确几基本概念。  1. 信息熵(entropy)  熵是表示随机变量不确定性的度量.从直观上,信息熵越大,变量包含的信息量越大,变量的不确定性也越大。一事物内部会存在...
  • 简单来说就是一个大的操作由两个或者更多的小的操作共同完成。而这些小的操作又分布在不同的网络主机上。这些操作,要么全部成功执行,要么全部不执行。PS:拿转帐来说。张三和李四在不同的城市,存储他们账户信息的...
  • 初识机器视觉和计算机视觉这两个名词,感觉是差不多的,是视觉,而且计算机也是机器,研究计算机视觉不就是研究机器视觉吗?也许很多人跟我同感,但通过涉入这一领域,在通过系统的学习之后,我发觉它们两者既...
  • 在高等代数里,矩阵分解是一十分基础与重要的内容,任何学校对于理工科的研究生教育都会开设相应的课程,如:矩阵分析、矩阵论、线性系统等。看了不少社区的问答、笔记和博客,在它们的基础上加入一些自己的...
  • 封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 在Java中类中成员的属性:...
  • Elasticsearch - 核心概念

    千次阅读 2015-11-02 15:30:44
    基本概念Elasticsearch 核心概念。从一开始理解这些概念会对整个学习过程莫大的帮助。接近实时(NRT)Elasticsearch 是一接近实时的搜索平台。这意味着,从索引一文档直到这文档能够被搜索到...
  • 什么叫大数据 大数据的概念

    万次阅读 多人点赞 2017-05-31 20:23:06
    当前用于分析大数据的工具主要开源与商用两个 生态圈 。 开源大数据生态圈: 1、Hadoop HDFS、HadoopMapReduce,  Hbase 、 Hive  渐次诞生,早期Hadoop生态圈逐步形成。 2、. Hypertable是另类。...
  • RabbitMQ基础概念详解

    万次阅读 2017-03-01 18:51:48
    RabbitMQ简介AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 195,350
精华内容 78,140
关键字:

任何概念都有两个特征是什么