【校园AI Day-AI workshop】基于PP-HUMAN的客流及属性统计

【校园AI Day-AI workshop】基于PP-HUMAN的客流及属性统计

本地演示视频(手机版貌似看不到,在codelab里也没法直接看到,只有网页版的项目预览可以看到)

       

视频传送门

gitee仓库

一、项目背景

社区是城市的关键组成部分,社区治理是围绕社区场景下的人、地、物、情、事的管理与服务。

随着城市化的快速推进及人口流动的快速增加,传统社区治理在人员出入管控、安防巡逻、车辆停放管理等典型场景下都面临着人力不足、效率低下、响应不及时等诸多难题。而人工智能技术代替人力,实现人、车、事的精准治理,大幅降低人力、物质、时间等成本,以最低成本发挥最强大的管理效能,有效推动城市治理向更“数字化、自动化、智慧化”的方向演进。

传统社区视频监控80%都依靠人工实现,随着摄像头在社区中的大规模普及,日超千兆的视频图像数据、人员信息的日渐繁杂已远超人工的负荷。

1.1 技术实现

为解决以上问题,我们灵活应用飞桨行人分析PP-Human中的行人检测和属性分析模型,实时识别行人的性别、年龄、衣着打扮等26种属性并记录统计。

其中,属性分析包含26种不同属性:

- 性别:男、女- 年龄:小于18、18-60、大于60- 朝向:朝前、朝后、侧面- 配饰:眼镜、帽子、无- 正面持物:是、否- 包:双肩包、dan肩包、shou提包- 上衣风格:带条纹、带logo、带格子、拼接风格- 下装风格:带条纹、带图案- 短袖上衣:是、否- 长袖上衣:是、否- 长外套:是、否- 长裤:是、否- 短裤:是、否- 短裙&裙子:是、否- 穿靴:是、否

       【校园AI Day-AI workshop】基于PP-HUMAN的客流及属性统计 - 创想鸟
街道人员属性识别

PP-Human是基于飞桨深度学习框架的业界首个开源的实时行人分析工具,具有功能丰富,应用广泛和部署高效三大优势。PP-Human 支持图片/单镜头视频/多镜头视频多种输入方式,功能覆盖多目标跟踪、属性识别和行为分析。能够广泛应用于智慧交通、智慧社区、工业巡检等领域。支持服务器端部署及TensorRT加速,T4服务器上可达到实时。

【校园AI Day-AI workshop】基于PP-HUMAN的客流及属性统计 - 创想鸟        

详细文档可参考:https://github.com/PaddlePaddle/PaddleDetection/tree/develop/deploy/pphuman

1.2 技术方案

在本项目中,我们基于PP-HUMAN实现一套行人客流和人员属性统计系统,可以通过数据库查询,有可视化统计页面。

【校园AI Day-AI workshop】基于PP-HUMAN的客流及属性统计 - 创想鸟        

1.2.1.识别:使用PP-HUMAN的行人属性检测方案,对于视频流的行人属性识别需要用到MOT(多目标跟踪)模型和ATTR(行人属性识别)模型,由MOT模型识别并跟踪行人,由ATTR模型进行多分类识别行人属性。

1.2.2.后端:

Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。(百度百科) 总而言之flask用python编写,对于技术栈还不够全面和足够熟练的新手小队实现起来方便一些。

1.2.3.前端:

1.2.3.1.Ajax:

Asynchronous Javascript And XML(异步JavaScript和XML)是一种web数据交互方式,使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。用来实时刷新数据。

1.2.3.2.ECharts:

ECharts是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。

1.2.4.数据库:

SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。技术成熟、资源占用少并且可以直接在python中import直接使用,有SQL知识基础的小伙伴上手很快。

1.3 数据集介绍

PETA (PEdesTrian Attribute)数据集包含了8705个行人,共19000张图像(分辨率跨度范围大,从17×39到169×365的大小都有)。每个行人标注了61个二值的和4个多类别的属性。

二、配置运行环境

环境要求: PaddleDetection版本 >= release/2.4 或 develop

通过以下命令获取PaddleDetection套件代码

git clone https://gitee.com/paddlepaddle/PaddleDetection.git

       在这个项目中,我们预先准备了项目代码的压缩包,可以通过直接解压代替git clone的过程。In [ ]

%cd /home/aistudio/# 克隆PaddleDetection仓库# !git clone https://gitee.com/paddlepaddle/PaddleDetection.git!unzip PaddleDetection.zip

   In [ ]

# 安装其他依赖%cd PaddleDetection!pip install -r requirements.txt

   In [ ]

# 可选,安装paddledet!python setup.py install

   

更换为修改过的pphuman文件夹

该zip中包含flask后端代码app.py、前端数据可视化代码index.html、前端js库以及整合适配后的推理相关代码。

In [ ]

#更换为修改过的pphuman文件夹!rm -rf /home/aistudio/PaddleDetection/deploy/pphuman!unzip /home/aistudio/pphuman.zip -d /home/aistudio/PaddleDetection/deploy/pphuman

   

三、如何构建模型

PPHuman中实现整个行人分析的工具和部署流程,包括检测、多目标跟踪、跨镜头跟踪、关键点检测、行为识别等多个模块。在这一部分中, 我们以关键点模型为例,展示将dark_hrnet_w32_256x192这一个模型从训练到导出至部署可用的模型的全流程。详细细节可以参考我们的Github文档。

3.1 模型训练

训练模型主要包括准备训练数据以及启动训练命令,可以按照下面的命令执行。

这里由于完整COCO数据集的训练耗时较长,我们准备了一个样例数据集,供执行流程参考使用。

In [ ]

# 准备我们的样例训练数据%cd /home/aistudio/PaddleDetection/!wget https://bj.bcebos.com/v1/paddledet/data/keypoint/coco_val_person_mini.tar!tar -xf coco_val_person_mini.tar -C ./dataset/!mv ./dataset/coco_val_person_mini/* ./dataset/coco!cp ./dataset/coco/annotations/instances_train2017.json ./dataset/coco/annotations/person_keypoints_train2017.json!cp ./dataset/coco/annotations/instances_val2017.json ./dataset/coco/annotations/person_keypoints_val2017.json

   In [ ]

#训练模型, 如果是CPU环境,请加上 -o use_gpu=False%cd /home/aistudio/PaddleDetection/!python tools/train.py -c configs/keypoint/hrnet/dark_hrnet_w32_256x192.yml

   

完成训练后,我们的模型默认保存在output/dark_hrnet_w32_256x192/。

3.2 模型评估

在训练模型以后,我们可以通过运行评估命令来得到模型的精度,以确认训练的效果。评估可以参考以下命令执行。

这里使用了我们已经训练好的模型。如希望使用自己训练的模型,请对应将weights=后的值更改为对应模型.pdparams文件的存储路径。

In [ ]

!python tools/eval.py -c configs/keypoint/hrnet/dark_hrnet_w32_256x192.yml   -o weights=https://paddledet.bj.bcebos.com/models/keypoint/dark_hrnet_w32_256x192.pdparams

   

3.3 模型导出

.pdparams只包括了模型的参数数据,实际部署还需要执行导出步骤。导出步骤可以参考下面列举的步骤:

注意,这里使用了我们已经训练好的模型。如希望使用自己训练的模型,请对应将weights=后的值更改为对应模型.pdparams文件的存储路径。如果没有指定–output_dir,那么导出的模型将默认存储在output_inference/路径下。

In [ ]

!python tools/export_model.py -c configs/keypoint/hrnet/dark_hrnet_w32_256x192.yml   --output_dir inference_models/   -o weights=https://paddledet.bj.bcebos.com/models/keypoint/dark_hrnet_w32_256x192.pdparams

   

至此,我们就完成了关键点模型的从训练到导出的过程。可以用于PPhuman的实际部署中了。

参考以上步骤,在我们PaddleDetection套件中,除了关键点检测以外,同样可以实现检测、跟踪模型的训练、评估及导出使用。

3.4 行为识别模型

行为识别模型从训练到到导出使用的全流程介绍及对应源码,细节请参考 PP-Human 行为识别模型。

如何自定义训练行为类型

行为识别模型本质上是一个分类模型,如果用户希望训练自定义的行为类型,可以参照以下步骤执行:

数据准备按照期望实现的自定义行为准备对应的动作视频或图片序列片段使用关键点模型或人工标注的方式,将动作片段转化为关键点序列在训练/测试数据中,正确设置动作的类别配置文件修改在配置文件中,修改num_classes,通常为支持的动作类型数目 + 1可选的,当动作的类型较多时,top1可能不能完全反应模型准确率,此时可以修改评估时的top_k项来额外评估模型的准确率(例如top5)。

3.5 下载本项目需要的模型

在这一步中,逐一下载上述我们事先为大家准备的各任务的导出模型,可以直接使用。如果您希望在自己的场景上进一步迭代优化,也可以参考前述如何构建模型部分,完成对应模块模型的训练到导出流程,得到部署需要的导出模型。

In [ ]

#下载检测模型!wget https://bj.bcebos.com/v1/paddledet/models/pipeline/mot_ppyoloe_l_36e_pipeline.zip#下载属性模型!wget https://bj.bcebos.com/v1/paddledet/models/pipeline/strongbaseline_r50_30e_pa100k.zip#下载关键点模型#!wget https://bj.bcebos.com/v1/paddledet/models/pipeline/dark_hrnet_w32_256x192.zip#下载行为识别模型#!wget https://bj.bcebos.com/v1/paddledet/models/pipeline/STGCN.zip

   In [ ]

#解压至./output_inference文件夹!unzip -d output_inference mot_ppyoloe_l_36e_pipeline.zip!unzip -d output_inference strongbaseline_r50_30e_pa100k.zip#!unzip -d output_inference dark_hrnet_w32_256x192.zip#!unzip -d output_inference STGCN.zip

   

3.6 配置文件说明

PP-Human相关配置位于deploy/pphuman/config/infer_cfg.yml中,存放模型路径,完成不同功能需要设置不同的任务类型。

功能及任务类型对应表单如下:

输入类型 功能 任务类型 配置项

图片属性识别目标检测 属性识别DET ATTR单镜头视频属性识别多目标跟踪 属性识别MOT ATTR单镜头视频行为识别多目标跟踪 关键点检测 行为识别MOT KPT ACTION

本项目应用到的是:

社区人员信息留存:单镜头视频或图片输入的属性识别

3.7 执行模型预测

我们以一个视频文件来展示一下属性识别的实际使用方式。

在预测命令中,模型预测参数选择分为两部分:

功能选择:将对应参数设置为True属性识别:enable_attr行为识别:enable_action模型路径修改:设置对应任务(DET, MOT, ATTR, KPT, ACTION)的模型路径,包括两种方式修改配置文件中对应模型的路径直接在命令行中指定各模型的路径

例如,我们可以增加下列命令,指定检测模型和属性识别模型的路径:

--model_dir det=output_inference/mot_ppyoloe_l_36e_pipeline/ attr=output_inference/strongbaseline_r50_30e_pa100k/

       

行人信息留存

支持开发者根据具体情况选择视频或单帧图片输入进行属性识别。

注意事项:

–video_file or –image_dir后是输入视频or图片的路径,开发者可上传自己的数据集进行尝试In [ ]

#补充安装相关库(不然运行下面的)视频行人属性识别指令会报错缺库!pip install motmetrics!pip install lap

   In [ ]

#视频行人属性识别#pipeline.py里的attr_res是视野里识别出的标签#处理结果可在/home/aistudio/PaddleDetection/output/ 中查看!python deploy/pphuman/pipeline.py     --config deploy/pphuman/config/infer_cfg.yml     --model_dir mot=output_inference/mot_ppyoloe_l_36e_pipeline/ attr=output_inference/strongbaseline_r50_30e_pa100k/     --video_file=/home/aistudio/属性.mp4     --enable_attr=True     --device=gpu

   

预测效果

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

【校园AI Day-AI workshop】基于PP-HUMAN的客流及属性统计 - 创想鸟        

In [ ]

#图片行人属性识别#处理结果可在/home/aistudio/PaddleDetection/output/ 中查看!python deploy/pphuman/pipeline.py     --config deploy/pphuman/config/infer_cfg.yml     --model_dir det=output_inference/mot_ppyoloe_l_36e_pipeline/ attr=output_inference/strongbaseline_r50_30e_pa100k/     --image_dir=/home/aistudio/photodemo     --enable_attr=True     --device=gpu

   

使用TensorRT加速预测

NVIDIA TensorRT是一个高性能的深度学习预测库。PP-Human同样支持了使用TensorRT加速模型的预测,并且整个步骤十分简单快速。您可以参考以下步骤实现:

安装适配TensorRT的Paddle, 通过下载链接直接下载对应环境的Paddle whl包进行安装。或是参照指导文档使用docker或自编译方式准备适配TensorRT的Paddle环境。在上述两个场景的Python预测命令中,直接增加–run_mode=trt_fp16即可。

四、部署踩坑指南:

(记录了一些踩的坑,菜菜遇到坑只会搜索)

1.: cannot connect to X server !

原因:在BML CodeLab中没有允许实时显示可视化视频的权限,故在BML CodeLab中只能注释掉PaddleDetection/deploy/pphuman/pipeline.py里的(已经注释掉,本地使用建议解开注释)

#在BML CodeLab中无法实时显示,故注释下面三行cv2.imshow('PPHuman', im)if cv2.waitKey(1) & 0xFF == ord('q'):    break

       

ctrl+f搜索,将两个位置的上面三行注释后再次运行即可运行对视频的检测。(本地的打开显示预测处理结果是没有问题的)

2.重新annaconda配置环境

3.遇到报错ERROR: Failed building wheel for pycocotools

4.发现系统没有cudnn,配置教程

5.cudnn库报错缺dll文件

6.mysql主键唯一键重复插入解决方法

7.视频流传输

五、运行后端服务

In [ ]

! python /home/aistudio/PaddleDetection/deploy/pphuman/app.py# 这个在BML CodeLab目前同样无法查看,后端起的服务在环境本地,从我们的浏览器CodeLab访问不了,部署到本地是可以看到的。

   

本地服务效果如图【校园AI Day-AI workshop】基于PP-HUMAN的客流及属性统计 - 创想鸟【校园AI Day-AI workshop】基于PP-HUMAN的客流及属性统计 - 创想鸟        

以上就是【校园AI Day-AI workshop】基于PP-HUMAN的客流及属性统计的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/53960.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
LNMP中如何处理高并发请求
上一篇 2025年11月9日 13:02:21
登录免费领600分钟时长!《云・鸣潮》不删档开启预下载
下一篇 2025年11月9日 13:02:26

相关推荐

  • 从AI场景搭建到蝴蝶号运营,全流程实战攻略

    从AI场景搭建到蝴蝶号运营,全流程实战攻略从AI场景搭建到蝴蝶号运营,全流程实战攻略从AI场景搭建到蝴蝶号运营,全流程实战攻略从AI场景搭建到蝴蝶号运营,全流程实战攻略

    做ai内容变现需先明确方向再选工具,注册蝴蝶号要模拟真实行为,用ai提升效率但需调整内容细节,流量转化重于播放量。一、先确定内容类型和风格,根据方向选择合适ai工具链搭建流程,用免费api测试效果。二、蝴蝶号注册尽量用企业主体,资料完整,养号阶段关注同类账号,保持每天发布1~2条内容,视频控制在30…

    2026年9月22日 用户投稿
    100
  • UC浏览器为什么无法登录某些网站账号_UC浏览器部分网站无法登录原因及对策

    首先关闭广告过滤功能,清除缓存与Cookie,关闭云端加速,切换网络或DNS,最后尝试桌面模式或其他浏览器解决UC浏览器登录无响应问题。 如果您尝试在UC浏览器中登录某个网站账号,但页面无响应或提示错误,则可能是由于浏览器的安全策略、缓存问题或设置限制导致无法正常加载登录界面。以下是解决此问题的步骤…

    2026年9月22日
    100
  • 优化Spring Boot应用:构建高效通用的DTO与实体映射服务

    本文旨在解决Spring Boot项目中DTO与实体间重复映射的痛点。通过引入一个基于泛型的抽象服务层,结合ModelMapper工具,我们展示了如何构建一个类型安全、可重用的通用映射机制。此方案显著减少了样板代码,提升了代码的可维护性和开发效率,避免了手动类型转换的繁琐与潜在错误。 在构建基于sp…

    2026年9月22日
    100
  • GIMP中如何利用AI裁剪图片?一步步完成高效图像裁剪方法

    GIMP虽无“一键AI裁剪”功能,但可通过智能选择工具(如前景选择、智能剪刀)精准选中主体,结合Resynthesizer插件的内容感知填充实现类AI裁剪效果;对于更高要求,可协同Remove.bg等外部AI工具完成自动抠图,再导入GIMP进行裁剪或背景替换,形成高效智能裁剪工作流。 ☞☞☞AI 智…

    2026年9月22日
    100
  • MySQL字段映射表自动生成方案_Sublime一键导出JSON与结构化模板

    MySQL字段映射表自动生成方案_Sublime一键导出JSON与结构化模板MySQL字段映射表自动生成方案_Sublime一键导出JSON与结构化模板MySQL字段映射表自动生成方案_Sublime一键导出JSON与结构化模板MySQL字段映射表自动生成方案_Sublime一键导出JSON与结构化模板

    如何利用sublime text插件提升mysql字段映射表生成效率?1. 插件通过自动化提取sql语句中的表结构信息,减少手动操作;2. 支持一键导出为json或结构化模板(如markdown、html表格),提升开发效率;3. 利用sublime text的python插件机制,实现快速集成与执…

    2026年9月22日 用户投稿
    000
  • 疑似荣耀500系列入网 代号Merry全系支持80W有线快充

    10月25日,知名数码博主“数码闲聊站”透露,荣耀500系列新机已现身工信部,型号分别为mep-an00和mey-an00,预计代号为merry/merryp,全系支持80w有线快充。该博主还表示,此前上手的样机提供了黑色、银色、粉色和蓝色等多种配色方案,外观设计或将延续前代爆款风格。 据最新消息,…

    2026年9月22日
    000
  • VSCode搭建Python开发环境(附详细截图,小白也能学会)

    答案:搭建VSCode Python环境需安装Python并添加至PATH,安装VSCode及Python扩展,创建项目文件并选择正确解释器,通过虚拟环境隔离依赖,利用Pylance、Black、Flake8等工具提升开发效率,常见问题多为路径或环境配置错误,可通过检查解释器选择和安装路径解决。 在…

    2026年9月22日
    100
  • PHP each() 函数的替代方案:自定义实现与常见错误修正

    本文探讨了PHP中已废弃的each()函数的替代方案。针对常见的自定义实现,如myEach(),文章详细指出了其在返回数组结构中常犯的错误,并提供了正确的代码示例,以确保替代函数能够模拟each()的预期行为,帮助开发者编写更健壮、兼容未来的PHP代码。 理解 each() 函数及其废弃背景 在PH…

    2026年9月22日
    000
  • Vision Transformer 必读系列之图像分类综述(三): MLP、ConvMixer 和架构分析

    Vision Transformer 必读系列之图像分类综述(三): MLP、ConvMixer 和架构分析Vision Transformer 必读系列之图像分类综述(三): MLP、ConvMixer 和架构分析Vision Transformer 必读系列之图像分类综述(三): MLP、ConvMixer 和架构分析Vision Transformer 必读系列之图像分类综述(三): MLP、ConvMixer 和架构分析

    号外号外!awesome-vit 上新啦, 欢迎大家 Star Star Star ~ https://github.com/open-mmlab/awesome-vit 前言 在 Vision Transformer 必读系列之图像分类综述(一):概述 一文中对 Vision Transforme…

    2026年9月22日 用户投稿
    200
  • 蝴蝶号无人直播完整流程详解:搭建+开播+引流

    蝴蝶号无人直播完整流程详解:搭建+开播+引流蝴蝶号无人直播完整流程详解:搭建+开播+引流蝴蝶号无人直播完整流程详解:搭建+开播+引流蝴蝶号无人直播完整流程详解:搭建+开播+引流

    蝴蝶号无人直播的完整流程包括前期准备、直播搭建、开播设置、引流推广、监控与维护五个步骤。前期准备需完成账号注册认证、硬件设备配置、软件安装及素材准备;直播搭建涉及场景设置、素材导入、循环播放设定及自动化脚本配置;开播设置包括直播间信息填写、推流配置与测试直播;引流推广可通过平台内工具、社交媒体、内容…

    2026年9月22日 用户投稿
    100
  • 如何在VEED.io中制作AI视频?在线工具快速剪辑AI内容的步骤

    如何在VEED.io中制作AI视频?在线工具快速剪辑AI内容的步骤如何在VEED.io中制作AI视频?在线工具快速剪辑AI内容的步骤如何在VEED.io中制作AI视频?在线工具快速剪辑AI内容的步骤如何在VEED.io中制作AI视频?在线工具快速剪辑AI内容的步骤

    VEED.io通过“文本转视频”和“AI形象”功能,让视频制作变得简单高效。用户只需输入文本,即可生成带AI配音、字幕和匹配素材的视频,或选择AI虚拟人物进行口型同步播报。平台还提供AI语音合成、自动字幕、多语言支持及丰富编辑功能,便于后期精修。优化效果需从高质量文本入手,合理选择声音与形象,并通过…

    2026年9月22日 用户投稿
    000
  • Java中递归处理列表:条件性移除最大值策略与实现

    本教程深入探讨了如何在Java中使用递归方法,根据特定条件(如列表是否已排序、最大值是否位于列表的首尾)来移除列表中的最大值。文章将详细阐述如何设计一个高效的递归算法,包括排序检查、最大值定位以及条件性移除的实现细节,并提供完整的代码示例和注意事项,帮助读者掌握递归在复杂列表操作中的应用。 引言:递…

    2026年9月22日
    000
  • 玩转 Spring Boot 集成篇(定时任务框架Quartz)

    玩转 Spring Boot 集成篇(定时任务框架Quartz)玩转 Spring Boot 集成篇(定时任务框架Quartz)玩转 Spring Boot 集成篇(定时任务框架Quartz)玩转 Spring Boot 集成篇(定时任务框架Quartz)

    在日常项目研发中,定时任务可谓是必不可少的一环,关于 spring boot 如何实现静态定时任务、动态定时任务以及如何开启多线程跑任务,均已在上篇分享过,不再赘述。 虽然 Spring Boot 内置注解方式实现的定时任务,在一定程度上也能解决一定的业务场景问题,但是若做更复杂的动作,例如启停任务…

    2026年9月22日 用户投稿
    100
  • Cortana如何连接邮箱_Cortana邮箱同步配置方法

    首先需将邮箱账户与Cortana连接,可通过Windows设置添加账户或在Cortana应用内手动配置,支持Outlook.com、Gmail及Exchange等类型;完成账户添加后,须在隐私权限中启用邮件读取和同步权限,确保Cortana可访问邮件、日历及联系人数据,从而实现智能提醒与信息同步功能…

    2026年9月22日
    000
  • 如何用Sublime导出MySQL数据表结构_生成Markdown或HTML格式文档

    要使用 sublime text 导出 mysql 数据表结构并生成 markdown 或 html 文档,需通过以下步骤操作:1. 使用 show create table 命令或 mysqldump 工具获取建表语句;2. 在 sublime 中整理字段信息,按字段名、类型、是否为空、键、默认值…

    2026年9月22日
    000
  • 三角洲行动S6九格保险任务速通指南

    三角洲行动S6九格保险任务速通指南三角洲行动S6九格保险任务速通指南三角洲行动S6九格保险任务速通指南三角洲行动S6九格保险任务速通指南

    在《三角洲行动》s6赛季中,九格保险任务成了不少玩家头疼的难题,耗时久、节奏慢,稍不注意就被卡住。其实只要掌握策略,合理安排任务顺序,高效推进并非难事!接下来这份分阶段速通攻略,将帮你理清思路,快速通关九格保险任务! 三角洲行动S6赛季九格保险任务高效速通指南 第一阶段:聚焦主线与关键前置 优先完成…

    2026年9月22日 用户投稿
    100
  • VSCode如何安装和使用插件 VSCode插件管理的高效方法

    安装插件需通过vscode扩展视图搜索并点击安装,部分插件需重启或配置后生效;2. 使用插件时可通过命令面板、上下文菜单、状态栏或自动语言特性调用功能,并在设置中自定义行为;3. 高效管理应定期审视插件使用频率,禁用或卸载不常用者,关注性能影响,利用“开发者: 显示正在运行的扩展”识别资源占用高的插…

    2026年9月22日
    200
  • Java Stream API:从嵌套集合中提取唯一值的高效实践

    本文深入探讨如何利用Java Stream API,从包含嵌套集合的对象列表中高效地提取唯一的字符串值。我们将重点介绍flatMap()和mapMulti()这两种强大的流操作,演示它们如何替代传统的嵌套循环,从而实现代码的简洁性、可读性以及潜在的性能优化。 在java应用开发中,我们经常会遇到处理…

    2026年9月22日
    100
  • safari浏览器如何将网页保存为PDF_safari浏览器网页保存为PDF方法

    Safari浏览器支持将网页保存为PDF,可通过三种方式实现:1. 使用打印功能,点击“文件”→“打印”,选择“另存为PDF”并设置参数后保存;2. 点击共享按钮,选择“创建PDF”,生成后存储到指定位置;3. 利用快捷指令应用创建自动化流程,获取当前网页并转换为PDF自动归档。 如果您在浏览网页时…

    2026年9月22日
    100
  • CapCut的AI混合工具如何使用?快速制作高质量短视频的教程

    CapCut的AI混合工具通过智能算法将多段素材自然融合,支持画中画、双重曝光、背景替换等效果,提升视频创意与质感;使用时需导入素材并分层,选择“混合模式”如滤色、叠加等,结合不透明度、位置调整实现融合;可打造情绪隐喻、时间流逝等叙事效果,增强艺术表达;避免过度使用、素材冲突等问题,善用蒙版、色彩调…

    2026年9月22日
    500

发表回复

登录后才能评论
关注微信