CN107689047B - 一种自动裁剪眼底图像的方法、装置及其可读存储介质 - Google Patents

一种自动裁剪眼底图像的方法、装置及其可读存储介质 Download PDF

Info

Publication number
CN107689047B
CN107689047B CN201710700834.7A CN201710700834A CN107689047B CN 107689047 B CN107689047 B CN 107689047B CN 201710700834 A CN201710700834 A CN 201710700834A CN 107689047 B CN107689047 B CN 107689047B
Authority
CN
China
Prior art keywords
image
circle
radius
center
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710700834.7A
Other languages
English (en)
Other versions
CN107689047A (zh
Inventor
吉杰
林建伟
岑令平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shantou University
Original Assignee
Shantou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shantou University filed Critical Shantou University
Priority to CN201710700834.7A priority Critical patent/CN107689047B/zh
Publication of CN107689047A publication Critical patent/CN107689047A/zh
Application granted granted Critical
Publication of CN107689047B publication Critical patent/CN107689047B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/145Square transforms, e.g. Hadamard, Walsh, Haar, Hough, Slant transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation

Abstract

本发明实施例公开了一种自动裁剪眼底图像的方法,使用霍夫变换检测视网膜边界的圆,如果因为图像质量太差霍夫变换无法正确检测到视网膜的边界,则将图像中心点设置为圆心,通过统计图像水平中线像素值分布的方式确定圆的半径,然后在原图像中以该圆心为圆心,略小于该半径值画一个内圆,内圆内的像素值保持不变,内圆外的像素值用一个常量替代,然后切割出包含该内圆的最小矩形。采用本发明,能够处理质量很差的眼底图像、屏蔽视网膜的边缘区域和图像背景,并且能够对眼底图像的质量给出评价数值,本发明不需要经过学习过程,也不需要手工调整参数,能够直接运行,运行速度极快。

Description

一种自动裁剪眼底图像的方法、装置及其可读存储介质
技术领域
本发明涉及图像处理领域,具体涉及一种自动裁剪眼底图像的方法、装置及其可读存储介质。
背景技术
眼底图像是使用眼底照相机对眼球内壁从不同的角度进行拍摄得到的图像,眼底图像是眼科诊断中最重要的依据之一,在诊断糖尿病视网膜病变、青光眼、白内障等常见眼科疾病的过程中起到非常关键的作用,当前针对眼底图像的计算机自动诊断系统发展很快,其中一些系统诊断的准确率已经达到甚至超过人类的专家医生,例如Gwenole Quellec等人开发的眼科病理检查系统(the Messidor System or eye pathology screening),美国Google公司研制的自动诊断糖尿病视网膜病变的系统。
这些计算机自动诊断系统都是基于AI(Artificial Intelligence人工智能)的深度神经网络,眼底图像在进入深度神经网络之前都要先进行图像预处理,预处理的一个重要功能是对输入图像进行裁剪。眼底图像的分辨率很高,例如宽2600高1900像素,而深度神经网络的输入很小,例如最常用的模型AlexNet、VGG、GoogleNet输入像素是224,GoogleInception-V3、Inception-V4、ResNet-V2输入像素是299,即使是针对医疗影像定制的神经网络模型其输入一般也小于512,原因是输入数据大的话计算量太大,并且输入数据大导致参数增多更容易产生过拟合。一些视网膜病变在眼底图像上的表现特征非常细微,例如软性渗出物、出血点等,特别是一些细小出血点即使在原始图像上也只有几个像素,因此在图像像素大小一定的条件下尽可能提高图像有价值区域的分辨率非常重要。
视网膜区域的边缘和图像背景对于诊断眼科疾病没有贡献,反而会干扰深度神经网络的自动特征提取,许多眼底图像的视网膜边界有明显的光晕,边界区域包含非常丰富的图像特征,理论上图像的背景区域应该是完全的黑色RGB(0,0,0),但是实际上背景会有噪声,这些无关特征都会对深度神经网络的自动特征提取产生干扰,因此最好能够屏蔽视网膜的边缘区域和图像背景。
现有的图像裁剪方法是使用一次霍夫变换提取出一个视网膜边界的圆,然后裁剪出包含这个圆的最小外接矩形。这种做法的缺点是如果眼底图像的质量比较差,则无法正确检测出的视网膜区域的边界,其次没有屏蔽和裁剪掉视网膜的边缘区域以及图像背景,此外该方法不能评价输入图像的质量。
发明内容
本发明实施例所要解决的技术问题在于,提供一种自动裁剪眼底图像的方法。能够处理质量很差的眼底图像,能够屏蔽视网膜的边缘区域和图像背景,并且能够给对眼底图像的质量给出一个评价数值。
为了解决上述技术问题,本发明实施例提供了一种自动裁剪眼底图像的方法,包括以下步骤:
使用霍夫变换检测视网膜边界的圆,如果因为图像质量太差霍夫变换无法正确检测到视网膜的边界,则将图像中心点设置为圆心,通过统计图像水平中线像素值分布的方式确定圆的半径,然后在原图像中以该圆心为圆心,小于该半径值画一个内圆,内圆内的像素值保持不变,内圆外的像素值用一个常量替代,然后切割出包含该内圆的最小矩形。
进一步地,还包括以下步骤:
将原始图像转换为灰度图像,从难到易依次使用不同的霍夫变换参数检测灰度图像中是否存在直径约等于原图像最小边长的唯一的圆,如果某次检测到则停止检测,记录下圆心和半径,返回当前的霍夫变换参数所对应的图像质量的评判指标;如果某次霍夫变换检测到多个圆或者霍夫变换参数已经降低到预先设置的最低值仍然检测不到则退出。
更进一步地,还包括以下步骤:
霍夫变换的参数设置为最小半径是原图像最小边长的0.35 倍,最大半径是原图像最小边的0.65倍,最初设置参数Canny中的高阈值为150,累加器的阀值设置为80,对应图像质量分值为1,霍夫变换的最低条件是Canny中的高阈值降低到50,累加器的阀值降低到40,对应图像质量分值是0.7;如果霍夫变换检测不到视网膜边界,则将图像质量分值设置为0.4。
更进一步地,还包括以下步骤:
如果霍夫变换检测不到视网膜的边界,则将图像的中心作为圆心,计算灰度图像水平中线的像素平均值,然后统计灰度图像的水平中线中像素值大于该均值1/10的像素数,将这个数目除以2得到圆的半径。
更进一步地,所述内圆的半径为检测到圆的半径值的0.88-0.96倍。
实施本发明实施例,具有如下有益效果:本发明能够处理质量很差的眼底图像,能够屏蔽视网膜的边缘区域和图像背景,并且能够给对眼底图像的质量给出一个评价数值。本方法不需要经过学习过程,也不需要手工调整参数,能够直接运行,运行速度极快。
附图说明
图1是本发明方法的算法流程图;
图2是眼底图像;
图3是顶部和底部被切割掉一部分的眼底图像;
图4是质量比较差的眼底图像;
图5是自动裁剪后的眼底图像。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
本发明实施例的一种自动裁剪眼底图像的方法,如图1所示。
由于眼底图像的分辨率高,例如宽2600高1900像素,眼底图像的特征是图像中央是圆形的视网膜区域,该圆有可能被切割,圆形边缘向外凸起有一个很小的矩形标识相机拍摄的角度,背景是黑色,视网膜区域内有高亮的视盘,视盘内有视杯,此外还有黄斑,血管等结构,如图2所示。一些眼底图像的视网膜区域会被切割掉一部分,例如图3所示。
本发明首先从难到易使用霍夫变换检测视网膜边界的圆,并根据所用霍夫变换参数生成图像质量参数,如果图像质量很差使用霍夫变换检测不到,则根据水平中线的像素值分布推断视网膜的圆,并且返回图像质量的评价参数,然后屏蔽圆的边缘和外部区域,最后裁剪出包含视网膜区域的最小矩形。
首先将原始图像转换为灰度图像,从难到易依次使用不同的霍夫变换参数检测灰度图像中是否存在直径约等于原图像最小边长的唯一的圆,如果某次检测到则停止检测,记录下圆心和半径,返回当前的霍夫变换参数所对应的图像质量的评判指标。如果某次霍夫变换检测到多个圆或者霍夫变换参数已经降低到预先设置的最低值仍然检测不到圆则退出。
使用Python+NumPy+OpenCV进行图像处理编程,将输入图像转换为灰度图像的代码如下: img_gray = cv2.cvtColor(img_original, cv2.COLOR_BGR2GRAY)。
霍夫变换的参数设置最小半径是原始图像最小边长的0.35 倍,最大半径是原始图像最小边的0.65倍,霍夫变换初始参数设置如下:Canny中的高阈值设置为150,累加器的阀值设置为80,对应图像质量分值1,霍夫变换最低条件设置如下:Canny中的高阈值是50,累加器的阀值是到40,对应图像质量分值0.7。如果霍夫变换检测不到视网膜边界,则图像质量分值设置为0.4。
在OpenCV中图像用NumPy多维数组表示,图像的高是img.shape[0],图像的宽是img.shape[1],图像的最短边长是min_width_height=min(img.shape[0],img.shape[1]),设置检测圆的最小半径MinRadius=int(min_width_height*0.35),最大半径MaxRadius =int(min_width_height*0.65),使用霍夫变换检测圆的代码是: circles =cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1.2, 450, param1=150, param2=80,minRadius=MinRadius, maxRadius=MaxRadius)
如果检测到了唯一圆则circles is not None==Ture 并且 len(circles)==1。
有些眼底图像质量非常差,视网膜的边界非常模糊,如图4所示。对于这类图像会出现霍夫变换检测到多个圆,或者当霍夫变换参数降低到预先设置的最低值仍然检测不到圆,因此必须用其他方法确定视网膜区域的范围。
假设视网膜位于图像的中央(绝大多数偏差极小),假设视网膜区域在水平方向上没有被裁减(该假设基本百分之百成立),根据这些假设,图像的中心就是视网膜的圆心,由于视网膜区域像素值比较高,背景的像素值很低,还假设图像水平中线中像素值大于该中线均值1/10的区域都是视网膜的区域(一般情况下该假设和实际偏差不大),下面依据这些假设确定视网膜区域的圆心和半径。
由于Python语言本身和C/C++相比性能比较差,但是Python使用NumPy、OpenCV是执行C/C++编译优化的代码,性能很高,所以不使用Python语句去循环每一个像素,而是使用OpenCV的图像变换和NumPy的矩阵运算。
图像中心的坐标是:img.shape[0] / 2,img.shape[1] / 2,图像的水平中线在OpenCV中用NumPy数组表示是img[int(img.shape[0] / 2), :, :],水平中线的像素求和是img[int(img.shape[0] / 2), :, :].sum(1),由此推算视网膜区域的半径是:int((x >x.mean() / 10).sum() / 2)。
视网膜区域的边缘和背景对于诊断眼科疾病都没有用处,甚至会对深度神经网络自动特征提取带来干扰,许多眼底图像视网膜的边缘有明显的光晕,边缘区域包含非常丰富的图像特征,此外理论上图像的背景区域应该是完全的黑色RGB(0,0,0),但是实际上背景会有噪声,这些都会对深度神经网络自动提取特征产生干扰,因此需要屏蔽视网膜的边缘区域和图像背景。
检测到视网膜的圆心和半径后,在原始图像中以该圆心为圆心,略小于该半径值画一个内圆,内圆的半径为半径值的0.88-0.96倍(通常选0.92),内圆内的像素值保持不变,内圆外的像素值用一个常量替代,然后切割出包含该内圆的最小矩形。
下面用代码描述具体实现方法:首先创建一个和原图像大小一样,像素值都是0的空图像,代码是img1 =np.zeros((original_height, original_width, 3)),在空图像上画一个半径为检测到圆的半径值的0.88-0.96倍(通常选0.92)的圆,圈向内用RGB(1,1,1)像素值填充,代码是cv2.circle(img1,(x,y),int(r*0.92),(1,1,1),-(r),1),然后将原图像和处理后的图像相乘,实现原始图像内圆内的像素值不变,内圆外的像素值为0,代码是img_new=img_original*img1
从原始图像中裁剪包含内圆的最小外接矩形,切割出包含该内圆的最小矩形,可以适当保留边界空白,空白像素为原始图像尺寸的0.2-1%。
计算需要保留边界空白的像素值
padding_ratio=0.01
img_padding = min(original_height,original_width) * padding_ratio
由于原始图像本身可能已经裁剪掉了一部分视网膜区域,需要考虑数据越界,所以需要和图像的原始尺寸相比较。
计算剪切图像的位置坐标:
image_left =int( max(0, x - r*0.92 - img_padding) );
image_right =int( min(x + r*0.92 + img_padding, original_width - 1 ))
image_bottom =int( max(0, y - r*0.92 - img_padding) );
image_top = int( min(y + r*0.92 + img_padding, original_height - 1))
实现剪切图像:
img_output = img_new[image_bottom:image_top, image_left: image_right
保存文件cv2.imwrite('/tmp/out1.png', img_output)
图5是图2的图像经过自动裁剪后的结果。
本发明具有如下优点:
1:本发明能够给图像一个质量评价指标
首先将原始图像转换为灰度图像,从难到易依次使用不同的霍夫变换参数检测灰度图像中是否存在直径约等于原图像最小边长的唯一的圆,如果某次检测到则停止检测,返回当前的霍夫变换参数所对应的图像质量的评判指标。
2:能够处理质量很差的眼底图像
技术手段:如果霍夫变换检测不到视网膜的边界,则将图像的中心作为圆心,计算灰度图像水平中线的像素平均值,然后统计灰度图像的水平中线中像素值大于该均值1/10的像素数,将这个数目除以2得到圆的半径。
3:屏蔽视网膜边缘区域和图像背景,减少了无关特征对于深度神经网络自动特征提取的干扰
技术手段:然后在原图像中以该圆心为圆心,略小于该半径值画一个内圆,内圆内的像素值保持不变,内圆外的像素值用一个常量替代,然后切割出包含该内圆的最小矩形。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (4)

1.一种自动裁剪眼底图像的方法,其特征在于,包括以下步骤:
将原始图像转换为灰度图像,从难到易依次使用不同的霍夫变换参数检测灰度图像中是否存在直径约等于原图像最小边长的唯一的圆,如果某次检测到则停止检测,记录下圆心和半径,返回当前的霍夫变换参数所对应的图像质量的评判指标;如果某次霍夫变换检测到多个圆或者霍夫变换参数已经降低到预先设置的最低值仍然检测不到则使用几何方法和图像像素分布来估计视网膜区域;使用霍夫变换检测视网膜边界的圆,如果因为图像质量太差霍夫变换无法正确检测到视网膜的边界,则将图像中心点设置为圆心,通过统计图像水平中线像素值分布的方式确定圆的半径,然后在原图像中以该圆心为圆心,小于该半径值画一个内圆,内圆内的像素值保持不变,内圆外的像素值用一个常量替代,然后切割出包含该内圆的最小矩形。
2.根据权利要求1所述的自动裁剪眼底图像的方法,其特征在于,还包括以下步骤:
霍夫变换的参数设置为最小半径是原图像最小边长的0.35 倍,最大半径是原图像最小边的0.65倍,最初设置参数Canny中的高阈值为150,累加器的阀值设置为80,对应图像质量分值为1,霍夫变换的最低条件是Canny中的高阈值降低到50,累加器的阀值降低到40,对应图像质量分值是0.7;如果霍夫变换检测不到视网膜边界,则将图像质量分值设置为0.4。
3.根据权利要求2所述的自动裁剪眼底图像的方法,其特征在于,还包括以下步骤:
如果霍夫变换检测不到视网膜的边界,则将图像的中心作为圆心,计算灰度图像水平中线的像素平均值,然后统计灰度图像的水平中线中像素值大于该均值1/10的像素数,将这个数目除以2得到圆的半径。
4.根据权利要求3所述的自动裁剪眼底图像的方法,其特征在于,所述内圆的半径为检测到圆的半径值的0.88-0.96倍。
CN201710700834.7A 2017-08-16 2017-08-16 一种自动裁剪眼底图像的方法、装置及其可读存储介质 Active CN107689047B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710700834.7A CN107689047B (zh) 2017-08-16 2017-08-16 一种自动裁剪眼底图像的方法、装置及其可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710700834.7A CN107689047B (zh) 2017-08-16 2017-08-16 一种自动裁剪眼底图像的方法、装置及其可读存储介质

Publications (2)

Publication Number Publication Date
CN107689047A CN107689047A (zh) 2018-02-13
CN107689047B true CN107689047B (zh) 2021-04-02

Family

ID=61153369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710700834.7A Active CN107689047B (zh) 2017-08-16 2017-08-16 一种自动裁剪眼底图像的方法、装置及其可读存储介质

Country Status (1)

Country Link
CN (1) CN107689047B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108876775B (zh) * 2018-06-12 2022-10-18 湖南大学 糖尿病性视网膜病变的快速检测方法
CN111523602A (zh) * 2020-04-27 2020-08-11 珠海上工医信科技有限公司 眼底图像预测方法及装置、存储介质及电子装置
CN115423818A (zh) * 2021-10-11 2022-12-02 深圳硅基智能科技有限公司 基于紧框标的识别方法、测量方法及识别装置
CN114474429B (zh) * 2022-02-17 2023-11-10 沈阳和研科技股份有限公司 一种划片机的基于图像的切割补偿方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438265B1 (en) * 1998-05-28 2002-08-20 International Business Machines Corp. Method of binarization in an optical character recognition system
CN105405134A (zh) * 2015-11-05 2016-03-16 山东科技大学 一种相机检校标志中心坐标提取方法
CN105678286A (zh) * 2016-02-29 2016-06-15 徐鹤菲 一种瞳孔定位方法及设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8223143B2 (en) * 2006-10-27 2012-07-17 Carl Zeiss Meditec, Inc. User interface for efficiently displaying relevant OCT imaging data
US8737703B2 (en) * 2008-01-16 2014-05-27 The Charles Stark Draper Laboratory, Inc. Systems and methods for detecting retinal abnormalities

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438265B1 (en) * 1998-05-28 2002-08-20 International Business Machines Corp. Method of binarization in an optical character recognition system
CN105405134A (zh) * 2015-11-05 2016-03-16 山东科技大学 一种相机检校标志中心坐标提取方法
CN105678286A (zh) * 2016-02-29 2016-06-15 徐鹤菲 一种瞳孔定位方法及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Detection of the Temporal Arcade in Fundus Images of the Retina Using the Hough Transform;Faraz Oloumi et al.;《31st Annual International Conference of the IEEE EMBS》;20091231;第3585-3588页 *
眼底图像分割方法的研究及其应用;姚畅;《中国博士学位论文全文数据库》;20111115;第二章 *

Also Published As

Publication number Publication date
CN107689047A (zh) 2018-02-13

Similar Documents

Publication Publication Date Title
CN107689047B (zh) 一种自动裁剪眼底图像的方法、装置及其可读存储介质
Mookiah et al. Computer-aided diagnosis of diabetic retinopathy: A review
Gagnon et al. Procedure to detect anatomical structures in optical fundus images
Xiong et al. An approach to locate optic disc in retinal images with pathological changes
AU2021202217B2 (en) Methods and systems for ocular imaging, diagnosis and prognosis
Chrástek et al. Optic disc segmentation in retinal images
Abdullah et al. A new and effective method for human retina optic disc segmentation with fuzzy clustering method based on active contour model
CN109215039B (zh) 一种基于神经网络的眼底图片的处理方法
EP3719807A1 (en) Predicting a pathological condition from a medical image
CN110874597B (zh) 一种眼底图像血管特征提取方法、设备、系统和存储介质
Kuivalainen Retinal image analysis using machine vision
Lu et al. Automatic macula detection from retinal images by a line operator
JP2023503781A (ja) 眼底画像認識方法及び装置並びに設備
Toptaş et al. Detection of optic disc localization from retinal fundus image using optimized color space
CN116030042B (zh) 一种针对医生目诊的诊断装置、方法、设备及存储介质
Gou et al. A novel retinal vessel extraction method based on dynamic scales allocation
Jana et al. A semi-supervised approach for automatic detection and segmentation of optic disc from retinal fundus image
Liu et al. Retinal vessel segmentation using densely connected convolution neural network with colorful fundus images
Azar et al. Classification and detection of diabetic retinopathy
Kulkarni et al. Eye gaze–based optic disc detection system
CN112767375B (zh) 基于计算机视觉特征的oct图像分类方法及系统、设备
Nohel et al. Detection of optic disc in retinal fundus image
Ali et al. Automatic Detection of Retinal Optic Disc using Vessel Inpainting
Zhang et al. A new optic disc detection method in retinal images based on concentric circular mask
CN116965844B (zh) 站立位ct扫描过程中主动保护患者安全的方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant