- 博客(26)
- 收藏
- 关注
原创 对循环神经网络RNN的初步理解
之前接触的都是医学图像上广泛使用的卷积神经网络,直到遇到心音的序列数据才刚刚开始使用循环神经网络,刚看的时候觉得与卷积神经网络的区别好大,输入输出怎么都搞不明白,看了一天,觉得稍微有那么点理解了,现在此小结一篇,不然我怕又忘了。一、不同于CNN的地方: CNN每一个与conv kernel 进行卷积的图像区域之间都是独立的,至少在卷积操作中是逐个进行滑窗卷积得到一个feature value的,然后组成一个feature map;而在RNN中,认为后面的序列跟前面的序列是有关...
2021-07-25 15:55:49 793
原创 从心电信号分类过渡到心音信号分类
心电信号分类参考文献:Cardiologist-LevelArrhythmiaDetectionwithConvolutionalNeuralNetworks
2021-07-10 14:36:31 1944
原创 目标检测算法常用评价指标
1、精确率:你认为的正样本,有多少猜对了(猜的精确性如何)2、召回率:正样本有多少被找出来了(召回了多少)Precision = tp / (tp+fp),表示在识别出的目标中,TP所占的比率。n=(tp+fp),n表示一共识别出来多少目标,即预测为目标的数量eg:tp=3,fp=1,Precision=3/(3+1)=0.75,表示在识别出来的目标中,目标占75%Recall = tp / (tp+fn),表示正确识别出来的目标个数与测试集中所有目标的个数的比值。m=(tp+fn...
2021-03-31 23:59:21 1347
原创 理解tf.pad()及tensorflow卷积中的padding方式(“SAME”和“VALID”)
最近细看了一下yolov3的代码,对其中的填充语法小结一下,方便之后回顾复习。首先说一下填充的作用: 填充(即代码中的padding),就是在矩阵的周围补0,一般用于进行卷积操作之前,使得每个输入像素都能作为卷积核窗口的中心。以下面这段代码为契机首先理解tf.pad():def _fixed_padding(inputs, kernel_size): #这里的inputs format为'NHWC' pad_total = kernel_size - 1 ...
2021-01-12 22:32:53 1187
原创 numpy.random.seed()随机数生成器理解
感觉一直碰到随机数生成器numpy.random.seed()这个函数,然后每次都是直接过去了,但是最近在目标检测的代码中老是碰到这个函数用来绘制表示不同目标类别的检测框(不同目标类别用不同颜色绘制检测框),想想还是把它弄懂吧。首先说一下numpy.random.seed()函数的作用:主要作用就是利用随机数种子,每次生成相同的随机数。具体的说就是(先通过看下面的例子再理解会比较容易):seed( ) 用于指定随机数生成时所用算法(所用算法可以是np.random.randn(),numpy.ran
2020-12-28 23:13:05 2218 1
原创 显微调焦图像清晰度评价算法
一般在经过显微镜的不断调焦下才能够看清物体,看清与看不清物体主要是通过人眼主观进行判定的,这里总结几种评价图像清晰度的算法指标。
2020-07-30 23:20:42 1487
原创 读取视频中的全部帧,并把每一帧保存成图片
近期有个任务需要实时检测出视频中的某个目标,这里我用的是神经网络,所以需要有训练样本,那就将视频的每一帧提取出来保存成图像去进行学习。首先最先想到的是Opencv中的cv2.VideoCapture(video_path).read(),我是这样写的:import cv2 as cvdef totalnumber_of_videoframes(video_path): capture = cv.VideoCapture(video_path) len_video_frame =
2020-06-24 15:11:25 5622
原创 Hololens2开发--Unity Switch Platform UWP出现IOException: Win32 IO returned 234
原因:下载好的Win10 SDK中的一个文件名太长了,超出了Unity程序设定的字节导出范围,所以要进行文件夹的重命名解决方法:报错路径:C:\Program Files (x86)\Windows Kits\10\References\10.0.18362.0\Windows.ApplicationModel.CommunicationBlocking.CommunicationBlockingContract,修改Windows.ApplicationModel.Communication
2020-06-04 11:17:39 705
原创 Pandas DataFrame用法总结
1、将某一列满足条件的数据的所在行提取出来df_ori = pd.read_excel('F:\IVF\data\data_add_yuejing_time\data_arrange_no_null23.xlsx')df_new = df_ori[df_ori.iloc[:,-2]>=0.6] #将某一列满足条件(优质胚胎数/成熟卵子数>0.6)的数据行提取出来df_new.to_excel('df_new.xlsx',index=False)2、新建一个dataframe,向da
2020-06-03 17:48:50 1473
原创 实现VNet网络中的concatenation
在VNet网络中有一个skip connection的操作,就是将encoding和decoding的特征进行级联,但是级联的条件是feature map的大小要一致,所以经常采取的措施是将encoding中的feature map裁剪成跟decoding的feature map一样的大小,这里用的是tf.slice(input_tensor,begin,size)参数解释:input_tensor是输入的tensor,就是被裁剪的feature mapbegin是每一个维度的起始位置,这个下面
2020-05-25 16:42:14 703
原创 三维医学图像resize到固定尺寸
Resize是图像处理中经常使用的一个操作,就是将图像缩放到一个固定尺寸,比如分类神经网络的输入大小必须保持一致,就要用到resize;比如有的网络训练学习需要整个图像,但计算机显卡资源不足,不能将整幅图像输入网络,这时也可用到resize,废话不多说,直接看代码,用就是了:import numpy as npimport SimpleITK as sitkfrom glob import globdef resize_image_itk(itkimage, newSize, resample
2020-05-21 19:08:18 8468 17
原创 ITK对应python中SimpleITK库的常用函数举例
在医学图像上经常使用的一个库-SimpleITK,很多处理都只懂个大概或者只会简单的读取,保存图像,这里对常用的一些操作进行总结:1、
2020-05-19 20:33:41 25932 30
原创 图像多label分割的dice损失函数
目标:实现图像中多个物体的分割,多个物体的标注方式为0,1,2,3,,,,,0表示背景,1表示一种物体,2表示另一种物体,如肺叶分割,5个肺叶的标注方式为:0表示背景,1表示右上叶,2表示右中叶,3表示右下叶,4表示左上页,5表示左下叶。说明:首先我们拿到的标注应该是单通道的,如大小为96*96*64*1,但在计算损失的时候我们是要...
2020-05-19 11:38:48 3916 12
原创 图像处理Skimage库的中label和regionprops函数解释
Scikit-image将图片作为numpy数组进行处理,在医学图像处理中会忽略图像的spacing信息。导入:from skimage.measure import label,regionprops1、Skimage中的label参数解释:作用:实现连通区域标记output=label(input,neighbors= None,background= None,return_num= False,connectivity= None)input:是一个二值图像c...
2020-05-08 18:15:17 8375
原创 自己对于batch_normalization和group_normalization的理解
一直懒得不整理,抱着侥幸心理觉得大脑都能记住,还是不能偷懒的, 该做的总结还是要做的,日后忘了也还可以翻翻1、提出 normalization的原因:首先说一下数据归一化的原因: 在神经网络学习过程中其实就是为了学习输入数据的分布,而一旦训练数据与测试数据的分布不一样,那么在测试集上的效果就会很差,即网络的泛化能力大大降低。另一方面,如果每个batch_size的训...
2020-04-30 16:52:47 973
原创 Matplotlib.pyplot画图等距选择数据数组中固定数量的数据,进行图形化
利用matplotlib.pyplot(如plt.plot()或plt.scatter())进行画图时,如果实验数据太多,画出来的图对于分析实验结果几乎没有帮助,所以需要选择一部分实验数据进行可视化是必要的,一般通过等距选择数据数组中固定数量的数据进行图形可视化。取点太多画图出现的情况:等距选择数据数组中固定数量的数据进行图形可视化,这里选择100个数据,原来有3000个数据:...
2020-04-24 14:42:25 1501
原创 根据分割区域计算拟合椭圆信息(python3.7.3+opencv3.4.2)
准备分割好的二值图像,先展示下结果:原始图像:二值图像:椭圆拟合图像:输出拟合椭圆信息(椭圆的中心坐标,短轴长轴(也就是2b,2a),旋转角度):附代码:# coding: utf-8import cv2import numpy as npim = cv2.imread(r'C:\Users\13486\Desktop\5121.png')imgray = ...
2020-03-18 23:33:43 1377
原创 Caffe编译出现错误:-recompile with -fPIC
caffe编译出现以下错误:(关于.a和.so文件位置的问题)relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC解决:在caffe目录下进入cd /usr/local/lib...
2019-11-20 12:05:47 667
原创 Caffe-SSD训练出错(两个问题解决)
问题一:math_functions.cpp:250] Check failed: a <= b <0 vs -1.19209e-007>解决:找到math_functions.cpp,找到在路径为~/caffe/src/caffe/util的math_functions.cpp,找到第250行出错的地方,双斜杠屏蔽,如下所示:最后重新在caffe路径下make -j8...
2019-10-30 18:01:28 960 1
原创 生成caffe所用的lmdb数据
本文只介绍在caffe框架下生成lmdb格式的数据,因为在caffe框架下训练和测试都只能用lmdb格式的数据:准备:1、ubuntu 18.042、新建data文件夹,内含train和test两个文件夹3、train文件夹和test文件夹里面分别含img和xml两个文件夹,里面分别是原图像(.jpg格式)和标签(.xml格式,用LabelImage标注工具生成)4、在trai...
2019-10-30 16:51:43 320
原创 Caffe在Win10上的CPU配置以及运行第一个手写体数字识别的caffemodel
Caffe在Win10上的CPU配置:操作系统:Windows10编译环境(必选):Visual Studio 2013 Ultimate版(Visual Studio 2013 Ultimate版免费获取地址:http://download.microsoft.com/download/9/3/E/93EA27FF-DB02-4822-8771-DCA0238957E9/vs2013.5...
2018-12-19 09:54:17 606 3
原创 自己看SIFT(尺度不变特征变换)算法的一点总结
这是第一次写博客,感觉写个总结会有利于自己对算法的理解首先,本文参考的博文如下:1、https://blog.csdn.net/hit2015spring/article/details/52895367(高斯滤波,有利于对生成高斯差分尺度空间的理解)2、https://blog.csdn.net/abcjennifer/article/details/7639681(目前看到的在博客中点赞数最多...
2018-06-29 09:44:33 14670 12
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人