【计算机视觉】图像分割:Segment Anything (SAM):通用图像分割的范式革命
Segment Anything:通用图像分割的范式革命
- 技术突破与架构创新
- 核心设计理念
- 关键技术组件
- 环境配置与快速开始
- 硬件要求
- 安装步骤
- 基础使用示例
- 深度功能解析
- 1. 多模态提示融合
- 2. 全图分割生成
- 3. 高分辨率处理
- 模型微调与定制
- 1. 自定义数据集准备
- 2. 微调训练配置
- 常见问题与解决方案
- 1. GPU显存不足
- 2. 安装依赖冲突
- 3. 分割结果碎片化
- 性能优化策略
- 1. 模型量化
- 2. ONNX/TensorRT部署
- 3. 多GPU推理优化
- 学术背景与核心论文
- 基础论文
- 关键技术突破
- 应用场景与展望
- 典型应用领域
- 技术演进方向
Segment Anything (SAM) 是Meta AI推出的突破性图像分割模型,首次实现了"零样本"泛化分割能力。该项目基于1100万张图像、超过10亿个掩码的SA-1B数据集训练,通过创新的提示驱动架构重新定义了图像分割的技术边界。本文将从技术原理到产业应用,深入解析这一颠覆性框架的实现细节与使用方法。
技术突破与架构创新
核心设计理念
- 提示工程(Promptable):支持点、框、文本等任意形式的交互提示
- 通用分割(Generalizable):在未见过的对象/场景上保持高精度
- 实时响应(Real-time):106ms处理单张图像(NVIDIA V100)
关键技术组件
- 图像编码器:基于MAE预训练的ViT-H/16(处理时间64ms)
- 提示编码器:支持稀疏(点/框)和密集(掩码)提示编码
- 轻量级解码器:动态预测分割掩码(32维嵌入空间)
环境配置与快速开始
硬件要求
组件 | 推荐配置 | 最低要求 |
---|---|---|
GPU | NVIDIA A100 (40GB) | RTX 3060 (12GB) |
CPU | Xeon 8核 | Core i7 |
内存 | 64GB | 16GB |
安装步骤
# 创建虚拟环境
conda create -n sam python=3.8 -y
conda activate sam# 安装PyTorch
pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116# 安装SAM核心库
pip install git+https://github.com/facebookresearch/segment-anything.git# 下载预训练模型
wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth # ViT-H模型
基础使用示例
import numpy as np
import torch
import cv2
from segment_anything import sam_model_registry, SamPredictor# 初始化模型
sam_checkpoint = "sam_vit_h_4b8939.pth"
model_type = "vit_h"
device = "cuda"sam = sam_model_registry[model_type](checkpoint=sam_checkpoint)
sam.to(device=device)
predictor = SamPredictor(sam)# 处理图像
image = cv2.imread("image.jpg")
predictor.set_image(image)# 点提示输入
input_point = np.array([[500, 375]]) # 格式为[x,y]
input_label = np.array([1]) # 1表示前景点masks, scores, logits = predictor.predict(point_coords=input_point,point_labels=input_label,multimask_output=True,
)
深度功能解析
1. 多模态提示融合
# 组合点、框、文本提示
input_box = np.array([425, 300, 700, 500]) # [x1,y1,x2,y2]# 文本提示需要CLIP模型支持
from segment_anything import CLIPTextEncoder
text_encoder = CLIPTextEncoder(clip_model_type="ViT-B/32")
text_embedding = text_encoder.encode(["a red car"])masks, _, _ = predictor.predict(point_coords=input_point,point_labels=input_label,box=input_box,text_embedding=text_embedding,
)
2. 全图分割生成
# 生成全图像分割掩码
from segment_anything import SamAutomaticMaskGeneratormask_generator = SamAutomaticMaskGenerator(model=sam,points_per_side=32, # 每边采样点数pred_iou_thresh=0.86, # 掩码质量阈值stability_score_thresh=0.92,crop_n_layers=1, # 多层级裁剪
)masks = mask_generator.generate(image)
3. 高分辨率处理
# 分块处理大尺寸图像
mask_generator = SamAutomaticMaskGenerator(crop_n_layers=3, # 多层级分块crop_n_points_downscale_factor=2,min_mask_region_area=100, # 过滤小区域
)# 处理4K图像
large_image = cv2.imread("4k_image.jpg")
masks = mask_generator.generate(large_image)
模型微调与定制
1. 自定义数据集准备
from torch.utils.data import Datasetclass CustomDataset(Dataset):def __init__(self, image_dir, annotation_dir):self.image_paths = [...] # 图像路径列表self.annotations = [...] # 标注字典列表def __getitem__(self, idx):image = cv2.imread(self.image_paths[idx])anns = self.annotations[idx]# 返回图像及提示-掩码对return {"image": image,"points": anns["points"], "boxes": anns["boxes"],"masks": anns["masks"]}
2. 微调训练配置
import torch.optim as optim
from segment_anything.modeling import MaskDecoder# 冻结图像编码器
for param in sam.image_encoder.parameters():param.requires_grad = False# 优化掩码解码器
optimizer = optim.AdamW(sam.mask_decoder.parameters(), lr=1e-4)# 自定义损失函数
def loss_fn(pred_masks, gt_masks):return torch.nn.focal_loss_with_logits(pred_masks, gt_masks, reduction="mean")# 训练循环
for batch in dataloader:image = batch["image"].to(device)with torch.no_grad():image_embedding = sam.image_encoder(image)sparse_embeddings, dense_embeddings = sam.prompt_encoder(points=batch["points"],boxes=batch["boxes"],)low_res_masks, iou_predictions = sam.mask_decoder(image_embeddings=image_embedding,prompt_embeddings=sparse_embeddings,)loss = loss_fn(low_res_masks, batch["masks"])loss.backward()optimizer.step()
常见问题与解决方案
1. GPU显存不足
现象:CUDA out of memory
优化策略:
# 使用更小模型
sam = sam_model_registry["vit_b"](checkpoint="sam_vit_b_01ec64.pth")# 启用梯度检查点
sam.image_encoder.grad_checkpointing_enabled = True# 降低输入分辨率
predictor.set_image(image, image_format="RGB", target_size=512)
2. 安装依赖冲突
现象:libcudart.so.11.0: cannot open shared object file
解决方案:
# 确认CUDA版本
nvcc --version# 重新安装匹配版本
pip uninstall torch torchvision
pip install torch==1.13.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu117
3. 分割结果碎片化
优化参数调整:
mask_generator = SamAutomaticMaskGenerator(points_per_side=32,pred_iou_thresh=0.88, # 提高质量阈值stability_score_thresh=0.92,crop_n_layers=2, # 增加分块层级min_mask_region_area=200, # 过滤小区域
)
性能优化策略
1. 模型量化
# 动态量化
quantized_sam = torch.quantization.quantize_dynamic(sam, {torch.nn.Linear}, dtype=torch.qint8
)# 保存量化模型
torch.save(quantized_sam.state_dict(), "sam_quantized.pth")
2. ONNX/TensorRT部署
# 导出ONNX
python scripts/export_onnx_model.py \--checkpoint sam_vit_h_4b8939.pth \--model-type vit_h \--output sam.onnx# 转换为TensorRT
trtexec --onnx=sam.onnx \--saveEngine=sam.engine \--fp16 \--builderOptimizationLevel=5
3. 多GPU推理优化
from torch.nn.parallel import DataParallelsam = sam_model_registry["vit_h"](checkpoint="sam_vit_h_4b8939.pth")
sam = DataParallel(sam, device_ids=[0,1,2,3]).to("cuda")# 分批次处理不同区域
outputs = [sam(region) for region in torch.chunk(input_regions, 4)]
学术背景与核心论文
基础论文
-
Segment Anything:
Kirillov A, et al. “Segment Anything” arXiv:2304.02643
提出可提示分割任务,构建SA-1B数据集,验证模型零样本迁移能力 -
ViT-Adapter:
Chen Z, et al. “Vision Transformer Adapter for Dense Predictions” ICLR 2023
SAM图像编码器的关键技术基础 -
Prompt-based Learning:
Jia C, et al. “Prompting Diffusion Models” CVPR 2023
提示学习理论在分割任务的扩展
关键技术突破
-
数据引擎三阶段:
- 辅助手动标注(120万张图像)
- 半自动标注(1100万张图像)
- 全自动标注(11亿掩码)
-
损失函数设计:
\mathcal{L} = \lambda_{focal}\mathcal{L}_{focal} + \lambda_{dice}\mathcal{L}_{dice} + \lambda_{iou}\mathcal{L}_{iou}
-
分割质量评估:
- 稳定得分(Stability Score)
- 预测IoU(Predicted IoU)
应用场景与展望
典型应用领域
- 医学影像:器官/病灶自动分割
- 自动驾驶:道路场景解析
- 卫星遥感:地表覆盖分类
- 工业质检:缺陷区域定位
技术演进方向
- 视频分割:时序一致性优化
- 3D扩展:点云/体数据支持
- 开放词汇:自由文本提示增强
- 边缘计算:移动端实时推理
Segment Anything通过重新定义图像分割的技术范式,为通用视觉模型的发展指明了方向。本文提供的技术解析与实战指南,将助力开发者快速掌握这一革命性工具。随着基础模型的持续进化,SAM有望成为构建下一代视觉系统的核心组件,推动各行业智能化转型进入新阶段。
相关文章:
【计算机视觉】图像分割:Segment Anything (SAM):通用图像分割的范式革命
Segment Anything:通用图像分割的范式革命 技术突破与架构创新核心设计理念关键技术组件 环境配置与快速开始硬件要求安装步骤基础使用示例 深度功能解析1. 多模态提示融合2. 全图分割生成3. 高分辨率处理 模型微调与定制1. 自定义数据集准备2. 微调训练配置 常见问…...
改进系列(10):基于SwinTransformer+CBAM+多尺度特征融合+FocalLoss改进:自动驾驶地面路况识别
目录 1.代码介绍 1. 主训练脚本train.py 2. 工具函数与模型定义utils.py 3. GUI界面应用infer_QT.py 2.自动驾驶地面路况识别 3.训练过程 4.推理 5.下载 代码已经封装好,对小白友好。 想要更换数据集,参考readme文件摆放好数据集即可,…...
大型连锁酒店集团数据湖应用示例
目录 一、应用前面临的严峻背景 二、数据湖的精细化构建过程 (一)全域数据整合规划 (二)高效的数据摄取与存储架构搭建 (三)完善的元数据管理体系建设 (四)强大的数据分析平台…...
element.scrollIntoView(options)
handleNextClick 函数详解 功能描述 该函数实现在一个表格中“跳转到下一行”的功能,并将目标行滚动至视图顶部。通常用于导航或高亮显示当前选中的数据行。 const handleNextClick () > {// 如果当前已经是最后一行,则不执行后续操作if (current…...
python查看指定的进程是否存在
import os class Paly_Install(object):"""项目根目录"""def get_path(self):self.basedir os.path.dirname(os.path.abspath(__file__))"""安装失败的txt文件"""def test_app(self):self.app["com.faceboo…...
HAproxy+keepalived+tomcat部署高可用负载均衡实践
目录 一、前言 二、服务器规划 三、部署 1、jdk18安装 2、tomcat安装 3、haproxy安装 4、keepalived安装 三、测试 1、服务器停机测试 2、停止haproxy服务测试 总结 一、前言 HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、…...
C++负载均衡远程调用学习之自定义内存池管理
目录 1.内存管理_io_buf的结构分析 2.Lars_内存管理_io_buf内存块的实现 3.buf总结 4.buf_pool连接池的单例模式设计和基本属性 5.buf_pool的初始化构造内存池 6.buf_pool的申请内存和重置内存实现 7.课前回顾 1.内存管理_io_buf的结构分析 ## 3) Lars系统总体架构 …...
mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz的下载安装和使用
资源获取链接: mysql-5.7.24-linux-glibc2.12-x86-64.tar.gz和使用说明资源-CSDN文库 详细作用 数据库服务器的核心文件: 这是一个压缩包,解压后包含 MySQL 数据库服务器的可执行文件、库文件、配置文件模板等。 它用于在 Linux 系统上安装…...
Kafka Producer的acks参数对消息可靠性有何影响?
1. acks0 可靠性最低生产者发送消息后不等待任何Broker确认可能丢失消息(Broker处理失败/网络丢失时无法感知)吞吐量最高,适用于允许数据丢失的场景(如日志收集) 2. acks1 (默认值) Leader副本确认模式生产者等待Le…...
Linux-04-用户管理命令
一、useradd添加新用户: 基本语法: useradd 用户名:添加新用户 useradd -g 组名 用户:添加新用户到某个组二、passwd设置用户密码: 基本语法: passwd 用户名:设置用户名密码 三、id查看用户是否存在: 基本语法: id 用户名 四、su切换用户: 基本语法: su 用户名称:切换用…...
node爬虫包 pup-crawler,超简单易用
PUP Crawler 这是一个基于puppeteer的简单的爬虫,可以爬取动态、静态加载的网站。 常用于【列表-详情-内容】系列的网站,比如电影视频等网站。 github地址 Usage npm install pup-crawler简单用法: import { PupCrawler } from pup-craw…...
艺术与科技的双向奔赴——高一鑫荣获加州联合表彰
2025年4月20日,在由M.A.D公司协办的“智艺相融,共赴价值巅峰”(Academic and Artistic Fusion Tribute to the Summit of Value)主题发布会上,音乐教育与科技融合领域的代表人物高一鑫,因其在数字音乐教育与中美文化交流方面的杰出贡献,荣获了圣盖博市议员Jorge Herrera和尔湾市…...
React-Native Android 多行被截断
1. 问题描述: 如图所示: 2. 问题解决灵感: 使用相同的react-native代码,运行在两个APP(demo 和 project)上。demo 展示正常,project 展示不正常。 对两个页面截图,对比如下。 得出…...
Canvas基础篇:图形绘制
Canvas基础篇:图形绘制 图形绘制moveTo()lineTo()lineTo绘制一条直线代码示例效果预览 lineTo绘制平行线代码示例效果预览 lineTo绘制矩形代码示例效果预览 arc()arc绘制一个圆代码实现效果预览 arc绘制一段弧代码实现效果预览 arcTo()rect()曲线 结语 图形绘制 在…...
自定义实现elementui的锚点
背景 前不久有个需求,上半部分是el-step步骤条,下半部分是一些文字说明,需要实现点击步骤条中某个步骤自定义定位到对应部分的文字说明,同时滚动内容区域的时候还要自动选中对应区域的步骤。element-ui-plus的有锚点这个组件&…...
基于UNet算法的农业遥感图像语义分割——补充版
前言 本案例希望建立一个UNET网络模型,来实现对农业遥感图像语义分割的任务。本篇博客主要包括对上一篇博客中的相关遗留问题进行解决,并对网络结构进行优化调整以适应个人的硬件设施——NVIDIA GeForce RTX 3050。 本案例的前两篇博客直达链接基于UNe…...
分布式数字身份:迈向Web3.0世界的通行证 | 北京行活动预告
数字经济浪潮奔涌向前,Web3.0发展方兴未艾,分布式数字身份(Decentralized Identity,简称DID)通过将分布式账本技术与身份治理相融合,在Web3.0时代多方协作的分布式应用场景中发挥核心作用,是构建…...
CentOS网络之network和NetworkManager深度解析
文章目录 CentOS网络之network和NetworkManager深度解析1. CentOS网络服务发展历史1.1 传统network阶段(CentOS 5-6)1.2 过渡期(CentOS 7)1.3 新时代(CentOS 8) 2. network和NetworkManager的核心区别3. ne…...
【XR】MR芯片 和 VR芯片之争
【XR】MR芯片 和 VR芯片之争 1. MR芯片 和 VR芯片 之间的最大差异是什么2. MR芯片 和 VR芯片 之间的最大差异是什么,国内外市场上有哪些芯片,价格如何,市场怎么样,芯片价格怎么样1. MR芯片 和 VR芯片 之间的最大差异是什么 MR芯片(混合现实芯片)与VR芯片(虚拟现实芯片)…...
关于安卓自动化打包docker+jenkins实现
背景 安卓开发过程中,尤其是提测后,会有一个发包的流程。这个流程简单来说,一般都是开发打包,然后发群里,测试再下载,发送到分发平台,然后把分发平台的应用主页发出来,最后群里面的…...
如何使用CAN分析仪验证MCU CAN错误机制
本文通过实验验证CAN控制器的错误处理机制是否符合相关标准。具体而言,我们使用ZPS-CANFD设备(ZPS-CANFD介绍)作为测量工具,USBCANFD-200U作为被测设备(DUT),通过注入特定类型的错误,…...
Centos 7安装 NVIDIA CUDA Toolkit
下载 # 查看操作系统信息 uname -m && cat /etc/redhat-release # 查看显卡信息 lspci | grep -i nvidia从NVIDIA CUDA Toolkit官网下载符合你需求的版本,我这里选择的是runfile(local)的方式。 安装 现在完成后进行安装 chmod x cuda_12.4.0_550.54.1…...
软件测试52讲学习分享:深入理解单元测试
课程背景 最近我在学习极客时间的《软件测试52讲》课程,这是由腾讯TEG基础架构部T4级专家茹炳晟老师主讲的认证课程。作为数字化转型与人工智能(DTAI)产业人才基地建设中心的认证课程,内容非常专业实用。今天想和大家分享第3讲"什么是单元测试&…...
90.如何将Maui应用安装到手机(最简) C#例子 Maui例子
今天我来分享一下如何将Maui应用安装到手机上进行测试。 首先,创建一个新的Maui应用项目。 点击运行 在Visual Studio中,点击“运行”按钮,预览应用的初始效果,确保一切正常。 连接设备 使用数据线将手机连接到电脑。确保手机已…...
“100% 成功的 PyTorch CUDA GPU 支持” 安装攻略
#工作记录 一、总述 在深度学习领域,PyTorch 凭借其灵活性和强大的功能,成为了众多开发者和研究者的首选框架。而 CUDA GPU 支持能够显著加速 PyTorch 的计算过程,大幅提升训练和推理效率。然而,安装带有 CUDA GPU 支持的 PyTor…...
如何在Dify沙盒中安装运行pandas、numpy
如何在Dify沙盒中安装运行pandas、numpy 1. 创建python-requirements.txt文件2. 创建config.yaml文件3. 重启 docker-sandbox-14. 为什么要这样改的一些代码解析(Youtube视频截图) 1. 创建python-requirements.txt文件 在 Dify 的 Docker 目录下面&…...
ES集群搭建及工具类
文章说明 本文主要记录Windows下搭建ES集群的过程,并提供了一个通用的ES工具类;工具类采用http接口调用es功能,目前仅提供了简单的查询功能,可在基础上额外扩展 集群搭建 ES的下载安装非常简单,只需要下载软件的 zip 压…...
抓取工具Charles配置教程(mac电脑+ios手机)
mac电脑上的配置 1. 下载最新版本的Charles 2. 按照以下截图进行配置 2.1 端口号配置: 2.2 https配置 3. mac端证书配置 4. IOS手机端网络配置 4.1 先查看电脑上的配置 4.2 配置手机网络 连接和电脑同一个wifi,然后按照以下截图进行配置 5. 手机端证书…...
JavaScript 代码搜索框
1. 概述与需求分析 功能:在网页中实时搜索用户代码、关键字;展示匹配行、文件名;支持高亮、正则、模糊匹配。非功能:大文件集(几十万行)、高并发、响应 <100ms;支持增量索引和热更新。 2. …...
ESP32开发-作为TCP服务端接收数据
ESP32 ENC28J60 仅作为TCP服务端 (电脑通过 网络调试助手 连接ESP32,实现双向通信) 完整代码 #include <SPI.h> #include <EthernetENC.h> // 或 UIPEthernet.h// 网络配置 byte mac[] {0xDE, 0xAD…...
数智化招标采购系统针对供应商管理解决方案(采购如何管控供应商)
随着《优化营商环境条例》深化实施,采购领域正通过政策驱动和技术赋能,全面构建供应商全生命周期管理体系,以规范化、数智化推动采购生态向透明、高效、智能方向持续升级。 郑州信源数智化招标采购系统研发商,通过供应商管理子系…...
服务端字符过滤 与 SQL PDO防注入
注入示例 # step 1 SQL SELECT * FROM users WHERE username admin AND password e10adc3949ba59abbe56e057f20f883e # step 2 SQL SELECT * FROM users WHERE username admin# AND password 96e79218965eb72c92a549dd5a330112 关键点是这2个SQL的区别.其中第二步由于前台传…...
章越科技赋能消防训练体征监测与安全保障,从传统模式到智能跃迁的实践探索
引言:智能化转型浪潮下,消防训练的“破局”之需 2021年《“十四五”国家消防工作规划》的出台,标志着我国消防救援体系正式迈入“全灾种、大应急”的全新阶段。面对地震、洪涝、危化品泄漏等复杂救援场景,消防员不仅需要更强的体…...
RSYSLOG收集深信服log
RSYSLOG收集深信服ATRUST日志配置一直不成功,没有生成log文件,网上搜索到:如果你想要接收所有来自特定 IP 的日志,可以使用更通用的模式: 参考着修改配置 if $fromhost-ip 172.18.1.13 then /data/logs/network-devi…...
Golang - 实现文件管理服务器
先看效果: 代码如下: package mainimport ("fmt""html/template""log""net/http""os""path/filepath""strings" )// 配置根目录(根据需求修改) //var ba…...
在原生代码(非webpack)里使用iview的注意事项
最近公司在做一个项目,使用的框架是iview,使用过程中同事遇到一些问题,这些问题对于有些同学来说根本就不是问题,但总会有同学需要,为了帮助不太会用的同学快速找到问题,做了如下整理: 下载vue,iview.min.j…...
基于go的简单管理系统(增删改查)
package mainimport ("database/sql""fmt"_ "github.com/go-sql-driver/mysql" )var db *sql.DBtype user struct {id intname stringage int }// 建立连接 func initDB() (err error) {dsn : "root:123456tcp(127.0.0.1:3306)/mysqltes…...
Python 用一等函数重新审视“命令”设计模式
引言 在软件开发中,设计模式是解决常见问题的有效方法。“命令”设计模式旨在解耦调用操作的对象(调用者)和提供实现的对象(接收者)。本文将深入探讨“命令”模式,并介绍如何使用一等函数对其进行简化。 …...
pycharm导入同目录下文件未标红但报错ModuleNotFoundError
此贴仅为记录debug过程,为防后续再次遇见 问题 问题情境 复现文章模型,pycharm项目初次运行 问题描述 在导入同目录下其它文件夹中的python文件时,未标红,但运行时报错ModuleNotFoundError 报错信息 未找到该模块 Traceback …...
BOSS的收入 - 华为OD机试(A卷,Java题解)
华为OD机试题库《C》限时优惠 9.9 华为OD机试题库《Python》限时优惠 9.9 华为OD机试题库《JavaScript》限时优惠 9.9 代码不懂有疑问欢迎留言或私我们的VX:code5bug。 题目描述 一个 XX 产品行销总公司,只有一个 boss,其有若干一级分销&…...
Qt:(创建项目)
目录 1. 使⽤QtCreator新建项⽬ 1.1 新建项⽬ 1.2 选择项⽬模板 1.3 选择项⽬路径 1.4 选择构建系统 1.5 填写类信息设置界⾯ 编辑 1.6 选择语⾔和翻译⽂件 1.6 选择Qt套件 1.7 选择版本控制系统 1.8 最终效果 1. 使⽤QtCreator新建项⽬ 1.1 新建项⽬ 打开Qt…...
网络原理 - 12(HTTP/HTTPS - 3 - 响应)
目录 认识“状态码”(status code) 200 OK 404 Not Found 403 Forbidden 405 Method Not Allowed 500 Internal Server Error 504 Gateway Timeout 302 Move temporarily 301 Moved Permanently 418 I am a teaport 状态码小结: …...
OpenCV 4.7企业级开发实战:从图像处理到目标检测的全方位指南
简介 OpenCV作为工业级计算机视觉开发的核心工具库,其4.7版本在图像处理、视频分析和深度学习模型推理方面实现了显著优化。 本文将从零开始,系统讲解OpenCV 4.7的核心特性和功能更新,同时结合企业级应用场景,提供详细代码示例和实战项目,帮助读者掌握从基础图像处理到复…...
QT6 源(63)篇六:阅读与注释 QString 这个类,包含了 QString 类的 完整源码,也附上 QLatin1String 类的
(9)给出完整的源代码: #ifndef QSTRING_H #define QSTRING_H//验证了,没有此宏定义的 #if 不成立 #if defined(QT_NO_CAST_FROM_ASCII) && defined(QT_RESTRICTED_CAST_FROM_ASCII) #error QT_NO_CAST_FROM_ASCII a…...
PixONE 六维力传感器:赋能 OEM 机器人,12 自由度精准感知
The PixONE,一款为OEM设计的多模态12自由度机器人传感器,以其卓越的性能和广泛的适用性,正引领着机器人传感技术的革新。这款传感器不仅外观精致,达到IP68防护等级,易于消毒,而且其中心的大孔设计使得电缆和…...
nginx 解决跨域问题
本地用 8080 端口启动的服务访问后台API有跨域问题, from origin http://localhost:8080 has been blocked by CORS policy: Response to preflight request doesnt pass access control check: Redirect is not allowed for a preflight request. 其实用 9021 端…...
私有知识库 Coco AI 实战(五):打造 ES 新特性查询助手
有了实战(四)的经验,再打造个 ES 新特性查询助手就非常简单了。新的小助手使用的数据还是 ES 官方文档,模型设置也可沿用上次小助手的设置。 克隆小助手 我们进入 Coco Server 首页小助手菜单,选择“ES 索引参数查询…...
2025 新生 DL-FWI 培训
摘要: 本贴给出 8 次讨论式培训的提纲, 每次培训 1 小时. Basic concepts 1.1 Sesmic data processing – regular process 1.2 Full waveform inversion 1.3 Deep learning full waveform inversion Network structure 2.1 InversionNet Encoder-decorder structure 2.2 FCNV…...
VR汽车线束:汽车制造的新变革
汽车线束,作为汽车电路网络的主体,宛如汽车的 “神经网络”,承担着连接汽车各个部件、传输电力与信号的重任,对汽车的正常运行起着关键作用。从汽车的发动机到仪表盘,从传感器到各类电子设备,无一不是通过线…...
Centos离线安装Docker(无坑版)
1、下载并上传docker离线安装包 官方地址:安装包下载 2、上传到离线安装的服务器解压 tar -zxvf docker-28.1.1.tgz#拷贝解压二进制文件到相关目录 cp docker/* /usr/bin/ 3、创建docker启动文件 cat << EOF > /usr/lib/systemd/system/docker.servic…...