基于计算机视觉的图像检索(计算机视觉图像技术:视觉图像搜索综述)
美丽而平凡,平凡到你可以感觉不到她的存在;美是平淡的,平淡到只留下温暖的回忆;美是平静的,平静到只有你才能用巨大的努力激起她的涟漪。
近年来,计算机视觉识别和搜索领域非常热闹,后期出现了很多初创公司,大公司也在这一领域下足了功夫。视觉搜索实际上是深度学习(或人工智能)领域最重要的研究课题之一,在现实生活中有着广泛的应用。
一般来说,视觉搜索包括两项任务:一是待搜索物体的检测和定位;其次,从数据库(知识图谱、图片数据库、信息数据库等)中搜索对象。)或查询关联场景。例如,从简单的图片搜索、车牌识别,到人脸识别、植物或宠物识别、人体或车辆跟踪、无人机自动驾驶、智能机器人等领域,计算机视觉搜索技术都不可或缺。这也是这一次谷歌的意义开源的基于TensorFlow的物体检测代码。
除了更快的R-CNN、R-FCN和SSD检测算法已经在谷歌的这个开源版本中实现,还有许多其他的检测算法,例如YOLO(你只看一次),除了SSD之外的另一种端到端检测算法。其准确率可能略逊于更快的R-CNN(不是绝对的,不同的数据和网络设计会导致差异),但其检测速度更快。下面的YOLO 9000(YOLO升级版),文中提到它可以探测和识别9000多种物体,而且探测更快更准。
计算机可以比以前更快更准确地识别图片,但需要大量的数据。因此,ImageNet和Pascal VOC经过多年的积累,构建了一个包含数百万张图片的庞大且免费的数据集。他们给这些图片贴上了描述其内容的关键词,包括猫、山、披萨和体育活动。这些开源数据集是使用机器学习进行图像识别的基础。
ImageNet 的年度图像识别挑战是众所周知的。ImageNet由斯坦福大学和普林斯顿大学的计算机科学家于2009年发起。当时有80000张带标签的图片。如今,这个数据已经增加到140万,可以随时用于机器训练。
Pascal VOC得到了英国几所大学的支持。他们的图片不多,但每张图片都有更丰富的解读。这提高了机器学习的准确性和应用范围,加快了整个过程,因为它可以省略一些繁重的子任务。
如今,谷歌、脸书和其他科技巨头、创业公司、高校都在使用这些开源图像集合来养活他们的机器学习,但科技巨头们还享有另一个优势。谷歌和脸书可以从谷歌照片社交网络获得数百万张用户标记的图片。你有没有考虑过为什么谷歌和脸书让你免费上传这么多图片?原因是这些图片可以更准确地训练他们的深度学习网络。
一、例如:
亚马逊出品的《萤火虫》在当时引起了极大的轰动。虽然这个产品成功与否还不好说,但在当时确实是一个大胆的举动。
百度也有图片搜索和图片识别,微软也有。
Google很久以前也有Google Goggles,虽然技术和现在大不相同。
Pinterest去年也有这个功能,就是可以在自己的分享照片上搜索类似的照片或者类似的商品。
阿里巴巴之一的图片搜索,3354拍里淘,强调用一个在互联网上搜索相同或相似的产品。
二、如果想搭建一个图片搜索引擎,怎么搜索图片?
一种方法是依赖与图像相关的标签、关键字和文本描述。这被称为标签搜索,或通过文本搜索图像。
另一种方法是对图像进行量化,提取一组数字来表示图像的颜色、纹理或形状,然后通过比较图像之间的相似性来搜索图像,这种方法称为示例搜索,或图片搜索。
最后一种是前两种方法的结合,既依赖于图像相关的文本信息,又对图像本身进行量化,称为混合搜索。
有三种类型的图像搜索引擎:标签搜索、示例搜索和混合搜索。
标签搜索
在Google或者百度中输入关键词点击搜索按钮,这是大家比较熟悉的文本搜索方式,图片的标签搜索和文本搜索非常相似。图像标签搜索引擎很少关注图像本身,而是依赖文本线索。这些线索可以来自各种来源,但主要方法有:
手动标注:这种情况下,管理员或用户提供图像内容的标签和关键字;
上下文提示:一般来说,上下文提示只适用于网页。与我们必须手动提取标签的手动注释不同,上下文提示会自动检查图像周围的文本内容或图片标签。这种方法的缺点是,我们必须假设图像的内容与网页上的文本相关。这可能适用于百度百科等网站,页面上的图片与文章内容高度相关;
示例搜索:
这些类型的图像搜索引擎试图量化图像本身,它们被称为基于内容的图像检索(CBIR)系统。一个简单的例子是通过图像中像素强度的平均值、标准偏差和偏斜度来表征图像的颜色。(如果你只是构建一个简单的图片搜索引擎,在很多情况下,这种方法实际上效果很好)
对于给定的图像数据集,计算数据集中所有图像的特征值,并存储在磁盘上。当我们量化一幅图像时,我们描述它并提取它的特征。这些图像特征是图像的抽象,用于表示图像的内容。从图像集中提取特征的过程称为索引。
假设我们已经从数据集中的每一幅图像中提取了特征,那么如何进行搜索呢?第一步是为我们的系统提供一个查询图像,这是我们在数据集中寻找的一个例子。查询图像提取要素的方式与索引图像完全相同。然后,我们使用一个距离函数(比如欧几里德距离)将我们的查询特征与索引数据集中的特征进行比较。然后按照相似度排序显示结果(欧氏距离越小表示越相似)。
混合模式:
假设我们正在为Twitter构建一个图像搜索引擎。Twitter允许在推文中使用图片。同时,Twitter还允许你给你的推文加标签。我们可以利用tweet标签建立图片的标签搜索,然后对图片本身的特征进行分析和量化,建立实例搜索。方法是建立一个混合图像搜索引擎,它包括文本关键词和从图像中提取的特征。
最好的例子是谷歌的图片搜索。谷歌的图片搜索其实是通过分析图片本身的特征来进行搜索,但是Google首先是一个文本搜索引擎,所以它也允许你通过标签进行搜索。
三、文本搜索可分为三种类型
第一种是用人来标注文字。
最早的时候,七八十年代,图片收藏很少。对人们来说,给图片添加文本标签,然后在文本中搜索就足够了。然后在2004年左右发展到社交媒体时代。那时候,虽然标记像闪烁的图片是由人添加的,草根们添加的数量变得非常大。你也可以通过这个做一个很好的图片搜索。以后人们不会给自己的图片贴标签,而是通过设计一些标签平台3354来贴标签。比较有名的是谷歌收购的Image Labeler——。当然这些标注可以用来搜索图片,也就是通过手动添加文字标注来搜索图片。
第二种方法是通过网页的文本来索引图片。
目前所有通用的互联网图片搜索引擎基本都是基于这套技术。当然,通过网页的文字对图片进行索引也涉及到很多细节,包括如何从网页中提取有效的文字,并且在2008年之后,很多图像分析的内容已经被引入到基于网页的图片搜索中。也就是说,图片虽然是网页中的图片,但是会从内容上进行分析,无论是标注还是特征提取等。——改善文本搜索的一些缺陷,提高搜索的准确率。
第三种自动标注
这个方向的大量学术论文被称为概念检测或标注。规模小到几十个、几百个,大到几千个、几万个标签。
四、严格来说,这个类别可以细分为几个类别:
预定义类别.比如事先只安排一千个类别,然后训练一个分类器对这张图片进行标记。唐限制标签的范围,或者标签的范围很大,然后学习一个图片和标签的通用描述,实现类似自由文本的文本标注。
隐式标记意味着隐式自动标记。当搜索引擎运行时,用户在搜索时会点击搜索结果。此时,搜索词和搜索结果通过被点击的动作链接。这种方式也算是一种注解吧。虽然它有一些噪声,但实际上非常有效,可以使用一些方法来降低它的噪声,甚至在相似的图像之间转移标签,从而扩大标签的覆盖范围。这种注释在提高基于网络的图像搜索引擎的搜索质量方面起着关键作用。
五、图片搜索3354从火爆到没落再到崛起
早在20世纪90年代,它就被称为CBIR(Content-based Image Retrieval),即基于内容的图像检索。但当时只能搜索到几千或几万张图片,检索效果难以保证。那时候有个流行词叫语义鸿沟,这经常被用来质疑基于图片的搜索或CBIR是否可靠。
图像搜索的衰落并没有直到2008年左右,一家名为TinEye的公司出现,提供这样的网络服务。在你提交一张图片后,它可以帮你在网上找到一张和这张非常相似的图片。当你的图片涨到几千万、几十亿甚至几十亿,就有你无能为力。所以,这时候就需要对图片进行索引了。通过文本搜索中的倒排方法很容易做到这一点。但是形象不一样。图像的描述就是它的特征,这个特征就是一个向量。
如何使用高维特征建立索引:
分区树就是用各种树的方法对数据进行划分和分块,这样更容易找到。
关于图像搜索的哈希论文基本都是在做哈希。
邻域图是一种利用邻接图建立索引的方法。
反转索引将所有图像特征转换成视觉单词,然后以反转的方式进行。
基本上这些方法是可以互相转化的。当然,有时在转换过程中会有信息丢失。如果用非常大的数据量做大规模的图片搜索,我个人认为it’倒过来做更合适。
深度学习用于图像搜索:
经过深度学习,我们可以学习一个神经网络,根据我们想要的目标提取图像的特征。实际上,搜索和识别是密不可分的,特别是在大规模的图像搜索中,识别和检测是必不可少的。有时候,鉴定也是通过搜索来完成的。例如,如果您有大量的类别,通常通过搜索而不是通过模型来完成。所以大数据时代搜索和识别的界限已经越来越模糊,两者需要互相利用。
六、为什么用OpenCV Python实现一个图片搜索引擎?
首先,OpenCV是一个开源的计算机视觉处理库,广泛应用于计算机视觉、图像处理、模式识别等领域。界面安全好用,跨平台挺好的。它是一个不可多得的计算机图像和视觉处理库。
其次,Python 的语法更容易使用,接近自然语言,非常灵活。虽然计算效率不高,但在快速开发上远远优于C或其他语言。pysco的引入可以优化python代码中的循环,在一定程度上缩小与C/C的计算差距。而且在图像处理中需要大量的矩阵计算。引入numpy进行矩阵计算,可以降低编程的复杂度,更专注于匹配逻辑而不是计算的细节。
图像搜索引擎的算法和框架设计:
基本步骤
颜色空间特征提取器和合成空间特征提取器用于提取图像特征。
图像索引表构建驱动器生成待搜索图像库的图像特征索引表。
图像搜索引擎驱动程序执行搜索命令,生成原始图像特征,并将它们发送到图像搜索匹配器。
图像搜索和匹配内核执行搜索和匹配任务。返回上限最佳匹配图像。
所需模块
numpy .科学计算和矩阵运算的利器。
cv2 .OpenCV python模块访问。
回复.正规化模块。分析csv中的图像组成特征和颜色特征的集合。
csv .高效读取csv文件。
全球.获取常规文件夹中的文件路径。
argparse .设置命令行参数。
类别和驱动程序
一个空间特征提取器。
班级垃圾箱。记录由HSV颜色空间生成的色调、饱和度和亮度分布直方图的最佳面元分布。过多的bin分配可能导致程序效率低,匹配难度和匹配要求过于严格;太少的箱分配将导致匹配精度不足,并且可能表达图像特征。
成员gethistogram (self,image,mask,iscenter)。生成图像的颜色特征分布直方图。Image是要处理的图像,mask是图像处理区域的掩膜,isCenter判断是否是图像的中心,从而有效地对颜色特征向量进行加权。重量为5.0。直方图通过OpenCV的calcHist()方法获取,并通过normalize()方法归一化。
描述功能(自我、形象)。将图像从BGR色彩空间更改为HSV色彩空间(这里需要注意的是OpenCV读取的图像的色彩空间是BGR而不是RGB)。生成左上、右上、左下、右下和中心部分的遮罩。中心掩模的一部分是椭圆形的。这样可以有效区分中心部分和边缘部分,并在getHistogram()方法中对不同部分的颜色特征进行加权。
合成特征提取器结构描述符。
类维度。所有图片都被规范化(缩减取样)为dimension指定的大小。因此,它可以用于均匀匹配和合成的空间特征的生成。
描述功能(自我、形象)。将图像从BGR色彩空间更改为HSV色彩空间(这里需要注意的是OpenCV读取的图像的色彩空间是BGR而不是RGB)。返回HSV颜色空间的矩阵,等待搜索引擎核心的下一步。
图像搜索匹配内核搜索器。
类colorIndexPath和structureIndexPath。记录颜色空间特征索引表路径和结构特征索引表路径。
成员solvecoloristance (self,features,query features,EPS=1e-5)。求特征和查询特征的特征向量的两个范数。Eps是为了避免零除法误差。
成员solvestructure(自身,结构,查询结构,EPS=1e-5)。也是求特征向量的第二范数。Eps是为了避免零除法误差。要统一,颜色和结构特征向量的相对距离适中,不宜过分偏向。
成员searchbycolor(自身,查询特性)。使用csv模块的reader方法读取索引表数据。Re 采用s分割法分析数据格式。使用字典搜索结果来存储查询图像和库中图像之间的距离。关键字是库中的imageName,值是distance。
成员transformwquery (self,rawquerystructures)。将未处理的查询图像矩阵转换成特征向量形式用于匹配。
成员按结构搜索(self,rawquerystructures)。4类似。
成员搜索(self,查询功能,rawquerystructures,limit=3)。汇总searchByColor方法和searchByStructure的结果,得到总匹配分数。分数越低,综合距离越小,匹配度越高。返回上限最佳匹配图像。
索引表构造驱动程序index.py
介绍颜色描述符和结构描述符。用于分析图片库图像,获得颜色空间特征向量和构图空间特征向量。
用argparse设置命令行参数。包括参数图库路径、色彩空间特征索引表路径和构图空间特征索引表路径。
用glob获取图片库路径。
生成索引表文本并将其写入csv文件。
您可以用以下命令行的形式启动驱动程序。
数据集是图片库路径。Color_index.csv是颜色空间特征索引表的路径。Structure_index.csv是构图空间特征索引表的路径。
图像引擎驱动程序searchEngine.py
介绍颜色描述符和结构描述符。用于对待匹配(搜索)的图像进行分析,得到颜色空间特征向量和构图空间特征向量。
用argparse设置命令行参数。包括参数图片库路径、色彩空间特征索引表路径、构图空间特征索引表路径和待搜索图片路径。
生成索引表文本并将其写入csv文件。
您可以用以下命令行的形式启动驱动程序。
数据集是图片库路径。Color_index.csv是颜色空间特征索引表的路径。Structure_index.csv是构图空间特征索引表的路径,query/pyramid.jpg是要搜索的图像的路径。
图像搜索系统的四个基本要求
在建立索引的过程中,首先要在网上找到这些图片,找到后再进行选择。因为网上的图片很多,不可能把所有的图片都放在索引里。这时候就涉及到应该放什么图片才能满足用户的搜索需求。这个要求意味着选取的图片要能够满足大多数人在当前时间点的搜索需求,这实际上会转化为一个机器学习问题来解决。
选择后要了解和索引,知道什么在这张照片里。如果是基于网页的,就要从网页中提取信息;如果完全基于图像,就需要提取图像的特征进行理解和索引。建立索引后,将这些索引推送到搜索服务机器。例如,一个互联网图像搜索引擎此时可能需要数千台机器来保存这个图像库的索引。
视觉搜索的关键要求:
首先是相关性:这是最基本的要求。给定一个图像,进出的东西应该和给定的图像有关。如何定义相关性通常被认为是和它一样或者相似用于图像搜索。比如同样的产品不管颜色是不是一样都是一样的东西,这就叫相关性。一般来说,相关性是做搜索的人最关心的问题之一;
第二是覆盖面:这个和产品很有关系。不可以,只能搜衣服不能搜其他的,或者只能搜商品不能搜其他的。否则,用户的体验会很糟糕,即使是在电商的搜索引擎里。如果用户输入了一个非商品,我们应该如何反馈给用户?这都是覆盖率的问题。
第三是可扩展性:是否能够高效快速的处理大量的商品和商品变化,即是否能够非常快速的将大量的商品放入索引中并且索引能够方便的更新,即对于商品构建索引的过程的一个可扩展性。能否应对大量用户搜索请求,即当大量用户同时访问搜索服务时,您应该能够快速响应所有请求。
第四,用户体验:交互用户界面的设计比较偏;
八、商品图像搜索相关关键技术
首先你要知道一张图片的大致类型。比如,如果是商品,你需要知道是不是大衣——,男人外套,女人的外套或鞋子。这样搜索结果就完全不靠谱了,我们一般称之为分类或者识别。
目标检测:在计算机视觉领域有许多快速的目标检测方法。基本上,我们需要先找到提议窗口,然后进行分类。这种情况通常需要非常快的速度。在搜索请求到来之后,所有的操作——,包括上面的分类、主题检测和最终返回结果3354的一些后续步骤,将在几百毫秒内返回给用户。因此,我们可以不要有那么多提议窗口,否则计算量会相当大,所以这就涉及到后续的提议窗口细化。
图片说明:基本方法还是用深度学习这个工具。力神经网络收敛到一个地方,使特征输出能够反映这种商品的特征,如类型、款式、图案、颜色等。
覆盖范围分为三个角度:
指数的覆盖范围。这就是我们通常所说的覆盖范围。简单来说,指数中的商品数量当然是越多越好,品种越多越好。这个比较好理解。
功能的覆盖范围。特征覆盖是指对商品的描述是否能覆盖所有种类,不仅仅是鞋子或者衣服,其他的都不可以,甚至非商品也可以。为了准确描述,优化描述能力,实际上不同类型一般用不同的特征来描述。
搜索范围。这个覆盖率在电商场景下是绝无仅有的,因为电商只有商品图片这个指标,没有其他指标;那么,如果用户不这么做,他们应该怎么做?t输入电商产品图片?比如用户在街上看到一只可爱的狗,拍了照片,在平台上搜索,该怎么办?这时候我们就可以对狗进行识别,并返回一些与狗相关的产品给用户。这是一个解决方案。如果是风景或者食物,还可以识别风景和食物中的热量,然后将这些信息返回给用户。
实现可伸缩性有两种主要方式:
第一种是通过系统的方法,也就是通过大量的机器。实现索引技术有系统的方法,所以对索引的要求其实没那么高。有许多方法可以完全满足搜索系统的构建要求。在搜索引擎架构中提到,索引会分布到很多机器上,所以只要每台机器上的数据搜索效率足够高,系统就可以完成大规模的搜索任务。
二是通过算法。对于算法,重点在于如何在一台机器上高效。
九、图像识别技术:
图像识别技术是数字图像处理和模式识别技术的结合。数字图像处理是利用计算机或其他数字设备对图像信息进行处理和加工以满足目标识别需要的基本行为。模式识别研究如何用机器实现人的学习、识别和判断事物的能力,所以是满足目标识别的判断行为。
为了模拟人类的图像识别活动,人们提出了不同的图像识别模型。比如模板匹配模型。这个模型认为,要识别图像中的一个物体,在过去的经验中必须有图像对物体的记忆模式,也就是所谓的模板。如果当前的刺激可以与大脑中的模板相匹配,则该物体将被识别。
图像识别的基本过程是提取代表未知样本模式的本质表达式(如各种特征)并与机器中存储的标准模式表达式集(称为字典)一一匹配,用一定的准则做出判断。在机器存储的标准模式表达式集合中,找到与输入样本子模式最接近的表达式,这个表达式模式对应的类别就是识别结果。因此,图像识别技术是在大量信息和数据的基础上,利用计算机和数学推理,对图像中的物体进行自动识别和评价的过程。
图像识别包括图像采集(特征分析)、图像预处理、特征提取和模式匹配四个步骤。
首先,通过高清摄像机、扫描仪或其他图像采集仪器采集图像的原始信息。传统的全局特征表示方法,如颜色、形状、纹理等特征,简单直观,但容易受到光照、裁剪、旋转、噪声等因素的影响。目前基本上只是作为辅助手段。
图像预处理的作用可以概括为:通过某种手段将图像信息归一化,以便于后续处理。图像特征提取的作用是提取最能代表一个物体的特征信息,并将其转化为特征向量或矩阵的形式。模式匹配是指系统将待测图像的特征与特征库中的信息进行比较,通过选择合适的分类器达到识别的目的。
1.图像预处理
图像预处理技术是在对图像进行正式处理之前所做的一系列操作。图像预处理技术分为两个方面,即图像增强和图像恢复技术。图像增强技术在图像预处理中占有很大的比重,是图像预处理的必要步骤。它不同于图像恢复技术,图像恢复的目的是恢复图像的原始本质。
一般来说,图像增强有两种方法:空域和频域。空间域法主要是直接在空间域对图像进行操作和处理,分为点操作和域操作(局部操作)两个方面。其中,点操作包括图像灰度变换、直方图均衡化、局部统计等几种方法。
操作领域包括图像平滑和图像锐化。频域规则只对图像在某个变换域的变换值进行运算。比如我们对一幅图像进行傅里叶变换,然后在变换域计算图像的频谱,最后把计算出来的图像逆变换到空间域。频域法通常分为高通滤波、低通滤波、频率带通滤波和带阻滤波。图像恢复技术是利用图像的先验知识改变退化图像的过程。图像复原技术要求我们建立图像模型,然后逆向求解这个退化过程,最后得到退化前的最佳图像。
2.变换域处理
变换域图像处理以空间频率(波数)为独立变量来描述图像的特征。它可以将一个像元值的空间变化分解为幅度、空间频率和相位不同的简单振动函数的线性叠加。图像中的各种空间频率分量和分布称为空间频谱。这种对图像空间频率特征的分解、处理和分析称为空间频域处理或波数域处理。在许多图像变换技术中,常用的有离散余弦变换、沃尔什变换、傅立叶变换、Gabor变换和小波变换。
(1)离散余弦变换的DCT矩阵的基向量通常被认为是语言和图像信号的最佳变换,因为它类似于托贝利兹向量。虽然其压缩效率略逊于压缩能力最好的K-L变换,但其高效的处理类型是K-L变换无法比拟的,成为H.261、JPEG、MPEG等国际标准的主要环节。它广泛应用于图像编码。
(2) Washer变换是一种正交变换,可以消除相邻采样点之间的相关性,使信号能量集中在变换矩阵的左上角,其他部分出现很多零;或者在误差允许的范围内,允许省略小值,可以达到数据压缩的目的。沃尔变换在图像传输、雷达、通信和生物医学等领域有着广泛的应用。
(3)傅立叶变换是一种常用的正交变换,其主要的数学理论基础是傅立叶级数,由著名数学家傅立叶于1822年提出。其主要思想是将周期函数展开成正弦级数。傅立叶变换奠定了图像的理论基础。通过在时间-空间域来回切换图像
(4)Gabor变换属于加窗傅里叶变换,是短时傅里叶变换在窗函数为高斯时的特例。由于傅里叶变换的局限性,Gabor1946年提出了加窗傅里叶变换。典型的加窗傅立叶变换方法是低通滤波器。Gabor函数可以在频域中提取不同尺度和方向的相关特征。
(5)小波变换受傅里叶变换的启发。Morlet在1984年提出了小波分析的概念。1986年,著名数学家Meyer和Mallat合作构建了图像小波函数的统一方法——多尺度分析。目前,小波变换理论在图像去噪中的应用已经取得了很好的效果。
频域去噪主要是因为部分图像在空间域效果不理想。因此,我们想到转换到频域进行处理,即利用一组正交函数系来逼近待处理的目标函数,从而进一步得到相应级数的系数。频域处理主要用于与图像空间频率相关的处理,如图像恢复、图像重建、辐射变换、边缘增强、图像平滑、噪声抑制、频谱分析、纹理分析等。
3.特征抽出
特征提取是计算机视觉和图像处理中的一个概念。它是指利用计算机提取图像信息,确定每个图像点是否属于一个图像特征。特征提取的结果是将图像中的点分成不同的子集,这些子集往往属于孤立点、连续曲线或连续区域。
(1)特征选择
原始特征数量很大,或者原始样本在高维空间。从一组特征中选择一些最有效的特征来降低特征空间的维数的过程称为特征选择。也就是说,对类别的可分性没有或贡献不大的特征,就被简单地忽略了。特征选择是图像识别中的一个关键问题。
(2)特征转换
高维空间中的特征描述可以通过映射或变换用低维空间中的特征来描述。这个过程称为特征转换。特征变换得到的特征是原特征集的某种组合,新特征包含了所有原特征的信息。主成分分析是最常用的特征变换方法。
特征选择和提取非常重要,特征选择是模式识别中的一个关键问题。在许多实际问题中,不容易找到最重要的特征,或者它们可以这使得特征选择和提取的任务变得复杂,成为构建模式识别系统中最困难的任务之一。
特征选择和提取的基本任务是如何从众多特征中找到最有效的特征。解决特征选择和特征提取问题,核心内容是如何评价已有特征,如何通过已有特征生成更好的特征。常见的图像特征提取和描述方法如颜色特征、纹理特征和几何特征的提取和描述方法。
特征提取算法:
特征检测,代表算法有:LOG(高斯拉普拉斯检测),DOH(利用图像点的二阶微分Hessian矩阵及其行列式);
角点特征检测,代表性算法有Harris角点检测、Shi-Tomasi角点检测、快速角点检测等。
SIFT(尺度不变特征变换)特征检测是一种划时代的特征检测算法。由于其具有优良的仿射不变性、旋转不变性,对光线、噪声、视角变化等的高容忍度。广泛应用于图像搜索和匹配领域,后续也出现了很多基于SIFT的改进算法。
SURF (Accelerated Robust Feature)特征检测是SIFT的高效变种,简化了SIFT特征提取的算法,运算效率更高,基本可以实现实时处理。
ORB特征检测,基于快速特征点检测算法和简短特征描述方法,做了一些优化和改进,是除了SIFT和SURF(两者都有专利保护)之外的一个不错的选择。
KAZE/A KAZE(加速版KAZE)特征检测,比SIFT性能更好,性能更稳定,是继SIFT之后的一大突破,也是目前我比较喜欢在系统中使用的图像特征提取算法。
此外,还有基于BRISK/SBRISK(二值鲁棒尺度不变关键点)和FREAK(快速视网膜关键点)的特征提取和检测算法。
4.模式识别
根据有无标准样本,模式识别可以分为有监督学习和无监督学习。模式识别、分类或描述通常基于已被分类或描述的模式集。人们把这种模式集称为训练集,由此产生的学习策略称为监督学习。学习也可以是无监督学习。从这个意义上说,生成的系统不需要提供模式类的先验知识,而是基于模式的统计规律或模式的相似性来学习和判断模式类。
(1)数据采集
数据采集是指利用各种传感器将被研究对象的各种信息转换成计算机可以接收的数值或符号(串)集。传统上,由这种数值或符号(字符串)组成的空间称为模式空间。这一步的关键是传感器的选择。
获得的一般数据类型如下:
物理参数和逻辑值:体温、实验室数据和参数是否正常的描述。
一维波形:脑电、心电、季节性振动波形、语音信号等。
2D图像:文字、指纹、地图、照片等。
(2)预处理
为了从这些数字或符号(字符串)中提取有效的识别信息,必须进行预处理。目的是消除输入数据或信息中的噪声,排除无关信号,只留下与所研究对象的性质和所采用的识别方法密切相关的特征(如形状、周长、面积等。).
比如在进行指纹识别的时候,指纹扫描设备输出的指纹图像会随着图像的对比度、亮度或者背景的变化而变化,有时还可能会变形。人们只对指纹的指纹线、分叉点和端点感兴趣,而不需要指纹的其他部分和背景。因此,需要使用合理的滤波算法,如基于块平方图的方向滤波、二值滤波等,滤除指纹图像中这些不必要的部分。
(3)特征提取
通过交换原始数据,从众多特征中找出最有效的特征,得到最能反映分类本质的特征。将维数较高的度量空间(原始数据组成的空间)转化为维数较低的特征空间(分类识别所依赖的空间),以降低后续处理的难度。人类容易获得的特征,机器很难获得,这就是模式识别中的特征选择和提取问题。特征选择和提取是模式识别中的一个关键问题。
通常,候选特征种类越多,结果越好。但这可能会导致维数灾难,即特征维数过高,计算机无法求解。在设计模式识别系统时,如何确定合适的特征空间是一个非常重要的问题。
有两种优化特征空间的基本方法:
首先是特征选择。如果所选择的特征空间能够使相似对象的分布紧凑,这将为成功的分类器设计提供良好的基础。相反,如果在这个特征空间中把不同种类的样本混合在一起,那么再好的设计方法也无法提高分类器的准确率。
另一种是特征的组合优化,通过一种映射变换,对原特征空间进行变换,构造新的简化特征空间。
(4)分类决策
基于模式特征空间,可以进行模式识别的最后一部分:分类决策。这个阶段的最终输出可能是对象所属的类型,或者是模型数据库中与对象最相似的模式号。知道几个样本的类别和特征,比如手写阿拉伯数字的识别,就是一个10个类别的分类问题。机器首先要知道每个手写数字的形状特征。不同的人对同一个数词有不同的写法,甚至同一个人对一个数也可以有多种写法,所以机器必须知道它属于哪一类。因此,有必要建立分类问题的样本库。基于这些样本库,建立判别分类函数,这个过程由机器实现,称为学习过程。然后分析一个未知的新物体的特征,决定它属于哪一类,这就是监督分类方法。
具体步骤是在特征空间建立一个训练集,并知道训练集中每个点的类别。基于这些条件,寻找某种判别函数或准则,并设计判别函数的模型。然后根据训练集中的样本确定模型中的参数,利用模型进行判别,利用判别函数或判别准则确定每个未知点属于哪个类别。在模式识别学科中,这个过程一般称为训练和学习的过程。
分类规则是根据训练样本提供的信息确定的。分类器的设计在训练过程中完成。通过使用一批训练样本,包括各种各样的样本,由这些样本大致勾勒出各种事物在特征空间的分布规律,为确定使用什么数学公式以及这些公式中的参数提供信息。
一般来说,使用什么类型的分类函数是由人决定的。分类器参数的选择或在学习过程中获得的结果取决于设计者选择什么样的准则函数。不同准则函数的最优解对应不同的学习结果,得到不同性能的分类器。数学公式中的参数往往是通过学习来确定的。在学习的过程中,如果发现当前使用的分类函数会造成分类错误,那么利用错误提供如何纠正的信息,可以使分类函数朝着正确的方向前进,从而形成一个迭代的过程。如果分类函数及其参数使得误差越来越小,可以说是逐渐收敛,学习过程就有效了,设计就可以完成了。
出于应用而不问的目的,模式识别系统的四个部分的内容差别很大,尤其是在数据预处理和分类决策两个部分。为了提高识别结果的可靠性,往往需要加入知识库(规则)来修正可能出现的错误,或者通过引入限制条件来大大缩小待识别模式在模型库中的搜索空间,从而减少匹配计算量。
都说
深度学习的兴起与大数据密切相关,那么数据集越大,训练出来的图像识别算法的准确率就越高?
在过去的10年中,计算机视觉技术取得了巨大的成功,其中大部分可以归功于深度学习模型的应用。此外,自2012年以来,此类系统的性能能力取得了巨大进步,原因如下:
1)具有更高复杂度的深度模型;
2)计算性能的提高;
3)大规模标签数据的出现。
每年都能看到计算性能和模型复杂度的提升,从2012年的7层AlexNet到2015年的101层ResNet。然而,现有数据集的规模并没有按比例扩大。ResNet,layer 01,在训练时仍然使用和AlexNet一样的数据集:ImageNet中的10万张图片。在过去的五年中,GPU计算能力和模型复杂度不断增加,但训练数据集的规模没有变化。
例如,探索大量的数据2017年的深度学习:
1)使用当前算法,如果提供越来越多带有噪声标签的图片,视觉性能是否还能优化;
2)对于标准的视觉任务,例如classif
3)利用大规模学习技术,开发能够完成计算机视觉领域各种任务的最先进模型。
当然,关键问题是去哪里找一个比ImageNet大300倍的数据集。
谷歌一直在努力建立这样的数据集,以优化计算机视觉算法。多亏了Geoff Hinton,Francois Chollet和其他人的努力,谷歌建立了一个包含3亿张图片的数据集,将它们标记为18291个类别,并将它们命名为JFT-300M。用于标记图像的算法混合了复杂的原始网络信号以及网页和用户反馈之间的关系。通过这种方法,这3亿张图片获得了超过10亿个标签(一张图片可以有多个标签)。在10亿个标签中,约有3.75亿个是通过算法选取的,最大化了选取图片的标签精度。但是,这些标签中仍然存在噪声:所选图片的标签中有20%左右是噪声。
最后,训练得到了意想不到的结果:
更好的表征学习会有所帮助。
大规模数据有助于代表学习,从而优化我们研究的所有视觉任务的性能。为预训练建立大规模数据集是很重要的。也说明无监督表示学习和半监督表示学习方法有很好的前景。似乎数据尺度继续抑制标签中存在的噪声。
随着训练数据量的增加,任务性能线性增加。视觉任务绩效与绩效学习的训练数据量(对数)的关系。即使训练图片的规模达到3亿,也没有观察到性能改善的停滞。
模型很关键,如果想充分利用3亿张图片的数据集,就需要容量更大(更深)的模型。例如,对于ResNet-50,COCO对象检测的分数有限,只有1.87%,而对于ResNet-152,这个分数上升到3%。此外,建立一个包含3亿张图像的数据集并不是最终目标。我们应该探索模型是否可以用更大的数据集(包括超过10亿张图片)继续优化。
十、视觉搜索和图像识别的应用:
1、结合电商,搜索相同或相似型号的衣服、包包;
2、结合社交网络,实现更好的图像理解和交互;
3、自媒体的组合,更方便查找图片和文章资料;
4、知识产权的结合可以更准确的追溯图片来源和版权信息;
5、医养结合可以做出更精准的病理研究;
6、结合工业代实现更可靠的缺陷对象筛选;
7、结合网络安全,实现更好的图像和文章内容自动过滤和审核;
8、安防监控的结合可以实现更精确的跟踪定位;
9、智能机器人可以实现更好的机器人物体识别和场景定位。
图像搜索可以结合用户在复杂背景条件下准确识别和提取图片中的主体信息的使用场景,并利用人工智能领域先进的深度学习技术,对获取的图片信息进行语义分析。现在,图像搜索的应用范围已经越来越广,比如:
1、手机拍照购物:在书店、超市、电器店拍照,就可以了解到一件商品在网店的价格。手机拍照购物搜索,只需要用手机拍下相应物品的照片就可以进行购物搜索。这个搜索工具使网上购物更加直观和方便。
2、购物网站大同小异:在具体商品页面的底部,自动列出相似商品。让用户快速搜索相似图片,节省时间,提高效率。
3.目录销售:用户在享受浏览购物目录的便利和舒适时,用手机拍下感兴趣的图片,立刻被引导到商家激活他们的在线行为。为用户购买提供了便捷的途径。
4.移动导航增值服务:专注于为观众提供作品背后的信息体验。用户手机拍摄有趣的展品,相关的深度信息立即显示在手机上。
5.版权保护:通过图像识别技术,找出同源图片的整体或部分出现在哪里,包括线上和线下,保护图片所有者的版权。
10一、图像搜索未来发展趋势;
图像搜索和识别技术的未来:数据、用户、模型和系统,一起使用;因为它可以无法通过任何算法或深度学习来解决,更不用说通过搜索系统或识别系统了。
编辑:李倩
- 1bat的大数据(BAT的大数据来源)
- 2三星s8屏幕上端2(三星s8屏幕上端2个按键)
- 3三星屏幕坏了如何导出(三星屏幕摔坏了如何导出数据么)
- 4红米3x怎么关闭自动更新(红米k40s怎么关闭自动更新)
- 5微信上防止app自动下载软件怎么办(微信上防止app自动下载软件怎么办啊)
- 6押镖多少钱(押镖一个月有多少储备金)
- 7瑞星个人防火墙胡功能(瑞星个人防火墙协议类型有哪些)
- 8cf现在等级是多少(cf等级2020最新)
- 9老滑头多少条鱼(钓鱼老滑头有什么用)
- 10WPS自动调整语法(wps如何修改语法)
- 11dell控制面板防火墙(dell的防火墙怎么关闭)
- 12丑女技能升多少(丑女技能需要满级吗)
- 13智能家居系统怎么样(智能家居系统好吗)
- 14戴尔屏幕(戴尔屏幕闪烁)
- 15y85屏幕信息(vivoy85息屏显示时间怎么设置)
- 16魅蓝note3屏幕出现方格(魅蓝note屏幕竖条纹)
- 17v8手指按屏幕(触屏手指)
- 18金为液晶广告机(液晶广告机lb420)
- 19三星显示器怎么校色(三星显示器 调色)
- 20hkc显示器dvi音频(hkc显示器有音响么)
- 21康佳液晶智能电视机(康佳液晶智能电视机怎么样)
- 22做液晶画板电脑(做液晶画板电脑怎么操作)
- 23液晶屏极化现象原理(液晶屏极化现象原理是什么)
- 24企业网络安全防火墙(企业网络防护)
- 256splus黑屏屏幕不亮(苹果6s plus屏幕突然黑屏)
- 26充电导致屏幕失灵(充电导致屏幕失灵怎么办)
- 27超极本屏幕旋转(笔记本电脑屏幕旋转,怎么转过来?)
- 28igmp防火墙(防火墙配置ipv6)
- 29荣耀王者多少经验(王者荣耀经验多少一级)
- 30lol老将还剩多少(qg老将)