机器视觉的学习也是一个不断积累的过程,没有时间的打磨和真正的实战是学不好这个东西的,希望自己能够坚持学习下去。
一.openCV
OpenCV 是一个开源计算机视觉和机器学习软件库,旨在为计算机视觉应用程序提供通用基础架构并加速机器感知在商业产品中的使用。获得 BSD 许可的产品 OpenCV 使企业可以轻松地使用和修改代码。该库拥有 2500 多种优化算法,包括一整套经典和最先进的计算机视觉和机器学习算法。
这些算法可用于检测和识别人脸、识别对象、对视频中的人类行为进行分类、跟踪摄像机运动、跟踪移动对象、提取对象的 3D 模型以及从立体摄像机生成 3D 点云。它可以将图像拼接在一起以生成整个场景的高分辨率图像,从图像数据库中查找相似图像,从使用闪光灯拍摄的图像中去除红眼,跟踪眼球运动,识别风景并建立标记以将其与增强现实叠加。 github源码:git clone github.com/opencv/open...
1.opencv从源码级做到独立安全可控
主要算法代码都是自己写的。虽然用到了一些3方库(主要是不同格式图片视频的编解码),但跟其他工程不同的是,即使是依赖库,opencv也基本都把依赖的源码放到了自己工程里面统一管理,不是从环境里链接编译好库或者仅存储git submodule。这样确保其整个工程更加的安全可信,便于独立部署使用。
2.opencv的框架划分清晰扁平化
主体内容分成core、图像编解码、图像处理等几个大的模块。core中框架层面以及算法层面通用的一些定义和实现,如数据结构cv::Mat、错误和异常处理、算法基类Algorithm等。其他模块在功能上各自自由实现互不干扰,但在形式上统一,给使用者带来一致的使用体验。
二.YOLOv3
YOLO(You Only Look Once)是最先进的实时对象检测系统,是最广泛使用的基于深度学习的对象检测方法之一。它将对象检测视为一个回归问题,使用单个前馈卷积神经网络直接从完整图像预测类别概率和边界框偏移。它使用 k-means 聚类方法来估计预测边界框的初始宽度和高度。YOLOv3 消除了区域提议生成和特征重采样,并将所有阶段封装在单个网络中,形成真正的端到端检测系统。
三. TensorFlow
Tensorflow 是一个免费的开源框架,用于创建算法以开发用户友好的图形框架,称为 TensorFlow 图形框架 (TF-GraF),用于对象检测 API,广泛应用于农业、工程和医学领域的复杂任务的高效解决. TF-GraF 为业余爱好者和初学者提供独立的虚拟环境来设计、训练和部署机器智能模型,而无需在客户端进行编码或命令行界面 (CLI)。
TF-GraF 支持 SSD、Faster-RCNN、RFCN 和 Mask-RCNN 的灵活模型选择,包括卷积神经网络(inceptions 和 ResNets)。TF-GraF 负责设置和配置,允许任何人在他们的项目中使用深度学习技术,而无需安装复杂的软件和环境。
四.Face_recognition
Face_recognition 是世界上最简单的 Python 和命令行面部识别 API。使用 dlib60 最先进的人脸识别技术构建深度学习,它可以从 Python 或命令行识别和操作人脸。该模型在 Wild61 基准中的 Labeled Faces 上的准确率为 99.38%。它提供了一个简单的 face_recognition 命令行工具,可让您从命令行对图像文件夹进行人脸识别!
五. DeepFaceLab
DeepFaceLab 是一个开源深度伪造系统,它利用机器学习在视频中进行照片般逼真的人脸交换。它提供了一个命令式且易于使用的管道,包括数据加载和处理、模型训练和后处理,供人们在不全面了解深度学习框架或不编写复杂样板代码的情况下创建深度伪造视频。这个最先进的框架提供了一个完整的命令行工具,其中包含管道的各个方面和功能,如傻瓜相机。值得注意的是,超过 95% 的深度伪造视频是使用 DeepFaceLab 创建的。