NoRM

mmdetection 配置文件解读

时光怂恿深爱的人放手 提交于 2020-11-21 04:09:15
mmdetection 详细解读: https://blog.csdn.net/syysyf99/article/details/96574325 简介 faster_rcnn_r50_fpn_1x.py配置文件 cascade_rcnn_r50_fpn_1x.py配置文件 一、简介 在使用mmdetection对模型进行调优的过程中总会遇到很多参数的问题,不知道参数在代码中是什么作用,会对训练产生怎样的影响,这里我以faster_rcnn_r50_fpn_1x.py和cascade_rcnn_r50_fpn_1x.py为例,简单介绍一下mmdetection中的各项参数含义 二、faster_rcnn_r50_fpn_1x.py配置文件 首先介绍一下这个配置文件所描述的框架,它是基于resnet50的backbone,有着5个fpn特征层的faster-RCNN目标检测网络,训练迭代次数为标准的12次epoch,下面逐条解释其含义 # model settings model = dict( type='FasterRCNN', # model类型 pretrained='modelzoo://resnet50', # 预训练模型:imagenet-resnet50 backbone=dict( type='ResNet', # backbone类型 depth=50, #

首提跨模态代码匹配算法,腾讯安全科恩实验室论文入选国际AI顶会NeurIPS-2020

蹲街弑〆低调 提交于 2020-11-03 20:52:42
人工智能领域顶级学术会议NeurIPS 2020(Neural Information Processing Systems)将于12月7日-12日在线上举行。在近日NeurIPS正式发布的论文入选名单中,腾讯安全科恩实验室聚焦利用AI算法解决二进制安全问题的《CodeCMR: Cross-Modal Retrieval For Function-Level Binary Source Code Matching》,凭借首次提出基于AI的二进制代码/源代码端到端匹配算法的创新研究成功入选,揭示了“AI+安全”领域的又一突破探索。 作为国际机器学习和计算神经科学领域公认最具影响力的顶级会议之一,NeurIPS汇集了时下人工智能和自然神经信息处理等领域最前沿的科研成果,被中国计算机学会 (CCF)推荐为A类Top会议,每年都能吸引来自全世界AI领域的研究者参会和进行前沿成果分享。 新一代信息技术的“爆发式”普及应用,在造就更为广阔数字空间版图的基础上,也带来了更为瞬息万变的网络威胁态势。AI技术以其在数据分析、知识提取、智能决策等方面的独有优势,已成为近年来网络安全寻求创新突破的重要探索方向。据Gartner预测,到2020年,人工智能在网络安全领域应用比例将由10%上升为40%。 安全系统的部署、响应的效率及准确性直接关乎其防护的有效性,而从计算机系统的最基础层上看

用BERT夺腾讯广告算法大赛50万元大奖,这是冠军团队的解决方案

爷,独闯天下 提交于 2020-10-27 07:28:30
  机器之心报道    编辑:小舟、蛋酱    这三位程序员,用 BERT 捧走了 50 万人民币的高额奖金。   8 月 3 日,一年一度的腾讯广告算法大赛在深圳腾讯滨海大厦举办。   一直以来,腾讯广告都在不断寻找更为优秀的数据挖掘和机器学习算法。这场备受瞩目的算法盛事,今年已经是第四届。每一年的比赛都会吸引上万人参加,还催生出一个小型算法社区。   最终,由三位年轻程序员组成的 DYG 团队捧走了冠军 7 万美金(近 50 万人民币)的高额大奖。从初赛冠军、复赛冠军,再到最佳答辩,这三位程序员究竟靠的是什么?   DYG 团队由来自武汉大学计算机科学硕士、算法工程师王贺,中山大学 - 微软研究院联合培养博士生郭达雅以及多次荣获国内 NLP 和数据挖掘比赛 TOP 名次的梁少强组成。值得一提的是,前两位选手同时也是 2019 年腾讯广告算法大赛的冠军得主。      左起:腾讯广告副总裁蒋杰,「DYG」战队王贺、郭达雅、梁少强。    比赛题目   今年腾讯广告算法大赛的题目是「广告受众基础属性预估」,和以往比赛分析广告转化率、预估曝光效率的传统思路不同,这次的赛题是一种逆向思考。   通常认为人们对于广告的偏好会因年龄和性别的不同而有所区别,许多行业的实践者已经验证了这一假设。但大多数采用的方法是在已有这些属性之后进行区分推荐,随后对比推荐效果。   而今年的赛题

paddlepaddle目标检测之水果检测(yolov3_mobilenet_v1)

被刻印的时光 ゝ 提交于 2020-10-24 07:52:47
一、创建项目 (1)进入到https://aistudio.baidu.com/aistudio/projectoverview/public (2)创建项目 点击添加数据集:找到这两个 然后创建即可。 会生成以下项目: 二、启动环境,选择GPU版本 然后会进入到以下界面 选择的两个压缩包在/home/aistudio/data/下,先进行解压: !unzip /home/aistudio/data/data15067/ fruit.zip !unzip /home/aistudio/data/data15072/PaddleDetec.zip 之后在左边文件夹就可以看到解压后的内容了: 三、查看fruit-detection中的内容: 其实是类似pascal voc目标检测数据集的格式 (1) Annotations 以第一个apple_65.xml为例: folder:文件夹名称 filename:图片名称 path:文件地址 size:图片的大小 object:图片中的对象名称以及其的左下角和右上角的坐标。 < annotation > < folder > train </ folder > < filename > apple_65.jpg </ filename > < path > C:\tensorflow1\models\research\object

opencv-python 去除图片文字

廉价感情. 提交于 2020-10-14 20:16:45
opencv-python 去除图片文字 思路: 原图增强后提取增强后图片的轮廓进行闭运算,闭运算后的图像当掩码来修复原图即可去除文字 图像增强代码链接 import numpy as np import cv2 def replaceZeroes(data): min_nonzero = min(data[np.nonzero(data)]) data[data == 0] = min_nonzero return data def SSR(src_img, size): L_blur = cv2.GaussianBlur(src_img, (size, size), 0) img = replaceZeroes(src_img) L_blur = replaceZeroes(L_blur) dst_Img = cv2.log(img / 255.0) dst_Lblur = cv2.log(L_blur / 255.0) dst_IxL = cv2.multiply(dst_Img, dst_Lblur) log_R = cv2.subtract(dst_Img, dst_IxL) dst_R = cv2.normalize(log_R, None, 0, 255, cv2.NORM_MINMAX) log_uint8 = cv2.convertScaleAbs(dst_R)

OpenCV开发笔记(六十七):红胖子8分钟带你深入了解特征点暴力匹配(图文并茂+浅显易懂+程序源码)

不想你离开。 提交于 2020-10-14 03:15:33
若该文为原创文章,未经允许不得转载 原博主博客地址: https://blog.csdn.net/qq21497936 原博主博客导航: https://blog.csdn.net/qq21497936/article/details/102478062 本文章博客地址: https://blog.csdn.net/qq21497936/article/details/107348874 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门) OpenCV开发专栏(点击传送门) 上一篇:《 OpenCV开发笔记(六十六):红胖子8分钟带你总结形态学操作-膨胀、腐蚀、开运算、闭运算、梯度、顶帽、黑帽(图文并茂+浅显易懂+程序源码) 》 下一篇:持续补充中… <br> 前言   红胖子,来也!   前面讲解了特征点,那么匹配特征点,原始图像与目标图像之间存在哪些匹配的同类型的特征点,匹配点的多少则是作为相似度的输入,达到一定相似度则认为匹配到了。   本篇章结合sift特征点和暴力匹配,进行特征点匹配实现步骤原理讲解。 <br> Demo               第四个图片的匹配效果不好,想要效果好需要根据图像特点去选择特征点提取的方式,此处主要是为了讲解流程。

Batch Norm、Layer Norm、Instance Norm、Group Norm、Switchable Norm总结

给你一囗甜甜゛ 提交于 2020-10-13 08:38:42
1.综述 1.1 论文链接 1、Batch Normalization https://arxiv.org/pdf/1502.03167.pdf 2、Layer Normalizaiton https://arxiv.org/pdf/1607.06450v1.pdf 3、Instance Normalization https://arxiv.org/pdf/1607.08022.pdf https://github.com/DmitryUlyanov/texture_nets 4、Group Normalization https://arxiv.org/pdf/1803.08494.pdf 5、Switchable Normalization https://arxiv.org/pdf/1806.10779.pdf https://github.com/switchablenorms/Switchable-Normalization 在入门深度学习时就深度学习中的一些概念做了一些介绍,但随着学习的不断深入,一些网络优化的技巧越来越多,才发现之前的理解的不够深入。在这里有对 BN的理解 ,对出现的几种归一化进行一些个人理解的介绍,首先看一个直观图 归一化层,目前主要有这几个方法,Batch Normalization(2015年)、Layer Normalization

深度学习目标检测系列之YOLO9000

我只是一个虾纸丫 提交于 2020-10-07 05:10:14
1.闲言 在正式的学习之前,我喜欢先放飞一下自我。我觉得技术就是用来聊的,找个酒馆,找些大神,咱们听着音乐一起聊起来。所以我特别希望能把自己的文字口语化,就像玩一样。就像古代那些说书人一样,萧远山和慕容博相视一笑,王图霸业,血海深仇,尽归尘土。这是我向往的一种表达方式,但是我现在还达不到那个境界,只能尽力而为吧。 2.YOLOV2 1.十个改造点 yolov1提升了目标检测的速度,但是在MAP方面却掉了上去。所以说铁打的大神,流水的模型,他们自然会想尽各种办法来解决这个问题。在我看来这就好像程序员写bug一样,到头来总是要改的。所以yolov2可以分为两个部分,第一部分是对MAP提升所做的努力,第二部分是对原来模型的优化,当然是在保证检测速度的前提下。 下面的10个点,是V2的大神们做出的努力。这意味着什么,速度的提升?准确率的提升?模型的泛化能力提升?对,但是更重要的我觉得是工作量的体现,年终的结算。有时候看paper的时候,我们觉得这些大神们都跟圣人一样。他们做出的所有努力都是要造福社会,都是为了推动AI视觉的进一步发展。其实他们也是人,也会有来自各方面的限制,也会有自己的私心,一些小小的任性和种种生而为人而不能的无奈。所以读paper就是在和大神们对话,一边说着你真牛逼,一边在心里面想着我一定要超越你。 下来我们来解释一下,如果说模型预测出来的结果不是很令人满意

论文学习记录:PROGRESSIVE GROWING OF GANS

两盒软妹~` 提交于 2020-10-06 09:32:12
论文链接:https://arxiv.org/pdf/1710.10196.pdf 前言 这是一种针对GANs的训练优化方法,从低分辨率图像开始,通过向网络添加层来逐步提高分辨率,如图1。这种递增的特性允许训练首先发现图像分布的大尺度结构,然后将注意力转移到越来越细的尺度细节上,而不必同时学习所有的尺度。 图1: 初始训练时,生成器(G)和鉴别器(D)的空间分辨率都很低,即4x4像素。随着训练的进行,我们逐渐在G和D上增加层,从而提高了生成图像的空间分辨率。在整个过程中,所有现有层都是可训练的。这里N x N是指在N x N空间分辨率下的卷积层。这允许在高分辨率下稳定的拟合,也能够极大地加快训练速度。右边展示了使用渐进式增长生成的6个1024 x 1024像素示例图像。 我们使用生成器和鉴别器网络,它们彼此镜像,同步发展。在整个训练过程中,两个网络中的所有现有层在训练阶段都是可训练的。当新层被添加到网络中时,我们平滑地淡出现有网络,如图2所示,这避免了对已经训练良好的小分辨率层的突然冲击。 图2:当加倍生成器(G)和鉴别器(D)的分辨率时,我们“平滑”地添加新图层。该例子说明了从16×16图像 ( a ) (a) ( a ) 到32×32图像 ( c ) (c) ( c ) 的转换过程。在转换 ( b ) (b) ( b ) 过程中,我们将操作在更高分辨率上的层类似残差块一样处理

VAE变分自编码器Keras实现

时间秒杀一切 提交于 2020-10-05 04:50:24
介绍   变分自编码器(variational autoencoder, VAE)是一种生成模型,训练模型分为编码器和解码器两部分。   编码器将输入样本映射为某个低维分布,这个低维分布通常是不同维度之间相互独立的多元高斯分布,因此编码器的输出为这个高斯分布的均值与对数方差(因为方差总是大于0,为了将它映射到$(-\infty,\infty)$,所以加了对数)。在编码器的分布中抽样后,解码器做的事是将从这个低维抽样重新解码,生成与输入样本相似的数据。数据可以是图像、文字、音频等。   VAE模型的结构不难理解,关键在于它的 损失函数 的定义。我们要让解码器的输出与编码器的输入尽量相似,这个损失可以由这二者之间的二元交叉熵(binary crossentropy)来定义。但是仅由这个作为最终的目标函数是不够的。在这样的目标函数下,不断的梯度下降,会使编码器在不同输入下的输出均值之间差别越来越大,而输出方差则会不断地趋向于0,也就是对数方差趋向于负无穷。因为只有这样才会使从生成分布获取的抽样更加明确,从而让解码器能生成与输入数据更接近的数据,以使损失变得更小。但是这就与生成器的初衷有悖了,生成器的初衷实际上是为了生成更多“全新”的数据,而不是为了生成与输入数据“更像”的数据。所以,我们还要再给目标函数加上编码器生成分布的“正则化损失”:生成分布与标准正态分布之间的KL散度(相对熵)