人工智能--目标检测
欢迎来到 Papicatch的博客
文章目录
🍉引言
🍉概述
🍈目标检测的主要流程通常包括以下几个步骤
🍍数据采集
🍍数据预处理
🍍特征提取
🍍目标定位
🍍目标分类
🍈目标检测在许多领域都有广泛的应用
🍍自动驾驶
🍍安防监控
🍍工业检测
🍈目标检测技术仍面临一些挑战
🍉 区域卷积神经网络
🍈介绍
🍈R-CNN 的详细工作原理
🍍工作流程
🍌候选区域生成
🍌特征提取
🍈关键技术要点
🍈R-CNN 的优点详细分析
🍍高精度检测
🍍 灵活性和通用性
🍍推动技术发展
🍈R-CNN 的局限性
🍍计算效率低下
🍍训练流程复杂
🍍候选区域质量依赖
🍍检测速度慢
🍈R-CNN 的影响和发展
🍍影响
🍌检测效果好
🍌奠定研究基础
🍍发展
🍉YOLO 卷积神经网络
🍈YOLO 的主要工作原理如下
🍈YOLO 系列算法在不断发展和改进。例如,YOLO v3 相比之前的版本有一些改进和特点
🍈YOLO 算法的优点包括
🍈YOLO 算法的局限性包括
🍉 单发多框架检测SSD
🍈其主要流程如下
🍍特征提取
🍍生成锚框
🍍类别和边界框预测
🍍筛选和调整
🍈SSD 算法的一些优点包括
🍈SSD 算法的一些局限性包括
🍉 示例
🍈代码分析
🍉总结
🍉引言
在当今科技飞速发展的时代,人工智能正以前所未有的速度改变着我们的生活和工作方式。其中,目标检测作为人工智能领域中一个关键且极具应用价值的方向,吸引了众多研究者的目光。它不仅为我们打开了理解和处理视觉信息的新大门,也为解决各种实际问题提供了强大的技术支持。
🍉概述
目标检测是计算机视觉和人工智能领域中的一项重要任务,其目的是在图像或视频中准确地识别和定位感兴趣的目标对象。
🍈目标检测的主要流程通常包括以下几个步骤
🍍数据采集
收集大量包含目标对象的图像或视频数据,这些数据应具有多样性和代表性,以涵盖各种可能的场景和情况。
- 例如,在检测汽车时,需要收集不同品牌、颜色、角度、光照条件下的汽车图像。
🍍数据预处理
对采集到的数据进行清洗、标注和增强等处理。标注是指为图像中的目标对象添加边界框和类别标签,以便模型学习。
- 数据增强技术如翻转、旋转、缩放等,可以增加数据的数量和多样性,减少过拟合的风险。
🍍特征提取
使用深度学习模型自动从图像中提取有意义的特征。常见的模型架构如卷积神经网络(CNN)能够有效地捕捉图像的局部和全局特征。
- 例如,ResNet、VGG 等网络在特征提取方面表现出色。
🍍目标定位
确定目标对象在图像中的位置,通常通过预测边界框的坐标来实现。
🍍目标分类
确定目标对象的类别,例如人、车、动物等。
🍈目标检测在许多领域都有广泛的应用
🍍自动驾驶
检测道路上的车辆、行人、交通标志等,为车辆的行驶决策提供依据。
🍍安防监控
实时监测监控画面中的异常情况,如入侵人员、异常行为等。
🍍工业检测
检测产品的缺陷、尺寸等,提高生产质量和效率。
🍈目标检测技术仍面临一些挑战
- 小目标检测:对于尺寸较小的目标,由于其特征不明显,检测难度较大。
- 复杂场景:在背景复杂、光照变化剧烈、目标遮挡等情况下,准确检测目标具有挑战性。
- 实时性要求:在一些实时应用场景中,需要在短时间内完成检测任务,对算法的效率要求较高。
🍉 区域卷积神经网络
🍈介绍
区域卷积神经网络(Region-based Convolutional Neural Network,R-CNN)是目标检测领域的一个重要里程碑,为后续更先进的目标检测算法奠定了基础。
🍈R-CNN 的详细工作原理
R-CNN(Region-based Convolutional Neural Network)是目标检测领域的一项开创性工作,其独特的方法为后续的目标检测算法提供了重要的思路和基础。
🍍工作流程
🍌候选区域生成
- 运用选择性搜索(Selective Search)算法,基于图像的颜色、纹理、形状等特征,将图像分割成多个可能包含目标的区域。
- 例如,对于一张包含猫和狗的图像,选择性搜索可能会生成多个矩形框,其中一些框可能准确地覆盖了猫和狗的区域。
🍌特征提取
- 将生成的候选区域调整为固定大小(例如 227×227),以适应预训练的卷积神经网络(如 AlexNet)的输入要求。
- 将调整后的候选区域输入到卷积神经网络中,提取 4096 维的特征向量。
🍌分类
- 使用为每个类别训练的支持向量机(SVM)对提取的特征向量进行分类。
- 例如,如果有猫、狗、鸟三个类别,就会有三个对应的 SVM 分类器,分别判断候选区域属于哪个类别。
🍌边界框回归
- 对于每个被分类为目标的候选区域,使用线性回归模型对其边界框进行微调,以得到更精确的位置。
- 例如,初始的候选区域可能不完全准确地框住目标,通过回归可以对边界框的坐标进行修正。
🍈关键技术要点
利用预训练的卷积神经网络进行特征提取,充分利用了深度网络学习到的强大特征表示能力。
选择性搜索算法能够生成质量较高的候选区域,为后续的检测提供了良好的基础。
分类和回归的分开处理,使得每个步骤可以专注于其特定的任务,提高了检测的准确性。
🍈R-CNN 的优点详细分析
🍍高精度检测
深度特征学习:R-CNN 引入了卷积神经网络(CNN)进行特征提取,相比于传统的手工设计特征,CNN 能够自动学习到更具代表性和判别性的特征。这些深度特征能够捕捉图像中目标的复杂结构和语义信息,从而显著提高了检测的准确性。
- 例如,对于形状不规则的物体或在复杂背景下的目标,传统方法可能难以准确识别,但 R-CNN 学习到的深度特征能够更好地区分目标和背景。
候选区域筛选:通过选择性搜索等方法生成候选区域,能够覆盖可能包含目标的各种位置和尺度,增加了检测到目标的可能性。
- 例如,在一张包含多个不同大小和位置物体的图像中,R-CNN 能够全面地考虑各种可能的区域,减少漏检的情况。
🍍 灵活性和通用性
可迁移学习:可以利用在大规模图像分类数据集(如 ImageNet)上预训练好的 CNN 模型,并在目标检测数据集上进行微调。这种迁移学习的策略使得 R-CNN 能够受益于已有的大规模数据训练成果,并且能够应用于各种不同的目标检测任务。
- 比如,原本在 ImageNet 上训练用于识别猫的模型,经过微调可以用于检测汽车等其他目标。
适应多种目标类别:R-CNN 对于不同类型的目标检测任务具有较好的通用性,无论是常见的物体(如人、车、动物)还是特定领域的目标(如医学图像中的病变区域),都可以通过适当的训练来实现检测。
🍍推动技术发展
启发后续研究:R-CNN 的出现为后续的目标检测算法提供了重要的思路和基础,激发了大量的研究工作,推动了整个目标检测领域的快速发展。
- 例如,后续的 Fast R-CNN、Faster R-CNN 等算法都是在 R-CNN 的基础上进行改进和创新的。
促进算法融合:R-CNN 的成功促使研究者将其与其他技术(如增强学习、注意力机制等)相结合,进一步提升了目标检测的性能和灵活性。
🍈R-CNN 的局限性
🍍计算效率低下
重复计算:对每个候选区域都要单独进行卷积神经网络(CNN)的前向传播,存在大量的重复计算。这导致处理一幅图像的时间非常长,难以满足实时性要求。
- 例如,对于 2000 个候选区域,就需要进行 2000 次完整的 CNN 计算。
特征存储:提取的特征需要大量的存储空间来保存,增加了硬件成本和处理的复杂性。
🍍训练流程复杂
多阶段训练:R-CNN 的训练分为多个阶段,包括 CNN 的微调、SVM 的训练以及边界框回归器的训练。每个阶段都需要单独的优化和调整,流程繁琐且难以优化。
- 不同阶段的训练数据和优化目标不同,需要精心设计和协调。
数据需求大:每个阶段都需要大量的标注数据,增加了数据准备的难度和工作量。
🍍候选区域质量依赖
选择性搜索的不足:生成候选区域的选择性搜索算法并非完美,可能会产生过多的无效候选区域,或者遗漏一些关键区域。
- 例如,对于一些紧密相邻的目标,可能会生成一个包含多个目标的大候选区域,影响检测精度。
区域大小固定:在特征提取阶段,将候选区域调整为固定大小可能会导致信息丢失或变形,影响检测效果。
🍍检测速度慢
实时性差:由于上述的计算效率和训练复杂性问题,R-CNN 在实际应用中的检测速度非常慢,难以应用于实时场景,如自动驾驶、视频监控等。
🍈R-CNN 的影响和发展
🍍影响
🍌检测效果好
R-CNN在VOC2007数据集上的检测效果相比传统方法有很大提升,其mAP(平均精度均值)达到了53.3%,相较于之前的最佳结果提高了30%以上。
🍌奠定研究基础
R-CNN算法的出现,为目标检测领域的研究奠定了基础。后续的很多研究工作都是基于R-CNN算法进行的,例如Fast R-CNN、Faster R-CNN等。
🍌推动技术发展
R-CNN算法的成功应用,推动了深度学习技术在目标检测领域的发展。它证明了深度学习方法在目标检测任务中的有效性,促使更多的研究人员投入到这个领域的研究中。
🍍发展
- R-CNN:R-CNN算法首先使用选择性搜索等方法提取图像中的候选区域,然后对这些区域使用CNN提取特征,最后通过SVM进行分类。
- Fast R-CNN:为了解决R-CNN的计算量大、训练过程复杂的问题,Fast R-CNN被提出。它在R-CNN的基础上进行了改进,直接在特征图上进行边框回归和分类,减少了计算量,并提高了检测速度。
- Faster R-CNN:Faster R-CNN进一步改进了物体检测流程,它引入了区域建议网络(RPN),该网络与检测网络共享卷积特征,实现了端到端的训练。RPN的引入不仅提高了检测的速度,还提升了检测的准确性。
🍉YOLO 卷积神经网络
🍈YOLO 的主要工作原理如下
- 输入图像:将整幅图像作为网络的输入。
- 划分网格:YOLO 将输入图像划分成多个网格。
- 预测边界框:每个网格单元负责预测一定数量的边界框(bounding box)。这些边界框包含了目标的位置信息(如中心坐标、宽度和高度)。
- 类别预测:同时,每个边界框还会预测相关的类别概率,即该边界框内包含某类目标的可能性。
- 输出:通过对每个网格单元的预测结果进行综合分析,得到最终的目标检测结果,包括目标的类别和其对应的边界框。
YOLO 仅利用卷积层,是一个全卷积网络(FCN)。例如在 YOLO v3 中,作者提出了名为 Darknet-53 的特征提取器架构,它包含 53 个卷积层,每个卷积层后跟随批量归一化层和 Leaky ReLU 激活函数,使用带有步长 2 的卷积层来降采样特征图,有助于防止池化导致的低级特征丢失。
🍈YOLO 系列算法在不断发展和改进。例如,YOLO v3 相比之前的版本有一些改进和特点
- 边界框预测:使用维度集群作为锚框(anchor boxes),通过预测 4 个坐标(tx、ty、tw、th)来确定边界框的位置。采用逻辑回归预测每个边界框的目标性得分。
- 类别预测:使用多标签分类预测边界框可能包含的类别,不使用 softmax,而是采用独立的逻辑分类器,训练时使用二元交叉熵损失进行类预测。这种方法在处理存在重叠标签的数据集(如 Open Images Dataset)时更有效。
- 多尺度预测:在不同尺度上进行预测,以更好地检测不同大小的目标。
🍈YOLO 算法的优点包括
- 速度快:能够快速处理图像并实时给出检测结果。
- 全局特征推理:利用全局上下文信息,对背景的判断更准确。
- 泛化性较好:训练好的模型在新的领域或不期望的输入情况下仍有较好的效果。
🍈YOLO 算法的局限性包括
- 对小目标检测不够好:虽然 YOLO 系列算法在小目标检测方面相对其他一些算法有改进,但在检测极小目标时,仍可能出现误检或漏检的情况;
- 对密集目标检测效果欠佳:由于其采用网格化的方式进行检测,对于相互靠近或密集的目标,检测效果可能不太理想,容易造成重叠检测或遗漏检测;
- 对目标形状变化不太敏感:YOLO 算法通常采用固定大小的输入图像,对于形状变化较大或非正常宽长比的目标,其识别效果可能受到一定影响;
- 定位精度问题:YOLO 算法在损失函数中对大边框和小边框的误差同等对待,但实际上同一损失对于不同尺寸边框的交并比(IOU)影响不同,这可能导致定位误差较大;
- 每个网格单元的限制:每个格点单元仅预测固定数量的边界框,并且只能预测一类目标,具有较强的空间局限性,当同一单元格内存在多个物体的中心时,可能只检测出其中某一种;
- 分类精度有限:作为一种端到端的检测方法,其分类结果的精度可能不及专业的分类模型。
🍉 单发多框架检测SSD
SSD(Single Shot MultiBox Detector,单发多框检测器)是一种基于深度学习的目标检测算法,具有检测速度快、精度较高等优点。
🍈其主要流程如下
🍍特征提取
将输入的图像通过一个卷积神经网络(CNN)进行特征提取,得到一系列特征图。常用的基础网络可以是 VGG、ResNet 等。
🍍生成锚框
对于每个特征图上的每个位置,生成一组预测框(anchor boxes),这些预测框具有不同的宽高比和尺度。生成锚框时,会考虑多种尺度和长宽比,以适应不同形状和大小的目标。
🍍类别和边界框预测
- 类别卷积:把特征图放入单 CNN 卷积层,预测每个锚框的类别。使用卷积层的通道来表示类别预测,通道数为锚框数量乘以类别数加 1(包含背景类)。
- 边界框卷积:同样把特征图放入单 CNN 卷积层,预测每个锚框的边界框,用左上右下的 x、y 坐标表示边界框。输出通道数为锚框数量乘以 4。
🍍筛选和调整
根据预测结果进行筛选和调整,得到最终的检测结果。通过非极大值抑制(NMS)等方法移除相似的预测边界框,找到预测概率最大的边界框 B,并移除和 B 交并比大于某阈值的其他边界框,直到所有边界框都完成筛选。
🍈SSD 算法的一些优点包括
- 检测速度快:采用单发多框的检测方式,不需要像一些两阶段检测算法那样进行区域提议等复杂操作,提高了检测效率。
- 多尺度检测:在不同尺度的特征图上进行预测,能够较好地检测不同大小的目标。
- 精度较高:通过合理设置锚框和使用卷积进行预测,在保持一定检测速度的同时,也能获得较好的检测精度。
🍈SSD 算法的一些局限性包括
- 对小目标的检测效果仍有待提高:虽然它在多尺度检测方面有一定优势,但在检测极小目标时,可能还是会出现一些困难。
- 锚框的设计需要经验和技巧:锚框的尺度和长宽比等参数的选择对检测结果有较大影响,需要进行适当的调整和优化。
- 可能会产生一些冗余的预测框:由于生成的锚框数量较多,可能会存在一些不必要的预测框,需要通过后处理进行筛选。
🍉 示例
以下是一个基于 YOLOv3
的目标检测的简单示例代码
import torch
import cv2
import numpy as np# 加载预训练的 YOLOv3 模型
model = torch.hub.load('ultralytics/yolov3', 'yolov3')# 读取图像
image = cv2.imread('image.jpg')# 进行目标检测
results = model(image)# 解析检测结果
labels = results.pandas().xyxy[0]['name']
boxes = results.pandas().xyxy[0][['xmin', 'ymin', 'xmax', 'ymax']].values# 绘制检测框和标签
for label, box in zip(labels, boxes):xmin, ymin, xmax, ymax = boxcv2.rectangle(image, (int(xmin), int(ymin)), (int(xmax), int(ymax)), (0, 255, 0), 2)cv2.putText(image, label, (int(xmin), int(ymin) - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)# 显示结果
cv2.imshow('Detection Result', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
🍈代码分析
model = torch.hub.load('ultralytics/yolov3', 'yolov3')
:使用torch.hub
加载预训练的YOLOv3
模型。
cv2.imread('image.jpg')
:读取要进行目标检测的图像。
results = model(image)
:将图像输入模型进行检测,得到检测结果。解析结果部分,从
results
中提取出检测到的目标的标签和边界框坐标。通过循环,使用
cv2.rectangle
和cv2.putText
函数在图像上绘制检测框和标签。最后显示检测结果图像。
🍉总结
- 目标检测是计算机视觉领域的重要任务,旨在从图像或视频中准确识别和定位感兴趣的目标对象。
- 目标检测技术的发展经历了从传统方法到基于深度学习的方法的重大转变。传统方法通常基于手工设计的特征和分类器,如 Haar 特征、HOG 特征结合 SVM 等,但其检测精度和泛化能力相对有限。
- 随着深度学习的兴起,基于卷积神经网络(CNN)的目标检测算法取得了显著的成果。如 R-CNN 系列算法,引入了深度特征学习和区域建议的概念,大幅提高了检测精度。YOLO 和 SSD 等算法则采用单阶段检测方式,实现了更快的检测速度。
- 目标检测在众多领域有着广泛的应用,包括自动驾驶、安防监控、工业检测、医疗影像分析等。然而,目前的目标检测技术仍面临一些挑战,例如对小目标和密集目标的检测效果有待提升,在复杂场景下的准确性和鲁棒性需要增强,以及如何在保证精度的同时进一步提高检测速度以满足实时应用的需求。
- 未来,目标检测技术有望通过不断改进网络架构、融合多模态数据、优化训练策略等方式,取得更出色的性能,为各种实际应用提供更可靠和高效的解决方案。
相关文章:
![](https://img-blog.csdnimg.cn/direct/3eca7b02315b4eb1aecef7290e177399.png)
人工智能--目标检测
欢迎来到 Papicatch的博客 文章目录 🍉引言 🍉概述 🍈目标检测的主要流程通常包括以下几个步骤 🍍数据采集 🍍数据预处理 🍍特征提取 🍍目标定位 🍍目标分类 🍈…...
![](https://img-blog.csdnimg.cn/direct/6f1d546442ce42978515ec2c4c8fc2f7.png#pic_center)
Java基础之List实现类
文章目录 一、基本介绍二、常见方法三、ArrayList注意事项四、ArrayList底层结构我的理解 五、ArrayList扩容机制无参构造器有参构造器 六、LinkedList介绍底层操作机制 七、ArrayList 与 LinkedListArrayListLinkedList tip:以下是正文部分 一、基本介绍 List集合…...
![](https://www.ngui.cc/images/no-images.jpg)
java List接口介绍
List 是 Java 集合框架中的一个接口,它继承自 Collection 接口,代表一个有序的元素集合。List 允许重复的元素,并且可以通过索引来访问元素。Java 提供了多种 List 的实现,如 ArrayList、LinkedList、Vector 和 CopyOnWriteArrayList。 List接口概述 List 接口提供了一些…...
![](https://img-blog.csdnimg.cn/direct/4f82a942c1fc4437826af648a9f60491.png)
调度器APScheduler定时执行任务
APScheduler(Advanced Python Scheduler)是一个Python库,用于调度任务,使其在预定的时间间隔或特定时间点执行。它支持多种调度方式,包括定时(interval)、日期(date)和Cr…...
![](https://www.ngui.cc/images/no-images.jpg)
git合并分支的疑问
今天遇到一个奇怪的问题: 1、后端从master拉了三个分支。分别为dev、test、和stage。 2、研发1从dev拉了分支feature1,然后commit、commit、commit……。最后request merge到dev、test和stage。成功了。 3、研发2从dev拉了分支feature2,注意,feature2…...
![](https://img-blog.csdnimg.cn/direct/52761dea07064fbba4a356fb519327d8.png)
catia数控加工仿真Productlist无法添加部件或零件
这种情况是没有把NCSetup显示 在工具中勾选即可...
![](https://img-blog.csdnimg.cn/direct/29d9bc84b0f944728b6150817d13c24e.png)
关于Pycharm右下角不显示解释器interpreter的问题解决
关于Pycharm右下角不显示解释器interpreter的问题 在安装新的Pycharm后,发现右下角的 interpreter 的选型消失了: 觉得还挺不习惯的,于是网上找解决办法,无果。 自己摸索了一番后,发现解决办法如下: 勾…...
![](https://img-blog.csdnimg.cn/img_convert/7954eea19a2387e31f250b9cbebbb334.jpeg)
为什么word生成的PDF内容显示不全?
在现代办公环境中,将文档从一个格式转换为另一个格式是一个常见的任务。然而,有时候我们可能会遇到意想不到的问题,比如使用Word转换成PDF时,生成的PDF文件只显示了整个界面的四分之一内容。这种问题不仅令人困扰,也可…...
![](https://i-blog.csdnimg.cn/direct/92056a898ab94926a61babb0bf70d2f9.png)
JVM专题十三:总结与整理(持续更新)
图解JVM JVM与Java体系结构 JVM垃圾回收算法 JVM垃圾回收器 图解JVM主要是放了前面12个章节的我们给大家画的图,做了整体的汇总,大家可以根据图区回忆我们所说的内容,查缺补漏。 实战经验 1、项目中数据量多少,QPS与TPS最高多少…...
![](https://img-blog.csdnimg.cn/direct/be7f7b3a2848475ea2cf88f48036437c.png)
MobPush iOS端海外推送最佳实现
推送注册 在AppDelegate里进行SDK初始化(也可以在Info.plist文件中进行AppKey,AppSecret的配置)并对通知功能进行注册以及设置推送的环境和切换海外服务器等,参考如下步骤代码: <span style"background-colo…...
![](https://img-blog.csdnimg.cn/img_convert/2a01d5362ba902ca9b74440edba39e24.png)
商家团购app微信小程序模板
手机微信商家团购小程序页面,商家订餐外卖小程序前端模板下载。包含:团购主页、购物车订餐页面、我的订单、个人主页等。 商家团购app微信小程序模板...
![](https://www.ngui.cc/images/no-images.jpg)
探索AudioLM:音频生成技术的未来
目录 2. AudioLM的基础理论 2.1. 音频生成的基本概念 2.2. 语言模型在音频生成中的应用 2.3. 深度学习在音频生成中的作用 3. AudioLM的架构与实现 3.1. AudioLM的基本架构 3.1.1 编码器 3.1.2 解码器 3.1.3 生成模块 3.2. 训练过程 3.2.1 数据预处理 3.2.2 损失函…...
![](https://www.ngui.cc/images/no-images.jpg)
计算机视觉:深入了解图像分类、目标检测和图像分割的核心技术
计算机视觉是什么? 计算机视觉是一门致力于让计算机“看懂”图像和视频的技术,它旨在通过模拟人类视觉系统来理解和解释数字化视觉信息。这一领域涉及图像的获取、处理、分析和理解,最终用于从视觉数据中提取有用信息并做出决策。计算机视觉的…...
![](https://img-blog.csdnimg.cn/direct/eb1854aac4e748a88507a014f7060d2d.png#pic_center)
Django 安装 Zinnia 后出现故障
在Django中安装和配置Zinnia时遇到故障可能有多种原因,通常包括版本兼容性、依赖关系或配置问题。这里提供一些常见的解决方法和调试步骤,帮助大家解决问题。 首先,确保您安装的Zinnia版本与Django版本兼容。查看Zinnia的官方文档或GitHub页…...
![](https://img-blog.csdnimg.cn/direct/63cf5c003d954c66b340ddeb4951adf7.png)
.net 8 集成 MinIO文件存储服务,实现bucket管理,以及文件对象的基本操作
一、准备工作 1、本地部署MinIO服务 2、创建MinIO的Access Key 3、创建.net 项目 4、下载MinIO sdk 5、相关文档 二、编写MinIO工具类 三、管理存储桶 1、MyBucket类 (1)判断bucket是否存在 (2)新建bucket (…...
![](https://img-blog.csdnimg.cn/direct/d8bd74b4afc6408ca5cc471645fdf25c.png)
Three.js机器人与星系动态场景:实现3D渲染与交互式控制
内容摘要:使用Three.js库构建了一个交互式的3D场景。组件中创建了一个机器人模型,包括头部、眼睛、触角、身体和四肢,以及两个相同的机器人实例以实现动态效果。场景中还加入了粒子效果,模拟星系环境,增强了视觉效果。…...
![](https://img-blog.csdnimg.cn/direct/3d0f1a8322574e079f2180f4d87f1a46.png)
Android系统集成和使用FFmpeg
文章目录 前言FFmpeg源码下载交叉编译NDK下载x264编译源码下载编译 FFmpeg编译脚本 AOSP继承FFmpeg 前言 原生AOSP中并未继承FFmpeg,所以要想在android上使用,需要自己编译集成。 FFmpeg源码下载 git clone https://git.ffmpeg.org/ffmpeg.git目前最新…...
![](https://img-blog.csdnimg.cn/img_convert/850c57583520161c5fe9d7dbae3a2ef8.png)
水果商城外卖微信小程序模板
手机微信水果外卖,水果电商,水果商城网页小程序模板。包含:主页、列表页、详情页、购物车、个人中心。 水果商城外卖小程序模板...
![](https://www.ngui.cc/images/no-images.jpg)
【前端】面试八股文——输入URL到页面展示的过程
【前端】面试八股文——输入URL到页面展示的过程 1. DNS解析 当用户在浏览器中输入URL并按下回车时,首先需要将域名转换为IP地址,这个过程称为DNS(域名系统)解析。具体步骤如下: 浏览器缓存:浏览器首先检…...
![](https://img-blog.csdnimg.cn/direct/81b7b62bd03541ffb4c30d5cf44584e9.jpeg)
什么是应用安全态势管理 (ASPM):综合指南
软件开发在不断发展,应用程序安全也必须随之发展。 传统的应用程序安全解决方案无法跟上当今开发人员的工作方式或攻击者的工作方式。 我们需要一种新的应用程序安全方法,而ASPM在该方法中发挥着关键作用。 什么是 ASPM? 应用程序安全…...
![](https://img-blog.csdnimg.cn/1ad6529257fb4c7883c15b9611760259.jpg)
认识100种电路之耦合电路
在电子电路的世界中,耦合电路宛如一座精巧的桥梁,连接着各个功能模块,发挥着至关重要的作用。 【为什么电路需要耦合】 在复杂的电子系统中,不同的电路模块往往需要协同工作,以实现特定的功能。然而,这些模…...
![](https://www.ngui.cc/images/no-images.jpg)
c++【入门】三数的乘积
限制 时间限制 : 1 秒 内存限制 : 128 MB 题目 你已经学了一些程序的输入,这次,你需要在没有老师的任何帮助下完成这次的任务啦。这次任务,我们要读入三个整数,并且计算它们的乘积。 这是一个非常简单的题目,意在…...
![](https://www.ngui.cc/images/no-images.jpg)
C++实现简化版Qt的QObject(4):增加简单实用的事件机制
前面的文章已经实现了许多QObject的功能了: C实现一个简单的Qt信号槽机制 C实现简化版Qt信号槽机制(2):增加内存安全保障 C实现简化版Qt的QObject(3):增加父子关系、属性系统 但是,…...
![](https://img-blog.csdnimg.cn/direct/16011af504a0444d83e986bc620c890f.png)
JTracker IDEA 中最好的 MyBatis 日志格式化插件
前言 如果你使用 MyBatis ORM 框架,那么你应该用过 MyBatis Log 格式化插件,它可以让我们的程序输出的日志更人性化。 但是有一个问题,通常我们只能看到格式化后的效果,没办法知道这个 SQL 是谁执行的以及调用的链路。 如下图所…...
![](https://img-blog.csdnimg.cn/direct/bd38b37419d7498dba72e8329239e779.jpeg)
物联网工业级网关解决方案 工业4G路由器助力智慧生活
随着科技的飞速发展,无线通信技术正逐步改变我们的工作与生活。在这个智能互联的时代,一款高性能、稳定可靠的工业4G路由器成为了众多行业不可或缺的装备。工业4G路由器以其卓越的性能和多样化的功能,助力我们步入智慧新纪元。 一、快速转化&…...
![](https://img-blog.csdnimg.cn/img_convert/ba72a63b3c0d0f4f681c83669471ef4d.gif)
IoTDB Committer+Ratis PMC Member:“两全其美”的秘诀是?
IoTDB & Ratis 双向深耕! 还记得一年前我们采访过拥有 IoTDB 核心研发 Ratis Committer “双重身份”的社区成员宋子阳吗?(点此阅读) 我们高兴地发现,一年后,他在两个项目都更进一步,已成为…...
![](https://www.ngui.cc/images/no-images.jpg)
【链表】- 移除链表元素
1. 对应力扣题目连接 移除链表元素 2. 实现案例代码 public class RemoveLinkedListElements {public static void main(String[] args) {// 示例 1ListNode head1 new ListNode(1, new ListNode(2, new ListNode(6, new ListNode(3, new ListNode(4, new ListNode(5, new …...
![](https://img-blog.csdnimg.cn/direct/c5f28230653b4b428132cead41ee560f.png)
云原生之使用Docker部署RabbitMQ消息中间件
云原生之使用Docker部署RabbitMQ消息中间件 一、RabbitMQ介绍1.1 RabbitMQ简介1.2 RabbitMQ特点1.3 RabbitMQ使用场景 二、检查Docker环境2.1 检查Docker版本2.2 检查操作系统版本2.3 检查Docker状态 三、下载RabbitMQ镜像四、部署RabbitMQ服务4.1创建挂载目录4.2 运行RabbitMQ…...
![](https://img-blog.csdnimg.cn/direct/a84e7387105f413298caee4a1d7d561a.png)
opengl箱子的显示
VS环境配置: /JMC /ifcOutput "Debug\" /GS /analyze- /W3 /Zc:wchar_t /I"D:\Template\glfwtemplate\glfwtemplate\assimp" /I"D:\Template\glfwtemplate\glfwtemplate\glm" /I"D:\Template\glfwtemplate\glfwtemplate\LearnOp…...
![](https://img-blog.csdnimg.cn/direct/6eae6c12c8ba4031993a621b1381b2a2.png)
Oracle 视图、存储过程、函数、序列、索引、同义词、触发器
优质博文:IT-BLOG-CN 一、视图 从表中抽出的逻辑上相关的数据集合,视图是一种虚表,视图是建立在已有表的基础之上,视图赖以建立的这些表称为基表。向视图提供数据的是 SELECT语句,可以将视图理解为存储起来的SELECT语…...
![](https://csdnimg.cn/release/blog_editor_html/release2.3.6/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=N7T8)
网站被浏览器提示“不安全”的解决办法
在互联网时代,网站的安全性直接关系到用户体验和品牌形象。当用户访问网站时,如果浏览器出现“您与此网站之间建立的连接不安全”的警告,这不仅会吓跑潜在客户,还可能对网站的SEO排名造成等负面影响。 浏览器发出的“不安全”警告…...
![](https://www.ngui.cc/images/no-images.jpg)
typescript定义函数的传参、返回值
Render 函数中定义函数传参 interface List {id: number;name: string; }interface Result {data: List[]; //表示由 List 接口组成的数组 }function Render(result: Result) {result.data.forEach(value > {console.log(value);}); }let result {data: [{id: 1,name: 张三…...
![](https://img-blog.csdnimg.cn/direct/ffb730552fd24c4fb3b1854a7cc6fd5e.png)
GlimmerHMM安装与使用-生信工具24
GlimmerHMM 01 概述 GlimmerHMM是一种基于广义隐马尔科夫模型(GHMM)的新型基因预测工具。虽然该基因预测工具符合GHMM的总体数学框架,但它还结合了从GeneSplicer程序中改编的剪接位点模型。可变长度的特征状态(例如外显子、内含…...
![](https://www.ngui.cc/images/no-images.jpg)
Elasticsearch架构基本原理
Elasticsearch的架构原理可以详细分为以下几个方面进行介绍: 一、Elasticsearch基本概念 Elasticsearch(简称ES)是一个基于Lucene构建的开源、分布式、RESTful搜索和分析引擎。它支持全文搜索、结构化搜索、半结构化搜索、数据分析、地理位…...
![](https://img-blog.csdnimg.cn/direct/97344cd6330b4ac88c21ddd2f464fc18.png)
STM32自己从零开始实操08:电机电路原理图
一、LC滤波电路 其实以下的滤波都可以叫低通滤波器。 1.1倒 “L” 型 LC 滤波电路 1.1.1定性分析 1.1.2仿真实验 电感:通低频阻高频的。仿真中高频信号通过电感,因为电感会阻止电流发生变化,故说阻止高频信号 电容:隔直通交。…...
![](https://img-blog.csdnimg.cn/direct/b93c8c358e214acca166d09574372450.png)
无线物联网练习题
文章目录 选择填空简答大题 选择 不属于物联网感知技术的是(A) A:ZigBee B:红外传感器 C:FRID D:传感器 ZigBee是一种无线通信技术,虽然它常用于物联网中作为设备之间的通信手段,但它本身并不是一种感知技术 关于物联网于与互联网的区别的描述ÿ…...
![](https://img-blog.csdnimg.cn/direct/220f1ac732c846eeabbbbf506b8c0e87.png)
Java的日期类常用方法
Java_Date 第一代日期类 获取当前时间 Date date new Date(); System.out.printf("当前时间" date); 格式化时间信息 SimpleDateFormat simpleDateFormat new SimpleDateFormat("yyyy-mm-dd hh:mm:ss E); System.out.printf("格式化后时间" si…...
![](https://www.ngui.cc/images/no-images.jpg)
数据库设计规范详解
一、为什么需要数据库设计 1、我们在设计数据表的时候,要考虑很多问题。比如: (1) 用户都需要什么数据?需要在数据表中保存哪些数据? (2) 如何保证数据表中数据的 正确性,当插入、删除、更新的时候该进行怎样的 约束检査 ?. (3) 如何降低数据表的 数据…...
![](https://img-blog.csdnimg.cn/direct/8ff6b161e09946d887c2cc504f6c931b.jpeg)
Android12 MultiMedia框架之MediaExtractorService
上节学到setDataSource()时会创建各种Source,source用来读取音视频源文件,读取到之后需要demux出音、视频、字幕数据流,然后再送去解码。那么负责进行demux功能的media extractor模块是在什么时候阶段创建的?这里暂时不考虑APP创建…...
![](https://img-blog.csdnimg.cn/img_convert/a376eff516ecc907b32dd178ccb1d19a.png)
Chapter 8 Feedback
Chapter 8 Feedback 这一章我们介绍feedback 反馈运放的原理. 负反馈是模拟电路强有力的工具. 8.1 General Considerations 反馈系统如下图所示 Aolamp open-loop gain即开环增益. Aolxo/xi β \beta β 是 feedback factor, 注意方向. β x f x o \beta\frac{x_{f}}{x_{o…...
![](https://img-blog.csdnimg.cn/direct/bc4dc3a73794444aa4d3a97c667162ba.jpeg)
Administrators就最高了???system是什么??本地用户提权内网学习第三天 你知道uac是什么??
我们今天来说说本地用户提权的操作,我们在有webshell过后我们要进行进一步的提权操作,要不然对我们后期的内网渗透会有一些阻碍的操作。比如说我们使用mimikatz来进行抓取密码,就不能够成功。 Administrators与system的区别 我们来说说Admin…...
![](https://img-blog.csdnimg.cn/direct/3d1779a100354dacadc4882a80bb5eb2.png)
回溯 | Java | LeetCode 39, 40, 131 做题总结(未完)
Java Arrays.sort(数组) //排序 不讲究顺序的解答,都可以考虑一下排序是否可行。 39. 组合总和 错误解答 在写的时候需要注意,sum - candidates[i];很重要,也是回溯的一部分。 解答重复了。是因为回溯的for循环理解错了。 class Solutio…...
![](https://img-blog.csdnimg.cn/direct/791539cb67934e11ab8bfa7e2f6f55fd.png)
Linux系统上部署Whisper。
Whisper是一个开源的自动语音识别(ASR)模型,最初由OpenAI发布。要在本地Linux系统上部署Whisper,你可以按照以下步骤进行: 1. 创建虚拟环境 为了避免依赖冲突,建议在虚拟环境中进行部署。创建并激活一个新…...
![](https://img-blog.csdnimg.cn/direct/5ed1a79c403b4fd68b8b13234d159d2d.png)
申请一张含100个域名的证书-免费SSL证书
挑战一下,申请一张包含100个域名的证书 首先,我们访问来此加密网站,进入登录页面,输入我的账号密码。 登录后,咱们就可以开始申请证书,首先说一下,咱账号是SVIP哦,只有SVIP才可以申…...
![](https://img-blog.csdnimg.cn/img_convert/22893cd28bd016dddba5f947fdce0eda.jpeg)
爬数据是什么意思?
爬数据的意思是:通过网络爬虫程序来获取需要的网站上的内容信息,比如文字、视频、图片等数据。网络爬虫(网页蜘蛛)是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。 学习一些爬数据的知识有什么用呢&#x…...
![](https://img-blog.csdnimg.cn/direct/79724c0827f24669ae30102f6d9a0990.png)
Pytorch实战(二)
文章目录 前言一、LeNet5原理1.1LeNet5网络结构1.2LeNet网络参数1.3LeNet5网络总结 二、AlexNext2.1AlexNet网络结构2.2AlexNet网络参数2.3Dropout操作2.4PCA图像增强2.5LRN正则化2.6AlexNet总结 三、LeNet实战3.1LeNet5模型搭建3.2可视化数据3.3加载训练、验证数据集3.4模型训…...
![](https://img-blog.csdnimg.cn/img_convert/387f70fb1a6e1e327b93e73120a006a9.png)
wordpress 付费主题modown分享,可实现资源付费
该主题下载地址 下载地址 简介 Modown是基于Erphpdown 会员下载插件开发的付费下载资源、付费下载源码、收费附件下载、付费阅读查看隐藏内容、团购下载的WordPress主题,一款针对收费付费下载资源/付费查看内容/付费阅读/付费视频/VIP会员免费下载查看/虚拟资源售…...
![](https://www.ngui.cc/images/no-images.jpg)
【INTEL(ALTERA)】NIOS II调试器中的重新启动按钮不起作用
目录 说明 解决方法 说明 在 Nios II SBT 调试Eclipse时,如果单击 重新启动 图标, 执行被暂停, 以下错误消息: Dont know how to run. Try "help target." 解决方法 终止程序,再次下载,并启…...
![](https://www.ngui.cc/images/no-images.jpg)
Hive On Spark语法
内层对象定义之特殊数据类型 Array DROP TABLE IF EXISTS test_table_datatype_array; CREATE TABLE test_table_datatype_array (ids array<INT> ) LOCATION test/test_table_datatype_array;SELECTnames,names[1]array(names[2],names[3])names[5],names[-1],array_c…...
![](https://www.ngui.cc/images/no-images.jpg)
利用 fail2ban 保护 SSH 服务器
利用 fail2ban 保护 SSH 服务器 一、关于 fail2ban1. 基本功能与特性2. 工作原理 二、安装与配置1. Debian/Ubuntu系统:2. CentOS/RHEL系统: 三、保护 SSH四、启动 fail2ban 服务五、测试和验证六、查看封禁的 IP 地址七、一些配置八、注意事项 作者&…...
![](https://www.ngui.cc/images/no-images.jpg)
c++ primer plus 第15章友,异常和其他:嵌套类15.2
c primer plus 第15章友,异常和其他:嵌套类15.2 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:c primer plus 第15章友,异常和其他:嵌套类15.2 提示:写完文…...
![](https://www.ngui.cc/images/no-images.jpg)
【面试题】Reactor模型
Reactor模型 定义 Reactor模型是一种事件驱动的设计模式,用于处理服务请求。它通过将事件处理逻辑与事件分发机制解耦,实现高性能、可扩展的并发处理。Reactor模型适用于高并发、事件驱动的程序设计,如网络服务器等。 特点 事件驱动&#…...
![](https://img-blog.csdnimg.cn/direct/a152f81063dc432dbdabacfb0099997e.png)
SpringMVC:SpringMVC执行流程
文章目录 一、介绍二、什么是MVC 一、介绍 Spring MVC 是一种基于Java的Web框架,它采用了MVC(Model - View - Controller)设计模式,通过吧Model、View和Controller分离,将Web层进行职责解耦,把复杂的Web应…...
![](https://img-blog.csdnimg.cn/direct/6e7be79efc2c4edcb8a941181a9919d6.png)
带有网站和 PHP 后端的占星咨询应用程序 | 包括聊天、音频视频通话源码
我们的应用程序基于 Astrotalk、Guruji 等热门业务,这些业务已经在市场上取得成功。 我们的应用程序配备了用 Laravel 开发的功能齐全的后端,Laravel 是一种广泛使用的基于 PHP 的 Web 应用程序框架。 总的来说,我们的新占星术应用程序对于…...
![](https://www.ngui.cc/images/no-images.jpg)
BDD 100K dataset 的标签数据结构(json文件)
最近在筛选自己需要的labels,所以要弄清楚这个数据集的数据结构才行: 1.整个json文件以列表形式储存 2.每张图片以一个字典形式储存 3.存储图片的字典内的以‘name’为key的键值对对应的‘value’是我需要的图片名称信息 4.存储图片的字典内的以‘label…...
![](https://img-blog.csdnimg.cn/img_convert/c2c9bf59098f3414ae6eaf3b5023007e.png)
VRPTW(MATLAB):常春藤算法(IVY)求解带时间窗的车辆路径问题VRPTW,MATLAB代码
详细介绍 VRPTW(MATLAB):常春藤算法(Ivy algorithm,IVY)求解带时间窗的车辆路径问题VRPTW(提供MATLAB代码)-CSDN博客 ********************************求解结果******************…...
![](https://img-blog.csdnimg.cn/img_convert/a168b5f7dbfac741e06bcbfb14618491.png)
香港优才计划找中介是否是智商税,靠谱中介又该如何找?
关于香港优才计划的申请,找中介帮助还是自己DIY,网络上充斥的声音太多,对不了解的人来说,难以抉择的同时还怕上当受骗。 这其中很容易误导人的关键在于——信息差! 今天这篇文章的目的就是想让大家看清一些中介和DIY…...
![](https://img-blog.csdnimg.cn/direct/1fd9fb96ae60435f89737e98121ffafd.png)
Python OCR 文字识别使用模型:读光-文字识别-行识别模型-中英-通用领域
介绍 什么是OCR? OCR是“Optical Character Recognition”的缩写,中文意为“光学字符识别”。它是一种技术,可以识别和转换打印在纸张或图像上的文字和字符为机器可处理的格式,如计算机文本文件。通过使用OCR技术,可…...
![](https://img-blog.csdnimg.cn/img_convert/53a9b157865b410084c5031b26902b4a.png)
Python--List列表
list列表⭐⭐ 1高级数据类型 Python中的数据类型可以分为:数字型(基本数据类型)和非数字型(高级数据类型) ●数字型包含:整型int、浮点型float、布尔型bool、复数型complex ●非数字型包含:字符…...
![](https://www.ngui.cc/images/no-images.jpg)
习近平将出席中国—阿拉伯国家合作论坛第十届部长级会议开幕式并发表主旨讲话
新华社北京5月26日电 外交部发言人华春莹26日宣布:经中阿双方共同商定,中国—阿拉伯国家合作论坛第十届部长级会议将于5月30日在北京举行。国家主席习近平将出席会议开幕式并发表主旨讲话。中共中央政治局委员、外交部长王毅将同阿方主席、毛里塔尼亚外长马尔祖克共同主持会议…...
![](https://img-blog.csdnimg.cn/direct/435dbcdf0afe4602b39188d6650fac5e.png)
git教程(IDEA + 命令行)
首先假设你已经安装 git 且 已经初始化完成: // 初始化git config --global user.name "你的用户名" git config --global user.email "你的邮箱"在当前文件夹下创建一个仓库,且该文件夹下会有多个项目 首先在当前文件夹下新建git…...
![](https://img-blog.csdnimg.cn/direct/9d27ad6e72434e3da6d1a332bd4a6fa3.png)
景源畅信电商:做抖音运营怎么开始第一步?
在数字化时代的浪潮中,抖音作为一款短视频平台迅速崛起,成为许多人表达自我、分享生活的重要舞台。随着用户量的激增,如何做好抖音运营,尤其是迈出成功的第一步,成为了众多内容创作者和品牌主们关注的焦点。接下来&…...