以下是用meanshift实现目标跟踪的实验报告(包含源码),实验中详细介绍了meanshift跟踪算法的原理,结合OTB100跟踪数据集对meanshift跟踪效果进行了分析。

目 录

一.实验名称

二.实验目的

三.实验原理

3.1 前言

3.2 meanshift 

四.实验测试

4.1 测试条件

4.2 性能分析

五.实验总结

一.实验名称

使用meanshift实现目标跟踪。

 

二.实验目的

根据meanshift原理实现目标跟踪,达到跟踪指定目标的效果。

三.实验原理

3.1 前言

目标追踪作为计算机视觉中的一个重要的方面,它的主要的研究挑战来自于刚性与非刚性的形变,目标被部分或者完全遮挡,目标突然消失,目标剧烈运动,复杂的背景变换,特别是出现目标与背景及其相似的时候等,以上这些影响因素都会对目标追踪算法的效果造成很大的影响。针对这些挑战,不同性能优秀的跟踪算法应运而生,也在各个应用方面取得了不错的效果。

目标跟踪的流程可以大致分为五个部分的内容,如下图3.1所示。

                                                                            图3.1 目标跟踪算法通用流程图

目标跟踪会先根据初始框选取若干候选框作为候选样本,接着利用这些初始框与候选框提取出相应的特征,进而对这些特征进行对比,找出候选样本中与目标样本特征最相似的一个即为新的目标。最后用新的目标特征进行模型更新,以此类推,逐步跟踪目标。

目标跟踪虽然已经发展起来,并且有了大致的研究流程,但是大部分还是停留在理论阶段,许多跟踪算法无法落地到工业应用,所以需要进一步的投入更多的研究,特别是在既保证准确率的基础上又可以满足各种场景的实时性跟踪目前仍然是一件不容易的事情。

本文是基于目标跟踪算法meanshift的研究,详细分析meanshift跟踪算法的原理以及效果,其适合的跟踪场景等等。

3.2 meanshift

3.2.1 简介

Meanshift算法属于无参数核密度估计法,即该算法本身不需要任何的先验知识而完全依靠特征空间中的样本点,进而计算密度函数。在空间进行采样,在采样充分的情况下,其能够渐进的收敛于任意的密度函数,即可以服从任意数据的密度估计。

给定的d维空间 中的n个样本点 ,i=1,…n,在x点mean shift向量的基本定义形式为:

(1)                        

其中 是在一个半径为h的高维球区域,满足以下关系的y点的集合,

(2)

k表示在这n个样本点 中有k个点落入到 区域中。

从公式中可以看出(xi-x) 是样本点 相对于x的偏移量,公式(1)相当于就是定义的落入 中的样本点相当于x的偏移量求和之后的平均值。 区域中更多的样本点肯定是落在梯度密度的方向,所以meanshift向量 会指向概率密度梯度的方向。

3.2.1 跟踪算法原理

基于均值漂移的meanshift跟踪算法可以通过分别计算目标区域与下一帧中的目标候选区域内的像素特征概率得到上一帧的目标模型与当前帧的候选模型。利用相似性度量函数比较目标模型与候选模型之间的相似性,选择相似性最大的候选模型并得到关于目标模型的meanshift向量,目标从上一帧的位置沿着该meanshift向量进行移动,通过不断的迭代,算法最终可以收敛到目标的位置,达到跟踪的目的。

Meanshift跟踪算法的流程图如下图3.2所示。

                                                                               图3.2 meanshift跟踪算法原理图

(1)通过手工选取等方式在第一帧中选取目标区域,目标中心坐标为(x0,y0),计算目标模型的概率密度

 

(3)

其中n个像素用 表示目标模型的位置,对选中的区域的颜色空间进行均匀划分,得到有m个相等的区间构成的灰度直方图。目标模型的 就可以用上面的公式描述。 表示以目标中心为原点的归一化像素位置,(x0,y0)表示目标中心的坐标,K为核函数,这里之所以引入核函数是因为从公式(1)可以看出,在 区域中的点对于meanshift偏移向量的贡献都是一样的,然而实际中我们希望离目标中心距离越近的点对于该向量的贡献越大,越远侧贡献越小,为此我们引入核函数,在本文中,我们采用Epannechnikov核函数:

       (4)

该核函数满足三个性质:非负性,非递增性,分段连续。

表示在 处的像素处于哪个直返图区间,u为直方图的颜色索引。 函数的作用是判断目标区域中像素 处的像素值是否属于直方图的第u个单元,属于的话为1,否则为0,C为归一化系数。

(2)跟踪上一帧的中心坐标初始化当前帧的目标位置,计算候选目标的模型

在当前帧中,根据上一帧的目标中心位置 作为搜索中心,得到候选目标的中心位置坐标 ,计算当前帧的候选目标区域直方图。该区域的像素用 表示,该候选模型的概率密度函数为:

(5)

其中h为核函数窗口的大小,决定着权重分布。

(3)计算目标模型与当前帧候选模型的相似度。

本文采用Bhattacharyya系数作为相似性函数,定义为:

                   (6)

相似性函数值越大表示两个模型越相似,将前一帧中目标的中心位置作为当前帧搜索中心,寻找相似度最大的候选区域就是当前帧中目标的位置,

(4)meanshift迭代过程

Meanshift的迭代过程就是从上一帧的目标位置向当前帧的目标位置移动的过程,为了让相似性函数最大,对上式进行泰勒展开,得到Bhattacharyya系数的近似表达:

 

(7)

其中以上公式的值只随着 的变化而变化,其极大值的过程就是通过候选区域向真实区域中心meanshift迭代完成:

 

(8)

其中 ,meanshift方法就是从 起向两个模型相比颜色变化最大的方向不断移动,直到两次移动距离小于阈值,即找到当前帧中的目标位置,依次作为下一帧的起始目标搜索位置,不断重复得到后续帧中的目标位置。

 

四.实验测试

4.1 测试条件

4.1.1 测试环境

(1)硬件环境:windows10的操作系统;CPU: intel(R) Core(TM) i5-5200U CPU @2.2GHZ;RAM:8GB。

(2)软件环境:算法用python在pycharm中实现。

4.1.2 评估指标

目标跟踪算法的评估方法通常可以分为定量分析与定性分析两种。定性分析就是直接将跟踪的结果显示在视频序列中,这个时候可以直接通过人眼来观察,进而判断跟踪算法的好坏,是一个比较主观的方式。相对于定性分析,定量分析显得客观的多,本实验采用一般的定量评估方法包括精度与IOU值。

精度(precision)表示的是跟踪算法估计的目标位置的中心与人工标注的目标的中心点,这两点之间的距离值,这里的距离计算一般取欧式距离。如果是对一段视频序列求精度则是视频序列中的每一帧的精度的平均值。精度的评估方式缺点就是无法反映目标物体大小与尺度的变换情况。

给定人工标准的目标物体ground-truth的box为B,跟踪算法得到的目标物体的bounding box为A。重合率(overlap score,OS)可以定义为:

                    (9)

其中|.| 表示该区域内的像素数目,本实验的IOU指的就是公式(9)计算的OS

4.1.3 标准数据集

本文采用的测试集来自于在2013年CVPR中提出的视频跟踪基准库(Visual Tracker Benchmark)。该Visual Tracker Benchmark视频库中的TB-50包含了50个视频,其中视频的每一帧都人工标注了ground-truth。该视频库的每一段视频都有各个属性,比如光照变化,运动模糊,遮挡等属性,一共有十一个属性如表4-1所示。这些属性都考验着跟踪算法的性能。使用该数据库可以从各个特性方面有效的评估跟踪算法的性能。TB-50的部分视频信息如下图4.1所示。每一个视频片段包含视频名,该视频序列包含的属性。

                                                                     图4.1 TB-50部分视频信息图。

                                                                 表4-1 TB50中各个视频包含的属性解释图

4.2 性能分析

4.2.1 定量分析

本实验对OTB100中所有视频序列进行了测试,按照测试结果与视频属性选取了六个视频序列进行详细的分析,这六个视频序列分别是BlurBody,DragonBaby,Walking2,Bird1,Crowds,skating1。如表4-2所示。

                                                                                         表4-2 实验结果表

其中Dis_center是取每一帧meanshift检测出来的bbox与groundtruth的中心点坐标的欧式距离的平均值。IOU是每一帧meanshift检测出来的bbox与groundtruth的IOU的平均值。

从表中可以很明显的看出meanshift对于前三种视频序列的跟踪效果较好,而对于后面三种视频序列,效果就显得特别的差。对每个视频序列的属性进行分析,发现meanshift对于轻微的形变,运动模糊,旋转,边缘性遮挡等都是鲁棒的,这个从meanshift在前三个视频序列表现好可以看出来。但是meanshift对于目标尺度发现剧烈变化,光线剧烈变化,快速运动,发现严重遮挡都是不鲁棒的,一旦上述情况发现,meanshift都会跟丢目标。

为了更加直观的定量分析meanshift跟踪算法,实验中绘制了BlurBody,DragonBaby,Walking2,Bird1,Crowds,skating1的每一帧中meanshift检测出来的bbox与groundtruth的中心点坐标欧式距离与IOU值的图。

如下图4.2所示,画图按照BlurBody,DragonBaby,Walking2一组,Bird1,Crowds,skating1一组。

                                (a)                                                                  (b)

                                  (c)                                                                  (d)

                                         图4.2 中心点距离与IOU值趋势图

在图4.2中,图(a),(b)对应的是BlurBody,DragonBaby,Walking2,横坐标是帧的序列,纵坐标分别是每一帧中meanshift检测出来的bbox与groundtruth的中心点坐标欧式距离与IOU值。从图中其实可以看出曲线都是很震荡的,这说明了meanshift算法对于视频序列中的属性变换比较敏感,稍微的变化就会引起meanshift的算法性能下降。在图(a)(b)中中心点距离上升与iou下降的原因主要是在视频序列中出现了快速运动与严重遮挡的情况。曲线表现的比较好的帧是因为视频序列中出现了模糊,轻微形变,边缘性遮挡,旋转。所以meanshift还可以较好的跟踪到目标。

图(c),(d)对应的是Bird1,Crowds,skating1,横坐标是帧的序列,纵坐标分别是每一帧中meanshift检测出来的bbox与groundtruth的中心点坐标欧式距离与IOU值。从图(c)(d)中可以看出meanshift之所以效果这么差是因为在视频的前几帧meanshift就出现了跟丢目标的情况,然后就再也找不到正确的目标了,以至于IOU一直稳定在0,出现跟丢是因为目标出现了剧烈运动,光线出现距离变化,出现了很多与目标相似的目标等。

4.2.2 定性分析

为了更加直观的显示meanshift的跟踪效果,以下我们选取了BlurBody,Walking2,Skating1跟踪情况进行分析。

                                                   图4.3 BlurBody跟踪效果图

在图4.3中红色框表示groundtruth,绿色框表示meanshift跟踪出来的框,图片左上角表示当前第多少帧。从图中可以看出,当在第1帧与第16帧的时候,目标发生轻微的模糊与形变,meanshift都是可以较好的跟踪到目标的,但是在第189帧与第333帧,目标发现较大的形变以及模糊的时候就跟踪不到了。

                                                                  图4.4 Walking2跟踪效果图

从图4.4中可以看出在第1帧与第148的时候,目标仅仅是发生了轻微的形变,meanshift跟踪算法可以适应这个改变,但是当在第200帧的时候,出现了想与目标相似的人而且发现了严重遮挡,直接导致在第268帧的时候已经完全跟丢了目标。

  

                                             图4.5 Skating1跟踪效果图

从图4.5中可以看出,当在第1帧与第57帧的时候,目标发现缓慢的移动,meanshift跟踪算法可以较好的适应这种变化,但是当在第85帧的时候,目标发现快速移动,meanshift跟踪算法就直接跟丢了目标,导致在后续的帧比如第132帧的目标一直处于被跟丢的状态。

 

五.实验总结

Meanshift跟踪算法的主要原理就是建模前后两帧的目标模型与候选帧模型,对比目标模型与候选帧模型之间的相似性,最后进行meanshift迭代找到当前帧中最可能的目标位置。

本次实验按照meanshift的原理实现了meanshift跟踪算法,并且利用meanshift跟踪算法在OTB100数据集上面进行了测试,最后对测试结果进行了详细分析。实验发现meanshift跟踪算法对于轻微的形变,模糊,边缘遮挡,旋转具有较好的鲁棒性,但是当目标出剧烈形变,快速移动,严重遮挡,光线距离变化等情况时,meanshift的跟踪算法就会显得特别差。

Meanshift的主要不足就是难以适应目标的尺度变化,没有尺度更新机制,没有模型更新机制,难以适应目标的实时变化,主要提取的颜色直方图特征,该特征不够鲁棒,难以适应目标的负责变化。这些难点都是以后需要去研究的方向。

 

源代码:

import numpy as np
import cv2
import os
import re
import math
import matplotlib.pyplot as pltdef axis_aligned_iou(boxA, boxB):assert(boxA[0] <= boxA[2])assert(boxA[1] <= boxA[3])assert(boxB[0] <= boxB[2])assert(boxB[1] <= boxB[3])xA = max(boxA[0], boxB[0])yA = max(boxA[1], boxB[1])xB = min(boxA[2], boxB[2])yB = min(boxA[3], boxB[3])interArea = max(0, xB - xA + 1) * max(0, yB - yA + 1)boxAArea = (boxA[2] - boxA[0] + 1) * (boxA[3] - boxA[1] + 1)boxBArea = (boxB[2] - boxB[0] + 1) * (boxB[3] - boxB[1] + 1)iou = interArea / float(boxAArea + boxBArea - interArea)return ioudef center_dis(centerA, centerB):return math.sqrt(sum(pow(np.array(centerA)-np.array(centerB), 2.0)))result = open('result.txt', 'a')
root_path = '/home/junliang/dataset/OTB50/'
tb50 = ['BlurBody','BlurFace','DragonBaby','Walking2','Walking','Surfer']
# tb50 = ['BlurBody','DragonBaby','Walking2']
# tb50 = ['Bird1','Crowds','Skating1']
# tb50 = ['BlurBody','Walking2','Skating1']
for dataset in tb50:result_path = 'result/{}/'.format(dataset)if not os.path.exists(result_path):os.makedirs(result_path)with open(os.path.join(root_path, dataset, 'groundtruth_rect.txt'), 'r') as f:gts = f.readlines()base_gt = gts[0].replace('\n', ' ')base_gt = base_gt.replace('\t', ' ')base_gt = re.sub(' +', ' ', base_gt)if ',' in base_gt:base_gt = base_gt.split(',')else:base_gt = base_gt.split(' ')x,y,w,h = int(base_gt[0]),int(base_gt[1]),int(base_gt[2]),int(base_gt[3])imgs_path = sorted(os.listdir(os.path.join(root_path, dataset, 'img')))frame = cv2.imread(os.path.join(root_path,dataset, 'img', imgs_path[0]))# roi = cv2.selectROI(windowName="roi", img=frame, showCrosshair=True, fromCenter=False)# x,y,w,h = roih_img, w_img, c = frame.shapetemp = frame[y:y+h, x:x+w]center_x = x+w/2center_y = y+h/2rect = [x,y,w,h]m_weight = np.zeros((h, w))hh = (w/2)*(w/2) + (h/2)*(h/2)for i in range(h):for j in range(w):dist = (i-h/2)*(i-h/2) + (j-w/2)*(j-w/2)m_weight[i][j] = 1-dist/hhC = 1/sum(sum(m_weight))hist1 = np.zeros((4096))for i in range(h):for j in range(w):q_r = math.floor(float(temp[i][j][0])/16)q_g = math.floor(float(temp[i][j][1])/16)q_b = math.floor(float(temp[i][j][2])/16)q_temp = q_r*256+q_g*16+q_bhist1[q_temp] = hist1[q_temp] + m_weight[i][j]hist1 = hist1*Crect[2] = math.ceil(rect[2])rect[3] = math.ceil(rect[3])q_temp1 = np.zeros((h,w))num_frame = 0center_list = []iou_list = []for path in imgs_path:base_gt = gts[num_frame].replace('\n', ' ')base_gt = base_gt.replace('\t', ' ')base_gt = re.sub(' +', ' ', base_gt)if ',' in base_gt:base_gt = base_gt.split(',')else:base_gt = base_gt.split(' ')frame = cv2.imread(os.path.join(root_path, dataset, 'img', path))num = 0Y = [2,2]num_frame += 1while (Y[0]*Y[0]+Y[1]*Y[1]) > 0.5 and num < 20:num += 1temp1 = frame[int(rect[1]):int(rect[1]+rect[3]), int(rect[0]):int(rect[0]+rect[2])]hist2 = np.zeros((4096))for i in range(h):for j in range(w):q_r = math.floor(float(temp1[i][j][0]) / 16)q_g = math.floor(float(temp1[i][j][1]) / 16)q_b = math.floor(float(temp1[i][j][2]) / 16)q_temp1[i][j] = q_r * 256 + q_g * 16 + q_bhist2[int(q_temp1[i][j])] = hist2[int(q_temp1[i][j])] + m_weight[i][j]hist2 = hist2*Cww = np.zeros((4096))for i in range(4096):if hist2[i] != 0:ww[i] = math.sqrt(hist1[i]/hist2[i])else:ww[i] = 0#尝试更新hist1# alpha = 0.998# hist1 = alpha*hist1+(1-alpha)*hist2sum_w = 0xw = np.array([0.0,0.0])for i in range(h):for j in range(w):sum_w += ww[int(q_temp1[i][j])]xw += ww[int(q_temp1[i][j])]*np.array([i-h/2-0.5, j-w/2-0.5])Y = xw/sum_wrect[0] = rect[0]+Y[1]rect[1] = rect[1]+Y[0]if rect[0] < 0:rect[0]= 0if rect[1] < 0:rect[1] = 0if (rect[0]+rect[2]) > w_img:rect[0] = rect[0]-((rect[0]+rect[2])-w_img)if (rect[1]+rect[3]) > h_img:rect[1] = rect[1]-((rect[1]+rect[3])-h_img)cv2.rectangle(frame, (int(rect[0]),int(rect[1])), (int(rect[0]+rect[2]), int(rect[1]+rect[3])), (0, 255, 0), 2)cv2.rectangle(frame, (int(base_gt[0]),int(base_gt[1])), (int(base_gt[0])+int(base_gt[2]), int(base_gt[1])+int(base_gt[3])), (0, 0, 255), 2)cv2.putText(frame, "#{}".format(num_frame), (45, 45), cv2.FONT_HERSHEY_SIMPLEX, 1.2, (0, 0, 255), 2)cv2.imwrite(result_path+'{:0>5d}.jpg'.format(num_frame), frame)boxA = [int(rect[0]),int(rect[1]), int(rect[0]+rect[2]), int(rect[1]+rect[3])]centerA = [int(int(rect[0])+int(rect[2])/2),int(int(rect[1])+int(rect[3])/2)]centerB = [int(int(base_gt[0])+int(base_gt[2])/2),int(int(base_gt[1])+int(base_gt[3])/2)]boxB = [int(base_gt[0]),int(base_gt[1]), int(base_gt[0])+int(base_gt[2]), int(base_gt[1])+int(base_gt[3])]center_list.append(center_dis(centerA, centerB))iou_list.append(axis_aligned_iou(boxA, boxB))# print(np.mean(np.array(center_list)))# print(np.mean(np.array(iou_list)))
#     result.write(dataset+':'+str(np.mean(np.array(center_list)))+' '+str(np.mean(np.array(iou_list)))+'\n')
# result.close()cv2.imshow('imgs', frame)k = cv2.waitKey(1) & 0xffif k == 27:break
#保存结果图# plt.plot(np.arange(len(center_list)), np.array(center_list), label=dataset)# plt.legend()# plt.xlabel('frame')# plt.ylabel('center distance')# # plt.show()# plt.savefig('bad_center_list.png')# plt.close()## plt.plot(np.arange(len(iou_list)), np.array(iou_list), label=dataset)# plt.legend()# plt.xlabel('frame')# plt.ylabel('iou')# plt.show()# plt.savefig('bad_iou_list.png')# plt.close()

参考:

https://blog.csdn.net/jinshengtao/article/details/30258833

https://www.cnblogs.com/ywsoftware/p/4434595.html

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 什么叫双眼皮埋线盖眼球怎么办

    ...

    2024/4/27 23:25:50
  2. 成都开肉眼皮选择那种那种医院做割双眼皮的手术

    ...

    2024/4/21 7:00:37
  3. 重庆口碑好的郝宝慧双眼皮案例

    ...

    2024/4/20 18:57:33
  4. 武汉哪家医院做双眼皮好

    ...

    2024/4/27 7:04:45
  5. html初始化加载数据,Angular路由加载视图后,如何实现立即初始化请求数据?

    HTML代码(home.html)JS代码//配置主页的路由mainApp.config(function($stateProvider, $urlRouterProvider) {//默认指向404$urlRouterProvider.otherwise("/404");//配置路由$stateProvider.state(home, {url: /home,templateUrl: home.html,controller : function(…...

    2024/4/20 18:57:30
  6. Angular自学笔记(一)ngModule 元数据

    工作硬上开发angular项目,好难啊,上网搜资料教程真的贼少,吐槽真的没什么人用angular,自己学习到处搜集整理的笔记,分享出来,方便查看理解总结。应该适用于angular11系列(更新真快,反正我也不知道之前低版本不同 手动狗头) 什么是angular module(ngModule)? angula…...

    2024/4/20 18:57:29
  7. Ant Design of Angular table

    1、table不加分页时&#xff0c;[nzShowPagination]"false" 是否显示分页设为false&#xff0c;并且把是否分页设为[nzFrontPagination]"false"&#xff0c;否则数据只显示默认的第一页数据&#xff0c;其他页数据不显示...

    2024/4/21 7:00:36
  8. 埋线双眼皮 永久

    ...

    2024/4/21 7:00:35
  9. 轻松操作cookie/读写cookie(支持Angular中使用)

    在浏览器的世界里, 客户端数据的持久化一直都是一个比较难处理的问题. 在众多的解决方案中, 使用cookie是一个最为方便快捷的方法. 下面讲介绍一个非常好用的npm组件: my-cookie-js //安装方法: npm install my-cookie-jslatest//原生的js调用:MyCookie.set(key1,value1); …...

    2024/4/21 7:00:34
  10. 李希军双眼皮吧

    ...

    2024/4/21 7:00:33
  11. 双眼皮埋线武汉华美

    ...

    2024/4/24 15:08:17
  12. 开刀双眼皮多久消肿

    ...

    2024/4/21 7:00:31
  13. 【Angular】如何快速搭建Angular2/4/6/7环境

    大家如果有任何的意见或者建议都可以提出来。 首先&#xff0c;必须保证自己的电脑里已经安装好了node和npm这两个神器。 node -v npm -v 其次&#xff0c;我们知道angular2之后的版本都用的是TypeScript&#xff0c;所以可以先安装TypeScript。 cnpm install -g typescript…...

    2024/4/20 11:58:41
  14. 周常青 周常青 开刀双眼皮案例

    ...

    2024/4/21 7:00:29
  15. angular环境搭建文档【上篇】

    初次上路前端angulars之环境安装及快速入门 2021 0521 写于北京 文章目录前言安装node快速入门入门学习流程第一个官方测试案例新建第一个测试案例后记前言 安装顺序 node.js、npm、Angular CLI 遵循某些原则&#xff0c;能装压缩包不装安装包 安装 node 操作根目录 D:\s…...

    2024/4/21 7:00:28
  16. 使用Angular-cli快速搭建项目

    一、安装开发环境这个开发环境也是现在最基础的前端开发环境&#xff0c;就是首先要安装Nodejs和npm。这个安装在此省略&#xff0c;因为只需要下载Nodejs安装包&#xff0c;直接安装就行了。 1.1测试安装环境node -v如果Node.js的版本大于等于6.9.x即可。 npm -v如果npm的版本…...

    2024/4/27 12:16:23
  17. 沙眼可以做双眼皮吗

    ...

    2024/4/21 7:00:29
  18. 使用angular-cli快速搭建项目命令

    ng new project-name - 创建一个新项目&#xff0c;置为默认设置ng build - 构建/编译应用ng test - 运行单元测试ng e2e - 运行端到端&#xff08;end-to-end&#xff09;测试ng serve - 启动一个小型web服务器&#xff0c;用于托管应用ng deploy - 即开即用&#xff0c;部署到…...

    2024/4/21 7:00:25
  19. 快速搭建angular7 前端开发环境

    第一步&#xff1a;全局安装 Angular CLI &#xff08;1&#xff09;打开npm&#xff08;终端&#xff09;安装angular-cli 第二步&#xff1a;创造工作区和初始应用 &#xff08;1&#xff09;运行命令 ng new my-app 第三步&#xff1a;启动开发服务器 &#xff08;1&#xf…...

    2024/4/21 7:00:26
  20. 使用yeoman快速搭建angular项目

    1、安装 yo, grunt-cli, bower, generator-angular 和 generator-karma npm install -g grunt-cli bower yo generator-karma generator-angular 2、如果要使用sass&#xff0c;那么要配置一下项目安装 Ruby 和 Compass: 使用 Homebrew 下载 Ruby安装 compassgem install compa…...

    2024/4/21 7:00:23

最新文章

  1. Spring Security认证流程分析

    我自己的思路 先分别实现 userdetailsService&#xff0c;userDetails&#xff0c;passwordEncoder三个接口&#xff0c; 然后就是写登录逻辑 本文章用的是继承UsernamePasswordAuthenticationFilter这个接口 因为这个框架默认登录逻辑是在这里面的&#xff0c;里面的核心就是…...

    2024/4/28 13:06:59
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 【干货】零售商的商品规划策略

    商品规划&#xff0c;无疑是零售业的生命之源&#xff0c;是推动业务腾飞的强大引擎。一个精心策划的商品规划策略&#xff0c;不仅能帮助零售商在激烈的市场竞争中稳固立足&#xff0c;更能精准捕捉客户需求&#xff0c;实现利润最大化。以下&#xff0c;我们将深入探讨零售商…...

    2024/4/26 15:55:51
  4. 自我介绍的HTML 页面(入门)

    一.前情提要 1.主要是代码示例&#xff0c;具体内容需自己填充 2.代码后是详解 二.代码实例和解析 代码 <!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"UTF-8"> <title>自我介绍页面</title>…...

    2024/4/26 14:55:53
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/26 18:09:39
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/28 3:28:32
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/26 23:05:52
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/27 4:00:35
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/27 9:01:45
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/28 1:22:35
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/26 19:46:12
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/27 11:43:08
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/27 8:32:30
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57