百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

盘点18个优秀图像识别开源项目 图像识别源码

liebian365 2024-10-23 13:54 25 浏览 0 评论

大家好,我是Echa。

前段时间小编由于发了一篇人脸识别优秀开源项目:推荐6个优秀的人脸识别开源项目

有兴趣的粉丝们可以回过头看看。关于这篇黑科技文章,陆续有粉丝私信小编,有没有关于图像识别的相关优秀开源项目,比如人脸识别、图像分类、场景文字检测、车牌识别、面部表情识别、图像标注、人体姿势识别,拍照识别实物等等,粉丝们的呼吁声,那作为你们的小编,必须给你们安排上。

今天小编给大家分享18个优秀图像识别开源项目,个个都是经典,希望对大家有所帮助。

创作不易,喜欢的老铁们加个关注,点个赞,打个赏,后面会不定期更新干货和技术相关的资讯,速速收藏,谢谢!你们的一个小小举动就是对小编的认可,更是创作的动力。

全文大纲

  1. facenet_facerecognition 基于facenet的实时人脸识别系统
  2. FaceAC 人脸识别扫描(活体检测功能,眨眼、摇头、点头),身份证认证
  3. semantic slam nav ros 针对带有RGBD相机的服务机器人
  4. christmas-hat 自动识别人脸并给头像戴上圣诞帽
  5. frontend-park 一个有趣的前端趣味知识公园
  6. weixinxiaochengxu 小帅一点资讯微信小程序图像识别
  7. face_recognition 人脸识别考勤系统
  8. face-ai 一款入门级的图片识别系统
  9. medicine-identification 中药图像识别系统
  10. EasyPR是一个中文的开源车牌识别系统
  11. hand-keras-yolo3-recognize 基于图像的手语识别系统研究
  12. FaceMerge 人脸融合
  13. yx-image-recognition 图像识别系统
  14. facenet_face_regonistant 智能识别人脸管理系统
  15. meihu-meiyan 直播美颜系统SDK,女生的最爱
  16. PaddleOCR 一套丰富、领先、且实用的OCR工具库
  17. idCardCv 身份证号码识别系统
  18. DeepCamera 开源AI相机识别系统

facenet_facerecognition

Github:https://github.com/windzu/facenet_facerecognition

facenet_facerecognition 基于facenet的实时人脸识别系统

使用opencv+mtcnn+facenet+python+tensorflow,开发环境为ubuntu18.04,实现局域网连接手机摄像头,对目标人员进行实时人脸识别,效果并非特别好,会继续改进

如下图:


这是使用手机摄像头拍摄ipad从网上随便搜来的合照进行测试(也许也不是随便搜的...),能够准确将人脸框出,并进行识别,因为我使用的是knn训练的,而这几个人是未经过特殊训练的,所以将其归结为未知人群,再接下来一段时间会对其进行改进,最终效果应该是可以实现单张图片数据库比对,这样就不用对需要识别的目标每一个都训练一遍了,这也是人脸识别要达到的效果,上面所说的triplet loss就是一种很好的方法


FaceAC

Github:https://github.com/sxpl/FaceAC

FaceAC 人脸识别扫描(活体检测功能,眨眼、摇头、点头),身份证认证

如下图:






semantic slam nav ros

Github:https://github.com/MRwangmaomao/semantic_slam_nav_ros

semantic slam nav ros 针对带有RGBD相机的服务机器人,物流机器人等。具有:语义地图构建、定位导航、三维重构、重定位、动态物体识别、移动避障、手势识别、人脸识别、语音合成与识别等功能。

特性

  1. 动态物体检测
  2. 视觉建图与定位
  3. 重定位
  4. 稠密点云、面元三维重建
  5. 语义地图
  6. 手势识别控制
  7. 语音唤醒与识别控制
  8. 局部避障与DWA控制
  9. 语音识别与播放

如下图:





christmas-hat

Github:https://github.com/hk029/christmas-hat

通过手动的方式,我们是很容易确定圣诞帽应该放在什么位置的,那机器如何能确定呢?有人可能想到了那不就是人脸识别技术?是的,这就是我们今天需要用到的技术。

早在 2017 年之前,纯前端说想实现人脸识别还有点天方夜谭的感觉,但是 Tensorflow.js 的出现让这一切成为了可能:

它是 Google 推出的第一个基于 TensorFlow 的前端深度学习框架。它允许你在浏览器上训练模型,或以推断模式运行预训练的模型。TensorFlow.js 不仅可以提供低级的机器学习构建模块,还可以提供高级的类似 Keras 的 API 来构建神经网络。

Tensorflow.js 是我第一个想到的可以应用的库,但是当我打开官方文档,看到如 Tensors (张量)、Layers (图层)、Optimizers (优化器)……各种陌生概念扑面而来,砸的人生疼,现学感觉是来不及了,那有什么办法能在我不了解各种概念的情况下也能快速上手人脸识别呢?

答案当然有,那就是:face-api.js。

face-api.js

face-api.js 是大神 Vincent Mühler 的最新力作,他为人所知的开源项目还有 opencv4nodejs ,face-recognize(NodeJs 的人脸识别包,不过现在 face-api.js 已经支持 Node 端了,他推荐直接使用 face-api)

face-api.js 是一个建立在 Tensorflow.js 内核上的 Javascript 模块,它实现了三种卷积神经网络(CNN)架构,用于完成人脸检测、识别和特征点检测任务。简而言之,借助它,前端也能很轻松的完成人脸识别的工作。

原理简析

想看实现的童鞋请直接略过这一段,直接开始上手操作。

我们知道机器学习有几个基本要素:数据,模型,算法。他们之间的关系如下:

  • 训练数据: 训练数据就是一系列打过标签的数据,比如一系列人脸和不是人脸的图片数据。
  • 模型(这里我们主要指监督学习模型): 模型你可以简单理解为是一个预测函数(f(x) = y),简单来说就是根据输入的数据,能给出结果。
  • 算法: 算法就是教机器如何获得最优的模型(损失最小)。比如当机器通过当前模型识别到一张训练图片为人脸,但是标签是「非人脸」,此时就需要根据算法对模型进行调整。常见的算法有例如:梯度下降法(Gradient Descent),共轭梯度法(Conjugate Gradient),牛顿法和拟牛顿法,模拟退火法(Simulated Annealing)……

所以,我们可以这么说,只要有了一个训练好的预测模型,我们就可以对未知数据进行分析预测了。

如下图:


光识别出人脸还远远不够,我们的很多应用都需要找到人脸的特征点(眉毛,鼻子,嘴巴这些的)。因此 face-api.js 会从图片中抽取出每个边界框中的人脸居中的图像,接着将其再次作为输入传给人脸识别网络,让其学习。

为了实现特征点识别这个目标,face-api.js 又实现了一个简单的卷积神经网络,它可以返回给定图像的 68 个人脸特征点:

通过该算法,face-api.js 训练了一系列的模型,通过使用这些已经训练好的模型,我们可以快速实现我们想要的功能。




frontend-park

Github:https://github.com/wangrongding/frontend-park

这是一个有趣的前端趣味知识公园~该项目是我平时捣鼓前端相关技术的一些案例集合。【涵盖:(Tensorflow.js-姿态识别,人脸识别),(WebRTC-音视频通话,录屏,虚拟背景,信令服务器),(Threejs-太阳系,3D 动画),(图片处理-千图成像,图片压缩,画板),(隐写术-文本隐写加密,图片隐写加密)等等...】

通过摄像头实时识别人体姿态,可以应用于比如:健身房、瑜伽教室、舞蹈教室等等。

如下图:

weixinxiaochengxu

Github:https://github.com/xiaoshuaishuai319/weixinxiaochengxu

小帅一点资讯微信小程序图像识别源码,微信小程序百度AI接口源码,微信小程序图片上传显示缩放缩略图,人工智能,图像识别,人脸颜值分析,植物、动物、车型、LOGO、食材、手写文字识别等

如下图:


face_recognition

Github:https://github.com/66pig/face_recognition

face_recognition 人脸识别考勤系统,该软件的话从去年到现在,一直完美支持100人以上考勤

如下图:

face-ai

Github:https://github.com/ZhangLe1993/face-ai

face-ai 是一款入门级的人脸识别、视频人脸识别、图片分类, 性别检测, 年龄检测, 照片特效处理, 天空滤镜, 图像色温调整, 图像对比度调整, 图像饱和度调整, 图像高光调整, 图像阴影调整, 图像明度调整算法实战项目. JAVA+OpenCV

功能

  1. 人脸检测、识别(图片、视频)
  2. 更换背景图(例如给任务换一张海景背景图)
  3. 图片合成(多张照片合成)
  4. 证件照更换背景色
  5. 年龄识别
  6. 性别识别
  7. 图片修复(可用于水印去除)
  8. 图片分类
  9. 老照片
  10. 素描
  11. 图像色温调整
  12. 图像对比度调整
  13. 图像高光调整
  14. 图像明度调整
  15. 图像饱和度调整
  16. 图像阴影调整
  17. 天空滤镜
  18. 人脸检测、识别(Dlib版本)

如下图:







medicine-identification

Gitee:https://gitee.com/xiaohaoo/medicine-identification

medicine-identification 中药识别系统主要采用APP端拍照上传的方式,构建卷积神经网络(CNN)对图像进行识别,具有识别效率高,准确度高的特点。APP端的功能包括但不限于拍照识别、中药问答(付费咨询)、检索查询、中药性状以及功效查看、方剂智能推荐【开发中】等;本系统包含APP端以及服务器端。

如下图:




EasyPR

Gitee:https://gitee.com/liuruoze/EasyPR

EasyPR是一个开源的中文车牌识别系统,其目标是成为一个简单、高效、准确的非限制场景(unconstrained situation)下的车牌识别库。

相比于其他的车牌识别系统,EasyPR有如下特点:

  • 它基于openCV这个开源库。这意味着你可以获取全部源代码,并且移植到opencv支持的所有平台。
  • 它能够识别中文。例如车牌为苏EUK722的图片,它可以准确地输出std:string类型的"苏EUK722"的结果。
  • 它的识别率较高。图片清晰情况下,车牌检测与字符识别可以达到80%以上的精度。

如下图:



hand-keras-yolo3-recognize

Gitee:https://gitee.com/cungudafa/hand-keras-yolo3-recognize

手语图像识别系统设计

一个基于人体姿态研究的手语图像识别系统。根据OpenPose人体姿态开源模型和YOLOv3自训练手部模型检测视频和图像,再把数字特征进行分类器模型预测,将预测结果以文本形式展现出来。

基于人体姿态的手语图像识别系统采用了软硬件相结合的方法。硬件部分主要是用于采集手语图像的单目摄像头。软件部分主要是通过ffmpeg对视频图像进行处理,然后在Anaconda下配置Python3.6的开发环境,再结合Cmake编译OpenPose模型,最后在VScode编译器中结合OpenCV中的图像算法,实现了对手语图像识别系统所有程序的编译,通过wxFromBuilder框架整合设计了系统主界面。

如下图:





FaceMerge

Gitee:https://gitee.com/endlesshh/FaceMerge

FaceMerge 人脸融合,基于javacv技术,将两张人脸进行深度融合,使用javacv识别人脸和获取人脸68个关键点.

本项目最终实现一个Java版本的人脸替换软件

  1. 本项目javacv技术无需手动安装opencv
  2. 虽然技术手段不同,但是核心算法还是一样的
  3. 使用opencv的68个关键点实行人脸融合
  4. 使用javacv结合百度AI人脸检测(需要人脸72个关键点)实现人脸融合
  5. 只要会用java就可以轻松实现人脸融合,FaceDetect中有两种关键点识别方法,一个是基于百度API,一个是基于opencv的。

如下图:





yx-image-recognition

Gitee:https://gitee.com/admin_yu/yx-image-recognition

基于spring boot + maven + opencv 实现的图像深度学习Demo项目,包含车牌识别、人脸识别、证件识别等功能,贯穿样本处理、模型训练、图像处理、对象检测、对象识别等技术点

包含功能

  • 蓝、绿、黄车牌检测及车牌号码识别
  • 网上常见的轮廓提取车牌算法JAVA实现
  • hsv色彩分割提取车牌算法JAVA实现
  • harrcascade特征识别算法 JAVA实现
  • 基于svm算法的车牌检测训练JAVA实现
  • 基于ann算法的车牌号码识别训练JAVA实现
  • 人脸检测 接下来将实现人脸识别
  • 图片工具: 目前实现了HSV色彩切割,后续将添加更多使用的图片处理工具,用于辅助算法优化
  • 证件文字识别

如下图:


facenet_face_regonistant

Gitee:https://gitee.com/PanChenGeWang/facenet_face_regonistant

利用facenet实现检测图片中的人脸,将识别到的人脸向量存入数据库,此外利用post提交一个新图片(也可以提交一个图片地址,参考face_recognition_api.py文件中get_url_imgae函数自行修改),返回数据库中相似的人脸的信息 算法主要分为2个步骤
1.提取图片中的人脸 ,并保存到临时目录中
2.将人脸图片转换为128维的向量 ,便于后续求人脸相似度

项目主要分为3个步骤
1.提交post请求,将uid ugroup pic提交,进行人脸信息保存操作
2.收到请求后将pic进行处理解析为128维向量保存,并跟uid和ugroup保存入库 ,返回数据库插入成功的id
3.提交post请求,将ugroup pic提交人脸查询请求,意思为在ugroup中查看与图片pic相似的人脸
4.收到请求后,处理图片解析图片中所有的人脸,进行按库查询,然后与该图片中所有人脸相似的uid和距离(相似度距离)

如下图:





meihu-meiyan

官方网址:http://www.facegl.com/

Gitee: https://gitee.com/MeiHuSDK/meihu-meiyan

直播美颜系统特效SDK: 美狐美颜sdk,满足客户在直播平台实现美颜效果、短视频系统自带美颜特效等众多音视频软件业务场景的美化需求的第三方美颜api,是以人脸识别、人脸关键点技术为核心,提供专业级实时美颜、大眼瘦脸、美颜滤镜、动态贴纸、美白磨皮、美型、萌颜等特效的接口,以打造多功能视频美颜软件为目标。现推出开源版本iOS版,Android开源版本正在研发中敬请期待!

如下图:


PaddleOCR

Gitee: https://gitee.com/paddlepaddle/PaddleOCR

PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力开发者训练出更好的模型,并应用落地。包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别、竖排文本识别、长文本识别。同时支持多种文本检测、文本识别的训练算法。

如下图:

idCardCv

Gitee: https://gitee.com/endlesshh/idCardCv

idCardCv 身份证号码识别,适用于web端身份证识别服务器,前端进行身份证号码定位,后端精准处理识别,准确率在96左右,对于自治区的身份证前面有其他文字的一样可以识别

如下图:

DeepCamera

Github: https://github.com/SharpAI/DeepCamera

DeepCamera 通过机器学习技术为您的传统监控摄像机和闭路电视/NVR 提供支持。 它通过本地设备上的推理引擎提供基于开源面部识别的入侵检测、跌倒检测和停车场监控。

SharpAI-hub是AI应用程序的云托管,可帮助您在几分钟内在边缘设备上使用闭路电视摄像机部署AI应用程序。

功能特性

  • 使用 SharpAI Hub CLI 进行安装
  • FFMpeg with Nvidia Nano 硬件解码器
  • Face Detector with Nvidia Nano GPU TensorRT MTCNN
  • Face Embedding with Nvidia Nano GPU Pytorch InsightFace
  • 使用 GPU 进行人员检测
  • 与电报机器人 API 集成
  • 移植到杰森纳米
  • 高精度人脸识别
  • 人脸检测
  • 在 ARM Mali GPU 上进行推理
  • 支持Android TF Lite(GPU/CPU/NPU)
  • 支持开源嵌入式Linux。
  • 从移动应用程序进行控制
  • 设备管理系统
  • 向移动设备推送通知
  • 物体检测
  • 基于芹菜的分布式系统
  • 通过忍者闭路电视处理视频的插件
  • 安卓上的应用程序,使用硬件对视频进行解码
  • 使用安卓 GPU 进行运动检测
  • 从移动设备到边缘设备的标签和火车
  • 原生树莓派相机支持
  • 标记服务器和应用程序已关闭,需要 BYOD 文档 API 服务器存储库
  • 图像上传到 AWS 或本地 AWS 兼容服务器 (MINIO)

如下图:

相关推荐

精品博文嵌入式6410中蓝牙的使用

BluetoothUSB适配器拥有一个BluetoothCSR芯片组,并使用USB传输器来传输HCI数据分组。因此,LinuxUSB层、BlueZUSB传输器驱动程序以及B...

win10跟这台计算机连接的前一个usb设备工作不正常怎么办?

前几天小编闲来无事就跑到网站底下查看粉丝朋友给小编我留言询问的问题,还真的就给小编看到一个问题,那就是win10跟这台计算机连接的一个usb设备运行不正常怎么办,其实这个问题的解决方法时十分简单的,接...

制作成本上千元的键盘,厉害在哪?

这是稚晖君亲自写的开源资料!下方超长超详细教程预警!!全文导航:项目简介、项目原理说明、硬件说明、软件说明项目简介瀚文智能键盘是一把我为自己设计的——多功能、模块化机械键盘。键盘使用模块化设计。左侧的...

E-Marker芯片,USB数据线的“性能中枢”?

根据线缆行业的研究数据,在2019年搭载Type-C接口的设备出货量已达到20亿台,其中80%的笔记本电脑和台式电脑采用Type-C接口,50%的智能手机和平板电脑也使用Type-C接口。我们都知道,...

ZQWL-USBCANFD二次开发通讯协议V1.04

修订历史:1.功能介绍1.1型号说明本文档适用以下型号:  ZQWL-CAN(FD)系列产品,USB通讯采用CDC类实现,可以在PC机上虚拟出一个串口,串口参数N,8,1格式,波特率可以根据需要设置(...

win10系统无法识别usb设备怎么办(win10不能识别usb)

从驱动入手,那么win10系统无法识别usb设备怎么办呢?今天就为大家分享win10系统无法识别usb设备的解决方法。1、右键选择设备管理器,如图:  2、点击更新驱动程序,如图:  3、选择浏览...

微软七月Win8.1可选补丁有内涵,含大量修复

IT之家(www.ithome.com):微软七月Win8.1可选补丁有内涵,含大量修复昨日,微软如期为Win7、Win8.1发布7月份安全更新,累计为6枚安全补丁,分别修复总计29枚安全漏洞,其中2...

如何从零开始做一个 USB 键盘?(怎么制作usb)

分两种情况:1、做一个真正的USB键盘,这种设计基本上不涉及大量的软件编码。2、做一个模拟的USB键盘,实际上可以没有按键功能,这种的需要考虑大量的软件编码,实际上是一个单片机。第一种设计:买现成的U...

电脑识别U盘失败?5个实用小技巧,让你轻松搞定USB识别难题

电脑识别U盘失败?5个实用小技巧,让你轻松搞定USB识别难题注意:有些方法会清除USB设备里的数据,请谨慎操作,如果不想丢失数据,可以先连接到其他电脑,看能否将数据复制出来,或者用一些数据恢复软件去扫...

未知usb设备设备描述符请求失败怎么解决

出现未知daousb设备设备描述符请求失du败解决办zhi法如下:1、按下Windows+R打开【运行】;2、在版本运行的权限输入框中输入:services.msc按下回车键打开【服务】;2、在服务...

读《飘》47章20(飘每章概括)

AndAhwouldn'tleaveMissEllen'sgrandchildrenfornotrashystep-patobringup,never.Here,Ah...

英翻中 消失的过去 37(消失的英文怎么说?)

翻译(三十七):消失的过去/茱迪o皮考特VanishingActs/JodiPicoult”我能做什么?“直到听到了狄利亚轻柔的声音,我才意识到她已经在厨房里站了好一会儿了。当她说话的时候,...

RabbitMQ 延迟消息实战(rabbitmq如何保证消息不被重复消费)

现实生活中有一些场景需要延迟或在特定时间发送消息,例如智能热水器需要30分钟后打开,未支付的订单或发送短信、电子邮件和推送通知下午2:00开始的促销活动。RabbitMQ本身没有直接支持延迟...

Java对象拷贝原理剖析及最佳实践(java对象拷贝方法)

作者:宁海翔1前言对象拷贝,是我们在开发过程中,绕不开的过程,既存在于Po、Dto、Do、Vo各个表现层数据的转换,也存在于系统交互如序列化、反序列化。Java对象拷贝分为深拷贝和浅拷贝,目前常用的...

如何将 Qt 3D 渲染与 Qt Quick 2D 元素结合创建太阳系行星元素?

Qt组件推荐:QtitanRibbon:遵循MicrosoftRibbonUIParadigmforQt技术的RibbonUI组件,致力于为Windows、Linux和MacOSX提...

取消回复欢迎 发表评论: