夜雨飘零 标签

基于TNN在Android手机上实现图像分类

  |   0 评论   |   0 浏览   |   夜雨飘零

TNN:由腾讯优图实验室打造,移动端高性能、轻量级推理框架,同时拥有跨平台、高性能、模型压缩、代码裁剪等众多突出优势。TNN 框架在原有 Rapidnet、ncnn 框架的基础上进一步加强了移动端设备的支持以及性能优化,同时也借鉴了业界主流开源框架高性能和良好拓展性的优点。

基于MNN在Android手机上实现图像分类

  |   0 评论   |   0 浏览   |   夜雨飘零

MNN 是一个轻量级的深度神经网络推理引擎,在端侧加载深度神经网络模型进行推理预测。目前,MNN 已经在阿里巴巴的手机淘宝、手机天猫、优酷等 20 多个 App 中使用,覆盖直播、短视频、搜索推荐、商品图像搜索、互动营销、权益发放、安全风控等场景。此外,IoT 等场景下也有若干应用。

下面就介绍如何使用 MNN 在 Android 设备上实现图像分类。

一行代码Android上实现人脸检测、关键点检测、口罩检测

  |   0 评论   |   0 浏览   |   夜雨飘零

一行代码实现人脸检测,人脸关键点检测和戴口罩检测。

本项目是使用 Paddle Lite 的 C++ 实现的人脸检测,人脸关键点检测和戴口罩检测,并将编译好的动态库和静态库部署在 Android 应用上,在 Android 设备上实现人脸检测,人脸关键点检测和戴口罩检测,所以本应不会使用到 C++ 开发,可以只使用笔者提供的 JNI 接口实现这些功能。在 ai 这个 module 是笔者在开发时使用到的,读者在使用这个项目时,完全可以删除掉,如果是看 C++ 实现,也可以看这个 module 的源码。

基于insightface实现的人脸识别和人脸注册

  |   0 评论   |   0 浏览   |   夜雨飘零

然后开始编写人脸识别和人脸注册工具类,使用 insightface.app.FaceAnalysis() 可以获取模型对象,这里包含了三个模型,首先是人脸检测模型,然后是人脸特征提取模型,和最后的性别年龄识别模型。使用 model.prepare() 可以配置 ctx_id 指定使用哪一块 GPU,如果是负数则是使用 CPU 执行预测,nms 配置的是人脸检测的阈值。load_faces() 函数是加载人脸库中的人脸,用于之后的人脸识别对比。

Android基于图像语义分割实现人物背景更换

  |   0 评论   |   0 浏览   |   夜雨飘零

本教程是通过 PaddlePaddle 的 PaddleSeg 实现的,该开源库的地址为:http://github.com/PaddlPaddle/PaddleSeg ,使用开源库提供的预训练模型实现人物的图像语义分割,最终部署到 Android 应用上。关于如何在 Android 应用上使用 PaddlePaddle 模型,可以参考笔者的这篇文章《基于 Paddle Lite 在 Android 手机上实现图像分类》

本教程开源代码地址:https://github.com/yeyupiaoling/ChangeHumanBackground

基于PaddlePaddle实现的目标检测模型PP-YOLO

  |   0 评论   |   0 浏览   |   夜雨飘零

PP-YOLO 是 PaddleDetection 优化和改进的 YOLOv3 的模型,其精度(COCO 数据集 mAP)和推理速度均优于 YOLOv4 模型,PP-YOLO 在 COCO test-dev2017 数据集上精度达到 45.9%,在单卡 V100 上 FP32 推理速度为 72.9 FPS, V100 上开启 TensorRT 下 FP16 推理速度为 155.6 FPS。

本教程源码地址:https://github.com/yeyupiaoling/PP-YOLO

基于Paddle Lite在Android手机上实现图像分类

  |   0 评论   |   0 浏览   |   夜雨飘零

Paddle Lite 是飞桨基于 Paddle Mobile 全新升级推出的端侧推理引擎,在多硬件、多平台以及硬件混合调度的支持上更加完备,为包括手机在内的端侧场景的 AI 应用提供高效轻量的推理能力,有效解决手机算力和内存限制等问题,致力于推动 AI 应用更广泛的落地。

基于Pytorch实现的MASR中文语音识别

  |   0 评论   |   0 浏览   |   夜雨飘零

MASR 使用的是门控卷积神经网络(Gated Convolutional Network),网络结构类似于 Facebook 在 2016 年提出的 Wav2letter,只使用卷积神经网络(CNN)实现的语音识别。但是使用的激活函数不是 ReLU 或者是 HardTanh,而是 GLU(门控线性单元)。因此称作门控卷积网络。根据我的实验,使用 GLU 的收敛速度比 HardTanh 要快。

  • 以下用字错误率 CER 来衡量模型的表现,CER = 编辑距离 / 句子长度,越低越好,大致可以理解为 1 - CER 就是识别准确率。

基于Tensorflow2 Lite在Android手机上实现图像分类

  |   0 评论   |   0 浏览   |   夜雨飘零

Tensorflow2 之后,训练保存的模型也有所变化,基于 Keras 接口搭建的网络模型默认保存的模型是 h5 格式的,而之前的模型格式是 pb。Tensorflow2 的 h5 格式的模型转换成 tflite 格式模型非常方便。本教程就是介绍如何使用 Tensorflow2 的 Keras 接口训练分类模型并使用 Tensorflow Lite 部署到 Android 设备上。

基于MTCNN和MobileFaceNet实现的人脸识别

  |   0 评论   |   0 浏览   |   夜雨飘零

本教程是教程是介绍如何使用 Tensorflow 实现的 MTCNN 和 MobileFaceNet 实现的人脸识别,并不介绍如何训练模型。关于如何训练 MTCNN 和 MobileFaceNet,请阅读这两篇教程 MTCNN-TensorflowMobileFaceNet_TF ,这两个模型都是比较轻量的模型,所以就算这两个模型在 CPU 环境下也有比较好的预测速度,众所周知,笔者比较喜欢轻量级的模型,如何让我从准确率和预测速度上选择,我会更倾向于速度,因本人主要是研究深度学习在移动设备等嵌入式设备上的的部署。好了,下面就来介绍如何实现这两个模型实现三种人脸识别,使用路径进行人脸注册和人脸识别,使用摄像头实现人脸注册和人脸识别,通过 HTTP 实现人脸注册和人脸识别。

基于Pyramidbox实现的大规模人脸检测

  |   0 评论   |   0 浏览   |   夜雨飘零

今天来水一片文章,基于开源的 Pyramidbox 大规模人脸检测编写的 PaddlePaddle 教程,为了方便训练预测,本教程做了一定的修改。这个模型虽然大,但是符合大规模人群中也可以准确地检测到人脸,就是遮挡比较严重也能正确检测。

PyramidBox 是一种基于 SSD 的单阶段人脸检测器,它利用上下文信息解决困难人脸的检测问题。如下图所示,PyramidBox 在六个尺度的特征图上进行不同层级的预测。该工作主要包括以下模块:LFPN、Pyramid Anchors、CPM、Data-anchor-sampling。

Mediapipe框架在Android上的使用

  |   0 评论   |   0 浏览   |   夜雨飘零

MediaPipe 是用于构建跨平台多模态应用 ML 管道的框架,其包括快速 ML 推理,经典计算机视觉和媒体内容处理(如视频解码)。下面是用于对象检测与追踪的 MediaPipe 示例图,它由 4 个计算节点组成:PacketResampler 计算器;先前发布的 ObjectDetection 子图;围绕上述 BoxTrakcing 子图的 ObjectTracking 子图;以及绘制可视化效果的 Renderer 子图。

基于PaddlePaddle实现的密度估计模型CrowdNet

  |   0 评论   |   0 浏览   |   夜雨飘零

CrowdNet 模型是 2016 年提出的人流密度估计模型,论文为《CrowdNet: A Deep Convolutional Network for DenseCrowd Counting》,CrowdNet 模型主要有深层卷积神经网络和浅层卷积神经组成,通过输入原始图像和高斯滤波器得到的密度图进行训练,最终得到的模型估计图像中的行人的数量。当然这不仅仅可以用于人流密度估计,理论上其他的动物等等的密度估计应该也可以。

基于PaddlePaddle实现的目标检测模型SSD

  |   0 评论   |   0 浏览   |   夜雨飘零

SSD,全称 Single Shot MultiBox Detector,是 Wei Liu 在 ECCV 2016 上提出的一种目标检测算法,截至目前是主要的检测框架之一,相比 Faster RCNN 有明显的速度优势,相比 YOLO V1 又有明显的 mAP 优势。本开源是基于 PaddlePaddle 实现的 SSD,包括 MobileNetSSD,MobileNetV2SSD,VGGSSD,ResNetSSD。使用的是 VOC 格式数据集,同时提供了预训练模型和 VOC 数据的预测模型。

在Android实现双目测距

  |   4 评论   |   0 浏览   |   夜雨飘零

在上一章我们介绍了《双目摄像头测量距离》,在这个基础上,我们来了解如何在 Android 上使用双目测距算法。通过本教程,你不仅掌握如何在 Android 中使用 SBM 等双目测距算法,顺便也了解到如何在 Android Studio 配置 OpenCV,通过使用 OpenCV 可以在 Android 中实现很多图像处理的功能。

双目摄像头测量距离

  |   1 评论   |   0 浏览   |   夜雨飘零

在计算机视觉中,可以通过双目摄像头实现,常用的有 BM 算法和 SGBM 算法等,双目测距跟激光不同,双目测距不需要激光光源,是人眼安全的,只需要摄像头,成本非常底,也用于应用到大多数的项目中。本章我们就来介绍如何使用双目摄像头和 SGBM 算法实现距离测量。

使用PaddlePaddle实现声纹识别

  |   0 评论   |   0 浏览   |   夜雨飘零

本章介绍如何使用 PaddlePaddle 实现简单的声纹识别模型,首先你需要熟悉音频分类,没有了解的可以查看这篇文章《基于 PaddlePaddle 实现声音分类》
。基于这个知识基础之上,我们训练一个声纹识别模型,通过这个模型我们可以识别说话的人是谁,可以应用在一些需要音频验证的项目。

使用Tensorflow实现声纹识别

  |   2 评论   |   0 浏览   |   夜雨飘零

本章介绍如何使用 Tensorflow 实现简单的声纹识别模型,首先你需要熟悉音频分类,没有了解的可以查看这篇文章《基于 Tensorflow 实现声音分类》。基于这个知识基础之上,我们训练一个声纹识别模型,通过这个模型我们可以识别说话的人是谁,可以应用在一些需要音频验证的项目。