图像识别

虹软人脸识别3.0 - 图像数据结构介绍(C++)

时光怂恿深爱的人放手 提交于 2019-12-13 09:01:54
从虹软开放了2.0版本SDK以来,由于具有免费、离线使用的特点,我们公司在人脸识别门禁应用中使用了虹软SDK,识别效果还不错,因此比较关注虹软SDK的官方动态。近期上线了ArcFace 3.0 SDK版本,确实做了比较大的更新。上一篇主要介绍了关于Android平台算法的改进,本篇将介绍一下关于Windows平台算法的更新。 特征比对支持比对模型选择,有 生活照比对模型 和 人证比对模型 识别率、防***效果显著提升 特征值更新,升级后人脸库需重新注册 人脸检测同时支持全角度及单一角度 新增了一种图像数据传入方式 在V3.0版本接入过程中,发现使用新的图像数据结构还是具有一定难度的,本文将从以下几点对该图像数据结构及使用方式进行介绍 SDK接口变动 图像数据结构 步长的作用 OpenCV图像数据结构转换为虹软图像数据结构 一、SDK 接口变动 在接入ArcFace 3.0 SDK时,发现新增了ASFDetectFacesEx、ASFFaceFeatureExtractEx、ASFProcessEx、ASFProcessEx_IR一组接口,该组接口使用 LPASF_ImageData 结构体指针的方式传入图像数据,以人脸检测接口为例,具体接口比对如下: 原始接口: MRESULT ASFDetectFaces( MHandle hEngine, // [in] 引擎handle

虹软人脸识别应用开发过程

陌路散爱 提交于 2019-12-11 21:05:05
趁空闲的一点点时间向大家分享一个好用的人脸识别的应用——来自虹软公司的人脸识别 推荐这家的产品主要有以下几个理由~ 1、免费!免费!免费! 它家比较良心。人脸识别、人证核验、活体检测等等一切的sdk都是免费下载使用的- -即使商用也可以~非常适合我这种小穷人 2、根据不同操作平台提供不同的SDK 目前可下载Windows x86,x64平台(c++/Java语言)、Linux x64平台(c++/Java语言)、iOS平台(Objective-C语言)与Android arm32平台(Java语言) 3、官方针对各版本的SDK均提供了对应的Demo,下载的SDK包里面有示例代码可以参考 这里丢个地址来算了……想试用demo的可以去下: https://ai.arcsoft.com.cn/ucenter/resource/build/index.html#/demoList 除官方提供的demo以外,如需使用其它语言开发,也可以自行封装。 4、虹软的人脸识别是应用于离线开发的,因为不需要网络,所以它的识别速度较快。 只有首次激活需要联网,后面就都可以离线用了,比较方便~ 好了,废话不多说,接下来就开始教大家怎样使用了。 1.首先就是去官网申请APPKEY,各种密匙,然后在下载jar包,这些就不一一给大家讲解了。注意一下,要在app的gradle里面加上这句话

3D人脸识别

末鹿安然 提交于 2019-12-10 16:18:41
随着深度学习技术的进步,面部相关任务的研究也成为学术界和工业界的热门话题。众所周知的面部任务通常包括面部检测,面部识别,面部表情识别等,其主要使用2D RGB面部(通常包括一些纹理信息)作为输入; 3D扫描成像技术的出现为面部相关任务 - 3D面部开发了一条新的探索路线。 与许多2D面部相关的任务介绍性文献/评论文章相比,3D面部的入门知识还不够好。本文将回顾和介绍三维人脸相关的基础知识,并总结一些关于三维人脸识别与重建的基础入门文献。 3D人脸基础知识 一般而言,RGB,灰度和红外人脸图像是2D人脸,其主要是在特定视角下表示颜色或纹理的图像,并且没有空间信息。用于训练深度学习的图像通常是2D。 2.5D是在某个视角下拍摄的面部深度数据,但由于角度问题,它显示的表面不连续,也就是说,当你试图旋转面部时,会有一些像沟壑一样的空隙区域。这是因为拍摄时未捕获被遮挡部分的深度数据。 那么3D面孔呢?它通常由不同角度的多个深度图像组成,完全显示面部的表面形状,并且在具有一定深度信息的密集点云中的空间中呈现面部。 相机模型 相机模型包括四个坐标系:像素坐标,图像坐标,摄像机坐标,世界坐标(高中物理老师的头部没有闪光灯谈论参考系统),摄像机成像过程是三维的 真实三维空间中的点映射到成像平面(二维空间)的过程也称为投影变换。 相机坐标→图像坐标 相机坐标系到图像坐标系的过程可用小孔成像解释

王晶:华为云OCR文字识别服务技术实践、底层框架及应用场景 | AI ProCon 2019【华为云技术分享】

别等时光非礼了梦想. 提交于 2019-12-10 14:47:30
演讲嘉宾 | 王晶(华为云人工智能高级算法工程师王晶) 出品 | AI科技大本营(ID:rgznai100) 近期,由 CSDN 主办的 2019 中国AI 开发者大会(AI ProCon 2019)在北京举办。在计算机视觉技术专题,华为云OCR人工智能高级算法工程师王晶分享了“文字识别服务的技术实践、底层框架及应用场景”的主题演讲。 演讲的第一部分,他分享了文字检测和识别的基础知识以及难点和最新进展。第二部分是华为云文字识别服务关键能力、关键技术,以及落地过程中遇到的“坑”,这对其他人工智能产品甚至以数据为驱动的产品都具有实践参考意义。第三部分,他主要介绍了文字识别应用场景以及典型的落地方案 在王晶看来,虽然现在人工智能很火,但真正能落地的场景比较少,能大规模应用的场景更是少之又少,不过,文字识别服务在经典落地场景中显然有一席之地。 以下为王晶演讲内容实录,由AI科技大本营(ID:rgznai100)整理: 文字识别基本概述和最新进展 几年前我们开始做服务的时候心里还是比较忐忑的,因为文字识别听起来没有像人脸识别或者自动驾驶那么高大上,但是后来证明我们的选择是非常对的,现在这个产品基本上是整个华为云EI部门的明星产品,应用范围非常广。 先说一个概念,光学字符识别,英文简写是OCR。它的意思是将图片、PDF中文字转换为可编辑的文本文件。首先是检测过程

人脸识别中的活体检测

蓝咒 提交于 2019-12-06 23:12:49
转自:知乎 https://zhuanlan.zhihu.com/p/25401788 早在指纹识别应用中就有针对于活体手指的检测技术,即使机器只对真人活体指纹产生识别反应,对其他一切物质不作识别,用于指纹识别产品如考勤机、门禁系统等。 活体指纹识别的原理比较简单:如识别皮肤的温度、人体皮肤的电容值等。 本文主要是针对人脸识别应用中出现的 人脸活体检测 做简要调研及论述。有关人脸检测相关内容可以参考我的另一篇文章—— 人脸检测与深度学习 传送门~ 知乎专栏 引言——人脸识别技术迈向更高层次的一大障碍:活体检测 随着线上支付的不断普及,相关的人脸识别等技术正在中国不断进步。近日,麻省理工科技评论评出全球十大突破技术,其中由“刷脸支付—— Paying with Your Face ”榜上有名。 技术突破:人脸识别技术如今已经可以十分精确,在网络交易等相关领域已被广泛使用。 重大意义:该技术提供了一种安全并且十分方便的支付方式,但是或许仍存在 隐私泄露问题 目前基于深度学习的发展,我认为还有一个问题就是 存在被伪造合法用户人脸的攻击的风险。 ——————————————- 更新补充分割线 ———————————————— 评论区有问到这方面的开源代码,我这边没有仔细找过,在github找了一些相关代码,没有验证过,汇总了一下希望对大家有帮助: 1.C++代码 https:/

人脸识别需活体检测支持才完美

折月煮酒 提交于 2019-12-06 23:04:21
人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。 然而独立式人脸识别模组是基于高速MIPS处理器平台,内嵌业内领先的人脸识别算法,集成了具有自主知识产权的光学人脸识别传感器。通过UART通讯接口方式,配合简单外围电路即可将该人脸识别模块嵌入到第三方智能化产品中,使第三方产品具有强大的人脸识别能力。 功能:人脸识别、人脸检测、模板提取、模板存储、模板删除、人脸特征比对(含1:1和1:N)等功能。 标准产品组成 核心板模块:高速MIPS处理器(@1GHz),存储(256MB DDR3 SDRAM) 双摄像头模块:红外摄像头+彩色摄像头 通讯方式 采用UART\USB-NET通讯方式,通讯协议简单可靠,可连接不同上层设备,包括PC、单片机等。 规格 CPU:高速MIPS处理器@1 GHz RAM:256MB DDR3 SDRAM 内存容量:4GB eMMC FLASH, MMC接口 启动时间(空数据库时):< 20秒 人脸存储容量:1,000人 识别模式:1:1和 1:N 误识率(FAR):<0.001% 拒识率(FRR):<1.0% 上位机通讯方式:UART(LVTTL电平),USB-NET UART通讯波特率

python人工智能-图像识别

纵然是瞬间 提交于 2019-12-06 16:15:51
一、安装库 首先我们需要安装PIL和pytesseract库。 PIL:(Python Imaging Library)是Python平台上的图像处理标准库,功能非常强大。 pytesseract:图像识别库。 我这里使用的是python3.6,PIL不支持python3所以使用如下命令 pip install pytesseract pip install pillow 如果是python2,则在命令行执行如下命令: pip install pytesseract pip install PIL 这时候我们去运行上面的代码会发现如下错误: 错误提示的很明显: No such file or directory :"tesseract" 这是因为我们没有安装tesseract-ocr引擎 二、tesseract-ocr引擎 光学字符识别(OCR,Optical Character Recognition)是指对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程。OCR技术非常专业,一般多是印刷、打印行业的从业人员使用,可以快速的将纸质资料转换为电子资料。关于中文OCR,目前国内水平较高的有清华文通、汉王、尚书,其产品各有千秋,价格不菲。国外OCR发展较早,像一些大公司,如IBM、微软、HP等,即使没有推出单独的OCR产品,但是他们的研发团队早已掌握核心技术

基于Tesseract的OCR图像识别

妖精的绣舞 提交于 2019-12-05 17:19:17
何为Tesseract? Tesseract的OCR引擎最先由HP实验室于1985年开始研发,至1995年时已经成为OCR业内最准确的三款识别引擎之一。然而,HP不久便决定放弃OCR业务,Tesseract也从此尘封。数年以后,HP意识到,与其将Tesseract束之高阁,不如贡献给开源软件业,让其重焕新生。在2005年,Tesseract由美国内华达州信息技术研究所获得,并委托Google对其进行改进、优化工作。 Tesseract目前已作为开源项目发布在Google Project,它与Leptonica图片处理库结合,可以读取各种格式的图像并将它们转化成超过60种语言的文本,我们还可以不断训练自己的库,使图像转换文本的能力不断增强。如果团队深度需要,还可以以它为模板,开发出符合自身需求的OCR引擎。 Tesseract基本工作原理: Tesseract安装教程: 1. tesseract下载地址:https://digi.bib.uni-mannheim.de/tesseract/ 2.下载完成后双击安装包,选择路径,选择语言后继续下一步直到安装成功 3.配置Tesseract的环境变量 4.查看安装结果 在cmd中输入tesseract –v 有结果如下图,则说明安装成功: Tesseract使用教程: bat调用Tesseract在cmd中进入图片所在目录,输入

微调(Fine-tune)原理

◇◆丶佛笑我妖孽 提交于 2019-12-05 15:28:02
一、MTCNN的原理   搭建人脸识别系统的第一步是 人脸检测 ,也就是在图片中找到人脸的位置。在这个过程中,系统的输入是一张可能含有人脸的图片,输出是人脸位置的矩形框,如下图所示。一般来说,人脸检测应该可以正确检测出图片中存在的所有人脸,不能用遗漏,也不能有错检。         获得包含人脸的矩形框后,第二步要做的就是 人脸对齐(Face Alignment) 。原始图片中人脸的姿态、位置可能较大的区别,为了之后统一处理,要把人脸“摆正”。为此,需要检测人脸中的 关键点(Landmark) ,如眼睛的位置、鼻子的位置、嘴巴的位置、脸的轮廓点等。根据这些关键点可以使用 仿射变换 将人脸统一校准,以尽量消除姿势不同带来的误差,人脸对齐的过程如下图所示。       这里介绍一种基于深度卷积神经网络的人脸检测和人脸对齐方法----MTCNN,它是基于卷积神经网络的一种高精度的实时人脸检测和对齐技术。MT是英文单词Multi-task的缩写,意思就是这种方法可以同时完成人脸检测的人脸对齐两项任务。相比于传统方法,MTCNN的性能更好,可以更精确的定位人脸,此外,MTCNN也可以做到实时的检测。   MTCNN由三个神经网络组成,分别是 P-Net、R-Net、O-Net 。在使用这些网络之前,首先要将原始图片缩放到不同尺度,形成一个“图像金字塔”,如下图所示。      

opencv 图片识别

≯℡__Kan透↙ 提交于 2019-12-05 12:27:41
# -*- coding: utf-8 -*- """ Created on Fri Nov 22 21:35:12 2019 @author: Administrator """ import cv2 filepath = "img/3.jpg" img = cv2.imread(filepath) # 读取图片 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 转换灰色 cv2.imshow("image1", gray) # 显示图像 # OpenCV人脸识别分类器 classifier = cv2.CascadeClassifier( r"D:\BaiduNetdiskDownload\Opencv\haarcascade_frontalface_default.xml" # "C:\Python36\Lib\site-packages\opencv-master\data\haarcascades\haarcascade_frontalface_default.xml" ) color = (0, 255, 0) # 定义绘制颜色 # 调用识别人脸 faceRects = classifier.detectMultiScale( gray, scaleFactor=1.2, minNeighbors=3, minSize=(32