基于CLIP与SAM的AI绘画自动抠图工具:原理、部署与优化

news2026/5/4 21:49:46
1. 项目概述与核心价值最近在折腾一些AI相关的项目发现一个挺普遍但又容易被忽略的痛点当你用Stable Diffusion这类AI绘画工具生成了一大堆图片后怎么快速、高效地把它们整理出来特别是把图片里的人物或主体单独抠出来也就是“抠图”然后放到一个干净的背景上手动一张张处理那简直是噩梦。用传统的Photoshop或者在线抠图工具批量处理要么费钱要么效果不稳定要么流程繁琐。就在我为此头疼的时候在GitHub上发现了这个叫zhouxiaoka/autoclip的项目它号称是一个“自动抠图”工具。乍一看名字我以为又是一个基于深度学习的通用抠图模型封装但深入研究后才发现它的设计思路非常巧妙完全是为AI绘画工作流量身定做的解决的是一个非常具体的场景问题。简单来说autoclip不是一个从零开始训练、试图解决所有抠图问题的“大模型”。它的核心思路是“借力打力”。它假设你已经用Stable Diffusion生成了一批图片并且这些图片的生成信息也就是包含所有参数的“提示词文本文件”通常以.txt格式和图片同名保存是完整的。autoclip会读取这些提示词从中提取出关于“主体”的描述然后调用一个强大的视觉语言模型比如CLIP去理解这个描述再结合一个现成的、成熟的通用分割模型比如Segment Anything Model SAM在图片中精准定位并分割出这个主体。最后它还能帮你把抠出来的主体合成到指定的背景图上输出最终结果。整个过程全自动你只需要准备好原始图片和对应的提示词文件运行一条命令就能得到一批抠好图、换好背景的成品。这个项目的价值在哪里首先它极大地提升了AI绘画后处理的效率。对于做角色设计、概念图批量生成、电商素材制作的朋友来说这能节省海量时间。其次它巧妙地利用了AI绘画流程中本身就存在的“元数据”提示词让抠图这个下游任务变得“有据可依”准确率比盲目使用通用抠图工具要高得多。最后它的架构很清晰把“语义理解”和“图像分割”这两个步骤解耦未来可以很方便地替换更强大的模型组件。接下来我就带大家深入拆解这个项目的实现并分享我从零部署、配置到实际使用的完整过程以及踩过的一些坑和优化技巧。2. 核心原理与技术栈拆解要理解autoclip为什么有效得先明白传统抠图工具和它在思路上的根本区别。2.1 传统抠图 vs. 基于提示词的语义抠图传统的自动抠图无论是基于色彩对比度如Magic Wand工具、边缘检测还是基于深度学习的通用分割模型如U-2-Net, MODNet其工作方式都是“看图说话”。模型只分析图像本身的像素信息尝试找出前景和背景的边界。这对于主体明确、背景简单的图片效果尚可但一旦遇到复杂背景、主体与背景颜色相近、或者存在多个潜在前景物体时效果就很不稳定经常需要人工干预修正。而autoclip走的是另一条路“先看描述再找目标”。它的输入不仅仅是图片还有一段描述图片中主体的自然语言文本。这个文本从哪里来恰恰是AI绘画生成时我们精心编写的提示词prompt。在Stable Diffusion的提示词中我们通常会非常详细地描述核心主体例如“a beautiful elf warrior with silver hair, wearing intricate leather armor, holding a glowing sword, detailed face, fantasy art”。这段文字包含了关于“主体是谁”的丰富语义信息。autoclip的工作流程可以分解为三个核心步骤文本语义编码与目标提取使用CLIP的文本编码器Text Encoder将整个提示词句子编码成一个高维向量。但关键点在于它并不是简单地把整个句子当成一个目标。更精妙的做法是它会尝试从提示词中识别并提取出最核心的“主体名词短语”。例如从上面的长句中提取出“elf warrior”或“warrior”作为目标查询。这一步的实现可能依赖于简单的规则如提取第一个名词短语或更复杂的自然语言处理NLP解析。图像区域提名与匹配使用一个基础的分割模型如SAM对输入图像进行“预分割”。SAM具有强大的零样本分割能力它可以在没有任何提示的情况下为一张图片生成数十甚至上百个可能的分割掩码mask覆盖图中所有有意义的区域。然后autoclip使用CLIP的图像编码器Image Encoder将每一个候选区域裁剪出来或通过掩码提取的特征编码成向量。相似度计算与最优掩码选择计算步骤1中得到的目标文本向量与步骤2中每一个候选区域图像向量的余弦相似度。相似度最高的那个候选区域就被认为是与文本描述最匹配的主体。最后输出该区域对应的精细分割掩码。这个流程的核心技术栈非常清晰CLIP (Contrastive Language-Image Pre-training)来自OpenAI的多模态模型负责搭建文本和图像之间的桥梁。它在一个海量的图像文本对数据集上训练学会了将同一语义的文本和图像映射到向量空间中相近的位置。autoclip利用的正是CLIP这种跨模态的检索和匹配能力。SAM (Segment Anything Model)来自Meta的通用图像分割模型。它的强大之处在于“提示分割”和“全自动分割”。autoclip主要利用其“全自动分割”模式让SAM为图像生成一系列高质量的分割候选框为CLIP的匹配提供丰富的选项。Python 相关深度学习框架项目本身是一个Python脚本或工具包需要集成CLIP和SAM的模型加载、推理代码。通常会用到PyTorch或TensorFlow作为后端以及opencv-python,PIL等库进行图像处理。注意autoclip项目本身可能不包含CLIP和SAM的模型权重文件。你需要单独下载这些预训练模型。CLIP有多个变体如ViT-B/32,ViT-L/14SAM也有不同大小的版本vit_b,vit_l,vit_h。模型越大精度通常越高但所需显存和计算时间也越多。2.2 项目架构与模块化设计通过阅读autoclip的源码如果开源我们可以推断出其大致的模块化设计这有助于我们理解和使用它输入/输出模块输入指定一个包含图片如.png,.jpg和同名提示词文件.txt的目录。有些实现也支持从图片元数据如PNG的Chunk中直接读取生成参数。输出通常会在新目录中生成三样东西a) 纯背景透明背景的PNG图片b) 合成到指定背景上的最终图片c) 可能还会保存中间的分割掩码文件。配置与参数解析模块允许用户通过命令行参数或配置文件设置关键选项例如--clip_model: 选择使用的CLIP模型版本。--sam_model: 选择使用的SAM模型版本。--background_path: 指定背景图片的路径可以是纯色、图片或目录。--device: 指定运行设备cuda或cpu。--batch_size: 批处理大小用于提升处理多张图片时的效率。核心处理流水线文本处理子模块读取.txt文件进行必要的清洗和核心主体提取。CLIP服务子模块加载CLIP模型提供文本编码和图像编码功能。SAM服务子模块加载SAM模型提供生成图像候选分割掩码的功能。匹配与合成子模块执行相似度计算、选择最佳掩码、应用掩码抠图、与背景合成等核心逻辑。后处理与优化模块可能包含对分割掩码的边缘平滑如使用高斯模糊或形态学操作去除毛刺。合成时的抗锯齿处理、颜色匹配使前景主体与新背景的光照色调更协调等。这种模块化设计的好处是灵活。例如如果你觉得CLIP提取的主体不够准可以尝试改进文本提取算法或者换用更强大的视觉语言模型如BLIP-2。如果觉得SAM生成的掩码不够精细可以尝试换用vit_h大模型或者在其基础上增加一个专门的精细化网络如Matting网络。3. 从零开始环境部署与实战配置理论讲完了我们动手把它跑起来。假设你已经在本地或云端服务器拥有GPU为佳上准备好了Python环境。3.1 基础环境搭建首先创建一个干净的Python虚拟环境是个好习惯能避免包依赖冲突。# 创建并激活虚拟环境 (以 conda 为例) conda create -n autoclip python3.10 conda activate autoclip # 或者使用 venv python -m venv autoclip_env source autoclip_env/bin/activate # Linux/Mac # autoclip_env\Scripts\activate # Windows接下来安装核心的深度学习框架。PyTorch是主流选择你需要根据你的CUDA版本去 PyTorch官网 获取正确的安装命令。例如对于CUDA 11.8pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118然后安装CLIP和SAM的官方库或社区维护的兼容版本。注意OpenAI的原始CLIP库可能需要一些依赖。# 安装CLIP (OpenAI官方版本) pip install githttps://github.com/openai/CLIP.git # 安装Segment Anything pip install githttps://github.com/facebookresearch/segment-anything.git # 同时安装其依赖 pip install opencv-python pycocotools matplotlib onnxruntime onnx此外还需要一些通用的工具库pip install Pillow numpy tqdm3.2 获取与配置autoclip由于zhouxiaoka/autoclip是一个GitHub项目我们首先克隆代码。git clone https://github.com/zhouxiaoka/autoclip.git cd autoclip查看项目目录结构通常你会看到main.py或cli.py: 主程序入口。configs/: 可能存放配置文件。utils/: 工具函数模块。requirements.txt: 依赖列表可以用pip install -r requirements.txt安装但最好先检查是否与已安装的版本兼容。关键一步下载模型权重文件。CLIP模型会在首次运行时自动从Hugging Face等源下载。但SAM的模型权重需要手动下载因为文件较大几百MB到几GB。从SAM的GitHub仓库发布页下载你需要的模型版本如sam_vit_h_4b8939.pth并将其放在项目目录下一个明确的文件夹里例如./models/。mkdir -p models # 假设你下载了 sam_vit_h_4b8939.pth # 将其移动到 models/ 目录下3.3 准备你的数据这是使用autoclip的前提。你的数据应该组织成如下结构your_dataset/ ├── image_001.png ├── image_001.txt ├── image_002.jpg ├── image_002.txt └── ....txt文件的内容就是生成这张图片时使用的完整提示词。确保文件名不含扩展名一一对应。背景图片可以是一张图也可以是一个目录下的多张图程序会循环使用或随机选择。背景图尺寸最好与你的前景图尺寸一致或更大程序通常会处理缩放。3.4 运行你的第一次自动抠图一切就绪后运行命令。具体的参数名需要参考autoclip项目的README或通过python main.py --help查看。一个典型的命令可能长这样python main.py \ --input_dir ./your_dataset \ # 输入图片和txt目录 --output_dir ./results \ # 输出目录 --background ./backgrounds/blue_bg.png \ # 背景图 --clip_model ViT-B/32 \ # 使用CLIP ViT-B/32模型 --sam_model vit_h \ # 使用SAM vit_h大模型 --sam_checkpoint ./models/sam_vit_h_4b8939.pth \ # SAM权重路径 --device cuda:0 \ # 使用第一块GPU --batch_size 4 # 批处理大小提高GPU利用率如果一切正常你会在./results目录下看到处理后的图片。通常会有*_foreground.png透明背景的主体和*_composed.png合成到背景上的最终图。实操心得首次运行的常见问题CUDA Out of Memory: 如果遇到显存不足首先尝试调小--batch_size设为1。其次可以换用更小的模型如CLIP用ViT-B/32SAM用vit_b。SAM的vit_h模型在1024x1024图像上推理可能需要超过4GB显存。模型下载失败: CLIP模型下载可能因网络问题失败。可以尝试手动从Hugging Face Model Hub下载clip-vit-base-patch32等模型文件然后修改代码中加载模型的路径指向本地文件。提示词文件读取错误: 确保.txt文件是UTF-8编码并且内容不为空。有些生成工具可能会在提示词前后添加多余字符或换行可以在代码的文本处理部分添加简单的清洗逻辑如strip()。背景合成不自然: 默认的合成是简单的“粘贴”可能边缘有白边或颜色不协调。可以考虑在后处理中添加一步“羽化”对掩码边缘进行轻微模糊和简单的颜色校正如匹配前景与背景的均值和方差。4. 高级技巧与参数调优基础功能跑通后如何让结果更好这就需要深入理解并调整一些关键参数和处理环节。4.1 提升抠图精度的关键点优化提示词文本提取autoclip默认的文本提取策略可能比较简单。你可以通过修改源码来增强它。例如使用spaCy或nltk这样的NLP库来更准确地识别句子中的主语或核心名词短语。对于Stable Diffusion的提示词主体通常出现在最前面且由逗号、“masterpiece, best quality, ”等质量词之后。一个简单的启发式规则是取第一个逗号之前的部分并过滤掉常见的质量形容词。调整CLIP与SAM的协同CLIP模型选择ViT-L/14比ViT-B/32精度更高但更慢。对于大多数AI绘画产出ViT-B/32已经足够。SAM的“点数”提示autoclip默认使用SAM的“全自动模式”。但我们可以更进一步。在CLIP匹配出最相似的候选区域后我们可以获取该区域的大致中心点坐标然后将这个“点”作为提示点positive point再次输入SAM让SAM基于这个点生成一个更精确的掩码。这通常能获得比直接使用候选掩码更好的边缘效果。这需要稍微修改代码调用SAM的predict函数并传入点提示。掩码后处理 直接来自SAM的掩码可能边缘不够平滑或有小洞。可以应用简单的图像形态学操作import cv2 import numpy as np def refine_mask(mask): # mask 是二值图 (0和255) # 1. 闭运算先膨胀后腐蚀填充小洞连接邻近区域 kernel np.ones((5,5), np.uint8) mask cv2.morphologyEx(mask, cv2.MORPH_CLOSE, kernel) # 2. 高斯模糊边缘并重新阈值化使边缘柔和 mask_blur cv2.GaussianBlur(mask, (5,5), 0) _, mask cv2.threshold(mask_blur, 127, 255, cv2.THRESH_BINARY) return mask将这个函数应用到选中的掩码上再进行合成能有效减少锯齿和毛边。4.2 处理复杂场景与失败案例即使经过优化autoclip也不可能100%准确。以下是一些常见失败场景及应对策略场景问题描述可能原因解决思路多主体干扰图片中有多个符合描述的对象如两个“elf warrior”程序选错了。提示词描述宽泛CLIP匹配到了相似度更高的非目标主体。1.细化提示词在.txt文件中用更独特的描述指向目标主体如“the elf warrior on the left holding a sword”。2.交互式修正如果项目支持在第一次运行后对失败图片手动提供一个“提示点”坐标重新处理该图。主体部分遮挡要抠的主体被其他物体部分遮挡。SAM生成的候选掩码可能是不完整的CLIP匹配到的也可能是遮挡物的特征。1.使用“负点”提示除了提供主体上的正点还可以在遮挡物上提供负点告诉SAM“这不是我要的”。这需要修改代码支持负点输入。2.后处理修复对于小的遮挡可以用图像修复工具如Photoshop内容识别填充对抠出的不完整主体进行修补。背景与主体颜色/纹理相似抠图边缘出现背景残留或主体缺失。SAM在颜色边界不明显的区域难以精确分割。1.换用更强大的分割基础尝试使用专门用于抠图的模型如U2-Net作为候选生成器或者在其基础上进行细化。2.人工微调对于重要图片将autoclip的输出作为初始掩码导入专业软件如GIMP, Krita进行快速手动修正这比从头抠图快得多。提示词质量差.txt文件中的提示词过于简单或与图像内容不符。CLIP无法从“a person”这样的提示中获取足够信息来区分图中多个人。源头改进在AI生成阶段就使用更详细、准确的提示词。确保生成的图片和提示词高度对应。可以尝试用autoclip处理一批图把失败案例的提示词拿出来分析并优化你的提示词编写策略。4.3 性能优化与批量处理处理成百上千张图片时效率至关重要。GPU内存与批处理最大的瓶颈是SAM模型尤其是vit_h。将--batch_size设为1是最稳妥的。如果想提升吞吐量可以尝试对图像编码部分进行批处理。CLIP的图像编码和SAM的图像编码通过图像编码器是可以批处理的。但SAM的掩码解码器decoder部分通常不支持批处理需要逐张处理。可以优化流程先用批处理模式通过CLIP和SAM的编码器得到所有图片的特征和候选掩码再逐张进行匹配和解码。缓存机制如果你需要反复用同一组背景处理不同的前景集或者需要尝试不同的CLIP提取策略可以考虑缓存SAM为每张图片生成的原始候选掩码。因为SAM的全部分割是计算量最大的步骤且与文本无关。将候选掩码序列化保存到磁盘后续处理只需加载和匹配可以极大提速。分辨率处理高分辨率图片如2K、4K会显著增加SAM的计算量和内存消耗。一个实用的技巧是先降采样处理再升采样掩码。例如将输入图片缩放到1024的长边用这个分辨率运行SAM和CLIP匹配得到低分辨率掩码然后再用最近邻或双线性插值将掩码上采样回原图尺寸。虽然会损失一些边缘精度但对很多应用来说是可接受的且能大幅提升速度并降低显存需求。5. 集成与扩展融入你的AI工作流autoclip的价值在于它是一个高效的“组件”。如何将它无缝嵌入到你现有的AI绘画或内容生产流程中5.1 与Stable Diffusion WebUI (AUTOMATIC1111) 结合如果你使用Stable Diffusion WebUI生成图片后通常会在outputs目录下得到图片和包含提示词信息的文本文件。你可以写一个简单的脚本监控这个目录或者定期扫描将新生成的图片和文本对自动提交给autoclip处理。更进阶的做法是开发一个WebUI的扩展Extension。这个扩展可以添加一个新的“后处理”标签页用户在里面配置好背景图和autoclip的参数然后一键对当前生成的图片或整个目录进行批量抠图合成结果直接显示在WebUI内。这需要一定的Python和Gradio开发知识但能极大提升工作流的流畅度。5.2 作为API服务部署对于团队协作或需要集成到其他系统的情况可以将autoclip封装成一个REST API服务。使用像FastAPI这样的框架可以快速搭建。# 示例一个简化的 autoclip API 端点 from fastapi import FastAPI, File, UploadFile from PIL import Image import io app FastAPI() # 初始化模型 (全局加载避免重复加载) clip_model, clip_preprocess load_clip_model() sam_predictor load_sam_model() app.post(/autoclip/) async def autoclip_process( image: UploadFile File(...), prompt_text: str, background: UploadFile File(None) ): # 1. 读取图片和提示词 image_data await image.read() img Image.open(io.BytesIO(image_data)) # 2. 调用核心处理函数 foreground_mask core_processing(img, prompt_text, clip_model, sam_predictor) # 3. 合成背景 if background: bg_data await background.read() bg_img Image.open(io.BytesIO(bg_data)) result_img compose_with_background(img, foreground_mask, bg_img) else: # 返回透明背景图 result_img apply_mask_to_transparent(img, foreground_mask) # 4. 将结果图片转换为字节流返回 img_byte_arr io.BytesIO() result_img.save(img_byte_arr, formatPNG) img_byte_arr img_byte_arr.getvalue() return Response(contentimg_byte_arr, media_typeimage/png)这样任何能发送HTTP请求的工具如Photoshop的脚本、其他编程语言都可以调用这个服务进行自动抠图。5.3 探索更多可能性autoclip的思路可以启发更多应用视频自动抠像对视频逐帧应用autoclip。由于视频相邻帧内容相似可以利用前一帧的分割结果作为后一帧SAM的“框提示”大幅提升处理速度和稳定性。这就是所谓的“跟踪抠像”。结合ControlNet如果你在生成图片时使用了ControlNet如OpenPose姿态、Canny边缘这些控制信息如姿态骨架图本身就是极强的“提示”。可以修改autoclip除了文本提示词也读入ControlNet的引导图将其作为额外的视觉提示输入给SAM可能会得到更精准的分割特别是对于复杂人体姿态。构建素材库用autoclip批量处理你所有的AI生成图建立一个分类清晰的“透明背景角色/物体素材库”。以后需要做合成时可以直接从库里调用效率倍增。在我自己的使用中autoclip已经成为了AI绘画后处理流水线上不可或缺的一环。它可能不是万能的但在其设计的目标场景下——处理由文本描述生成的图像——它展现出了惊人的实用性和效率。最关键的是它背后的“利用生成元数据进行精准后处理”的思路为AI内容生产工具的自动化集成提供了一个非常棒的范本。如果你也受困于海量AI图片的后期处理不妨试试它并根据自己的需求进行定制和优化相信它能显著解放你的生产力。

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

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

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…