![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
文章平均质量分 61
Alex-Leung
Stay hungry,stay foolish.
展开
-
一个案例展示opencv在医学图像病灶分割任务的常用操作
任务根据语义分割网络的输出,去求以下任务的结果。(神经网络的后处理操作)(1)画出病灶边界(2)画出贴近的椭圆(3)过滤病灶内的噪声(4)计算病灶的不规则周长(5)计算病灶面积(6)画出径线原图预处理假设网络为一个二分类网络,网络的输出是一个二维的tensor,每个像素的值为0~1的置信度。先预处理操作,通过设置阈值把每个像素转换为0或者255,分别代表背景和目标。储存为cv::Mat 8UC1的模式,图片格式为8位单通道,2^8 = 256, 对应每个像素的取值范围为0 ~ 255。原创 2021-11-02 17:55:04 · 3234 阅读 · 0 评论 -
TensorRT开发问题合集(持续更新)
问题1:While parsing node number 645 [GlobalAveragePool]:ERROR: builtin_op_importers.cpp:1087 In function importGlobalAveragePool:[8] Assertion failed: !isDynamic(kernelSize) && "Cannot run global average pool on an input with dynamic spatial dimen原创 2021-10-21 15:32:36 · 1575 阅读 · 1 评论 -
MacOS根据模型op编译Tensorflow-Lite生成.aar和动态链接库
目录环境配置1. 环境安装1.1 Homebrew1.2 Bazel1.2.1 给bazel添加代理1.3 Python1.3.1 安装需要的依赖1.3.2 修改python与pip指令的指向1.4 Android SDK&NDK1.5 Tensorflow源码2. 编译流程本教程不适用于windows系统,windows系统编译问题比较多。请自行准备翻墙工具,否则部分依赖无法下载。环境配置Tensorflow: 2.5.0操作系统: macOS Big Sur 11.4Python原创 2021-08-03 18:35:38 · 881 阅读 · 0 评论 -
PaddleCV官方人体姿态估计预训练模型转ONNX
项目地址https://github.com/PaddlePaddle/models/tree/develop/PaddleCV/human_pose_estimation论文地址Pose ResNet: https://arxiv.org/abs/1804.06208网络结构简单来说,这个网络的backbone使用了ResNet,把分类用的ResNet的最后几层全连接层替换为反卷积层输出heatmap,如果训练集有16个人体关键点,那么最后一层output的channel就是16,分别对原创 2021-07-20 11:35:12 · 1170 阅读 · 0 评论 -
个人常用工具整理(定期更新)
个人收藏整理用文章工具类名称介绍链接netron模型可视化点击打开学术类名称介绍链接papers with code学术论文及其代码地址点击打开原创 2021-07-19 17:17:40 · 370 阅读 · 2 评论 -
Windows平台使用Bazel编译TensorFlow详细流程
环境需求VS2019bazelAndroid Studio环境配置bazel --config=opt --define=no_tensorflow_py_deps=true --local_ram_resources=4096 build //tensorflow/tools/pip_package:build_pip_package原创 2021-07-13 02:22:44 · 2331 阅读 · 5 评论 -
ONNX使用pytorch导出的网络模型进行推理(C++)
官方例程https://github.com/microsoft/onnxruntime/blob/master/csharp/test/Microsoft.ML.OnnxRuntime.EndToEndTests.Capi/CXX_Api_Sample.cpp在VisualStudio使用NuGet安装Onnx-Runtime.GPU点击项目,管理NuGet程序包点击预览搜索Microsoft.ML.OnnxRuntime.Gpu安装对应版本的Runtime修改后的代码使用pyto原创 2021-06-30 14:22:31 · 3213 阅读 · 3 评论 -
医学图像语义分割多分类任务计算mIoU和dice的函数
Code输入:变量简介seg神经网络输出的预测结果gt对应样本的ground truthclasses分类数量,默认为0到classes数值background_id背景在预测结果的Tensor中对应分类的值def cal_mIoU(seg, gt, classes=2, background_id=-1): channel_iou = [] for i in range(classes): if i == backgr原创 2021-06-24 17:32:31 · 3550 阅读 · 5 评论 -
python爬虫下载cityscapes数据集
目录cityscapes数据集下载地址解决的问题爬虫脚本数据集下载获取url获取Cookie里的PHPSESSIDcityscapes数据集下载地址https://www.cityscapes-dataset.com/downloads/解决的问题cityscapes不支持迅雷下载,在下载的时候做了请求头验证,该脚本方便linux环境下用户使用。爬虫脚本该脚本基于该博客的代码进行改进,添加进度条方便观察进度。import requestsimport contextlibimport原创 2021-06-24 11:48:40 · 1767 阅读 · 3 评论 -
Paddle-Inference-Demo例程Win10 GPU环境编译
目录1.前置工作2.使用Cmake生成.sln文件3.编译源码3.1 打开VS后添加CUDA的头文件路径(include)和链接库路径(lib/x64)3.2 修改paddle链接库名字3.4 编译3.5 运行demo1.前置工作需要配置好以下环境cuda 10.2cudnn 7.6.5vs 2019cmake 3.17.0以及编译好的paddle预测库,目前使用官方编译好的动态链接库会提示文件损坏,需要自行编译预测库,预测库win10平台下编译教程请看下面链接Paddle-Infer原创 2021-06-22 19:05:18 · 956 阅读 · 1 评论 -
PaddleDetection常用操作整理
目录数据集转换VOC格式数据集转COCO格式数据集训练与测试模型训练数据预测数据集转换VOC格式数据集转COCO格式数据集官方文档dataset_type:需要转换的数据格式,当前数据集是voc格式时,指定’voc‘即可。voc_anno_dir:VOC数据转换为COCO数据集时的voc数据集标注文件路径。voc_anno_list:VOC数据转换为COCO数据集时的标注列表文件,文件中是文件名前缀列表,一般是ImageSets/Main下trainval.txt和test.txt文件。vo原创 2021-04-08 11:27:46 · 1313 阅读 · 3 评论 -
自定义csv转VOC目标检测数据集脚本
简介代码是基于其他blog的代码进行修改的,把csv行数据提取独立为一个函数。根据自己的csv文件格式对返回进行调整。功能说明按VOC数据集格式生成对应文件夹,自动在脚本当前目录下生成可设置训练集与验证集比例,随机分配根据上一点分配的比例分别生成all.txt、train.txt和val.txt(分别记录对应图片的文件名,不含尾缀)生成对应Annotations的XML文件csv文件里面多个bbox使用同一张图片,能自动加入到同一个XML的object中Code# encoding=u原创 2021-03-31 15:22:31 · 735 阅读 · 0 评论 -
清华源安装pytorch 1.8.0
解决方法用清华源就行,国内-c pytorch速度太慢了conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/原创 2021-03-11 01:37:45 · 5823 阅读 · 0 评论 -
TensorRT 7.1.3.4安装
系统环境ubuntu 16.04服务器版本cuda 10.21.下载TensorRT安装包2.添加本地源sudo dpkg -i nv-tensorrt-repo-ubuntu1604-cuda10.2-trt7.1.3.4-ga-20200617_1-1_amd64.deb# 固定格式/var/nv-tensorrt-repo-cuda版本号-trt版本号-ga-更新日期/7fa2af80.pubsudo apt-key add /var/nv-tensorrt-repo-cuda10.2原创 2021-01-16 03:13:56 · 2085 阅读 · 6 评论 -
无背景png图转mask
无背景png图转mask用途Code测试用途使用单图人体三维重现算法PIFu的时候,重建需要输入一张去背景人像图和mask图,如下所示:去背景人像图mask图Code请安装numba加快运算速度。pip install numba无背景人像图,位深度为32位mask图,位深度为8位import cv2import numbafrom PIL import Image# 带numba加速计算,请安装numba# pip install numba@numba.ji原创 2020-12-17 16:23:55 · 838 阅读 · 4 评论 -
使用PaddleDetection自带脚本将自制labelme数据集转为coco格式
问题PaddleDetection(ppdet)自带一个能将labelme标注的数据集转为coco格式的脚本,还能设置比例分配train、val和test数据集的比例。当前使用的ppdet版本为ver. 0.4。转换方法1. clone ppdet进入根目录git clone https://github.com/PaddlePaddle/PaddleDetection.git2. 执行转换脚本python tools/x2coco.py \ --dataset原创 2020-11-19 15:57:11 · 1786 阅读 · 5 评论 -
PaddleDetection固化神经网络部分权重
问题想要把PaddleDetection(ppdet)的mask-rcnn固化backbone或者其他部分,然后用新的数据集训练做迁移学习,官方文档目前没有找到解决方案。处理方法ppdet官方的回答如下,在需要冻结的网络层的输出部分加入如下代码。out.stop_gradient = True目前ppdet并没有一个统一的控制配置,可以自己对框架进行二次开发,添加全局控制变量。想了解ppdet项目结构请回看这篇文章。PaddleDetection项目代码结构简介...原创 2020-11-19 14:56:02 · 775 阅读 · 0 评论 -
PaddleDetection项目代码结构简介
PaddleDetection项目代码结构简介ppdet(PaddleDetection)是一个相当方便的实验框架,将神经网络的各部分模块化,非常适合对神经网络架构进行改进优化。1. 项目目录挑几个重点的目录介绍configs 存放网络配置文件ppdet 存放网络架构、backbone、head等文件tools 存放训练、预测、验证脚本dataset 数据集存放目录output 当执行完训练之后,会生成output文件夹并存放训练好的可训练参数2. 神经网络的相关代码结构关系举原创 2020-10-16 10:15:10 · 1659 阅读 · 2 评论 -
2017 coco数据集下载地址
http://images.cocodataset.org/zips/train2017.ziphttp://images.cocodataset.org/annotations/annotations_trainval2017.ziphttp://images.cocodataset.org/zips/val2017.ziphttp://images.cocodataset.org/annotations/stuff_annotations_trainval2017.ziphttp://image转载 2020-10-15 11:53:48 · 971 阅读 · 0 评论 -
CBAM注意力模块-paddlepaddle版本
keras版本keras版本对比paddlepaddle版本def channel_attention(self, input_feature, index, ratio=0.125): channel = int(input_feature.shape[1]) size = int(channel * ratio) size = 1 if size < 1 else size # avg path avg_path原创 2020-10-13 15:44:19 · 666 阅读 · 2 评论 -
Keras复现CBAM注意力模块
Keras复现CBAM模块1. CBAM注意力机制模块介绍2.模块复现2.1 TensorFlow 2.0 卷积神经网络实战书上的代码(tf与keras混合的代码)2.2 Keras代码复现2.3 测试3. 知识点补充3.1 全局平均/最大池化3.2 Keras构建模型1. CBAM注意力机制模块介绍CBAM(Convolutional Block Attention Module)拥有两个注意力子模块,CAM(Channel Attention Module)和SAM(Spatial Attentio原创 2020-09-23 17:52:04 · 7759 阅读 · 16 评论 -
BottleneckBlock的相关计算
BottleneckBlock的相关计算1. 概念BottleneckBlock - 残差块,初始应用在ResNet 50/101/102中1.1 网络结构残差块又称为瓶颈层,输入channel(通道)从大变小, 再从小变大。上图右侧的才是真正的BottleneckBlock,瓶颈层再加上右侧输入直达输出的shortcut connections。shortcut connections能解决网络训练的时候浅层网络层学习困难的问题。2. 计算流程假设输入数据格式为[batch, chann原创 2020-08-06 17:53:50 · 3779 阅读 · 0 评论 -
paddlepaddle-DNN实现鸢尾花分类任务
paddlepaddle实现鸢尾花分类任务1. 前期准备2. 导入包3. 数据预处理4. Data Reader5. 网络结构6. 训练6.1 运行效果6.2 导出模型的说明7. 预测实验7.1 预测结果与GroundTruth的比较8. 导出权重1. 前期准备首先先准备鸢尾花的数据集,csv数据集下载地址paddlepaddle选用版本为1.82. 导入包from __future__ import print_functionimport paddleimport paddle.fluid原创 2020-07-30 10:49:59 · 1357 阅读 · 0 评论 -
图像数据集预处理-基于numpy、PIL等框架实现-转载自paddlepaddle官方
数据预处理在计算机视觉中,通常会对图像做一些随机的变化,产生相似但又不完全相同的样本。主要作用是扩大训练数据集,抑制过拟合,提升模型的泛化能力,常用的方法见下面的程序。随机改变亮暗、对比度和颜色等import numpy as npimport cv2from PIL import Image, ImageEnhanceimport random随机改变亮暗、对比度和颜色等def random_distort(img): # 随机改变亮度 def random_bright转载 2020-07-01 16:48:03 · 788 阅读 · 0 评论 -
mask-rcnn训练测试自制数据集
mask-rcnn训练测试自制数据集本项目简介本项目用于口腔模型分割,数据类型有7种,本文主要用于介绍如何使用自制数据集训练自己的模型训练环境配置操作系统:win10GPU: GTX 1080tiCPU: intel i7内存: 32G项目地址项目地址:https://github.com/a2824256/Mask_RCNN_4_Oral_Segmentation,mask-rcnn模型来自matterport/Mask_RCNN自制coco数据集格式数据集教程把数据集制作成co原创 2020-05-09 10:43:17 · 1768 阅读 · 6 评论 -
自制COCO 实例分割dataset并测试效果(从采集到测试)
自制COCO 实例分割dataset并测试效果1. 自制实例分割数据集流程:采集->标注->测试1.1 前期准备自制采集工具:wxpython_camera,支持普通摄像头和zed mini,图片采集分辨率自己在代码里改标注工具:labelmelabelme标注效果:采集程序运行效果:1.2 采集->标注用labelme打开采集完成的文件夹,使用cr...原创 2020-04-28 17:29:39 · 3629 阅读 · 0 评论 -
win10环境配置运行mask-rcnn
win10环境配置运行mask-rcnnwin10环境配置运行mask-rcnn项目地址安装流程运行效果win10环境配置运行mask-rcnn项目地址https://github.com/matterport/Mask_RCNN安装流程# 1. 创建conda虚拟环境conda create -n maskrcnn python=3.6# 想节省麻烦就下载1.3的TensorF...原创 2020-04-21 15:58:46 · 612 阅读 · 0 评论 -
intel realsense获取8位深度图
intel realsense获取8位对齐深度图实例代码实例代码import pngimport pyrealsense2 as rsimport logginglogging.basicConfig(level=logging.INFO)import numpy as npimport cv2import osdef make_directories(): if no...原创 2020-04-08 10:55:01 · 1259 阅读 · 0 评论 -
XILINX HLS + Vivado + SDK实现通过AXI-Master协议从ARM(PS)传输数组到FPGA(PL)端RAM
XILINX HLS + Vivado + SDK实现自定义IP通过AXI-Master协议从ARM(PS)传输数组到FPGA(PL)端RAM简介最近在使用XILINX ZYNQ的Soc板子做卷积神经网络(CNN)加速器,遇到了个问题:如何从PS传输批量权重到PL端?网上找了下发现比较少资料,XILINX官网有一个例程,但是有问题的:2013.4 Vivado HLS - Example s...原创 2019-04-19 23:07:22 · 8882 阅读 · 21 评论