//Description: Yolo目标检测网络学习笔记。记录在学习Yolo过程中遇到的问题。Yolo网络分为三部分:主干网络、颈部网络和检测头。主干网络VGG->ResNet->DarkNet->MobileNet->ShuffleNet用于提取出图像中的特征信息。颈部网络SPP->SDD->FPN。检测头MLP->CNN->DETR。
//Create Date: 2024-04-03 09:38:39
//Author: channy
[toc]
用于提取出图像中的特征信息
把图像分割成SxS的网格进行检测
图像 -> 特征提取 -> 特征图 -> 语义提取 -> 语义压缩 -> 通信调制/解调
基于连续相同像素值的重复序列进行压缩。将重复的像素值替换为一个计数值和相应的像素值,从而减少数据量。
对于具有大量连续重复数据的图像,压缩率较高,可能达到 30% - 50%;但对于复杂、重复性小的图像,压缩率提升有限,可能仅有 5% - 10%。
一种字典压缩算法,常用于 GIF 图像格式。它通过建立一个编码字典,将经常出现的模式用短的编码表示。在视频压缩中,可以对视频的某些数据模式进行类似的处理,以实现无损压缩。
通常比游程编码的压缩率更高,对于各种类型的图像都有较好的适应性。对于文本类图像或具有一定规律性图案的图像,LZW 编码可以充分利用数据中的重复模式进行压缩,压缩率可能在 30% - 60% 左右;对于一般的图像,也能有 10% - 30% 的压缩效果。
根据符号出现频率进行变长编码,出现频率高的符号用较短的编码表示,出现频率低的符号用较长的编码表示,从而减少整体编码长度。在视频压缩中,可对经过其他处理后的数据进行进一步的无损压缩。
压缩率较高,在保持一定图像质量的前提下,压缩率可根据需求进行调整。一般来说,中等质量的 JPEG 图像压缩率可以达到 50% - 80%。例如,一张原始大小为 1MB 的图像,使用 JPEG 压缩后,文件大小可能在 200KB - 500KB 之间。如果对图像质量要求不高,采用较低的质量参数,压缩率甚至可以更高,但图像质量会明显下降。
相比 JPEG 算法,JPEG2000 在相同图像质量下压缩率更高,大约能高出 20% - 30%。其采用离散小波变换,能够更好地保留图像的细节信息,对于复杂的图像,尤其是包含大量纹理和细节的图像,具有更好的压缩效果。在有损压缩模式下,JPEG2000 的压缩率可以达到 60% - 90% 。
号称可以在保证高质量图像的前提下,提供比现有方法更优的压缩率,最高可提升 35%。在一些测试中,它在较低的比特率下能提供比传统 JPEG 编码器更好的图像质量
应用非常广泛的视频压缩标准,具有较高的压缩效率和良好的视频质量。它采用了帧内预测、帧间预测、整数离散余弦变换、熵编码等多种技术,能够有效地去除视频中的冗余信息。例如,在网络视频、高清电视、视频监控等领域广泛应用,在相同视频质量下,其码率相比其他一些早期标准更低。
是在 H.264 基础上进一步发展的视频压缩标准,压缩效率更高,能在更低的码率下提供更高质量的视频。H.265 引入了更灵活的编码结构、更先进的预测技术和改进的熵编码等,不过其计算复杂度也相对较高,对硬件设备的性能要求也更高。常用于 4K、8K 超高清视频的传输和存储等场景。
不仅可以对视频进行高效压缩,还支持对音频、文本等多种媒体类型的集成和同步。它定义了多种编码工具和算法,如形状编码、纹理编码、运动补偿等,适用于各种多媒体应用,如在线视频、数字电视、移动多媒体等。
AV1 是开放媒体联盟(AOMedia)推出的一种免版税的视频编码格式。它在提供高压缩率的同时,能保持较好的视频质量。AV1 采用了更先进的编码技术,例如多方向预测、更精细的分块划分、自适应量化等,能够更有效地去除视频中的冗余信息。
全称为多功能视频编码(Versatile Video Coding),是新一代的视频编码标准。相比之前的 H.265/HEVC 标准,VVC 在压缩效率上有了显著提升,能够在相同视频质量下将码率降低约 50%。它引入了更多先进的编码工具,如基于子块的变换、更灵活的运动补偿、改进的熵编码等,从而可以更精确地表示视频内容,减少数据量。
基本视频编码(Essential Video Coding)是由 MPEG 组织制定的一种视频编码标准。EVC 分为两个层级:基本层和增强层。基本层是一种低复杂度、高效率的编码方式,适用于对计算资源和带宽有限的设备;增强层则可以提供更高的视频质量和压缩效率,可根据不同的应用需求进行选择。EVC 在保证一定压缩性能的前提下,降低了编码的复杂度和专利费用。
低复杂度增强视频编码(Low Complexity Enhancement Video Coding)是一种基于分层编码的技术。它将视频信号分为基层和增强层,基层使用传统的视频编码标准进行编码,增强层则通过添加额外的信息来提高视频质量和压缩效率。LCEVC 的优点是可以在不改变现有视频编码基础设施的情况下,提高视频的压缩性能,同时降低计算复杂度和编码延迟。
FCN(Fully Convolutional Networks):
优点:可以接受任意尺寸的输入图像,能实现端到端训练,避免了预处理和后处理的麻烦,并且在推理和训练时比较高效。它是语义分割领域的开创性算法,为后续的研究提供了重要的思路。
缺点:由于多次卷积和池化操作,会丢失一些细节信息,导致对边界和小物体的分割效果较差。
适用场景:适用于对实时性要求较高,且对分割精度要求不是特别严苛的场景,比如一些简单场景的快速分割。
U-Net:
优点:采用编码器 - 解码器结构和跳跃连接,能很好地融合低层次的细节信息和高层次的语义信息,在边界和小物体的分割上表现出色。对于数据量有限的情况,也能取得较好的效果。
缺点:计算复杂度相对较高,训练和推理时间较长。
适用场景:常用于生物医学图像分割、卫星图像分割、工业瑕疵检测等领域,特别是在训练数据相对较少的情况下。
PSPNet(Pyramid Scene Parsing Network):
优点:通过金字塔池化模块,能够有效地获取不同尺度的上下文信息,对于复杂场景的分割效果较好,对图像的全局语义理解更深入,分割精度较高。
缺点:计算量较大,模型的训练和推理速度较慢,对计算资源的要求较高。
适用场景:适用于场景复杂、需要考虑全局信息的语义分割任务,如城市街道场景、自然景观场景等。
Deeplab:
优点:利用空洞卷积在不增加计算量的情况下扩大感受野,能够更好地获取图像的上下文信息,对于大尺寸物体或需要全局信息的分割任务有较好的表现。其多尺度分割能力也较强,可以适应不同大小和形状的物体。
缺点:空洞卷积可能会导致网格伪影问题,影响分割的视觉效果和准确性;训练难度相对较大。
适用场景:在对图像的全局语义理解要求较高,且对分割精度有较高要求的场景中应用广泛,如自动驾驶中的场景分割等。
ICNet:
优点:针对高分辨率图像的语义分割问题,采用级联的图像输入和特征融合方式,能够在保证一定分割精度的前提下,实现实时的语义分割,对于计算资源和处理速度有要求的场景具有重要意义。
缺点:与一些精度较高的语义分割算法相比,其分割精度可能会稍微低一些。
适用场景:适用于对实时性要求非常高的场景,如视频监控、自动驾驶的实时感知等。
ERFNet(Efficient Residual Factorized Network):
优点:采用高效的残差分解卷积结构,在减少计算量和参数量的同时,能够保持较高的分割精度,计算效率较高,对资源受限的设备友好。
缺点:在对复杂语义信息的理解和处理能力上可能相对较弱,Si特征表达能力可能不如一些更复杂的算法。
适用场景:适用于资源受限的设备或需要快速处理的场景,如嵌入式设备、移动设备等。
EfficientAD 模型30+M,样例同时依赖MVTec和ImageNet数据集