用于多模态图像配准的弱监督卷积神经网络

2023-11-15

《Weakly-Supervised Convolutional Neural Networks for Multimodal Image Registration》
摘要:在多模态图像配准的监督学习中,最基本的挑战之一是体素级空间对应的基值的缺乏。本工作描述了一种从包含在解剖标签中的高级对应信息中推断体素级变换的方法。我们认为,这种标签获取对比体素对应关系是比通过参考图像集更可靠和实用方式。典型的感兴趣的解剖标签可能包括实体器官、血管、导管、结构边界和其他指定的特别标志。提出的端到端卷积神经网络方法旨在训练过程中对单个图像对的多个标记对应结构进行对齐从而预测位移场,而仅使用未标记的图像对作为网络输入进行推理。我们强调了该策略的通用性,使用不同类型的解剖标签用于训练,这些标签不需要在所有训练图像对上可辨别。在推断,得到的三维可形变图像配准算法实时运行,是全自动的,不需要任何解剖标签或初始化。比较了几种网络结构变体,以配准来自前列腺癌患者的T2-weight磁共振图像和3D经直肠超声图像。在交叉验证实验中,来自76名患者的108对多模态图像经过高质量的解剖标签测试,得到的标记中心的目标配准误差中值为3.6 mm,前列腺的Dice中值为0.87。

关键字:医学图像配准;图像引导介入;卷积神经网络;弱监督学习;前列腺癌。

1、引言

多模态图像配准旨在对不同成像方式产生的医学图像进行空间对齐。在许多其他医学成像应用中,这用于minimally或none-invasive图像引导处理,一个常见的策略是量化pre-procedural图像 和 intra-procedural图像 融合复杂的诊断信息,通常被介入性需求进行限制,如可移植性、可访问性、时间分辨率,有限的视野和造影计或辐射计量控制。

经典的基于强度的图像队配准方法通常是基于图像相似度的优化,这是一种图像强度对应程度的度量指标(Hill et al., 2001)。然而,在许多介入性应用中,设计一个用于临床足够鲁棒的多模态相似度指标是一个挑战。潜在的困难包括:1)不同的物理获取过程可能会在相同解剖结构不对应的成像结构之间产生统计相关性,这违反了大多数基于强度的相似性度量的基本假设之一(Zollei et al., 2003);2)在intra-procedural图像在空间和时间上是变化,部分是依赖用户(Noble, 2016),用简单的统计属性或基于信息理论的度量来总结是复杂的。3)由于术中时间的限制,不能使用更好的成像质量,因为它通常需要大量的成像或处理时间,以及使用计算密集型方法,如穷举全局优化。

基于特征的图像配准方法在自动提取特征时也面临着相似的挑战。人为选择用于配准的解剖特征依赖于用户,而且往往成本高昂,甚至在手术中不可行,但可以说,在许多intra-procedural应用中,多模态图像配准仍然是最可靠的方法(Viergever et al., 2016)。半自动化或辅助医学图像分割以支持配准是一个有前途的研究方向(Wang et al., 2017),但它还没有在快速发展的介入应用中显示出临床价值。

在这项工作中,我们着重于介入性多模态图像配准的一个应用范例,即将pre-procedural多参数磁共振(MR)图像配准到前列腺癌患者的intra-procedural经直肠超声(TRUS)图像中(Pinto et al.,2011;Rastinehad et al., 2014;Siddiqui et al., 2015)。多参数磁共振成像(Dickinson et al., 2011),包括超极化成像的最新发展(Wilson和Kurhanewicz, 2014)和基于扩散加权成像的计算方法(Panagiotaki et al., 2015),在诊断和演示方面显示出良好的结果。在包括英国在内的一些国家,这已经被推荐为标准临床路径的一部分(Vargas et al.,  2016)。在intra-procedural方面,TRUS成像通常用于指导大多数靶向活检和局部治疗,但它在区分癌组织和健康环境方面的价值是有限。融合MR和TRUS图像,可以在TRUS-guided过程中对低至中等风险疾病可以准确的检测、定位和治疗(Valerio et al.,  2015)。然而,像大多数其他超声引导的医疗处理,这代表了在没有鲁棒的图像相似性度量上,已被证明一个典型的例子。例如,在解剖学上不同的成像结构,如前列腺inner-outer腺分离、解理面称为外科包膜,定义在TRUS上的图像(Ethan j .Halpern 2008)和在MR图像上可以看到中心边缘的带状边界,在两种类型的图像中表现出相似的特征,因此具有很强的统计相关性。这将导致使用大多数(不是全部)建立的基于强度的相似性度量和相关的配准方法的错误对齐。(Rueckert et al., 1999)。

为了缓解配准应用中基于强度和特征的方法带来的上述问题,提出了一类模型-图像融合方法(Hu et al., 2012;Khallaghi et al.,2015; van de Ven et al., 2015; Wang et al., 2016a),其中MR图像获得的前列腺运动模型自动或半自动与腺体包膜表面对齐。这些方法有两个局限性。首先,特定对象成对配准要求从两个图像中提取相应的特征。我们之前认为,从两幅图像中唯一可以得到的前列腺共同特征是包膜表面,而根据具体情况可以找到特定的标志物以进行验证(Hu, 2013)。事实上,在上面提到的大多数算法中,腺的边界都是要匹配的感兴趣特征。其次,部分由于稀疏特征的可用性的结果,需要某种形式的运动先验来约束非刚性配准方法(De Silva et al., 2017; Hu et al., 2015,2011;Khallaghi et al., 2015;Wang et al., 2016b)。运动模型的学习高度依赖于应用,通常不能推广到其他医疗应用或相同应用的不同成像协议,如病理病例或不同手术器械的干预。

监督表示学习(Bengio et al., 2013),特别是使用卷积神经网络的方法(LeCun et al., 2013),具有优化回归网络中医学图像表示的潜力,该网络可以预测给定图像之间的空间对应关系,而无需人工图像特征工程或基于强度的相似性度量。然而,用于学习相应的体素级基准感非常缺乏,并且在大多数情况下,不可能可靠地从医学图像数据中获得。学习相似性度量的其他方法,例如(Simonovsky et al., 2016),也需要非平凡的基准标签,而且据我们所知,还没有人提出用于MR和超声图像配准。已经提出了几种方法来获取大量用于训练的伪基准变换,例如来自模拟的方法(Krebs et al., 2017; Miao et al., 2016; Sokooti et al.,  2017),现有配准方法(Rohe et al., 2017)或手动刚性配准(Liao et al., 2017)。最近提出的基于机器学习的图像配准方法依赖于图像相似性驱动的无监督学习(Cao et al., 2017; de Vos et al., 2017; Wu et al., 2013;Yang et al., 2017)这意味着这些方法继承了经典的基于强度的图像配准算法的关键缺陷。

我们认为用解剖学知识进行标注的高层次的对应结构的可靠的更具有实用性。这样的标签可以用来在成对的图像中突出它们之间相同的器官和边界、病理区域,以及在两个图像中出现的其他解剖结构、形态或生理特征,也可以作为弱标签来训练对低水平体素对应的预测。此外,只有从所有图像对中不一致地获得的特定对象标记也有助于找到详细的体素对应关系,特别是从介入数据中。例如,钙化点和水基囊肿的空间分布是因人而异的(参见图1)。虽然在许多对中很容易识别,但它们大多用于验证目的(Hu et al., 2012;van de Ven et al., 2013; Wang et al., 2016a)。在这项工作中,我们介绍了一个新的框架,使用这些解剖标签和全图像体素强度作为训练数据,使一个全自动的,形变的图像配准,在推理过程中只需要未标记的图像数据。

我们的前期工作的初步结果在摘要中被展示(Hu et al., 2018)。我们总结了本文中所描述的提升:1)第2.1节给出了弱监督图像配准框架的详细方法描述;2)第2.2节描述了一种用于弱监督配准网络训练的高效多尺度Dice;3)在不使用第2.3节中提出的全局仿射子网络的情况下,提出了一种新的内存有效网络结构;4)第4节对不同的网络变化和经典的成对配准算法进行了严格的分析比较,并对结果进行了显著的改进。

2、方法

2.1 弱监督图像配准框架

给定N对训练的moving-x^A = {x_n^A}和fixed的图像x^B = {x_n^B}其中n = 1,...,N,在n^{th}对图像对中,M_n对的moving l^A = {l_{mn}^A}和fixedl^B = {l_{mn}^B}标记对应着对应的解剖区域,m=1,...,M_n。我们用神经网络训练来预测体素对应关系,用稠密位移场(dense displacement field,DDF)u_n表示,作为一个弱监督学习问题,在N个训练图像上,最大限度的功能函数表明期望标签相似性:

J = \frac{1}{N}\sum_{n=1}^{N}\frac{1}{M_n}\sum_{m=1}^{M_n}J_{mn}(l_{mn}^{B}, y_{mn}^A)---------------------------------------(1)

其中,内部求和表示图像级标签相似性,在n^{th}图像对M_n标签的label-level相似性平均度量。在本文中,通过计算fixed label l_{mn}^{B}和空间形变warped moving label y_{mn}^{A}=f_T(l_{mn}^{A},u_{n})之间的相似性计算,位移u=\{u_n(x_n^A, x_n^B,\theta)\}通过参数化\theta的神经网络预测,描述在图2中。网络训练旨在通过超参a加权平衡最小化负功能函数和正则形变\Omega (u)惩罚非平滑位移:

\hat{\theta} = arg{min}_\theta[-J(x^A, x^B, l^A, l^B; \theta) + a \cdot \Omega (u)]---------------------(2)

正如引言中所提到的,我们强调这样的损失并没有包含任何基于强度的相似项,而在我们的应用中这些相似项被证明是不可靠的。在训练过程中,我们使用标准随机K-minibatch梯度下降优化(Goodfellow et al., 2016),这需要对每个minibatch中的添加梯度进行无偏估计\frac{\hat{\partial J }}{\partial x} = \frac{1}{K}\sum_{k=1}^{K}\frac{\hat{\partial J_k }}{\partial x},k = 1,..., K。通过数量可变的标签和简化实现避免minibatch梯度的非平凡的计算,我们提出构建这样一个梯度估计的两阶段采样: 在第一阶段K对图像均匀采样,然后在第二阶段对与前一阶段图像对相关的单标签对进行均匀采样。使用这种方法,每个minibatch包含同等数量的K图像标签对,\frac{\hat{\partial J_k }}{\partial x}被评估。鉴于第一阶段采样图像对,让我们考虑E_2(\frac{\hat{\partial J_k }}{\partial \theta}) =\frac{\partial J_k }{\partial \theta}作为在第二阶段梯度估计的条件期望在标签对采样。与第一阶段期望E_1[\cdot ]在图像对,它可以表明minibatch梯度\frac{\widehat{\partial J}}{\partial \theta}第二阶段聚类抽样无偏计算:

E(\frac{\widehat{\partial J}}{\partial \theta} ) = E_1[E_2(\frac{\widehat{\partial J}}{\partial \theta} )] = E_1[E_2(\frac{1}{K}\sum_{k=1}^{K}(\frac{\widehat{\partial J_k}}{\partial \theta} ))]= E_1[\frac{1}{K}\sum_{k=1}^{K}E_2(\frac{\widehat{\partial J_k}}{\partial \theta} )]= E_1[\frac{1}{K}\sum_{k=1}^{K}\frac{\partial J_k}{\partial \theta} ]=\frac{\partial J}{\partial \theta}

我们总结了图2所示框架的几个优点。首先,计算moving标签形变与fixed标签之间的模态无关的相似度,两者都不作为网络的输入。因此,在推理阶段,即实际配准阶段,并不需要它们。第二,不同类型的标签样本可以被喂给训练,而不需要一致的数量或类型被标记的解剖结构;而且每个图像对可能使用非常多的标签,而不会增加内存使用量。第三,moving和fixed图像是神经网络的唯一输入,不需要定义一个显式的基于强度的图像相似度度量,该度量必须针对不同的模态对进行裁剪。匹配强度模式将被训练为优化潜在标签对应的网络学习。第四,可以加入不同的正则化项,如弯曲能(Rueckert et al., 1999),L1- or位移梯度的L2范数(Fischer和Modersitzki, 2004; Kumar and Dass,2009; Vishnevskiy et al., 2017),附加为网络架构的约束。

2.2 用于测量标签相似性的多尺度Dice

在图像配准的情况下,直接使用基于Dice、Jaccard和交叉熵的二值解剖标签之间的经典重叠度量不适合测量标签相似性。例如,当两个前景对象不重叠时,它们不考虑空间信息。它们都趋近于极值,对象之间的距离不变。我们的初步工作报告使用交叉熵与基于再加权反距离变换的启发式标签平滑方法(Hu et al., 2018)。由于距离变换在每次迭代中既不能微分,也不能有效计算,因此通过插值预计算的标签映射来近似变形的标签。

在这里,我们提出了一种基于多尺度Dice的替代标签相似性度量方法。软概率Dice(Milletari et al., 2016)s_{Dice}在医学图像分割任务中被证明对类不平衡不那么敏感(Sudre et al., 2017). 两个标签a = {a_i}b = {b_i}a_i,b_i\in[0,1]之间s_{Dice}在如下给定:

s_{Dice}(a,b) = \frac{2\sum_{i=1}^{I}a_i\cdot b_i}{\sum_{i=1}^{I}a_i+\sum_{i=1}^{l}b_i}---------------------------------------(4)

其中i=1,...,II图像体素。在最小的训练彼此中给定的二值标签对l_k^B =\{(l_k^B )_i\}y_k^A =\{(y_k^A )_i\},为了更好的捕捉标签对之间的空间信息,提出了多尺度Dice,定义如下:

J_{k} = \frac{1}{Z}\sum_{ \sigma }S_{Dice}(f_{\sigma}(l_k^B),f_{\sigma}(y_k^A))--------------------------------------(5)

其中f_{\sigma}是一个标准差为\sigma各向同性的3D高斯滤波器。在本文中,尺度Z设置为7,\sigma\in\{0, 1, 2, 4, 8, 16, 32\}在mm。f_{\sigma=0}是否等同于用狄拉克Dirac delta函数进行滤波,意味着一个未过滤二进制标签在原来的规模也包括当s_{Dice}平均值。图3为解剖标签的多尺度滤波示意图。所提出的基于高斯滤波的多尺度损失度量是可微的,如果需要,可以在非刚性扭曲和必要的数据扩充后实时有效地进行评估。

为了便于比较,本文提出的多尺度方法还采用了负交叉熵的分类损失:

S_{CE}(a,b) = \sum_{I}^{i=1}\sum_{2}^{c=1}p_c(a_i)log p_c(b_i)------------------------------------(6)

p_c代表前景和背景之间的类概率类,c=\{1,2\}。在这种情况下,可以使用一个数值稳定的实现来裁剪极端输入概率。我们总结了在设计Eq(5)中提出的标签相似性度量时的几个技术考虑:1)它具有惩罚高可信度的二元预测的效果,类似于标签平滑正则化方法(Pereyra et al,. 2017; Szegedy et al., 2016);2)从分类的角度来看,它进一步改善了训练中基于体素样本的前景类和背景类之间的梯度平衡,减少了期望类概率之间的差异(Lawrence等,2012);3) 它提供了来自解剖标签的非饱和梯度,特别是那些体积较小的,因为在较大的尺度上高方差空间平滑;4)利用递归和可分卷积核进行计算是非常有效的。

2.3 网络结构

见我们的初步工作(Hu et al., 2018), 一个全局子网络预测一个仿射变换可以结合共同训练局部子网络预测 局部DDF,为了克服实际困难的传播形变的梯度规范少的支持标签数据。在这项工作中,我们描述了一个新的架构,利用一个单一的网络预测在和不同的分辨率水平上来位移求和。较低级别的位移总和提供了全局信息,与全局子网络的信息类似,但是全局子网络没有大量的内存使用。这些方法将在第3.2节中进行比较。

根据我们之前的工作(Ghavami et al., 2018)和现有的学习光流的技术(Ilg et al., 2017)将前列腺从TRUS图像中分割出来,将网络设计为4个下采样块,4个上采样块的三维卷积神经网络。见图4,网络比U-Net更紧密连接提出了图像分割(Ronneberger et al ., 2015),也有更少的内存需求,包括三种类型的先前提议基于残余综合的快捷径,1)四个求和跳过层简化整个网络在不同的分辨率水平(Yu et al., 2017), 2)八个标准残差网络捷径方式求和功能映射在两个序列卷积层(He et al., 2016),在转置-卷积层上加4个三线性加性上采样层(Wojna et al., 2017)

在计算机视觉任务(He et al., 2016; Huang et al., 2016; Leeet al., 2015; Szegedy et al.,2015)和医学图像分析(Dou et al.,  2017; Garcia-Peraza-Herrera et al., 2017; Gibson et al., 2017a)。除了上面描述的完全应用的残差捷径方式外,我们还将基于求和的跳跃层引进到不同分辨率级别s_{0,4}的位移空间中。在Fig.4下方的视图;每一方up-sampling块延伸到一个节点的位移预测trilinear-up-sampled在s_{1-4}层上被加数\sigma_{1-4},额外的卷积后层添加到一个偏差项,没有batch normalisation或标准非线性激活。这些被加数,输出DDF的规模,然后添加到被加数\sigma_0在输入图像分辨率级别s_0,预测单个输出DDF。

物理参数化的全局转换,如刚性和仿射模型,对网络初始化很敏感,就像训练空间变压器网络一样(Jaderberg, 2015)。在较小程度上,预测位移的配准网络也存在同样的问题。这些求和节点的设计允许使用零均值进行随机初始化,并且允许卷积权值和偏差(在位移跳跃层上)与初始DDFs的受控大小进行小的变化,从而使扭曲的标签生成有意义的初始梯度。三线性采样提供了线性卷积之间的有界非线性激活。

所述的加性位移跳跃层计算效率更高,而且可能更容易训练,相比于在不同级别组合位移或连接扭曲的输入图像(Ilg et al., 2017;Yu et al., 2016),两者都需要重新采样。值得注意的是,所描述的四个位移跳跃层是由网络上采样级别决定的,因此与上述2.2节中描述的标签相似性度量的尺度选择无关,该节评估了相对于单个输出DDF的损失。

如图4所示,第一个特征图从n_0初始通道开始,向下采样块依次增加一倍通道数和减半特征图大小,向上采样正好相反。每个块由两个卷积和批量归一化(BN)层与整流线性单元(relu)组成。通过最大池(maxpool)和转置卷积(deconv)层分别实现了3D下采样和上采样,它们的步长都是2。除了第一个卷积层使用了7×7×7个核,所有的卷积层都有3×3×3个核,以保证有足够的接受域。

3 实验

3.1 数据

在SmartTarget®临床试验中,共获得76例患者的108对t2加权的MR和TRUS图像(Donaldson等,2017)。每个患者最多有三个图像数据集,这是由于他进入的多个程序,即活检和治疗,或根据治疗试验方案在开始和结束时获得的多个超声体(“SmartTarget:活检”,2015年,“SmartTarget治疗”,2014年)。使用标准的临床超声设备(HIVISION Preirus, Hitachi Medical Systems Europe),配备双平面(C41L47RP)经会阴探头,范围57 - 112在每个病例中,通过旋转数字超直线步进器来获得TRUS帧(D&K Technologies GmbH, Barum, Germany)获得的,所记录的相对角度覆盖了前列腺的大部分。这些旁矢状面的片随后被用来重建笛卡尔坐标下的三维体块(Hu et al., 2017)。将MR和TRUS图像重采样至各向同性体素0.8×0.8×0.8 mm3后,再用单位方差强度将其归一化为零均值。

从这些患者中,共有834对相应的解剖标志被贴上两个医学成像研究人员和研究生使用内部voxel-painting工具的原始图像数据,都验证了第二观察家包括放射学家顾问和高级研究员。作为试验方案的一部分,获取了MR图像上的前列腺切片(Donaldson et al,2017)。TRUS图像上的腺体分割是基于原始TRUS切片上的前列腺自动轮廓进行手工编辑的(Ghavami et al., 2018)。除所有病例均有完整的腺体分割外,其标志包括:顶点、基底、尿道、可见病变、腺体交界处、腺体分区分隔、输精管和精囊,以及其他患者特异性的点标志,如钙化、充满液体的囊肿(如图1、图3所示)。本研究中使用的标签对包括108(12.9%)对腺分割,213(25.5%)顶点或底部对, 214(25.7%)相对应的结构区域边界,尿道37例(4.4%),262个(31.4%)特定病例感兴趣的钙化沉积物和囊肿等,平均体积为0.39±0.21立方厘米和[0.13, 18.0] cm3范围,不包括腺分割。地标的标注过程耗时200多个小时。以二值掩模表示的解剖标签被重新分组为相关MR或TRUS图像的大小和分辨率,并被重新分组为训练(见第2.1节)和验证(见第3.3节)的交叉验证方案

3.2 实施和网络训练

上述方法在TensorFlow™(Abadi et al., 2016)中实现,使用三线性重采样模块和NiftyNet中开源代码改编的3D图像增强层(Gibson et al., 2017b)。实验报告的所有网络的重新实现都可以作为NiftyNet (NiftyNet.io)的一部分使用。在每次训练迭代之前,通过随机仿射变换对每个图像-标签对进行变换,以增加数据。每个网络都用12GB NVIDIA®Pascal™TITAN Xp通用图形处理单元(GPU) 在高性能计算集群上运行48小时。

3.2.1 建议的基线网络和变体

如果不广泛搜索和完善超参数,可能会系统地低估所报告的泛化错误,从学习开始就使用Adam优化器对经验配置的“基准”网络进行了训练。初始化学习率10-5,最小批量为4,四个全尺寸图像标签组合。形变正则化权重设置为a=0.5,弯曲能量和多尺度Dice之间的差值,如第2节所述。未使用重量衰减。初始特征图的通道数量设置为n_0=32。使用Xavier初始化程序(Glorot)为所有网络参数分配了初始值
和Bengio,2010年),但最终位移预测层允许控制初始输出,如本节2.3所述。对于本文所报告的结果,这些卷积核和偏差参数被初始化为零。我们指的是经过这些超参数训练的网络称为“基准”网络,用于与使用不同参数的网络进行比较超参数。除了比较的每个超参数外,这些配置在下面均保持不变网络。

比较了提出的“基线”网络损耗函数的两种变体,用2.2节(“Baseline- msCE”)中描述的多尺度交叉熵代替多尺度Dice,或者用位移梯度的平均L2范数代替弯曲能量(“Baseline-L^2”)。

虽然在Eq.(5)中提出的标签相似度度量的优点之一是需要实时计算时的计算效率,但是在训练之前预先计算高斯滤波标签可能会进一步加速训练。因此,我们训练了一个基线网络,该网络使用在不同尺度上预先过滤的标签图(“baseline - prefilt”),而Dice指标在训练期间直接在重新采样的多尺度标签映射上进行评估。

为了验证所提出的网络架构,“Baseline”网络仅在预测位移σ0为输入图像分辨率级别s0 ,即在分辨率级别s1-4时无位移求和δ1-4(“Baseline-δ0”,如图5b)。 这类似于我们的初步工作中提出的“ Local-Net”(Hu et al., 2018)。 此外,以前的工作建议,最好不要在最佳水平上预测正规化位移(Dosovitskiy et al., 2015)。 因此,“Baseline”网络也接受了所有位移求和的训练,除了级别为s0的那个。位移加总到输出上的水平s1-4(“Baseline-δ1-4”,如图5c所示)。 对于两个网络,下采样块和上采样块保持不变。

3.2.2 与以前的网络比较(Hu et al., 2018)

提出了如图6所示的“ Global-Net”,以使用相同的学习框架预测仿射变换详见第2.1节。提出了一个“Composite-Net”来组成“Global-Net”和“LocalNet”的输出DDF,如图7所示。 (Hu et al,. 2018)中描述了比较的“ Global-Net”和“ Composite-Net”的详细信息。由于数据集和相关的培训策略的差异,直接与先前报告的数值结果进行比较可能是不公平的。例如,本文报道的结果基于实质上更多的解剖学标记由第二个观察者(在第3.1节中进行了说明)进行了验证,但没有使用频率较低的“低置信度”标签(Hu et al., 2018)。为了直接比较不同的网络体系结构,使用与“Baseline”网络相同的多尺度Dice对“ Global-Net”和“ CompositeNet”进行了重新训练,起始学习率较小,为10-6以避免其他方式经常遇到的差异(由于输出位移对仿射参数的敏感性)。24GBNVIDIA®Quadro™P6000 GPU卡用相同的小批量大小训练“ Composite-Net”需要12GB以上GPU内存的。

3.3 交叉验证

...

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于多模态图像配准的弱监督卷积神经网络 的相关文章

  • STM32使用FAT文件系统-代码简读

    FAT的一些基础知识 概念先看我这一篇 FAT32文件和目录的组织方式 fat32文件系统架构设计 暴躁的野生猿的博客 CSDN博客 fat文件系统的所有外部接口都在ff h中 物理驱动器 逻辑驱动器 一个物理驱动器就是一个真实的存储设备
  • mysql查询包含逗号的数据,并逗号拆分为多行展现

    在做系统开发的时候 有可能是由于之前的遗留问题 导致在数据入库的时候 将多个数据以逗号分隔的实行 存储在一条数据中 例如 ID VALUE 1 yang zheng song 2 zhao qian sun 3 jiang 现在因为新的需求
  • Anaconda创建并管理Python虚拟环境

    在使用Python进行一些开发或分析工作时 需要安装并使用大神们写的一些程序包 有的程序包只支持32位Python环境 有的支持64位Python环境 有的包支持最新版本 有的可能只支持以前版本 3 6或2 x 而且不同包之间还有版本依赖性
  • 基于深度学习OpenCV与python进行字符识别

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 当我们在处理图像数据集时 总是会想有没有什么办法以简单的文本格式检索图像中的这些字符呢 今天我们就一起看看有没有什么简单的办法可以实现这一功能 对于字符识别 我们找到了一
  • 性能测试,服务器资源监控工具nmon常用操作

    在性能测试过程中 对服务端的各项资源使用情况进行监控是很重要的一环 这篇博客 介绍下服务端监控工具 nmon的使用方法 一 认识nmon 1 简介 nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具 它能在系统运行过程
  • Linux驱动开发入门(二)VS code驱动开发配置

    开发环境配置 安装 配置 安装 VS code是一款功能强大的开源编辑器 能够在各个平台安装使用 如Linux Widows Mac 而我们Linux驱动直接运行在Linux上 所以下载安装在Linux平台 示例机系统为Ubuntu 20
  • OPC配置DCOM解决方案

    OPC配置DCOM解决方案 概述 随着对数据重要性的提升以及数据交换问题的重视 大家对免费的OPC server使用有所增加 下面跟大家分享一下解决OPC 配置DCOM困难问题 免去繁琐的工作量 直接导入变量解决OPC配置DCOM问题 适用
  • 使用k-means及k-prototype对混合型数据集进行聚类分析

    1 分析目标 本项目旨在使用聚类算法对110个城市进行分类与排序 以寻找客观真实的城市分层方法 支持业务运营与决策 2 数据集 数据集来源于某互联网公司 特征值标签已做脱敏处理 数据集尺寸为111行 5列 第一行为标题行 其余110行为实例
  • 小程序 调用微信支付

    首先调用小程序wx login登录接口 获取用户code 将code作为参数 传给后端 调用后端接口wechat pay prepay 获取后端 这五个返回值 nonceStr package2 paySign signType timeS
  • 理解Token没那么复杂,别被大佬们忽悠晕了

    区块链很火 Token很繁荣 甚至有些人开始高呼Token经济的时代已经到来了 Token经济真的来了吗 在我们看来 还言之过早 时下现状是 很多专家在谈Token 但大多数内容都是形而上 太飘渺 让人晦涩难懂 只适合业内人士的口味 不适合
  • 财报解读:上半年GMV超50亿元,交个朋友瞄准了更广阔的市场

    于今年7月曲线上市的交个朋友交出了首份 答卷 近日 交个朋友控股披露了2023年上半年财报 营收4 33亿元 同比增长215 5 经调整净利润约9463 5万元 同比暴增1798 全网合计GMV超50亿元 图源 交个朋友财报 交个朋友能取得
  • 如何用C++实现自己的Tensorflow

    原文 How To Write Your Own Tensorflow in C 作者 Ray Zhang 翻译 无阻我飞扬 摘要 TensorFlow是由谷歌基于DistBelief进行研发的第二代人工智能学习系统 其命名来源于本身的运行
  • 施乐s2110进入维修模式_施乐S2110维修手册(无密码)

    实例简介 施乐S2110维修手册 已清除密码版本的 防止密码忘了打不开 Docu Centre s2110 维修手册Ver10 发行 2017年5月 关于因设计变更等原因而修订维修手册 本维修手册用于下列产品 本维修手册的记载内容中出现相关
  • OpenCV Series : Target Box Outline Border

    角点 P1 0 255 000 000 P2 1 000 255 000 P3 2 000 000 255 P4 3 000 000 000 垂直矩形框 rect cv2 minAreaRect cnt targetColor roi co
  • 2.3.8 WPar(Workload Partition)工作负载分区

    最后更新2021 07 14 WPar是一种软分区 本质上与Power CPU无关 只要能运行AIX v6 1 就可以创建WPar 在AIX v6 1版安装的系统之内可以再生成若干AIX实例 所谓AIX实例是指完整的AIX运行环境 包括操作
  • OpenCV中LU分解实现矩阵求逆invert(DECOMP_LU)-定点化

    基于LU分解的矩阵求逆定点化版本 由于需要频繁移位 因此定点比浮点还耗时 浮点版本参考上一篇博客 http blog csdn net xidianzhimeng article details 51284206 话不过多 直接上代码 有不
  • JavaWeb开发与代码的编写(二)

    JavaWeb开发与代码的编写 二 Http协议 HTTP是hypertext transfer protocol 超文本传输协议 的简写 它是TCP IP协议的一个应用层协议 用于定义WEB浏览器与WEB服务器之间交换数据的过程 客户端连
  • tool.lu.php,Tool.lu收录40种常用开发工具,最全面的站长开发极客类在线工具

    之前我介绍过 ViewDNS info集合23种免费实用DNS域名网站检测在线工具 网络服务 这是我个人很喜欢 也常用到的网络工具 主要是它把许多常用功能都集合在同一页面里 让我们无须安装或下载软件 透过浏览器就能解决基本需求 基于便利性

随机推荐

  • 无限对决连接不上服务器,《无限对决》官方网站-全球首款3D快节奏MOBA

    前戏去死 上手高潮 颠覆格斗体验 2014 09 19 今日 网易游戏正式发布全球战略级产品 3D快节奏MOBA 无限对决 产品视频也同期亮相 由网易游戏旗下工作室Inception开发的 无限对决 采用了与传统MOBA类游戏迥异的TPS视
  • 我在日本小帅哥那学习了GCN

    事件起源 最近在研究GNN 看了些许GNN的东西 心想着光看不练门外汉啊 这可不行 于是我开始自己动手实现一个GCN识别 一想到整一个模型demo 那必少不了MINIST数据集 反正就移花接木大法 MINIST可能会想 我这么忙 真的屑屑你
  • 京东金融上线人工智能解决方案“京东超脑”,重庆市建立国际大数据产业学院

    京东金融上线人工智能解决方案 京东超脑 高德地图与德尔福就大数据 智能驾驶能达成战略合作 专注为中小企业提供贷款服务 金融科技公司Lendingkart获2500万美元融资 以下为您奉上更多大数据热点事件 编辑 Abby 官网 www da
  • 【Python脚本】Python自动大麦网抢票,准点原价秒杀演唱会门票,拒绝黄牛交易!从我做起!!!1

    文章目录 前言 一 分析购票过程 二 Selenium 模拟浏览器操作 三 逆向工程 抢票接口 总结 前言 你是否错过了周杰伦的票 最近又没抢到五月天的票 不要太难过 今晚有张学友的票 后天还有张杰的票 加油哦 Python配套案例源码 资
  • HTML中各类空格占位符

    符号 表示 32 普通的英文半角空格 160 nbsp xA0 普通的英文半角空格但不换行 12288 中文全角空格 一个中文宽度 8194 ensp 半角 en 空格 半个中文宽度 不受字体影响 8195 emsp 全角 em 空格 一个
  • 金九银十,你需要这份Android大厂高频面试题解析

    一年已经过大半 金九银十将来临 在寻找下一份工作之前 我们需要先问自己几个问题 首先 我们的基础知识是否扎实 有没有学习新技术 其次 有没有尝试过不依赖百度来解决问题 第三 我们的技术栈是否已经老化 有没有接触过工作之外的技术栈 随着技术的
  • CSS中常用的属性.htm

  • 企业微信刚上线被曝存安全漏洞

    4月18日 腾讯正式在iOS Android Windows Mac四个平台同时推出了企业微信1 0版本 这个江湖传闻已久的第一代企业微信1 0版本也是腾讯用来投石问路的产品 用户可注册并免费使用 这款定位为一款办公沟通工具 想让我们的工作
  • 软件测试之删除功能点用例梳理

    共计22点 一 UI界面测试 删除按钮 UI显示正常 布局合理 删除后 结果展示 布局合理 删除后 页面的分页 布局合理 二 用户体验测试 不选择任何信息 直接点击删除按钮 是否有提示 删除某条或多条信息时 应该有确认提示 三 功能测试 删
  • docker mysql5.7.16 中文乱码

    有部分同学会遇到 在centos上docker mysql没乱码 但是在fedora系统上的docker mysql会有乱码问题 这兴许是docker mysql的问题 这里的bug我们不去追究 这里主要讲解决方案 首先系统要安装有dock
  • 工业质检如何以“智”取胜?15分钟上手工业零部件检测全流程方案

    工信部联合国家发展改革委 教育部 科技部等部门发布了十四五智能制造发展规划 规划中提出 到2025年70 规模以上的制造业企业基本要实现数字化网络化 建成500个以上引领行业发展的智能制造示范工厂 制造业离不开质检质检需要AI智能化赋能 制
  • 问题:your cpu does not support kvm extensions

    问题 我的BIOS开启了CPU虚拟化 但是虚拟机仍然显示your cpu does not support kvm extensions 解决 1 关闭虚拟机 2 虚拟机上单击右键 设置 3 选择下图选项 4 重启虚拟机 问题解决
  • JAVA 中的 -> 是什么意思?

    在 JAVA核心编程 中 有一段这样的代码 import javax swing import java awt import java io File public class ImageViewer public static void
  • 我的创作纪念日2023.8.5

    机缘 在CSDN的创作开始于去年 创作的初衷是希望对自己的学习经历进行记录 同时也把自己的经验和收获传递给更多需要的小伙伴 创作博客的过程是一个将输入的知识进行再生产的过程 在此期间 知识获得了沉淀和提纯 思路和想法也愈发通畅 收获 1 在
  • sql根据入职日期查询工龄

    员工表 查询入职满5年的员工 员工表 查询入职满5年的员工在这里插入图片描述 部门表 在这里插入图片描述 SELECT FROM COM WHERE entry lt DATE SUB SYSDATE INTERVAL 5 YEAR 原文链
  • 苹果开发者账号Apple ID如何进行资料修改?

    我们在申请了开发者账号后 有时候需要对账号进行资料修改 只要你有了Apple ID 也就是邮箱 和苹果的密保 密码 那这个Apple ID就唯一属于你的了 下面会截图说明如何进行修改 首先登陆Apple ID管理网站 https apple
  • Leetcode466.统计重复个数——掐头去尾寻找循环点

    文章目录 引入 本题题解 引入 每日一题出现了这么一道题 466 统计重复个数 题目在此就不做展示了 直接说思路 刚拿到这道题的时候 首先会找 多少个s1才能够拼成一个s2 比如 abba 和 ab 那么一个 abba 里面就包含了 abb
  • 蓝桥杯真题:乘积尾零(2018 年省赛)

    如下的 1010 行数据 每行有 1010 个整数 请你求出它们的乘积的末尾有多少个零 5650 4542 3554 473 946 4114 3871 9073 90 4329 2758 7949 6113 5659 5245 7432
  • c结构体中char[0]的作用-实现数组扩展

    struct Data int len char data 0 原来的data中没有元素 不分配内存 结构体Data的大小为4 假如现在分配15字节的内存 并且将指向这块内存的指针强制转换为 Data Data pData Data mal
  • 用于多模态图像配准的弱监督卷积神经网络

    Weakly Supervised Convolutional Neural Networks for Multimodal Image Registration 摘要 在多模态图像配准的监督学习中 最基本的挑战之一是体素级空间对应的基值的