2019-02-03

2019-02-04  本文已影响10人  幽并游侠儿_1425

一、标记groundtruth

A、步骤:

1、在imageJ里,点击import,再点image_sequence,然后导入图片。注意num选择图片数目。

2、在imageJ里,点击save_as,选择rawdata,进行保存。

3、打开ITKSNAP,file->open image->browse,图的格式选择file_format。

4、点击next后,在image dimension里面选择:这里z应该是1,因为是二维。x,y为像素坐标。再点next,next。

5、点击图片右上角的A来放大需要的图到full window

6、在左边的工具栏里选择画笔刷(第四个),再选择半圆形的adaptive bursh,再调整brush size。brush size需要和细胞的size对应。adaptive algorithm那里的参数也可以调。

其实也可以用polygon mode圈边框,这也是一个好办法。

7、然后作者展示了preprocess的图,这些图更好标记一点。

8、在左边工具栏的segmentation label里可以选择不同颜色的label。在上方菜单栏的segmentation里选择label editor可以增加label。

9、分割好之后,选择workspace里的save wordkspace as,然后点save,再在弹出来的框里,选择保存的格式为nrrd格式。

在第9步的时候注意:必须要做出改变,才会跳到上面描述的框和步骤。

B、遇到的问题:

1、在imageJ中显示保存的nrrd文件不是彩色的。

解决办法:我用两种不同颜色标记,然后保存成nrrd格式,在imageJ里打开,标记的颜色是灰色的,但是灰色的深浅不同。

回看了学长的论文,也是在原图上面进行标记的,然后在原图上标记好截图的。(那就没问题了。)

2、如何保存再打开画过的图接着画?

保存成下面的格式,然后就可以用main_image打开。

我尝试了一下,发现打开之后没有原图了哎。。。。。

正确步骤如下:

画好之后还是保存成上图的格式。

open main image里打开原图。

再在segemetation, open segmentaion里打开新的图。就可以接着上一次的继续画啦。画好再保存成上面的格式。

3、怎么只保存图片?

File, save image, main image

3、对比度怎么调节?

tools->image contrast

2、怎么保存彩色的图啊?即使在原图上保存也好啊!

回去看ITKsnap的主页寻求帮助!

好像PPT里用不到这个,我感觉。

3、注意:对照groundtruth去画,特别亮的区域不要画上!

二、进行object层面上的准确度计算

1、虽然自己有思路,但是先看一下两篇参考文献里面怎么说。

看了一下参考文献,我真心觉得,画图只是为了好看,我能自己写代码把object层面的准确度给算出来啊。(虽然是用matlab,但是试试看咯)

还是先把图画好吧,然后再开始写喜欢的代码,跳回第一部分。

2、放弃第一部分,直接开始第二部分的计算。

思路是用matlab,同时参考之前下载的合成图片的代码。

此外,不用GAN生成图片,就说不过去了吧。

3、先找之前的代码(好像被我删掉了,总归能找到源网址的啦。)

好像是这个主页,再仔细找找吧:https://cs.adelaide.edu.au/~zhi/isbi15_challenge/dataset.html

好的好的终于找到啦!

https://cs.adelaide.edu.au/~carneiro/isbi14_challenge/ds_synthetic.html

(发现2015ISIB里有关于cell tracking的chanllenge,有空去看)

然后再找里面关于闭合区间的代码。

在除了main之外最大的子函数的“Extract free-lying cells from Scene Segmentation”这个部分里去找。

好像是这个函数“regionprops”,但是这里用的是bounding box是长方形的,肯定不对。

所以还是得靠自己去写代码。

那句话是这样的:

sceneStats = regionprops(sceneMask, 'PixelIdxList', 'BoundingBox', 'Image', 'FilledImage');

4、个人思路:

创建cell找物体,这个cell里包含很多cell,每个cell里包含物体的横纵坐标。

同时创建一个公共的cell,存储已经遍历过的物体的横纵坐标。

自己写真的写不出来的。。。

https://blog.csdn.net/langb2014/article/details/49886787 参考这里对regionprops的理解,我用了这样一段代码:

ceneStats = regionprops(gt, 'PixelIdxList', 'ConvexImage', 'Image', 'FilledImage');

顺利提取出各个物体。

进而进行比较。好像真的不对。

谷歌的关键词不对,应该谷歌:二值化图像的连通域!!!

然后中文搜索出来是依旧是用regionprop肯定不对的。

我尝试用英文搜索这个关键词:“connected region matlab”

https://www.mathworks.com/help/images/ref/bwconncomp.html

object_gt = bwconncomp(gt)

object_pr = bwconncomp(pr)

这样就顺利解决问题了。

5、一边做PPT,一边计算object层面的准确度。

6、F1的计算

(好饿啊 好想吃东西)(6点之前晚饭就到了 (*/ω\*),先吃一点饼干)

好的,休息结束继续计算。

参考1.19的日记,有如下结论:

n_tp:groundtruth为正,预测也为正

n_tn:groundtruth为负,预测也为负

n_fp:groundtruth为负,但是预测为正

n_fn:groundtruth为正,但是预测为负

基于segmetation去找annotation,重叠超过百分之50算tp,重叠小于百分之50算fp,

基于annotation去找segmetation,重叠小于百分之50算fn,

MATLAB里object内的元素调用是用.的

matlab定义函数:

function[输出形参表: output1, ...,outptn]= 函数名(输入形参表: input1, ... , inputn)

注释说明部分、

函数体代码部分

end

找两个数组中相同元素的数目的函数:https://zhidao.baidu.com/question/457450549.html

注意:for 循环应该是这样的,如果有结果为1,跳出;如果有结果为0,继续循环,如果所有的结果都是0,fp+1。我觉得应该是这样的。

注意:continue是直接跳过余下的for循环部分,进入下一个for循环,。怪不得出bugl了。。。。

第一次计算的结果,f1是95.97%

换一幅图计算试试看:94.12%

7、Dice index的计算

组合键Ctrl+Shift+= 设置上标

下标 ctrl+=

出错的原因:此 compare  cell 非 彼compaer cell

8、Hausdorff Distance

(1)参考网站:

https://www.jianshu.com/p/24ec42a61ace

真的写的蛮好的,这个网站。和论文内容配套。

Hausdorff距离可以理解成一个点集中的点到另一个点集的最短距离的最大值。

真的有个图好理解多了,秒懂!

(2)Matlab取整函数有: fix, floor, ceil, round四种,具体使用方法如下:

 fix. 朝零方向取整

 floor. 朝负无穷方向取整(不超过x 的最大整数.(高斯取整))

 ceil. 朝正无穷方向取整(大于x 的最小整数)

 round. 四舍五入到最近的整数

三、扩充Unet部分的介绍

H distance的程序还没跑完,我先做第三部分吧。

参考网站:https://www.jiqizhixin.com/articles/2018-01-21-6

然后我照着这个图画一幅自己的图吧!

这篇文章对Unet结构的描写真好啊,用上!

真好啊真好啊!

终于画完了图,不知道老板会不会喜欢这个图。

剩下来就是跟GAN相关的内容了。

四、介绍GAN

首先要去找的肯定是李宏毅的PPT啊!

1、哦不,第一件事是看学长的论文,说明为什么要用GAN。

2、第二件事情是介绍GAN。

这个图摘自:http://slazebni.cs.illinois.edu/spring17/lec11_gan.pdf

真棒的图!

然后其他的参考网站有:https://zhuanlan.zhihu.com/p/24767059

https://www.jiqizhixin.com/articles/2017-08-21-14

https://www.msra.cn/zh-cn/news/features/gan-20170511

其实自己能理解,但是需要用英语表达出来而且表达好。

目标优化函数如下:

MAX是为了图片看起来更像真实图片,MIN是为了让discriminator辨别不出来是假图片还是真图片。

这是cyclegan的loss function公式,放到手机上看:

我真的没太看懂GAN的loss function啊。

看懂了看懂了。

最后检查一遍PPT就睡觉。

假装自己是导师在检查自己

最后把PPT发给导师把

上一篇下一篇

猜你喜欢

热点阅读