美文网首页
2019-02-03

2019-02-03

作者: 幽并游侠儿_1425 | 来源:发表于2019-02-04 12:08 被阅读10次

    一、标记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发给导师把

    相关文章

      网友评论

          本文标题:2019-02-03

          本文链接:https://www.haomeiwen.com/subject/hatpsqtx.html