热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

mgn93ch/a,上银轨道mgn12

3个模块的意思是表示3个分支共享网络,前三层这三个分支是共享的,到第四层时分成三个支路,第一个支路是global的分支,第二个是part-2的分支,第三个是part-3


MGN网络详情及代码分析


最近,云阅读了科技最新的REID相关论文和相关的博客和代码。 算法基于MGN。 对于网络部分,在这里记录自己的学习笔记。


以下是我参考的博客和代码网站


博客: https://blog.csdn.net/gavinmiaoc/article/details/80840193


代码: https://github.com/Gavin 666 github/Reid-mgn


以下内容主要是对论文、博客及代码的学习心得


一、我们先来看看网络结构


网络结构从左到右,首先输入两个人的图像,这里有三个模块。 三个模块意味着三个分支共享网络,前三个分支是共享的,分支到第四个是三个分支,第一个分支是global分支,第二个是part-2分支,第三个是part-3分支。 在global的地方有两个区块,右侧的区块比左侧的区块缩小了约两倍。 (124 )、由于下采样,下两个分支没有下采样,因此第四层和第五层的特征图大小相同) 248 )。


接下来,我们来看看图中黄色部分的区域。 网络对part-2和part-3进行自上而下的纵向分割,part-2在第5层特征图像上分为2部分,part-3从上而下分为3部分。 分割完成后,使用Max-pooling获得2048个向量。


接下来,我们来看看具体是怎么操作的。 部件2和部件3的操作与global不同。 part-2有两个pooling,第一个pooling支持Zg p2 (蓝色长条),通过248大小的卷积核直接对第五层特征图进行最大池化生成112048。第二个pooling的将其分解为两个112048的向量,对应于图的part-2中两个连接的长条形。 浅蓝色这个地方呈小方体,大小为11256。 最近在降低维度,从2048维度制作256维度。 主要是为了使特征计算变得容易。 那样更快更有效。


我们在测试的时候在浅蓝色的地方。 小方块从上到下应该有8个。 将这8个256维的特征连接成一个2048的特征,用这个特征代替以前输入的图像。


接下来,我们来对应程序的网络部分进行看看。


二、请看主程序部分(mgn.py )


1.


此部分是引用的相关库


2.


第一条语句是将我们的数据集market-1501的地址指定给root


第二条语句是关于线程的,但在此不进行管理


3.


在这里开始定义MGN网络。 首先来看看_init_函数。 MGN网络的前3层和resnet-50的网络的前3层基本一致,因此MGN网络的前3层可以直接使用resnet-50的前3层网络。


4.


此时,我们的输入图像将采取三种不同的处理方式。 这三种不同处理方式的共同点是通过resnet-50的前三层。 第一种处理方式称为global,代码中的res_g_conv5是这种处理方式的第4层处理,但这种方式的第4层处理与resnet-50相同,因此直接调用。 并且,两组不进行下采样,为了使第五层特征图和第四层特征图的大小均保持在248,进行了上述处理。


但是,由于该网络的结构并不是重点,而是重点如何调用该网络,进行行人的跟踪和识别,所以我们重点研究网络的输出部分。


5.


此处对应于上图所述的最大池化和降维操作


6.


这里对应的部分,将得到的8个256维向量经过全部连接层,变更为识别维数,与损失函数softmax loss对应。


7.


ZG_p1(112048 )、ZG_p2 ) 212048 )、ZG_p3 ) 312048 )分别对应于淡黄色部分被最大化的蓝色2048的矢量


z0_P2、z1_p2、z0_p3、z1_p3、z2_p3分别是p2和P3分离的部分,对应于图中淡黄色部分的其他向量。


8.


该网络的输出由若干部分组成,最主要的部分是与从网络输出的图像对应的特征图像predict,该特征图像与8个子图像(蓝色部分,分别进行降维后产生的fg_p1、fg_p2、fg _ PICT )进行比较


新人第一次发送了CSDN博客。 如果有错误的地方,欢迎您的指导。


推荐阅读
  • 三角测量计算三维坐标的代码_双目三维重建——层次化重建思考
    双目三维重建——层次化重建思考FesianXu2020.7.22atANTFINANCIALintern前言本文是笔者阅读[1]第10章内容的笔记,本文从宏观的角度阐 ... [详细]
  • 负载均衡基础概念与技术解析
    随着互联网应用的不断扩展,用户流量激增,业务复杂度显著提升,单一服务器已难以应对日益增长的负载需求。负载均衡技术应运而生,通过将请求合理分配到多个服务器,有效提高系统的可用性和响应速度。本文将深入探讨负载均衡的基本概念和技术原理,分析其在现代互联网架构中的重要性及应用场景。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 在OpenShift上部署基于MongoDB和Node.js的多层应用程序
    本文档详细介绍了如何在OpenShift 4.x环境中部署一个包含MongoDB数据库和Node.js后端及前端的多层应用程序。通过逐步指导,读者可以轻松完成整个部署过程。 ... [详细]
  • 通过将常用的外部命令集成到VSCode中,可以提高开发效率。本文介绍如何在VSCode中配置和使用自定义的外部命令,从而简化命令执行过程。 ... [详细]
  • MATLAB实现Sobel边缘检测算法
    图像边缘是指图像中灰度值发生显著变化的区域。Sobel算子是一种常用的边缘检测方法,通过计算图像灰度值的梯度来检测边缘。本文介绍了Sobel算子的基本原理,并提供了基于MATLAB的实现代码。 ... [详细]
  • Flutter 开发中集成极光推送的详细步骤
    本文详细介绍了如何在 Flutter 项目中集成极光推送服务,包括配置和测试的具体步骤。 ... [详细]
  • Visual Studio Code (VSCode) 是一款功能强大的源代码编辑器,支持多种编程语言,具备丰富的扩展生态。本文将详细介绍如何在 macOS 上安装、配置并使用 VSCode。 ... [详细]
  • async/await 是现代 JavaScript 中非常强大的异步编程工具,可以极大地简化异步代码的编写。本文将详细介绍 async 和 await 的用法及其背后的原理。 ... [详细]
  • 使用 SourceTree 管理 SVN 代码仓库的详细指南
    SourceTree 是一款功能强大的 Git 管理工具,但很多人不知道它同样支持管理 SVN 代码仓库。本文将详细介绍如何使用 SourceTree 来管理和操作 SVN 代码仓库。 ... [详细]
  • 最详尽的4K技术科普
    什么是4K?4K是一个分辨率的范畴,即40962160的像素分辨率,一般用于专业设备居多,目前家庭用的设备,如 ... [详细]
  • 大家好,我是李白。本文将分享一个从零开始的全栈项目,涵盖了设计、前端、后端和服务端的全面学习过程。通过这个项目,我希望能够帮助初学者更好地理解和掌握全栈开发的技术栈。 ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • 深入解析OSI七层架构与TCP/IP协议体系
    本文详细探讨了OSI七层模型(Open System Interconnection,开放系统互连)及其与TCP/IP协议体系的关系。OSI模型将网络通信过程划分为七个层次,每个层次负责不同的功能,从物理层到应用层逐步实现数据传输和处理。通过对比分析,本文揭示了OSI模型与TCP/IP协议在结构和功能上的异同,为理解现代网络通信提供了全面的视角。 ... [详细]
author-avatar
HelloMsLin你好_林小姐
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有