
深度学习CV方向
文章平均质量分 69
深度学习
訢詡
我认识的真正的人工智能大师是从来不用优化函数,他们通过心算来更新参数。问到他们渴望用优化函数么,都说当然渴望啊,我问那为什么不用,他们的回答都出奇的一致:太忙。
展开
-
百度飞将BMN时序动作定位框架 | 数据准备与训练指南 (下)
BMN模型是百度自研,2019年ActivityNet夺冠方案,为视频动作定位问题中proposal的生成提供高效的解决方案。原创 2022-07-06 09:30:02 · 1058 阅读 · 0 评论 -
百度飞将BMN时序动作定位框架 | 数据准备与训练指南 (上)
百度飞桨时序动作定位框架 | 数据准备与训练指南原创 2022-07-05 16:18:43 · 3460 阅读 · 0 评论 -
20BN-Jester完整数据集下载
20BN-Jester数据集原创 2022-05-31 13:54:38 · 906 阅读 · 1 评论 -
NTU-RGBD数据集下载及数据格式解析
NTU-RGBD原创 2022-05-30 11:54:50 · 4707 阅读 · 1 评论 -
大人,时代变了 | Ubuntu18.04 Openpose-GPU 极简安装手册
极速安装Openpose原创 2022-05-26 17:22:34 · 478 阅读 · 0 评论 -
Glint360K | 使用指南
Glint360K原创 2022-04-22 10:27:02 · 1796 阅读 · 1 评论 -
PaddleDetection开发套件 | VOC格式YOLO3训练
一、环境搭建PaddlePaddle 2.2 OS 64位操作系统 Python 3(3.5.1+/3.6/3.7/3.8/3.9),64位版本 pip/pip3(9.0.1+),64位版本 CUDA >= 10.1 cuDNN >= 7.6# CUDA10.1python -m pip install paddlepaddle-gpu==2.2.0.post101 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx原创 2022-04-20 13:55:31 · 1922 阅读 · 0 评论 -
Paddle-Human 行为识别 | 使用NTU-RGB-D自定义数据集训练STGCN动作识别模型 (二)
上文说到Paddle-Human开源了行为识别模型,但是只能识别摔倒行为,那么现在我们将让模型能够识别更多行为。一、训练环境搭建项目地址:https://github.com/PaddlePaddle/PaddleVideohttps://github.com/PaddlePaddle/PaddleVideo训练STGCN是在PaddleVideo开发套件中完成的环境可以直接沿用上一篇博客里面的环境,毕竟torch装一遍太慢了Paddle-Human 实时行人分析 | 安装测试指南_訢詡的博原创 2022-04-19 09:13:09 · 6720 阅读 · 18 评论 -
Paddle-Human 实时行人分析 | 安装测试指南 (一)
PP-Human是基于飞桨深度学习框架的业界首个开源的实时行人分析工具,具有功能丰富,应用广泛和部署高效三大优势。PP-Human 支持图片/单镜头视频/多镜头视频多种输入方式,功能覆盖多目标跟踪、属性识别和行为分析。能够广泛应用于智慧交通、智慧社区、工业巡检等领域。支持服务器端部署及TensorRT加速,T4服务器上可达到实时。原创 2022-04-18 14:45:48 · 2370 阅读 · 0 评论 -
YOLO5 训练自定义数据集及避坑指南
一、项目地址:https://github.com/ultralytics/yolov5https://github.com/ultralytics/yolov5数据集完全可以沿用VOCDevkit格式数据集二、VOCDevkit格式数据|--VOC2007|---Annotations|---ImageSets|----Layout|----Main...原创 2022-04-14 17:04:30 · 2981 阅读 · 0 评论 -
InsightFace实现人脸比对[升级版] | 不用建立索引的那种 (二)
真的真的不用建立索引,直接比对人脸嵌入的人脸比对算法!原创 2022-01-21 16:53:42 · 4754 阅读 · 5 评论 -
InsightFace-Paddle实现人脸比对 | 不用建立索引的那种 (一)
需要任意两张同一个人的照片能够准确分辨出是不是同一个人,尽量简化识别过程,不需要知道是谁,也最好不用建立索引文件。现在这个版本的insughtface很奇怪,不知道为什么自己建立索引的时候需要每个人2张照片以上才能识别成功,不然就会报一个莫名其妙的错误。首先上项目地址:https://github.com/littletomatodonkey/insight-face-paddlehttps://github.com/littletomatodon...原创 2021-11-23 14:36:11 · 4886 阅读 · 11 评论 -
Ultra-Light-Fast-Generic-Face-Detector-1MB的自定义数据集训练 | PTH权重转为ONNX格式 (3)
在PTH格式不方便端侧部署,考虑转为ONNX或者MNN格式。1、修改源代码首先需要修改一下源代码:(1)vision/ssd/ssd.py这个文件里面if self.is_test: confidences = F.softmax(confidences, dim=2) boxes = locations # this line should be added. #boxes = box_utils.convert_locations_to_boxes( #原创 2021-09-22 15:14:07 · 433 阅读 · 0 评论 -
Ultra-Light-Fast-Generic-Face-Detector-1MB的自定义数据集训练 | 多分类推理修改 (2)
上一篇帖子我们介绍了如何修改源代码适应我们自己定义的数据集做一个多分类的目标检测任务。Ultra-Light-Fast-Generic-Face-Detector-1MB的自定义数据集训练 | 多分类修改指南_Andrwin的博客-优快云博客训练好的权重会被保存在 项目根目录/models/train-version-RFB 这个文件夹里面,你可以根据训练日志选择损失最小的一个权重。第一件事是新建一个分类标签列表,看过上一篇博客的朋友可能不理解为什么又要新建一个列表,因为原始代码对于列表读取的原创 2021-09-22 13:55:31 · 520 阅读 · 0 评论 -
Ultra-Light-Fast-Generic-Face-Detector-1MB的自定义数据集训练 | 多分类修改指南 (1)
1、项目地址:https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB/blob/master/README_CN.md2、虚拟环境按照requirements.txt安装就可以,我的硬件是RTX2080(8G),i7-9700K,32GRAM,Ubuntu18.043、数据集准备可以使用labelimg去标注,文件结构组织形式:\data|------\my_dataset ...原创 2021-09-22 10:06:18 · 687 阅读 · 0 评论 -
OCR/STR生僻字数据训练 | PaddleOCR的Fine-tune常见问题汇总(3)
1、印章如何识别?使用带tps的识别网络或abcnet,2.使用极坐标变换将图片拉平之后使用crnn2、多语言的字典里是混合了不同的语种,这个是有什么讲究吗?统一到一个字典里会对精度造成多大的损失?统一到一个字典里,会造成最后一层FC过大,增加模型大小。如果有特殊需求的话,可以把需要的几种语言合并字典训练模型,合并字典之后如果引入过多的形近字,可能会造成精度损失,字符平衡的问题可能也需要考虑一下。在PaddleOCR里暂时将语言字典分开。3、如何对检测模型finetune,比如冻结.原创 2021-09-18 10:01:37 · 7670 阅读 · 0 评论 -
面部重建与面部姿态估计 | 误差也就个10来度吧
项目地址:https://github.com/1996scarlet/Dense-Head-Pose-EstimationECCV2020的一个项目,主要有4个功能:稀疏人脸特征点 68个 稠密人脸特征点 38365个 面部姿态估计 面部重建我比较关注的是面部姿态估计,它会返回欧拉角的三个值。思路就是先用一个tensorflow的模型做人脸检测,然后把人脸区域丢到另外一个网络拟合欧拉角。也不能说不准,至少大方向是对的,抬头,低头,左看右看都能区分出来,更为精细的角度识别它做不到,.原创 2021-08-06 14:07:49 · 261 阅读 · 0 评论 -
InsightFace-Paddle 使用指南(2)
上节我们介绍了如何安装InsightFace的WHL包 上节地址https://blog.youkuaiyun.com/Andrwin/article/details/119209774 本节主要介绍从python代码里面调用InsightFace包1.导入InsightFaceimport insightface_paddle as faceimport logginglogging.basicConfig(level=logging.INFO)2.建立人脸索引parser = fa...原创 2021-07-29 14:26:01 · 836 阅读 · 0 评论 -
InsightFace-Paddle 使用指南(1)
采用whl形式安装 command形式或者python包形式调用 项目地址位于https://github.com/littletomatodonkey/insight-face-paddle1.安装Paddlepaddlepip install paddlepaddle-gpu2.安装必要依赖pip install --upgrade -r requirements.txt -i https://mirror.baidu.com/pypi/simple3.安装InsightF..原创 2021-07-29 14:10:43 · 1039 阅读 · 6 评论 -
腾讯优图DSFD | 高精度双分支人脸检测器
逛了逛腾讯的github,确实开源了不少好东西,这不就觉得FaceDetection-DSFD看起来检测人脸很好用项目地址是https://github.com/Tencent/FaceDetection-DSFD年代较为久远,最近更新也是在15个月之前了,框架还是Torch1.0但是年代久远不意味着它不满足我们的需求,没有最好的模型,只有最佳的解决方案。然后尝试了一番发现它跑不起来。。。代码虽然写的很清楚,但是各种小bug,语焉不详的配置项,各种包的版本兼容问题很恼火issue一查原创 2021-07-23 14:56:11 · 1280 阅读 · 2 评论 -
Flask生产环境部署指南 | 复杂度-- 稳定性++ 性能++
零、前言自上次用flask搭了个接口跑yolo以后,一直都很ok直到有一天请求数突然多了起来...只要有1个以上线程请求就崩掉查了一下原来app.run()是用于开发环境测试用的笑死,根本不保证稳定性和性能在不需要复杂的代码修改了环境部署前提下,我实测了下面这种可以用于生产环境的部署方式:一、安装gunicornpip install gunicorn二、导入proxyfixfrom werkzeug.middleware.proxy_fix import Pro原创 2021-04-12 11:39:14 · 2962 阅读 · 2 评论 -
PyTorch实现线性回归 | 多维输入单维输出
线性回归import warningswarnings.filterwarnings("ignore")import torchfrom torch.autograd import Variable# train datax_data = Variable(torch.Tensor([[1.0,2.0,0.5], [2.0,4.0,0.3], [3.0,6.0,0.1]]))y_data = Variable(torch.Tensor([[1.5], [1.8], [0.9]]))# x和y原创 2021-04-02 10:14:10 · 1295 阅读 · 1 评论 -
PyTorch实现全连接神经网络多分类(非图像)| 生成数据-构建模型-读写权重-预测数据
导入import torchfrom torch.autograd import Variableimport torch.nn.functional as Fimport matplotlib.pyplot as pltimport numpy as np生成数据n_data =torch.ones(1000,200) # 每条数据拥有200维x0 = torch.normal(2*n_data,1) y0 = torch.zeros(1000) # 第0类x1 = torch.no原创 2021-04-01 15:10:37 · 1674 阅读 · 2 评论 -
Keras 线性拟合分类 | 用One-Hot编码
import osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'import warningswarnings.filterwarnings("ignore")import matplotlib.pyplot as pltimport numpy as npimport kerasfrom keras.models import Sequentialfrom keras.layers import Dense, Dropout, Activationfro原创 2021-04-01 09:58:40 · 406 阅读 · 0 评论 -
如何把yolov3封装到Docker里面运行 | Dockerfile的编写与编译
主要还是用yolov3-dnn这一套去调用,分两个版本,一个是CPU版,一个是GPU版。一、CPU版本的Dockerfile怎么写其实CPU下面的很简单,需要一个requirements,系统环境其实限制不大。requirements.txt :opencv-python==4.2.0.32numpy然后说一下项目目录都有哪些东西:/docker-yolo /cfg voc.names yolov3.cfg yolov3.原创 2020-12-01 14:37:04 · 1657 阅读 · 0 评论 -
CloneZilla再生龙 | 打造自己的深度学习镜像
一、下载再生龙CloneZilla下载地址 :http://clonezilla.nchc.org.tw/clonezilla-live/download/二、制作CloneZilla USB启动盘在Windows下面制作:1、下载软碟通2、将clonezilla-live-20201102-groovy-amd64.iso刻录进优盘三、配置深度学习环境本次使用Ubuntu18.04,RTX2080,i7-9700K,NVIDIA-driver=440,CUDA=10.1,CU.原创 2020-11-25 15:03:25 · 3085 阅读 · 3 评论 -
自动化人像检测标注 | 还是百度云
标了几千张人像框实在是懒得标了,用百度云吧主要是用百度云的人像检测API,拿到AK和SK,pip install baidu-aipimport cv2import base64import numpy as npimport urllib3,base64from PIL import Imageimport jsonfrom urllib.parse import urlencodeimport matplotlib.pyplot as pltimport matplotlib.原创 2020-11-03 16:22:34 · 854 阅读 · 0 评论 -
[已解决]OpenCV调用yolov3的检测精度下降问题 | darknet检测结果和opencv检测结果不一致问题
如果你用了opencv调用yolov3的weights,names,cfg做目标检测,你会发现用 ./darknet detector test xxx.... 出来的检测结果不一致,大部分任务都还ok,个别任务的精度就低的离谱。 AlexeyAB版和Pjreddie版我都试过了,AlexeyAB版更离谱。 目前解决办法是回归本源,用darknet/python/darknet.py这个代码实现接口 要注意两件事:1、里面的权重,names之类的配置文件要用绝对路径,相对路径会报错。2、路径前面原创 2020-10-20 15:25:35 · 1030 阅读 · 2 评论 -
face_recognition封装无关依赖离线包exe | 让我们在其他windows上快乐调用
怎么安装的话请参考上一篇博客,整的跟连续剧一样~代码如下:import cv2import face_recognition as ffrom PIL import Imageimport timeimport argparsedef check_face_match(baseline_img_path,wantmatch_img_path): baseline_img = f.load_image_file(baseline_img_path) wantmatch_原创 2020-09-30 11:41:11 · 337 阅读 · 0 评论 -
1:1人脸比对没数据怎么办 | dlib和face_recognition做一个简单地人脸比对接口
其实就很简单了,先参考上一篇文章编译安装dlib,再安装face_recognition。这样从定位人脸->编码人脸->计算欧氏距离一条龙都给你搞定import cv2import face_recognition as ffrom PIL import Imageimport timeimport jsonimport global_var as glofrom flask import Flask, render_template, request, jsonify,原创 2020-09-29 17:24:22 · 307 阅读 · 0 评论 -
让dlib库也飞起来 | Ubuntu18.04下联合编译Dlib19.21和CUDA10.1
一、一些需要的东西:Ubuntu 18.04 CUDA 10.1 cuDNN 7.6.5 g++ 7.5 (并不需要降级到5.0) cmake 3.18.2 python 3.6.5 Anaconda 3-5.2二、下载项目文件git clone https://github.com/davisking/dlib.gitcd dlibmkdir buildcd build三、编译DLIB_USE_CUDA=1 支持CUDA ...原创 2020-09-29 11:18:48 · 1597 阅读 · 0 评论 -
使用OpenCV调用yolo3 GPU版
使用OpenCV的DNN模块调用yolo3默认是CPU版本的,而且也不是真的调用yolo3,只是需要一个权重weights文件,一个配置cfg文件和一个标签列表names文件。【重要部分】网上的关于这一块的代码都大同小异,但是关键的地方在于一次加载多次调用,简单的加入net.setPreferableBackend(cv.dnn.DNN_BACKEND_CUDA)net.setPreferableTarget(cv.dnn.DNN_TARGET_CUDA)这两句话是不管用的,实际运行速度原创 2020-09-27 15:10:06 · 1479 阅读 · 7 评论 -
RetinaFace:C++调用caffemodel的极简例程
RetinaFace的人脸检测模型,据说性价比优于MTCNN,想做成dll让其他部分调用(虽然dll还不会做)今天实现了C++调用,不需要安装caffe,也不需要CUDA,装个opencv4.0+就可以了。需要的有:Windows10 vs2017 opencv4.2.01、新建项目,配置opencv库vs2017里面Visual C++新建项目,空项目。我一般习惯把opencv安装在C:/opencv/里面,opencv的安装包文件名是:opencv-4.2.0-vc14_vc1原创 2020-08-06 17:32:20 · 1127 阅读 · 5 评论 -
标人脸图太累?来用百度云计算的人脸检测接口自动标图啊~(二)
然后有了几千条数据之后就可以初步训练一个分类器出来了,用分类器的推断结果再标注剩下的图的一部分,岂不美哉?可比百度那个接口标注准度提升的多了~一、修改yolov3源代码为批量推断注意啦!代码修改全是基于darknet-yolov3的!//examples/detector.c里面前面部分要改成这样子且增加一个函数#include "darknet.h"#include <opencv2/highgui/highgui_c.h>#include <sys/stat.原创 2020-07-17 17:31:51 · 320 阅读 · 0 评论 -
标人脸图太累?来用百度云计算的人脸检测接口自动标图啊~(一)
有的时候人脸检测的需求没办法用市面上现成的训练结果,人脸更细致的分类就需要自己手动标记了,但是找到人脸位置自动生成标记文件还是交给电脑做就可以了,只要人工复核一遍就可以了。主要情况:使用yolov3做这件事 分类人脸更细致的情况 做PascalVOC格式xml标注数据 28W原始数据,手动标注不知道要标到猴年马月一、过滤完全检测不到人脸的# -*- coding: utf-8 -*-import requestsimport cv2import osimport shutil原创 2020-07-17 10:30:32 · 415 阅读 · 0 评论 -
怎么知道你训练的靠不靠谱?yolov3的mAP计算教程来了
都2020年了还有人写python2的求解教程,python2都快停止维护了好嘛?本教程针对darknet版本的yolov3进行计算mAP第一步:通过darknet valid命令计算yolo3推断结果在这之前你要在xxx.data里面配置vaild那一条的路径,是一个全是文件名不包含后缀和路径的txt文档,如果你按照标准流程训练的yolo3一定会有这个东西./darknet detector valid cfg/voc.data cfg/yolo3-spp.cfg backup/yolo原创 2020-07-09 09:20:49 · 1304 阅读 · 0 评论 -
[已解决] yolov3训练自己数据集的时候Obj和NoObj都降为0的问题
yolov3 Obj降到0 问题总结:第一阶段:检查配置文件1、样本类别个数设置错误,yolov3.cfg classes和filters=(classes+5)x3 计算错误2、样本实际类别和yolov3.cfg里面的样本类别不相符3、样本实际类别和x.data以及x.names里面的描述不相符4、自己计算出来的anchors没排序第二阶段:检查数据5、样本存在大量错误数据,例如空目标的图片依然有对应的空目标xml6、更换yolov3-tiny.cfg,看看这个是否收敛,收敛的话数据就没问题第原创 2020-07-06 13:58:35 · 1914 阅读 · 8 评论 -
Yolov5部署成为Python接口 当然是用flask实现啦~ yolo5写成接口
一、在此之前你是不是要先把yolov5跑通?yolov5的环境特别简单,建议在Ubuntu18.04下面部署,一次成型,省去很多麻烦。Ubuntu18.04 RTX2080 CUDA10.0 CUDNN7.4.1 Torch1.3.1GPU torchvision0.4.2 Python 3.6.5项目地址:https://gitee.com/situyufeng/yolov5.gitgithub太慢了 我把他迁到了gitee上面装好Torch以后呢,记得修改pip为清华源,然原创 2020-07-03 15:18:06 · 12749 阅读 · 29 评论 -
OpenPose Ubuntu18.04+CUDA10+CUDNN7.4.1
2020.06.28 部署和编译OpenPose几个可能导致部署失败的因素:* cmake版本问题* caffe版本问题* Python版本问题* cudnn版本问题一、环境说明:1、Ubuntu 18.042、RTX20803、CUDA10.04、CUDNN7.4.15、Anaconda3-5.2.0补充:caffe 编译使用5.0以上gcc,3.0以下的protobuf(建议2.6.1)我用的是3.0可以没事。g++ --versionpro.原创 2020-06-28 18:21:40 · 774 阅读 · 0 评论 -
FaceNet 人脸比对框架 部署+测试
截止到发表这篇博客的时候MTCNN还没训练完,那又有什么关系呢,反正FaceNet已经把转好的MTCNN权重带进去了。需要环境:可以存为requirements.txt然后用pip安装,最好之前conda一个虚拟环境出来~# Ubuntu 18.04absl-py==0.9.0astor==0.8.1certifi==2020.4.5.2cycler==0.10.0gast==0.3.3grpcio==1.29.0importlib-metadata==1.6.1joblib==0原创 2020-06-19 14:41:45 · 1156 阅读 · 0 评论