当前位置:首页 > 智能硬件 > 机器视觉
[导读] SVM是一种常用的机器学习算法,在人工智能、模式识别、图像识别等领域有着非常广泛的应用,本节将结合FastCV库提供的fcvSVMPredict2Classf32机器学习函数API,对SVM原理

SVM是一种常用的机器学习算法,在人工智能、模式识别、图像识别等领域有着非常广泛的应用,本节将结合FastCV库提供的fcvSVMPredict2Classf32机器学习函数API,对SVM原理及用法进行介绍,为后续大家在使用FastCV进行图像识别类的应用开发提供参考。

一、FastCV简介

FastCV是Qualcomm公司开发提供的专注于移动平台的计算机视觉库(Computer vision library),该库针对ARM平台进行设计,并且针对Qualcomm处理器进行了优化,相对于OpenCV和JavaCv其性能有了大幅度的提高,非常适合移动设备各种图像处理,如三维重建、目标跟踪、人脸识别等。

FastCV提供的API结构如下图1所示,根据其提供的功能分类主要包括数学/适量运算、图像处理、图像变换、特征检测、对象检测、三维重建、色彩转换、聚类和搜索、运动和对象跟踪、形状和绘图、内存管理和SVM机器学习13个部分,通过fastcv提供的这些API接口你可以方便的完成各种图像处理应用的设计。极大的简化的设计过程,提高程序的稳定性和可靠性。后续将针对fastcv提供的SVM机器学习进行详细介绍。

图1 fastCV功能结构

二、SVM机器学习基本原理

支持向量机,因其英文名为support vector machine,故一般简称SVM,通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。具体的SVM的原理是非常深奥的,其涉及到的数学理论非常多,并且通常还需要涉及到多维空间,从存粹的数学理论很难理解SVM的基本原理,并且介绍SVM的数学原理的内容也非常多(如http://www.dataguru.cn/thread-371987-1-1.html就对SVM的原理进行了详细介绍),这里将通过一个经典的SVM分类例子来向大家介绍SVM的基本原理。

假设现在你是一个农场主,圈养了一批羊群,但为预防狼群袭击羊群,你需要搭建一个篱笆来把羊群围起来。但是篱笆应该建在哪里呢?你很可能需要依据牛群和狼群的位置建立一个“分类器”,比较下图这几种不同的分类器,我们可以看到SVM完成了一个很完美的解决方案,如下图2所示,这就是景点的SVM分类原理。

图2 农场主搭建篱笆SVM经典例子示意图

三、fastCV中SVM接口参数解析

在fastCV中提供了SVM方法调用API接口,通过调用该接口可以方便的实现SVM学习功能,起API函数原型如下:

FASTCV_API fcvStatus fcvSVMPredict2Classf32( fcvSVMKernelType kernelType,

uint32_tdegree,

float32_tgamma,

float32_tcoef0,

const float32_t *__restrictsv,

uint32_tsvLen,

uint32_tsvNum,

uint32_tsvStride,

const float32_t *__restrictsvCoef,

float32_trho,

const float32_t *__restrictvec,

uint32_tvecNum,

uint32_tvecStride,

float32_t *__restrictconfidence

该函数返回通过SVM学习策略计算得到的当前样本的置信度,其计算公式如下(同时该值还可以通过libSVM和OpenCV提供的SVM训练得到):

confidence(i) = sum_j( svCoef[j] * Kernel(vec_i, sv_j) - rho;

为了学会调用该函数,就需要了解上述函数的各个参数的意义及具体的设置方法,以下是上述参数的意义和设置方法总结:

kernelType:核函数类型这里可以选择 ‘FASTCV_SVM_LINEAR’,‘FASTCV_SVM_POLY’,‘FASTCV_SVM_RBF’,‘FASTCV_SVM_SIGMOID’等;

degree: 设置核函数的深度,为整数,通常设置为3;

gamma:核函数中的gamma函数设置(针对多项式/rbf/sigmoid核函数)(默认1/ k);

coef0:核函数中的coef0设置(针对多项式/sigmoid核函数)((默认0);

sv :支持特征向量;

svLen: 特征长度, (support vector length = feature length)。

svNum: 支持特征向量个数

svStride:支持向量跨度 ;

svCoef: sv系数,长度设置为sv个数 ;

rho SVM 偏置参数;

vec 检测向量;

vecNum 检测向量个数;

vecStride 监测向量跨度;

以上就是fastCV中提供的SVM接口介绍,在后续章节将进一步结合图像处理,来带大家用SVM来实现相关的分类和图片识别,大家如果想进一步了解更多的关于fastcv库的内容可以访问Qualcomm的https://developer.qualcomm.com/docs/fastcv/api/index.html网站查阅更多信息。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭