光学仪器  2026, Vol. 48 Issue (1): 53-63   PDF    
漂移算法在视敏度检查中的应用
刘建廷1, 项华中1, 马乐飞1, 程慧1, 王冰城2     
1. 上海理工大学 健康科学与工程学院,上海 200093;
2. 上海理工大学 光电信息与计算机工程学院,上海 200093
摘要: 为了实现对受测者视敏度的精确测量,建立了一种结合概率分布与均值漂移算法的视敏度检测系统。该系统利用均值漂移算法沿数据密度递增方向探索聚类中心的特性,结合概率分布理论,精确计算不同视敏度水平对应的视敏度概率。通过反复迭代,不断更新探索点并使其向概率密度较高的区域移动,直至找到最符合受测者实际视敏度水平的点。在系统实现过程中,算法可根据受测者响应实时调整视标的尺寸,通过持续地将当前观测值向其数学期望或均值方向调整,经过多轮迭代使概率分布逐渐贴近实际视敏度分布。实验结果表明,在3个实验场景中,即使在错误发生频率最高的情况下,该算法的平均误差率也仅为0.0083,基本满足视敏度测量的稳定可靠、鲁棒性高、抗干扰能力强等要求。
关键词: 概率分布    数学期望    均值漂移算法    视敏度    
Research on vision testing model based on mean shift algorithm
LIU Jianting1, XIANG Huazhong1, MA Lefei1, CHENG Hui1, WANG Bingcheng2     
1. School of Health Science and Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China;
2. School of Optical-Electrical Information and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China
Abstract: To achieve precise measurement of visual acuity of testers, a visual acuity detection system that combines probability distribution and mean shift algorithm has been developed. This system integrates the probability distribution with the mean shift algorithm, utilizing the characteristic of the mean shift algorithm, which is to explore the cluster centers along the direction of increasing data density, in conjunction with probability distribution theory, to accurately calculate the visual acuity probability corresponding to different levels of visual acuity. Through repeated iterations, the algorithm continuously updates the exploration points, moving them towards areas of higher probability density until finding the point that most closely matches the actual level of the subject's visual acuity. In the implementation process, the algorithm adjusts the size of the visual markers in real-time based on the responses of the subjects. By continuously adjusting the observations towards their mathematical expectations or means, and through multiple rounds of iterations, the probability distribution gradually approximates the actual distribution of visual acuity. Experimental results show that, across three experimental scenarios, even in the case with the highest frequency of errors, the average error rate of the algorithm is only 0.0083. This essentially meets the requirements for stable and reliable visual acuity measurement, high robustness, and strong anti-interference capability.
Key words: probability distribution    mathematical expectation    mean shift algorithm    visual acuity    

随着信息科学技术和人工智能领域的迅速进步,眼视光学行业正在向智能化和数字化转型。根据世界卫生组织2020年发布的世界视觉报告[1],2015年,19岁以下的近视患者数量达到3.12亿;到2020年,各个年龄段的近视患者总数增至26亿。尽管灯箱视力表和投影视力表作为临床上广泛采用的工具,灯箱视力表尤其常用,但这些传统视敏度检测方法的限制逐渐显现。与此相对,智能视敏度检测技术代表了一种新兴趋势,通过支持无需人工辅助的自我测试,显著提高了测试的自主性。这种技术不仅展现出巨大潜力,还促进了检测过程的高效性和准确性,开辟了眼视光学领域的新可能。李太东等[2]定量研究了灯箱视力表和电脑视力表分别用于临床中所得视敏度检测结果的差异,证明两者差距并不大,且电子视力表有效避免了印刷视力表长时间后色彩褪化的问题。

目前,两种计算机辅助视敏度检测程序已被广泛认可:弗莱堡视敏度测试(the Freiburg visual acuity test, FrACT) [3],由德国弗莱堡大学眼科的Michael Bach教授研发;斯坦福视敏度测试(the stanford acuity test, StACT) [4],由美国斯坦福大学的Chris Piech教授研发。与传统的灯箱视力表相比,这些计算机辅助测试通过自动调整视标来适配被测试者的视力,减少了检测的重复性。这两项测试(与传统的灯箱视力表相比)不仅能够自动调整测试参数以适应被测试者的视力水平,而且减少了环境光线和距离的干扰,更适合评估变化视力和用于长距离视力测试。为进一步优化算法,本文提出将漂移算法与视敏度检测相结合,更精确地处理视力检测中数据不一致和环境变化等问题。

Cheng[5]对漂移算法进行了优化,通过引入核函数,使得样本点与目标点之间的距离产生不同的均值偏移向量贡献。此外,加入权重系数区分了各样本点的影响力,扩展了Mean Shift算法的适用性。Comaniciu等[6-7]将此算法有效应用于特征空间分析,在图像平滑和分割领域获得了显著成效。他们验证了Mean Shift算法在特定条件下能收敛至概率密度函数的稳定点,从而有效探测密度函数中的模态。Collins等[8]还将非刚体的跟踪问题近似为一个Mean Shift最优化问题,使得跟踪可以实时的进行。尽管Mean Shift算法在光学工程领域[9-11]和图像处理领域[12-14]应用广泛,但在视光学领域的探索仍较少。

在计算机辅助视敏度检测程序方面,当FrACT和StACT出现误差较大的情况时,它们的实际测量结果可能会失真。针对这一问题,研究结合了概率分布更新和均值漂移算法,开发了一种高精度的视敏度检测方法。该方法能够根据概率动态调整视标尺寸,减少猜测误差。研究采用的均值漂移算法利用非参数窗口技术,通过迭代更新样本点的位置,使其向局部概率密度函数的最大值(即峰值)移动,从而实现数据点的聚类或特征空间的模式识别。通过迭代过程精确地定位到概率密度函数的峰值,确保算法精确定位到受测者最可能的视敏度水平。

1 理论基础 1.1 概率分布更新算法

在视敏度评估过程中,测试者真实视敏度值为X,其概率分布函数为$ P(x) $,视敏度检测范围设定为$ 3.9\sim 5.1$,以$0.1$为单位递增。$ X $的可能取值被分为以下几个区间:$ X{<}3.9,X=3.9,X=4.0,\cdots, X=5.0,X=5.1,X \gt 5.1 $。为了将这种分布简化为离散的样本空间,对端点进行调整,将$ X{<}3.9 $$ X \gt 5.1 $的情况分别定义为$ X=3.8 $$ X=5.2 $,从而将样本空间细分为15个明确的级别。这种方法旨在确保视敏度评估的概率分布能够更加精确地反映在一个连续但是离散化处理的范围内。根据条件概率分布公式有

$ P\left( {\left. X \right|A\left( {V,i,x} \right)} \right) = \frac{{P\left( {XA\left( {V,i,x} \right)} \right)}}{{P\left( {A\left( {V,i,x} \right)} \right)}} = 2P\left( {XA\left( {V,i,x} \right)} \right) $ (1)

式中:定义事件$A(V,i,x)$$V$表示当前测试值,$i$表示第$i$次测试,$ x $为指示变量,其中$x = 1$表示答对,$x = 0$表示答错。在忽略方向条件(即不区分上、下、左、右)的情况下,样本空间仅包含正确与错误两种可能结果。对于事件$A(V,i,0)$(测试者在给定测试值$V$下答错)和$A(V,i,1)$测试者在给定测试值$V$下答对),它们的概率分别为$ P\left( {A\left( {V,i,0} \right)} \right) = P\left( {A\left( {V,i,1} \right)} \right) = 1/2 $。这表示在这种简化的情景中,答对或答错的可能性是等可能的。在实际场景中,考虑4个方向:上、下、左、右。在这4种情况中,仅有1个方向对应于正确的结果,而其余3个方向均表示错误的结果。正确事件的概率与错误事件的概率不再相等,正确事件的发生概率为1/4,而任一错误事件的发生概率则为3/4。

这种条件设定影响了学习过程中的步长大小[15],但重要的是,步长受到一个可调整的超参数(Rat)的影响,该参数主要用于调整收敛速度,不会干扰理论框架和算法的有效执行。本文集中讨论$ P\left( {A\left( {V,i,0} \right)} \right) = {\text{ }}P\left( {A\left( {V,i,1} \right)} \right) = 1/2 $的情形。这一选择增加了讨论的普适性,确保了算法在多种不同条件下仍能稳定运作。通过假设正确和错误事件的概率相等,能够提供一个更广泛适用且算法性能稳健的分析基础。

根据条件概率公式$ P\left( {AB} \right) = P\left( B \right)P\left( {A|B} \right) $

$ P\left( {XA\left( {V,i,1} \right)} \right) = P\left( {\left. {A\left( {V,i,1} \right)} \right|X} \right)P\left( X \right) $ (2)

式中:$ P\left( {A\left( {V,i,1} \right)|X} \right) $是在测试过程中可以根据事实改变的变量,表示真实视敏度为$X$的条件下,在视敏度大小为$V$测试下回答正确的概率。

$ P\left( {\left. {A\left( {V,i,1} \right)} \right|X} \right) = \left\{ \begin{gathered} 1 - p,X {{<}}V \\ p,X {{≥}} V \\ \end{gathered} \right. $ (3)

在式(3)中,随着实验次数的增加,概率$p$明显趋向于1,而概率$1 - p$趋向于0。这一现象揭示了在充分多的测试下,正确答案的概率与测试值之间的关系:低于特定阈值$V$时,答对的可能性极小;而达到或超过这一阈值时,答对的可能性极大。在分析从第$t$次测试到第$t + 1$次测试的单步更新过程时,重要的是要考虑测试次数的限制。假定本次测试的测试次数为20次

$ P\left( {\left. {A\left( {V,i,1} \right)} \right|X} \right) = \left\{ \begin{split}& \frac{1}{2} - \varepsilon ,X {{<}}V \\& \frac{1}{2} + \varepsilon ,X {{≥}} V \end{split} \right. $ (4)

式中,$\varepsilon $表示一个极小数值。

式(4)表明,在视敏度值$X$小于$V$的条件下,受试者的正确答案概率低于随机猜测的50%;相反,当视敏度值$X$大于或等于$V$时,正确答案概率超过50%。由于本次实验次数限定为20次,该结论是基于迭代测试方法得出的,将式(4)替代式(3),以提供更精确的评估。

将式(2)代入式(1),$ P\left( {A\left( {V,i,1} \right)|X} \right) $$f(x)$代替可得

$ P\left( {\left. X \right|A\left( {V,i,1} \right)} \right) = P\left( X \right) * f\left( x \right) $ (5)
$ f\left( X \right) = \left\{ \begin{gathered} 1 - 2\varepsilon ,X {{<}}V \\ 1 + 2\varepsilon ,X {{≥}} V \\ \end{gathered} \right. = \left\{ \begin{gathered} 1 - {\mathrm{Step}},X {{<}}V \\ 1 + {\mathrm{Step}},X {{≥}} V \\ \end{gathered} \right. $ (6)

根据上述公式可以观察到,对于错误回答事件$A(V,i,0)$,条件概率的更新机制遵循相似的逻辑。

$ P\left( {\left. X \right|A\left( {V,i,0} \right)} \right) = P\left( X \right) * g\left( X \right) $ (7)
$ f\left( X \right) = \left\{ \begin{gathered} 1 + 2\varepsilon ,X {{<}}V \\ 1 - 2\varepsilon ,X {{≥}} V \\ \end{gathered} \right. = \left\{ \begin{gathered} 1 + {\mathrm{Step}},X {{<}}V \\ 1 - {\mathrm{Step}},X {{≥}} V \\ \end{gathered} \right. $ (8)

式(5)~(8)描述了一个迭代过程,与重复迭代的情况相匹配。每次迭代涉及应用一个系数,$f(x)$$g(x)$。在算法的实现过程中,并未考虑答对与答错概率不一致的真实情况,即$ P\left( {A\left( {V,i,0} \right)} \right) = 3/4 $$ P\left( {A\left( {V,i,0} \right)} \right) = 1/4 $。这可能导致最终计算出的概率大于1。为避免这种情况的发生,在最终结果上采用了归一化处理,以确保概率的合理性。

$ {P_{{\mathrm{new}}}} = P\left( {\left. X \right|A\left( {V,i,{1 \mathord{\left/ {\vphantom {1 0}} \right. } 0}} \right)} \right) = \frac{{P\left( {\left. X \right|A\left( {V,i,{1 \mathord{\left/ {\vphantom {1 0}} \right. } 0}} \right)} \right)}}{{\displaystyle\sum\limits_{x \in X} {P\left( {X\left| {A\left( {V,i,{1 \mathord{\left/ {\vphantom {1 0}} \right. } 0}} \right)} \right.} \right)} }} $ (9)

该归一化过程满足两个条件:1)每个概率均小于1;2)概率分布的总和等于1。

概率分布更新算法的核心目标是确定两个关键参数:$P(XA(V,i,1))$$ P\left(XA\left(V,i,0\right)\right) $。这两个参数将决定后续概率更新的具体方式。根据被测试者的回答情况进行更新的过程,可视为对变量$X$的条件概率分布的更新。

1.2 均值漂移算法

均值漂移算法是一种基于密度估计的无参数聚类方法[16],又称核密度估计算法[5]。其概念最早由Fukunage和Hostetler于1975年提出[17]。该算法旨在识别数据中的聚类中心或密度梯度较大的区域,并将数据点迁移到密度梯度较大的区域。其基本思想是通过迭代计算当前均值的漂移来推动均值中心点朝向密度梯度[18]更高的方向,直至漂移量小于预设的阈值目标。在均值漂移算法的初始运行阶段,无需受到初始点固定的限制,数据集中的任何一点均可作为初始点。这种特性使得该算法适用于各种维度和分布的采样数据集,迭代效率高。均值漂移算法的核心优势在于能够快速而有效地对数据进行聚类,即使在高维空间和复杂分布的情况下也能表现出良好的性能。其迭代过程能够在保证收敛性的同时,对数据的局部特征进行有效地捕捉,从而实现了对数据的自适应聚类。

均值漂移是指聚类中心根据偏移向量的平均值进行调整,其偏移均值为

$ M\left( x \right) = \frac{1}{k}\sum\limits_{{x_i} \in {S_h}} {\left( {x - {x_i}} \right)} $ (10)

式中:${S_h}$表示一个半径为$h$的高维球区域;$k$表示区域${S_h}$内包含的数据点数量;${x_i}$表示圆形区域内的第$i$个数据点。$M(x)$的方向即为聚类中心移动的方向,而聚类中心的移动距离即为$M(x)$的模。

在特定时刻,聚类中心的计算式为

$ {x^{t + 1}} = {M^t} + {x^t} $ (11)

式中:${M^t}$表示在时刻$t$的偏移均值;${x^t}$${x^{t + 1}}$分别表示时刻$t$$t + 1$的聚类中心。

图1为均值漂移算法在python语言环境下运行流程,可以看出,Mean Shift算法指一个迭代的步骤,即先算出当前点的偏移均值,移动该点到其偏移均值,然后以此为新的起始点,继续移动,直到满足一定的结束条件。

图 1 均值漂移算法运行流程 Figure 1 Operation flow of the mean shift algorithm
1.3 均值漂移算法与视敏度检测结合

均值漂移算法的应用假设测试者的视敏度值(表示为$ X $)在一定范围内服从均匀分布,在区间$ x=\left[3.8,3.9,4.0,\cdots,5.0,5.1,5.2\right] $之间。在测试开始时,所有可能的视敏度值被认为具有相同的概率。随着测试进展,根据受试者的答案,这些视敏度值的概率分布将根据反馈进行更新。按照均值漂移算法的逻辑,每一轮测试后,选择的字母大小(即视敏度值)会更新为该分布的数学期望值。通过连续的测试,概率分布将逐渐趋近于最真实的分布,最终选取概率最高的视敏度值作为测试结果。

在当前的测试框架中,定义一个连续空间,其中${V_{{\mathrm{old}}}}$表示当前的视敏度标准大小,而${V_{{\mathrm{new}}}}$是下一推荐的视敏度标准大小。在这个过程中,视敏度的数学期望用$E(X)$表示。通过不断将当前值向该数学期望或均值靠拢,多次迭代后,算法使概率分布逐渐接近于真实分布。

根据均值漂移算法有以下公式成立

$ E\left( X \right) = \sum\limits_{x \in X} {P\left( {x\left| {A\left( {v,i,{1 \mathord{\left/ {\vphantom {1 0}} \right. } 0}} \right)} \right.} \right)x} $ (12)
$ {V_{{\mathrm{new}}}} = {V_{{\mathrm{old}}}} + \left( {E\left( X \right) - {V_{{\mathrm{old}}}}} \right) * \lambda $ (13)

式中,$\lambda $为学习率。

考虑到测试环境构成了一个系数的离散空间,实际视敏度值在3.9到5.1之间变化,这些预设的值之间的间隔相对较大。因此,在此情境下,参数$\lambda $的取值为1。

$ {V_{{\mathrm{new}}}} = E\left( X \right) $ (14)

在执行过程中,系统通过更新概率分布并利用均值漂移算法进行迭代,以此来优化和细化测试结果。具体来说,算法首先根据初始数据设定一个初始概率分布,随后在每一次迭代中,根据受试者的反馈调整视敏度值的概率分布。这一过程涉及计算当前概率分布的数学期望(即“均值”),然后将当前推荐的视敏度标准值(${V_{{\mathrm{old}}}}$)更新为更接近这个期望值的新视敏度标准值(${V_{{\mathrm{new}}}}$)。通过不断重复这个过程,算法逐步将概率分布调整为更贴近受试者实际视敏度的真实分布。基于均值漂移算法整体流程图如图2所示。

图 2 均值漂移算法流程图 Figure 2 Mean shift algorithm flowchart

在进行电脑端视力测试时,必须考虑到不同分辨率和屏幕尺寸的设备对视标实际显示的影响。为确保视标显示的一致性,采用了基于动态计算的方法来适应各种显示设备。通过操作系统提供的API接口,软件自动获取用户屏幕的分辨率与物理尺寸信息。接着,利用这些数据,计算屏幕的像素密度(pixels per inch, PPI),该过程使用以下公式

$ {V_{{\mathrm{new}}}} = E\left( X \right)PPI = \sqrt {\frac{{w_{_{{\text{pix}}}}^2 + h{{_{_{{\mathrm{pix}}}}^2}^{}}}}{{w_{_{{\text{inc}}}}^2 + h_{_{{\mathrm{inc}}}}^2}}} $ (15)

式中:wpixhpix分别是屏幕的水平和垂直像素数量;winchinc分别是屏幕的宽度和高度的物理尺寸。

确定了PPI后,可以根据所需的视觉角度来计算图形应显示的像素尺寸。视觉角度通常是根据视力测试的标准来设定的,表达式为

$ \begin{split} 图像像素尺寸=& 2\times 观看距离\times \\&\mathrm{tan}\left(\frac{视觉角度}{\text{2}}\right)\times PPI \end{split}$ (16)

这里的观看距离是用户距离屏幕的距离,视觉角度是图形在用户视野中应占据的角度。根据上面的计算,软件可以动态调整输出的图形尺寸,使其在不同设备上的实际大小相同,确保视力测试的准确性。

在视力检查中,虽然大部分情况下受试者能够准确判断视标方向,但在接近视力极限的视标尺寸时,判断往往带有随机性。这种随机性主要是因为,在视力极限水平,受试者对视标的辨识能力接近其生理极限,因此外界微小的变化(如光线、视距和视标的清晰度等)或者受试者的主观判断都可能影响测试结果。这种随机性不仅反映了视觉系统在接近其分辨极限时的敏感性,还体现了视觉感知的波动性。同时,受试者的心理状态、注意力的集中程度以及疲劳等主观因素也会对其判断造成影响。因此,在视力极限附近的测试结果通常不如较大视标下的结果稳定,往往呈现出波动甚至反复变化的趋势。为了减小这些随机因素的干扰,通常在视力检查中会采取多次重复测试,并取平均值来提高测试的可靠性。

2 实验对比分析 2.1 模拟数据实验

在测试阶段,为了更直观地展现Mean Shift算法的测量过程,基于Qt平台开发了一个视敏度检测程序,使个人电脑能够快速进行独立的视敏度测试,图3 为视敏度检测程序界面图。图4 为该检测过程在两米条件下检测样图。该程序运用均值漂移算法选择下一个测试字母的大小并判定最终的视敏度结果,旨在通过人机交互设计一套视觉敏感度测量系统,允许用户利用电脑独立完成视敏度检测。该系统建立在Qt平台上,仅需个人电脑和蓝牙键盘即可进行快捷、随时的视敏度测试,具有较低的成本。

图 3 视敏度检测程序 Figure 3 Visual acuity testing program

图 4 模拟测试过程 Figure 4 Simulation testing process

实验是通过实际受试者的视敏度测试进行的。实验记录了每次测试中的视标大小、参与者的答题表现,以及最终的视敏度测试结果。使用E视力表作为测试工具,在2~5 m的距离下进行视敏度评估。参与者需阅读视标,基于其响应,记录答题的正确性。受试者依次站在不同距离的位置上,阅读大小发生变化的视标,并根据视标的方向做出判断,实验者实时记录每次测试中的视标大小、受试者的答题正确性和最终的视敏度结果。每位受试者的测试都在恒定的光线条件下进行,确保外界因素对实验干扰最小。为了进一步评估算法在处理不确定性时的表现,实验设计在4个不同的视觉精度水平上引入了猜测性事件,即当视标接近受试者的视力极限时,受试者可能无法准确识别视标方向,进而可能进行猜测。这些事件旨在模拟实际应用中的不确定情况,并观察受试者的反应。通过对每位受试者在不同测试距离和不同视力精度下的多次测试,实验对受试者的反应数据进行了详细记录,从而为后续算法的适应性和鲁棒性评估提供了基础数据。

图5图8展示了在两米距离下进行模拟训练的算法模型,该模型模拟了4.4、4.5、4.6及4.8的视敏度水平,并考虑了猜测行为的影响。在4.4视敏度水平的模拟中,第1、7、13、20步分别出现不同的猜测行为。对于4.5视敏度水平,模拟了在第2、6、10、16步的猜测事件。在4.6视敏度水平,第3、7、9、12步发生了不同的猜测行为。而在4.8视敏度水平,第3、8、12、13步出现猜测事件。

图 5 4.4视敏度水平模拟评估 Figure 5 Simulation assessment of 4.4 visual acuity level

图 6 4.5视敏度水平模拟评估 Figure 6 Simulation assessment of 4.5 visual acuity level

图 7 4.6视敏度水平模拟评估 Figure 7 Simulation assessment of 4.5 visual acuity level

图 8 4.8视敏度水平模拟评估 Figure 8 Simulation assessment of 4.8 visual acuity level

表1 中模拟视敏度测试的步长与结果记录分析表明,测试过程中若存在误触、误判行为,会引入随机猜对或猜错的干扰。这些意外并未对最终结果的生成或结果的准确性产生实质性影响。在猜测事件次数为4次的情况下,达到最终视敏度结果的步长介于6~16之间,所有测试均在20次全面评估中提前完成,并且测试结果与预期的模拟视敏度高度吻合。表格中“最终视力结果”是通过多轮视标检测以及基于均值漂移算法迭代优化后,选取概率最高的视敏度值作为最终的测试结果。该过程通过不断调整视标尺寸和概率分布,最终逼近受试者的真实视敏度水平,从而得出视敏度评估的结果。这一发现初步验证了基于均值漂移算法的视敏度检测模型在视敏度检测方面的准确性和可行性。实验表明,即使在受到干扰的环境中,基于均值漂移的算法仍可以高效准确地评估视敏度水平。

表 1 模拟视敏度测试的步长与结果记录 Table 1 Step lengths and results for simulated visual acuity testing
2.2 对比数据实验

为了深入评估均值漂移算法的性能,本研究采用了弗莱堡视敏度测试(FrACT)和斯坦福视敏度测试(StACT)作为基准,执行了一系列对比分析。为了评估3种算法的有效性和鲁棒性,本研究设计了3个测试场景:无错误、3次错误和5次错误。通过逐渐增加错误次数,检验算法的容错能力和稳健性。在FrACT和StACT视敏度测试中出现的小数值虽然存在,但对实验结果的影响可忽略不计。因此,为保证数据的一致性,本文对这些数值进行了舍入估算。

根据图9图10的数据分析显示,在无错误及3次错误的实验条件下,3种算法所得测试结果与标准视敏度测定值之间的差异极小。均值漂移算法在与标准视觉性能指标对比中表现出更高的吻合度。

图 9 3种算法在无错误情况对比 Figure 9 Comparison of three algorithms under error-free conditions

图 10 3种算法在出现3次错误情况对比 Figure 10 Comparison of three algorithms in the event with three errors

根据实验数据,StACT算法在各版本中展示的偏差范围主要在−0.2至+0.1之间,而FrACT算法则普遍表现出−0.2至0的偏差,特别在错误环境下这一趋势更加明显。虽然StACT和FrACT算法在某些条件下存在轻微的偏差,但Mean Shift算法几乎在所有情况下都紧密匹配标准值,唯一例外是在出现5次错误版本的5.0评分上观察到的轻微正偏差(见图11)。这一点凸显了Mean Shift算法在各种测试环境下的卓越稳定性和精准度均值漂移算法之所以能够在不利条件下维持优异的鲁棒性,关键在于其内置机制对输入数据具有高效的容错处理,通过动态调整关键计算参数,有效降低误差输入的影响。

图 11 3种算法在出现5次错误情况对比 Figure 11 Comparison of three algorithms in the event with three errors

根据表2 误差测量结果数据看出,在不同测试条件下,Mean Shift、FrACT和StACT算法的平均误差分别展现为0.00280.04440.0639。平均误差是通过多个测试场景下的误差数据计算出来的,这些场景包括无错误、3次错误和5次错误的情况。平均误差的计算公式通常是将每个测试场景的误差值相加后,除以测试的次数,得到最终的平均值。本文平均误差为0.0028,说明该算法能够有效地减少视敏度检测中的误差。Mean Shift算法通过不断迭代以精准锚定概率密度峰值,即测试目标的最可能状态,确保其精确度的提高。此算法在面对误差时表现出较高的容错性,能够对即时变化进行有效调整,在高频出错情况下表现突出。

表 2 误差测量结果 Table 2 Result of error measurement
3 结 论

本文针对视敏度检测的高准确性和强抗干扰性要求,结合均值漂移算法和概率分布更新的核心理念,开发了一种创新的视敏度检测模型,并阐述了其原理。该模型通过实时概率分析和统计方法,精确评估受测者视敏度水平,有效减少了随机猜测对评估结果的影响。在算法设计上,采用非参数窗口技术的均值漂移算法通过迭代寻优过程,精确锚定概率密度函数的峰值。实验结果证明,该算法将视敏度检测的平均误差减少到0.0028,大幅提升了检测精度,检测精度可以理解为视敏度测试的结果与受试者实际视敏度水平的接近程度。检测精度反映了该算法通过多轮迭代,逐渐逼近受试者真实视敏度分布的能力。在实验中,检测精度通过误差率来衡量,满足了视敏度评估的高准确性需求。

参考文献
[1] World Health Organization. World report on vision[R]. Geneva: WHO, 2020: 25, 30.
[2] 李太东, 刘辉, 刘培兴. 灯箱视力表与电脑视力表临床应用对比研究[J]. 国际眼科杂志, 2008, 8(7): 1475–1476.
[3] BACH M. The freiburg visual acuity test-automatic measurement of visual acuity[J]. Optometry and Vision Science, 1996, 73(1): 49–53. DOI:10.1097/00006324-199601000-00008
[4] PIECH C, MALIK A, SCOTT L M, et al. The Stanford acuity test: a precise vision test using Bayesian techniques and a discovery in human visual response[C]// Proceedings of the 34th AAAI Conference on Artificial Intelligence. New York: AAAI Press, 2020; 471 − 479.
[5] CHENG Y Z. Mean shift, mode seeking, and clustering[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1995, 17(8): 790–799. DOI:10.1109/34.400568
[6] COMANICIU D, MEER P. Mean shift: a robust approach toward feature space analysis[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(5): 603–619. DOI:10.1109/34.1000236
[7] COMANICIU D, RAMESH V, MEER P. Real-time tracking of non-rigid objects using mean shift[C]// Proceeding of IEEE Conference on Computer Vision and Pattern Recognition. Hilton Head: IEEE, 2000: 142 − 149.
[8] COLLINS R T. Mean-shift blob tracking through scale space[C]//Proceeding of 2003 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Madison: IEEE, 2003: II-234.
[9] 彭露. 光纤陀螺温漂高精度矫正方法研究[D]. 成都: 电子科技大学, 2023.
[10] 冷悦, 钟胜. 光纤陀螺热致漂移分析及算法补偿技术研究[J]. 光学学报, 2024, 44(2): 0206003.
[11] MALDONADO S, SALTOS R, VAIRETTI C, et al. Mitigating the effect of dataset shift in clustering[J]. Pattern Recognition, 2023, 134: 109058. DOI:10.1016/j.patcog.2022.109058
[12] WANG L G, LIU D, KONG W J, et al. Segmentation of high-resolution remote sensing images using the Gabor texture feature-based mean shift method[J]. Journal of Sensors, 2023, 2023(1): 9979431. DOI:10.1155/2023/9979431
[13] WU C M, ZHAO J T. Robust joint learning of superpixel generation and superpixel-based image segmentation using fuzzy C-multiple-means clustering[J]. Signal, Image and Video Processing, 2024, 18(3): 2345–2354. DOI:10.1007/s11760-023-02911-6
[14] ZHOU W H, YE Z Y, ZHENG Z B. A new npCEV chart for monitoring process mean shifts based on an attribute inspection[J]. Communications in Statistics-Theory and Methods, 2024, 53(2): 666–686. DOI:10.1080/03610926.2022.2089356
[15] REN D. Accelerated row-stochastic optimization over directed networks based on momentum methods[J]. Advances in Applied Mathematics, 2023, 12(3): 919–931. DOI:10.12677/AAM.2023.123094
[16] 温柳英, 庞柯. 基于覆盖树的自适应均值漂移聚类算法[J]. 计算机工程与设计, 2024, 45(2): 452–458.
[17] FUKUNAGA K, HOSTETLER L. The estimation of the gradient of density function, with applications in a pattern recognition[J]. IEEE Transactions on Information Theory, 1975, 21(1): 32–40. DOI:10.1109/TIT.1975.1055330
[18] ZHANG B J, WANG J, GONG X L, et al. First-order sparse tsk nonstationary fuzzy neural network based on the mean shift algorithm and the group lasso regularization[J]. Mathematics, 2023, 12(1): 120. DOI:10.3390/math12010120