
深度学习
文章平均质量分 90
nihate
这个作者很懒,什么都没留下…
展开
-
人工智能+工业互联网,如何破圈?
人工智能+工业互联网,如何破圈?原创 2022-08-31 13:06:31 · 746 阅读 · 2 评论 -
模型部署翻车记:pytorch转onnx踩坑实录
本文原创首发于极市平台公众号,如需转载请私信作者在深度学习模型部署时,从pytorch转换onnx的过程中,踩了一些坑。本文总结了这些踩坑记录,希望可以帮助其他人。首先,简单说明一下pytorch转onnx的意义。在pytorch训练出一个深度学习模型后,需要在TensorRT或者openvino部署,这时需要先把Pytorch模型转换到onnx模型之后再做其它转换。因此,在使用pytorch训练深度学习模型完成后,在TensorRT或者openvino或者opencv和onnxruntime部署时原创 2021-04-08 09:29:50 · 5180 阅读 · 10 评论 -
使用opencv部署yolact实例分割
本文原创首发于极市平台公众号,如需转载请私信作者YOLACT,全称为:You Only Look At CoefficienTs,从标题可以看出这个模型的名称有些致敬YOLO的意思。YOLACT是2019年ICCV会议论文,它是在现有的一阶段(one-stage)目标检测模型里添加掩模分支。而经典的mask-rcnn是两阶段实例分割模型是在faster-rcnn(两阶段目标检测模型)添加掩模分支,但是在YOLACT里没有feature roi pooling这个步骤。因而,YOLACT是一个单阶段实例分原创 2021-03-07 10:04:34 · 2489 阅读 · 25 评论 -
用opencv部署nanodet目标检测
本文原创首发于极市平台公众号,如需转载请私信作者2020年,在深度学习目标检测领域诞生了yolov4,yolov5和nanodet这些优秀的检测模型,有许多的微信公众号报道这些算法模型。深度学习目标检测方法可划分为 Anchor-base 和 Anchor-free 两大类,nanodet是一个速度超快和轻量级的移动端 Anchor-free 目标检测模型,并且它的精度不亚于yolo系列的。nanodet通过一些论文里的trick组合起来得到了一个兼顾精度、速度和体积的检测模型。作者用到的一些tri原创 2021-02-18 19:12:21 · 5288 阅读 · 24 评论 -
yolov5.yaml文件转换到.py文件
在ultralytics官方的yolov5代码里,模型的构建都是定义在yaml文件里的,在yaml文件里,有两个重要参数:depth_multiple和width_multiple。其中depth_multiple控制网络的深度,width_multiple控制网络的宽度。这样做的好处是可以通过这两个参数控制网络的宽度和深度,实现不同大小不同复杂度的模型设计,但是这种写法缺点是不再能直接采用第三方工具例如netron进行网络模型可视化了,并且yaml文件不利于学习网络结构特性和网络里的层与层之间的连接关系。原创 2020-11-19 17:13:52 · 1875 阅读 · 4 评论 -
一种适合工业级应用的基于深度学习的实时人脸检测与识别算法的C++实现
在此之前我写过一篇文章比较了最近一年内的基于深度学习的人脸检测算法的精度和速度,在稀疏人脸场景里,libfacedetect是最佳选择。于是我就用C++编写了一套人脸检测与识别的程序,在这套程序中,人脸检测模块使用的是libfacedetect,这个模块了还包含了人脸对齐的功能,人脸特征向量提取模块使用的是arcface,此外我还提供了人脸关键点检测模块PFLD,它能输出98个人脸关键点。程序设计采用了面向对象的思想,把每个模块都用一个类包装起来。整个程序的运行只依赖opencv库,使用dnn模块做深度学习原创 2020-11-02 11:13:01 · 1540 阅读 · 3 评论 -
4种YOLO目标检测的C++和Python两种版本实现
2020年,新出了几个新版本的YOLO目标检测,在微信朋友圈里转发的最多的有YOLOv4,Yolo-Fastest,YOLObile以及百度提出的PP-YOLO。在此之前,我在github是哪个已经发布过YOLOv4,Yolo-Fastest,YOLObile这三种YOLO基于OpenCV做目标检测的程序,但是这些程序是用Python编写的。接下来,我就使用C++编写一套基于OpenCV的YOLO目标检测,这个程序里包含了经典的YOLOv3,YOLOv4,Yolo-Fastest和YOLObile这4种YO原创 2020-09-28 15:49:52 · 13038 阅读 · 57 评论 -
10种轻量级人脸检测算法的比拼
最近在微信公众号里看到轻量级人脸检测算法大盘点的文章,里面还提供了github源码地址,我就把它们逐个下载到本地win10-cpu机器上,调试通过运行。去年在github下载过一个包含6种人脸检测的程序(地址是 https://github.com/cs-giung/face-detection-pytorch),分别是pyramidbox,dsfd,s3fd,tinyface,facebox,mtcnn,但是这些算法大多是重量级的网络模型,它在一幅图片上的人脸检测结果和运行耗时统计直方图如下可原创 2020-09-25 16:57:41 · 18506 阅读 · 38 评论 -
CenterFace人脸检测程序中的一个不为人知的bug
程序是用opencv的dnn模块加载CenterFace的onnx文件做人脸检测的,程序源码在github地址是https://github.com/hpc203/CenterFace-opencv-dnn-problem文件夹里有2幅图片,运行 python problem.py,其中problem.py的源码如下import cv2from centerface import CenterFaceif __name__ == '__main__': frame = cv2.im.原创 2020-09-24 17:22:47 · 590 阅读 · 3 评论 -
极简主义OCR
用opencv的dnn模块做OCR,实现对图片中的文本检测与识别,其中文本检测用的是EAST,文本识别用的是CRNN。程序的运行不依赖任何深度学习框架pytorch,tensorflow等等的,只依赖opencv,numpy,math和argparse这4个python库,做到极简主义OCR。下载源码的地址是https://github.com/hpc203/ocr-dnn在运行程序前,按照README.md里的提供的模型文件地址下载模型文件后,就可以运行程序了。在编写这个程序时,我一直有个疑惑,.原创 2020-09-23 16:30:11 · 1437 阅读 · 2 评论 -
github上的yolov3不同版本的区别
目前yolov3在工业界目标检测领域获得了广泛的应用,在github上有很多yolov3源码的资源。现在做深度学习使用pytorch最为方便,在github上pytorch版本的yolov3的star数量最多的的是https://github.com/ultralytics/yolov3和https://github.com/eriklindernoren/PyTorch-YOLOv3这两个。然而...原创 2019-12-27 18:14:18 · 4159 阅读 · 0 评论 -
用opencv的dnn模块实现Yolo-Fastest的目标检测
最近在微信朋友圈里疯传的Yolo-Fastest(github代码地址是https://github.com/dog-qiuqiu/Yolo-Fastest),据说模型非常小,且运行速度快,而且,这个YOLO-Fastest算法满足所有平台的需要。不论是PyTorch,还是Tensorflow,又或者是Keras和Caffe,可以说是全平台通用。但是我没有看到用opencv的dnn模块做前向推理的,于是我就想编写一个程序用opencv的dnn模块做Yolo-Fastest的前向推理。而在此之前,就已经有用o原创 2020-09-18 18:36:05 · 7792 阅读 · 13 评论