自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(151)
  • 资源 (5)
  • 收藏
  • 关注

原创 StyleCLIP global direction详解

CLIP中虽然图像特征与文本特征不存在一一对应的关系,但相同的语义下,图像特征的变化方向与文本特征的变化方向是一致的,如下图右侧的man,woman所示可以将stylegan中隐空间的语义变化方向投影至CLIP空间(下图左下角),这样若命令为man->woman,则可以首先计算CLIP中文本特征对应的变化方向Δt\Delta tΔt,再计算该Δt\Delta tΔt与CLIP中间中所有图像变化方向Δi\Delta iΔi的共线程度(即变化方向一致),取出共线程度大的Δi。

2023-10-19 17:19:08 259 1

原创 python import与相对路径

前言:又是弄视频分割的这个项目,被里面的路径搞疯了,一直报错。其实以前也遇到过路径相关的问题,但是随便折腾下,问题也就解决了,所以一直懒得去仔细钻研这问题。本文会探讨两类问题,一是import,而是相对路径(更新中,自己也还在学习)。pathProject- src-- main.py-- package1--- p1.py-- package2--- p2.py下面是针对自己的疑问,进行实验的结果Q1:在pathProject下执行python src/main.py与pathP

2021-04-26 10:43:32 5604 1

原创 pytorch dataloader输出shape探讨(RNN format)

前言:第一次接触视频分割相关的网络(RVOS,https://github.com/imatge-upc/rvos),发现网络dataloader的输出数据格式不是batch first,而是[length_of_clips, batch_size, channels, height, width]。经过实验发现:若Dataset返回tensor对象,则dataloader输出常规的[batch_size, length_of_clips, channels, height, width],(即batch

2021-04-25 20:48:24 5213 2

原创 专利撰写要点

这儿记录下导师在改专利时侧重的地方,方便自己回顾,也供大家参考。专利中权利要求书最重要,即专利被否决只能对权利要求书提出异议,其余的说明书、说明书附图只能作为支撑材料权利要求书中最重要,也是审理审查员经常会抓的点就是公式,要避免同一个字母在不同公式中指代不一的情况,公式中出现的任意字符都要说明权利要求书中要避免出现不确定的字、词,如“主要”,“大致”等等权利要求书中的权利要求一般按照其标号的升高重要性递减,越重要的越在前(即属于关键创新性的东西写在前)。权利要求书中若出现了几点权利要求,只要其中

2020-12-30 09:16:09 1913 2

原创 opencv 实现ps油漆桶【三】

github地址(更新中):https://github.com/SunnyWuYang/Paint-Bucket-with-Gaps参考:[1] opencv实现画板效果:https://github.com/aapsi/Paint-Application版本三目的与功能:画板工具增加功能(橡皮擦、笔刷大小更改、笔刷跟随效果、种子点选择)将floodfill算法颜色判断由1改为255画板与floodfill算法整合算法实现floodfill.pyimport cv2import

2020-11-14 21:42:43 666

原创 opencv 实现ps油漆桶【二】

github地址(更新中):https://github.com/SunnyWuYang/Paint-Bucket-with-Gap参考:[1] opencv实现画板效果:https://blog.csdn.net/qq_42191914/article/details/105035921版本二目的与功能:创建简易版的画板工具为算法提供实验图像利用自己绘制的图像测试算法算法实现import osimport sysimport cv2import numpy as np"""

2020-11-13 15:35:46 379

原创 opencv 实现ps油漆桶【一】

前言(可忽略):前些日子遇到个需求,需要首先检测出网格面边缘(不是完全规则的),然后将网格面内部填充为另一种颜色。但是由于前景背景较为相似,检测出的网格面边缘并没有完全闭合,导致用普通的floodfill填充会使填充区域溢出当前网格。于是四处查找相关算法,终于在github上找到一个用typescript实现的项目,但这个项目功能比较简单。虽然最开始的需求已经没有了,但出于兴趣想将这个功能完整的实现出来。(由于平时有很多其他的事,因此只能利用空余时间一点点更新)github地址(更新中):https://

2020-11-13 14:49:01 860 1

原创 pytorch F.affine_grid F.grid_sample探究

在pytorch框架中, F.affine_grid 与 F.grid_sample(torch.nn.functional as F)联合使用来对图像进行变形。F.affine_grid 根据形变参数产生sampling grid,F.grid_sample根据sampling grid对图像进行变形。需要注意,pytorch中的F.grid_sample是反向采样,这就导致了形变参数与直觉是相反的(后面有实验验证)(例如放射矩阵中的缩放因子是0.5,会使目标图像扩大两倍;平移为正会使目标图像往左上角

2020-08-27 17:20:03 9653 5

原创 pytorch Sequential ModuleList与python list构建网络比较

参考别人博客,自己实验并总结,供参考。import torchimport torch.nn as nn"""比较了nn.Sequential,ModuleList与python list构建网络的区别"""class net1(nn.Module): def __init__(self): super(net2, self).__init__() self.conv = nn.Sequential(nn.Conv2d(3, 5, 5, 0))

2020-08-26 10:02:47 622

原创 python FFT图像匹配

利用傅里叶空间的correlation实现模板与图像间的匹配,原参考代码用matlab实现源地址,这儿用python复现。import numpy as npimport cv2from scipy import fftpackfrom matplotlib import pyplot as plttemplate = cv2.imread('template.jpg')origin = cv2.imread('image.jpg')template_gray = cv2.cvtCol

2020-08-18 11:19:41 1357 1

原创 opencv 彩色图像equalizeHist注意事项

对彩色图像进行直方图均衡化,一般是通过对HSV色彩空间的V通道进行直方图均衡化,再合并H,S,V三个通道后转化为RGB空间。(其实V通道简单来说就是图像明暗通道,增加V通道值的效果等同于windows照片编辑中的光线调整,如图:)示例代码为:import cv2import numpy as npimport matplotlib.pyplot as pltif __name__ == '__main__': img = cv2.imread("pic.jpg")

2020-08-07 10:38:25 1774 1

原创 opencv minAreaRect角度

minAreaRect返回的数据包括了矩形的中心点,宽、高,和旋转角度。其中旋转角度的范围是[-90,0),在第一、第二象限有不同的表现形式,更重要的是,宽高也会跟着旋转而发生变化。下面是实验的模拟:首先创建一个矩形图,初始水平,import cv2import numpy as npimport matplotlib.pyplot as pltimport imutilsif __name__ == '__main__': image = np.zeros((40.

2020-08-04 11:28:57 4198 2

原创 Otsu算法原理与python实现

[注:下面公式所涉及的是带权重的均值与方差,一开始我并不明白为什么要这样做,还去查了关于带权重与不带权重计算均值或方差的区别,后面发现,应该是因为该算法的计算是基于概率分布,而概率分布意味着这是一个可以根据概率,产生无数样本的population,而非sample,因为对概率分布求均值就相当于求期望,方差也同理,需要带上概率]原理一幅图片的所有像素有LLL个灰度级,[1,2,⋯ ,L][1,2,\cdots,L][1,2,⋯,L]处于灰度级iii的像素数量表示为nin_ini​,因此像素的总数为N=n

2020-05-10 17:24:27 4650

原创 弹性变形与采样,旋转,形变场可视化

文章目录采样变形场可视化变形与可视化实例STN(Spatial Transform Network)Dense Deformation(Elastic deformation)的采样与可视化对于采样(sample)而言,分为前向与后向。前向直观上更容易理解,但实际应用会有问题,因此,算法中的采样操作一般为后向。采样前向采样:将输入图像坐标p1根据DDF(Dense deformatio...

2020-05-06 20:20:54 3014 4

原创 给定概率密度,生成随机数 python实现

实现的方法可以不止一种:rejection samplinginvert the cdfMetropolis Algorithm (MCMC)本篇介绍根据累积概率分布函数的逆函数(2:invert the CDF)生成的方法。原参考网站:https://blog.demofox.org/2017/08/05/generating-random-numbers-from-a-speci...

2019-08-09 19:47:58 14169 3

原创 voxel 转换为 patient coordinate(python实现)

dcm其实自己感觉还未完全理解(博客内容若有错误请指出),先记下来,等答辩、课题等事情弄好再重新学习并补充。一些基础概念别人博客已经写的很好了,我理解的关键点为:1、病人坐标系的xyz定义方向为LPS2、图像坐标xy定义方向:(0,0)代表图像左上角,(max(x),max(y))代表图像右下角(这儿x的延伸方向也是i的延伸方向,y的延伸方向等同于j的延伸方向)3、仿射变换矩阵定义为...

2019-06-05 20:31:35 1098 1

原创 Selective Search与Graph-Based Segmentation python实现(一)

  在用深度学习做完肿瘤分割后,因为需要对比实验,所以当时(2019-4-13)在传统方法里找到过Felzen的Graph-Based Segmentation,而且那个时候还混淆了Graph-Cut分割和Graph-Based分割,因为看名字以为Graph-Based segmentation是一个大的类别,其实并不是。  当时虽然也学习了关于这个分割算法的知识,但是流于形式,一下就忘了,仅用...

2019-05-28 15:42:16 869 3

原创 python matplotlib需要注意的坑

仅是临时记录一下,避免忘记当plt有subplot时,注意数据格式要按要求,要么是0-1的浮点数,要么是0-255的整数,若sbuplot有两幅图时,一副是0-255符合规范的整数,另一幅是0.0-255.0不符合规范的浮点数,则不合符规范的图片不能正确显示。此外,plt的imshow能正确处理范围外的图片,例如若范围超出了255,那么plt内部能够进行转化并显示出转换后正确范围的图片。...

2019-05-27 15:39:17 1948

原创 unity 物体围绕自身中心旋转而非轴心

unity完全新手,为了完成任务而学。博客仅是记录,若有错误望指出。目前的情况是:需要对医学图像分割后进行三维重建,先直接由ground-truth作为测试。ground-truth为.nii文件,在matlab中转化为.obj文件后导入unity。需要用鼠标去拖动器官进行旋转时发现了问题,即器官会绕着一个很奇怪的点转(奇怪的点不在该器官上,经过后期检查,该点为原点)。进一步检查,发现器官...

2019-05-15 15:41:19 13653 2

原创 Ubuntu 启动 tensorboard 报错 locale.Error: unsupported locale setting

网上的一些办法试了并不能解决问题,最后是论坛里找到解决办法的。即,我是用macos的terminal终端ssh连接,其会有自动编码的默认选项,需要去掉勾选论坛上找到的可行方案:去掉勾选后在服务器重新运行tensorboard的命令,成功启动。...

2019-05-13 15:22:04 308

原创 人工智能,人工神经网络,机器学习,深度学习,卷积神经网络 时间与逻辑关系

这算是解开自己的疑惑,因为网上说法不一。自己去总结了一下,回过头来看其实别人说的也没错。因为这些概念在时间起源上的顺序不一定就是它们演化后的逻辑关系。。因此为了说明白,将从时间上和逻辑关系上分别说明。(注:自己仅是花了1一个小时不到,在维基百科上进行的归纳,如有不对,请指出。)首先是人工智能的概念,在古代的故事和书籍里就已出现在1943年,人工神经网络的概念被提出,ANN是一种框架,...

2019-05-06 16:40:42 4765 2

原创 keras中输出的loss不是自己定义的

随手小记:在跑网络的时候,自定义的loss为metric的相反数,都是dice_coef。但出现的loss并非是-dice_coef。之前用最简单的unet跑是对的,换成resnet-unet后就不对了。问了学长,自己开始也有怀疑,是kernel_regularizer=tf.keras.regularizers.l2(0.01)对loss造成了影响。经过测试,验证了猜想。正则化的项会与在最...

2019-05-02 10:14:14 1250 2

原创 规范化(normalize)到底是什么,以及哪些算法需要规范化

这是一篇从笔记里摘录的知识点,因为发现在不同的文献或者文章里,对图片数据规范化、归一化的具体方法都不一样,很是困惑。下面这几种,都是广义上的数据规范化Data normalizationData standarizationData streching总体上来说,standarization与streching都是规范化的选择,只不过他们作用到数据上导致的结果有些许不同,所以有了更为细致...

2019-04-30 10:44:50 7232

原创 FCN 中metric的深入理解与对应代码

首先来看一下原始论文的描述:一开始我对n_ji和n_ij的理解挺绕的。后来理清楚了之后发现很简单:∑inii\sum_{i}n_{ii}∑i​nii​ 即class i 被正确分成了class i。 True Positive∑jnij=ti\sum_{j}n_{ij}=t_i∑j​nij​=ti​ 即class i 被正确分成了class j,然后对class j求和。这就是ground...

2019-04-06 11:12:56 802 1

原创 神经网络 高维空间的理解

首先,先看一下在分割问题中,最常见的one-hot编码直观上是如何进行的,以及是怎样进行preds的下图(图一),是常见的ground-truth分割图,一共有两个类别(背景可以作为0,不单独作为一个类别)如果想进行cross-entropy计算损失函数等,就需要对图一的label进行one-hot编码,直观上会变成下图所示(图二)然后,我们的图片经过神经网络,训练好之后,输出的预测值就...

2019-04-04 20:07:56 3898

原创 医学图像分割 基于深度学习的肝脏肿瘤分割 实战(二)

在医学图像分割 基于深度学习的肝脏肿瘤分割 实战(一)中

2019-04-02 13:46:19 24901 28

原创 医学图像预处理(五) 器官与病灶的直方图

事情起因是:用模型训练分割肝脏,效果还不错。但是训练分割肝脏肿瘤时,dice系数很低。由于已经经过ROI处理,和图像预处理过程,所以只可能是数据层面出现了问题。经过查看,发现很多ct图是即使用肉眼也无法分辨出肿瘤的。论文中给出的那种图片,肿瘤与肝脏对比度很高,但这种情况只是数据集中的少数。为了验证自己的想法,在LITS2017的数据集上,做出了130个病人对应的肝脏与肿瘤的hu直方图,发现果然如...

2019-03-30 09:56:22 7245 4

原创 python h5文件的读写

这篇文章是一个工具类,用来辅助医学图像分割实战 unet实现(二) 4、数据存储 这一小节的内容。文件: HDF5DatasetGenerator.py# -*- coding: utf-8 -*-import h5pyimport osimport numpy as npclass HDF5DatasetGenerator: def __init__(self, ...

2019-03-24 22:18:47 8131 6

原创 医学图像分割 基于深度学习的肝脏肿瘤分割 实战(一)

在之前的一篇博客里:医学图像分割 unet实现(一),是学习并复现别人的实验。这篇将记录下自己毕设第一阶段的实验。毕设题目为:基于深度学习的肝脏肿瘤分割。经过几番调整,最终确定:第一阶段分割出腹部图像中的肝脏,作为第二阶段的ROI(region of interest),第二阶段利用ROI对腹部图像进行裁剪,裁剪后的非ROI区域变成黑色,作为该阶段输入,分割出肝脏中的肿瘤。第三阶段用随机场的后处...

2019-03-24 22:14:55 55072 260

原创 激活函数与对应的损失函数选择(binary与multi-class如何选择损失函数)

之前一段时间,对激活函数和损失函数一直是懵懂的状态,只知道最后一层常用的激活函数是sigmoid或者softmax,而损失函数一般用的是cross-entropy或者dice loss(我看的都是分割方向的)。但是有几个点一直弄不清为什么:1、为什么有时候二值分割问题还进行了one-hot编码?2、sigmoid和softmax是可以任意切换的吗?下面是我理解的东西,但不一定正确,仅供参考。...

2019-03-24 13:09:43 2546 5

原创 根据mask绘制contour ,bounding box。批量展示图片 等工具函数

主要解决两个问题:1、如何用给定的mask找到最小包围矩形2、如何用给定的矩形在原图上绘制bounding box(利用matplotlib)只有一个类的情况import numpy as npimport matplotlib.patches as patchesimport matplotlib.pyplot as plt"""masks shape: (batch_size...

2019-03-14 21:07:02 5681 1

原创 关于python 高维数组transpose的实现原理以及pytorch view等的思考

很多时候需要给高维数组变形,以达到需要的格式,但很多时候,可能变形后的结果并不是你所预想的那样,我是在看一段pytorch的代码时引发的思考:prediction = prediction.view(batch_size, bbox_attrs*num_anchors, grid_size*grid_size)prediction = prediction.transpose(1,2).con...

2019-03-14 16:33:08 3827

原创 tensorflow "ValueError: None values not supported."

在学习的过程中遇到了这个问题,在github上看到别人的回答有了灵感原先的代码:"""即需要计算参数的移动平均"""def inference(input_tensor,avg_class,weights1,biases1,weights2,biases2): layer1 = tf.nn.relu(tf.matmul(input_tensor, avg_class.average(...

2019-03-10 16:49:07 8725 2

原创 医学图像预处理(四)—— 提取包含目标的切片(比如仅提取包含肿瘤或肝脏的切片)

在训练网络时,一般目标区域越有针对性效果越好,因此经常会在训练前对数据进行预处理,提取出包含有目标的那些切片。下面是示例代码(原始数据是3D ct images)简单的方法:def getRangImageDepth(image): """ args: image ndarray of shape (depth, height, weight) """ # 得到轴向上出现过目标(l...

2019-03-07 18:26:12 11892 2

原创 医学图像预处理(三)——windowing(ct对比增强)

若是dicom格式的图片,得先转化为hu值(即ct图像值,若图片本来就是ct,则不需要转换),因为hu值是与设备无关的,不同范围之内的值可以代表不同器官,dicom转化为hu的示例代码如下:def get_pixels_hu(scans): #type(scans[0].pixel_array) #Out[15]: numpy.ndarray #scans[0].pi...

2019-03-07 17:06:25 26773 15

原创 计算机视觉,深度学习, tensorflow 知识杂记,经验教训(持续更新)

以前随手的记录本子上的内容,在这篇文章里做一个汇总,方便以后查看。2019-1-22 ~ 2019-1-241、resnet每经过一个降采样过程,都会使它的channel数目翻倍,这样可以避免因为降采样带来的信息损失。2、vggnet带来的启发:2.1、网络更深;2.2、多使用33的卷积核:2个33的卷积核可以看做一层55的卷积核(同等的receptive field),同时参数更少。3...

2019-03-05 21:11:01 590

原创 医学图像预处理(二)——重采样(resampling)

之所以需要重采样是由于不同的病人体型不同,但最后数字成像的分辨率是一样的,这就导致了一定程度的失真变形。但医学图像例如dcm或nii格式,都会带有SliceThickness,PixelSpacing类似的属性,可以利用这些属性去尽量还原真实物体。例如:现在希望spacing变为(1,1),意思是希望数字成像的图片大小就代表原始物体大小。若spacing=(2,2)则表示原始物体大小是数...

2019-03-05 15:55:38 22974 15

原创 医学图像预处理(一)——读取图片(dcm,nii,PIL,skimage,cv2)

总结一下目前遇到的一些医学图像预处理步骤,但才开始自学两周,所以很多东西或许不对或者不全面,以后争取每两周回顾以前的文章,将内容完善,并提高质量。(2019-3-5)由于篇幅原因,将预处理的步骤分开来,这一篇将总结读取图片的方法。文章目录读取DICOM格式读取普通的图片案例一:skimage读取图片案例二,PIL读取图片读取nii格式读取DICOM格式用到的包:pydicom例如,以公共...

2019-03-05 13:38:46 32745 4

原创 keras pytorch 构建模型对比

使用CIFAR10数据集,用三种框架构建Residual_Network作为例子,比较框架间的异同。文章目录数据集格式pytorch的数据集格式keras的数据格式输入网络的数据格式不同整体流程keras 流程pytorch 流程对比流程构建网络对比网络pytorch 构建Residual-networkkeras 对应的网络构建部分pytorch model summarykeras mode...

2019-03-03 19:37:23 7404

原创 医学图像分割 unet实现(一)

这次实验用来学习unet网络实现图像分割(keras, backend: tensorflow)。数据集DRIVE:为眼部图像,目的是分割出眼部血管。数据集结构:上面分别是训练的原始图片images、first_manual、mask整体流程:1、前期准备:将所有图片写入h5文件,(为了后期训练网络时减少io时间)2、训练网络2.1、获取训练图片和groundtruth图片...

2019-02-27 17:39:35 44891 66

vector,matrix,and tensor derivatives

机器学习里面很多梯度问题都涉及到向量、矩阵的求导,这是斯坦福cs231课程对应的一则课外阅读,个人感觉阅读后收获很大

2018-11-22

cs231n assignment1

斯坦福公开课231n的第一次作业,里面有数据集以及指导操作。

2018-11-16

数学建模案例MATLAB实用程序百例

包括两个pdf,一本书全部是matlab代码示例,另一本书是综合的讲解不同的模型,覆盖面很广。

2018-02-24

Investigating Data Mining in MATLAB

matlab数据挖掘。内容包括:基础概念讲解与matlab使用案例。

2018-01-30

mysql-connector-odbc-5.3.8-winx64.msi

mysql odbc驱动

2017-07-15

空空如也

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

TA关注的人

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