自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (1)
  • 收藏
  • 关注

原创 深度学习CV岗位面试问什么(GPT回答篇)

用GPT来面试深度学习八股文题目

2023-03-20 23:30:06 1796

原创 轻量型目标检测算法一次看个够

序言不知道大家有没有发现,近两年目标检测算法发展非常的快,恍惚一看,单阶段算法几乎统一了目标检测,各种高性能的目标检测算法层出不穷,印象中是在YOLOv4出来后,基于YOLO的改进变得一发不可收拾,各种改进版本精度越来越高、速度越来越快,同时模型体积也越来越小,越来越多的轻量型模型涌现,更适合移动端部署。这篇文章花点时间来盘点一下一些在github上比较火的轻量型目标检测算法,收藏也方便以后工程中实践。一、yolov5github:https://github.com/ultralytics/yolo

2021-12-27 18:34:24 20817 5

原创 不需要分层的双层车牌识别新方案

序言车牌识别目前算是比较常见的OCR应用,各大停车场的门口均能看见,国内的车牌分为多种,有单层、有双层,有黄牌、蓝牌、绿牌等等,目前基本上都是基于检测加识别的方案进行,检测通常是一阶段的检测器:YOLO、SSD等等,这类型的检测器特点是速度快、性能好优化,便于嵌入边缘设备;而识别则是CRNN居多,CRNN也是目前用的最多的中文文本识别算法,但是CRNN无法直接识别双行的文字,而在车牌中恰好有一种车牌比较特殊,那就是双层车牌,基于CRNN的车牌识别通常是不能直接对双层车牌进行识别的,需要将上下层文字分割后再

2021-09-13 14:58:39 3748 16

原创 智慧城市交通系列之行人、车辆属性识别方案设计

序言我打算写一个智慧交通系列的文章,但是最近没啥时间,先放个效果图占个位,有时间的话会慢慢写。一、天网

2021-05-16 23:56:42 2717 3

原创 智慧城市交通系列之车流量检测(一)

序言我打算写一个智慧交通系列的文章,但是最近没啥时间,先放个效果图占个位,有时间的话会慢慢写。一、车流量检测先放个效果图,实现原理有时间的时候会补上。

2021-05-16 23:35:44 11962 7

原创 基于openpose和目标检测手势识别方案的设计

序言最近在接触手势识别这方面的项目,在做的同时,记录下自己的方案思路,作为笔记分享和学习。只是讲大概的思路,细节不多阐述,如果有更好的方案可以私聊我一起交流。码字不易,未经同意,请勿转载。一、手势识别概述谈起手势识别技术,由简单粗略的到复杂精细的,大致可以分为三个等级:二维手型识别、二维手势识别、三维手势识别。在具体讨论手势识别之前,我们有必要先知道二维和三维的差别。二维只是一个平面空间,我们可以用(X坐标,Y坐标)组成的坐标信息来表示一个物体在二维空间中的坐标位置,就像是一幅画出现在一面墙上的位置

2021-03-24 15:45:46 6476 16

原创 深度学习CV岗位面试基础问题总结(基础篇)

序言理论知识篇面试知识点总结,自问自答,学习、记录、分享和复习。

2021-01-23 17:38:50 4794 1

原创 深度学习CV岗位面试问题总结(OCR篇)

序言OCR篇面试知识点总结,问题收集、自问自答,学习、记录、分享和复习。OCR面试知识点总结1. 介绍一下CRNN和CTC的原理2. 介绍一下cnn+Attention的原理3. CTC和Attention的优势分别是什么?4. 介绍一下DBNet文本检测算法,它为什么这么快?5. 介绍一下PSENet算法6. 介绍一下CTPN算法的原理7. 介绍一下你常用的文本检测算法,并解释使用其的原因...

2021-01-19 17:46:35 6033 3

原创 深度学习CV岗位面试问题总结(目标检测篇)

序言首先说一下为什么写这篇文章,一方面是因为在平时工作中或者项目上会用到各种各样的算法,虽然用多了心里大概都知道这些算法是什么原理,但是在面试的时候当面试官闻起来,突然一下子就组织不上语言,原理说得零零碎碎,显得非常不专业,相信很多人都有这样的面试经历。另一方面我觉得当读到一篇好的文章或者一段出彩的文字时,看完能够用自己的一句话把文章核心内容总结出来,才能够掌握文章的精髓,当然深度学习的东西,很难用一句话概括出来,但是我们可以总结其中的重点,再通过思维的延申到实现细节上,是不错的学习方式。废话说得太多了

2021-01-06 18:39:21 15388 6

原创 YOLOv5实现半标注—告别大量重复标注工作

序言在模型训练阶段,难免会遇到大量标注的时候,当拿到一批未标注的数据的时候,一想到要标个几天几夜就头大。如果是公司有自己的数据标注师还好,如果没有的话还要自己动手,这就太浪费时间。为什么不能借用已有的模型来进行预标注呢?答案肯定是可以的。本文记录一下自己常用的yolov5作为预标注的使用过程。一、预标注流程使用yolov5官方权重进行推理得到box的坐标,如果你需要标注的类别在coco80个类里面(或者根据自己数据集用少量数据训练出来还不错的权重)将box坐标和类别提取出来新建重写xml文件;使

2020-12-11 11:35:17 12096 14

原创 基于yolov5的卡片任意倾斜角度较正

序言因为之前有在做一些规则卡片类的OCR识别任务,就难免会遇到这样的问题:用户上传的照片里卡片的角度是任意的,不规则的,或多或少都会存在不同的倾斜和形变。所以在识别的时候必须要先对其进行矫正再进行检测识别。当时有想到借鉴人脸检测中的关键点回归对卡片的四个角进行回归,但是后来感觉有点麻烦,而且数据有限,如果使用传统的opencv去寻找角点的话实际效果又不太稳定,刚好那段时间v5出来了,突发奇想可以使用v5去做,然后发现效果奇好。一、数据准备这里使用银行卡作为示例,其他类型卡片操作一样。首先是使用labe

2020-12-09 19:12:43 5889 15

原创 常见的12个深度学习面试问题(提高篇)

序言整理了一篇来自公众号AI公园的文章,原文链接:常见的12个深度学习面试问题,通过对文章知识点整理来巩固所学的知识,也为了以后更好的复习。正文1. 介绍Batch Normalization的意义Batch Normalization 是训练神经网络模型的一种有效方法。该方法的目标是将特征(每层激活后的输出)归一化为均值为 0,标准差为 1。它可以将数据标准化到一个合理的范围,这样做带来...

2020-03-29 16:21:15 2802

原创 yolov8实现半标注

yolov8实现半标注程序

2023-03-21 15:12:23 1475 5

原创 yolov8命令行运行参数详解

基准测试提供了关于导出格式的大小、其mAP50-95指标(用于对象检测和分割)或精度top5指标(用于分类)的信息,以及在各种导出格式(如ONNX、OpenVINO、TensorRT等)中,每张图像的推断时间(以毫秒为单位)。这些信息可以帮助用户根据他们对速度和准确性的需求,为他们的特定用例选择最佳的导出格式。yolov8目前支持:BoT-SORT、ByteTrack两种目标跟踪,默认使用BoT-SORT。跟踪的传参和推理时一样,主要有三个:conf、 iou、 show。

2023-03-17 17:57:36 24598 20

原创 yolov8训练筷子点数数据集

yolov8训练筷子点数数据集

2023-03-17 14:42:32 3036

原创 yolov5训练高精度非机动车驾驶检测

使用yolov5训练非机动车驾驶状态的模型,检测内容为驾驶非机动车的人和车一体

2023-03-15 20:16:45 3605 4

原创 行人属性识别二:添加新网络训练和自定义数据集训练

所以本文记录如何加入新的网络模型进行训练,以repvgg为例,加入mobilenet、shufflenet等网络同配置。以及抽取pa100k数据集部分属性作为自己数据集进行训练,对于自主标记的数据集,按照相同格式准备即可。.........

2022-08-17 17:46:26 1953 8

原创 行人属性识别一:训练PA100k数据集

PA-100K数据集是迄今为止用于行人属性识别的最大数据集,其中包含从室外监控摄像头收集的总共100000张行人图像,每张图像都有26个常用属性。这里针对PA100k进行训练。

2022-08-17 15:56:54 5903 17

原创 YOLOX训练高精度车辆检测

项目需要用到高精度的车辆检测模型,最开始想的是直接使用yolov5或者yolox的coco预训练的模型,但是发现在实际场景中精度并不是很好,因为COCO数据集中有80个类,并且数据集的错误标签挺多的,直接白嫖到场景中会存在很多误检漏检的情况,素以还是得自己训练一个专门用来检测车辆的模型,本文记录一下训练过程。.........

2022-06-02 14:24:55 4278 3

原创 VOC格式或者COCO格式检测数据集提取特定类

有时候我们需要从已经标记好的数据集中提取某些类进行训练,以常见的COCO数据集和VOC数据集格式的标注为例,本文提供了两种数据集格式的特定类提取方法,网上也有很多类似的内容,权当总结记录,以后用到时方便找出。

2022-06-01 14:33:11 1349

原创 PPOCRv3模型转pytorch

paddleocr模型转pytorch

2022-05-23 12:38:51 4922 1

原创 【TensorRT】相关学习资料文章链接整理记录备份

序言用于记录好的TensorRT文章链接,以防下次再想看的时候找不到。TensorRT使用教程(Python版)TensorRT优化原理TensorRT工作流程TensorRT使用 C++ API 从头创建网络TensorRT使用 C++ parser API解析模型TensorRT使用 Python API 从头创建网络TensorRT使用 Python parser API解析模型TensorRT使用C++API部署推理TensorRT使用PythonAPI部署推理TensorRT

2022-05-06 15:00:50 1122

原创 pytorch模型(.pth)转tensorrt模型(.engine)几种方式

序言这篇文章总结了训练好的pytorch模型转成tensorrt模型部署的几种方式,转换原理流程大致如下:导出网络定义以及相关权重;解析网络定义以及相关权重;根据显卡算子构造出最优执行计划;将执行计划序列化存储;反序列化执行计划;进行推理值得注意的是第三点,可以看到tensorrt转换出来的模型实际上是和硬件绑定的,也就是在部署的过程中,如果你的显卡和显卡相关驱动软件(cuda、cudnn)发生了改变,那么模型就得需要重新做转换。一、trtexectrtexec是在tensorrt包

2022-05-05 17:48:42 14953 6

原创 使用NCNN在jetson TX2上调用GPU进行推理

NCNN在jetson TX2上调用GPU推理

2022-04-28 18:18:01 3202 1

原创 【工程部署】手把手教你在RKNN上部署OCR服务(下)

序言本篇接上一篇,主要是一些代码实现。一、onnx模型测试代码(python)用于测试所提供的onnx模型文件在没转换时的推理效果:import osimport sysimport cv2import timeimport onnximport mathimport copyimport onnxruntimeimport numpy as npimport pyclipperfrom shapely.geometry import Polygon# PalldeOCR 检

2022-03-18 19:26:39 10335 18

原创 【工程部署】手把手教你在RKNN上部署OCR服务(上)

序言前段时间一直在摸索如何在RKNN上部署paddleOCR的模型,花了好长一段时间,终于把模型部署到了rv1126的NPU上,过程虽然不是很困难,因为在RKNN群中交流过一些OCR部署时遇到的问题,经常有同学看到聊天记录加了我Q问相关问题,趁着最近周末,打算写一篇文章记录下我的部署全过程,作为分享,也方便以后复习、加深印象。一、准备工作硬件支持:PC端主机(ubuntu)系统rv1126板子双头USB线(用于PC和板子间adb调试)软件支持:PC端安装好...

2022-03-18 19:22:36 8413 24

原创 使用图像增强库Augly对数据进行增强扩充

序言使用Augly库写了一个易用的图像增强函数,用来扩充图像样本,增加样本的多样性,使用起来非常简单,需要预先安装Augly库,在终端中运行:pip install augly全部代码分享如下(代码还有优化空间,根据自己需要进行优化):import osimport randomimport augly.image as imaugsimport PIL.Image as Imageimg_path = "img" # 需要增强

2022-03-02 16:24:36 2959 3

原创 使用RKNN部署CRNN模型踩坑优化历程

序言前段时间使用RKNN部署一个文字识别模型,因为文字识别模型用的是目前最普遍使用的CRNN模型,结构也相对简单:卷积+LSTM+全连接,都是比较元老级别的算子,本来已经部署的过程会很顺利,结果发现还是踩了很多坑。写篇文章记录下踩坑优化过程。一、部署前接到需求后,一开始想到的是直接使用paddleocr开源的通用文字识别模型,paddleocr提供了三个通用的文字识别模型,都是基于CRNN算法架构,分别是:mobilenetV3版、LCNet版、Resnet34版,前两个是移动端模型,后一个是服务端模

2022-02-23 14:13:10 6232 17

原创 ncnn和opencv在vs2022上创建工程推理示例

序言因为之前C++代码一直是在ubuntu的CLion上写的,对Visual Studio的相关配置并不是很熟悉,最近需要在win上开发,所以不得不用Visual Studio来编写代码,在做项目的同时,简单记录下Visual Studio的相关配置,以调用ncnn和opencv为例。一、准备ncnn和opencv1.1 windows下编译ncnn首先需要安装Visual Studio 2022社区版,这个不用多说了吧,安装结束后打开vs2022的x64命令行终端在windows下编译ncnn

2022-02-15 10:46:08 4207 3

原创 nanodet-plus训练自己数据集

序言前两天nanodet-plus隆重发布,又赚了一波热度,趁着年底有空,避免被卷死,赶紧学习一波;因为之前有过nanodet的训练实践经历,但是有好长一段时间没用了,代码看的都生疏了,还好作者将新版本合并到老仓库中,代码结构基本上没变,旧的配置文件修改依旧适用,重新上手起来也比较容易,这次打算拿之前的筷子数据集来试试效果,本文记录训练过程。与上一代NanoDet相比,在仅增加1毫秒多的延时的情况下,精度提升了30%。与YOLOv5-n, YOLOX-Nano等其他轻量级模型相比,在精度和速度上也都高了

2021-12-29 12:13:57 8420 13

原创 使用pnnx把pytorch模型转ncnn模型

序言在做训练模型转部署模型的时候,通常都是先转成onnx,再转目标框架,但是经常会出现的问题就是某些算子不支持,这样一来,模型部署起来就比较困难,不过现在ncnn支持torch直接通过pnnx转成ncnn模型,将整个torch的模型直接搬过来,避免了算子不支持的问题,具体的介绍还请移步nihui大佬的知乎:PNNX: PyTorch Neural Network Exchange。结合自己最近的情况,最近在白嫖PaddleOCRV2的移动端模型,想把它转成ncnn去部署在边缘设备上,情况是在转mbv3版

2021-11-15 15:36:43 7681 14

原创 使用NCNN在PC端部署PaddleOCR

序言上一篇文章记录了paddle-lite在arm开发板上部署PaddleOCR的流程,文末也提到了自己使用NCNN去部署的预告,正好今天刚好有时间,就写一篇文章记录一下NCNN部署的过程,本文暂时是介绍了部署在PC上,后面会再出一篇在arm开发板上部署的文章,因为流程基本上是一样的,可能有些同学对NCNN的部署不是太了解,所以从PC端讲起会更容易理解一些。一、环境准备因为只是在PC上部署,所以只需要ubuntu电脑一台,CMake这些环境默认是安装好了的,然后编译NCNN,编译的流程如下:在这里插

2021-11-06 15:02:27 4774 18

原创 使用paddle-lite在Arm开发板上部署paddleOCR

序言最近有个需求,需要在arm板子上部署一个通用的ocr模型,正好度娘家开源的PaddleOCR效果识别得非常不错,并且提供了mobile版本,因为业务中对精度要求不是特别的高,而且自己去训练的话效果还大概率没有人家的好,所以就不从训练开始折腾了,索性就直接拿来用。PaddleOCR对于部署来说非常的友好,提供了很多方式的部署代码,因为我是要用到arm边缘板子上,所以选择了paddle-lite方式进行部署,而paddle-lite的部署代码,在PaddleOCR源码的deploy/lite文件夹中,具体

2021-11-01 16:14:22 9263 22

原创 交叉编译opencv在ARM板子上运行时出现的问题 libgomp.so.1: cannot open shared object file: No such file or directory

最近在rk3328上部署了一个模型,模型推理需要opencv的支持,可执行程序在PC上交叉编译完后,push到板子上运行时出现了如下报错error while loading shared libraries: libgomp.so.1: cannot open shared object file: No such file or directory网上搜了一下好像没有相关解决记录,所以特别记录一下,以便有需要的人能搜到,避免走太多弯路。检查了一下,发现板子上/usr/lib中没有这个库,但是发现

2021-10-25 15:40:11 3227 1

原创 rk1126开发板开发记录—SDK环境准备和系统烧录

序言最近在弄rk系列的开发板,手上正好有一台rk1126的板子,因为之前很少接触到嵌入式的东西,所以在模型部署的同时遇到了很多坑,在此期间也有很多收获,习惯性的用文章记录一下开发的过程,供以后翻阅复习。一、开发准备首先开发需要准备:一块开发板;一根网线;一根双向usb线;ubuntu主机;rk1109/rk1126 SDK包。rk1126可以使用网线进行供电,不过对网线的供电也有要求,比如我一端插在家用的路由器,另一端插板子上,居然供不了电开不了机,但是一把另一端插公司用的交换机上就

2021-09-23 18:00:03 3239 1

原创 在docker上使用openvino开发和部署模型应用

序言前段时间给我们运维同事的服务器上部署了一个ocr服务接口,模型使用的是nvidia 1650ti的显卡推理,速度非常可观,毫秒级别响应。但是最近运维又找到我,说服务器的显卡好像出了问题,我检查一看:好家伙,显卡居然烧了。这张显卡为公司服务了好几年,毕竟“陈年老卡”,上一任同事传下来的,不知道传了几代,如今也算圆寂了。好了,不瞎扯,说会正题,没了显卡,我这模型可咋整?现阶段只能用cpu推理了,但是模型的速度可咋优化?这可难不倒我,检查了一下这台服务器上的cpu,发现了Intel的,这就好办了 , 果断使

2021-08-30 11:31:59 2497 3

原创 使用libtorch部署yolox

序言上一篇文章介绍了如何在nano上实用ncnn部署yolox,因为yolox的ncnn相关部署代码已经开源,所以我们只需要按照流程配置环境,修改相关代码编译即可,作者开源了四种部署方式的代码,但是没有libtorch,libtorch作为pytorch的C++版本,同样拥有非常高效的部署效率,使用起来也相对来说比较容易,所以本文介绍了如何使用libtorch部署yolox。一、模型转换pytorch->torchscript首先还是要将pytorch的模型序列化成C++可调用的模型,这里我仿照

2021-08-02 19:35:56 2689 13

原创 Jetson nano上使用ncnn部署yolox

序言之前一篇文章写yolox的训练,这篇文章写一下关于部署,yolox之所以刚出来就这么火爆,不仅是精度高、速度快,很大程度上还是因为直接把部署的代码叶开源了,可谓是从训练到部署一条龙服务,很良心,yolox里面开源的部署代码有四种:ncnn、openvino、onnx和tensorrt,刚好手上有一个nano的板子,所以打算试试yolox使用ncnn在nano上的效果,写一篇文章记录一下过程。一、模型转换pytorch->onnx使用ncnn部署,模型转换的步骤还是:pytorch ->

2021-07-31 01:33:09 4076 10

原创 YOLOX自定义数据集训练(抢先踩坑)

序言昨天被YOLOX刷屏了,各大公众号强推:**性能超yolov5!!吊打一切yolo!!**看麻了我,标题还能再夸张点嘛?出于对前沿技术的渴望,还是要去学习学习,论文中改进了很多地方,这里就不再介绍,刷屏的文章中都已经介绍了,直接来看下作者给的性能对比图:左边是大模型的性能对比,右边是各自轻量型模型的对比。可以看到越靠近左上角性能越优。此外作者还一次性开源了tensorrt、ncnn、openvino、onnx部署代码,可谓业界良心,从训练到部署一条龙服务。习惯了yolo格式训练方式的我,在踩了无

2021-07-22 20:25:25 20811 115

原创 facebook最近开源的python图像增强库—Augly

序言最近在在github上看到一个很火的仓库:Augly,截止目前已经获得了3600+的标星。Augly是由facebook ai开源的一款用于数据增强的python库,它支持音频、图像、视频、文本4种形式的数据,提供了超过100种数据增强功能,可以直接对输入的内容进行多种处理。对于图像而言,提供了裁剪、选择图像、图像加文字、增加饱和度、亮度调整等100多种数据增强的方式,pip安装,开箱即用,很方便我们用来对图像进行处理。可以说功能非常的强大了,不仅可以用来离线数据增强,还可以在torch的训练中进行

2021-07-15 10:35:50 3308 3

目标检测数据集(一次性筷子计数)

收集好的一次性筷子,已标注,可用于跑目标检测模型。相关介绍参考我的博客:https://blog.csdn.net/qq_39056987/article/details/116270881?spm=1001.2014.3001.5501

2021-07-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除