自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(168)
  • 收藏
  • 关注

原创 安装conda并添加到环境变量中

安装conda,并且手动将其添加到环境变量中!

2024-08-25 15:29:51 564

原创 大模型是如何训练出来的?

①预训练,此时只是单纯的利用网络上爬取的资料学习词语接龙,可以作为后面阶段的不错的初始参数;②微调,此时使用预训练好的模型参数作为初始参数,并且冻结这些参数,添加一些新的参数并且只训练这些新参数,而且要使用QA的形式,即指令形式,这样微调出来的模型才可以很好的回答人类所提出的问题;③强化学习,通过反馈来改进自己的答案,好的答案概率提高,不好的答案概率降低。

2024-08-23 19:54:40 859

原创 利用gradio为InternVL构建UI界面

我这边自己写了两个UI,一个是纯文本的,一个是支持多图片的,不过都是单论对话,没有历史对话信息。

2024-08-23 17:26:58 392

原创 在不训练模型的情况下强化语言模型

在不训练模型的情况下,如何增强语言模型的能力

2024-08-23 15:43:25 343

原创 VadCLIP:将视觉语言模型应用于弱监督视频异常检测(VadCLIP: Adapting Vision-Language Models for WSVAD)

作者主要是提出了WSVAD的`新范式VadCLIP`,是`双分支`结构,第一个分支利用视觉信息实现二分类,为粗粒度;第二个分支利用 视觉语言对齐方法 实现多分类,为细粒度。VadCLIP主要包括`3个组件`,分别为:①LGT-Adapter捕获时间依赖;②Two prompt mechanisms有效地将CLIP用到WSVAD任务;③MIL-Align实现了弱监督下对齐范式的优化,尽量保留了预训练的知识。

2024-08-16 17:03:30 651

原创 VAD-LLaMA:基于大语言模型的视频异常检测和解释(Video Anomaly Detection and Explanation via Large Language Models)

作者主要是提出了一个新颖的VAD方法,即VAD-LLaMA,将VLLMs加进了VAD框架,使得模型不仅可以检测异常,还可以解释异常,当然了,检测异常的时候还不用手动选择阈值。创新点主要是:①在MIL基线即VADor上引入了一个LTC来建模长期上下文(还有一个扩展,引入短期历史信息);②提出了三阶段训练方法,使得在训练VLLMs到VAD领域时效率更高,即减少数据需求和降低标注成本。

2024-08-13 17:50:53 968

原创 Hugging Face 使用镜像下载模型/数据集

使用 huggingface-cli 快速下载大模型

2024-08-09 11:14:36 647

原创 OVVAD:开放词汇视频异常检测(Open-Vocabulary Video Anomaly Detection)

这篇研究的是弱监督下的开放词汇视频异常检测任务,方法划分为2个任务,一个是只管检测异常,一个只管给异常分类。他认为重要的有:①是几乎没权重的TA模块;②可以给视觉信号注入语义知识的SKI模块;③可以生成伪异常样本的NAS模块。

2024-08-07 15:21:38 439

原创 HAWK:学习理解开放世界视频异常(HAWK: Learning to Understand Open-World Video Anomalies)

主要是对现有的数据集进行了改造(生成语言描述+QA对),然后是提出了结合运动模态的新方法HAWK,它生成的语言描述更关注于对异常的理解,并且更倾向于泛化到开放世界场景。

2024-07-30 22:46:31 266

原创 Holmes-VAD:基于多模态大语言模型的无偏且可解释的视频异常检测( Towards Unbiased and Explainable Video Anomaly Detection)

首先提出了Holmes-VAD方法来解决了目前VAD方法中存在偏差和缺乏解释性的问题,然后构建了VAD-Instruct50k数据集来验证了Holmes-VAD方法的有效性,在构建数据集时引入了高效的标注范式(单帧注释、事件片段生成、时间片段描述)

2024-07-27 21:49:59 961

原创 VANE-Bench:用于对话式大语言模型的视频异常检测评估基准(Video Anomaly Evaluation Benchmark for Conversational LMMs)

本文主要提出了VANE-Bench数据集,它旨在评估Video-LMMs在VAD任务中的表现

2024-07-25 00:33:18 949

原创 Windows系统连接Linux服务器时配置免密登录

想要VSCode连接服务器时不需要每次打开都得重复输入密码的话,就先把Windows系统连接服务器时的免密登录配置好,VSCode也就不需要了

2024-07-24 15:13:01 930

原创 基于弱监督学习的视频异常检测与鲁棒时序特征幅度学习(Robust Temporal Feature Magnitude Learning)

提出了RTMF方法,显著提高了对微小异常的辨别能力和样本的使用效率。

2024-07-23 21:08:49 1057

原创 不仅看,还要听:弱监督下的多模态暴力检测学习(Learning Multimodal Violence Detection under Weak Supervision)

本文主要研究弱监督下的基于视听两种模态下的大规模暴力检测,大规模是指提出了大规模暴力数据集XD-Violence,并且本文提出的方法可以用在离线检测和实时检测两种方面。

2024-07-15 10:30:47 1066

原创 图神经网络(GNN/GCN)

主要是通过聚合、更新、循环三大步骤来进行的。

2024-07-13 16:08:49 1073

原创 在监控视频中的现实世界异常检测(Real-world Anomaly Detection in Surveillance Videos)

使用弱标记的正常和异常视频数据来训练一个深度MIL框架,是一个视频异常检测的通用模型,并且在新提出的数据集上验证其有效性。并展示了提出的数据集在异常识别任务种的实用性(benchmark)

2024-07-12 14:46:59 666

原创 猫狗大战(Cats Vs Dogs)Pytorch版

跑起来猫狗大战代码的详细步骤(包含代码和数据集)

2024-07-07 16:20:37 907

原创 利用大型语言模型进行视频异常检测(Harnessing Large Language Models for Training-free Video Anomaly Detection)

提出LAVAD方法,利用预训练好的LLMs和VLMs来完成视频异常检测,不需要数据收集和模型训练。

2024-07-05 20:49:36 1279 6

原创 算法-选择排序

如下数组 A 中,变量 i (从 1 ~ n-1),初始令变量 min = i,,变量 j 从 i+1 ~ n 依次遍历元素,若 A[min] > A[j],则更新 min = j,当变量 j 遍历到 n 后,判断 i 是否还与 min 相等,若相等则说明当前最小值就是 i 所指向的元素,若不相等,则需要交换 i 与 min 所指向的元素,这样就确定了一个最小值元素,进行下一次上述流程,总过需要 n-1 趟便可以将数组 A 排序为从小到大。每一趟在待排序元素中选取关键字最小的元素加入有序子序列。

2024-03-07 10:50:39 382

原创 C语言-一维数组的定义

数组通过变量名后加方括号表示,方括号里面是数组可以容纳的成员数量(即长度)。//数组 arr ,里面包含 10 个成员,每个成员都是 int 类型// 或者10声明数组时,必须给出数组的大小。数组可以在声明时,使用大括号,同时对每一个成员赋值。变形形式 1:C 语言允许省略方括号里面的数组成员数量,这时根据大括号里面的值的数量,自动确定数组的长度。// 自动确定数量为 5 ,与上面的定义方式完全相同变形形式2:对数组部分元素赋初值:如果大括号里面的值,少于数组的成员数量,那么。

2024-03-03 16:52:12 1352

原创 C语言-对数组的理解

数组提供了一种连续的内存空间来存储相同类型的数据,这样可以提高内存的使用效率,并且方便进行数据的访问和修改。模拟现实世界:在很多实际情况中,一组相关的数据可以看作是一个整体,例如一周的每天温度、一个月的销售额等。:数组是一种高效的数据结构,可以快速地访问、修改和遍历其中的数据。:通过数组,可以将复杂的数据结构和运算简化为简单的数组操作和访问,从而简化代码,提高代码的可读性和可维护性。故数组元素在内存中依次紧密有序排列,占据的空间的大小,取决于数组的长度和数组中元素的类型。中引用的是这块连续空间的。

2024-03-03 16:22:32 370

原创 C语言-break、continue和goto关键字

如果我们没有找到这样的因子,那么 n 就是素数,因为任何大于 sqrt(n) 的数都不可能是 n 的因子(否则,就会有一个小于 sqrt(n) 的对应因子)。如下面这段示例代码中,当 i=1 时就满足了 if 判断条件,则会执行 break 语句,这时 for 循环就结束了,相当于说 break 下面的语句一次也不会执行到!在嵌套循环中,break 结束的是包裹 break 关键字的最近的一层循环!因此,我们只需要检查到 sqrt(n) 就足够了,这可以大大减少我们需要检查的数的数量,从而提高算法的效率。

2024-02-29 15:34:52 1018

原创 C语言-“无限”循环和嵌套循环

所谓的嵌套循环,就是在一个循环中又写了一个循环,这个称之为两层循环。当然了,第二层循环中还可以再写一个循环,这样就变成了三层循环。不过,实际开发中,我们最多见到的嵌套循环是两层。一般不会出现超过三层的嵌套循环。如果将要出现,一定要停下来重新梳理业务逻辑,重新思考算法的实现,控制在三层以内。否则,可读性会很差。实质上,嵌套循环就是把内层循环当成外层循环的循环体。只有当内层循环的循环条件为false(值为0)时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的外层循环。设外层循环次数为m。

2024-02-29 14:58:00 701

原创 C语言-循环结构

循环语句具有在某些条件满足的情况下,反复执行特定代码的功能。都具备四个要素for 和 while 循环可能一次也不执行,单 do-while 循环至少会执行一次如何选择?如果有明显的循环次数(范围)使用 for 循环,若没有则 while 循环,如果要求至少执行一次则使用 do-while 循环。

2024-02-29 11:26:47 1155

原创 C语言-分支结构

让我们来分析一下第二种的错误写法,因为成绩但凡大于等于 80 的则一定也会大于等于 60,所以只要成绩大于等于 60 则就没有机会进行是否大于等于 80 的判断了,故这是错误的写法。如果表达式的值等于某个 case 中的常量值,则执行对应 case 中的执行语句。例如:当 type=1 时输出香蕉,当 type=2 时输出苹果,当 type=3 时输出梨子,则下列两种写法的顺序都是可以的。例如:成绩在 [0, 59] 之间为不合格,成绩在 [60, 79] 时为合格,成绩在 [80, 100] 时为优秀。

2024-02-06 10:54:56 776

原创 MQ-消息转换器

定义一个消费者,监听 object.queue 队列并消费消息,消息类型和我们发送消息使用的类型一样,都是 Map 类型import org/*** @author 温柔哥// 测试转换器 @RabbitListener(queues = "object.queue") public void listenObjectQueue1(Map < String , Object > message) {

2024-02-02 18:26:40 946

原创 MQ-使用SpringAMQP实现发布订阅模型之Topic Exchange

Topic 交换机接收的消息 RoutingKey 必须是多个单词,以**.**分割Topic 交换机与队列绑定时的 bindingKey 可以指定通配符。

2024-02-02 17:04:54 1469

原创 MQ-使用SpringAMQP实现发布订阅模型之Direct Exchange

Fanout交换机将消息路由给每一个与之绑定的队列Direct交换机根据RoutingKey判断路由给哪个队列如果多个队列具有相同的RoutingKey,则与Fanout功能类似。

2024-02-02 12:31:31 1111

原创 MQ-使用SpringAMQP实现发布订阅模型之Fanout Exchange

接收publisher发送的消息将消息按照规则路由到与之绑定的队列不能缓存消息,路由失败,消息丢失FanoutExchange的会将消息路由到每个绑定的队列。

2024-02-02 11:25:59 842

原创 MQ-发布订阅模型

一方面,接收生产者发送的消息。另一方面,知道如何处理消息,例如递交给某个特别队列、递交给所有队列、或是将消息丢弃。到底如何操作,取决于Exchange的类型。,路由失败则消息丢失(如果没有任何队列与Exchange绑定,或者没有符合路由规则的队列,那么消息会丢失!:生产者,也就是要发送消息的程序,但是不再发送到队列中,而是发给交换机。:消息队列也与以前一样,接收消息、缓存消息。1. Fanout:广播,将消息交给所有。2. Direct:路由,把消息交给符合。:消费者,与以前一样,订阅队列,没有变化。

2024-02-02 10:07:30 211

原创 MQ-使用SpringAMQP实现工作队列模型

在 consumer 服务中定义两个消息监听者,都监听 simple.queue 队列,其中消费者1每秒可以处理 10 条消息,消费者2每秒可以处理 1 条消息import org/*** @author 温柔哥// 模拟工作队列模型 @RabbitListener(queues = "simple.queue") public void listenWorkQueue1(String message) throws InterruptedException {

2024-02-01 16:58:53 483

原创 MQ-使用SpringAMQP实现HelloWorld中的简单队列模型

SpringAmqp的官方地址Spring AMQP 的特性:1.Listener container for asynchronous processing of inbound messages(用于异步处理入站消息的侦听器容器)2.for sending and receiving messages(RabbitTemplate用于发送和接收消息)3.

2024-02-01 16:12:20 1357

原创 MQ-常见消息模型及基本消息队列(basicQueue)

建立connection创建channel利用channel声明队列利用channel向队列发送消息建立connection创建channel利用channel声明队列定义consumer的消费行为handleDelivery()利用channel将消费者与队列绑定。

2024-02-01 10:53:17 880

原创 MQ-RabbitMQ介绍和安装

建立连接以后,一定要建立一个 channel(通道),然后发送者或者消费者才能基于通道完成消息的发送或者接受。可以认为 channel 是 mq 中无论是消息发送还是消息接收的一个。Connection(连接),将来无论是消息的发送者还是消费者都应该和 mq 建立连接。exchange(交换机)就是路由器,负责将消息路由给多个队列。,将来每一个连接上的人都应该创建一个或多个通道。queue(队列)就是来做消息存储的。上传虚拟机后,使用命令加载镜像。使用 docker 来部署。查看容器,运行成功!

2024-01-31 11:17:09 752

原创 MQ-同步通讯和异步通讯以及MQ常见框架

MQ (MessageQueue),中文是消息队列,字面来看就是存放消息的队列。也就是事件驱动架构中的Broker。它是一种应用程序对应用程序的通信方式,其中一端应用程序发布消息到队列中,另一端应用程序从队列中读取消息。这种通信方式的特点是发送和接收应用程序不需要直接相互联系,而是通过队列作为中介进行通信。RabbitMQActiveMQRocketMQKafka公司/社区RabbitApache阿里Apache开发语言ErlangJavaJavaScala&Java。

2024-01-30 12:01:28 1324

原创 Docker-搭建私有镜像仓库

Docker官方的Docker Registry因为带有图形化界面版本的镜像仓库不是官方提供的,而是由第三方个人基于 Docker 官方的 Docker Registry 进行开发的,所以部署时需要两个静像,我们使用 compose 文件进行部署。因为企业中的镜像那不都是商业机密么,肯定不希望开源,不然还怎么赚钱,所以企业自己的镜像最好是采用私有Docker Registry来实现。(就是将本地镜像重命名一下,他们的镜像 ID 都是一样的,本质上还是同一个镜像)可以查看当前私有镜像服务中包含的镜像。

2024-01-29 11:49:02 6062 1

原创 Docker-利用DockerCompose部署cloud-demo微服务集群

authorization=admin,但是啊但是,不出意外的话又要出意外了,于是我们使用。就是 linux 命令 pwd,用于获取当前的工作目录,为什么用这个呢,因为我们将文件上传到 linux 中后,我们前面的路径肯定要变了呀,不能写死,这样不管我们把文件上传到 linux 上的哪个位置,都是可以正确找到该路径的。下载顶部的资料即可,因为我上传的是都已经修改好的文件了,所以像第五、六、七、十一步你都可以不用做了。这不看不知道,一看吓一跳,居然报错了,Nacos 连接失败?如何指定打包的名称?

2024-01-29 02:10:34 1114 1

原创 Docker-认识和安装DockerCompose

Docker Compose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器!也就是说,以后我们在部署微服务项目时,在部署成百上千个服务时就不用一个一个去部署了,可以通过 Docker Compose 来帮我们一起部署。Compose文件;是一个文本文件,通过指令定义集群中的每个容器如何运行。下图中,上面时我们之前部署一个容器的时候需要的命令,中间则是 Compose 文件中的内容,下面则是我们自己构建本地镜像再启动。不难发现,之。

2024-01-28 23:32:04 388

原创 C语言-顺序结构

程序从上到下逐行地执行。表达式语句都是顺序执行的。并且上一行对某个变量的修改对下一行会产生影响。在C语言中,顺序结构是指程序按照代码的书写顺序从上到下逐行执行,没有跳过或重复执行的情况。这种结构是最简单、最基本的程序结构。具体来说,顺序结构就是程序运行时自上而下的依次执行我们所写的代码,直到执行完所有语句。例如,在一个简单的C程序中,定义变量、赋值、计算以及打印结果等操作都会按照它们在代码中出现的顺序依次执行。这种顺序执行的方式是C语言默认的执行方式,也是程序中最基本的控制流程。

2024-01-28 22:30:51 675

原创 C语言-流程控制结构

流程控制结构是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。这些结构允许我们根据特定条件或循环重复执行某段代码。

2024-01-28 18:20:37 239

VadCLIP:将视觉语言模型应用于弱监督视频异常检测

作者主要是提出了WSVAD的`新范式VadCLIP`,是`双分支`结构,第一个分支利用视觉信息实现二分类,为粗粒度;第二个分支利用 视觉语言对齐方法 实现多分类,为细粒度。 VadCLIP主要包括`3个组件`,分别为:①LGT-Adapter捕获时间依赖;②Two prompt mechanisms有效地将CLIP用到WSVAD任务;③MIL-Align实现了弱监督下对齐范式的优化,尽量保留了预训练的知识。

2024-08-16

VAD-LLaMA 基于大语言模型的视频异常检测和解释

作者主要是提出了一个新颖的VAD方法,即VAD-LLaMA,将VLLMs加进了VAD框架,使得模型不仅可以检测异常,还可以解释异常,当然了,检测异常的时候还不用手动选择阈值。 创新点主要是:①在MIL基线即VADor上引入了一个LTC来建模长期上下文(还有一个扩展,引入短期历史信息);②提出了三阶段训练方法,使得在训练VLLMs到VAD领域时效率更高,即减少数据需求和降低标注成本。

2024-08-13

开放词汇视频异常检测(Open-Vocabulary Video Anomaly Detection)

这篇研究的是弱监督下的开放词汇视频异常检测任务,方法划分为2个任务,一个是只管检测异常,一个只管给异常分类。他认为重要的有:①是几乎没权重的TA模块;②可以给视觉信号注入语义知识的SKI模块;③可以生成伪异常样本的NAS模块。

2024-08-07

利用大型语言模型进行视频异常检测

提出LAVAD方法,利用预训练好的LLMs和VLMs来完成视频异常检测,不需要数据收集和模型训练。

2024-08-05

HAWK:学习理解开放世界视频异常

主要是对现有的数据集进行了改造(生成语言描述+QA对),然后是提出了结合运动模态的新方法HAWK,它生成的语言描述更关注于对异常的理解,并且更倾向于泛化到开放世界场景。

2024-07-30

Holmes-VAD - 基于多模态大语言模型的无偏且可解释的视频异常检测

首先提出了Holmes-VAD方法来解决了目前VAD方法中存在偏差和缺乏解释性的问题,然后构建了VAD-Instruct50k数据集来验证了Holmes-VAD方法的有效性,在构建数据集时引入了高效的标注范式(单帧注释、事件片段生成、时间片段描述)

2024-07-27

用于对话式大语言模型的视频异常检测评估基准

提出了VANE-Bench数据集,旨在评估Video-LMMs在VAD任务中的性能

2024-07-25

基于弱监督学习的视频异常检测与鲁棒时序特征幅度学习(RTFM)

提出了RTFM方法,显著提高了原有MIL方法的样本效率和对微妙异常的区分能力。

2024-07-23

Real-world Anomaly Detection in Surveillance Videos

在监控视频中的现实世界异常检测

2024-07-15

Learning Multimodal Violence Detection under Weak Supervision

不仅看,还要听:弱监督下的多模态暴力检测学习

2024-07-15

猫狗大战(Cats Vs Dogs)Pytorch版

这里面包含代码和完整的数据集

2024-07-06

MQ-常见消息模型及基本消息队列(basicQueue)

用于完成 RabbitMQ 的 HelloWorld 案例

2024-02-01

MQ-RabbitMQ介绍和安装

rabbitmq3-management 为镜像名称

2024-01-31

Docker-利用DockerCompose部署cloud-demo微服务集群

cloud-demo微服务,里面有几个微服务的 jar 包和对应的 Dockerfile文件,还有 docker-compose.yml 文件

2024-01-29

Docker-认识和安装DockerCompose

DockerCompose的安装包

2024-01-28

Docker-使用Dockerfile自定义镜像

基于Ubuntu镜像构建一个新镜像,运行一个java项目的资料

2024-01-27

mysql-5.7.25

博客“Docker-将宿主机目录直接挂载到容器”的资料

2024-01-26

nacos-server-1.4.1

Nacos的Windows安装包

2024-01-17

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除