深度相机(一)——深度相机模型及用途介绍
一、深度相机概述
深度相机,又称 3D 相机,是一种能够获取场景中物体深度信息(即物体到相机的距离)的设备。与传统相机只能拍摄二维平面图像不同,深度相机不仅能记录物体的颜色和纹理,还能通过特定技术手段测量并输出物体的三维空间坐标,从而构建出场景的三维模型。深度相机输出的数据通常以深度图的形式呈现,深度图中每个像素点的数值代表该点对应物体到相机的距离,数值越大表示距离越远。
二、深度相机的技术原理与类型
2.1 结构光(Structured Light)
- 技术原理:结构光深度相机通过向目标场景投射特定的光图案(如条纹、点阵等),然后使用红外摄像头捕捉被物体表面调制后的变形图案。由于物体表面的形状不同,光图案在不同位置的变形程度也不同。通过计算发射的原始图案与接收的变形图案之间的差异,结合三角测量原理,就可以计算出场景中每个点的深度信息。
- 技术细节:以 PrimeSense 公司开发的结构光技术为例,其采用了 “编码结构光” 的方式,将红外光编码成复杂的图案。在投射端,使用微机电系统(MEMS)控制的光学元件来精确投射图案。在接收端,红外摄像头的分辨率和帧率会影响深度信息的精度和实时性。例如,分辨率越高,能够捕捉到的细节越丰富,深度图的精度也就越高;帧率越高,深度相机在动态场景中的表现就越好。
- 典型应用:早期的微软 Kinect 第一代采用的就是结构光技术。在游戏领域,它可以实时捕捉玩家的动作,将玩家的肢体动作转化为游戏中的指令,实现人机交互。比如在体感游戏中,玩家无需使用手柄,通过挥手、跳跃等动作就能控制游戏角色的移动和攻击。在工业检测领域,结构光深度相机可以检测产品的表面缺陷,通过获取产品表面的三维模型,与标准模型进行对比,快速发现表面凹凸、划痕等缺陷。
2.2 飞行时间法(Time of Flight,ToF)
- 技术原理:飞行时间法深度相机的工作原理是通过测量光在相机与物体之间的往返时间来计算距离。相机发射出光脉冲(通常是红外光),光遇到物体后反射回来,被相机接收。根据光的传播速度和往返时间,利用公式
(其中d为距离,c为光速,t为光的往返时间),就可以计算出物体到相机的距离。
- 技术细节:ToF 深度相机的性能与光脉冲的发射功率、接收传感器的灵敏度以及时间测量的精度密切相关。为了提高测量精度,需要采用高精度的时间测量电路,例如采用时间数字转换器(TDC)来精确测量光的飞行时间。同时,为了减少环境光的干扰,通常会在相机镜头前添加滤光片,只允许特定波长的红外光通过。
- 典型应用:在智能手机领域,华为、三星等品牌的部分手机型号配备了 ToF 深度相机。它可以用于拍摄具有背景虚化效果的照片,通过获取场景的深度信息,准确识别出前景物体和背景,从而实现更自然的背景虚化。在自动驾驶领域,ToF 深度相机可以实时检测车辆周围障碍物的距离和位置,为自动驾驶系统提供重要的环境感知信息,帮助车辆做出加速、减速、转向等决策。
2.3 双目立体视觉(Stereo Vision)
- 技术原理:双目立体视觉深度相机模仿人类双眼的视觉原理,使用两个(或多个)相机从不同角度同时拍摄同一场景。通过对两幅图像中相同特征点的匹配,利用三角测量原理计算出这些点的深度信息。其核心在于找到两幅图像中的对应点,然后根据相机的基线距离(两个相机之间的距离)和对应点的视差(在两幅图像中的位置差异)来计算物体的深度。
- 技术细节:双目立体视觉深度相机的精度与相机的基线距离、焦距以及图像分辨率有关。基线距离越大,测量的深度范围越广,精度也相对越高,但同时也会增加系统的体积和成本。在进行特征点匹配时,通常会采用基于特征的匹配算法(如 SIFT、SURF 等)或基于区域的匹配算法(如块匹配算法)。
- 典型应用:在机器人领域,配备双目立体视觉深度相机的机器人可以实现自主导航和避障。机器人通过获取周围环境的三维信息,构建地图并规划路径,避开障碍物。在 3D 电影制作中,双目立体视觉技术可以拍摄出具有立体效果的画面,观众佩戴 3D 眼镜后,能够感受到身临其境的观影体验。
三、深度相机的用途
3.1 智能家居
在智能家居系统中,深度相机可以实现人体行为识别和家居环境感知。例如,当用户走进房间时,深度相机可以识别出用户的动作和姿态,自动调节灯光的亮度和颜色、开启空调并设置合适的温度。通过持续监测房间内的人员活动情况,深度相机还能在无人时自动关闭电器设备,达到节能的目的。
(1)人体行为识别与个性化场景适配
- 自动灯光调节:深度相机能够实时捕捉用户的动作、姿态以及在房间内的位置信息。当用户走进昏暗的房间时,它迅速识别到有人进入,随即根据环境光线强度和用户所在位置,自动调节灯光的亮度和颜色。例如,在傍晚时分,用户进入客厅,深度相机检测到室内光线较暗,会将客厅的灯光调至暖黄色且亮度适中的状态,营造温馨舒适的氛围;如果是在深夜,用户起夜进入卫生间,深度相机则会开启柔和的夜灯模式,避免强光刺激眼睛,同时确保用户行动安全。
-
智能温度控制:除了灯光调节,深度相机还可用于智能控制空调温度。当用户进入房间后,它会根据用户的穿着、活动状态以及房间内的当前温度,自动设置空调的合适温度。比如在炎热的夏天,用户穿着短袖进入房间,深度相机检测到用户微微出汗,且室内温度较高,便会自动将空调温度调至 26℃,风速设为中档;而在寒冷的冬天,用户穿着厚外套进入房间,深度相机感知到室内温度较低,会将空调调整为制热模式,温度设定在 22℃ ,让用户迅速感受到温暖。
-
个性化娱乐体验:在家庭娱乐场景中,深度相机能识别用户的手势和动作,实现无需遥控器的便捷操作。例如,用户在观看电视时,想切换频道、调节音量,只需做出相应的手势,深度相机捕捉到后,便会将指令传输给电视,完成操作。此外,一些体感游戏也借助深度相机,让用户通过身体动作与游戏进行交互,如在跳舞游戏中,深度相机实时追踪用户的肢体动作,判断动作的准确性和完成度,为用户带来沉浸式的游戏体验。
(2)家居环境感知与节能管理
- 无人自动断电:深度相机通过持续监测房间内的人员活动情况,能够准确判断房间是否处于无人状态。当检测到房间内长时间无人活动时,它会自动关闭该房间内的电器设备,如电视、台灯、电脑等,避免因忘记关闭电器而造成的电能浪费。例如,用户出门时忘记关闭客厅的电视和灯光,深度相机在一段时间检测不到人员活动后,会自动切断这些设备的电源,达到节能目的。
- 安全防护监测:深度相机还可用于家庭安全防护。它能够实时监测家中是否有异常行为,如陌生人闯入、老人或小孩摔倒等情况。当检测到异常时,深度相机立即向用户的手机发送警报信息,并可联动家中的智能门锁、摄像头等设备,采取相应的安全措施。比如,若有陌生人试图进入家中,深度相机识别到后,会自动锁定智能门锁,并将现场画面传输给用户,保障家庭安全。
3.2 医疗领域
深度相机凭借其强大的三维信息获取与动态监测能力,在医疗领域发挥着重要作用,从精准的手术导航到个性化的康复治疗,都为医疗行业带来了新的变革与突破。
(1)深度相机在手术导航中的应用
-
骨科手术:在骨科手术中,深度相机的应用极大地提升了手术的精准性和安全性。以复杂的髋关节置换手术为例,手术前,医生使用深度相机对患者的髋关节部位进行扫描,快速获取骨骼的三维模型。深度相机通过飞行时间法(ToF)或结构光技术,发射红外光并接收反射光,从而计算出骨骼表面各点的深度信息,构建出高精度的三维模型。
基于这个三维模型,医生可以在手术前进行精确的手术规划,模拟植入假体的位置、角度和大小,提前预估手术中可能遇到的问题。在手术过程中,深度相机实时监测手术器械与骨骼的位置关系,将数据传输到手术导航系统中。医生通过可视化的界面,可以清楚地看到手术器械在患者骨骼中的具体位置,确保假体植入的角度和位置准确无误,避免损伤周围的神经和血管,显著提高手术的成功率。
-
神经外科手术:在神经外科手术中,深度相机同样发挥着关键作用。例如在脑肿瘤切除手术中,由于大脑结构复杂,肿瘤位置往往与重要的神经和血管紧密相连,手术难度极高。深度相机可以在手术前对患者的脑部进行扫描,获取包含肿瘤在内的脑部三维信息。结合医学影像(如 MRI、CT)数据,医生能够更清晰地了解肿瘤的形状、大小以及与周围组织的关系,制定详细的手术方案。
手术过程中,深度相机实时追踪手术器械和患者脑部组织的相对位置,当手术器械接近重要神经和血管时,系统会发出警报,提醒医生谨慎操作,降低手术风险。通过深度相机提供的精准信息,医生可以更精确地切除肿瘤,最大程度减少对正常脑组织的损伤,提高患者的术后恢复效果。
(2) 深度相机在康复治疗中的应用
-
肢体运动功能评估: 在康复治疗领域,深度相机可用于监测患者的肢体运动情况,进行准确的康复效果评估。以脑卒中患者的康复训练为例,患者在康复训练过程中,深度相机通过双目立体视觉技术,从不同角度捕捉患者肢体的运动轨迹和姿态变化。深度相机可以精确记录患者肢体的关节角度、运动速度和幅度等数据。
医生根据这些数据,能够客观地评估患者肢体运动功能的恢复情况,判断康复训练的效果。例如,通过对比患者在不同阶段的肢体运动数据,医生可以了解患者的进步程度,及时调整康复训练计划,制定更个性化的康复方案。
-
康复训练指导: 深度相机还可以为患者的康复训练提供实时指导。在康复训练设备上安装深度相机,患者进行训练时,深度相机实时监测患者的动作是否标准。当患者的动作出现偏差时,系统会及时发出提示,纠正患者的动作,确保康复训练的有效性和安全性。
例如,在进行上肢康复训练时,患者需要按照规定的动作轨迹进行伸展和抓取练习。深度相机监测到患者的动作不符合要求时,会通过语音提示或屏幕显示的方式,指导患者调整动作,帮助患者逐步恢复肢体运动功能。
3.3 虚拟现实与增强现实(VR/AR)
在虚拟现实(VR)与增强现实(AR)技术不断发展的今天,深度相机作为实现沉浸式体验与虚实融合的核心组件,正发挥着不可或缺的作用。它通过捕捉空间信息和用户动作,打破虚拟与现实的界限,为用户带来全新的交互体验。
(1) 深度相机在 VR 领域的应用
- 自然交互的 VR 游戏: 在 VR 游戏中,深度相机能够实时捕捉用户的全身动作,将物理空间中的肢体姿态精确映射到虚拟世界。以《节奏光剑》(Beat Saber)为例,玩家手持 VR 手柄模拟光剑,深度相机通过 ToF 技术或结构光技术,快速追踪手柄位置与玩家肢体动作。当游戏中飞来不同方向的方块时,深度相机捕捉玩家挥动手柄的角度、速度和轨迹,系统判断玩家是否成功击中目标,实现精准的交互反馈。玩家可以自然地通过身体移动、转身、跳跃等动作躲避障碍、完成关卡,仿佛置身于真实的战斗场景中,极大提升了游戏的沉浸感和趣味性。
-
VR 教育与培训: 在 VR 教育领域,深度相机助力构建高度真实的学习环境。例如在医学解剖教学中,学生佩戴 VR 设备,深度相机实时追踪学生的手部动作和头部转动。学生可以通过伸手触摸、旋转虚拟人体模型,深度相机将这些动作转化为模型的操作指令,实现多角度、全方位的解剖观察。学生还能通过手势操作放大、缩小模型,查看血管、神经等精细结构,深度相机确保操作的准确性和流畅性。这种沉浸式的学习方式,让学生获得如同真实解剖的实践体验,显著提高学习效果和知识掌握程度。
(2) 深度相机在 AR 领域的应用
-
AR 导航与定位: 在 AR 导航应用中,深度相机通过获取真实环境的三维信息,实现虚拟导航信息与现实场景的精准融合。以手机 AR 导航为例,当用户开启导航功能后,手机上的深度相机(通常采用双目立体视觉技术或 ToF 技术)扫描周围环境,识别建筑物、道路、地标等物体的位置和形状。系统根据深度相机采集的数据,将虚拟的导航箭头、路线指引、距离提示等信息准确叠加到真实场景中。例如,在复杂的城市街道中,导航箭头会直接显示在前方道路上,随着用户的移动实时调整方向和位置,用户无需低头查看地图,只需跟随眼前的虚拟指引,就能轻松找到目的地,使导航更加直观、便捷。
-
AR 购物与家居设计: 在 AR 购物场景中,消费者可以利用深度相机体验 “先试后买” 的服务。例如在购买家具时,用户打开商家的 AR 应用,深度相机扫描家中的房间空间,获取房间的尺寸、布局和墙面位置等信息。用户选择心仪的家具模型后,系统根据深度相机采集的数据,将虚拟家具准确放置在家中的真实位置,消费者可以从不同角度观察家具与房间的搭配效果,判断尺寸是否合适、风格是否匹配。深度相机还能实时检测用户与虚拟家具的距离和相对位置,当用户走近查看细节时,虚拟家具会自动调整显示比例,提供更清晰的展示,帮助消费者做出更准确的购买决策。
3.4 工业制造
在工业制造领域,深度相机凭借其高精度的三维信息采集与实时监测能力,成为提升生产效率、保障产品质量的重要技术手段。从产品质量检测到复杂的机器人装配,深度相机在多个环节发挥着关键作用。
(1 ) 产品质量检测
- 尺寸偏差检测: 在汽车零部件制造中,发动机缸体的尺寸精度直接影响发动机的性能和可靠性。深度相机采用结构光技术,向缸体表面投射特定的光图案,红外摄像头捕捉被缸体表面调制后的变形图案。通过计算发射的原始图案与接收的变形图案之间的差异,结合三角测量原理,深度相机能够精确获取缸体表面各点的三维坐标,精度可达微米级别。系统将采集到的缸体三维数据与设计模型进行对比,可快速检测出缸体孔径、壁厚等关键尺寸是否存在偏差。若检测到某一孔径尺寸超出公差范围,系统会立即发出警报,并标记出不合格部位,方便工人进行修复或报废处理,避免不合格产品流入下一道工序。
-
表面缺陷检测: 对于精密机械零件,如航空发动机叶片,其表面质量要求极高。深度相机利用 ToF 技术,发射红外光脉冲并测量光在叶片表面的往返时间,从而获取叶片表面的深度信息。通过对深度数据进行分析,能够检测出叶片表面的微小裂纹、凹陷、划痕等缺陷。例如,当叶片表面存在一条细小裂纹时,深度相机采集到的裂纹处深度数据会与正常区域产生明显差异,系统通过预设的算法识别出缺陷,并对缺陷的位置、长度、深度等信息进行量化分析,生成详细的检测报告,为后续的修复或更换提供依据。
(2) 三维建模
- 产品设计辅助:在消费电子产品设计中,设计师需要对产品的外观和内部结构进行优化。使用深度相机对产品原型进行扫描,能够快速生成高精度的三维模型。深度相机通过双目立体视觉技术,从不同角度拍摄产品原型,利用图像匹配算法找到两幅图像中的对应点,结合相机的基线距离和对应点的视差,计算出产品表面各点的三维坐标,从而构建出产品的三维模型。设计师可以将三维模型导入到计算机辅助设计(CAD)软件中,对产品的外观线条、按键布局、接口位置等进行调整和优化,大大缩短产品设计周期,提高设计效率。
- 逆向工程: 当需要对一些没有设计图纸的旧零件进行仿制或改进时,深度相机在逆向工程中发挥着重要作用。以机械模具为例,深度相机对模具进行全方位扫描,获取模具表面的三维数据。通过专门的逆向工程软件对三维数据进行处理,生成模具的三维模型,并提取出模具的尺寸参数、形状特征等信息。工程师可以根据这些信息对模具进行重新设计和制造,或者对模具的缺陷进行修复,降低产品开发成本和时间。
(3)机器人装配
- 零件抓取: 在 3C 产品的生产线中,手机主板的装配需要将众多微小的电子元件准确地放置在指定位置。深度相机安装在机器人手臂上方,实时监测传送带上的电子元件。当元件进入相机视野时,深度相机通过 ToF 技术快速获取元件的位置、姿态和尺寸信息。机器人根据深度相机提供的数据,规划出最佳的抓取路径,精准地抓取电子元件。例如,对于尺寸仅为几毫米的电容,深度相机能够精确测量其位置和角度,机器人手臂按照计算出的轨迹,使用真空吸盘或专用夹具准确抓取电容,并放置在手机主板的对应焊盘上。
- 精准装配: 在汽车发动机装配过程中,需要将气缸盖准确地安装到气缸体上。深度相机安装在装配工位附近,对气缸体和气缸盖的位置和姿态进行实时监测。深度相机通过结构光技术获取气缸体和气缸盖的三维模型,计算出两者之间的相对位置偏差和角度偏差。机器人根据深度相机反馈的数据,对气缸盖的位置和姿态进行微调,确保气缸盖的螺栓孔与气缸体的螺栓孔精确对齐,然后进行螺栓紧固。通过深度相机的引导,大大提高了装配的精度和效率,减少了人工干预,降低了装配误差。
3.5 安防监控
在安防监控领域,传统二维摄像头存在距离判断模糊、场景信息单一等局限,而深度相机凭借实时获取物体三维空间信息的能力,为安防工作带来了更精准、智能的解决方案,在入侵检测、人数统计、异常行为预警等场景中发挥着关键作用。
(1)入侵检测与周界防护
- 小区周界安防: 在住宅小区的周界防护中,深度相机可替代传统的电子围栏或红外对射装置,实现更精准的入侵检测。深度相机通常安装在小区围墙或栅栏上方,采用飞行时间(ToF)技术,持续向监控区域发射红外光脉冲,并接收反射光信号。当有人试图翻越围墙时,深度相机实时监测到该区域的深度信息发生变化 —— 人体进入监控范围会导致反射光的时间延迟出现异常波动,系统通过预设算法识别出这一变化,判断为非法入侵行为。
- 重要场所禁区防护: 在军事基地、核电站等重要场所,深度相机可对禁区进行全方位防护。通过构建虚拟电子围栏,划定多个级别的警戒区域。当人员或车辆进入低级别警戒区时,深度相机先记录其位置和移动轨迹,若目标持续向核心禁区靠近,系统会根据深度数据判断其是否突破更高级别的警戒线。一旦确认非法闯入核心区域,深度相机不仅会触发警报,还会联动门禁系统、封锁周边通道,并启动多角度追踪拍摄,为后续的事件调查提供完整的三维空间信息记录。
(2)人数统计与流量管理
- 商场与交通枢纽人流监测: 在商场、地铁站、机场等人员密集场所,深度相机可实现精准的人数统计和流量分析。以地铁站为例,在进站口、换乘通道、站台等关键位置部署深度相机,利用双目立体视觉技术,从不同角度捕捉行人的三维轮廓。通过对连续帧图像中人体深度信息的跟踪和分析,系统能够准确区分不同个体,即使在人群密集、人员相互遮挡的情况下,也能通过人体高度、宽度等三维特征识别出每个人,避免传统二维摄像头因遮挡导致的重复计数或漏计问题。 系统根据实时统计的人数,生成人流热力图,直观展示不同区域的人员密度和流动趋势。当某一区域人流量超过阈值时,自动向管理人员发出预警,便于及时采取疏导措施,防止拥挤踩踏事故发生。此外,通过分析不同时段的人流量数据,还能为商场调整营业时间、优化店铺布局,以及交通枢纽安排列车班次、调配工作人员提供数据支持。
- 校园与办公场所考勤管理: 在校园和办公场所,深度相机可用于非接触式考勤。学生或员工进入指定区域时,深度相机快速获取其三维特征,与预存的人员信息进行匹配,实现自动签到。相比传统的刷卡、指纹考勤方式,深度相机考勤更便捷高效,且避免了代打卡等作弊行为。同时,系统还能统计人员在不同区域的停留时间,例如在教室或办公室内的学习、工作时长,为管理决策提供参考。
(3)异常行为分析与预警
- 公共场所异常行为监测: 在火车站、广场等公共场所,深度相机可对人员的异常行为进行实时监测。通过分析人体的动作姿态、运动轨迹等深度信息,系统能够识别诸如奔跑、摔倒、长时间徘徊等异常行为。例如,当有人在人群中突然奔跑时,深度相机捕捉到其快速变化的位置和运动速度,触发异常行为预警,安保人员可迅速前往查看,防止发生突发危险事件。对于老人、儿童等易走失人群,深度相机还可通过持续跟踪其深度特征,当检测到目标脱离安全区域或长时间静止不动时,自动发出预警,帮助家属和安保人员及时找到走失者。
- 居家养老安全监护: 在居家养老场景中,深度相机可安装在老人居住的房间内,在保护隐私的前提下(仅采集深度信息,不涉及图像内容),监测老人的日常活动和健康状况。当老人不慎摔倒时,深度相机根据其姿态变化和位置信息,立即向家属和社区服务中心发送警报,以便及时采取救援措施。此外,通过分析老人的活动规律,如起床时间、用餐时间、活动范围等,若发现异常变化,如长时间未起床或活动减少,也会发出预警,提醒家属关注老人的身体和精神状态。
相关文章:
深度相机(一)——深度相机模型及用途介绍
一、深度相机概述 深度相机,又称 3D 相机,是一种能够获取场景中物体深度信息(即物体到相机的距离)的设备。与传统相机只能拍摄二维平面图像不同,深度相机不仅能记录物体的颜色和纹理,还能通过特定技术手段测…...
【Torch】nn.Conv1d、nn.Conv2d、nn.Conv3d算法详解
1. nn.Conv1d 1.1 输入(Input)和输出(Output) 输入张量 形状:(batch_size, in_channels, length) batch_size:一次过网络的样本数in_channels:每个样本的通道数(特征维度࿰…...
Android WebRTC回声消除
文章目录 安卓可用的回声消除手段各种回声消除技术优缺点WebRTC回声消除WebRTC回声消除回声消除处理流程WebRTC AECM APP 安卓可用的回声消除手段 硬件回声消除 使用 AudioRecord 的 VOICE_COMMUNICATION 模式:通过 AudioRecord 的 VOICE_COMMUNICATION 音频源可以…...
[Linux运维] [Ubuntu/Debian]在Lightsail Ubuntu服务器上安装Python环境的完整指南
在之前的教程中,我们已经讲过如何开通亚马逊Lightsail服务器并安装宝塔面板。今天,我们来进一步补充:如何在Lightsail上的Ubuntu/Debian系统中安装和配置Python开发环境。 本教程不仅适用于Lightsail服务器,也适用于所有使用Ubunt…...
2025医疗领域AI发展五大核心趋势与路线研究
引言 人工智能技术正在全球范围内深刻改变医疗服务的提供方式,推动全球医疗的普惠化、技术合作、产业升级以及公共卫生防控发生巨变[0]。医疗AI的浪潮奔涌向前,从2024年开始,生成式AI的爆发式发展更是将医疗AI推到了新的十字路口[1]。在这一背景下,本报告将深入探讨医疗领…...
【学习笔记】机器学习(Machine Learning) | 第六周|过拟合问题
机器学习(Machine Learning) 简要声明 基于吴恩达教授(Andrew Ng)课程视频 BiliBili课程资源 文章目录 机器学习(Machine Learning)简要声明 摘要过拟合与欠拟合问题一、回归问题中的过拟合1. 欠拟合(Underfit&#x…...
【MQ篇】RabbitMQ之惰性队列!
目录 引言:当“生产”大于“消费”,队列就“胖”了!肥宅快乐队列?🤔队列界的“躺平”大师:惰性队列(Lazy Queues)驾到!😴如何“激活”你的队列的“惰性”属性…...
计算机视觉——通过 OWL-ViT 实现开放词汇对象检测
介绍 传统的对象检测模型大多是封闭词汇类型,只能识别有限的固定类别。增加新的类别需要大量的注释数据。然而,现实世界中的物体类别几乎无穷无尽,这就需要能够检测未知类别的开放式词汇类型。对比学习(Contrastive Learning&…...
第二部分:网页的妆容 —— CSS(下)
目录 6 布局基础:Display 与 Position - 元素如何排列和定位6.1 小例子6.2 练习 7 Flexbox 弹性布局:一维布局利器7.1 小例子7.2 练习 8 Grid 网格布局:强大的二维布局系统8.1 小例子8.2 练习 9 响应式设计与媒体查询:适应不同设备…...
vite项目tailwindcss4的使用
1、安装taillandcss 前几天接手了一个项目,看到别人用tailwindcss节省了很多css代码的编写,所以自己也想在公司项目中接入tailwindcss。 官网教程如下: Installing Tailwind CSS with Vite - Tailwind CSS 然而,我在vite中按…...
css中:is和:where 伪函数
在 CSS 里,:is() 属于伪类函数,其作用是对一组选择器进行匹配,只要元素与其中任何一个选择器相匹配,就可以应用对应的样式规则。以下是详细介绍: 基本语法 :is() 函数的参数是一个或多个选择器,各个选择器之…...
线下零售数据采集:在精度与效率之间寻找平衡点
线下零售数据采集:在精度与效率之间寻找平衡点 为什么线下零售必须重视数据采集? 随着零售行业竞争加剧,门店执行的标准化与透明化成为供应链协作、销售提升的基础工作。 POG(陈列执行规范)的落地效果、陈列策略的调整…...
【Robocorp实战指南】Python驱动的开源RPA框架
目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 二、实战演示环境配置要求核心代码实现案例1:网页数据抓取案例2:Excel报表生成 运行结果验证 三、性能对比测试方…...
新ubuntu物理机开启ipv6让外网访问
Ubuntu 物理机 SSH 远程连接与 IPv6 外网访问测试指南 1. 通过 SSH 远程连接 Ubuntu 物理机 1.1 安装 SSH 服务 sudo apt update sudo apt install openssh-server1.2 检查 SSH 服务状态 sudo systemctl status ssh确认出现 active (running)。 1.3 获取物理机 IP 地址 i…...
驱动开发硬核特训 │ Regulator 子系统全解
一、Regulator子系统概述 在 Linux 内核中,Regulator 子系统是专门用于管理电源开关、电压调整、电流控制的一套完整框架。 它主要解决以下问题: 设备需要的电压通常不一样,如何动态调整?有些设备休眠时需要关闭供电࿰…...
入门版 鸿蒙 组件导航 (Navigation)
入门版 鸿蒙 组件导航 (Navigation) 注意:使用 DevEco Studio 运行本案例,要使用模拟器,千万不要用预览器,预览器看看 Navigation 布局还是可以的 效果:点击首页(Index)跳转到页面(…...
怎样将visual studio 2015开发的项目 保存为2010版本使用
用的老旧电脑跑vs2015太慢了,实在忍不了了! 想把用 Visual Studio 2015 的做的项目保存为 Visual Studio 2010 兼容的格式,以后都使用2010写了。自己在网上搜了一下,亲测以下步骤可以的 手动修改解决方案和项目文件 修改解决方案…...
【学习笔记】软件测试流程-测试设计阶段
软件测试设计阶段这个阶段主要工作是编写测试用例。 什么是测试用例? 测试用例(TestCase)是为项目需求而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序是否满足客户需求。简而言之,测试用例是每一个测…...
Rust 学习笔记:关于切片的两个练习题
Rust 学习笔记:关于切片的两个练习题 Rust 学习笔记:关于切片的两个练习题引用和切片引用的大小以下程序能否通过编译? Rust 学习笔记:关于切片的两个练习题 参考视频: https://www.bilibili.com/video/BV1GrDQYeEzS…...
BeeWorks企业内部即时通讯软件支持国产化,已在鸿蒙系统上稳定运行
一、企业用户面临的困境与痛点 一些企业用的即时通讯软件比较旧,存在的问题不仅影响了日常工作的正常开展,也阻碍了企业信息化建设的进程: ● 国产系统与移动端不兼容:仅支持Windows和MAC系统,无法在银河麒麟、统信U…...
java对文字按照语义切分
实现目标 把一段文本按照一个完整的一句话为单元进行切分。如:以逗号,感叹号结尾看作是一个句子。 实现方案 StanfordCoreNLP切分 引入依赖 <dependency><groupId>edu.stanford.nlp</groupId><artifactId>stanford-corenlp<…...
华纳云:centos如何实现JSP页面的动态加载
JSP(JavaServer Pages)作为Java生态中常用的服务器端网页技术,具有动态内容生成、可扩展性强、与Java无缝结合等优势。 而CentOS作为一款稳定、高效、安全的Linux服务器操作系统,非常适合部署JSP应用。 想要让JSP页面实现动态更新加载,避免…...
Android 消息队列之MQTT的使用(二):会话+消息过期机制,设备远程控制,批量控制实现
目录 一、实际应用场景 室内温湿度数据上传设备远程控制批量控制实现 二、会话管理、消息过期设置 4.1 会话管理 Clean Session参数 新旧会话模式对比典型应用场景 4.2 消息过期设置 MQTT 5.0消息过期机制 Message Expiry Interval属性QoS级别影响 三、实际应用场景 …...
一、JVM基础概念
一、JVM的设计目标 一次编译,到处运行(跨平台) ➔ Java编译成字节码,由JVM在不同平台解释/编译执行,实现跨平台。 内存管理与垃圾回收 ➔ JVM统一负责内存分配和回收,降低内存泄漏的风险。 性能优化 ➔ JIT(即时编译…...
深度学习---Pytorch概览
一、PyTorch 是什么? 1. 定义与定位 开源深度学习框架:由 Facebook(Meta)AI 实验室开发,基于 Lua 语言的 Torch 框架重构,2017 年正式开源,主打动态计算图和易用性。核心优势:灵活…...
第33周JavaSpringCloud微服务 分布式综合应用
第33周JavaSpringCloud微服务 分布式综合应用 一、分布式综合应用概述 分布式知识体系内容广泛,主要包括分布式事务、分布式锁、RabbitMQ等消息中间件的应用以及跨域问题的解决。 1.1 课程重点内容介绍 分布式事务 :在大型项目中普遍存在,…...
Paramiko 完全指南
目录 Paramiko 概述核心功能与模块框架安装与依赖基础用法与案例详解 SSH 连接与命令执行密钥认证SFTP 文件传输交互式会话端口转发 高级功能与实战技巧常见问题与解决方案总结与资源推荐 1. Paramiko 概述 是什么? Paramiko 是一个纯 Python 实现的 SSHv2 协议库…...
夜莺监控V8(Nightingale)二进制部署教程(保姆级)
夜莺监控部署 前置工作 1. 部署好mysql 2. 部署好redis 3. 部署好prometheus夜莺压缩包下载 本教程基于Centos7系统下的二进制方式部署,先去官网进行压缩包下载 在系统创建/opt/n9etest目录,并将压缩包拖进目录 mkdir /opt/n9etest进入/opt/n9etest࿰…...
鸿蒙应用开发 知识点 官网快速定位表
ArkTS 语言介绍 ArkTS 语言介绍 基础入门 资源分类与访问 添加组件(基础组件) 显示图片 (Image) 按钮 (Button) 单选框 (Radio) 切换按钮 (Toggle) 进度条 (Progress) 视频播放 (Video) 使用文本 文本显示 (Text/Span) 文本输入 (TextInput/TextArea) 使用弹窗 使用弹…...
【神经网络与深度学习】两种加载 pickle 文件方式(joblib、pickle)的差异
引言 从深度学习应用到数据分析的多元化需求出发,Python 提供了丰富的工具和模块,其中 pickle 和 joblib 两种方式在加载数据文件方面表现尤为突出。不同场景对性能、兼容性以及后续处理的要求不尽相同,使得这两种方式各显优势。本文将通过深…...
quickbi finebi 测评(案例讲解)
quickbi & finebi 测评 国产BI中入门门槛比较低的有两个,分别是quickbi和finebi。根据我的经验通过这篇文章做一个关于这两款BI的测评文章。 quickbi分为个人版、高级版、专业版、私有化部署四种。这篇文章以quickbi高级版为例,对quickbi进行分享。…...
vue的生命周期 以及钩子
最早可以在created 时调用后端接口获取数据,因为beforecreated的时候 那个data 都还还是初始化出来 修改数据的时候触发 update 案例1:create 案例2:一进来页面获取搜索框焦点 echarts 饼图渲染 初始化dom后才去准备实例,所以必须要在dom之后…...
Mariadb 防火墙服务器和端口:mysql | 3306
Centos7 Mariadb 理解:Mariadb数据库就类似于我们生活中常见的Excel。 主要工作原理就是我们创造一个数据库其中创造一个数据表再在数据表中输入内容,分为三类。在详细点就是打开Excel(数据库),我们在其中加入…...
爬虫学习笔记(二)--web请求过程
Web请求全过程(重要) 从输入完网址(如输入百度网址)到返回页面以及页面中的数据这一完整的过程发生了什么事情? 服务器端渲染 在服务器端直接把数据和html整合,统一返回给浏览器,在页面源代码…...
开发vue项目所需要安装的依赖包
在开发Vue项目时,通常需要安装以下几个核心依赖包:1、Vue CLI、2、Vue Router、3、Vuex、4、Axios。这些依赖包可以确保你的Vue项目拥有基础的功能和良好的开发体验。接下来,我们将详细介绍每个依赖包的作用、安装方法以及使用案例。 一、VUE…...
Java SE(4)——方法详解
1.方法的概念&使用 1.1 什么是方法? Java中的方法类似于C语言中的函数,是用于执行特定任务的代码块。 那么用方法组织起来的代码块和普通的代码相比有什么优势呢? 1.当代码规模较大且应用场景较为复杂时,方法能够模块化地组…...
网络安全实战指南:从安全巡检到权限维持的应急响应与木马查杀全(命令查收表)
目录 一、安全巡检的具体内容 1. 巡检的频率与目标是什么 2. 巡检的内容是什么以及巡检后如何加固 二、Windows环境下应急响应的主要流程 1. 流程概述及每个步骤详细解释 步骤1:隔离与遏制 步骤2:识别与分析 步骤3:清除与恢复 步骤4…...
Infrared Finance:Berachain 生态的流动性支柱
在加密市场中,用户除了参与一级和二级交易,还有一种低门槛参与的就是空投。从 2021 年 DeFi 成为主流开始,空投一直都是“以小搏大”的机会,通过参与项目早期的链上交互和任务以获取空投奖励,近几年已成为一种广受欢迎…...
Hadoop和Spark大数据挖掘与实战
1.概述 本节将系统讲解大数据分析的完整流程,包括数据采集、预处理、存储管理、分析挖掘与结果可视化等核心环节。与此同时,我们还将对主流数据分析工具进行横向对比,帮助读者根据实际需求选用最合适的工具,提升数据价值挖掘的效…...
TCP vs UDP:核心区别、握手过程与应用场景(附对比图)
🌐 引言 在网络通信中,TCP(传输控制协议)和UDP(用户数据报协议)是两大核心传输层协议。它们各有优劣,适用于不同场景。本文将用图文对比实战示例,帮你彻底理解两者的区别࿰…...
人工智能-深度学习之多层感知器
深度学习 任务任务1任务2任务3 机器学习的弊端多层感知器 (MLP/人工神经网络)MLP实现非线性分类Keras介绍与实战准备Keras or TensorflowKeras建立MLP模型 实战(1): 建立MLP实现非线性二分类实战(2): MLP实…...
Improving Deep Learning For Airbnb Search
解决问题 问题1: 解决推荐酒店与用户实际预定酒店价格存在偏差问题,实际预定比推荐要更便宜: 所以问题为是否更低价格的list更倾向于用户偏好,应该被优先推荐? 1. 该文通过数据分析与模型演进,将模型改造为item sco…...
多模态大型模型,实现以人为中心的精细视频理解
大家看完觉得有帮助记得点赞和关注!!! 抽象 精细理解视频中人类的动作和姿势对于以人为中心的 AI 应用程序至关重要。在这项工作中,我们介绍了 ActionArt,这是一个细粒度的视频字幕数据集,旨在推进以人为中…...
向量数据库Milvus的部署与使用
Milvus介绍 Milvus是一个开源、高性能、高扩展性的向量数据库,Milvus可以用来存储文本、图像、音频等非结构化数据,本质上是用Embeddings将非结构化数据转换成能够捕捉其基本特征的数字向量,然后将这些向量存储在向量数据库中,从…...
1.文档搜索软件Everything 的使用介绍
Everything 是 Windows 文件搜索的效率天花板,通过灵活语法和极速响应,彻底告别「找文件焦虑」。 定位:一款专注于 极速文件名搜索 的 Windows 工具,免费且轻量(安装包仅几 MB)。 核心优势…...
2025系统架构师---论企业集成平台的技术与应用
摘要 本文探讨了企业集成平台的技术与应用,以某商业银行开发的绩效考核平台系统为例,分析了企业集成平台的基本功能及关键技术,并详细阐述了在表示集成、数据集成、控制集成和业务流程集成方面的应用和实施方式。通过异构系统之间的集成,绩效考核平台与其他系统实现了有机…...
STM32Cubemx-H7-16-FreeRTOS-1-创建工程,实现两个灯的基本亮灭
前言 裸机也是开发到一半快要结束了,接下来开始上操作系统,然后先能使用基本的,后面再讲理论。 Cubemx创建工程 基本打开生成就不说了,直接从界面开始 从这里开始吧 1.首先开启外部高速晶振 2.先这样选择 选择HSE时钟环ÿ…...
深入浅出限流算法(二):更平滑的滑动窗口
好的,接续上一篇关于固定窗口计数器的讨论,我们现在来看看它的改进版——滑动窗口算法,它旨在解决固定窗口那个恼人的“临界突变”问题。 在上一篇文章中,我们探讨了最简单的固定窗口计数器限流算法,并指出了它最大的缺…...
纷析云开源财务软件:基于Spring Boot的轻量化财务中台实践
一、技术架构与核心设计 全栈开源技术栈 后端框架:基于Spring Boot 3.x构建,集成MyBatis-Plus作为ORM层,支持JDK 17特性(如虚拟线程并发处理),确保高吞吐与稳定性。 前端框架:采用Vue 3 TypeS…...
软考-软件设计师中级备考 5、数据结构 树和二叉树
1、树的基本概念 节点的度:节点拥有的子树数目。例如,若一个节点有 3 棵子树,其度为 3。树的度:树中节点的最大度数。如树中所有节点的度最大为 4,则树的度是 4。叶子节点:度为 0 的节点,也…...