深度解读SCI论文系列一:基于智能手机的新型异质双目视觉和YOLOv5s的现代果园中苹果树个体的表型研究

本文主要是介绍深度解读SCI论文系列一:基于智能手机的新型异质双目视觉和YOLOv5s的现代果园中苹果树个体的表型研究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
一.摘要
A. 科学问题

表型分析在苹果树育种中起着重要作用。然而,现有的研究主要依赖于仪器,如LiDAR、RGB-D相机或搭载深度传感器的无人机(无人驾驶飞行器)等,这为用户增加了额外成本,也不太方便。
B. 对所使用方法的总结
开发一种基于智能手机的新型异质双目视觉的新方法,以实现低成本的苹果树自动表型分析。
选择一对多摄像头的智能手机,以获取异构双目相机。随后,开发一种虚拟焦点方法,从智能手机的异构双目图像生成标准双目图像。在一个包含四类数据的数据集上对著名的YOLOv5s目标检测模型进行了训练,以检测水果、嫁接部位、树干和整棵树。然后,简化模型以适应在智能手机上部署。最后,我们使用针孔相机模型和标准双目视觉得到单个苹果树的五个表型参数(树干直径、地径、树高、果实垂直直径和果实水平直径)。
C. 主要结果(通常是定量的)和结论
经过手动和智能手机表型评估后,我们的方法在这五个表型参数上的MAPE(平均百分比误差)范围在6.00%到13.73%之间。与现有研究相比,我们的方法仅使用智能手机就达到了接近甚至更好的表型精度。随着越来越多的智能手机配备多摄像头,我们的方法可能是大多数潜在用户中成本最低的表型分析方法。研究结果表明,这种方法可以用于苹果树的表型分析。
二.引言
1、提供研究背景,指出研究领域关注的关键问题。
苹果树表型分析对提高苹果产量有积极的促进作用。然而,常用的传统劳动密集型表型分析是高成本和低效的。不同工人的传统劳动密集型表型的准确性会导致不同的结果,这也容易受到天气限制的影响。为实现苹果树等植物的低成本和高效表型研究,开发了各种传感器的方法。
2、进行结构化的文献综述(以思想推进的方式进行综述)。
空中表型方法,如无人机、嵌入RGB-D(红,绿、蓝)相机、多光谱相机或激光雷达(光检测和测距)被开发为一种更自动化和高效的传统劳动密集型表型的替代品。大多数空中表型方法基本上使用无人机进行大规模表型分析如无人机系统用RGB和多光谱图像中收集冠层盖度、体积和植被指数,以估算番茄产量。采用嵌入RGB和多光谱传感器的无人机,估算冠层高度、植被覆盖和生长动态性状。基于激光雷达的无人机表型分析方法,以实现树高、冠宽的表型分析。
此外,一些陆地表型方法测量只能在地面上进行的表型。这些方法大多需要额外的仪器,如激光雷达、标准双目相机或其他传感器来完成。如嵌入RGB-D摄像机的表型机器人来估计玉米的直径。应用Kinectv2 RGB-D相机测量苹果树干嫁接直径,MAE(平均绝对误差)为3.01mm,MAPE(平均绝对百分比误差)为5.86 %。设计一种田间植物表型高通量立体视觉系统,高粱茎径估算的MAE为1.44 mm。
随着技术的发展,越来越多的传感器被嵌入到智能手机中,这使得基于智能手机的低成本表型成为可能。
3、结合第2部分,归纳总结已有的研究思想,指出已有研究的缺陷(科学问题)。
虽然航空方法为植物实现了高通量和自动化的表型,但这些方法只能从俯视图收集的表型。忽略了只能在地面上测量的表型,如胸径(胸高直径,即树干直径)和果实大小。
此外,一些陆地表型方法测量大多需要额外的仪器,如激光雷达、标准双目相机或其他传感器来完成。仪器价格昂贵,成本高,也不方便。
随着传感器被嵌入到智能手机中,基于智能手机的低成本表型成为可能。例如,近年来推出了带有ToF(飞行时间)深度传感器的智能手机来捕捉场景的点云。然而,ToF深度传感器并不是智能手机的标准规格,它只嵌入到少数智能手机中。此外,智能手机的ToF深度传感器由于智能手机供电能力差,导致点云质量低,工作距离差。相反,多摄像头现在几乎是智能手机的通用规格。虽然智能手机的多摄像头通常由不同规格的摄像机组成,不能通过标准双目视觉获得深度,但仍有一些研究证明,通过异质双目摄像机可以获得场景的深度。根据异质双目相机的潜力,它有可能开发出一种低成本和自动化的表型方法。
4、陈述论文的目的。
因此,我们开发了一种现代苹果园基于智能手机的异质双目视觉和YOLOv5s的单个苹果树表型方法,以达到低成本和易于使用的表型。
三.方法(包括实验设计)
1 基本思路:回答科学问题的思路或策略(不是步骤或流程。他是思想,也是本论文主要贡献的体现)
一个著名的YOLOv5s目标检测模型被训练并部署在安卓智能手机上,以检测水果、树干、移植物和整棵树木异质双目图像。然后,建立了虚拟焦距方法,从异质的双目图像中生成标准的双目图像。通过标准双目图像计算检测表型中心点的深度。最后,应用针孔相机模型实现了苹果树的表型分析。
2 方法:实现思路的方法。不是完整的工作流程,而是指出回答科学问题时使用的关键方法和手段。
首先选择一对多摄像头的智能手机,以获取异构双目相机。随后,开发一种虚拟焦点方法,从智能手机的异构双目图像生成标准双目图像。在一个包含四类数据的数据集上对著名的YOLOv5s目标检测模型进行了训练,以检测水果、嫁接部位、树干和整棵树。然后,简化模型以适应在智能手机上部署。最后,我们使用针孔相机模型和标准双目视觉得到单个苹果树的五个表型参数(树干直径、地径、树高、果实垂直直径和果实水平直径)。
评价采用MAE、MAPE和RMSE(均方根误差)来评价基于智能手机的异质性双眼视觉的表型表现。
3 实现(实验设计):为寻求答案而设计的控制实验
1)研究区与数据

研究区是农业水果的苹果表型分析,主要研究现代苹果园单株苹果树的表型分析。
数据采集:在两个现代苹果园采集了异构的双目图像,即从两个果园(每个果园55棵苹果树)采集了110棵苹果树的数据。
(1)由三种不同的安卓智能手机(RealmeGT neo2、小米10和华为P30)的异质双目相机拍摄异质双目图像(即用主相机和超广角拍摄),具有最大的成像分辨率。
(2)树干直径(测量在嫁接位置上方10厘米处)、树高(从树根到最高分支的顶部)和苹果树的地径,由游标卡尺或卷尺进行测量。
(3)从110棵苹果树中随机选择的24棵苹果树的120个苹果果实直径(每个果园60个苹果果实),通过游标卡尺进行测量。测量的苹果的位置和遮挡是完全随机的。所有图像都已拍摄到。
苹果和苹果树的手动测量表型被采用为基准真实表型,并进行多次测量以确保可靠性。此外,还捕获并标记了300张苹果树图像用于训练YOLOv5s模型。本研究所有图像均通过使用系统相机APP在树的正面视图下进行拍摄。
在捕获苹果树的异构双目图像时,首先将安卓手机固定在三脚架上。然后,将安卓手机设置在一个角度,使苹果树居中在相机预览中。最后,通过回放手动操作记录(一组触摸操作),捕获异构双目图像,以避免手动操作对图像产生潜在的负面影响。可以使用特定的APP(例如RepetiTouch和Touch Recorder)来记录或回放手动操作。
在这里插入图片描述
2)实施关键方法以实现思路(策略)的过程和主要步骤。
图像数据集处理:在300张图像中,苹果树的五个表型参数(树干直径、地径、树高、果实垂直直径和果实水平直径)被标记为四类:前三个表型参数分别标记为“树干”、“嫁接部位”和“整棵树”,而果实直径则标记为“水果”。水果和嫁接部位使用包围框进行标记,而苹果树则使用整个树干的包围框进行标记。每种类型的标记使用不同的颜色表示,如图3所示。
在这里插入图片描述
此外,树干的标记策略取决于其倾斜程度,这在图4中有示例展示。
为了让经过训练的YOLOv5s模型能够检测出不同倾斜角度的树干,并且检测出的包围框内包含的背景信息尽量少,采用了一种特殊的细分标记策略。对于倾斜角度较小的垂直树干,使用宽高比约为2:1的矩形进行标记。而对于倾斜树干,采用能包含尽量少背景信息的矩形进行标记。所有提到的树干标记应该具有相似的大小和宽高比,如图4所示。
在这里插入图片描述
数据集多样性:采用数据增强技术来改进标记数据集的多样性。图像捕获过程中,由于异构双目相机的镜头很难以相同的光圈、曝光时间和快门速度等参数捕获相同的场景。即使能满足这些要求,由于硬件差异(焦距、成像分辨率等),拍摄的场景仍会有不同光照条件。
因此,采用了亮度变化(亮度范围从0.65到1.2)、旋转(顺时针或逆时针旋转30度)和对比度变化(直方图归一化)等数据增强方法来随机扩充训练数据集,每个增强步骤生成300张图像(每个增强步骤只应用于一张图像)。这样可以提高经过训练的模型的鲁棒性,使其更好地检测具有不同光照条件、倾斜角度和颜色的对象。
整个数据集包含了900张增强图像和300张原始图像。其中,所有增强图像和225张原始图像用作训练数据集,而其余75张原始图像用作验证数据集。
**YOLOv5s模型:**本研究采用了目标检测模型YOLOv5s从异构双目图像中检测苹果树的表型参数。YOLOv5s是YOLOv5系列中层数第二少、推理速度第二快的模型。该模型在PyTorch框架下使用表1中指定的训练参数在扩充后的数据集上进行了训练。
训练模型的设备是一台笔记本电脑。还安装了CUDA11.7和PyTorch 1.12.1,以满足模型训练的需要。训练完成后,将训练好的模型转换为NCNN框架(腾讯推出的基于Android的深度学习推理框架)的格式,以便在Android智能手机上部署。同时,还使用ONNX框架(Facebook和Microsoft推出的深度学习框架)对模型进行了简化。
在这里插入图片描述
**标准双目图像:**从异构双目图像中,通过虚拟焦点生成标准双目图像。
虚拟焦点方法是为了从智能手机的异构双目图像生成标准双目图像而开发的。首先,需要考虑异构双目视觉和标准双目视觉之间的差异。标准双目视觉的深度方程描述如下:
在这里插入图片描述
其中,D、PixF、B和Disp分别表示深度、标准双目相机的像素焦距(以像素为单位)、双目相机的基线和特征点的视差。它们的单位分别是毫米、像素、毫米和像素。然而,与标准双目相机不同,异构双目相机的两个镜头的焦距并不相等。因此,异构双目相机两个镜头的像素焦距必须相等,以通过标准双目视觉获得深度信息。此外,标准双目视觉的视差是在相同的成像分辨率下计算的,这意味着异构双目视觉缺乏成像分辨率的一致性。因此,除了像素焦距相等外,还需要保持相同的成像分辨率才能获得深度信息。
相机的一般成像模型:是针孔相机模型,被视为虚拟焦点的基础。简化的针孔相机模型如图6所示。很明显,相机的焦距与视场角(FoV,即视野)成反比,而相机的CMOS(Complementary Metal Oxide Semiconductor,智能手机最常用的成像传感器)尺寸与之成正比。正如前文提到的,标准双目视觉需要保持相同的像素焦距和相同的成像分辨率(成像分辨率与CMOS尺寸成正比)。
在这里插入图片描述
在这项研究中,异构双目相机由智能手机的两个不同像素焦距和CMOS尺寸的摄像头组成,导致视场角(FoV)和成像分辨率不同,而标准双目相机捕获具有相同FoV和成像分辨率的双目图像。超广角摄像头与主摄像头之间的FoV关系如图7所示,其中主摄像头的FoV小于超广角摄像头。图7中的比较也适用于大多数常见的智能手机,它们至少配备一个主摄像头和一个超广角摄像头。
在这里插入图片描述
虚拟焦点方法通过生成具有相同像素焦距和成像分辨率的双目图像对,从异构双目图像中实现。根据像素焦距、CMOS尺寸和视场角之间的线性关系,只需对异构双目相机中的一个镜头(本研究中为超广角镜头)进行图像缩放,即可实现两个镜头的相同像素焦距。图像缩放操作表示镜头的像素焦距和CMOS尺寸的等比例缩放变化。当一个镜头的像素焦距和CMOS尺寸以相同的比例缩放时,图像的视场角不会改变,因为它们所产生的影响已经被相互抵消。同时,图像将以与CMOS尺寸变化相同的比例进行缩放。为了使异构双目相机具有相同的像素焦距,虚拟焦点缩放因子(VFSF,virtual focal scaling factor)被定义为实现此目标的缩放比例,其定义如公式(2)所示。
在这里插入图片描述
其中,PixFm和PixFuw分别表示主摄像头和超广角摄像头的像素焦距;PSoPm和Fm分别表示主摄像头的单个像素的物理尺寸和主摄像头的物理焦距(以毫米为单位),PSoPuw和Fuw也是如此。这些参数可以从智能手机的系统中读取。在本研究中,VFSF被应用于缩放超广角图像,以使超广角相机的像素焦距与主相机的像素焦距对齐,从而基本实现异构双目相机的两个镜头具有相同的像素焦距。
在对超广角图像进行缩放后,得到了一幅图像(缩放后的超广角图像),其像素焦距与主摄像头相同,CMOS尺寸与缩放后的超广角相机相同(即带有虚拟焦点的超广角相机)。然而,由于CMOS尺寸不同,缩放后的超广角图像和主摄像头的图像仍然具有不同的成像分辨率。因此,缩放后的超广角图像和主摄像头的图像被视为由具有相同像素焦距但不同CMOS尺寸的相机拍摄的图像,它们仍然不能被视为一对标准双目相机。
最终,通过裁剪缩放后的超广角图像,可以生成分辨率与主摄像头拍摄的图像相同的图像。众所周知,图像的分辨率只取决于CMOS。如果单个像素的物理尺寸保持稳定,CMOS尺寸越小,其分辨率就越小。因此,可以通过缩小具有虚拟焦点的超广角相机的CMOS尺寸,使其与主摄像头的CMOS尺寸相同。用具有缩小CMOS尺寸的超广角相机(带有虚拟焦点)拍摄的图像可以直接通过裁剪缩放后的超广角图像得到。裁剪后的缩放超广角图像应该具有与主摄像头图像相同的分辨率。因此,从原始的超广角图像中获得了一张由具有与主摄像头相同的焦距和CMOS尺寸的相机拍摄的图像,该图像具有与主摄像头拍摄的图像相同的分辨率和视场角。在图8中,展示了裁剪后的缩放超广角图像与异构双目相机的原始图像之间的比较。
在这里插入图片描述
**标准双目视觉的深度估计:**在生成标准双目图像后,应用标准双目视觉来估计检测对象的深度。它使用裁剪后的缩放超广角图像(图8c)和主摄像头拍摄的图像(图8a)来估计深度。然后,基于模板匹配的一系列操作被采用来匹配检测到的对象并计算视差,以快速估计检测对象的深度。
模板匹配是找到目标图像中与匹配模板最相似的区域。在本研究中,主摄像头拍摄的图像中的检测对象被视为匹配模板,而裁剪后的缩放超广角图像被视为目标图像。在进行模板匹配之前,这些图像被缩放到原始尺寸的一半,以实现更快的模板匹配。采用基于极线约束的限制来限制匹配区域。匹配成本较高的检测对象(或匹配模板)应该被忽略以获得更好的性能。最后,检测对象的视差可以通过其在原始检测边界框(在主摄像头拍摄的图像中)的中心点坐标和裁剪后缩放超广角图像中匹配边界框的中心点坐标来计算。然后,通过标准双目视觉原理(方程1)可以确定检测对象的深度。
在这里插入图片描述
针孔相机模型下的表型鉴定:采用针孔相机模型进行苹果树的表型鉴定。据知,大多数相机都是基于针孔相机模型构建的(如图9所示),这是相机的通用成像模型。在图9中,苹果与其图像之间存在一对相似三角形,建立了一个方程(方程3)来描述它们之间的关系。
在这里插入图片描述
在这里插入图片描述
其中,PS代表苹果在真实世界中的物理尺寸,目前是未知的;IPS代表苹果图像在CMOS中的物理尺寸,可以通过图像中苹果的像素尺寸和PSoP来计算;D代表深度,可以通过异构双目视觉估计得到;F代表相机的焦距,可以直接从智能手机的系统中读取。方程(3)通常适用于图9中的任何对象。然后,通过方程(4)获得方程中的三个参数,从而计算出PS。
在这里插入图片描述
此外,**倾斜角度被用来校正测量的树干直径,**如图10所示。图10中,黄色线段连接了树干最低两个检测边界框的中心点,而红色垂直虚线与黄色线段之间的夹角(α)即为倾斜角度。两条线段的垂直线分别是校正后的树干直径(橙色线)和测量的树干直径(红色水平线)。校正后的树干直径应该大约是测量的树干直径的余弦α倍。此外,对于那些只有一个检测边界框的树干,应该忽略校正。
在这里插入图片描述
3)评价策略与评价方法
MAE(平均绝对误差)、MAPE(平均绝对百分比误差)和RMSE(均方根误差)被用来评估基于智能手机异构双目视觉的表型鉴定性能,它们分别由方程(5)-(7)定义。其中,Pk和Pk’分别代表手动测量和基于智能手机异构双目视觉的单一类别的表型;k表示哪个P和P’;nt是t的数量(t表示某个特定的表型)。
mAP(平均平均精度)被用来评估YOLOv5s模型的检测性能,其定义由方程(8)和(9)给出。其中,c是标记的类别数,在本研究中为四类;APi表示某个类别的平均精度,即第i个类别的P-R曲线下的面积;
P和R分别代表精确率和召回率,分别由方程(10)和(11)定义。TP,TN,FP和FN分别指示检测数据集的四种类型:真正例、真反例、假正例和假反例,根据与真实类别和预测类别的整合而确定。
在这里插入图片描述
四.结果
1.模型的训练评估和性能
如前所述,使用苹果树异构双目图像的四类训练数据集,在PyTorch框架下对YOLOv5s模型进行训练,其损失曲线和mAP曲线如图11所示。根据mAP曲线,模型在大约350个Epoch处收敛,基本满足苹果树的表型鉴定需求。在经过400次Epoch的训练后,mAP达到了83.86%,其中四类数据集(水果、嫁接部位、树干、整棵树)在PyTorch下的APi分别为95.31%、79.32%、84.29%和76.53%。
在这里插入图片描述
在训练完YOLOv5s模型后,将该模型转换为NCNN框架的格式,以适配Android智能手机上的部署。此外,该模型还通过onnx-simplifier和onnx-optimizer(ONNX的两个模块)进行了简化。最终的YOLOv5s NCNN模型表现出与YOLOv5s PyTorch模型相似的性能,其mAP达到了84.62%。YOLOv5s NCNN模型的每个类别的P-R曲线如图12所示。该模型的检测速度约为190毫秒,适用于由主摄像头或超广角摄像头拍摄的每张图像。
在这里插入图片描述
2.表型鉴定的评估
使用基于智能手机异构双目视觉和YOLOv5s进行苹果树五个表型的鉴定达到了令人满意的性能。苹果树五个表型的MAE、MAPE和RMSE在表格3中展示。可以看到,五个表型的鉴定的MAPE范围在6.00%至13.73%之间。
在这里插入图片描述
3.其他研究关于表型鉴定的结果
在此,已经证明了应用基于智能手机的异构双目视觉来实现苹果树表型鉴定的可行性。据我们所知,这是第一个使用基于智能手机的异构双目视觉来实现表型鉴定的研究。结果表明了利用基于智能手机的异构双目视觉进行表型鉴定的巨大潜力。此外,我们的方法在现有的自动化表型鉴定研究中具有最低的成本。对于那些使用具备多摄像头功能的智能手机的用户甚至可以实现零成本。与现有研究相比,我们的方法在成本极低的情况下实现了某些表型的类似准确性。我们对使用不同仪器进行相同表型研究的比较结果如表4所示。
在这里插入图片描述
对于果实大小,Mirbod等人应用立体视觉摄像头测量苹果果实大小和产量,其系统能够捕捉到10.00毫米的变异性。Gen´e-Mola等人使用佳能数码单反相机结合运动结构和多视角几何方法估计苹果果实大小,使用四种不同方法得到不同遮挡情况下苹果的MAE为3.70毫米至15.00毫米。与此相比,我们的方法对于苹果果实大小的MAE为8.50毫米至8.80毫米。对于树高,Nasiri等人应用无人机测量树高,其树高测量的RMSE为325.22毫米,而我们的方法树高测量的RMSE为238.58毫米。对于胸径和树干直径,Shao等人估计了胸径,使用智能手机的单摄像头和安装在三脚架上的激光测距仪,胸径估计的MAE为11.20毫米。与Shao等人和Sun等人的研究相比,我们的方法对于树干直径的MAE为6.78毫米。
五 讨论
在接下来的研究中,将对苹果树在相同生长阶段和实验果园中通过不同仪器进行表型鉴定进行比较,以评估性能。虽然使用基于智能手机的异构双目视觉方法进行表型鉴定无需进行立体标定,但进行立体标定的基于智能手机的异构双目视觉方法可以获得更好的性能。这主要是因为该方法的偏差也受到多摄像头模块潜在制造误差的影响。
六 结论与总结:
1、总结解决科学问题的关键方法
该研究开发了一种成本极低的单株苹果树自动化表型鉴定方法,只需要一部带有多摄像头的智能手机以获取异构双目图像(像素焦距跟成像分辨率与主相机均不同)。
开发一种虚拟焦点方法(通过缩放超广角图像得到相同像素焦距,通过缩放后的图像裁剪得到与主相机相同的成像分辨率),最终生成标准双目图像。
利用标准的双目图像的公式进行深度估计(基于模板匹配来匹配检测到的对象并计算视差,以快速估计检测对象的深度)。
在四类数据的数据集上对YOLOv5s目标检测模型进行了训练,以检测水果、嫁接部位、树干和整棵树。然后在智能手机上部署。
使用针孔相机模型和标准双目视觉得到单个苹果树的五个表型参数。采用针孔相机模型进行苹果树的表型鉴定,成像模型中真实物体与其图像之间存在一对相似三角,通过公式得到物体真实物理尺寸。
2、主要结果与影响
基于智能手机的异构双目视觉方法对于树干直径、树高、地径、水平直径和垂直直径等表型的MAPE分别为11.20 %、6.00 %、11.45 %、12.96 %和13.73 %。它们的MAE分别为6.78 mm、184.15 mm、15.50 mm、8.80 mm和8.50 mm。对于单个苹果树的表型鉴定,仅需不到10秒的时间(取决于苹果数量)。
更具体地说,我们证明了只使用智能手机而不需要任何仪器,如RGB-D相机或LiDAR,就可以实现表型鉴定的可行性。此外,我们证实了使用智能手机的多摄像头来获取深度的可行性。此外,我们还测试了智能手机的表型鉴定性能,其性能与现有研究的表型鉴定相似。未来的工作将集中在通过使用智能手机的陀螺仪和基于特征的立体标定来提高表型鉴定的准确性。
其他相关学习参考连接
https://zhuanlan.zhihu.com/p/611386205双目深度估计Pyramid Stereo Matching Network
https://blog.csdn.net/qq_40918859/article/details/123984329 双目深度估计——视差到深度的两种推导方法
https://blog.csdn.net/Setul/article/details/88996905 P-R曲线和mAP的简易理解

注:论文原文出自Phenotyping of individual apple tree in modern orchard with novel smartphone-based heterogeneous binocular vision and YOLOv5s
本文仅用于学术分享,如有侵权,请联系后台作删文处理。

这篇关于深度解读SCI论文系列一:基于智能手机的新型异质双目视觉和YOLOv5s的现代果园中苹果树个体的表型研究的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/224530

相关文章

深度解析Python中递归下降解析器的原理与实现

《深度解析Python中递归下降解析器的原理与实现》在编译器设计、配置文件处理和数据转换领域,递归下降解析器是最常用且最直观的解析技术,本文将详细介绍递归下降解析器的原理与实现,感兴趣的小伙伴可以跟随... 目录引言:解析器的核心价值一、递归下降解析器基础1.1 核心概念解析1.2 基本架构二、简单算术表达

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

Java MCP 的鉴权深度解析

《JavaMCP的鉴权深度解析》文章介绍JavaMCP鉴权的实现方式,指出客户端可通过queryString、header或env传递鉴权信息,服务器端支持工具单独鉴权、过滤器集中鉴权及启动时鉴权... 目录一、MCP Client 侧(负责传递,比较简单)(1)常见的 mcpServers json 配置

Maven中生命周期深度解析与实战指南

《Maven中生命周期深度解析与实战指南》这篇文章主要为大家详细介绍了Maven生命周期实战指南,包含核心概念、阶段详解、SpringBoot特化场景及企业级实践建议,希望对大家有一定的帮助... 目录一、Maven 生命周期哲学二、default生命周期核心阶段详解(高频使用)三、clean生命周期核心阶

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

深度解析Python yfinance的核心功能和高级用法

《深度解析Pythonyfinance的核心功能和高级用法》yfinance是一个功能强大且易于使用的Python库,用于从YahooFinance获取金融数据,本教程将深入探讨yfinance的核... 目录yfinance 深度解析教程 (python)1. 简介与安装1.1 什么是 yfinance?

C语言自定义类型之联合和枚举解读

《C语言自定义类型之联合和枚举解读》联合体共享内存,大小由最大成员决定,遵循对齐规则;枚举类型列举可能值,提升可读性和类型安全性,两者在C语言中用于优化内存和程序效率... 目录一、联合体1.1 联合体类型的声明1.2 联合体的特点1.2.1 特点11.2.2 特点21.2.3 特点31.3 联合体的大小1

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

C语言中%zu的用法解读

《C语言中%zu的用法解读》size_t是无符号整数类型,用于表示对象大小或内存操作结果,%zu是C99标准中专为size_t设计的printf占位符,避免因类型不匹配导致错误,使用%u或%d可能引发... 目录size_t 类型与 %zu 占位符%zu 的用途替代占位符的风险兼容性说明其他相关占位符验证示

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security