数字孪生世界建设核心能力:数字孪生高效建模能力

news2024/11/23 22:30:05

创建高保真的数字孪生体虚拟模型是构建数字孪生应用的重要步骤之一,需要真实的再现物理实体的几何图形、属性、行为和规则等。数字孪生体模型不仅要在几何结构上与物理实体保持一致,更重要的是要能模拟物理实体的时空状态、行为、功能等。

1、三维数字孪生模型

三维数字孪生模型在数字孪生领域的应用可以分为以下几个方面:

三维数字孪生模型可提高数字孪生的精度和逼真度,使得虚拟世界中的数据模型能够更好地反映真实世界中的物理对象或系统的状态和变化。

三维数字孪生模型可以支持数字孪生的多维度展示和交互,使得用户能够从不同角度、不同层次、不同尺度观察和操作虚拟世界中的数据模型,增强用户体验和效率。

三维数字孪生模型可以促进数字孪生的跨领域应用和创新,使得不同行业、不同场景、不同需求之间能够通过共享和融合虚拟世界中的数据模型,实现协同创新和价值提升。

在实际数字孪生项目交付中,通常对三维数字模型有以下要求,需要引起注意:

精准化。模型需要能够准确地反映物理实体或系统的结构、属性、方法和行为,以及与环境的交互。并且,具有足够的细节和精度,以满足不同层次和目标的分析和仿真需求。

标准化。遵循统一的规范和格式,便于三维数字模型在不同平台和系统之间进行共享和交换。模型应该具有良好的可读性、可理解性和可扩展性,以便于后期进行模型资产的修改和更新。

轻量化。模型应尽可能地减少数据量和计算量,以提高运行效率和节省资源。需要采用合适的抽象和简化方法,去除冗余和无关信息,保留模型核心特征。

可视化。模型应该能够通过图形、图像、动画等方式进行直观地展示,以便于用户观察、理解和操作。支持多种视角和尺度的切换,以适应不同场景下模型展示和变换的需求。

若交付的数字孪生项目为B/S架构,为了实现高效和高质量的数字孪生场景,通常需要注意模型大小、格式和质量等方面的要求,主要包括:

模型的大小。模型的大小决定了加载和渲染的速度,过大的模型会导致网络传输和内存占用过高,影响用户体验。因此,模型需要进行合理的压缩和优化,降低其数据量和复杂度。

模型的格式。模型的格式决定了其兼容性和功能性,不同的格式有不同的特点和优劣势。一般来说,WEB端可视化场景需要选择支持动画、纹理、材质等属性的格式,例如GLTF、FBX、OBJ等。同时,也需要考虑浏览器对不同格式的支持程度,选择最适合当前环境和需求的格式。

模型的质量。模型的质量决定了其视觉效果和真实感,过低或过高的质量都会影响用户体验。过低的质量会导致模型失真、粗糙、不自然;过高的质量会导致渲染压力过大、卡顿、延迟。因此,模型需要根据目标分辨率和设备性能进行适当的细分或简化,并保持合理的比例和形态。

2、模型数据的采集与处理

在项目建设前期,开发者需要对模型数据进行全面的采集与处理,为创建数字孪生场景打下坚实的数据基础。随着科学技术的不断进步和社会需求的不断变化,测绘技术也在不断发展和创新,主要有以下技术趋势:

精密化、智能化和集成化。随着测绘仪器设备的不断更新换代,如全站仪、GPS接收机、数字航摄仪等,以及计算机、网络、人工智能等信息技术的广泛应用,现场测绘技术可以实现更高的精度、效率和自动化程度,同时可以实现多种数据获取方式和多种数据处理方法的有机结合和协同作用。

多源化、多尺度化和多维化。随着遥感卫星、无人机、激光雷达等新型数据获取平台和传感器的出现和发展,以及大数据、云计算等新型数据管理和分析技术的推广和应用,现场测绘技术可以获取更丰富、更全面、更实时的地理空间信息,并可以从不同角度、不同层次、不同尺度来表达和展示这些信息。

1)人工测绘

在实际数字孪生项目中,人工测绘通常需要单反摄像机、手机、360全景设备和人工拍照采集人员。在人工测绘采集的过程中,需要提前规划好测绘路线,有序进行走动,遵循基本逻辑,先整体定位空间、后局部拍摄细节。对于简单的单一模型体来说,人工测绘方式更为灵活且成本较低;对于大型数字孪生场景的建设来说,一般不建议采用人工测绘的方式。

人工测绘一般来说可以分为以下几个步骤:

①确定测绘的内容、范围和精度,制定测绘的方案和方法。

②选择合适的测绘工具和设备,如三脚架、水准仪、经纬仪、激光垂准仪、全站仪、水平尺、游标卡尺等。

③在现场进行测绘,按照规定的格式和要求记录或输入相关的数据信息,如水平角、竖直角、高程差等。

④对测绘到的数据进行核对、整理和存储,删除或修改错误或重复的数据,保证数据的完整性和准确性。

⑤对测绘到的数据进行分析、处理和应用,根据不同的目标和需求,利用计算方法、图形工具或专业软件等对数据进行加工、展示或报告。

2)倾斜摄影

倾斜摄影测量是指在同一台无人机上搭载着镜头相机从垂直、倾斜等多角度采集影像数据、获取完整准确的纹理数据和定位信息。倾斜摄影数据采集的过程中,一台获取垂直影像,另外四台从前后左右4个方向同时获取地物的侧视影像。相机倾斜角度在40°~60°之间,可以较为完整地获取地物侧面的轮廓和纹理信息。

倾斜摄影技术大大降低了三维建模成本,能够弥补传统三维建模技术的缺陷,是大场景三维建模的重要选择之一。

倾斜摄影技术主要具有以下技术优势:

一是高分辨率。倾斜摄影平台搭载于低空飞行器,可获取厘米级高分辨率的垂直和倾斜影像。

二是可以获取丰富的地物纹理信息。倾斜摄影从多个不同的角度采集影像,能够获取地物侧面更加真实丰富的纹理信息,弥补了正摄影像只能获取地物顶面纹理的不足。

三是可以高效构建三维模型。通过垂直与倾斜影像的全自动联合空三加密,无需人工干预,即可全自动化纹理映射,并构建三维模型。通过影像构建的真实三维场景,不仅拥有准确地物地理位置坐标信息,并且可精细的表达地物的细节特征,包括突出的屋顶和外墙,以及地形地貌等精细特征。

但倾斜摄影技术也具有一定的局限性。倾斜摄影技术采用可见光进行测量,对天气要求较高,并且对密集植被下的地形无能为力,对细小物体的建模能力不足。

3)激光雷达测绘

激光雷达测量技术是最初由欧美发达国家发展起来并投入商业化应用的一门新兴技术,集成了激光测距系统、全球定位系统(GPS)和惯性导航系统(INS)三种技术于一身,在三维空间信息的实时获取方面取得了重大突破,为获取高时空分辨率的地球空间信息提供了一种全新的技术手段,是当下较为先进的测绘技术之一。

激光雷达测绘技术主要具有以下技术优势:

一是可以快速获取数字高程模型。激光点云数据是激光雷达技术中最为直接的数据,点云数据的密度和精度都比较高,能快速清晰的显示点位的三维坐标构架。经人工交替操作或自动运行,将人放射到地面植物中或建筑物之类的地形之外目标上的点云统一分类、滤波或清除,之后构建三角网TIN,就能及时得到DEM。因为激光点密度非常大,数目比较繁多,DEM的生成也更为方便、准确。

二是自动化程度高。从飞行设计到数据获取,到最终的数据处理,自动化程度非常高。通过GPS技术实时显示飞行轨迹。不会发生漏拍的情况,避免人为错误。

三是信息获取敏感。可以获取小于遥感影像或者雷达影像分辨率的目标信息,可穿透植被覆盖物获得地面点数据。

四是传感器工作条件局限性小。主要采用主动式测量,自行发射和接收激光脉冲,可穿透茂密植被直达地面,不受光照和阴影的限制,获取的数字高程模型更接近真实地表形态,受天气影响较小。

3、常见三维建模软件

1)Blender

Blender是一款由美国公司PTC开发的数字孪生软件,它可以将物理世界中的实体转换为数字模型,并在数字环境中进行仿真和分析。Blender提供了一个可视化的界面,使用户能够轻松地创建、编辑和管理数字孪生模型。Blender还支持多种数据格式,包括CAD、PLM和IoT数据,以及各种传感器和设备数据。

2)Maya/3DMAX

Maya/3DMAX是一款数字内容创建软件,主要用于三维动画、建模、仿真和渲染。在数字孪生领域中,可以用于建立虚拟孪生体。

3) Substance 3D Painter

SP是Adobe公司旗下的一款专业的3D数字绘画软件,它具有强大的功能,被公认为是最具创新性和用户友好性的3D绘图器,广泛用于游戏和电影制作以及产品设计、时尚和建筑中。在数字孪生中Substance 3D Painter能提供从无到有的贴图绘制制作,使为3D资产创建纹理变得比以往更容易。

4、手工建模

数字孪生领域中,手工建模是一种常用的建立数字模型的技术,它可以帮助工程师们更好地理解和掌握产品的设计、制造、运营等方面的信息,从而更好地进行产品的优化和改进。在实际的数字孪生项目中,手工建模也是技术人员最常采用的建模方式,可以灵活适应不同数字孪生场景需求,根据项目需求进行灵活修改和迭代,且更容易进行数字孪生可视化展示和交互操作,性能上也更具有优势。

基于手工模型制作的数字孪生建模方法主要涉及以下几个关键技术:

利用倾斜摄影等方式进行数据采集和处理。在没有BIM模型支撑的情况下,需要利用倾斜摄影、人工照片采集、激光点云等方式进行模型数据采集和处理。

BIM模型轻量化的处理流程。在已有BIM模型的情况下,需要对原始BIM模型数据进行清洗、减面、压缩等操作,以在实际项目中提高BIM模型的运行效率;对于BIM模型轻量化处理流程。

手工重构重建数字孪生模型。对于无法进行人工采集且没有BIM模型支撑的情况下,需要通过Blender等软件对模型进行手工重构重建,并利用已有的既定知识或专家经验来对模型制作过程和效果进行管理。

1)倾斜摄影模型数据处理

倾斜摄影的处理:

通常情况下会选择使用倾斜摄影处理软件,根据航拍数据、航拍视频等现实参考,结合孪生场景内的地形关系。对倾斜摄影模型进行一系列的数据对齐、模型裁剪等操作。对倾斜摄影内出错或质量不足的部分进行处理,或者直接转换成其他模型通用格式。从而让倾斜摄影呈现出正确、符合项目需要的内容部分。
在这里插入图片描述
倾斜摄影的优化:

通常需要将倾斜摄影的顶层数量进行二次构建、建立多层不同数量的瓦片层级。来处理倾斜摄影在孪生场景内加载速度慢、加载出现卡顿的情况。

倾斜摄影的发布:

将已经处理优化后的倾斜摄影通过平台加密上传到官方平台云端。不需要将倾斜摄影下载至本地,即可在孪生场景内通过直接链接URL的方式实时在线加载云端的倾斜摄影。

倾斜摄影的加载方案:

需要对倾斜摄影的OSGB、3DTiles、URL三种格式进行转换,来满足数字孪生应用程序在面对不同网络环境(内网、公网)时的倾斜摄影加载情况。同时,若使用本地加载倾斜摄影的方式还可以一定程度上提高倾斜摄影的加载速度。
在这里插入图片描述
2)PBR建模流程

PBR(Physically-Based Rendering)流程其实是一个很复杂的概念,它的基本概念是一系列复杂的处理真实物理和光照的渲染器的组合,以及一系列使用标准化的表示真实材质参数的贴图。本质上,PBR就是一个用于创建贴图和渲染工作的整体系统,在不同的工具和引擎的作用下会产生不同的实现效果(一般指渲染器模型和贴图的输入类型)。

伴随着时代的发展,次世代技术PBR流程也随之普及。在游戏行业和数字孪生行业从最开始的传统流程慢慢转向PBR流程,比如我们现在经常能够听到次世代游戏/3A游戏的说法,指的都是使用次世代PBR流程制作的游戏。转变主要原因来自于PBR流程的材质效果不但更接近于真实事物效果,而且制作效率相比传统流程快了许多。
在这里插入图片描述

下面是对传统制作流程与PBR流程的制作流程、效果进行剖析对比,不论传统流程还是PBR流程最基础的中模、高模、低模以及对模型的烘培是相同的。

传统流程:首先需要对高低模进行烘培得到normal(法线)与AO,然后通过normal和AO转出一张CAVITY贴图,然后在PS中将AO进行正片叠底,CAVITY调整为叠加模式,以便区分物体的大体色块。

PBR流程:在PBR流程中最后获得的贴图为AO、normal、Metalness、Roughness四张贴图。PBR流程相比传统流程去除了AO的叠加,只存有固定的AO贴图,不包含任何的光影。法线的烘培流程与传统流程相一致,增加的Metalness用来控制金属的金属度,非黑即白,白色为金属,黑色为非金属,而Roughness来控制材质的粗糙度,同样也是用黑白来控制,越白越粗糙反之越黑越光滑。此外,在PBR流程中使用3D纹理贴图软件制作可以通过软件计算模拟出现划痕、掉落漆、脏渍等,使得制作更为方便的同时效果也更加真实。

在实际数字孪生项目交付的过程中,PBR建模流程可以概括为以下步骤:

①在建模软件中建立中模,即基础的三维模型;

②在建模软件中雕刻高模,制作拥有细节和纹理的高精度模型;

③在建模软件中拓扑低模,形成优化网格和拆分UV坐标的低多边形模型;

④在3D纹理贴图软件中烘焙贴图,将高模的信息投影到低模上生成法线贴图、环境光遮蔽贴图等;

⑤在3D纹理贴图软件软件中绘制材质,创建高光度图、粗糙度图、金属度图等材质贴图;

⑥在Blender等软件中渲染,需要设置光源和环境,并调整参数和效果,最后导出。
在这里插入图片描述
3)BIM模型轻量化处理

BIM(Building Information Modeling)是继CAD之后整个工程建设领域的第二次数字革命,对建筑行业的生产组织模式和管理方式产生了深远的影响。BIM的核心是通过建立虚拟的建筑工程三维模型,利用数字化技术,为这个模型提供完整的、与实际情况一致的建筑工程信息库。该信息库不仅包含描述建筑物构件的几何信息、专业属性及状态信息,还包含了非构件对象(如空间、运动行为)的状态信息。基于BIM技术,可以将建筑设施的各种信息集成在模型要素上,构建出建筑的数字孪生体。

在数字孪生项目交付中,BIM模型的轻量化主要是指通过对原始BIM模型数据进行清洗、减面、压缩等操作,减少模型的体量和复杂度,以在实际项目中提高BIM模型的运行效率,使其更适合在电脑、手机等终端上查看和交互。数字孪生建模人员可以通过Blender或其他建模软件做BIM模型的轻量化,常见的操作有:

可以使用融合变形或混合变形(BlendShape)功能,将多个形状组合成一个变形链,从而减少模型的顶点数和多边形数。

使用多边形简化或网格简化(PolygonReduction / MeshSimplification)工具,根据一定的标准和阈值,自动或手动地删除或合并不必要的顶点和面。

使用贴图或材质(Texture / Material)来代替复杂的几何细节,例如纹理贴图,法线贴图等。

具体来看,常见的BIM模型应用软件和格式有AutoCAD(.dwg/.dxf/.dwt/.dws)、Sketchup(.skp/.skb)、AutodeskRevit(.rte/.rvt/.rfa)、SOLIDWORKS等。BIM模型经过轻量化处理后,需要导出至通用格式FBX或OBJ或datasmith,导入Blender或UE中进行进一步捋顺。

在BIM模型轻量化的过程中,建模人员需要注意以下问题:

UV层面要求和规则:

需要保持UV坐标系的一致性,避免出现UV重叠或错位的情况;

使用合适的UV展开方式,根据模型的形状和贴图的特征,选择最优化的展开方法;

使用高效的UV打包工具,将多个模型或材质的UV打包到同一个贴图空间中,以减少贴图数量和内存占用;

使用无缝平铺或三向投影等技术,避免出现明显的接缝或拉伸等贴图问题;

UV需要尽量减少空白区域,提高纹理的利用率和质量;

UV需要根据模型的复杂度和细节进行合理的划分和分组,避免出现过大或过小的UV块。

如下图示例:若制作独立贴图则遵循寻以上UV层面要求,若制作Tiling贴图则尽可能遵守贴图层面要求(具体可细看下面贴图层面案例细分)
在这里插入图片描述
贴图层面要求和规则:

选择合适的贴图格式,根据不同的平台和需求,选择最优化的压缩比和清晰度;

控制贴图数量和大小,尽量减少不必要的贴图,并将多个贴图打包到同一个图片中;

使用无损或有损压缩工具,对贴图进行压缩处理,降低文件大小和内存占用;

使用高效的UV展开和打包工具,避免出现UV重叠或错位等问题,并提高贴图利用率。

轻量化层面要求和规则:

选择合适的减面工具,根据不同的模型格式和需求,选择最优化的算法和参数;

保持模型的完整性和拓扑结构,避免出现模型破损或变形等问题;保留模型的重要特征和细节,避免出现模型失真或质量下降等问题;

使用高效的数据压缩和传输技术,进一步降低模型数据量和加载时间。

模型轻量化处理通常会选择使用模型减面工具进行减面优化处理,处理完成后导入Blender等软件进行进一步优化理线制作。对于无法处理的模型,需要进行重新布线建模。

5、程序化建模

随着数字孪生和元宇宙相关领域的快速发展,三维模型的需求大幅上升,需要投入大量时间和精力的手工建模难以满足时下已经暴涨的模型需求。为应对这样的现象,高效率高质量的程序化建模方式得以推广和发展。程序化建模是指根据计算机图形学原理设定模型生成的规则,利用程序实现模型或贴图的创建,建模人员可以通过调节参数快速生成具有多样性和灵活性的模型,帮助建模人员大幅提高建模效率。

程序化建模可以主要分为三个阶段,第一个阶段是模块化建模,将需要生成的模型拆分为不同的组件或者模块;第二个阶段是自变量建模,调整不同组件的长、宽、高等主要参数,可以生成大量变体,这样为之后的组合与匹配提供了更为丰富的结果;第三个阶段是按照一定规则将组件进行组合与排列,生成模型。

与传统建模方式相比,程序化建模的优点不仅是快速生成各种模型结果,还可以与游戏引擎对接形成高效的生产管线。对于生产管线来说,可复用性和可编辑性的特点让程序化建模拥有更高的容错率,同时也减少了不少重复工作。

当前,利用程序化建模的数字孪生应用已十分常见,三维建模软件已经推出可视化操作界面,便于建模人员快速实现程序化建模,如Blender、Adobe Substance 3D、CityEngine等,还有专门聚焦于程序化建模的软件Houdini,这些工具为建模人员提供了极大的便利。本节中将介绍Houdini和CityEngine两种程序化建模方式。

1)Houdini

Houdini最初是为制作特效和动画电影而设计的,其独特的程序化生成技术可以快速创建高质量的3D模型和特效,为电影行业提供了一个革命性的工具。随着技术的不断发展和完善,Houdini的应用领域逐渐扩展到了游戏开发、虚拟现实、数字孪生等各个领域。

Houdini程序化建模的核心是将3D内容的制作过程转化为程序的生成过程,通过对程序的调整和修改来实现对3D内容的精确控制。与传统手工建模方式相比,Houdini的程序化生成技术可以实现快速生成各种复杂的3D模型、动画和特效,并且具有高度的灵活性和可编程性。不仅为制作高质量的模型内容提供了一种高效、快捷、可定制的解决方案,而且也为数字孪生、工业设计、建筑可视化等领域提供了强大的支持。

Houdini具有以下技术特点,可以帮助技术人员快速制作高质量数字孪生模型:

参数化建模。Houdini程序化建模的重要特点就是参数化建模,它可以利用参数控制建模过程中的各种属性,从而实现快速而灵活的建模。这种技术可以大大提高建模的效率,同时还可以让技术人员轻松地进行修改和调整。

数据流编程。数据流编程是一种编程范式,它将程序看作是一组数据流,其中每个数据流代表着一组数据或者一组操作,Houdini的程序化生成技术就是基于这种思想实现的。它将数据和操作看作是一系列节点,通过连接节点之间的输入和输出,实现复杂的程序逻辑和生成过程。

非线性流程控制。程序化建模的核心是对流程的控制,Houdini提供了一种非线性的、可视化的流程控制方式,即“节点图”(Node Network)。使用节点图,技术人员可以随时在不同阶段添加、删除、调整节点,实现对建模流程的灵活控制,同时可以更方便地进行迭代和调试。

内建的几何操作和算法。Houdini内置了许多常用的几何操作和算法,如布尔运算、剖分、变形、优化等,这些操作和算法可以帮助技术人员快速完成复杂的几何操作和建模任务。

Houdini程序化建模技术具有非常高的灵活性、可重复性、可视化和高效性。这些优势能够让技术人员更好地适应项目需求和变化,提高模型生产效率和质量,并让技术人员更加专注于创意和创新。

在数字孪生领域,Houdini技术的应用可以帮助厂商提高数字孪生场景的制作效率和质量,解决场景建模、数据采集、场景模拟等问题:

大规模场景建模

数字孪生领域需要对现实世界中的物体和场景进行数字化建模,这通常需要耗费大量的时间和精力。使用程序化生成技术,可以通过编写脚本自动化建模过程,大大加快场景建模速度。

城市建筑场景生成。Houdini程序化生成可以用于快速创建高度真实的城市场景。可以通过简单的参数控制快速生成符合规划标准的城市场景。此外,Houdini还可以通过实现城市道路系统、建筑物等元素的可编程化,以及通过使用各种分形算法和L-系统算法、或是基于GIS数据来自动生成城市场景。
在这里插入图片描述
自然环境生成。利用Houdini程序化生成,艺术家和技术人员可以快速创建逼真的自然环境场景。通过使用L-系统、分形算法等方法,Houdini可以自动地生成树木和植被,并为它们分配逼真的材质和纹理。此外,Houdini程序化生成还可以用于创建地形、河流、湖泊等自然景观元素。
在这里插入图片描述
高精度数据采集

数字孪生领域需要对现实世界中的物体和场景进行高精度的数据采集,例如使用激光扫描仪等设备进行点云数据采集。使用程序化生成技术,可以对采集到的数据进行快速、准确的处理和优化。

高效模拟

数字孪生领域需要对各种物理现象进行模拟,例如机械运动、流体运动等等。使用程序化生成技术,可以通过编写脚本快速生成各种复杂的模拟场景,大大提高了模拟效率和精度。

高效的数据管理

数字孪生通常需要大量的数据存储和管理,包括场景数据、纹理数据、模型数据等等,这些数据量通常非常庞大,需要一定的存储和管理能力。Houdini程序化生成技术可以通过高效的数据节点、缓存机制等来管理这些数据,从而提高数据的读取和处理效率。

2)CityEngine

CityEngine是一款使用基于代码的程序化方法来高效地生成三维城市模型的软件。最初它被应用于城市规划、建筑、可视化、游戏开发、娱乐、GIS、考古和文化遗产等领域。

CityEngine作为一款3D建模软件,其拥有可以与GIS数据集成,并提供编辑工具、立面纹理、报告和仪表盘生成以及3D模型创建等易用功能的特点。支持多种格式的导入和导出,有较好的数据兼容性,如OBJ、Collada(DAE)、DXF等。这些独特的能力让其可在比传统建模技术更短的时间内创建大规模、交互式和沉浸式城市环境。尤其是其可以基于真实的地理信息系统(GIS)数据来生成与现实较为匹配的城市模型,很好的满足了数字城市大范围城市模型的需要,大大提高了孪生体场景建模的效率。

CityEngine最大的特点在于他可以使用网络上的GIS数据,根据ShapeFile类的文件来生成具有建筑轮廓、建筑高度、建筑外立面材质的城市集群或城市道路网线。并且,由于可以通过DEM数据级影像图数据生成与建筑轮廓相匹配的地形保证,因此较好的保证了生成模型的准确性。同时,由于CityEngine内规则文件的存在,使用者可以自由的在全局层次对生成的建筑进行形状、类型、纹理的调整,在保持逻辑性的前提下提高了场景建模的效率。

此外,CityEngine还具备城市规划功能,能够快速地创建和修改城市布局,并根据道路、街区、宗地等要素进行调整。CityEngine也支持批量建模功能,能够将CGA规则文件应用到多个宗地上,实现批量生成建筑物模型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/685523.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python爬虫之Scrapy框架--日志信息--数据提取

目录 Scrapy日志信息 了解日志信息 关于日志信息的重要性 利用日志信息进行调试和优化 Scrapy数据的提取 选择器(Selector)的基本使用 Item的定义与使用 数据处理与管道(Pipeline) Scrapy日志信息 在开发和调试过程中&a…

chatgpt赋能python:Python能跨平台吗?一文详解

Python 能跨平台吗?一文详解 Python 是一种高级编程语言,自问世以来就一直备受欢迎。其简洁明了的语法,高效率的开发和优秀的文档支持为 Python 赢得了数量众多的粉丝。与其他编程语言相比,Python 最大的优势之一是其可在多个操作…

基于Java应急资源管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

什么是HuggingFace

一.HuggingFace简介 1.HuggingFace是什么 可以理解为对于AI开发者的GitHub,提供了模型、数据集(文本|图像|音频|视频)、类库(比如transformers|peft|accelerate)、教程等。 2.为什么需要HuggingFace 主要是HuggingFace…

机器学习——决策树算法

一、实验目的 掌握如何实现决策树算法,用并决策树算法完成预测。 二、实验内容 本次实验任务我们使用贷款申请样本数据表,该数据表中每列数据分别代表ID、年龄、高薪、有房、信贷情况、类别,我们根据如下数据生成决策树,使用代…

Python基础 P7 字典和集合

文章目录 Python基础 P7 字典和集合字典字典基础内置函数增操作fromkeys()删操作pop()、popitems()和clear()改操作update()查操作get()和in/not in视图对象keys(),values(),items()拷贝copy()setdefault() 其他函数键值数量len()列表转换list()迭代器转换iter()逆向序列revers…

【初识C语言(1)】变量和常量

文章目录 1. 局部变量和全局变量2. 变量的作用域和生命周期3. 常量 生活中的有些值是不变的(比如:圆周率,性别,身份证号码,血型等等)有些值是可变的(比如:年龄,体重&…

GitHub 上数百万个存储库可能容易被劫持

GitHub 上数以百万计的企业软件存储库很容易受到重新劫持,这是一种相对简单的软件供应链攻击,威胁行为者将依赖于特定存储库的项目重定向到恶意攻击。 研究人员在本周的一份报告中表示,这个问题与 GitHub 用户或组织更改项目名称或将其所有权…

chatgpt赋能python:Python自动执行程序:提高效率,降低出错率的利器

Python自动执行程序:提高效率,降低出错率的利器 随着科技的进步和信息技术的发展,人们越来越依赖计算机和自动化技术来完成繁琐的工作。自动化编程技术的应用也越来越广泛,其中Python自动执行程序被广泛使用。 Python自动执行程…

图像处理的两种变换:2D-DWT和Gabor变换

pywt官方API文档: 2D Forward and Inverse Discrete Wavelet Transform 目录 1. 二维离散小波变换2D-DWT 1.1 二维离散小波变换的相关公式 1.2 使用pywt实现2D-DWT 2. 窗口傅里叶变换Gabor 1. 二维离散小波变换2D-DWT DWT(Discrete Wavelet Transformation)代…

c语言通讯录——静态版本(带详细文字解释)

1.定义用于存储一个人信息的结构体 typedef struct PeoInfo {char name[NAME_MAX];int age;char sex[SEX_MAX];char addr[ADDR_MAX];char tele[TELE_MAX]; }PeoInfo;定义了一个名为 “PeoInfo” 的结构体(struct)类型,用于存储有关一个人的信…

MIAOYUN“一云多芯”全栈信创解决方案获认可!

信创,即信息技术产业创新,是数据安全、网络安全的基础,也是新基建的重要组成部分。信创产业发展已经成为经济数字化转型、提升产业链发展的关键,促进信创产业在本地落地生根,带动传统IT信息产业转型,构建区…

使用POI将excel文件导入到数据库

概要 随着时代变化,有的需求也会越来越多,例如:有的文件上千条数据需要导入数据库不可能手动一条条导入吧?太浪费时间了!所以需要编写程序让程序来导入 整体架构流程 我这里使用的是springbootmybatisMVC的项目架构…

接口测试流程、测试点和测试工具

目录 前言: 一、什么情况下开展接口测试? 二、如何进行接口测试 三、接口测试用例设计 四、接口测试工具 前言: 接口测试是一种重要的测试类型,用于验证应用程序接口的功能、性能和可靠性。 一、什么情况下开展接口测试&am…

AtomicInteger源码

介绍 Atomic包是java.util.concurrent下的另一个专门为线程安全设计的Java包,包含多个原子操作类。这个包里面提供了一组原子变量类。其基本的特性就是在多线程环境下,当有多个线程同时执行这些类的实例包含的方法时,具有排他性,…

大坝渗流监测的目的和意义

​  大坝渗流监测是对坝体内渗流场进行的监测,是确保大坝安全运行的重要手段。通过监测,可以掌握渗流场的变化规律,并根据渗流场的变化趋势预测坝体、坝基可能出现的问题。通常根据渗漏量与渗流量两个指标来进行监测,即渗漏量小…

【ndarry的基本操作】——numpy03

目录索引 基本索引和切片:普通索引:省略索引:多省略索引:间隔索引: 形态变换操作:reshape():resize():transpose():*通过参数进行转置:* flatten()&#xff1…

usb转8路串口模块

开源USB转8路串口PCB设计 文章目录 开源USB转8路串口PCB设计1. 简介2. 说明3. 一种跨电脑跨USB口的端口号自动识别方法4.开源地址 今天给大家介绍一款USB转8路串口的PCB设计,并提供一种跨电脑跨USB口的端口号自动识别方法。 1. 简介 芯片采用沁恒的CH348Q&#xff…

Kotlin Jetpack Compose - 实现Tab布局

Tab布局是一种常见的UI设计,它允许用户在不同的视图或数据集之间切换。我们将使用Jetpack Compose的 TabRow 和 ScrollableTabRow 组件来实现这个布局。 一、基本的Tab布局——TabRow 二、滚动的Tab布局——ScrollableTabRow 组件 三、自定义Tab组件 一、基本的T…

音视频数据处理-H265/HEVC视频码流分析

一、H265概述 H265/HEVC(Hight Efficiency Video Coding)是由ITU-T和ISO/IEC两大组织在H264/AVC的基础之上推出的新一代高效视频编码标准,主要为应对高清和超高清视频在网络传输和数据存储方面带来的挑战。上一篇文章对H264/AVC视频码流进行…