利用枪口模式识别作为一种生物特征识别方法

  • 论文简介
    • 标题
    • 期刊情况
  • 论文内容
    • 摘要
    • 介绍
    • 材料与方法
      • 从提取的墨迹识别枪口模式
        • 枪口模式识别算法
        • 提升油墨印刷的程序
      • 灰度数字图像的枪口模式识别
        • 枪口模式识别算法
        • 数字化枪口图形图像的获取
    • 结果与讨论
      • 从提取的墨迹识别枪口模式
      • 从数字图像识别枪口模式
    • 结论

论文简介

标题

  • 英文:《USING MUZZLE PA TTERN RECOGNITION AS A BIOMETRIC APPROACH FOR CA TTLE IDENTIFICATION》
  • 翻译:《利用枪口模式识别作为一种生物特征识别方法》

期刊情况

  • 期刊:《Journal of Real-Time Image Processing》
  • 期刊情况
    • 2020年影响因子:1.968
    • JCR分区 / 中科院分区:Q3 / 3区
    • 审稿速度:>12周,或约稿

论文内容

摘要

  • 由于目前需要对牛的可追溯性进行积极的识别,这项工作的目的是调查使用枪口图案作为基于生物特征的牛识别器的可行性,方法是通过提取墨迹和数字图像获取枪口图案。一个三阶段匹配算法被评估为扫描枪口墨水打印,并在所有情况下成功执行。喷嘴的数字成像远比油墨印刷提升方法简单。对于这些数字图像,使用了主成分分析和欧氏距离分类器技术。算法训练是在来自29头牛的不同数量的标准化枪口图像上独立进行的(每只动物2、4、6、8和10组训练图像)。这项技术的性能是在一组单独的图像上进行评估的(每只动物3张标准化枪口图像)。结果表明,当使用230个特征向量(共290个)时,识别率为98.85%,增加特征向量并不能提高识别率。不出所料,较少的主成分(少于230个)降低了识别率,而每只动物更多的训练图像提高了识别率。虽然研究结果已经证明了枪口模式识别作为一种非侵入性、廉价和准确的牛生物识别器的潜力,但进一步的自动化研究是必要的。

介绍

  • 《欧洲食品法178/2002》(欧洲联盟,2002年)第18条规定了在生产、加工和分销的所有阶段建立产食品动物的可追溯性。一般来说,可追溯性是指能够根据生产顺序中的原产地来识别农场动物及其产品的能力,这对于

    • (1)确定所有权
    • (2)识别亲子关系
    • (3)确保食品安全
    • (4)确保合规性(例如,来源验证、过程验证、生产实践验证、牛肉出口验证和真实性管理)是必要的。
      牛和肉的跨国自由流动增加了对一种既准确又防篡改的识别方法的需求。据报道,动物耳标作为一种识别手段并不十分成功,原因有很多,包括标签丢失、篡改和动物福利(约翰斯顿和爱德华兹,1996年;Wardrope,1995)。这些研究人员表明,常用的耳标会对牛耳朵的完整性造成短期和长期的并发症。另一方面,虽然可以给动物分配一个识别号码,并且可以使识别系统尽可能防篡改,它将对能够对照不变参数验证动物身份是有益的,尤其是在可疑欺诈的情况下。正如朱克(2003)所指出的,有效核查制度的存在也将减少实施欺诈的诱惑,减少实际欺诈。这就需要一种物理的、解剖学的或生物分子的不变特征来*唯一 * 地识别一种特定的动物。通过生物特征标记识别牲畜的方法包括DNA“指纹识别”、自身免疫抗体匹配、虹膜扫描、视网膜成像、枪口指纹匹配(Smith等人,2005年),以及最近的面部识别(Corkery等人,2007年)。使用非侵入性生物识别方法不仅有效,还能保护动物的福利。
  • 枪口图案是牛的一种皮纹特征,类似于人类的指纹(巴拉诺夫等人,1993年)。覆盖在枪口上的椭圆形、圆形或不规则的结构被认为是“珠子”,而细长的结构,直的或弯曲的,以特定的方式排列,被称为“脊”(潘迪,1979;Mishra等人,1995年a)。已经开发了一种编码系统,通过枪口模式特征来识别牛。该编码系统基于
    • (1)根据中央谷的存在或不存在的主要分类(有槽的类别、无槽的类别和特殊类别),以及基于珠、脊和图案脊的分布和排列的进一步子分类(总共14个子类别)(Mishra等人,1996);
    • (2)使用图案脊的角度测量的用于个体识别的次二级编码(Mishra等人,1998)。Mishra等人(1996年)将图案脊定义为源自枪口中央谷或位于枪口基线中心的同一点的脊。
      次级系统的最终代码(由代表基数,中间值和上位的字母和数值的组合组成物 ,以及枪口印记的上半部分)可以区分600多个枪口印记。
  • 虽然枪口图案已被证明是一个非常*个性化 *的特征,但由于其不切实际,其在识别方面的应用一直局限于羊和牛的展览会。它的主要缺点(Fitzgerald,2004),即打印所需的时间长度和难以获得高质量的打印,是缺乏对这种潜在生物特征研究的原因。在这种情况下,这项工作的目的是调查使用枪口模式进行牛的识别和验证的可行性,方法是
    • (1)评估一种算法,用于从扫描的墨水印迹中匹配枪口图像;
    • (2)开发一个程序 ,用于枪口数字成像和使用主成分分析的图像匹配。

材料与方法

从提取的墨迹识别枪口模式

枪口模式识别算法

  • 枪口打印图像的第一个处理步骤是找到允许图像旋转和一致提取视场(裁剪的中心矩形)的参考点。具有最佳拟合的二次函数被调整到枪口印迹的鼻孔区域的极限(图1)。找到函数的一阶导数零点的位置(图像旋转90°),相应的像素坐标作为参考点。角度(a)在连接参考点的线和水平线之间进行测量。图像然后被旋转a度,以便参考点可以位于同一水平高度。接下来,计算参考点(d)之间的像素距离,并以这样的方式裁剪中心矩形,使得d是矩形的宽度,0.8d是矩形的高度,并且连接参考点的线位于矩形的中间。
  • 为了降低噪声,对图像进行了3×3核的中值滤波。然后灰度图像使用模糊阈值技术转换成二值图像。为此,图像被分成12个子区域(4列3行),并且为每个子区域确定最佳阈值。一旦用局部阈值对图像进行二值化,就应用下面一系列的二值化预处理操作。*使用3×3菱形结构元素(Russ,2002),二值图像被侵蚀和扩张。然后,去除背景的孤立像素,并填充结构(脊和珠)中存在的孔 *。然后,如果像素3×3邻域中的五个或更多像素为1,则像素被设置为1,并且小对象(面积小于40像素)被移除。图2b显示了生成的枪口图案图像。最后,图像边界处的枪口结构被删除(图2c)。图2d显示了使用距离变换(Gonzalez等人,2004)应用分水岭分割分离连接结构后的结果图像。
  • 在二进制处理和分水岭分割之后,我们为每个图像计算特征矩阵M(ns,ds),其中ns是结构的数量,ds是描述符的数量(ds = 8)。描述符包含枪口图案中每个结构的面积、方向、形状和位置的信息,它们是:
    • 面积(A):每个结构的面积用像素数来表示。
    • 位置§:图像区域被分成9个区域(3行3列),标记为位置块。如果枪口模式结构位于位置块1,那么它被标记为1;然而,如果一个结构碰巧位于例如块3、6和9中,那么它被标记为369。
    • 方向(O):x轴与椭圆长轴之间的角度,以度为单位,该椭圆与该区域具有相同的二阶矩。
    • 偏心率(E):椭圆的偏心率,它与区域具有相同的二阶矩。偏心率是椭圆焦点之间的距离与其长轴长度之比。
    • 实度(S):凸包中也在该区域中的像素的比例。它被计算为面积/凸面积。凸包是可以包含该区域的最小凸多边形。
    • 紧致度(Cm):这个是4ΠA/P^2,其中A是该区域的面积,P是其周长(以像素长度计)。
    • 质心(C(x,y)):计算每个结构在x轴和y轴上的质心坐标。
      枪口模式识别包括三个阶段:
    1. 初步匹配分数、
    2. 用于比较枪口模式结构的决策树
    3. 随机选择的匹配结构的三角测量
  • 匹配分数:这里,使用边界清洗前的二值图像(图2b)。对于每对二值图像Q(m,n)和R(o,p),其中Q(m,n)比R(o,p)大,找到图像中心的像素坐标,(mc,nc)和(oc,pc)。图像R(o,p)然后从公共位置R(oc,pc)和Q(mc,nc)开始叠加在Q(m,n)上。匹配分数(Sc)计算如下:

    其中u是两幅图像之间的像素间比较的总数(即,可以叠加的像素的数量),以及:

    重复该过程,将R(o,p)转换到Q(m,n)内所有可能的位置。最后,以图像的叠加轴为中心,(mc,nc)和(oc,pc),图像R(o,p)以2°为步长从-10°旋转到10°,并计算匹配分值。确定了所有比较的最大匹配分数。该分数代表一对图像的枪口图案的重叠(或相似)的比例,其值在< 0-1 >的范围内。
  • 决策树:如果图像对R(o,p)和Q(m,n)之间的匹配分数高于0.68(为该工作设置的匹配分数阈值),则该算法进行到下一阶段,该阶段调查被比较的图像对是否呈现形状、位置、面积和方向上共同的结构。这种比较是通过图像的特征矩阵磁共振MR(包含nsR结构)和MQ(包含nsQ结构)进行的。因为来自同一动物的两个枪口墨迹不能完全相同,所以基于每个特征的阈值建立了决策树(图3)。这一过程从位置描述符开始,并以下列方式测量两个结构(MR(a)和MQ(b))之间的相似性百分比。

    如果MR(a)的位置为123个块,MQ(b)的位置为12个块,则相似度百分比为66.6% (2个公共块/ 3个块号)。如果MR(a)的位置是45,MQ(b)的位置是4578,那么相似度百分比是50% (2个公共块/ 4个块号)。如果MR(a)的位置是25,MQ(b)的位置是89,那么相似度百分比是0% (0个公共块/ 4个块号)。如果相似度百分比高于固定位置阈值(50%),则比较以下描述符:MR(a)和MQ(b)之间的差异比例计算如下:

    固定面积阈值为0.2。如果面积差异比例低于阈值,则比较下一个描述符。等式3用于比较每个描述符。阈值如图3所示。最后,CSR矩阵和CSQ矩阵分别包含了MR和MQ中的共同结构。在CSR和CSQ为空矩阵的情况下,图像R(o,p)和Q(m,n)被视为非匹配图像;因此,枪口的指纹不属于同一种动物。然后将查询图像Q(m,n)与另一个图像进行比较,并通过计算匹配分数(Sc)来重新开始整个过程。
  • 结构三角测量:为了证实枪口模式图像R(o,p)和Q(m,n)的匹配,在匹配结构中执行三角测量。遵循潘迪(1979)给出的程序,从CSR和CSQ随机选择三个匹配的结构。这些结构被命名为X、Y和Z,以及X1、Y1和Z1。前三个结构属于CSR,其他属于CSQ。X、Y和Z的质心与X1、Y1和Z1的质心连接在一起形成三角形。另一对三角形由其他随机选择的匹配结构形成。如果两个三角形的边长之和的比值(Rt)在0.95到1.05的范围内,那么就可以得出结论,枪口印痕R(o,p)和Q(m,n)属于同一种动物。

提升油墨印刷的程序

  • 通过使用一组来自十只牛肉动物的枪口墨迹来检验使用模式识别算法的可行性。这项工作中使用的动物是利木赞和阿伯丁-安格斯品种的成年动物(2至3岁)。枪口墨迹是同一个人在不同的日子获得的一式两份。只使用了少量的动物,因为在冬天很难获得清晰的、没有斑点的枪口印(由于枪口上有过多的水凝结)。使用了以下用于油墨印刷的材料(来源于北卡罗来纳州南港市犯罪研究产品有限公司):

    • (1)黑色印刷油墨(A级),质地光滑,无结块;
    • (2)一个软辊,长15厘米;
    • (3)具有光滑边缘和表面的铝板,用于制备均匀的墨膜;
    • (4)掌纹记录卡。
      制作了一个长25厘米、宽15厘米的金属垫,该金属垫具有便于油墨印刷的适当曲线,并将相同尺寸的高质量硬质泡沫粘合到金属垫上。这些动物被用粉碎机(爱尔兰米斯的方舟企业养牛场主固定装置)进行了限制。
  • 按照米什拉等人(1995年b)给出的程序,油墨印刷被提起。在清洁棍的帮助下,在清洁且光滑的铝板表面上制备薄且均匀的墨膜。金属垫是通过在上面固定打印纸而制成的。然后用棉毛巾清洗并干燥枪口。然后将止汗剂(英国福克斯通卡特产品有限公司的阿里德特干)涂在枪口上,以检查出汗情况。用毛巾再次清洁枪口,去除附着在枪口上的汗水和过多的止汗剂。当动物的头被牢牢抓住时,涂有墨水的板被施加到枪口上,以使墨水在枪口表面上均匀分布。随即,贴着纸的金属垫从枪口的底部滚到顶部。然后取出纸张,让其干燥。在重复这个过程之前,所有的材料都被清洗干净了。举起的枪口图案用平板扫描仪转换成*数字图像 *,以分辨率为400 dpi,以TIFF格式保存。在Matlab 7.14中编程实现了从扫描的墨水指纹中识别枪口模式的算法。

灰度数字图像的枪口模式识别

枪口模式识别算法

  • 我们的研究小组开发了一种用于枪口模式识别的方法,MuzzleView。在模式识别算法之前,所有的数字图像都要经历一个标准化过程。归一化将原始图像转换成标准格式,消除或衰减可能影响识别性能的变化(赫塞尔廷等人,2002)。通过手动定位两个关键点来旋转枪口图像。这些参考点是沿着鼻孔的两个点,如果结合,将产生鼻孔之间最短的距离(图4a)。这相当于枪口图案印花的参考点(图1)。然后,图像被裁剪并缩小到包含枪口图案细节的200 × 200像素的正方形校正图像的频率直方图以减弱图像之间的照明变化,这是算法性能的关键因素(Moon和Phillips,2001)。图4a显示了用摄像机获取的枪口图像,图4b显示了标准化后的枪口图像。

  • 枪口模式识别算法是基于人脸识别的特征脸算法(特克和彭特兰,1991;王等,2005)。用数学术语来说,必须找到炮口图形分布的主要成分,或炮口图像集协方差矩阵的特征向量。这些特征向量可以被认为是一组共同表征枪口图像之间变化的特征。训练集中的每个枪口图像可以精确地用特征向量的线性组合来表示。可能的特征向量的数量等于训练集中枪口图像的数量。然而,也可以使用具有最大特征值的特征向量来近似枪口,因此这些特征向量解释了枪口图像组内的*最大方差 *。这些特征向量定义了枪口图像的子空间。当一个新的枪口图像或输入枪口图像被投影到特征向量空间时,最简单的枪口类提供了输入枪口图像的最佳描述确定方法,就是找到最小化欧几里德距离的枪口类。

数字化枪口图形图像的获取

  • 在三周的时间里,每周对29头牛的嘴部进行一次视频成像。本实验中使用的动物是夏洛莱、利木赞、赫里福德、阿伯丁-安格斯和弗里西亚品种的成年动物(2至3岁)。每只动物都被限制在一个拥挤的地方(爱尔兰米思市方舟企业公司的养牛场主禁动器),然后用数码摄像机(日本东京索尼公司的Handycam DCR-TRV140E)在大约15至20厘米的距离拍摄正面枪口的数码视频图像。视频是以320 × 240像素的灰度级拍摄的。静态数字图像是使用ImageMixer版(日本Pixela公司)从视频图像中获得的。每只动物10幅枪口图像(前两周共获得290幅图像)用于枪口识别算法的训练阶段,另一组每只动物3幅枪口图像(第三周共获得87幅图像)用作验证阶段的测试图像
  • 训练阶段,使用每只动物10个枪口图像,针对290个特征向量(所有可能的特征向量)、270、250、230、210、190、170、150和90个特征向量。同样,算法的识别性能是使用每只动物的训练图像的减少数量来评估的。使用每只动物10个枪口图像(290个特征向量)、每只动物8个枪口图像(232个特征向量)、每只动物6个枪口图像(174个特征向量)、每只动物4个枪口图像(116个特征向量)和每只动物2个枪口图像(58个特征向量)进行训练试验。然而,每只动物在验证阶段的测试图像数量保持不变(每只动物三个枪口图像)。图像归一化和枪口模式识别算法来自于数字图像在Matlab 7.14中编程

结果与讨论

从提取的墨迹识别枪口模式

  • 图3中列出的每个结构描述符的决策树阈值是通过反复试验找到的。它们当然取决于枪口油墨印刷的一致性,并且很可能随着样品尺寸的增加而改变。在本实验中,使用*三阶段算法 *对十张照片进行了正面匹配。图5显示了匹配分数的频率分布(Sc,eq。1)从不同动物身上采集的成对枪口指纹(非匹配)和从同一动物身上采集的成对枪口指纹(匹配)。虽然可以看到分布之间的明显区别,但Sc值不应用作匹配的单一标准,因为分布之间的明显区别可能是匹配分布使用少量枪口指纹的结果。虽然非匹配分布(图5)是基于150次观察(一对一的非匹配枪口指纹比较),但匹配分布仅基于10次观察。在本研究中,由于分布形状的不确定性,Sc分布的决策阈值被任意设置为谨慎值0.68。Sc阈值0.68也允许继续枪口识别算法的其他两个阶段。然而,对于更大的数据集,Sc阈值应该基于重叠分布的假不匹配误差率和假匹配误差来确定(de Luis-García等人,2003)。对于更多的动物,随着遇到更相似的枪口模式结构的概率增加,更低的Sc阈值可能更合理。

  • 对于识别算法的第二阶段(决策树),我们使用了从已处理图像中的结构获得的描述符数据。图6示出了从取自同一动物的两个单独的枪口墨水印迹获得的经处理的图像(即,在应用二进制处理和分水岭算法之后)。

    请注意,在两幅图像中,分水岭算法可以分离原本可以连接的结构。这种结构的分离提高了决策树的性能,因为有更多的结构可供比较。对于图6中所示的打印的具体情况,决策树检测到十种常见的结构(矩阵CS的大小= 10)。从十对匹配的墨水印迹中,在两幅图像之间检测到的共同结构最小数量是9最大数量是19
  • 表1显示了从所有指纹中提取的总共600个枪口结构的描述符的平均值、标准偏差、最小值和最大值。*面积、方向和偏心率 *是可变性最高的描述符。在三角测量的最后阶段,十个枪口指纹的匹配结构的比率(Rt)在< 0.9079-1.1037 >的范围内。Rt的变化取决于匹配结构质心的移动程度,这源于结构的形状和面积的差异。应该指出的是,只有当扫描图像是从质量良好的油墨印刷中获得的,换句话说,没有被弄脏的印刷,脊和珠被很好地定义,并且鼻孔区域清晰可见时,用于提升印刷的枪口模式识别算法才会表现良好

从数字图像识别枪口模式

  • 图7显示了在两周时间内拍摄的五头牛的标准化训练枪口数字图像的示例。此图说明了在训练图像中观察到的典型的课内可变性,这主要是由于照明和摄像机角度的差异。此外,沿鼻孔手动选择参考点会导致图像中枪口特征的位置发生微小变化。
  • 图8显示了通过枪口图像训练集的主成分分析获得的具有最高相关特征值的前12个特征向量(以矩阵形式)。一旦获得了这些特征向量,来自验证集的测试图像就被投影到特征向量空间上(图9)。换句话说,投影或重建图像是加权特征向量的线性组合。使用大量的特征向量(290到230),测试枪口图像的识别率高达98.85%(图10),但是当使用130个特征向量时,识别率下降到93%。类似地,每只动物训练枪口图像的数量对识别率有影响(图11)。因此,在每只动物只有几幅训练图像的情况下,识别率低至75.8%,而每只动物使用六幅以上训练枪口图像产生的识别率高于94%。



    总的来说,主成分分析技术对枪口图像的识别率高于人脸识别(王等,2005;Moon and Phillips,2001)由于姿势和面部表情没有变化。尽管喷嘴的数字成像远比油墨印刷提升方法简单,它仍然需要进一步改进。本文的结果证明了枪口模式识别作为一种非侵入性、廉价和准确的牛生物识别器的潜力。然而,进一步的工作应着眼于:

    • (1)提高和加快枪口模式的获取,例如通过固态传感器进行图像采集;
    • (2)补偿在动物生长期间枪口图案的变形的算法
    • (3)通过在一组较大的牛口衔上测试,提高识别率。

结论

  • 这项工作调查了使用枪口模式的牛识别和验证的适用性,从油墨印刷和数字图像。使用三阶段模式匹配算法的墨水打印,所有扫描枪口打印匹配成功(n = 10)。然而,使用墨水打印应用枪口模式识别的主要缺点在于难以获得高质量的打印。相反,枪口花纹视频图像的采集过程相对简单。对于从数字图像(n = 29)中识别枪口模式,使用了带有欧几里德距离分类器的主成分分析技术。用230个特征向量(共290个),识别率为98.85%,附加特征向量没有增加。不出所料,较少的主成分降低了识别率,而每只动物训练枪口图像数量的增加提高了识别率
  • 从这项初步工作中可以得出结论,枪口模式识别是非侵入性的和准确的,是一种潜在的牛的生物识别标记,在这个初始阶段,可以用作在动物身份有疑问的任何情况下验证动物身份的手段。然而,为了实现通过枪口模式识别的牛识别系统,需要进一步研究自动化。加快枪口图案捕捉的一个好选择是使用固态传感器,例如用于指纹成像的传感器。其他模式匹配算法的性能可以调整到考虑到枪口的增长,应该在一个非常大的牛嘴套组上进行评估。

论文阅读笔记——利用枪口模式识别作为一种生物特征识别方法相关推荐

  1. 论文阅读笔记(二)——牛的人脸识别,能做到吗?

    论文阅读笔记(二)--牛的人脸识别,能做到吗? 论文简介 论文中文翻译:<牛的人脸识别,能做到吗?> 论文名称:<Face Recognition of Cattle: Can it ...

  2. 全卷积(FCN)论文阅读笔记:Fully Convolutional Networks for Semantic Segmentation

    论文阅读笔记:Fully Convolutional Networks forSemantic Segmentation 这是CVPR 2015拿到best paper候选的论文. 论文下载地址:Fu ...

  3. DnCNN论文阅读笔记【MATLAB】

    DnCNN论文阅读笔记 论文信息: 论文代码:https://github.com/cszn/DnCNN Abstract 提出网络:DnCNNs 关键技术: Residual learning an ...

  4. Learning Multiview 3D point Cloud Registration论文阅读笔记

    Learning multiview 3D point cloud registration Abstract 提出了一种全新的,端到端的,可学习的多视角三维点云配准算法. 多视角配准往往需要两个阶段 ...

  5. DCP(Deep Closest Point)论文阅读笔记以及详析

    DCP论文阅读笔记 前言 本文中图片仓库位于github,所以如果阅读的时候发现图片加载困难.建议挂个梯子. 作者博客:https://codefmeister.github.io/ 转载前请联系作者 ...

  6. 2019 sample-free(样本不平衡)目标检测论文阅读笔记

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自知乎,已获作者同意转载,请勿二次转载 (原文地址:https://zhuanlan.zhihu.com/p/100052168) 背景 < ...

  7. keras cnn注意力机制_2019 SSA-CNN(自注意力机制)目标检测算法论文阅读笔记

    背景 <SSA-CNN Semantic Self-Attention CNN for Pedestrian Detection>是2019 的工作,其作者来自于南洋理工.这篇文章主要是做 ...

  8. 论文阅读笔记:《EIGENGAME: PCA AS A NASH EQUILIBRIUM》(特征博弈:主成分分析就是纳什均衡)

    论文阅读笔记:<EIGENGAME: PCA AS A NASH EQUILIBRIUM>(特征博弈:主成分分析就是纳什均衡) 声明 摘要 1 简介 2 PCA as an Eigen-G ...

  9. 【CCM-SLAM论文阅读笔记】

    CCM-SLAM论文阅读笔记 整体框架结构 如图所示:单智能体只负责采集图像数据,运行实时视觉里程计VO以估计当前位姿和环境地图,由于单智能体计算资源有限,负责生成的局部地图只包含当前N个最近的关键帧 ...

最新文章

  1. Mysql 内部结构 / Replication | 层次结构
  2. 2.2.4 操作系统之作业/进程调度算法(FCFS先来先服务、SJF短作业优先、HRRN高响应比优先)
  3. python anaconda和pycharm_Pycharm下 Anaconda和Conda的使用
  4. Java内存模型又回来了
  5. java职业技能了解精通_如何通过精通数字分析来提升职业生涯的发展,第8部分...
  6. c语言检查字符数组不为空,【C语言】检查输入是否为空,如为空,程序退出
  7. python生成范围内随机数_python在一个范围内取随机数的方法是什么
  8. wordpress模板-RIPro-V2子主题V1.4-VAN主题
  9. [转]Android Service Test——简单测试例子
  10. 各种排序算法稳定性比较
  11. server sql 中类型为bit应该插入什么值_关于SQL Server中bit类型字段增删查改的一些事...
  12. Android开发1、2周——GeoQuiz项目
  13. 开源网管工具 汇总比较
  14. php免杀书籍,php免杀教程【绝对原创+首发】
  15. Python3+PCAN-USB基于PCAN-Basic二次开发实现上位机功能
  16. 【基础知识】RMAN基础知识-Part2
  17. Linux之父、大数据之父确认参加2021世界人工智能大会
  18. Python 网络数据采集(三):采集整个网站
  19. Intel VT学习笔记(二)—— VMXEVMXON
  20. UnityShader初级篇——渐变纹理

热门文章

  1. 值得推荐的几部日本电影(一)
  2. iPhone12蜜汁操作,环保还是揽财?
  3. 关于历史电影电视剧的吐槽
  4. LoRa和NB-IoT的对比,LoRa感觉毫无胜算可言
  5. Hadoop安装(一) --- JDK安装
  6. 爬虫中常见的状态响应码
  7. 第十四章 我国农村乡镇企业发展
  8. 主流日志管理解决方案对比
  9. 重磅 | 2018年淘宝村、淘宝镇名单正式公布!
  10. 北京交通大学Python课程设计大作业(四)——典籍词频统计