Weakly Supervised Audio-Visual Violence Detection 论文阅读
Weakly Supervised Audio-Visual Violence Detection 论文阅读
- 摘要
- III. METHODOLOGY
- A. Multimodal Fusion
- B. Relation Modeling Module
- C. Training and Inference
- IV. EXPERIMENTS
- V. CONCLUSION
- 阅读总结
文章信息:
发表于:IEEE TRANSACTIONS ON MULTIMEDIA 2022
摘要
由于近年来大量视频的涌现,视频中的暴力检测在实际应用中非常有前景。大多数以前的工作将暴力检测定义为简单的视频分类任务,并使用小规模数据集的单模态,例如,视觉信号。然而,这样的解决方案供给不足。为了缓解这个问题,我们研究了大规模音视频暴力数据上的弱监督暴力检测,并首次引入了两个互补的任务,即粗粒度暴力帧检测和细粒度暴力事件检测,将简单的暴力视频分类推进到帧级别的暴力事件定位,旨在准确地定位未经修剪的视频中的暴力事件。然后,我们提出了一种新颖的网络,将音视频数据作为输入,并包含三个并行分支来捕获视频片段之间的不同关系,并进一步集成特征,其中相似性分支和接近性分支分别使用相似性先验和接近性先验捕获长程依赖关系,评分分支动态捕获预测分数的接近程度。在粗粒度和细粒度任务中,我们的方法在两个公开数据集上均优于其他最先进的方法。此外,实验结果还显示了音视频输入和关系建模的积极效果。
III. METHODOLOGY
在本节中,我们首先介绍多模态融合以生成音视频融合特征(第III-A节),然后将融合特征输入到以下模型中以捕捉三种不同的关系(第III-B节)。接下来,我们介绍了用于训练和推断过程的客观函数(第III-C节)。最后,我们展示了我们模型的时间空间复杂性(第III-D节)。我们提出的方法总结在图1中。
图1. 我们提出方法的流程图。给定一个视频和相应的音频,首先使用特征提取器提取视觉和音频特征。然后将这些不同模态的特征融合以生成片段特征。RM 模块用于建模片段之间的三种不同关系,可用于离线检测,而在线检测器则用于在线检测,可以在没有未来内容的情况下检测暴力行为。我们的方法很灵活,因为它可以同时应用于粗粒度和细粒度的暴力检测任务。
A. Multimodal Fusion
考虑到我们有一个未修剪的视频 v v v 和相应的标签 y B y^B yB 和 y y y,其中 y B ∈ { 0 , 1 } , y B = 1 y^B{\in}\{0,1\},y^B=1 yB∈{0,1},yB=1 表示 v v v 包含了暴力事件,而 y = { 0 , 1 } i = 1 M + 1 , M y=\{0,1\}_{i=1}^{M+1},M y={0,1}i=1M+1,M 是暴力类别的数量。我们使用现成的预训练网络作为特征提取器 F V F^V FV 和 F A F^A FA,并通过滑动窗口机制提取视觉和音频特征矩阵 X V X^V XV 和 X A X^A XA,其中 X V ∈ R T × d V X^V\in\mathbb{R}^{T\times d^V} XV∈RT×dV, X A ∈ R T × d A X^A\in\mathbb{R}^{T\times d^A} XA∈RT×dA, x i V ∈ R d V x_i^V\in\mathbb{R}^{d^V} xiV∈RdV 和 x i A ∈ R d A x_i^A\in\mathbb{R}^{d^A} xiA∈RdA 分别表示第 i i i 个片段的视觉和音频特征。 T T T 是视频 v v v 的长度, d V d^V dV 和 d A d^A dA 分别是视觉和音频特征的维度。
然后我们将视觉和音频特征连接起来生成融合特征。更具体地说,我们首先将 X V X^V XV 和 X A X^A XA 在通道上堆叠,然后将堆叠的特征送入两个堆叠的全连接(FC)层,每个层都有512和128个神经元。每个FC层后跟ReLU激活函数和dropout。我们得到融合特征,表示为 X F X^F XF,它是两个堆叠FC层的最终输出。
B. Relation Modeling Module
我们首先回顾神经网络中的长程依赖建模[28],它可以用公式表示如下:
与常规的卷积层的主要区别在于聚合操作,它汇总来自全局范围(长程依赖)而不是局部区域的信息。
相似度分支的实现:我们通过特征相似性先验设计了相似性关系矩阵,从视频理解的GCN中获得启发。相似性关系如下所示:
其中, A s ∈ R T × T A^s\in\mathbb{R}^{T\times T} As∈RT×T, A i j S A_{ij}^S AijS衡量第 i i i个和第 j j j个特征之间的特征相似度。 值得注意的是,在公式(2)中,大小为 T × ( d V + d A ) T{\times}(d^V{+}d^A) T×(dV+dA)的 X X X表示原始特征的串联,以利用原始的先验知识。 g g g是归一化函数,函数 f f f用于计算一对特征的余弦相似度,其定义如下:
在公式(3)中的相似性被限制在(0, 1]的范围内,然后使用阈值机制来过滤掉更不相似的成对弱关系,并加强更相似成对的关系。阈值机制如下所示:
其中τ是阈值,其位于0和1之间。
之后,使用归一化函数 g g g来确保A的每行之和为1,这里我们采用softmax作为 g g g,如图所示:
遵循GCN范例,我们如下引入相似性层,
这样的操作旨在基于全局范围内特征的加权和来计算位置响应,而不是基于局部邻居。W是用于转换特征空间的可学习权重。
接近性分支的实现:虽然相似性分支可以捕捉长程依赖性,但它直接计算任意两个位置之间的相似性,并忽视了位置距离。位置信息在视频中也起着至关重要的作用,例如,时间事件检测。在这项工作中,我们在接近性先验之上设计了另一个关系矩阵,如下所示:
这里第 i i i个和第 j j j个特征之间的接近性关系仅与它们相对时间位置有关,其中 γ \gamma γ和 π \pi π是超参数,用于控制距离关系的影响范围。这样的设置确保了位置越接近,关系越高;否则,关系越小。
类似地,邻近层如下所示,
评分分支的实现:如上所述,用于暴力检测的前瞻性算法旨在进行离线检测,例如,互联网录像机,以及在线检测,例如,监控系统。然而,以上 RM 模块的在线检测受到一个主要障碍的阻碍:RM 模块通过整个视频获取长程依赖性。为了解决这一困境,我们提出了一个在线检测器,它将先前的视频片段作为输入,而不是整个视频,以在 RM 模块的指导下生成粗粒度和细粒度的预测。具体来说,两个堆叠的全连接(FC)层后跟 ReLU 和两个并行分类器构成了在线检测器。一个分类器是在线粗粒度分类器,即,一个具有时间上大小为5的卷积核,步长为1,填充为4的因果卷积层,在时间上滑动卷积滤波器。该分类器的输出是形状为 T T T 的粗粒度暴力激活,表示为 C O C C^{OC} COC。另一个分类器是在线细粒度分类器,它包括两个 1D 卷积层。第一层是一个因果层,卷积核大小为5,然后是 ReLU,第二层将特征投影到 M + 1 M+1 M+1 维空间,以获得细粒度暴力激活,表示为 C O F C^{OF} COF。
这个操作引入了一个额外的分支,称为评分分支,它依赖于 C O C C^{OC} COC。评分分支旨在计算一个位置响应,作为所有位置特征的加权和,其中权重依赖于预测分数 C O C C^{OC} COC 的接近程度。与相似性和接近性分支的关系矩阵不同,评分分支的关系矩阵在每次迭代中动态更新。具体来说,评分分支的关系矩阵设计如下:
其中, s s s 是 Sigmoid 函数, ρ \rho ρ 是 Sigmoid 的一种变体,其作用是基于预测分数的接近程度来转换成对关系。如果一对之间的分数接近(在本文中,0.5 是预定义的阈值),则增加这对之间的关系;否则,减少。Softmax 也用于归一化。
类似地,评分层如下所示:
其中 X 0 O ( = X 0 S = X 0 P ) = X F \begin{aligned}X_0^O(=X_0^S=X_0^P)=X^F\end{aligned} X0O(=X0S=X0P)=XF
C. Training and Inference
我们设计了两个类似于在线检测器的并行分类器,将特征映射到两个不同的空间。具体来说,我们简单地使用一个 FC 层作为粗粒度分类器,将串联表示投影到类别空间,其中这个 FC 层的输出大小为 1。粗粒度的暴力激活 C C ∈ R T C^C{\in}\mathbb{R}^T CC∈RT 可以表示如下:
其中 ∥ \| ∥ 表示连接操作。类似地,我们引入了细粒度分类器,它将串联表示投影到 M + 1 M+1 M+1 维空间。细粒度的暴力激活可以表示如下:
由于我们只有视频级别的真实标签,我们需要获得视频级别的预测。在此之后,计算视频级别预测和真实标签之间的差异。遵循 MIL [6],[38] 的原则,我们使用时间维度上的 Top-K 激活的平均值而不是整个激活来计算粗粒度置信度 p O C , p C p^{OC},p^C pOC,pC 和细粒度置信度 p O F , p F p^{OF},p^F pOF,pF。具体地,预测的置信度可以计算如下:
其中 C m a x C^{max} Cmax 是前 K K K 大的激活值,而 K K K 的定义如下:
粗粒度分类损失是预测的粗粒度置信度 p C ( o r O C ) p^{C(orOC)} pC(orOC) 和真实标签 y B y^{B} yB 之间的二元交叉熵,如下所示:
细粒度分类损失是基于交叉熵的,我们首先使用softmax得到概率质量函数,定义如下:
那么,细粒度分类定义为:
由于一个视频可能包含多个暴力事件,因此我们在这里对 y 进行 L1 归一化得到 y ˉ \bar{y} yˉ。此外,还利用知识蒸馏损失来鼓励在线检测器的输出逼近 RM 模块的输出,具体如下所示:
其中函数σ为softmax。最后,将上述损失加起来计算总损失,如下所示:
推断:对于粗粒度暴力帧检测,我们使用 Sigmoid 函数对粗粒度暴力激活 C C C^C CC 和 C O C C^{OC} COC 进行归一化,并计算离线和在线粗粒度暴力置信度,限制在 [0,1] 的范围内,因为我们的模型可以选择离线或在线方式来检测暴力事件,以满足不同的需求。值得注意的是,在在线推断中,RM 模块被移除,只有在线检测器起作用。对于细粒度暴力事件检测,我们遵循之前的工作[39],使用阈值策略来预测暴力事件。在测试时给定一个暴力视频,我们首先丢弃细粒度置信度低于某个阈值(本文中使用0.0)的暴力类别。然后,对于剩余的每个类别,我们沿着时间轴应用一个阈值来获取暴力片段。预测的暴力片段的得分是其最高帧激活和相应类别激活的加权和。
IV. EXPERIMENTS
V. CONCLUSION
在本文中,我们研究了大规模暴力数据上的弱监督音视频暴力检测。我们引入了两个互补的任务,一个是粗粒度暴力帧检测,重点是在帧级别上区分,另一个是细粒度暴力事件检测,考虑了预测的暴力事件的类别和连续性。然后,我们提出了一种通用方法,明确地建模了视频片段之间的关系,并学习了强大的音视频表示。大量实验证明,
- 多模态显著提高了性能;
- 明确地利用关系非常有效;
- 我们的方法在两个不同的任务上表现良好,而且多任务学习在我们的方法中是有效的。
阅读总结
这篇文章的Not only Look, but also Listen: Learning Multimodal Violence Detection under Weak Supervision 拓展工作。
主要是增加了一个细粒度的分支。
两篇文章在XD-Violence上的结果都是一样的吗?
左边是这篇文章的,右边是之前的那篇文章。
怎么说网络和损失都是变化了一些的。
相关文章:
Weakly Supervised Audio-Visual Violence Detection 论文阅读
Weakly Supervised Audio-Visual Violence Detection 论文阅读 摘要III. METHODOLOGYA. Multimodal FusionB. Relation Modeling ModuleC. Training and Inference IV. EXPERIMENTSV. CONCLUSION阅读总结 文章信息: 发表于:IEEE TRANSACTIONS ON MULTIME…...
华为海思数字芯片设计笔试第六套
声明 下面的题目作答都是自己认为正确的答案,并非官方答案,如果有不同的意见,可以评论区交流。 这些题目也是笔者从各个地方收集的,感觉有些题目答案并不正确,所以在个别题目会给出自己的见解,欢迎大家讨论…...
重绘和重排:概念、区别和应用示例
还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,ech…...
创建k8s deploy yaml文件的imagePullSecrets语句
镜像仓库是harbor kubectl create secret docker-registry key --docker-server192.168.0.190 --docker-usernameadmin --docker-passwordHarbor12345...
大模型预测结果导入到Doccano,人工修正预测不准的数据
背景 使用大语言模型做实体识别的实验时,发现大模型关于实体的边界预测一直不准。 主要原因在于当时找了很多同学标注数据,由于不同组同学关于实体的边界没有统一,故导致数据集中实体边界也没统一。 (找太多人标,会有…...
python三方库_ciscoconfparse学习笔记
文章目录 介绍使用基本原理父子关系 属性ioscfg 获取配置信息,返回列表is_config_line 判断是否是配置行is_intf 判断IOSCfgLine是不是interfaceis_subintf 判断IOSCfgLine是不是子接口lineage 不知道用法is_ethernet_intf 判断IOSCfgLine是否是以太网接口is_loopback_intf 判断…...
HDFS详解(Hadoop)
Hadoop 分布式文件系统(Hadoop Distributed File System,HDFS)是 Apache Hadoop 生态系统的核心组件之一,它是设计用于存储大规模数据集并运行在廉价硬件上的分布式文件系统。 1. 分布式存储: HDFS 将文件分割成若干块…...
python创建word文档并向word中写数据
一、docx库的安装方法 python创建word文档需要用到docx库,安装命令如下: pip install python-docx 注意,安装的是python-docx。 二、使用方法 使用方法有很多,这里只介绍创建文档并向文档中写入数据。 import docxmydocdocx.Do…...
MongoDB的安装配置及使用
文章目录 前言一、MongoDB的下载、安装、配置二、检验MongoDB是否安装成功三、Navicat 操作MongoDB四、创建一个集合,存放三个文档总结 前言 本文内容: 💫 MongoDB的下载、安装、配置 💫 检验MongoDB是否安装成功 ❤️ Navicat 操…...
Go学习路线
Go学习路线 文章目录 Go学习路线入门阶段一、Go基础和Goland的安装二、学习日志文件及配置文件三、学习mysql四、html,css,js快速入门五、写一个简单的前后端分离的记事本项目六、Linux快速入门七、Docker快速入门八、Git命令快速入门九、使用Docker打包…...
安全大脑与盲人摸象
21世纪是数字科技和数字经济爆发的时代,互联网正从网状结构向类脑模型进行进化,出现了结构和覆盖范围庞大,能够适应不同技术环境、经济场景,跨地域、跨行业的类脑复杂巨型系统。如腾讯、Facebook等社交网络具备的神经网络特征&…...
如何使用Git-Secrets防止将敏感信息意外上传至Git库
关于Git-Secrets Git-secrets是一款功能强大的开发安全工具,该工具可以防止开发人员意外将密码和其他敏感信息上传到Git库中。 Git-secrets首先会扫描提交的代码和说明,当与用户预先配置的正则表达式模式匹配时,便会阻止此次提交。该工具的优…...
Day 14 网络协议
常见网络设备:交换机 路由器 中继器 多协议网关(路由器的前身) 交换机:用于连接统一网络的设备,实现内网设备通信。 从广义上分为:局域网交换机,广域网交换机 从网络构成分为:接…...
msyql中SQL 错误 [1118] [42000]: Row size too large (> 8126)
场景: CREATE TABLE test-qd.eqtree (INSERT INTO test.eqtree (idocid VARCHAR(50) NULL,sfcode VARCHAR(50) NULL,sfname VARCHAR(50) NULL,sfengname VARCHAR(50) NULL,…… ) ENGINEInnoDB DEFAULT CHARSETutf8 COLLATEutf8_general_ci;或 alter table eqtre…...
实验六 智能手机互联网程序设计(微信程序方向)实验报告
实验目的和要求 请完成创建图片库应用,显示一系列预设的图片。 提供按钮来切换显示不同类别的图片。 二、实验步骤与结果(给出对应的代码或运行结果截图) 1.WXML <view> <button bindtap"showAll">所有图片</but…...
Linux环境下,让Jar项目多线程部署成为可能
欢迎来到我的博客,代码的世界里,每一行都是一个故事 Linux环境下,让Jar项目多线程部署成为可能 前言背景介绍使用sh脚本实现使用systemd来实现使用docker-compose实现 前言 在当今互联网时代,应用程序的高可用性和性能是至关重要…...
k8s调度场景
15个KUBERNETES调度情景实用指南 Kubernetes调度是确保集群中的Pod在适当节点上运行的关键组件。通过灵活配置调度策略,可以提高资源利用率、负载平衡和高可用性。 在本文中,我们将深入探讨一些实际的Kubernetes调度场景,并提供相应的配置示…...
基于小程序实现的餐饮外卖系统
作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:spring…...
家居网购项目(手写分页)
文章目录 1.后台管理—分页显示1.程序框架图2.编写数据模型Page.java 3.编写dao层1.修改FurnDao增加方法 2.修改FurnDaoImpl增加方法 3.单元测试FurnDaoTest 4.编写service层1.修改FurnService增加方法 2.修改FurnServiceImpl增加方法3.单元测试FurnServiceTest 5.编写DataUtil…...
goland2024安装包(亲测可用)
目录 一、软件简介 二、软件下载 一、软件简介 Goland 是一款由 JetBrains 公司开发的集成开发环境(IDE),专门用于 Go 语言的开发。它提供了丰富的功能和工具,帮助开发者更高效地编写、调试和管理 Go 语言项目。 功能特点&#x…...
35、链表-LRU缓存
思路: 首先要了解LRU缓存的原理,首先定下容量,每次get请求和put请求都会把当前元素放最前/后面,如果超过容量那么头部/尾部元素就被移除,所以最近最少使用的元素会被优先移除,保证热点数据持续存在。 不管放…...
数据结构速成--栈
由于是速成专题,因此内容不会十分全面,只会涵盖考试重点,各学校课程要求不同 ,大家可以按照考纲复习,不全面的内容,可以看一下小编主页数据结构初阶的内容,找到对应专题详细学习一下。 目录 一…...
算法练习第15天|226.翻转二叉树
226.翻转二叉树 力扣链接https://leetcode.cn/problems/invert-binary-tree/description/ 题目描述: 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出&am…...
C#面向对象——封装、封装案例示例
C#面向对象——封装 什么是封装? (1)封装是将数据和操作数据的方法(行为)封装在一起。 (2)程序中封装的体现:属性,方法,类,接口,命名空间&#…...
【InternLM 实战营第二期-笔记3】茴香豆:搭建你的 RAG 智能助理
书生浦语是上海人工智能实验室和商汤科技联合研发的一款大模型,很高兴能参与本次第二期训练营,我也将会通过笔记博客的方式记录学习的过程与遇到的问题,并为代码添加注释,希望可以帮助到你们。 记得点赞哟(๑ゝω╹๑) 茴香豆:搭建…...
Advanced RAG 03:运用 RAGAs 与 LlamaIndex 评估 RAG 应用
编者按:目前,检索增强生成(Retrieval Augmented Generation,RAG)技术已经广泛使用于各种大模型应用场景。然而,如何准确评估 RAG 系统的性能和效果,一直是业界和学界共同关注的重点问题。若无法…...
leetcode
找到字符串中所有字母异位词 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串) 示例 1: 输入: s "…...
Unity DOTS《群体战斗弹幕游戏》核心技术分析之3D角色动画
最近DOTS发布了正式的版本, 我们来分享现在流行基于群体战斗的弹幕类游戏,实现的核心原理。今天给大家介绍大规模战斗群体3D角色的动画如何来实现。 DOTS 对角色动画支持的局限性 截止到Unity DOTS发布的版本1.0.16,目前还是无法很好的支持3D角色动画。在DOTS 的ba…...
react异步组件如何定义使用 标准使用方法
目录 默认导出和命名导出的格式 默认导出的组件 使用方式 命名导出的组件 使用方式 默认导出和命名导出的格式 默认导出: // person.js const person {name: Alice,age: 30 };export default person;命名导出: // math.js export const add (a, b) > a b; exp…...
React + Ts + Vite + Antd 项目搭建
1、创建项目 npm create vite 项目名称 选择 react 选择 typescript 关闭严格模式 建议关闭严格模式,因为不能自动检测副作用,有意双重调用。将严格模式注释即可。 2、配置sass npm install sass 更换所有后缀css为sass vite.config.ts中注册全局样式 /…...
js爬虫puppeteer库 解决网页动态渲染无法爬取
我们爬取这个网址上面的股票实时部分宇通客车(600066)_股票价格_行情_走势图—东方财富网 我们用正常的方法爬取会发现爬取不下来,是因为这个网页这里是实时渲染的,我们直接通过网址接口访问这里还没有渲染出来 于是我们可以通过下面的代码来进行爬取: …...
代码随想录:二叉树5
目录 102.二叉树的层序遍历 题目 代码(队列实现) 107.二叉树的层序遍历II 题目 代码 199.二叉树的右视图 题目 代码 637.二叉树的层平均值 题目 代码 102.二叉树的层序遍历 题目 给你二叉树的根节点 root ,返回其节点值的 层序遍…...
Tomcat 获取客户端真实IP X-Forwarded-For
Tomcat 获取客户端真实IP X-Forwarded-For 代码实现: 在Host标签下面添加代码: <Valve className"org.apache.catalina.valves.RemoteIpValve" remoteIpHeader"x-forwarded-for" remoteIpProxiesHeader"x-forwarded-by&q…...
记录PS学习查漏补缺
PS学习 PS学习理论快捷键抠图PS专属多软件通用快捷键 PS学习 理论 JPEG (不带透明通道) PNG (带透明通道) 快捷键 抠图 抠图方式 魔棒工具 反选选中区域 CtrlShiftI(反选) 钢笔抠图注意事项 按着Ctrl单击节点 会出现当前节…...
Kafka 架构深入探索
目录 一、Kafka 工作流程及文件存储机制 二、数据可靠性保证 三 、数据一致性问题 3.1follower 故障 3.2leader 故障 四、ack 应答机制 五、部署FilebeatKafkaELK 5.1环境准备 5.2部署ELK 5.2.1部署 Elasticsearch 软件 5.2.1.1修改elasticsearch主配置文件 5.2…...
k-means聚类算法的MATLAB实现及可视化
K-means算法是一种无监督学习算法,主要用于数据聚类。其工作原理基于迭代优化,将数据点划分为K个集群,使得每个数据点都属于最近的集群,并且每个集群的中心(质心)是所有属于该集群的数据点的平均值。以下是…...
Excel文件转Asc文件
单个转换 import os import pandas as pdfilename (10)result01-1.xlsx df pd.read_excel(filename) # 读取Excel文件# 将数据保存为ASC格式 asc_filename os.path.splitext(filename)[0] .asc # 获取文件名并替换扩展名 with open(asc_filename, w) as file:# 写入文件…...
【题目】【信息安全管理与评估】2022年国赛高职组“信息安全管理与评估”赛项样题7
【题目】【信息安全管理与评估】2022年国赛高职组“信息安全管理与评估”赛项样题7 信息安全管理与评估 网络系统管理 网络搭建与应用 云计算 软件测试 移动应用开发 任务书,赛题,解析等资料,知识点培训服务 添加博主wx:liuliu548…...
Webrtc 信令服务器实现
webrtc建联流程图 由上图可知,所谓的信令服务器其实就是将peer的offer/candidate/answer传给对端而已。这样的话实现方式就有很多种了,目前普遍的方式HTTP/HTTPS,WS/WSS。像webrtc-demo-peerconnection就是实现HTTP这种方式。本文使用WS&…...
【Blockchain】连接智能合约与现实世界的桥梁Chainlink
去中心化预言机试图实现依赖因果关系而不是个人关系的去信任和确定性结果。它以与区块链网络相同的方式实现这些结果,即在许多网络参与者之间分配信任。通过利用许多不同的数据源并实施不受单个实体控制的预言机系统,去中心化的预言机网络有可能为智能合…...
解决EasyPoi导入Excel获取不到第一列的问题
文章目录 1. 复现错误2. 分析错误2.1 导入的代码2.2 DictExcel实体类2.2 表头和标题3. 解决问题1. 复现错误 使用EasyPoi导入数据时,Excel表格如下图: 但在导入时,出现如下错误: name为英文名称,在第一列,Excel表格有值,但导入的代码中为null,就很奇怪? 2. 分析错误 …...
Vue 阶段练习:记事本
将 Vue快速入门 和 Vue 指令的学习成果应用到实际场景中(如该练习 记事本),我们能够解决实际问题并提升对 Vue 的技能掌握。 目录 功能展示 需求分析 我的代码 案例代码 知识点总结 功能展示 需求分析 列表渲染删除功能添加功能底部统计…...
JavaScript判断受访域名,调用不同的js文件
比如:我有三个域名: ① dengoo.net ② jfzm.cc ③ ceeha.com 如果当前访问的是 dengoo.net 域名及域名下页面,则调用 a.js 如果当前访问的是 jfzm.cc 域名及域名下页面,则调用 b.js 如果当前访问的是 ceeha.com 域名及域名下…...
下载软件时的Ubuntu x86_64-v2、skylake、aarch64版本分别代表什么?
Ubuntu-x86_64-v2、Ubuntu-x86_64-skylake和Ubuntu-aarch64都是Ubuntu的不同版本或变种,它们之间的主要区别在于所支持的硬件架构和针对特定硬件的优化。 Ubuntu-x86_64-v2: 这是基于x86_64(也称为AMD64或Intel 64)架构的Ubuntu版…...
数字化社交的引擎:解析Facebook的影响力
Facebook,作为全球最大的社交媒体平台,已经深深地融入了我们的日常生活和文化中。它不仅仅是一个简单的社交工具,更是一个复杂的数字生态系统,影响着我们的社交模式、文化认同以及信息获取方式。在这篇文章中,我们将深…...
淘宝API商品详情数据在数据分析行业中具有不可忽视的重要性
淘宝商品详情数据在数据分析行业中具有不可忽视的重要性。这些数据为商家、市场分析师以及数据科学家提供了丰富的信息,有助于他们更深入地理解市场动态、消费者行为以及商品竞争态势。以下是淘宝商品详情数据在数据分析行业中的重要性体现: 请求示例&a…...
【产品】ANET智能通信管理机 物联网网关 电力监控/能耗监测/能源管理系统
产品概述 本系列智能通信管理机是一款采用嵌入式硬件计算机平台,具有多个下行通信接口及一个或者多个上行网络接口,用于将一个目标区域内所有的智能监控/保护装置的通信数据整理汇总后,实时上传主站系统,完成遥信、遥测等能源数据…...
R语言数据分析案例
在R语言中进行数据分析通常涉及数据的导入、清洗、探索、建模和可视化等步骤。以下是一个简化的案例,展示了如何使用R语言进行数据分析: 1. 数据导入 首先,你需要将数据导入R环境中。这可以通过多种方式完成,例如使用read.csv()…...
vscode debug 配置:launch.json
打开新项目左边的“运行和调试” 点击蓝色字体“创建 launch.json 文件” 选择上方“python” 选择“Python 文件 调试当前正在运行的Python文件” 配置launch.json文件内容: {// 使用 IntelliSense 了解相关属性// 悬停以查看现有属性的描述。// 欲了解更多信息&a…...
idea工具使用Tomcat创建jsp 部署servlet到服务器
使用tomcat创建jsp 在tomcat官网中下载对应windows版本的tomcat文件 Apache Tomcat - Welcome! 解压到系统目录中,记得不要有中文路径 新建一个java项目 点击右上角 点击加号 找到Tomcat Service的 Local 点击右下角的Fix一下,然后ok关闭 再重新打开一…...