关于计算机视觉:陆海×微帧在海洋卫星传输环境下的极限视频压缩

助力陆地经济倒退,微帧与陆海科技达成单干,在窄带网络环境下对视频进行实时极致编码压缩,晋升视频画质,进一步促成航海平安。近年来,世界陆地经济倒退步入了世界经济倒退的快车道,在泛滥沿海国家和地区,陆地经济成为倒退的新的增长点。我国陆地经济倒退迅速,船舶工业也未然成为了咱们十分重要的国防与经济支柱产业。与此同时,船舶经营与治理也进入了数字化时代,在传输大量数据,包含音视频、图像、文件等方面存在极大需要。 陆海科技是一家服务航运、陆地行业的通信、导航和数智化治理解决方案提供商,其船岸双向通信技术,利用卫星资源将数千艘船舶与海洋相连。其中,近程视频监控产品可能实时将船舶航行情况、重点区域的视频信息传送到岸端,在监控核心大屏、在电脑、在手机上实时把握现场状况,晋升治理,促成平安。 1.卫星通信带宽窄,船岸视频传输高清化极具挑战 船舶实时监控对于船舶在防碰撞、防污染、防海盗以及治理监控方面有着重大意义,需尽可能的放弃监控画面清晰及晦涩,能力体现实时监控的价值。家喻户晓,想要流畅地传输高清视频,网络带宽越大越能满足需要。而传统光纤通信的信号笼罩缺点无奈满足海陆之间近程视频监控的利用,因而卫星通信成了海陆之间最重要的视频传输伎俩。但卫星通信受环境的影响较大,网络不稳固,可用的带宽十分无限,所以须要通过升高视频码率来保障实时和晦涩。码率的大幅升高必然会带来画质的损失,因而想要在窄带网络环境下流畅地传输高清视频,在编码端应用高性能的编码压缩计划变得尤其重要。 2.微帧极致编码压缩,让船舶实时监控更高清更晦涩 在陆海的船舶视频监控产品中,采纳了微帧的视频智能编码引擎,在规定的低码率要求下大幅晋升了画质,晋升了陆海近程视频监控产品延时低、播放晦涩、画质清晰的技术性能指标。因为监控画面的特殊性,帧与帧之间大多为同样的画面,动静内容较少,因而能够利用P帧向前一帧画面参考的个性进行极致压缩,并交融微帧AI感知编码技术,对要害区域进行轻度编码压缩,对非关键区域进行重度编码压缩,以此来过滤掉冗余的信息,并高效调配码率,达到超低码率下最高清的画质成果。 与传统广泛的监控场景不同,窄带网络环境下的船舶实时监控视频流,须要码率放弃在200kbps以下,能力尽可能保障画面的晦涩度,微帧视频智能编码引擎在此非凡场景下实现了5倍及以上的压缩。如下图所示,左图为监控画面源视频(2007kbps),右图为应用微帧WZ265编码后的视频(127kbps),可见在应用WZ265编码压缩了94%之后,画质仍然可能保持足够清晰。 在窄带网络环境下进行高清视频实时传输始终以来都是行业挑战,也是微帧的重点关注及钻研的场景之一,微帧很快乐可能帮忙合作伙伴陆海科技晋升近程监控高清视频回传的性能,一起为我国的陆地事业添砖加瓦,同时微帧也欢送更多近海船舶、陆地牧场、电力运维、无人机群等须要在窄带通信畛域传输图像的企业,与咱们独特摸索更高清、更省流、更晦涩的视频利用场景。

February 28, 2024 · 1 min · jiezi

关于计算机视觉:微帧为央视大年初二2024春节戏曲晚会提供AI画质增强服务

玉兔辞旧岁,金龙启新程。甲辰龙年正月初二,以“龙兴九州 福聚四海”的主题,打造戏曲表白新样态,传递戏曲文化氛围的《2024年春节戏曲晚会》在央视频及抖音、视频号、快手等互联网平台同步圆满播出,各剧种领军人物、梨园新秀、戏曲萌娃、60余个院团院校千人齐聚,与全国人民一起过大年、看大戏,戏韵悠长、年味满满、满堂皆彩。继央视联结微帧在亚运会实时直播画质加强方向进行了深度技术摸索之后,央视再次携手微帧,在春节期间的直播晚会场景持续采纳了画质加强技术,为观众带来了又一场视觉盛宴。晚会舞台依靠数字技术、科技伎俩延展了丰盛多元的视觉场景,微帧AI画质加强技术锦上添花般晋升了最终出现的画面成果,让观众在观赏戏曲本体的同时,体验身临其境之感。 微帧AI画质加强技术助力戏曲文化传承为传承戏曲文化,2024春节戏曲晚会区别于传统戏曲上演,以国风、国潮的全新演绎,突出时尚化、年老态,打造戏曲表白新样态。微帧AI画质加强技术的利用,让晚会直播画质更高清更细腻的冀望得以实现。针对晚会场景常见的色调变动、画面马赛克、动作伪影、边缘锯齿不平滑等问题,采纳了色调爱护、智能去噪、自适应锐化、细节加强等AI解决技术,同时对人物及动作细节进行针对性优化,也为竖屏看晚会这样的新兴视频场景减少了更多可能性,通过屡次调优测试与版本迭代,最终达到技术服务艺术的成果。 值得一提的是,挪动互联网的遍及和人们生产习惯的扭转,使得竖屏看晚会的形式更利于在各大互联网平台流传,因而也越来越受观众的追捧。更重要的是,竖屏播放对艺人微表情和强情绪的充沛开掘,让细节变得更加丰盛,联合微帧AI画质加强技术,观众在观看戏曲时能够更直观地理解演员的表演技巧,让演员的表演得以充沛展现,让演员与用户之间的情感连贯更间接、更聚焦。左图为视频源,右图为解决后成果,可见经画质加强解决后的画面中,文字更清晰锐利,艺术家的戏服纹理更显粗劣,面部肤质也更显平坦细腻。 戏曲文化的传承离不开高质量的媒介流传,画质加强技术的加持,也为总台“思维+艺术+技术”交融流传的翻新特色增光添彩。在过来的一年中,微帧在大型舞台、体育赛事、流动直播等场景进行了重点打磨,针对简单的高动静、壮丽丰盛的色调、密集动作变动,能够自适应画面更好的联合AI画质加强与视频编码,为观众打造了一场又一场视觉盛宴。咱们期待2024年,继续晋升本身技术的同时,赋能更多视频利用场景,与时代同倒退、共提高!

February 20, 2024 · 1 min · jiezi

关于计算机视觉:借力计算机视觉及深度学习纽卡斯尔大学开发实时自动化奶牛跛行检测系统

本文首发自 HyperAI超神经微信公众号~ 内容一览:近期,纽卡斯尔大学联结费拉迷信有限公司联合开发了一个针对多头奶牛的自动化、实时跛行检测零碎。该零碎可能依照跛行评分零碎将奶牛进行分类,并且准确度高达 94%-100%。目前,该研究成果已发表在《Nature》上。关键词:奶牛跛行 畜牧业 机器学习因口蹄疫等疾病造成的奶牛跛行对畜牧业而言,已成为一个全球性话题。相干科普显示,它不仅会导致奶牛产奶量升高、滋生效率降落,还会导致奶牛过早地被淘汰。国家动物衰弱监测服务奶业报告数据显示,奶牛有 16% 的淘汰率是由跛行引起的。 跛行已成为奶牛业面临的次要危机之一,因而,早监测、早预防成为规模化养殖奶牛中解决奶牛跛行的无效伎俩。过往,奶牛业个别都采纳人工辨认的办法,但这一办法存在效率低、老本高、主观性强等弊病,在这种背景下,奶牛业对奶牛跛行的自动化检测技术需要日益强烈。 近期,来自纽卡斯尔大学的 Shaun Barney、Satnam Dlay 以及来自费拉迷信有限公司 (Fera Science Ltd) 的 Andrew Crowe 等人联合开发了一个针对多头奶牛的齐全自动化、实时跛行检测零碎,并可在整个养殖场内进行部署。这一零碎利用计算机视觉和深度学习剖析摄像机视线内每头奶牛的姿态和步态,检测准确度可达 94%-100%。目前该研究成果已发表在《Nature》上。 论文链接: https://www.nature.com/articles/s41598-023-31297-1#Sec7 试验数据集本次试验中,钻研人员首先对英国某农场内 250 头奶牛的静止状况进行视频录像,失去了 25 个视频,而后又把每个视频合成为 3,600 个组成帧。其次,钻研人员提取了每秒钟中的 1 帧画面进行了标注。并且为了进一步改善网络泛化能力,他们从 Google 中下载了 500 张牛的相干图片,为每个奶牛标注了 15 个关键点,再将这些图片搜寻数据和本人的标注数据相结合,失去了一个大概含有 40,000 条标注信息的数据库。 为了用实在数据来评估算法性能,3 名通过 AHDB 认证的观察员同时应用 AHDB 奶牛移动性评分系统对 25 个视频进行了评分,该零碎有四个评分等级:0(齐全不跛脚)、1(口头稍有不便)、2(跛脚)和 3(重大跛脚),下图显示了由这 3 名观察员的评分散布状况。 图中显示,25.2% 的奶牛跛行评分为 0(橙色),43.2% 的奶牛跛行评分为 1(绿色),25.6% 的奶牛跛行得分为 2(红色),6.0% 的奶牛跛行评分为 3(灰色)。 试验过程及成绩本钻研应用摄像头和深度卷积神经网络 (Mask-RCNN 算法、SORT 算法和 CatBoost 算法) 来检测多头奶牛的姿势。钻研人员通过追踪视频中奶牛背部、头部的关键点,依据提取相干特色指标进行剖析,从而检测出跛行水平。 ...

May 8, 2023 · 1 min · jiezi

关于计算机视觉:超越YOLOv8飞桨推出精度最高的实时检测器RTDETR

家喻户晓,实时指标检测( Real-Time Object Detection )始终由 YOLO 系列模型主导。 飞桨在去年 3 月份推出了高精度通用指标检测模型 PP-YOLOE ,同年在 PP-YOLOE 的根底上提出了 PP-YOLOE+ 。后者在训练收敛速度、上游工作泛化能力以及高性能部署能力方面均达到了很好的成果。而继 PP-YOLOE 提出后,MT-YOLOv6、YOLOv7、DAMO-YOLO、RTMDet 等模型先后被提出,始终迭代到往年开年的 YOLOv8。 而咱们始终在思考,实时指标检测器除了 YOLO 是否还有其余技术路线能够摸索呢? YOLO 检测器有个较大的待改良点是须要 NMS 后处理,其通常难以优化且不够鲁棒,因而检测器的速度存在提早。为防止该问题,咱们将眼光移向了不须要 NMS 后处理的 DETR,一种基于 Transformer 的端到端指标检测器。然而,相比于 YOLO 系列检测器,DETR 系列检测器的速度要慢的多,这使得"无需 NMS "并未在速度上体现出劣势。上述问题促使咱们针对实时的端到端检测器进行摸索,旨在基于 DETR 的优良架构设计一个全新的实时检测器,从本源上解决 NMS 对实时检测器带来的速度提早问题。 由此,咱们正式推出了——RT-DETR (Real-Time DEtection TRansformer) ,一种基于 DETR 架构的实时端到端检测器,其在速度和精度上获得了 SOTA 性能。 点击文末浏览原文疾速体验 RT-DETRhttps://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/rtdetr 论文地址:https://arxiv.org/abs/2304.08069 对于 PaddleDetection 的技术问题欢送大家入群探讨,也欢送大家在 GitHub 点 star 反对咱们的工作! NMS 剖析书接上文,具体分析 NMS 。 NMS 是指标检测畛域罕用的后处理技术,用于去除检测器产生的重叠较多的检测框,其蕴含两个超参数:置信度阈值和 IoU 阈值。具体来说,低于置信度阈值的框被间接过滤,并且如果两个检测框的交并比大于 IoU 阈值,那么其中置信度低的框会被滤除。该过程迭代执行,直到所有类别都被处理完毕。因而,NMS 算法的执行工夫取决于预测框数量和上述两个阈值。为了更好地阐明这一点,咱们应用 YOLOv5 (anchor-based) 和 YOLOv8 (anchor-free)  进行了统计和实测,测量指标包含不同置信度阈值下残余的检测框的数量,以及在不同的超参数组合下检测器在 COCO 验证集上的精度和 NMS 的执行工夫。试验结果表明,NMS 不仅会提早推理速度,并且不够鲁棒,须要筛选适合的超参数能力达到最优精度。这一试验后果无力证实设计一种实时的端到端检测器是具备重要意义的。 ...

April 25, 2023 · 2 min · jiezi

关于计算机视觉:Gradio-部署工具保姆级教程来了以图生图画你所想

2023 年以来国内各家大厂竞相公布大模型,AIGC 的热度来到了前所未有的高度,AI 绘画在国内艺术博览会上频频夺冠,数字艺术的新纪元正在逐步开展。你是否也想与顶尖技术人员一起,参加到 AIGC 的浪潮中呢? 2023 PaddlePaddle Hackathon 飞桨黑客马拉松第四期 AIGC 趣味创意赛来袭,为期三个月的线上编程马拉松流动启动,参赛选手能够应用扩散模型,联合 LoRA、DreamBooth 等技术实现本人的有限创意!较量将颁发一等奖 2 名、二等奖 5 名、三等奖 20 名,参加奖不限,激励你提交尽可能多的创意我的项目!让你在体验AI绘画的同时,学技术,赢大奖!在 AIGC 创意赛中你能够脑洞大开,以图生图,画你所想!调试实现做好筹备后,能够将模型上传至 AI Studio 利用核心,凋谢给万千用户一起体验你的创意! 详情可见链接 AI Studio 较量页面https://aistudio.baidu.com/aistudio/competition/detail/860/0/... PPDiffusers 流动详情https://github.com/PaddlePaddle/PaddleNLP/tree/develop/ppdiffusers AI Studio 利用核心https://aistudio.baidu.com/aistudio/application/center 在本赛题中,你能够应用 PPDiffusers,基于 DreamBooth 技术,微调文生图模型,让模型了解新的概念(比方你的宠物,或者你喜爱的美食) 甚至批改此物体的某些属性: PaddlePaddle Hackathon 飞桨黑客马拉松第四期 AIGC 趣味创意赛 利用核心作品展现 Gradio 应用教程为了帮忙大家更好的在 AI Studio 利用核心展现本人的作品,PaddlePaddle为大家提供了 Gradio 部署形式,更快的加载速度、更稳固的推理过程。同时,咱们也为开发者们提供了具体的 Gradio 应用教程。 该教程由开发者 「深渊上的坑」 编写 本文就以一键实现视频字幕提取这个工作为例 介绍如何搭建 Gradio 版本的在线部署利用 我的项目链接 https://aistudio.baidu.com/aistudio/projectdetail/5779911 配置环境首先,咱们先筹备好算法调试的环境。确保字幕提取模型可能失常应用。 # pip 装置飞桨模型库依赖包pip install paddleocrpip install paddlenlppip install paddlespeech# 下载nltk数据包,放入到nltk能够检索的门路下# %cd /home/aistudio# !wget -P data https://paddlespeech.bj.bcebos.com/Parakeet/tools/nltk_data.tar.gz# !tar zxvf data/nltk_data.tar.gzimport osimport cv2from PIL import Imageimport numpy as npfrom tqdm import tqdmfrom paddleocr import PaddleOCR, draw_ocr# 测试一下网络,确定预训练模型已筹备好ocr = PaddleOCR(use_angle_cls=False, lang="ch")Gradio 基础知识1.点击如图示中的【利用 gradio 】按钮,我的项目目录下会主动新增一个名为 untitled.gradio.py 的文件。 ...

April 20, 2023 · 1 min · jiezi

关于计算机视觉:分割一切大模型SAM超轻量PPMobileSeg工业质检工具全景分割方案PaddleSeg全新版本等你来体验

图像宰割是计算机视觉的一项根底技术,其指标是将图像中的像素按内容分成不同的类别。它在许多畛域有重要利用,比方主动驾驶、工业质检、医疗图像剖析、遥感图像解译等。 导读PaddleSeg 是飞桨高性能图像宰割开发套件,在图像宰割畛域做了大量的开源工作,致力于帮忙企业在理论场景中落地 AI 利用,也帮忙初学者疾速入门直到精通。 在宽广开发者的应用、反馈和奉献之下,PaddleSeg 继续迭代降级,整体架构设计更加正当优雅,集成的模型日益丰盛,在语义宰割、交互式宰割、深度抠图、人像宰割、医学图像宰割等重点场景也逐步形成了独具特色的性能。当初,咱们非常高兴地发表,PaddleSeg 2.8 版本正式公布啦!心愿新版本的个性能给宽广开发者带来实打实的便当,更好地让图像宰割技术利用到理论场景中去,发明更大的价值! 接下来,就让咱们来看看 PaddleSeg 2.8 版本都带来了哪些新性能与个性吧~ 开源飞桨版本视觉大模型 Segment Anything Model (SAM) 和演示Demo。由 META AI 发表的 SAM 具备弱小的 zero-shot 能力,能够宰割任意物体和图像,也能够应用提醒输出宰割特定指标。 公布超轻量级语义宰割模型 PP-MobileSeg :在 ADE20K 数据集上比照 SOTA 模型,PP-MobileSeg 的速度晋升 42.3%、精度晋升 1.5%、参数量减少 34.9% 。 公布工业质检工具 QualityInspector v0.5 :提供对立可配置的算法 Pipeline,集成检测和宰割模型库,反对 3 种无监督异样检测算法,反对工业级指标评测、剖析、调优等性能。 公布全景宰割解决方案 PanopticSeg v0.5 :提供全景宰割的全流程开发性能,集成 2 个前沿高精模型,具备灵便的二次开发能力。 新增了七个前沿语义宰割模型:MaskFormer、HRFormer、ViT-Adapter、CAE、SegNeXt、K-Net和LPSNet。 ⭐️此外还有很多新性能和个性,比方 FastDeploy 全场景部署能力的集成、EISeg V1.1 版本、视频抠图模型 RVM、人像抠图.NET部署教程等。想要理解更多详情,可至文末退出 PaddleSeg 技术交换群,同时欢送大家点击 star关注。 https://github.com/PaddlePaddle/PaddleSeg PaddleSe g 2.8 版本具体解析“宰割所有”大模型 SAMSegment Anything Model(SAM)是 META AI 最近发表的研究成果,提出了图像宰割的新工作、模型和数据集。它效仿了生成式 LLM(Large Language Model, 大语言模型)的 prompt 范式,能够从不同类型的提醒中产生高质量的对象掩码,提醒类型包含点、框、掩码和文本。SAM 在各种图像宰割工作上体现出了极强的泛化能力,并且精度上不输针对各畛域数据集专门训练的传统模型。 ...

April 19, 2023 · 2 min · jiezi

关于计算机视觉:拯救脂肪肝第一步以飞桨3D医疗影像分割方案MedicalSeg自主诊断脂肪肝

明天带来的是飞桨开发者技术专家冯嘉骏利用飞桨3D医疗影像宰割计划MedicalSeg自主诊断脂肪肝的案例分享,欢送大家关注~ 我的项目背景当初人们的日常生活形式和饮食结构产生了微小的变动,大略就是吃好了,动少了。体内的适量的甘油三酯无奈代谢,最终汇集在肝细胞内,导致人体中失常肝脏逐渐变成脂肪肝。长期患有脂肪肝可能会导致肝硬化,并最终减少患慢性肝病的危险。医学影像学畛域能够通过CT或者B超技术来判断患者是否患有脂肪肝,其中CT的脂肪肝检出比例高于B超,其用于诊断脂肪肝时准确率更高、特异性更强。 在CT查看中,次要是通过计算肝脏与脾脏的CT值的比值来确定患者是否患有脂肪肝以及重大水平。依据中华医学会肝病学分会制订的规范,肝、脾CT比值大于1为失常肝脏,CT比值在[0.7,1.0]之间为轻度脂肪肝,[0.5,0.7]之间为中度脂肪肝,小于0.5为重度脂肪肝。在日常工作中,喷射医师须要手工抉择肝脏和脾脏的最大层面,在肯定范畴内进行 ROI 的选取,之后计算 ROI 范畴内肝脏和脾脏的CT总值以及计算两者 ROI 范畴内CT总值的比值,从而确定患者是否患有脂肪肝。这个过程须要投入较多的工作量。 目前,深度学习技术中的语义宰割正被广泛应用于医学畛域。该技术能够通过训练模型来预测出影像中的不同组织类型的准确边界、地位和区域,在腹部CT上主动取得肝脏和脾脏的宰割后果,对肝脏和脾脏屡次随机取出肯定体积的立方体来计算CT总值的比值,从而评估被检测者是否有脂肪肝以及脂肪肝的重大水平。这种形式加重医生的工作强度,也防止人为的主观性带来的偏差。如下图展现人工测量和基于语义宰割主动测量之间的优劣。关注 AI Studio 我的项目和我一起探讨️ 我的项目链接https://aistudio.baidu.com/aistudio/projectdetail/5574909 医学临床上进行诊断时会人为抉择CT平扫肝、脾显示最大层面,各选取边长为1.0cm以上的正方形 ROI 对肝、脾取CT值。本我的项目为了升高随机选取 ROI 时可能纳入肝内血管和伪影局部,影响计算肝脾比值后果的真实性,提出如下解决办法:1.减少随机取出立方体 ROI 的个数;2.两两配对,减少肝脾比值的样本。 主动宰割与评估脂肪肝操作步骤环境版本要求 数据集介绍 用医疗软件 itk-snap 软件读取原始数据和对应宰割标签,展现成果如下图: VNet 模型和医疗宰割套件 MedicalSeg绝对于二维语义宰割,三维语义宰割利用体素的三维构造信息来宰割医学影像,具备更强的抓取空间信息的能力。因为三维宰割利用了四周邻近切片及沿着z轴的轴向信息,具备更好的上下文信息,进一步提高了模型的泛化能力。此外,三维语义宰割相较二维语义宰割也有利于打消噪声和伪影的影响。以后应用的医疗影像数据具备较高的空间分辨率且为三维影像数据,因而应用三维语义宰割模型进行宰割通常是更适宜的解决形式。这次应用的三维语义宰割模型 VNet 采纳了一种自下而上的办法,并且应用了 U 形连贯搭建网络结构,以捕捉到影像数据的不同尺度的细节信息。因为相邻的体素往往具备亲密的相关性,因而 VNet 引入了 3D 卷积、转置卷积操作以及残差 U 形连贯来捕捉和利用交融上下文信息,从而进步模型的精度和泛化能力。宰割医疗影像数据时,因为病变区域可能会占整个影像的很小一部分,导致标注数据的散布不平衡,VNet 提出 Dice 损失函数,来缩小不均衡散布对模型训练的影响,使模型更加稳固。VNet 整体构造如下。 MedicalSeg 是一个繁难、弱小、全流程的3D医学图像宰割工具,作为 PaddleSeg 宰割套件中的宰割工具,继承了 PaddleSeg 配置化训练的模式,一行代码实现对医疗数据的解决和模型的训练,本我的项目就是基于 MedicalSeg 宰割套件实现在腹部CT上对肝脏和脾脏的3D宰割。 模型训练和推理数据处理 因为医疗数据较为非凡,须要进行预处理操作,例如重采样、像素裁剪,再转换成 NumPy 格局。须要自定义数据预处理脚本 prepare_SpleenAndLiver.py 。脚本次要设置数据的门路和像素裁剪等参数设置。设置如下: 1.        self.preprocess = {2.            "images": [3.                wrapped_partial(4.                    HUnorm, HU_min=-100, HU_max=300),#设置窗宽窗位的裁剪范畴5.                wrapped_partial(6.                    resample, new_shape=[128,128,128], order=1)#设置输出网络的数据形态,程序是[z,y,x]7.            ],8.            "labels": [9.                wrapped_partial(10.                    resample, new_shape=[128,128,128], order=0),11.            ],12.            "images_test":[13.                wrapped_partial(14.                    HUnorm, HU_min=-100, HU_max=300),15.                wrapped_partial(16.                    resample, new_shape=[128, 128, 128], order=1)17.            ]18.        }而后通过一行代码转换数据,并按肯定比例宰割训练集和验证集。 1.#运行预处理文件,把SimpleITK文件转换成numpy文件,生成对应的train.txt和val.txt,和数据参数无关的json文件2.!python tools/prepare_SpleenAndLiver.py模型训练 MedicalSeg 采纳配置化训练,须要新建一个配置化 Yaml 文件,而后再以代码进行训练。配置文件次要设置数据的门路、数据加强形式、优化器、学习率和宰割模型等主要参数。不过个别状况下次要设置数据的门路,其它设置只须要放弃默认即可。当训练成果不好的时候,能够依据教训对数据加强、学习率等参数进行批改。Yaml 配置如下: 1.data_root: /home/aistudio/work/2.batch_size: 2 #32GB显存,shape=256x128x128,batchsize能够设置23.iters: 10000 #训练轮次4.train_dataset:5.  type: MedicalDataset 6.  dataset_root: /home/aistudio/work/SpleenAndLiver_Np #转换后的Numpy文件门路7.  result_dir: /home/aistudio/result  8.#设置数据加强9.  transforms:10.    - type: RandomRotation3D  #3d抉择11.      degrees: 9012.    - type: RandomFlip3D #程度翻转13.  mode: train14.  num_classes: 3  #宰割类别数15.val_dataset:16.  type: MedicalDataset17.  dataset_root: /home/aistudio/work/SpleenAndLiver_Np18.  result_dir: /home/aistudio/result19.  num_classes: 320.  transforms: []21.  mode: val22.  dataset_json_path: "/home/aistudio/work/dataset.json"23.#设置优化器24.optimizer:25.  type: sgd26.  momentum: 0.927.  weight_decay: 1.0e-428.#设置学习率29.lr_scheduler:30.  type: PolynomialDecay31.  decay_steps: 1000032.  learning_rate: 0.0533.  end_lr: 034.  power: 0.935.#设置损失函数36.loss:37.  types:38.    - type: MixedLoss39.      losses:40.        - type: CrossEntropyLoss41.        - type: DiceLoss42.      coef: [0.3, 0.7]43.  coef: [1]44.#设置VNet模型参数45.model:46.  type: VNet47.  elu: False48.  in_channels: 149.  num_classes: 350.  pretrained: null51.  kernel_size: [[2,2,4], [2,2,2], [2,2,2], [2,2,2]]52.  stride_size: [[2,2,1], [2,2,1], [2,2,2], [2,2,2]]配置好 Yaml 文件之后,就能够实现一行代码进行训练。 ...

March 31, 2023 · 1 min · jiezi

关于计算机视觉:YOWOv2优秀的实时视频动作检测框架

出品人:Towhee 技术团队 顾梦佳 为时空动作检测工作设计实时框架依然是一个挑战。YOWOv2 提出了一种新鲜的实时动作检测框架,利用三维骨干和二维骨干进行精确的动作检测。通过改良,YOWOv2 显著优于Y OWO,并且依然能够放弃实时检测。YOWOv2 在数据集 UCF101-24 上以超过 20 FPS 的速度实现了 87.0% 的视频帧 mAP 和 52.8% 的全视频 mAP。在数据集 AVA 上,YOWOv2 在提速 20 FPS 的同时实现了 21.7% 的视频帧 mAP。 Overview of YOWOv2YOWOv2旨在检测不同规模的动作指标。为此,它精心构建了一个简略高效的二维骨干,带有特色金字塔网络,以提取不同级别的分类特色和回归特色。对于三维骨干,YOWOv2 采纳现有的高效架构 3D CNN 来节俭开发工夫。通过联合不同尺寸的三维和二维骨干,YOWOv2 公开了一系列高效的实时动作检测预训练模型,包含 YOWOv2-Tiny、YOWOv2-Medium 和 YOWOv2-Large。另外,该框架还引入了风行的动静标签调配策略和anchor-free机制,使 YOWOv2 紧跟先进的指标检测模型架构设计。 相干材料: 代码地址:https://github.com/yjh0410/YOWOv2论文链接:YOWOv2: A Stronger yet Efficient Multi-level Detection Framework for Real-time Spatio-temporal Action Detection

March 17, 2023 · 1 min · jiezi

关于计算机视觉:轻量视觉里程计框架LVT部署记录

尝试在一个嵌入式环境上开发基于视觉的定位算法,也就是视觉里程计。嵌入式的软硬件环境计算能力无限,架构不同,所以部署很多支流算法有点艰难,如ORB-SLAM系列,DSO系列,VINS-Fusion系列。 板子是夕阳x3,大略500块钱,操作系统Ubuntu20。接入摄像头跑了一下官网指标检测sample,实时性勉强,算是个入门级的板子。 我首先尝试的是VINS和DSO两个框架,发现编译VINS的时候间接CPU占满卡死,无论cmake指令加-j并行编译还是创立替换内存,依然卡死,于是尝试部署DSO,DSO通过替换内存艰巨地编译胜利了,然而运行官网数据集时处理速度极慢,大概2-3秒一帧,CPU还是满载,感觉优化空间太大,遂放弃。 原本想要么本人拼装一个轻量的框架,然而工夫紧迫不想造轮子了,就持续调研更轻量的框架,而后发现了LVT。 论文:Lightweight Visual Odometry for Autonomous Mobile Robotsgithub:https://github.com/SAR-Research-Lab/lvt我的项目绝对冷门,但也有大量的援用和改良。反对双目和RGBD相机输出。 最次要的是该工作能在树莓派3上运行,单帧解决工夫不到200ms,体量和内存都极小,而且精度尚可,官网数据集验证超过了LIBVISO2,靠近支流VSLAM零碎。我的项目在Ubuntu和Windows上胜利构建,我感觉这可能是非常适合我的需要的框架,上面打算在它的根底上开发。 我想在本人的win11上做开发,借助vcpkg能够极大简化依赖的装置,值得致力一下。 应用vcpkg装置依赖我想用最新的opencv4和CUDA,所以我先对照本人显卡,装置了CUDA11。此处不赘述。 而后下载vcpkg,略微学习一下应用,参考:https://blog.csdn.net/cjmqas/article/details/79282847 为了避免vcpkg下载依赖时网络引起的乌七八糟问题,把梯子挂上。 而后通过vcpkg一键装置opencv4(contrib,带CUDA),g2o和pangolin。装置g2o时会主动装置eigen3。vcpkg会主动下载这些依赖,编译,实现装置。速度比较慢,要急躁期待。 实现后应用.\vcpkg.exe integrate install集成到全局,让任何VS工程里能找到这些依赖。 最初,把vcpkg装置的地位全副加到环境变量里去,让cmake可能从这里找包,省得配置来配置去。 用.\vcpkg.exe list查看已装置的依赖,发现我的环境具体是: opencv v4.7eigen3g2o (2020)pangolin v0.8cmake生成解决方案+VS2019生成clone下来lvt的代码,建一个build文件夹,进去后cmake..生成VS的解决方案。 能够看到须要的依赖都找到了,不过我应用的opencv和g2o都是新版本的,所以还要批改一下源码。 关上build里生成的lvt.sln。间接生成的话,必定会有opencv相干的报错,因为我用的是opencv4,所以要去源码里把找不到定义的变量名批改一下,不多。 另外还有g2o新版本里的求解器的用法变了,要应用unique_ptr。参考该同学的博客:https://blog.csdn.net/robinhjwy/article/details/78084210 对照着批改了一下。 右击ALL_BUILD -> 生成,把可执行我的项目全副生成。 如果要可视化展现,确保CMakeLists.txt里把pangolin编译的选项置为“ON”,而后生成。我尝试了开启,然而Pangolin报了一堆gl.h未声明符号的错,我查了半天不明确起因,有的说没有引入opengl32.lib,有的间接用旧版本v0.5,我这里就先敞开pangolin的编译。 生成胜利。 指标视图如下。lvt生成库,三个example生成对应数据集的测试程序。经VS生成后,会发现在三个example目录下/debug中生成了可执行程序。 KITTI数据集测试下载KITTI odometry数据集,应用sequences/00测试。 报错1:短少opencv xfeatures2d4d.dll终止运行。 解决:关上可执行程序所在的文件夹发现的确没有该动静库,起因不明。我在VS里由debug模式改成release模式从新生成,发现xfeatures2d4d.dll等加载到可执行程序所在目录了,该报错解决。报错2:Can't open file: 'calib/00.yml' in read mode 解决:察看一下就会发现,因为我在VS里生成我的项目,可执行程序会被输入到/debug或/release文件夹里,而kitti_example.cpp的main函数是从以后门路下读取标定文件,所以把读取门路的代码批改一下就好。将kitti example设为启动我的项目,依据main函数里的定义,在我的项目属性页填写参数。我写的是绝对路径,同时留神其它文件的读取门路是否正确,可能须要批改一下。 开始运行。因为没有开启可视化,所以终端只打印了解决的帧数。lvt内有获取以后地位的接口,我调用了一下在终端里打印出以后地位。 执行后果: 在我的PC上,均匀一帧解决工夫0.015s,也就是约66FPS,速度还是十分快的。 用evo绘制轨迹,只展现仰视角 evo_traj kitti 00.txt -p --plot_mode=xz 后果:

March 17, 2023 · 1 min · jiezi

关于计算机视觉:AltCLIP改变语言编码器扩展语言功能

出品人:Towhee 技术团队 张晨、顾梦佳 AltCLIP 提出了一种概念上简略无效的办法,以训练弱小的双语或多语多模态表征模型。 以 OpenAI 公布的预训练多模态示意模型 CLIP 为根底,AltCLIP 另外采纳了预训练的多语言文本编码器 XLM-R,并通过一个由老师学习和比照学习组成的两阶段训练模式来调整语言和图像示意。 试验结果表明,AltCLIP 在各种公开的图像数据集的一系列工作中均获得了最先进的性能,包含 ImageNet-CN、Flicker30k-CN、COCO-CN 和 XTD。 此外,它在简直所有工作上都与 CLIP 性能靠近,这示意简略地更改 CLIP 中的文本编码器便能取得扩大性能,比方多语言了解。 The framework of AltCLIP.AltCLIP在一个两阶段的框架下学习弱小的双语语言-图像示意。在第一阶段,通过老师学习策略提炼从大规模预训练模型 CLIP 学到的常识。该阶段应用 CLIP 的文本编码器作为老师文本编码器,而将 XLM-R 模型在多语言数据上的预训练作为学生编码器。而后通过一个全连贯层,对立 XLMR 模型与老师编码器的输入维度。在第二阶段,通过比照学习对绝对较少的中文和英文文本-图像对进行模型训练。该阶段旨在通过对多语言文本-图像对的比照学习来进一步提高文本-图像的一致性。这里框架应用了基于 ViT 的图像编码器,并应用从另一阶段学到的学生文本编码器作为文本编码器。 相干材料: 代码地址:https://github.com/FlagAI-Open/FlagAI论文链接:AltCLIP: Altering the Language Encoder in CLIP for Extended Language Capabilities更多材料:https://zhuanlan.zhihu.com/p/589700046

March 16, 2023 · 1 min · jiezi

关于计算机视觉:探究计算机视觉新兴能力如何通过提示检索提高性能

出品人:Towhee 技术团队 顾梦佳 因为其弱小的泛化性能,在宽泛数据上训练的大规模模型最近已成为计算机视觉中的支流架构。次要摸索了大规模视觉模型中的一种新兴的能力,称为“in-context learning”。这种能力容许模型在未见过的工作上进行推断,并且不须要更新模型参数。钻研发现,in-context examples(即“提醒”)对于该能力的影响很大。为此,Visual Prompt Retrieval(视觉提醒检索)框架提出主动抉择 in-context examples。钻研结果表明,这种办法能够比随机抉择办法更好地进步视觉上下文学习的性能。 Prompt retrieval for visual in-context learning提醒检索框架包含无监督和有监督的两种办法。基于最近示例搜寻的无监督提醒检索办法应用现成的视觉模型提取图像特色,以便比拟查问与每个训练示例之间的余弦间隔。另一种有监督提醒检索办法则间接训练神经网络,来抉择可能最大化 in-context learning 性能的示例。其次要思维是计算每个源示例 in-context learning 的后果,并抉择具备最高/最低后果的示例以造成用于比照学习的正/负集。这些办法能够依据须要主动抉择提醒,从而进步视觉 in-context learning的性能。 相干材料: 代码地址:https://github.com/ZhangYuanhan-AI/visual_prompt_retrieval论文链接:What Makes Good Examples for Visual In-Context Learning?

March 2, 2023 · 1 min · jiezi

关于计算机视觉:根据文本描述生成视频TuneAVideo-效果惊艳

出品人:Towhee 技术团队 张晨、顾梦佳 以文本-图片生成模型的胜利为灵感,近来文本-视频生成模型也开始采纳大规模的文本-视频数据集进行微调训练。然而解决大规模视频数据的老本十分高,为此 Tune-A-Video 提出一种新的任务模型 One-Shot Video Generation,即仅应用单个文本-视频对训练通用畛域的文本-视频生成器。 Tune-A-Video 多功能性和有效性,可能在各种利用中生成领有时序性的视频,例如主题或背景的变动、属性编辑、格调转换。 High-level overview of Tune-A-Video.Tune-A-Video 利用大量数据预训练的文本-图像扩散模型,改良之后实现文本-视频生成。它有两个重要的发现:文本-图像模型可能依据动词形容生成良好的图像;而拓展文本图像模型以同时生成多个图像,则体现出令人诧异的内容一致性。 为了进一步学习间断静止,Tune-A-Video 应用了定制的稠密因果注意力。 相干材料: 代码地址:https://github.com/showlab/Tu...论文链接:Tune-A-Video: One-Shot Tuning of Image Diffusion Models for Text-to-Video Generation

February 28, 2023 · 1 min · jiezi

关于计算机视觉:AAAI-2023针对视频分类的知识迁移

出品人:Towhee 技术团队 王翔宇、顾梦佳 从与工作无关的预训练深度模型中为上游工作转移常识是计算机视觉钻研中的一个重要课题。 随着计算能力的增长,当初曾经有了大规模的开源视觉语言预训练模型和大量的数据。 因而,针对视频分类工作的常识迁徙可能无效进步视频分类的性能和训练速度。通过简略而无效的调整范例,该办法可能在各种视频辨认场景(即 zero-shot、few-shot、个别辨认)实现了最先进的性能和高效的训练。 特地是,它在动作视频数据集 Kinetics-400 上达到了最先进准确率 87.8% 。 Illustration of transferring vision-language pre-trained models for video recognition.传统办法会随机初始化用于视觉分类的线性分类头,但无奈将文本编码器用于上游视觉辨认工作。 将预训练的视觉语言模型迁徙到视频辨认工作,批改了线性分类器的角色,并用来自预训练模型的不同常识替换了分类器。 它利用通过良好预训练的语言模型为高效的迁徙学习生成良好的语义指标。 这种新的范式认为同类样本所蕴含的语义信息是关联的,因而对投影矩阵进行了一些变换:随机采样行向量 、使行向量互相正交、从视觉统计常识初始化来进行最大化标签之间的关联。 相干材料: 代码地址:https://github.com/whwu95/Tex...论文链接:Revisiting Classifier: Transferring Vision-Language Models for Video Recognition

February 23, 2023 · 1 min · jiezi

关于计算机视觉:ECCV-2022TeSTRa稳定的流式视频识别

出品人:Towhee 技术团队 顾梦佳 流式视频辨认视频会关注每一个视频帧中的对象及其行为。一个好的流式辨认模型能够捕捉视频的长期动静和短期变动。然而在大多数现有办法中,尤其是基于 Transformers 架构的网络,计算复杂度往往会随着所思考的变动的长度而激烈增长。为了解决这个问题,TeSTra 提出一种时序平滑 Transformer,能够接管任意长度的输出,并具备稳固的缓存和计算开销。因为时间跨度减少,TeSTra 胜利在两个规范在线动作检测和动作预期数据集 THUMOS'14 和 EPIC-Kitchen-100 上获得了最先进的后果。 Overview of streaming attention architecture TeSTraTeSTra可能对足够长的历史进行编码,每个工夫步的推理老本都很稳固。该框架通过内核镜头从新表述了视频 Transformer 中的穿插注意力。它采纳了一种无效的注意力机制,在间断帧之间重复使用大部分注意力计算。并利用了两种工夫平滑内核:box kernel 和 Laplace kernel。这样的设计实现了高效的流式留神计算。 相干材料:代码地址:https://github.com/zhaoyue-ze...论文链接:Real-time Online Video Detection with Temporal Smoothing Transformers

February 21, 2023 · 1 min · jiezi

关于计算机视觉:SVFormer走进半监督动作识别的视觉-Transformer

出品人:Towhee 技术团队 顾梦佳 半监督学习(SSL)的动作辨认是一个要害的视频了解工作,然而视频标注的高老本加大了该工作的难度。目前相干的办法次要钻研了卷积神经网络,较少对于视觉 Transformers(ViT)模型的摸索。SVFormer 钻研了如何将半监督 ViT 用于动作辨认。它采纳稳固的伪标签框架(即 EMA-Teacher)解决未标记的视频样本。它还针对视频数据提出了一种新鲜的加强策略,Tube TokenMix,其中视频剪辑通过掩码混合,在时间轴上具备统一的掩码 token。另外,SVFormer 还利用一种工夫扭曲加强来笼罩视频中简单的工夫变动,将所选帧拉伸到各种片段的继续时间段。通过在三个公开的视频数据集 Kinetics-400、UCF101 和 HMDB-51 上进行的大量试验,SVFormer 验证了其劣势。 Tube TokenMix Training in SVFormerSVFormer是一种基于 Transformer 的半监督动作识别方法。它采纳一致性损失,构建两个不同的加强视图并要求它们之间的统一预测。最重要的是,该办法提出应用 Tube TokenMix(TTMix),一种人造实用于视频 Transformer 的加强办法。与 Mixup 和 CutMix 不同,Tube TokenMix 在掩码 token 后就联合了 token 级别的特色,使得掩码在时间轴上具备统一的掩码 token。这样的设计能够更好地模仿 token 之间的时序相关性。为了帮忙模型学习时序动静,SVFormer 进一步引入时序扭曲加强(TWAug),能够任意扭转工夫片段中每一帧的长度。 相干材料: 代码地址:https://github.com/ChenHsing/...论文链接:SVFormer: Semi-supervised Video Transformer for Action Recognition

February 17, 2023 · 1 min · jiezi

关于计算机视觉:新型掩码自编码器-AdaMAE自适应采样

出品人:Towhee 技术团队 王翔宇、顾梦佳 Masked Autoencoders (MAEs) 通过从可见数据的 token 重建带掩码的输出数据,学习图像、文本、音频、视频等的通用表征。以后的视频 MAE 办法依赖于基于随机补丁、通道、或基于视频帧的屏蔽策略来抉择这些 token。AdaMAE 在此基础上提出一种端到端可训练的自适应掩码策略。它从高时空信息区域采样更多的 token,实现了遮蔽率高达 95% 的 token,从而升高内存需要并减速预训练。通过在公开视频数据集 Something-Something v2 (SSv2) 上进行融化钻研,AdaMAE 证实了该自适应采样办法的有效性。该办法在数据集 SSv2 和 Kinetics-400 上的动作分类工作中均取得了最先进的精度。 AdaMAEAdaMAE提出自适应掩码策略,利用辅助采样网络依据语义上下文对可见token进行采样。它会基于采样网络预计的分类散布对可见token进行采样,并应用 ViT 编码器-解码器架构重建缺失的token。因为采样过程是不可微分的,AdaMAE 通过最大化期望值重建损失来优化模型。这种自适应采样过程会从高时空信息区域采样更多的 token,而从低信息或冗余区域采样更少的 token。 相干材料:代码地址:https://github.com/wgcban/adamae论文链接:AdaMAE: Adaptive Masking for Efficient Spatiotemporal Learning with Masked Autoencoders

February 15, 2023 · 1 min · jiezi

关于计算机视觉:BATMAN将双边注意力用于视频对象分割

出品人:Towhee 技术团队 张晨、顾梦佳 视频对象宰割 (Video Object Segmentation,VOS) 是视频了解的根底。 基于 Transformer 的办法曾经在半监督 VOS 上显示出显着的性能改良。 然而,现有的工作很难宰割彼此凑近的类似物体。为此,BATMAN 提出了一种用于半监督 VOS 的新型双边注意力Transformer。大量试验验证了 BATMAN 架构的有效性,它在所有四个风行的 VOS 基准测试中均优于所有现有的最先进技术:Youtube-VOS 2019 (85.0%)、Youtube-VOS 2018 (85.3%)、DAVIS 2017Val/Testdev (86.2) %/82.2%),以及 DAVIS 2016 (92.5%)。 Overview of BATMAN architectureBATMAN通过一个新鲜的光流校准模块捕捉视频中的对象静止,该模块将宰割掩码与光流预计交融在一起,以进步对象内光流的平滑度并缩小对象边界处的噪声。双边空间编码器用于将查问特色和校准后的光流编码为双边空间编码,供双边注意力应用。双边注意力 Transformer 会思考静止和外观来计算相邻双边空间中查问帧和参考帧之间的对应关系。 相干材料:论文链接:BATMAN: Bilateral Attention Transformer in Motion-Appearance Neighboring Space for Video Object Segmentation

February 13, 2023 · 1 min · jiezi

关于计算机视觉:SparK-用稀疏掩码为卷积设计-Bert-预训练

出品人:Towhee 技术团队 顾梦佳 稠密掩码建模 (SparK) 是第一个 BERT-style 的预训练方法,无需批改骨干即可间接在任何卷积网络上,克服了它们无奈解决不规则的掩码输出。该框架遮蔽图像的一部分并学习复原它,通过预训练卷积网络编码器实现分层掩码图像建模。SparK 能够被间接用于任何卷积模型,无需骨干批改。它在经典 (ResNet) 和古代 (ConvNeXt) 的卷积模型上进行了试验,结果表明SparK 可能在三个上游工作上以大幅超过最先进的比照学习和基于 Transformers 的掩蔽建模。尤其在指标检测和实例宰割工作上,该框架带来的的改良更为显著,证实了所学特色具备弱小可迁移性。 Sparse masked modeling with hierarchySparK确定并克服了将 BERT 式预训练或掩码图像建模的胜利扩大到卷积网络 (convnet) 的两个要害阻碍:卷积运算无奈解决不规则的、随机掩码的输出图像,BERT 预训练的繁多尺度性质与 convnet 的层次结构不统一。为了解决第一个问题,SparK 翻新地提出将稠密卷积用于 2D 掩膜建模,并应用稠密卷积进行编码。它将未屏蔽像素视为 3D 点云的稠密体素。对于后一个问题,SparK 开发了一个分层解码器来从多尺度编码特色重建图像。为了预训练分层编码器,SparK 框架采纳了 UNet 格调的架构来解码多尺度稠密特色图,其中所有空地位都是充斥掩码嵌入。预训练后,只有编码器会被用于上游工作。 相干材料:代码地址:https://github.com/keyu-tian/...论文链接:Designing BERT for Convolutional Networks: Sparse and Hierarchical Masked Modeling更多材料:北大/字节/牛津提出SparK——卷积网络的BERT设计:稠密和分层掩码建模

February 7, 2023 · 1 min · jiezi

关于计算机视觉:MixMIM-创建混合图像提出新型掩码方案

出品人:Towhee 技术团队 顾梦佳 商汤和港中文联结提出一种简略但无效的掩码图像建模(MIM)办法 MixMIM,通过创立混合图像利用BEiT和MAE的长处,又防止了它们的局限性。MixMIM 能够无效地学习高质量的视觉示意,也能被广泛应用于预训练的层次化视觉 Transformer,比方 Swin Transformer、PVT 等。MixMIM 还摸索了轻量级架构,将 Swin Transformer 批改为预训练和常识迁徙的编码器。因为层次结构,MixMIM 实用于各种上游工作,比方图像分类、指标检测、语义宰割工作。试验结果表明,在模型尺寸和 FLOPs 类似的状况下,MixMIM 在宽泛的上游工作上始终优于 BEiT 和 MAE,包含公开图像数据集 ImageNet、iNaturalist 和 Places上的图像分类,COCO上的指标检测和实例宰割,以及 ADE20K 上的语义宰割。 Overview of MixMIM给定训练集中的两幅随机图像,MixMIM 应用随机混合掩码创立一幅混合图像作为输出。模型会训练一个层次化 ViT 来重建两幅原始图像,用于学习视觉示意。不同于传统办法中用非凡的掩码符号替换输出图像的掩码 token,MixMIM 抉择用另一个图像的视觉 token 替换掩码 token。另外,MixMIM 仍然采纳了编码器-解码器的结构设计。编码器解决混合图像以取得两个局部掩蔽图像的暗藏示意,而解码器则用于重建两个原始图像。 相干材料:代码地址:https://github.com/Sense-X/Mi...论文链接:MixMIM: Mixed and Masked Image Modeling for Efficient Visual Representation Learning更多材料:性能超MAE、BEiT和MoCoV3!商汤&港中文提出MixMIM:在混合图像上进行MIM

January 31, 2023 · 1 min · jiezi

关于计算机视觉:视觉模型-ConvNeXt-V2结合纯卷积与MAE

出品人:Towhee 技术团队 王翔宇、顾梦佳 近年来以 ConvNeXt 为代表的古代 ConvNets 在各种视觉场景中都体现出了弱小的性能。尽管这些模型最后是为应用 ImageNet 标签进行监督学习而设计的,但它们也可能受害于自监督学习技术,例如掩码主动编码器 (MAE) 。为了更好地联合ConvNeXt 和 MAE,ConvNeXt V2 提出了一个改良的网络架构,将全局响应归一化 (GRN) 层增加到 ConvNeXt 架构中以加强通道间特色竞争。它显着进步了纯 ConvNet 在各种辨认基准上的性能,包含 ImageNet 分类、COCO 检测和 ADE20K 宰割。 FCMAE frameworkConvNeXt V2 将 ConvNeXt 作为骨干网络,胜利在卷积网络中防止从遮掩的区域复制粘贴信息。它将可见的像素点看作了一个图像序列,用相似于3D视觉中的稠密卷积来进行解决。另外,模型抉择了一个轻量的ConvNeXt模块。为了重建指标,ConvNeXt V2 应用了MSE来计算指标图像,该损失在被遮掩区域进行计算。 相干材料: 代码地址:https://github.com/facebookre...论文链接:https://arxiv.org/abs/2301.00...更多材料:https://zhuanlan.zhihu.com/p/...

January 20, 2023 · 1 min · jiezi

关于计算机视觉:光神经网络ONN直接对光信号进行神经网络处理

出品人:Towhee 技术团队 张晨、顾梦佳 光学成像通常用于工业界和学术界的迷信和技术利用。光学神经网络 (Optical neural networks,ONN) 提供了一个在模仿、光学畛域解决数据的平台。 然而,基于 ONN 的传感器仅限于线性解决,但非线性是深度的先决条件,多层神经网络在许多工作上显著优于浅层神经网络。 目前的技术曾经胜利实现了用于图像传感的多层 ONN 预处理器,应用商业图像增强器作为并行光电、光到光非线性激活函数。 非线性 ONN 预处理器能够实现高达 800:1 的压缩比,同时依然能够在多个具备代表性的计算机视觉工作中实现高精度,包含机器视觉基准测试、流式细胞术图像分类和实在物体辨认场景。试验发现,ONN 的非线性和深度使其优于纯线性 ONN 编码器。 这些 ONN 传感器能够通过在空间、工夫和/或光谱维度上预处理光学信息来超过传统传感器,可能具备相干和量子品质,所有这些都在光学域中进行。 A multilayer optical-neural-network encoder as a frontend for image sensingONN 通过间接成像与光学编码进行图像传感。 在传统的图像传感中,图像由相机收集,并通常应用神经网络 (NN) 进行解决,以提取一小段相干信息,例如限速或标记文本。 光神经网络 (ONN) 编码器不是将场景的残缺图像间接地再现到传感器阵列上,而是对图像进行预处理,仅压缩和提取其最终应用所需的图像信息,从而容许更小的(更少的像素)传感器阵列。 相干材料: 论文链接:https://arxiv.org/abs/2207.14...

January 18, 2023 · 1 min · jiezi

关于计算机视觉:Mega-改进序列模型引入移动平均捕捉时空依赖

出品人:Towhee 技术团队 顾梦佳 Transformer 注意力机制的设计包含弱演绎偏置和简单的二次计算,限度了它对长序列建模的利用。为了更好地应用单个模型捕获序列数据中的长距离依赖,挪动均匀单头门控注意力(Mega)尝试沿工夫维度,应用经典的指数滑动均匀(EMA)办法引入偏差,并提出了一种具备线性复杂度的变体。通过在宽泛的序列建模基准上进行试验,比方 Long Range Arena、神经机器翻译、自回归语言建模以及图像和语音分类,Mega 相比其余序列模型(Transformer 的变种和最近的状态空间模型)体现出了显著的改良。 Mega ArchitectureMega 是一种简略的、有实践根底的、装备有(指数)挪动均匀的单头门控注意力机制,将地位感知的部分依赖的演绎偏差纳入与地位无关的注意力机制。Mega 变体则进一步将输出序列划分为固定大小,同时最小化上下文信息的损失。它提供了线性的工夫和空间复杂性,但只产生最小的品质损失,通过无效地将整个序列宰割成具备固定长度的多个块。 相干材料: 代码地址:[https://github.com/facebookre...]论文链接:<Mega: Moving Average Equipped Gated Attention>更多材料:滑动均匀门控注意力

January 16, 2023 · 1 min · jiezi

关于计算机视觉:EfficientFormerV2-加速-ViT更高效的移动端视觉模型

EfficientFormerV2 减速 ViT,更高效的挪动端视觉模型出品人:Towhee 技术团队 顾梦佳 EfficientFormerV2 仿造卷积构造的 MobileNet,对 transformers 进行一系列针对挪动端减速的设计和优化。模型的参数量和提早对资源受限型的硬件来说至关重要,因而 EfficientFormerV2 联合了细粒度联结搜寻策略,提出了一种具备低提早和大小的高效网络。该网络在同等量级参数量和提早下,其性能在公开的图像数据集 ImageNet 的验证集上可能比 MobileNetV2 高4%。 EfficientFormerV2ArchitectureEfficientFormerV2 全面钻研了混合视觉骨干,并验证了对于端侧更加敌对的网络结构设计。此外,在前一个版本的根底上,它进一步提出了在大小和速度上的细粒度联结搜寻,并取得了轻量级和推理速度超快的模型。EfficientFormerV2 遵循了惯例的 ViT 架构。它采纳雷同卷积核大小的深度可拆散卷积替换作为 token mixer的均匀池化层,这样既不会带来提早开销,又能进步性能。此外,EfficientFormerV2 在前馈网络中注入了部分信息建模层,将原来的池化层替换成 BottleNeck 的模式。 相干材料: 代码地址:https://github.com/snap-resea...论文链接:https://arxiv.org/abs/2212.08059更多材料:https://zhuanlan.zhihu.com/p/...

January 13, 2023 · 1 min · jiezi

关于计算机视觉:AI听曲识歌哼曲口哨吹都能秒识

作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 TensorFlow 实战系列:https://www.showmeai.tech/tutorials/43 本文地址:https://www.showmeai.tech/article-detail/312 申明:版权所有,转载请分割平台与作者并注明出处 珍藏ShowMeAI查看更多精彩内容 工具库 transformers 的开源方 Hugging Face 刚刚公布了一个用于构建 diffuser 模型的全新库。如果您不晓得diffuser模型是什么,你能够查看 ShowMeAI 的另外一篇文章介绍 你给文字描述, AI 艺术作画,精美无比!附源码,快来试试! 。 随着 AI 技术的倒退,咱们当初在互联网上看到的那些漂亮、富裕创意、极具艺术美感的绘画与视频,很多是来自 AI 之手!典型的AI艺术创作例如 OpenAI 的 DALL-E2、谷歌的 Imagen 和 Midjourney 的产品,所有这些产品服务都应用 diffuser 模型,下图为一些创作后果。 Hugging Face 公布了一个专一于 diffuser 模型的开源库,咱们能够基于它,仅仅通过几行代码就开始生成本人的艺术作画。不过这个 diffuser 库是一个根底实现版本,训练和学习的数据也没有下面提到的几个大厂商业产品多,在本篇文章中,ShowMeAI 就带大家来摸索新库,并生成一些咱们本人的艺术画作,也比照一下雷同文本提醒下的大厂商业产品生成的后果。 疾速尝鲜咱们先在命令行通过 pip install diffusers 装置本次应用到的工具库,而后导入咱们须要用到的模块和性能(在这里咱们调用整个扩散模型流水线 DiffusionPipeline),并且咱们导入一个小型预训练模型ldm-text2im-large-256: from diffusers import DiffusionPipelinemodel_id = "CompVis/ldm-text2im-large-256"# 预训练模型ldm = DiffusionPipeline.from_pretrained(model_id)接着咱们就能够基于这个预训练模型作画啦,咱们惟一须要做的事件就是给模型一句文本提醒(在 diffuser 模型里叫 prompt 提醒)。上面咱们尝试生成一幅『松鼠吃香蕉』的画作。 # 给定文本提醒和作画prompt = "A painting of a squirrel eating a banana"images = ldm([prompt], num_inference_steps=50, eta=.3, guidance_scale=6)images[0] ...

October 28, 2022 · 2 min · jiezi

关于计算机视觉:2022-全球-AI-模型周报

本周介绍了 5 个计算机视觉畛域的 SoTA 模型,均于最近发表于寰球顶会 ECCV 2022:AVS 提出新鲜的视听宰割工作,kMaX 无效利用经典聚类算法进行全景宰割,WSG-VQA 用弱监督学习 Transformer 冲破视觉问答 grounding工作,COST 了解视频内容实现 AI 对话,HorNet 将新型视觉骨干插入卷积和 Transformer 架构 如果你感觉咱们分享的内容还不错,请不要悭吝给咱们一些收费的激励:点赞、喜爱、或者分享给你的小伙伴。https://github.com/towhee-io/towhee/tree/main/towhee/models 是谁收回了声音?ECCV 2022 收录全新视听宰割工作 AVS出品人:Towhee 技术团队 王翔宇、顾梦佳 什么是视听宰割 Audio-Visual Segmentation (AVS)?AVS 的论文被收录于 ECCV 2022,提出基于声音的图像宰割,依据音频找出图像中对应的发声对象。同时,AVS 还公布了第一个音频-视觉的宰割数据集(AVSBench)。这项全新的钻研设计了一个时序像素级别的音频-视觉交互模块,注入音频语义为视觉宰割做了疏导。 Overview of the AVS baselineAVS 应用了一种档次编解码的构造。编码器将视频帧以及整段的音频作为输出,输入视觉和音频的特色。每一个阶段的视觉特色图之后送入了 ASPP 模块,而后传递到 TPAVI 模块。ASPP 为模型提供了不同的感触野去辨认物体,TPAVI 则专一于时序的像素级别的音频-视觉交互。解码器逐渐的扩充特色图最初生成掩码。模型训练过程中,AVS 设计并应用了一种正则化损失函数,用于提供音频-视觉的映射。 更多材料: 模型代码:https://github.com/OpenNLPLab/AVSBench论文:Audio-Visual Segmentation更多材料:ECCV2022 | 视听宰割:全新工作,助力视听场景像素级精细化了解kMaX 全景宰割,利用传统聚类翻新视觉 Transformer出品人:Towhee 技术团队 何俊辰、顾梦佳 谷歌与约翰霍普金斯大学单干,在 ECCV 2022 的论文中提出 kMaX (k-means Mask Transformer),从新摸索了视觉 Transformer 的外部运行机制,剖析了现有构造在图像识别工作上的弊病。同时该模型也提出从聚类的角度从新思考像素特色与指标 query 之间的关系,联合 k-means 聚类构建一种端到端的全景宰割模型。kMaX-DeepLab 应用 k-means 解码器来替换多头注意力模块,在简化构造的同时也晋升了宰割成果。比照试验抉择了具备代表性的骨干网络,包含 ResNet-50、MaX-S、Swin Transformer、ConvNeXt 等。结果表明,kMaX-DeepLab 应用轻量骨干就可能超过目前其余 SOTA 模型,甚至优于很多更为简单的模型。 ...

September 9, 2022 · 2 min · jiezi

关于计算机视觉:视频化全链路智能上云一文详解什么是阿里云视频云智能媒体生产

视频化链路在变革人工向智能、小众向公众规范向定制、慢钝向实时 视频创作与流传的全流程在变革。 对于视频的生产与生产,其全链路蕴含采集、制作、治理、散发、生产五个阶段,而云计算和网络的倒退,为每个环节都带来微小的势能变动。 例如: 采集阶段,以往须要应用业余的摄像设施进行拍摄,当初仅一台挪动端设施即可实现高品质拍摄。 生产制作阶段,以往须要用业余的非线性编辑软件来制作,而当初以云剪辑服务工具即可实现在线全端剪辑。 在散发流传阶段,以往的新闻传媒须要经验长时间的“采编播”过程,而现在的云上实时将制播一体化,以实时的效力让观众以第一工夫如临第一现场,并可通过直播带来丰盛的实时互动体验。 从中可见一斑,视频化链路的倒退正在从人工编排到智能解决、从业余小众到普惠全众、从标准化单向传递到实时个性化双向互动。 在这个所有皆可视频化的“超视频化”时代,咱们心愿通过“云”的能量突破原有壁垒,推动演进的产生,利用媒体生产制作的云端一体服务,为整个泛视频产业带来新的改革,而「智能媒体生产」就是聚焦这一畛域的企业级视频制作工具。 「智能媒体生产」定位于一款基于云端合作,来实现批量视频高效制作的企业级工具,依靠于阿里巴巴团体云计算和人工智能畛域的深度积攒,产品将底层AI算法与剪辑工具紧密结合,变革性地重塑视频生产流程。 在云端,解决“企业视频生产协同艰难”、“批量视频生产无奈标准化”、“硬件老本高”及“剪辑环境受限”等诸多问题。 由此,产品具备全云化、规模化、程序化、场景化的突出个性,实现云端重塑视频生产的全链路,打造企业级视频制作新范式。 全云化的协同云端协同,全端笼罩变革内容制作与流传链路 在传统的近程制播业务场景,针对采、编、播的全环节,须要依附转播车实现SDI信号接入、制作,通过卫星/专线回传信号,现场部署和运维高度简单,零碎转型、降级、扩大十分受限。 而传统视频生产的剪辑环节,通常会应用到桌面端剪辑软件,须要对本地文件进行读取后再解决,这些积淀的素材在协同过程中,须要重复进行手动搬运,最大的问题就是无奈多人异地轻量的并行编辑工夫线,所以传统视频创作齐全是离线的串联式的协同,而没有方法造成并行创作。 尤其是遇到直播场景,须要对直播画面进行剪辑,还须要将视频从云端下载、剪辑、上传成片的繁琐流程,而「智能媒体生产」的全云化协同、全端笼罩的个性,能将这些问题很好的解决。 比方,对直播进行实时云端剪辑,仅需10s就能够从直播流中截取出10min视频,在取得直播片段之后能够疾速精编,进行二次的剪辑散发投放。目前,体育赛事、在线教育以及支流的新媒体场景,很多平台都须要一边进行直播,同时进行基于直播内容的短视频投放,以实时、丰盛的内容反向为直播增益更多流量。 同时,在端侧笼罩上,「智能媒体生产」也凋谢了多端协同,包含挪动端NativeSDK、WebSDK以及API这三种模式,供多用户跨平台协同。在这三种接入场景下,产品能齐全做到所有媒资和工程的互通,以此变革视频内容制作与流传流程的全链路。 用户不须要下载安装客户端,关上网页就能够应用,在云端实现剪辑。同时,「智能媒体生产」将视频创作部署于云端,从而对本地硬件设施的使用量和硬件性能的依赖水平大幅升高,在保障低延时、高质量的前提下,为视频内容制作缩减大量的制作老本。 规模化的提效标准化、智能化、高并发力打造海量“视频+”内容 咱们晓得,传统的剪辑软件可能实现简单精美的成果,如业余的影视作品、宣传广告视频等。然而,当要进行规模化、批量化的生产时,只能通过设计资源的累加,来实现创作量的晋升,这齐全依赖于设计师进行机械化的反复制作。 于是,很多企业在某些业务场景下冀望能将批量生产标准化、规模化,从而创作更多更高质量的“视频+”内容。 针对此类需要,「智能媒体生产」的“模版工厂”能够针对视频制作中重复性内容需要和定制丑化需要,提供根底模板和高级模板性能,通过自定义模板和素材替换,实现批量化视频生产能力。 一般来说,整个生产制作有多个局部组成:创意、素材、剪辑与包装、渲染与合成。「智能媒体生产」的模版能力和智能化能力,在视频制作全流程的每一个环节中,都提供了相干能力。 如在素材搜寻阶段,能够通过素材 AI 剖析疾速找到素材当中所需的片段,包含素材智能搜寻,可能在更大的范畴内搜寻到与创作主题相干的内容。 同时,在剪辑与包装过程,产品也提供了多端 SDK 和端云合作的体系,包含提供业余的非编插件,可能导出本人创作的AE模板,并且可能在云端进行批量化的素材替换和包装。 在渲染与合成局部,云端施展了规模化、海量化、高并发解决的劣势,可能对一些较长输入的视频,做高倍速的剪辑合成,直播剪辑60倍速转码合成,一般剪辑的20倍速切片合成,规模化地晋升整个生产制作的效率。 程序化的智创以智能程序代替人工制作以极致代码实现高效批量 提及创作,主体肯定是具备创造力的人,尤其针对视频这种具备强思维与创意属性的内容。 然而明天,创作也是可程序化的,以代替人工制作,从而高效、实时创作大量的品质视频。 咱们晓得,视频创作最要害的在于剪辑环节,针对视频剪辑,“非线性编辑”这个名词大家可能并不生疏,指的是借助计算机来进行数字化制作,冲破繁多的工夫程序编辑限度,能够按各种顺序排列素材,具备快捷、简便、随机的个性。 实现非线性编辑须要适配的硬件及专用的编辑软件,比方熟知的:Final Cut Pro、Adobe Premiere Pro、Vegas Video 4.0等。然而,在传统的视频创作流程中,存在着软件洽购等较大后期投入的问题,也波及到业余剪辑师、设计师的大量人力老本的需要。 同时,即便以后传统的非线性编辑性能非常弱小,但对于大部分非专业剪辑用户来讲,他们应用剪辑工具的诉求,集中在掐头去尾、片段拼接、贴纸、特效、转场、滤镜等根底剪辑性能,以及实现视频的标准化、批量化生产,而传统制作形式很难满足疾速高效且低门槛的需要。 此外,传统视频剪辑工程通常会蕴含多个轨道,每个轨道蕴含多个片段(音视频、图片、字幕等),片段之间还可能存在转场、特效,当媒资素材散落,流水线各角色合作须要重复搬运,导致无奈多人、异地、轻量的并行创作。 面对此类问题,「智能媒体生产」不仅能够用可视化的界面应用次要性能,还能以智能程序代替人工制作,即通过一个数据结构来形容它,称之为“Timeline”(工夫线),当用户组装好一个“Timeline”,就能够用编程实现不同的视频剪辑性能,合成视频。 「智能媒体生产」中的“Timeline”构造,合乎用户日常对剪辑工程的了解,Json格局直观易懂,能残缺表白多样简单的剪辑工程,且易于扩大,尤其是当需要越来越简单的时候,一个简略易懂的数据结构会显得非常重要。 基于此状况,「智能媒体生产」还对程序化剪辑“Timeline”再度简化,用户甚至不须要拼写残缺的“Timeline”参数,「智能媒体生产」便会依据素材原始信息对“Timeline”进行主动补全,这不仅不便用户用“程序”做一些简单的剪辑,也能疾速高效的对素材进行加工,“高深莫测”的程序化界面,让用户能够更好的关注视频创作的关键字段和信息。 除此之外,视频剪辑中的截取片段、保留片头剪切、多段视频截取任意区间合并等,以及短视频常见性能的增加字幕、GIF贴纸、ASR语音辨认、文字转语音等,各种能力统统能实现“程序化剪辑”,极大晋升创作效力。 全场景的商业落地内容视频化无处不在行业智创定制化打磨 在内容视频化高速充斥的明天,视频凭借强感官体验、高效链接性成为增长最快的流传介质,而低门槛、批量化、实时性、高品质的制作工具成为企业级视频创作之选。 作为云端视频生产的企业级翻新工具,「智能媒体生产」依据不同行业的需要进行定制化的深度打磨,将智创视频实现全场景笼罩,为更多行业带来视频化内容驱动的全域价值。 除了针对传统新闻传媒行业的云端协同的视频生产流传全流程变革,「智能媒体生产」更多赋能在泛视频行业视频化需要的价值发明上。 互联网内容平台在面临内容创作的转型,更多图文向视频化创作,更多内容做二次化流传,「智能媒体生产」实现低门槛的创作反对,不仅提供自主灵便的手动业余剪辑、丑化及合成,更反对一键套用模板,疾速嵌入素材合成成片等能力,极大促成平台内容的丰盛度与流传的高效能。 直播电商作为带货渠道,实时的话题性可能带来更多的全域流量价值,造成更大的直播间闭环,从而须要批量生产、疾速裂变、过滤反复、实时流传的视频生产需要,而「智能媒体生产」解决了原始素材疾速的视频化、去重化,从而进步生产流传的效率,也更满足广告投放的联动效力。 在线教育畛域,「智能媒体生产」针对课堂直播录制后的二次剪辑,可按需生成点播视频资源,晋升媒资精炼度和实用度,辅助业务闭环;同时,批量模板化的剪辑能力,让课堂“高能内容”的流传带来营销价值。 对于金融服务这样的垂直场景,也同样开始摸索数据视频化内容服务,「智能媒体生产」能够实现数据服务内容的视频化批量生产和定制化打造需要,同时,虚构主播性能还可代替真人录制,解决工夫老本及不确定性,实现标准化周期性产出。 在生产制作行业,「智能媒体生产」可实现云端监控录制中的实时拆条,或录制完结后将拆条重要片段存档,造成多视角的全景监控视频,以视频的数智化生产与治理,助力传统制造业降级。 尽管「智能媒体生产」上线不到一年,但已经验了数十种行业客户实在场景的考验。依靠于媒体解决服务,「智能媒体生产」能够从容应对高并发、大文件、超实时的业务场景,也在一直打磨智化能力、合成速度、制作特效等外围能力,置信在超视频化的大趋势下,能为更多场景、更多行业,发明更大价值。 将来,云端重塑内容生产,视频智造无处不在。 「智能媒体生产」官网 「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实际技术文章,在这里与音视频畛域一流工程师交换切磋。公众号后盾回复【技术】可退出阿里云视频云产品技术交换群,和业内大咖一起探讨音视频技术,获取更多行业最新信息。

July 6, 2022 · 1 min · jiezi

关于计算机视觉:深度学习与CV教程8-常见深度学习框架介绍

作者:韩信子@ShowMeAI教程地址:http://www.showmeai.tech/tutorials/37本文地址:http://www.showmeai.tech/article-detail/267申明:版权所有,转载请分割平台与作者并注明出处珍藏ShowMeAI查看更多精彩内容 本系列为 斯坦福CS231n 《深度学习与计算机视觉(Deep Learning for Computer Vision)》的全套学习笔记,对应的课程视频能够在 这里 查看。更多材料获取形式见文末。 引言大家在前序文章中学习了很多对于神经网络的原理常识和实战技巧,在本篇内容中ShowMeAI给大家开展介绍深度学习硬件常识,以及目前支流的深度学习框架TensorFlow和pytorch相干常识,借助于工具大家能够理论搭建与训练神经网络。 本篇重点深度学习硬件 CPU、GPU、TPU深度学习框架 PyTorch / TensorFlow动态与动静计算图1.深度学习硬件GPU(Graphics Processing Unit)是图形处理单元(又称显卡),在物理尺寸上就比 CPU(Central Processing Unit)大得多,有本人的冷却系统。最后用于渲染计算机图形,尤其是游戏。在深度学习上抉择 NVIDIA(英伟达)的显卡,如果应用AMD的显卡会遇到很多问题。TPU(Tensor Processing Units)是专用的深度学习硬件。 1.1 CPU / GPU / TPU CPU个别有多个外围,每个外围速度都很快都能够独立工作,可同时进行多个过程,内存与零碎共享,实现序列工作时很有用。图上CPU的运行速度是每秒约 540 GFLOPs 浮点数运算,应用 32 位浮点数(注:一个 GFLOPS(gigaFLOPS)等于每秒十亿(\(=10^9\))次的浮点运算)。GPU有上千个外围数,但每个外围运行速度很慢,也不能独立工作,适宜大量的并行实现相似的工作。GPU个别自带内存,也有本人的缓存零碎。图上GPU的运行速度是CPU的20多倍。TPU是专门的深度学习硬件,运行速度十分快。TITANV 在技术上并不是一个「TPU」,因为这是一个谷歌术语,但两者都有专门用于深度学习的硬件。运行速度十分快。若是将这些运行速度除以对应的价格,可失去下图: 1.2 GPU的劣势与利用GPU 在大矩阵的乘法运算中有很显著的劣势。 因为后果中的每一个元素都是相乘的两个矩阵的每一行和每一列的点积,所以并行的同时进行这些点积运算速度会十分快。卷积神经网络也相似,卷积核和图片的每个区域进行点积也是并行运算。 CPU 尽管也有多个外围,然而在大矩阵运算时只能串行运算,速度很慢。 能够写出在 GPU 上间接运行的代码,办法是应用NVIDIA自带的形象代码 CUDA ,能够写出相似 C 的代码,并能够在 GPU 间接运行。 然而间接写 CUDA 代码是一件十分艰难的事,好在能够间接应用 NVIDIA 曾经高度优化并且开源的API,比方 cuBLAS 蕴含很多矩阵运算, cuDNN 蕴含 CNN 前向流传、反向流传、批量归一化等操作;还有一种语言是 OpenCL,能够在 CPU、AMD 上通用,然而没人做优化,速度很慢;HIP能够将CUDA 代码主动转换成能够在 AMD 上运行的语言。当前可能会有跨平台的规范,然而当初来看 CUDA 是最好的抉择。 ...

June 3, 2022 · 8 min · jiezi

关于计算机视觉:隔空手势交互在现实世界上演得心应手

【得心应手:心里怎么想,手就能怎么做】 手,作为人体最灵便的器官,参加咱们生存的方方面面;手,是除了眼睛之外能间接感触三维世界和物体的器官;手,作为无声的交互工具,曾经在计算机领域占了无比重要的位置。 在人机交互界面,手的交互是至关重要的,于是咱们开始有了越来越多的“触控交互”,但随着技术的倒退,为了身材解放,越来越多的设施引入了“手势交互”技术。 “手势交互”在于,人们在各种电子设备的应用时,能够不再局限于通过接触屏幕、鼠标、键盘等进行操作,而是齐全解脱操作介质。 阿里云视频云的“隔空手势”,便是一项“未来式”交互方式技术。 下班不必鼠标,演出“隔空”操作https://www.youku.com/video/X...一则程序员的“隔空手势”视频,能够体感一场办公场景下的隔空交互操作,这是阿里云视频云基于手势辨认技术研发的“智能手势交互引擎”。 能够看到,短视频中的程序员,无论是浏览页面、登录零碎、还是精密的实现视频剪辑,都不再是通过鼠标、键盘循序渐进的操作,而是以各种动态和动静的手势,顺滑、实时、精准的实现隔空控制与操作,而这种精密的操控水平,在隔空手势交互技术上,是冲破现有瓶颈的。 比照“触控交互”须要用户和设施进行接触操控,“语音交互”须要进行听、说以及高精度辨认的过程,而“手势交互”具备人类应用习惯的人造劣势,成为“触控交互”及“语音交互”的不便当场景下的另一优解。 说到隔空手势交互,其根底便是“手势辨认”技术。 从手势辨认说起在计算机科学中,手势辨认是通过数学算法来辨认人类手势的一个议题,即用户能够通过手势来管制或与设施交互,让计算机了解人类的行为。 手势辨认的关键技术蕴含,手势宰割、手势剖析,以及动态和动静的手势辨认。无论是动态还是动静的手势,其辨认程序首先须要对所获图像的手的检测和手势宰割;再通过手势剖析,取得手势的形态特色或者是静止轨迹;最初依据手势剖析中的重要特色,实现动态或动静的手势辨认。 手势辨认的钻研和倒退影响着人机交互的自然性和灵活性。以后,业内大多数研究者将注意力集中在手势的最终辨认方面,通常会将手势背景简化,在繁多背景下利用算法对手势进行宰割及剖析。 但在事实利用中,人的手通常处于简单的环境下,须要思考如:光线过亮或过暗,手势距采集设施间隔不同等简单因素,从而做到精准的手势辨认。 阿里云视频云的“智能手势交互引擎”, 如何使“隔空手势”更具智能性和交互力? 高性能的智能手势交互引擎因为简单的手指手掌构造和在静止时的高度灵活性,手势关键点跟踪非常具备挑战性。阿里云视频云团队研发的智能手势交互引擎,通过对21个手部关键点的精准辨认和跟踪,反对25种根底动态手势的辨认。 基于这25种根底手势,联合手掌姿势的信息和场景,能够延长出百余种手势。例如伸大拇指的手势,咱们能够依据大拇指和大拇指的方向精准辨认出:点赞(拇指向上)、差评(拇指向下)、向左(拇指向左)、向右(拇指向右)等等。 https://www.youku.com/video/X...视频中,Left_Prob示意左手的置信度, Gesture_ID示意辨认到的手势ID。 除了动态手势之外,相似上下左右滑动、左右翻页、放大放大、拜拜等多种动静手势也能被精准辨认和跟踪,从而实现上述视频中“隔空”实现视频剪辑的成果。 值得一提的是,阿里云视频云的“智能手势交互引擎”的算法不仅能保障“高精度”和“高稳定性”, 更是做到了“超轻量” 。 “高精度”是指可能精确的辨认各种各样的手部姿势及定位手部关键点的地位,即便在暗光、背光等挑战性场景也有很好的体现; “高稳定性”,是通过算法的深度打磨,可能对手部关键点检测输入稳固的关键点地位, 做到手势交互操作的超低提早。 “超轻量”体现在一般设施单线程运行中, 均匀每帧耗时仅有6.5毫秒,解决性能能够达到150fps以上,模型大小仅为2.6MB,兼容所有支流平台,非常适合在一般的挪动端手机的部署和利用。 所有因手势交互而卓然不同新交互正在成为趋势,而解放身材的更天然的交互也是交互演进的方向,能够设想,可能为生存、工作、学习带来全新的状态与体验,而阿里云视频云的隔空手势交互作为“交互黑科技”,曾经能够逐渐使用到各类场景中。 在互动课堂场景,为了视力衰弱和丰盛体验,学生能够全程与屏幕放弃间隔,通过隔空手势,学生能够实现课程抉择、问题答复、翻页、举手等多样化的交互操作。 在疫情常态化和课堂线上化的明天,智能手势交互引擎助力行业用户从新定义了在线课堂的教学内容互动模式,使师生屏幕前的教学不再是单向的常识灌输,而是以在线课堂的互动性与感知度,高度饱满教育智趣。 https://www.youku.com/video/X... 在电商与娱乐直播场景,主播一边直播一边操控手机屏幕会造成的极大不便,然而,利用手势交互,主播能够通过手势特效与直播观众实时互动,还能够用手势来管制直播流程和画面;在用户端,能够联合用户的手势,如:点赞、比心等等,实时出现相应的各种贴纸和特效,极大晋升交互体验。 在数字展厅场景,数字化的视觉展现始终在不断创新,利用隔空手势,参观者能够不必操控屏幕,通过隔空手势对展品的旋转挪动,能够360度全景理解展品,尤其在疫情期间也能缩小密切接触带来的安全隐患。 在智能驾驶畛域,将手势辨认利用到驾驶辅助零碎中,司机能够应用手势来控制车内的各种性能、参数,防止眼帘转移带来的驾驶安全隐患。 而在日常生活中,隔空手势辨认更能够与智能硬件做深度联合,例如智能家电、智能机器人等,以隔空手势来才操控家电,便利性更加凸显,让人机交互更有体验感。当然,把隔空手势辨认使用到生存的线下流动中,施展想象力,还能够有更多乏味的互动体验。 针对“智能手势交互引擎”,阿里云视频云曾经在2D手势辨认进行了较为成熟的技术与利用积淀,将来,也将持续摸索先进的手势交互技术,尤其是针对3D手势交互,通过检测手在三维空间中的地位信息,咱们能够更加精确的辨认手部的动作, 从而实现更加简单的交互, 例如驱动一个3D的虚拟人, 或者实现手持虚构物品等AR特效。通过3D手部姿势的辨认,以带来更丰盛、更沉迷、更智能在线交互体验。 庄子《天道》曾说: “不徐不疾,得之于手而应于心,口不能言,无数存焉于其间。”即,“不慢不快,应于心而得之于手,虽不能言说,却有技巧奥秘存在于其间。” 手势交互技术肯定是这样的奥秘存在,不管任何场域,让你得心应手。 「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实际技术文章,在这里与音视频畛域一流工程师交换切磋。公众号后盾回复【技术】可退出阿里云视频云产品技术交换群,和业内大咖一起探讨音视频技术,获取更多行业最新信息。

June 1, 2022 · 1 min · jiezi

关于计算机视觉:深度学习与CV教程3-损失函数与最优化

作者:韩信子@ShowMeAI教程地址:http://www.showmeai.tech/tutorials/37本文地址:http://www.showmeai.tech/article-detail/262申明:版权所有,转载请分割平台与作者并注明出处珍藏ShowMeAI查看更多精彩内容 本系列为 斯坦福CS231n《深度学习与计算机视觉(Deep Learning for Computer Vision)》的全套学习笔记,对应的课程视频能够在 这里 查看。更多材料获取形式见文末。 引言在上一篇 深度学习与计算机视觉教程(2) - 图像分类与机器学习根底 内容中,咱们对线性分类器做了一些介绍,咱们心愿线性分类器可能精确地对图像进行分类,要有一套优化其权重参数的办法,这就是本篇ShowMeAI要给大家介绍到的损失函数与最优化相干的常识。 本篇重点损失函数数据损失与正则损失SVM 损失Softmax损失优化策略梯度计算方法梯度降落1.线性分类:损失函数1.1 损失函数的概念回到之前解说过的小猫分类示例,这个例子中权重值 \(W\) 十分差,因为猫类别的得分非常低(-96.8),而狗(437.9)和船(61.95)比拟高。 咱们定义损失函数(Loss Function)(有时也叫代价函数 Cost Function 或指标函数 Objective) \(L\) 来掂量对预估后果的「不称心水平」。当评分函数输入后果与实在后果之间差别越大,损失函数越大,反之越小。 对于有 \(N\) 个训练样本对应 \(N\) 个标签的训练集数据 \((x_{i},y_{i})\)),损失函数定义为: $$L=\frac{1}{N} \sum_{i=1}^NL_i(f(x_i,W), y_i) $$ 即每个样本损失函数求和取均匀。指标就是找到一个适合的 \(W\) 使 \(L\) 最小。留神:真正的损失函数 \(L\) 还有一项正则损失 \(R(W)\),上面会有阐明。损失函数有很多种,上面介绍最常见的一些。 1.2 多类反对向量机损失 (Multiclass Support Vector Machine Loss)SVM 的常识能够参考ShowMeAI的图解机器学习教程中的文章反对向量机模型详解,多类 SVM 能够看作二分类 SVM 的一个推广,它能够把样本数据分为多个类别。 1) 数据损失(data loss)SVM 的损失函数想要 SVM 在正确分类上的得分始终比不正确分类上的得分高出一个边界值 \(\Delta\)。 咱们先看一条数据样本(一张图片)上的损失函数 \(L_i\) 如何定义,依据之前的形容,第 \(i\) 个数据 \((x_{i},y_{i})\) )中蕴含图像 \(x_i\) 的像素和代表正确类别的标签 \(y_i\)。给评分函数输出像素数据,而后通过公式 \(f(x_i, W)\) )来计算不同分类类别的分值。 ...

May 27, 2022 · 9 min · jiezi

关于计算机视觉:深度学习与CV教程2-图像分类与机器学习基础

作者:韩信子@ShowMeAI教程地址:http://www.showmeai.tech/tutorials/37本文地址:http://www.showmeai.tech/article-detail/261申明:版权所有,转载请分割平台与作者并注明出处珍藏ShowMeAI查看更多精彩内容 本系列为 斯坦福CS231n《深度学习与计算机视觉(Deep Learning for Computer Vision)》的全套学习笔记,对应的课程视频能够在 这里 查看。更多材料获取形式见文末。 引言图像分类是计算机视觉的外围工作,计算机视觉畛域中很多问题(比方 指标检测 和 语义宰割),都能够关联到图像分类问题。图像分类 问题,就是已有固定的分类标签汇合,而后对于输出的图像,从分类标签汇合中找出一个分类标签,最初把分类标签调配给该输出图像。在本篇内容汇总,ShowMeAI将给大家解说数据驱动的模型算法,包含简略的 KNN 模型和 线性分类模型。 本篇重点数据驱动办法KNN算法线性分类1.图像分类的挑战对于计算机而言,图像等同于一个像素矩阵;而对人类,图像是蕴含丰盛语义信息的多媒体出现,对应不同的物体类别,所以对计算机而言存在微小的语义鸿沟。 比方,给计算机输出如下小猫的图片,计算机图像分类模型会读取该图片,并计算该图片属于汇合 \({猫, 狗, 帽子, 杯子}\) 中各个标签的概率。但读取的输出图像数据是一个由数字组成的微小的 \(3\) 维数组。 在下图中,猫的图像大小高 \(600\) 像素,宽 \(800\) 像素,有 \(3\) 个色彩通道(红、绿和蓝,简称RGB),因而它蕴含了 \(600 \times 800 \times 3=1440000\) 个数字,每个数字都是在范畴 \(0 \sim 255\) 之间的整型,其中 \(0\) 示意全黑,\(255\) 示意全白。 咱们的工作就是把这些数字变成一个简略的标签,比方 「猫」 。 ![图像分类; 图像分类的挑战; 计算机[眼]中的图像; 2-1](https://img-blog.csdnimg.cn/i...) 图像分类算法要足够强壮(鲁棒,robust),咱们心愿它可能适应下述变动及组合: 视角变动(Viewpoint variation):同一个物体,摄像机能够从多个角度来展示。大小变动(Scale variation):物体可视的大小通常是会变动的(不仅是在图片中,在真实世界中大小也是变动的)。形变(Deformation):很多货色的形态并非变化无穷,会有很大变动。遮挡(Occlusion):指标物体可能被挡住。有时候只有物体的一小部分(能够小到几个像素)是可见的。光照条件(Illumination conditions):在像素层面上,光照的影响十分大。背景烦扰(Background clutter):物体可能混入背景之中,使之难以被识别。类内差别(Intra-class variation):一类物体的个体之间的形状差别很大,比方椅子。这一类物体有许多不同的对象,每个都有本人的形状。如下图所示是一些变动和图像识别的挑战: 2.数据驱动的形式一种实现形式是「硬编码」:先获取猫图像的边缘失去一些线条,而后定义规定比方三条线穿插是耳朵之类。然而这种形式的辨认成果不好,并且不能辨认新的物体。 咱们会采纳数据驱动算法:不具体写出辨认每个物体对应的规定,而是针对每一类物体,找到大量样例图片,灌给计算机进行机器学习,演绎模式法则,生成一个分类器模型,总结出辨别不同类物体的外围常识因素,而后用训练好的模型,辨认新的图像。 数据驱动算法过程如下: 输出:输出是蕴含 \(N\) 个图像的汇合,每个图像的标签是 \(K\) 种分类标签中的一种。这个汇合称为训练集。学习:这一步的工作是应用训练集来学习每个类的模式法则。个别该步骤叫做分类器训练或者模型学习。评估:让分类器对它未曾见过的图像进行分类,把分类器预测的标签和图像真正的分类标签 (根本事实) 比照,并以此来评估分类器的品质。2.1 最邻近算法本局部内容也能够参考ShowMeAI的 图解机器学习教程 中的文章详解 KNN算法及其利用 ...

May 27, 2022 · 5 min · jiezi

关于计算机视觉:深度学习与CV教程1-引言与知识基础

作者:韩信子@ShowMeAI教程地址:http://www.showmeai.tech/tutorials/37本文地址:http://www.showmeai.tech/article-detail/260申明:版权所有,转载请分割平台与作者并注明出处珍藏ShowMeAI查看更多精彩内容 本系列为 斯坦福CS231n《深度学习与计算机视觉(Deep Learning for Computer Vision)》的全套学习笔记,对应的课程视频能够在 这里 查看。更多材料获取形式见文末。 1.课程简介CS231n 是顶级院校斯坦福出品的深度学习与计算机视觉方向专业课程,核心内容笼罩神经网络、CNN、图像识别、RNN、神经网络训练、注意力机制、生成模型、指标检测、图像宰割等内容。 课程最初一版公开课视频为2017版,须要最新进阶技术内容的同学能够关注ShowMeAI公布的 cs231n进阶课程心愿对于深度学习进行一个全面学习理解的同学,能够浏览学习ShowMeAI的 深度学习教程 | 吴恩达专项课程 · 全套笔记解读2.课程内容介绍2.1 第1局部 Lecture1-3 深度学习背景常识简略介绍课程引入与介绍KNN 和线性分类器Softmax 和 SVM 两种损失函数优化算法(SGD等)2.2 第2局部 Lecture4-9 卷积神经网络CNN及各种层次结构(卷积、池化、全连贯)反向流传及计算方法优化的训练方法(Adam、Momentum、Dropout、Batch-Normalization)训练 CNN 的注意事项(参数初始化与调优)深度学习框架(TensorFlow、Caffe、Pytorch)线性CNN构造(AlexNet、VGGNet、GoogLeNet、ResNet)2.3 第3局部 Lecture10-16 计算机视觉利用RNN(语言模型,image captioning等)指标检测(R-CNN、Fast / Faster R-CNN、YOLO、SSD等)语义宰割(FCN、Unet、SegNet、deeplab等)神经网络可视化与可解释性生成模型与 GAN深度强化学习3.课程学习指标 3.1 实用技能了解如何从头开始编写、调试和训练卷积神经网络。 3.2 工具技术集中于大规模训练这些网络的实用技术,以及 GPU(例如,将波及分布式优化、CPU 与 GPU 之间的差别等),还能够查看诸如 Caffe、TensorFlow 和 (Py)Torch 等最先进的软件工具的现状。 3.3 利用创作一些乏味的主题,如「看图谈话」(联合 CNN + RNN),再如下图右边的 DeepDream,左边的神经格调迁徙 NeuralStyle 等。 4.课程先修条件1)相熟 Python(并理解 numpy 的应用),本课都用 Python 编写,如果要浏览了解软件包的源代码 C++ 会有帮忙。 2)大学微积分(如求导),线性代数(理解矩阵)。 ...

May 27, 2022 · 2 min · jiezi

关于计算机视觉:深度学习与计算机视觉教程斯坦福CS231n-全套笔记解读

作者:韩信子@ShowMeAI教程地址:http://www.showmeai.tech/tutorials/37本文地址:http://www.showmeai.tech/article-detail/259申明:版权所有,转载请分割平台与作者并注明出处珍藏ShowMeAI查看更多精彩内容引言本篇内容是ShowMeAI组织的「深度学习与计算机视觉」系列教程入口,本教程依靠于斯坦福Stanford出品的【CS231n:深度学习与计算机视觉】方向专业课程,依据课程视频内容与课程笔记,联合补充材料,针对深度学习与计算机视觉方向的主题做了全面梳理与制作,心愿给大家提供业余粗疏而直观易懂的学习教程。 本系列教程内容笼罩:图像分类、神经网络、反向流传、计算图、CNN、RNN、神经网络训练、tensorflow、pytorch、注意力机制、生成模型、指标检测、图像宰割、强化学习 等主题。 教程地址点击查看残缺教程学习门路内容章节1.深度学习与CV教程(1) | CV引言与根底 2.深度学习与CV教程(2) | 图像分类与机器学习根底 3.深度学习与CV教程(3) | 损失函数与最优化 4.深度学习与CV教程(4) | 神经网络与反向流传 5.深度学习与CV教程(5) | 卷积神经网络 6.深度学习与CV教程(6) | 神经网络训练技巧 (上) 7.深度学习与CV教程(7) | 神经网络训练技巧 (下) 8.深度学习与CV教程(8) | 常见深度学习框架介绍 9.深度学习与CV教程(9) | 典型CNN架构 (Alexnet, VGG, Googlenet, Restnet等) 10.深度学习与CV教程(10) | 轻量化CNN架构 (SqueezeNet, ShuffleNet, MobileNet等) 11.深度学习与CV教程(11) | 循环神经网络及视觉利用 12.深度学习与CV教程(12) | 指标检测 (两阶段, R-CNN系列) 13.深度学习与CV教程(13) | 指标检测 (SSD, YOLO系列) 14.深度学习与CV教程(14) | 图像宰割 (FCN, SegNet, U-Net, PSPNet, DeepLab, RefineNet) 15.深度学习与CV教程(15) | 视觉模型可视化与可解释性 16.深度学习与CV教程(16) | 生成模型 (PixelRNN, PixelCNN, VAE, GAN) ...

May 27, 2022 · 1 min · jiezi

关于计算机视觉:微帧Film-Grain编码技术致敬电影胶片颗粒的独特魅力

“胶片成像的颗粒感,是数字影像无奈复制的独特魅力。”驰名导演克里斯托弗·诺兰在《信条》上映时示意。作为胶片电影的忠诚追随者,自处女作起,诺兰每一部影片都采纳胶片进行拍摄,其中包含《星际穿梭》《盗梦空间》等风靡寰球的著述。 诺兰导演口中的“胶片成像的颗粒感”,正是本文要探讨的Film Grain(胶片颗粒)。 为何Film Grain作为一种噪声,却能失去大量导演和观众的青睐?其实是因为在某些特定的非线性零碎中,噪声的存在可能加强强劲信号的检测能力,这种景象就称为随机共振。而在图像零碎中,在肯定噪声(如Film Grain)强度条件下,图像视觉品质能够达到更优的成果。 因而,Film Grain作为影视创作用意的一部分,在对视频进行编码时,无效保留Film Grain是十分重要的。 但Film Grain作为图像噪声,散布和大小都不规则,具备随机性。Film Grain的随机性使得传统编码技术难以无效压缩,同时也使得预测变得十分艰难,静止预计的精度也会升高。 就此,微帧科技在微帧Aurora AV1根底上研发了Film Grain编码技术,此技术已胜利利用于某出名PGC视频平台,并取得了客户及平台用户的认可。 应用AV1能更高效地保留与合成Film Grain。因为传统视频规范在制订时,并没有将Film Grain加进规范,使用传统编码方式对视频编码,容易造成grain散布不平均、保留不残缺等问题。而AV1在制订时就把Film Grain解决工具加进了规范,对于Film Grain编码和解码的反对度更高。 与开源libaom相比,微帧Aurora-AV1的劣势在于编码速度更快、效率更高,其次是能反对10bit Film Grain的去噪解决;并且,在开源libaom编码器上保留grain容易呈现显著的banding,微帧Aurora-AV1的自适应量化模式也能更好的防止这种状况。 针对不同类型的grain,微帧科技采纳Aurora-AV1视频编码器进行了3个方向的尝试:去噪+合成(Grain Synthesis)、间接保留(Grain Preservation)、保留+合成(Preservation+Synthesis)。 01、去噪+合成(Grain Synthesis)Grain Synthesis是通过去噪解决去除视频中的grain,并预计出grain参数,这些参数将随压缩视频流一起发送至解码器,解码后,再将grain合成并增加到重建的视频帧中。 此办法有助于保留已编码视频的grain外观,与间接对grain进行编码比,能放弃更低的码率。 但Grain Synthesis的毛病在于:合成过程中的第一步须要生成一个64x64的模板,之后随机从模板中选取一个32x32的块。在选取的时候,x,、y的坐标须要小于32,导致相邻块选取的32x32块会有重叠,且朝向统一,在grain强的序列中的平坦区域非常容易产生pattern,以及显著的artifacts。 就此问题,微帧的解决办法是:选取grain的种子,只采纳pattern没那么显著的种子进行合成。 02、间接保留(Grain Preservation)若源视频中的Film Grain是未经压缩的,能够用AV1 Film Grain工具进行重建;但对于已被转码压缩的视频,则很难重建。因为grain通过压缩后,会呈现低频重量,产生肯定的pattern,这些很难用AR model齐全示意进去。因而,对于显著有低频重量的grain pattern,须要通过间接编码的形式进行保留。 除此之外,对于grain比拟细的序列,采纳间接保留grain的形式,能让grain保留的更平均,也能保障更好的清晰度,使得在无grain artifact的同时生成较好的grain视频。 值得一提的是,采纳微帧Aurora-AV1间接编码保留grain,可能克制grain不统一和不同帧清晰度不统一的景象,这是一般AV1编码器目前所达不到的。 03、保留+合成(Preservation+Synthesis)编码过程中还会遇到同一帧grain散布十分不平均的状况,比方上半局部有grain,下半局部没有grain,这种状况不能依赖Grain Synthesis的办法,因为规范全图都为同一种grain model。间接编码的形式则可能会呈现grain保留不残缺、不统一等状况。 对于相似这种简单的grain,微帧采纳的办法是:将grain合成,针对难以用Grain Synthesis规范生成的grain,间接依赖编码器进行编码;针对Grain Synthesis规范比拟好生成的grain,采纳规范生成grain,如高频的高斯噪声局部则能够采纳Grain Synthesis来合成。 Preservation+Synthesis的形式能解决Grain Synthesis的局限性,重现比较复杂pattern的grain。同时,减少了grain合成的形式会比间接编码的办法,能保留更多的细小的grain。

May 12, 2022 · 1 min · jiezi

关于计算机视觉:CVPR2022-前沿研究成果解读基于生成对抗网络的深度感知人脸重演算法

凭借在人脸生成畛域的扎实积攒和前沿翻新,阿里云视频云与香港科技大学单干的最新研究成果《基于生成反抗网络的深度感知人脸重演算法 》(Depth-Aware Generative Adversarial Network for Talking Head Video Generation)被 CVPR2022 接管。本文为最新研究成果解读。 论文题目:《Depth-Aware Generative Adversarial Network for Talking Head Video Generation》arxiv链接:https://arxiv.org/abs/2203.06605人脸重演算法将使视频编解码有新冲破?近年来随着视频直播的大火,越来越多的人开始关注视频云畛域。而视频传输的低提早,高画质,始终是难以均衡的两个点。以后直播延时最低能够降到 400ms 以内,然而在视频会议等各场景的需要一直减少的状况下,比方近程 PPT 演示,咱们对画质和提早的均衡有着更高的要求。而冲破直播提早的要害是编解码技术的晋升,人脸重演算法与编解码技术的联合,在视频会议场景的利用中将使带宽需要大幅缩小,而取得更具身临其境的体验,这是迈向超低延时优画质视频会议十分重要的一步。 人脸重演(face reenactment/talking head)算法是指,利用一段视频来驱动一张图像,使图像中的人脸可能模拟视频中人物的面部姿势、表情和动作,实现动态图像视频化的成果。图 1 人脸重演倒退现状目前的人脸重演办法重大依赖于从输出图像中学习到的 2D 表征。然而,咱们认为浓密的 3D 几何信息(例如:像素级深度图)对于人脸重演十分重要,因为它能够帮忙咱们生成更精确的 3D 人脸构造,并将噪声和简单背景与人脸辨别开来。不过,浓密的视频 3D 标注代价昂扬。 钻研动机&翻新点在本文中,咱们介绍了一种自监督的 3D 几何学习办法,能够在不须要任何 3D 标注的状况下,从视频中预计出头部深度(depth maps)。咱们进一步利用深度图来辅助检测人脸关键点,从而捕获头部的静止。此外,深度图还用于学习一种 3D 感知的跨模态注意力(3D-aware cross-model attention),以领导运动场(motion field)的学习和特色的形变。 图 2 图 2 展现了本文提出的 DA-GAN 的 pipeline,它次要蕴含三局部: (1)深度预计网络\( F_d \),咱们通过自监督的形式预计浓密的人脸深度图; (2)关键点检测网络\( F_{kp} \),咱们将由深度图表征的 3D 几何特色与由 RGB 图的外观特色进行拼接,以预测更为精确的人脸关键点; (3)人脸合成网络,它又能够分为一个特色形变模块和一个跨模态注意力模块。 特色形变模块将输出的稠密关键点转化为稠密运动场(sparse motion field),随后学习失去浓密运动场(dense motion field),并用其对图像特色进行扭曲(warping)。 ...

April 18, 2022 · 1 min · jiezi

关于计算机视觉:Prime-Video-如何使用机器学习来确保视频质量

申明: 本文转自Amazon Science网站,文章翻译由开发者社区提供; 点击下方链接,查看英文原文: How Prime Video uses machine learning to ensure video quality - Amazon Science流媒体视频可能会受到录制,编码,打包或传输过程中引入的缺点的影响,因而大多数订阅视频服务(例如Amazon Prime Video)都会一直评估其流式传输的内容的品质。 手动内容审查——被称为眼睛测试——不能很好地进行扩大,并且它带来了本人的挑战,例如审查者对品质的认识存在差别。在行业中更常见的是应用数字信号处理来检测视频信号中常常与缺点相干的异样。 Amazon Prime Video 的块损坏检测器的初始版本应用残差神经网络生成批示特定图像地位损坏概率的映射,对该映射进行二值化,并计算损坏区域与总图像区域之间的比率。  三年前,Prime Video 的视频品质剖析 (VQA) 小组开始应用机器学习来辨认从游戏机、电视和机顶盒等设施捕捉的内容中的缺点,以验证新的应用程序版本或离线更改编码配置文件。 最近,咱们始终在将雷同的技术利用于诸如对咱们的数千个频道和直播流动进行实时品质监控以及大规模剖析新目录内容等问题。 咱们在 VQA 的团队训练计算机视觉模型来观看视频并发现可能影响客户观看体验的问题,例如块状帧、意外黑帧和音频噪声。 这使咱们可能解决数十万个直播流动和目录我的项目规模的视频。 咱们面临的一个乏味挑战是,因为 Prime Video 产品中视听缺点的发生率极低,训练数据中不足侧面案例。 咱们应用模仿原始内容缺点的数据集来应答这一挑战。 在应用此数据集开发检测器后,咱们通过对一组理论缺点进行测试来验证检测器是否能够转移到生产内容中。 咱们如何将音频点击引入干净音频的示例 干净音频的波形。 增加了点击的音频波形。 干净音频的频谱图。 增加了点击的音频频谱图。  咱们为 18 种不同类型的缺点构建了检测器,包含视频解冻和卡顿、视频撕裂、音频和视频之间的同步问题以及字幕品质问题。 上面,咱们认真钻研三个缺点示例:块损坏、音频伪影和视听同步问题。 块损坏应用数字信号处理进行品质剖析的一个毛病是难以辨别某些类型的内容和有缺点的内容。 例如,对于信号处理器来说,人群场景或高静止场景可能看起来像块损坏的场景,其中传输受损会导致帧内的像素块产生位移或导致像素块全副采纳雷同的色彩值。 https://assets.amazon.science...为了检测块损坏,咱们应用了残差神经网络,该网络旨在使高层明确纠正上层脱漏的谬误(残差)。 咱们将ResNet18 网络的最初一层替换为1x1 卷积(网络图中的 conv6)。 块损坏检测器的架构。 该层的输入是一个二维图,其中每个元素是特定图像区域中块损坏的概率。 该二维图取决于输出图像的大小。在网络图中,一个224 x 224 x 3 的图像传递到网络,输入是一个 7 x 7 的映射。 在上面的示例中,咱们将高清图像传递给网络,生成的映射为 34 x 60 像素。 ...

April 15, 2022 · 1 min · jiezi

关于计算机视觉:视频画质增强最优解微帧科技视频超高清引擎

4年前,中国首次独立4K修复的经典影片《盗马贼》展露新颜,全国人民都见证了这部老电影面目一新的一面,这是国内第一次推出独立进行4K修复的经典电影,代表着过后国内电影修复技术的最高程度。 迄今为止,越来越多经典影片被修复,从新登上大银幕,如记录新中国成立时刻的《开国大典》、占据几代人儿时记忆的《天书奇谭》、黑白转彩的《永不消失的电波》...... 影片修复程序繁冗,手工修复与AI修复相结合,能力做到事倍功半。本文将以微帧科技的视频超高清引擎为根底工具,从AI修复的角度开展分享。 01、画质修复加强保留不当导致呈现划痕、画面模糊不清、细节损失重大;画面充斥热噪声、块噪声、蚊子噪等各类噪声;色调存在偏差......等等,这些都是老影片普遍存在的问题。微帧【画质修复加强】可能综合视频画面质量,联合反交织、去噪、锐化、CNN等解决技术,强化纹理细节,晋升视频整体清晰度,让画面清晰、洁净、天然。 以动画版《西游记》为例,画面边缘轮廓模糊不清,存在马赛克、伪影等噪声,通过微帧画质修复加强,自适应判断噪声,并依据噪声强度进行智能调节,画面霎时面目一新,如获新生。 02、智能超分辨率光修复画质还不够,老影片大多分辨率都小,要想将老影片在目前支流的2K、4K屏幕或1200万像素的巨幕上放映,若间接拉大,场纹、马赛克、锯齿等问题都会进去。通过微帧【智能超分辨率】技术,智能匹配介质内容,进行重点超分,能高效地晋升视频分辨率,在大屏幕上也能清晰地观赏经典老片。 03、智能插帧目前支流的电视/手机根本都是高刷新率屏幕,但很多影片帧率仅有24帧~30帧,无奈匹配高刷新率屏幕,在一些高速移动场景会呈现画面不连贯、含糊等景象,微帧【智能插帧】技术基于静止剖析的帧率采样重建,依据两个相邻帧的关系,估算物体静止轨迹,插入一张两头帧,晋升视频帧率,使画面更加顺滑,静止细节展现更清晰。 04、帧彩HDR前文提到了老影片普遍存在的问题之一就是色调存在偏差,再加上观众对观影体验要求越来越高,以及近几年HDR内容及设施的大量生产推广,色调加强也成为了十分重要的一环,更丰满的色调能让观众更具代入感。微帧【帧彩HDR】技术能主动对视频的色调范畴及亮度进行剖析,将SDR视频转换为高动静范畴、高色深、广色域的HDR视频,让影片色调更细腻天然。 05、智能色调映射值得一提的是,针对无奈反对HDR视频解码和显示的设施,微帧采纳了【智能色调映射】技术,将HDR视频转换为所有设施均可播放的SDR视频,同时保留原始HDR色调,让一般屏幕设施用户也能感触到HDR的魅力。 修复自身就是一种守护,一部部承载着一代又一代人记忆的电影,一张张被岁月灰尘所蒙蔽的胶片,利用现代科技就能让这些逐步封沉在岁月里的流光溢彩再次焕发出本来的色调。 让含糊的影像复原原貌,让黯淡的影片焕发荣耀,通过技术来补救原片缺憾,共享时代记忆,让观众在观影的同时感触到心灵与视觉的双重享受,这就是微帧视频超高清引擎所保持的意义。 微帧视频超高清引擎,作为一款以高清视觉体验为外围打造的视频AI智能化产品,凭借着卓越的成果、优良的性能等劣势,目前曾经利用在了国内TOP级电视/电影平台上。要实现“高清将来”的愿景,还有很长的路要走,微帧也将联合本身的技术劣势一直进行摸索、优化,拓展更多技术能力,为构建高清将来出一份力,同时也欢送各路好友与微帧一起交换、探讨!

April 15, 2022 · 1 min · jiezi

关于计算机视觉:一部属于阿里云视频云的百年奥运云上故事

2022北京冬奥会是一届不凡的存在,回顾2月6日国际奥委会主席托马斯·巴赫在新闻发布会上所说:“咱们正在北京发明历史。” “奥运120多年历史,是人类更高更快更强的拼搏史,也是科技利用的演变史。从工夫维度看,奥运是一个传统产业,但基于数字化,奥运正焕发着新荣耀。北京冬奥会以前所未有的数字化程度,让更多人感触奥运文化与精彩。”巴赫说。 无疑,科技和绿色,是北京冬奥的内核特质,若再加叠一个扑面而来的印象,兴许是美学冬奥。 无论为冬奥的科技、冬奥的绿色、抑或冬奥的唯美,在阿里云撑持冬奥全面上云的大背景下,阿里云视频云也在全面助力“上云”和全新发明云上的所有,如云上实时交互,云上内容沉迷、云上智能生产等等,以视频云技术发明百年奥运史的一场新内容与新交互之旅,在云上,为百年奥运留下浓墨般的泛滥“第一次”。 云上实时交互:第一次在奥运会实现异地全息会面,突破时空之距 2022北京冬奥无畏尔疆我界你我尽可咫尺 冬奥会在面临 Covid-19 限度和物理隔膜之下,即便千里之外,人与人的会面也能够透过绿色科技之光而以全息状态实现。 基于AliRTC(阿里云音视频通信)技术,阿里云视频云推出全新的云上翻新解决方案——阿里云聚“Alibaba Cloud ME”, 第一次在百年奥运史上逾越物理空间,打造多人异地近程全息会面,发明了人与人之间的“云聚”时刻。该计划通过阿里云的RTC网络,联合视频超高清技术,最终以人物的发丝级全尺寸全息复刻、眨眼般的200毫秒超低延时,和稳若磐石的网络传输,实现多人之间身临其境的沉迷实时交互,让更多奇观由此产生。 奥运内外,当初将来,无论多想见的人、多边远的客户、多难相聚的团队,都能透过阿里云视频云的Cloud ME,以云聚之力,咫尺相见。 云上内容沉迷:第一次在奥运会启用互动虚构演播,打造沉迷报道 2022北京冬奥即使冰雪之外亦可沉迷其中 作为全新的云导播互动虚构演播技术,这是百年奥运以来的首次启用,为CGTN在北京冬奥的记者连线报道中充沛利用,打造了此次奥运赛事报道的沉迷式体验。 阿里云视频云的“虚构演播厅”,在东京奥运会就曾进入奥运村,而此次技术计划全面降级,达到广电级导播成果,接入门槛也极大升高,大大拓展了该技术的利用场景。同时,在链路上买通了GRTN和RTC网络,将多机位、多视角实时同步的技术能力、与RTC的实时连麦、异地开播能力联合,实现主播、嘉宾的多层虚构背景等能力叠加,晋升沉迷式直播体验,在互动成果上全面晋升到新的境界。 互动虚构演播厅在业界突破技术瓶颈,是国内首个纯云端实景抠像合流技术,也是国内首家“端云无缝连接”的导播平台,同时达到广电级的节目制作水准,在此次冬奥全程助力媒体实现全链路的制播上云,对传统新闻节目制作发明了全新场景。 云上智能生产:第一次以 “AI云智剪”登陆奥运会,发明美学生产 2022北京冬奥每一场凌空之美皆是AI的人文美学 回顾奥运赛期,每天都在演出冰雪传奇,而捕获产生霎时,凝固最精彩、最动人的体育人文画面,让“冰之舞”、“雪之舞”、“速度之美”、“凌空之美”如盛宴绽开,让“金牌时刻”与“国将风采”瞬即永恒。实现这所有的,源自阿里云视频云AI编辑部提供的云上智能生产能力——“AI云智剪”。 “AI云智剪”作为主题集锦的智能生产工具,在制作赛事短视频时,能够兼顾实效、精彩、人文、美学,实时实现多赛事的智能内容了解,智能化主动生成大量精彩视频素材,笼罩赛场动作、赛事内容、各类镜头等多个形容维度,生成丰盛的美学主题的集锦素材。 依附阿里云视频云弱小的流媒体解决能力和AI综合能力,“AI云智剪”在每场较量完结的第一工夫即对视频内容进行多维解析,并基于跨视频集锦生产能力,在2-3分钟内诞生大量主题集锦视频并可实时流传,冬奥期间共生产39878段素材,笼罩超200场较量。 奥运全面上云2022北京冬奥的外围信息系统实现了100%上云,奥运最外围的赛事问题、赛事转播、信息公布等信息系统迁徙至阿里云上,这是首个全面上云的冬奥会。 冬奥全面上云的一个重要的变动是,奥运转播不再仅仅依赖卫星传输,而通过“奥运转播云”带给寰球数十亿观众。 东京奥运会时,阿里巴巴帮忙奥组委实现了奥运史上首次采纳云计算撑持寰球直播,被誉为1964年东京奥运会首次通过卫星转播后的再一次技术反动。往年,阿里巴巴与奥林匹克播送服务公司联手打造出奥林匹克转播云OBS Cloud,为转播方提供云上解决方案,实现了高清电视直播和网络渠道直播同时在云上转播。 这带来两个显著变动:播放速度的晋升,可能做到在寰球各地以及各网络平台,进行超过6000个小时简直0提早、0卡顿的转播内容。在画质上,云上转播冲破了传统的2k,全程以4k超高清格局转播,局部重要赛事以8k格局转播,让观众“身临其境“。 云上全程护航:奥运全程护航,丝滑演绎开闭幕式的中国浪漫 2022北京冬奥黄河之水天上来,折柳寄情化诗画丝滑间尽是视频云保障的中国浪漫 反观这场冬奥会的顶流霎时,大略即是人文传奇般的开闭幕式。2月4日,冰立方雕刻出奥运五环,一滴冰蓝墨化出黄河之水;2月20日,柳枝送别,演变中国送迎八方来客的诗意。云上重现这场绝美盛宴,重爱护航不可或缺。 奥运内容在泛滥媒体平台上大量涌现,而基于云上的媒体解决是重要一环。冬奥期间,阿里云视频云全程反对奥运会主转播商的媒体解决服务,进行奥运视频的云上转码,以便视频内容可能高效稳固的输入,并进行多终端的极速散发和晦涩的播放演绎。 在冬奥会的筹备后期,阿里云视频云团队就聚焦冬奥视频链路的各个环节,进行了大量的测试、验证和应急预案制订,以最大水平保障奥运服务的稳定性。在整个冬奥期间,视频云技术在云上全力撑持,实现媒体解决服务零异样,运行极度安稳。 同时,阿里云视频云还保障了泛滥重要媒体平台在冬奥期间的直播流动,尤其针对开闭幕式多个平台直播的高画质、高流量需要,提供了多直播平台的转码、录制、切片、时移、播放,以及广目监播零碎等全链路服务,保障直播运行极致安稳,帧率无抖动产生,让冬奥会流动的每一帧都极度晦涩,丝般顺滑,完满出现。 2022北京冬奥,是云化的冬奥,上云后的全面数字化,贯通了从外部治理到内部观影,使得奥运赛场内外有了全新的体感、体验。对奥运来说,这是全新的终点。对视频云来说,这是全新的云上故事,且,故事未完待续。 「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实际技术文章,在这里与音视频畛域一流工程师交换切磋。公众号后盾回复【技术】可退出阿里云视频云产品技术交换群,和业内大咖一起探讨音视频技术,获取更多行业最新信息。

February 28, 2022 · 1 min · jiezi

关于计算机视觉:解码北京冬奥沉浸式报道黑科技-阿里云视频云互动虚拟演播技术

这个冬奥季,即使你在冰雪之外,也能透过播报感触同在。这就是互动虚构演播技术带来的。 “虚构演播厅”在东京奥运会就曾进入奥运村,而在2022冬奥期,其技术计划全面降级,达到广电级导播成果的同时,接入门槛极大升高,大大拓展了该技术的利用场景。同时在链路上买通RTC和GRTN网络,将多机位、多视角实时同步技术能力,与RTC实时连麦、异地开播能力联合,可实现主播、嘉宾的多层虚构背景等能力叠加,晋升沉迷式直播体验,在互动成果上全面晋升到新境界,助力打造北京冬奥赛事的沉迷式报道。 百年奥运首次启用互动虚构演播 —打造沉迷式报道2022北京冬奥虽于冰雪之际,但观众高燃的激情像一场冰与火之歌。对于赛场上的注目之星,咱们都很期待听到、看到、感触到他们在赛后实在的声音、风采和谈吐之相。 于是,早在冬奥会后期,CGTN(China Global Television Network)就在策动制作寰球冬奥运动员、冰雪明星的系列采访报道,冀望实时而精彩地出现运动员的赛事采访,而互动虚构演播技术的全新冲破,正是CGTN此次落实冬奥采访我的项目的最佳抉择。 通常而言,媒体异地采访须要连线App,且运动员的受访环境很不可控,于是,想展示好的人物采访画面成果,须要实景抠像再合成于虚构直播间,同时还要达到赛事完结后采访的实时流传成果,这对技术提出很大的挑战。于是,阿里云视频云全新降级的“互动虚构演播“技术在2022冬奥会就此退场,解决了这一难题。 作为全新的云导播实时互动虚构演播技术,这是奥运会第一次启用,为CGTN在北京冬奥会的记者连线报道场景中充沛利用,打造了此次奥运赛事报道的沉迷式体验。 该项技术在冬奥会期间全程助力CGTN进行了赛事异地采访、实景抠像合成的虚构直播,打造了异地互动的新形态播报,实现全链路制播上云,对传统新闻节目制作打造了全新场景。 同时,通过在音视频互动APP上实时连线,实现了导播人员和记者异地实时通信,第一工夫将新闻报道传递给观众。通过云导播与RTC(音视频通信)的全面买通,可主动获取连线直播间流,实现新闻采访与直播观看同步进行。此外,通过云端实景抠像算法技术能力,达到了极致精密的抠像合成成果。 这是百年奥运首次应用“互动虚构演播厅”进行沉迷式赛事报道,扭转了传统电视台记者的采访模式,再也无需记者携摄像团队,载着惨重设施到处奔走,更无需以往肯定要将记者与受访者设置于同一现场的固封模式。只有通过阿里云视频云互动虚构演播产品,采访工作仅需“两部手机+一台电脑”,即可随时随地开展采访直播与转播,从而变革了媒体生产与流传的技术链路,实现全链路制播上云的同时,也让赛事观众体验到更沉迷的播报视感。 “互动虚构演播厅”示意图 三项国内首个突破性超级能力 —业界尖端技术可能在此次冬奥会实现翻新计划落地,打造实时互动的沉迷式赛事报道,源于阿里云视频云在虚构演播厅产品上的深度打磨和三点战略性的技术冲破: 国内首个纯云端实景抠像合流技术此次的互动虚构演播计划,是针对冬奥会打磨的新实景抠像算法与引擎能力,它第一次采纳实景预设背景抠像,第一次采纳多机位切换抠像,第一次采纳4路抠像源(绿幕+实景)同时实时抠像解决。 泛滥“第一次”带来的价值是,满足了冬奥会级别的世界顶级赛事直播要求,将实景抠像成果达到业内天花板程度。 对标广电级别的节目要求,阿里云视频云正是利用算法突破技术壁垒,通过尝试多种算法和工程模型,一次次冲破自我,晋升实景抠像的成果和性能。在各种采访环境不可控的芜杂背景下,技术均可解决得十分完满,让冬奥的赛外内容播报体验极大晋升。 国内首家“端云无缝连接”的导播平台在此次冬奥会中,互动虚构演播厅首次买通了RTC和GRTN 网络,将多机位、多视角实时同步技术能力,与RTC实时连麦、异地开播能力进行联合。 个别状况下,导播台是始终不足端侧能力的,于是无奈实现实时互动场景,尽管也能够尝试和内外部各种App利用联结,但因为种种原因很难真正落地。 此次阿里云视频云RTC技术联合了导播台,进行虚构演播厅产品的深度革新和联动,并且对App端的界面成果和性能实现全面优化,为普通用户提供了简略、稳固的连线性能,真正实现了“互动虚构”演播能力。 业界广电级导播能力全新的互动虚构演播厅,全面满足超低延时、超稳定、超高并发的个性,达到广电级导播能力。 从连麦App端到导播合流输入全链路超低延时,实现连麦端实时通信、导播台“抠像+合成渲染输入”,最快2-3S内即可实现所有流程。在多人、多地同时开播、长时间连线开播状况下,对多背景抠图的解决场景能够达到稳固解决零断流的成果。整个计划落地,可禁受住大规模的散发、观看的考验,对超高并发仍旧稳固杰出。 “互动虚构演播厅”制作全链路 技术升级,先后助力两届奥运会 —发明奥运新纪元在东京冬奥会,阿里云视频云的虚构演播厅就曾进入奥运村。过后,身处日本东京和中国北京两地的企业代表,通过云导播台的虚构演播厅、实时字幕等能力,顺畅实现沉迷式直播连线。 2020东京奥运会 虚构演播厅让两地“同现”奥运村 本次2022北京冬奥,为了联合CGTN的记者采访和报道场景,同时满足央视记者深度沉迷式报道的观感,阿里云视频云重点对互动虚构演播计划,进行几个方面的深度降级: 第一,重点对实景抠像打造了新的算法引擎和极致成果,解决了实景抠像边缘毛糙,抖动等问题,抠像成果精密到人物发丝,实在细腻的成果促成了产品的可应用性,突破行业实景抠像壁垒。 第二,丰盛了云导播在场景端侧的接入能力,实现“实时互动+导播”的残缺计划,打造了“实时互动”场景,并且,通过App端简略便捷的开播,让应用门槛十分之低,从而高度满足了电视台记者群体的应用诉求。虚构演播厅强化增补了前链路的推流互动环节,更进一步实现了沉迷、实时的直播体验。 第三,全面降级导播稳定性、超长工夫连麦稳定性、抠像稳定性、音视频互动App性能等,从而全方位满足异地、多人、多场景、超长工夫的连麦和直播需要,对于简单的多场景(单人/双人、近景/远景、直播中插垫片)实现无缝切换,真正达到广电级别的节目制作水准。 全面的技术升级,将“虚构演播厅”降级为具备实时互动沉迷成果的“互动虚构演播厅“产品计划,从而为2022冬奥会带来赛事报道的全新体验。 互动虚构演播的更多空间—更多场景价值北京冬奥会行将谢幕,互动虚构演播还将持续反对残奥会的实时沉迷连线播报。奥运会这样的超级赛事打磨了技术计划,让其不仅服务于此。 作为全新的云导播实时互动虚构演播技术,互动虚构演播厅能够通过低门槛地应用音视频互动App,以发动直播与实时连线互动,同时,基于云端抠像与虚构背景合成的能力,提供“端到云到端”的虚构演播解决方案,从而打造沉迷式直播体验。 它是专门为近程互动打造,实现虚构直播间的沉迷体验。此外,也为近程制作、异地互动直播的场景提供解决方案,如身处在滑雪场的运动员能够和新闻核心的主持人进行异地的虚构合屏,并可进行实时互动采访。 从理论的利用场域,不仅撑持体育竞技、国内外赛事类的现场转播、近程讲解、多主持人模式等场景,互动虚构演播厅还可落地于更多行业场景,如电商与流动的直播反对、会议的多模式转播,以及各种类型的异地连线与虚构访谈,场景宽泛,能力丰盛,均可实现。 总言之,实际与积淀于2022北京冬奥会,阿里云视频云会将互动虚构演播解决方案进一步深入为更强的产品力输入,面向波及直播场景的各行业提供近程开播、虚构直播间的解决方案。 从后继倒退来看,在技术升级和产品优化上,“互动虚构演播”会围绕三个方向持续演进冲破: 首先,在实现了低门槛接入之后,更强调实现继续降本,晋升整个产品性价比和竞争力;再者,增强欠缺端侧布局,丰盛导播互动能力(如观众端播放画面的返送等),从而提供更欠缺的互动虚构演播计划。在此之外,在物理与虚拟世界穿梭构建的大趋势之下,将深度联合“虚构演播厅”的概念,摸索虚拟人、3D背景等能力的联合与落地,打造虚构直播间的更多可能。 将来的互动虚构演播,技术更前瞻,门槛更低简,场景更丰盛,互动更多元,成果更沉迷。借冬奥之光,技术普惠就在眼前。 「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实际技术文章,在这里与音视频畛域一流工程师交换切磋。公众号后盾回复【技术】可退出阿里云视频云产品技术交换群,和业内大咖一起探讨音视频技术,获取更多行业最新信息。

February 25, 2022 · 1 min · jiezi

关于计算机视觉:恒源云AdderSR-Towards-Energy-Efficient-Image-SuperResolution学习笔记

文章起源 | 恒源云社区 原文地址 | CVPR2021 原文作者 | 学习cv的小何 一 钻研问题单图像超分辨率(SISR)是一项典型的计算机视觉工作,其目标是从低分辨率(LR)图像中重建高分辨率图像。SISR是智能手机和挪动相机在事实利用中十分风行的图像信号处理工作。因为这些便携式设施的硬件限度,有必要开发具备低计算成本和高视觉品质的SISR模型。 第一个超分辨率的卷积神经网络(SRCNN)[5]只蕴含三个具备大概57K参数的卷积层。而后,随着深度和宽度的减少,DCNN的容量被放大,导致超分辨率的显著进步。最近DCNN的参数和计算成本也相应减少。例如,残余密集网络(RDN)[30]蕴含22M参数,并且仅解决一个图像须要大概10,192GFLOP(浮数操作)。与视觉辨认的神经网络(如50清晰度网)相比,因为较大的特色地图大小,SISR模型具备更高的计算复杂度。这些大量的计算将缩小挪动设施的持续时间。 本文利用加法神经网络(AdderNet)钻研了单幅图像超分辨率问题。 与卷积神经网络相比,加法网利用加法计算输入特色,防止了传统乘法的大量能量消耗。 然而,因为计算范式的不同,很难将AdderNet在大规模图像分类上的现有胜利间接继承到图像超分辨率工作中。 具体来说,加法器操作不容易学习一致性映射,这对于图像处理工作是必不可少的。 此外,AdderNet无奈保障高通滤波器的性能。 为此,咱们深入分析了加法器操作与身份映射之间的关系,并插入快捷方式,以进步应用加法器网络的SR模型的性能。 二 背景介绍AdderNet加法网络,“计算机视觉研究院”平台之前就详细分析了,并且移植到指标检测,具体链接如下:CVPR2020 AdderNet(加法网络)代码实际 | CVPR2020——AdderNet(加法网络(代码分享) 现有的无效超分辨率办法旨在缩小模型的参数或计算量。最近,[Hanting Chen, Yunhe Wang, Chunjing Xu, Boxin Shi, Chao Xu, Qi Tian, and Chang Xu. Addernet: Do we really need multiplications in deep learning? In CVPR, 2020]创始了一种新的办法,通过用加法运算代替乘法来缩小网络的功耗。它在卷积层中没有任何乘法,在分类工作上实现了边际精度损失。本此钻研旨在进步加法网络在超分辨率工作中的性能。 三 流程图简要概括本文流程: 1、提出将Addnet利用在SR里会遇到的两个问题, 不能学习一致性映射不能实现高通滤波2、剖析了这两个问题呈现的起因并进行证实3、提出了解决这两个问题的办法4、试验验证 四 办法外围办法简述: 利用相似残差的办法解决无奈实现一致性映射的问题利用指数激活解决无奈实现高通滤波的问题 参考AdderSR: Towards Energy Efficient Image Super-Resolution AdderNet: Do We Really Need Multiplications in Deep Learning? ...

January 26, 2022 · 1 min · jiezi

关于计算机视觉:ICCV-2021口罩人物身份鉴别全球挑战赛冠军方案分享

1. 引言10月11-17日,万众期待的国内计算机视觉大会 ICCV 2021 (International Conference on Computer Vision) 在线上如期举行,受到寰球计算机视觉畛域研究者的宽泛关注。往年阿里云多媒体 AI 团队(由阿里云视频云和达摩院视觉团队组成)加入了 MFR 口罩人物身份甄别寰球挑战赛,并在总共5个赛道中,一举拿下1个冠军、1个亚军和2个季军,展示了咱们在人物身份甄别畛域深厚的技术积淀和业界当先的技术劣势。 2. 比赛介绍MFR口罩人物身份甄别寰球挑战赛是由帝国理工学院、清华大学和InsightFace.AI联结举办的一次寰球范畴内的挑战赛,次要为了解决新冠疫情期间佩戴口罩给人物身份甄别算法带来的挑战。比赛从6月1日开始至10月11日完结,历时4个多月,共吸引了来自寰球近400支队伍参赛,是目前为止人物身份甄别畛域规模最大、参加人数最多的权威赛事。据官网统计,此次比赛收到的总提交次数超过10000次,各支队伍竞争异样强烈。 2.1 训练数据集此次比赛的训练数据集只能应用官网提供的3个数据集,不容许应用其它额定数据集以及预训练模型,以保障各算法比照的偏心公正性。官网提供的3个数据集,别离是ms1m小规模数据集、glint360k中等规模数据集和webface260m大规模数据集,各数据集蕴含的人物ID数和图片数如下表所示: 2.2 评测数据集此次比赛的评测数据集蕴含的正负样本对规模在万亿量级,是以后业界规模最大、蕴含信息最全的权威评测数据集。值得注意的是所有评测数据集均不对外开放,只提供接口在后盾进行主动测评,防止算法过拟合测试数据集。InsightFace赛道评测数据集的具体统计信息如下表所示: WebFace260M赛道评测数据集的具体统计信息如下表所示: 2.3 评测指标此次比赛的评测指标不仅有性能方面的指标,而且还蕴含特色维度和推理工夫的限度,因而更加贴近实在业务场景。具体的评测指标如下表所示: 3. 解决方案上面,咱们将从数据、模型、损失函数等方面,对咱们的解决方案进行逐个解构。 3.1 基于自学习的数据荡涤家喻户晓,人物身份甄别相干的训练数据集中宽泛存在着噪声数据,例如同一人物图片扩散到不同人物ID下、多个人物图片混合在同一人物ID下,数据集中的噪声会对辨认模型的性能产生较大影响。针对上述问题,咱们提出了基于自学习的数据荡涤框架,如下图所示: 首先,咱们应用原始数据训练初始模型M0,而后应用该模型进行特征提取、ID合并、类间荡涤和类内荡涤等一系列操作。对于每个人物ID,咱们应用DBSCAN聚类算法去计算中心特色,而后应用核心特色进行类似度检索,这一步应用的高维向量特色检索引擎是达摩院自研的Proxima,它能够疾速、精准地召回Doc中与Query记录类似度最高的topK个后果。紧接着,咱们应用荡涤实现的数据集,训练新的模型M1,而后反复数据荡涤及新模型训练过程,通过一直进行迭代自学习形式,使得数据品质越来越高,模型性能也随之越来越强。具体来看,类间荡涤和类内荡涤的示意图如下图所示: 值得注意的是,咱们的荡涤流程中先进行类间荡涤、再进行类内荡涤,与CAST[1]数据荡涤框架不同,这样在实现类间荡涤后能够更新新的ID核心特色,使得整个荡涤过程更加齐备,荡涤成果也更好。为了验证数据荡涤对最终性能的影响,咱们在ms1m数据集上做了一系列比照试验,后果如下表所示: 表中的阈值指的是类内荡涤的类似度阈值,能够看出当阈值设置过低(如0.05)时,噪声没有被荡涤洁净,因而性能体现不是最佳;而当阈值设置过高(如0.50)时,噪声被荡涤的同时难样本也被荡涤了,导致模型泛化能力变弱,在评测数据集上性能反而降落。因而抉择一个两头阈值0.25,既荡涤了大量噪声,又保留了艰难样本,在各项评测指标上均达到最佳性能。此外,咱们还画出了不同类似度阈值与残余图片数的关系,如下图所示: 3.3 戴口罩数据生成为解决戴口罩数据有余的问题,一种可行的计划是在已有的无口罩图像上绘制口罩。然而,目前大部分的绘制计划属于地位贴图式,这种计划生成的戴口罩图像不够实在且不足灵活性。因而,咱们借鉴PRNet[2,3]的思路,采纳一种图像交融计划[4]来获取更合乎真实情况的戴口罩图像,如下图所示, 该计划的原理是将口罩图像和原图像通过3D重建别离生成UV Texture Map,而后借助纹理空间合成戴口罩图像。在数据生成过程中,咱们应用了8种类型的口罩,意味着咱们可在已有的数据集上对应生成8种不同格调的戴口罩图像。基于UV映射的计划克服了传统立体投影形式中原图像和口罩图像间的不现实连接和变形等问题。此外,因为渲染过程的存在,戴口罩图像能够取得不同的渲染成果,比方调整口罩角度及光照成果等。生成的戴口罩图像示例如下图所示: 在生成戴口罩数据训练模型的过程中,咱们发现戴口罩数据的比例对模型性能有不同水平的影响。因而,咱们将戴口罩数据占比别离设置为5%、10%、15%、20%和25%,试验后果如下表所示: 从上表中发现,当戴口罩数据比例为5%时,模型在MR-ALL评测集上的性能最高;当戴口罩数据比例调整至25%时,对Mask戴口罩评测集的性能晋升显著,但在MR-ALL上的性能降落显著。这阐明当混合戴口罩数据和失常数据进行训练时,其比例是影响模型性能的重要参数。最终,咱们抉择戴口罩数据比例为15%,在戴口罩和失常数据上的性能达到一个较好均衡。 3.4 基于NAS的骨干网络不同骨干网络对特征提取的能力差异较大,在人物身份甄别畛域,业界罕用的基线骨干网络是在ArcFace[5]中提出的IR-100。在此次比赛中,咱们采纳达摩院提出的Zero-shot NAS (Zen-NAS[6]) 范式,在模型空间搜寻具备更强表征能力的骨干网络。Zen-NAS区别于传统NAS办法,它应用Zen-Score代替搜寻模型的性能评测分数,值得注意的是Zen-Score与模型最终的性能指标成正比关系,因而整个搜寻过程十分高效。Zen-NAS的外围算法构造如下图所示: 咱们基于IR-SE基线骨干网络,应用Zen-NAS搜寻3个模型构造相干的变量,别离是:Input层的通道数、Block层的通道数和不同Block层重叠的次数,限度条件是搜寻出的骨干网络满足各赛道的推理工夫束缚。一个乏味的发现是:Zen-NAS搜寻出的骨干网络,在ms1m小数据集赛道上的性能体现与IR-SE-100简直无差别,但在WebFace260M这样的大数据集赛道,性能体现会显著优于基线。起因可能是搜寻空间增大后,NAS可搜寻的范畴随之增大,搜寻到更弱小模型的概率也随之减少。 3.5 损失函数此次比赛咱们采纳的基线损失函数为Curricular Loss[7],该损失函数在训练过程中模仿课程学习的思维,依照样本从易到难的程序进行训练。然而,因为训练数据集通常是极度不均衡的,热门人物蕴含的图片数多达数千张,而冷门人物蕴含的图片数往往只有1张。为解决数据不平衡带来的长尾问题,咱们将Balanced Softmax Loss[8]的思维引入Curricular Loss中,提出一个新的损失函数:Balanced Curricular Loss,其表达式如下图所示: 在ms1m赛道上,咱们比照了Balanced Curricular Loss (BCL) 与原始Curricular Loss (CL) 的性能,后果如下表所示: ...

November 22, 2021 · 2 min · jiezi

关于计算机视觉:这个-少年黑客用黑科技守护独居老人

2021 年 2 月,“新内容 新交互” 寰球视频云翻新挑战赛启幕。本次大赛由英特尔联结阿里云主办,与优酷策略技术单干,天池平台和阿里云视频云团队独特承办。大赛自开赛以来,吸引了寰球超过 4600 名选手报名参赛,咱们遴选了参赛选手中优良案例和动人故事,一起走进视频云守业创新者的世界。 5 月 11 日国家统计局公布了第七次全国人口普数据 —— 我国 60 岁及以上人口的比重达到 18.70%,其中 65 岁及以上人口比重达到 13.50%,如何让老年人 “老有所养,老有所依” 成为了社会的热议话题。 来自青岛大学的大四学生魏子钧就将眼光集中在了老年人居家养老的问题上,研发出了独居老人衰弱状态监管零碎,该零碎可能时刻监测老年人的在家的生存状态,更好地保障独居者的平安,子女能够通过近程的控制系统时刻关注父母的居家情况。 视频云 + AI,技术让独居老人更平安随着人口流动性的加强和老龄人口的增多,空巢家庭和独居老人曾经成为很多家庭面临的难题,而独居老人发生意外的新闻也时常见诸报端。年轻人微小的工作和生存压力,让他们疏于对父母的关照和沟通,在外求学的魏子钧每每看到独居老人的社会新闻,都不禁放心起家中的老人,于是就萌发了开发一款利用视频云和 AI 技术帮忙独居老人进步居家平安、衰弱监测的产品。 魏子钧在调研的时候发现,当初市面上的很多产品,大多局限于摄像头的监测性能,然而大城市年轻人 996 的工作模式,让他们很难 24 小时都守在摄像头前,那么摄像头之外的工夫,如何能及时发现独居的父母们的 “潜在危险” 呢?这仿佛是一个业界面临的痛点问题。 看到此次视频云寰球翻新挑战赛的招募,魏子钧认为这是一个契机,能够将本人的想法付诸实现。他将指标瞄准了视频 + AI 技术,开发了一套独居老人衰弱状态监管零碎,这个零碎利用摄像头获取的人体姿势画面,再加上 Intel OpenVINO toolkit 解决模型,能够剖析身材关键点的信息,判断人体的姿势,清晰精确的辨别视频中对象是 “站立” 或 “躺平” 状态,并统计躺姿时长,若躺姿维持工夫超过设定阈值,则进行正告解决。 在这套零碎中,次要蕴含了以下几个要害的技术节点: 利用监控摄像头获取视频信息;提取关键点信息,依据人体关键部位信息,设计算法判断姿势;提供算法判断后果,并对长时间躺姿进行正告。 失常躺姿,未达到告警阈值时,零碎提醒 “lie” 失常躺姿,达到告警阈值时,零碎提醒 “danger” 除此之外,零碎还会统计老人平时静止劳动的时长,依据统计后果,提供正当的劳动和体育锻炼倡议,让老年人们防患于未然,时刻放弃衰弱的生存状态。 年少时的黑客梦,让他始终奔跑 1999 年出世的魏子钧目前就读于青岛大学计算机科学技术业余,是一名大四学生。当被问到为什么会抉择计算机专业,魏子钧谈到了本人的 “黑客梦”,年少的他热衷于科幻电影,电影里的那些电脑高手成为了他的偶像,从那之后黑客梦的种子便在他的心里开始生根发芽。 随着计算机病毒的泛滥,黑客在公众心目中仿佛成为了 “立功” 的代名词,但在魏子钧的心里 “黑客” 却有着不同的涵义。在他看来,真正的 “黑客” 应该用技术扭转世界,做那些既 “酷” 又有 “爱” 的事件,他们崇尚自在、热衷摸索、乐于分享,是互联网安全的守护者。所以,在导师的倡议下,魏子钧研究生抉择了网络安全方向,朝着本人的黑客梦继续前进。 ...

June 7, 2021 · 1 min · jiezi

关于计算机视觉:CVPR-2021-|针对强时序依赖即插即用混合注意力机制的-ACTION-模块

作者 | 王正蔚 佘琪编辑 | CV君报道 | 我爱计算机视觉(微信id:aicvml)本文是对咱们 CVPR 2021 接管的工作 "ACTION-Net: Multipath Excitation for Action Recognition" 的介绍。次要针对强时序依赖行为辨认这个场景,设计了一组卷积模块。 作者单位:都柏林圣三一大学,字节跳动 论文地址:https://arxiv.org/abs/2103.07372 我的项目地址:https://github.com/V-Sense/AC... 01ACTION模块ACTION 的核心思想是生成三个 attention map 即时空 attention map, channel attention map 和 motion attention map 来激发相应视频中的特色。因为 ACTION 模块是基于 2D CNN 的,所以 ACTION 的输出是一个 4D (N: batch size, T: number of segments, C: number of channels, H: hegith, W: width)。上面咱们将介绍三个模块别离对于输出 X 的解决。 1.1时空注意力 (Spatial-Temporal Excitation: STE)该模块通过产生时空 attention map 来提取视频中的时空(spatio-temporal)特色。传统的时空特征提取次要应用3D卷积,但间接对输出引入3D卷积会大大的减少模型的计算量。所以咱们先对 X 做一个channel average失去一个对于时空的 global channel 的特色 ...

April 9, 2021 · 2 min · jiezi

关于超分辨率:多功能的图像超分辨模型用于盲图像超分辨的非对称卷积神经网络

作者 | 菜鸟青年编辑 | CV君报道 | 我爱计算机视觉(微信id:aicvml)哈工大、台湾国立清华大学与香港中文大学的钻研人员联结提出用于盲图像超分辨的非对称卷积网络,该文收录于IEEE Transactions on Systems, Man, and Cybernetics: Systems (IEEE TSMC)期刊。 该文能通过一个模型解决固定缩放因子图像超分辨、盲图像超分辨问题及解决蕴含盲噪声的盲超分辨问题,在数字设施上具备良好的利用价值。 题目:Asymmetric CNN for image super-resolution 作者:Chunwei Tian, Yong Xu, Wangmeng Zuo, Chia-Wen Lin and David Zhang 单位:哈工大、台湾国立清华大学于香港中文大学 深度卷积神经网络在过来5年内曾经被广泛应用到底层视觉畛域。已有大部分办法是依据不同利用的属性,以设计适宜网络结构。然而,这些构造都通过平等看待所有像素点的形式交融不同特色,以进步指标工作的性能,它们漠视部分像素点的作用而导致低的训练效率。 此外,已有办法都是针对固定缩放因子来训练超分辨模型,这受限于实在的低分辨图像。对此,本文提出一种用于图像超分辨的非对称的卷积神经网络(ACNet)。 首先,ACNet通过一维的非对称卷积构造加强方核作用,以加强部分显著性特色作用并晋升训练效率和SR性能;其次,ACNet充分利用低频的网络档次特色解决深度网络长期依赖问题,同时深度特色和宽度特色联合使得取得的低频特色更鲁棒。 接着,ACNet通过一组并行的上采样操作实现盲超分辨模型及盲噪声的盲超分辨模型;最初,ACNet充分利用取得的低频特色和高频特色来学习更精确的超分辨特色以及避免之前操作导致特色过加强景象。 作者通过在多个公开数据集上从PSNR/SSIM、复杂度、复原高质量图像工夫、图像品质评估以及可视化图像(平坦图像、Y通道图像、出错图像、细节信息、纹理图像、边缘图像等)等多方面验证了,所提出ACNet能通过一个模型高效地解决SISR工作、盲超分辨工作及盲噪声的盲超分辨工作,该技术具备良好的利用价值。更多信息如下: 1 网络结构图 2 上采样操作 3 不同办法在不同数据集的SR后果1)不同办法在Set5和Set14数据集对于不同缩放因子的PSNR/SSIM值 2)不同办法在B100和U100数据集对于不同缩放因子的PSNR/SSIM值 3)复杂度和运行工夫 4)图像品质评估 5)蕴含低频噪声的低分辨图像复原后果 6)蕴含高频噪声的低分辨图像复原后果 7)取得高清图像和Y通道图像的平坦区域可视化后果 8)取得谬误图像和边缘图像的平坦区域可视化后果 9)取得高清图像和Y图像的纹理区域可视化后果 10)取得谬误图像和边缘图像的纹理区域可视化后果 11)取得高清图像和Y图像的细节信息区域可视化后果 12)取得谬误图像和边缘图像的细节信息区域可视化后果 论文:https://arxiv.org/pdf/2103.13... 代码:https://github.com/hellloxiao... 作者更多信息: ...

April 6, 2021 · 1 min · jiezi

关于计算机视觉:多项评测排名第一大连理工和微软亚研院提出目标跟踪算法STARK

作者 | Bin Yan编辑 | CV君报道 | 我爱计算机视觉(微信id:aicvml)导读本文简短介绍大连理工大学和微软亚洲研究院单干的最新工作:Learning Spatio-Temporal Transformer for Visual Tracking,代码已开源,先来看下STARK在各大数据集上的性能。 短时跟踪 TrackingNet AUC 82.0% (目前第一)! GOT-10K AO 68.8% (只用GOT10K训练 目前第一)! VOT2020 EAO 0.505 (目前第二)! 长时跟踪 LaSOT AUC 67.1% (目前第一)! VOT2020-LT F-score 70.2% (目前第一)! OxUvA MaxGM 78.2% (Leaderboard第二,有paper的工作中第一)! 作者单位 :大连理工大学,微软亚洲研究院 论文:https://arxiv.org/pdf/2103.17... 代码:https://github.com/researchmm... 看点本文提出一种名为STARK的全新跟踪框架,该框架具体如下特点: (1)通过Transformer学习鲁棒的时空联结示意。STARK的输出包含:第一帧模板,以后帧搜寻区域,以及一个随工夫变动的动静模板。 其中第一帧模板和以后帧搜寻区域提供了待跟踪目标的外观与地位信息(空间信息),动静模板则涵盖了指标在跟踪过程中的动态变化(时序信息)。 STARK将“时空”看作一个整体,将以上三张图像的骨干网络特色沿空间维度开展后拼接,失去一个同时蕴含空间与时序信息的特色序列作为Transformer编码器的输出,以学习一种弱小的时空联结示意。 (2)将指标跟踪建模成一个间接的边界框预测问题。通过预测左上与右下角点热力求的形式,每帧间接失去一个最优的边界框,彻底解脱了之前简单且对超参敏感的后处理 (3)STARK在多个短时跟踪与长时跟踪数据集上获得了以后最先进的后果,并且在GPU端能够实时运行(30/40 FPS on Tesla V100)。 试验后果本文在多个短时跟踪与长时跟踪数据集上评估了STARK算法的性能,结果表明STARK在短时和长时跟踪数据集上均获得了最先进的性能(第一或第二) 短时跟踪 GOT-10K遵循GOT-10K官网的要求,在GOT-10K测试集上测试时,咱们只用GOT10K的训练集训练 STARK获得了68.8%的AO,排名第一 GOT-10K TrackingNetSTARK在TrackingNet上获得了82.0%的AUC,排名第一 TrackingNet VOT2020VOT2020采纳mask作为真值,参赛者能够抉择汇报box或者mask。当只汇报box时,STARK以0.308的EAO超过了之前的SOTA SuperDiMP(0.305); 当搭配上AlphaRefine办法(首先用STARK预测边界框,再用AlphaRefine预测mask),STARK超过了AlphaRef, OceanPlus等最先进的办法, EAO达到了0.505,排名第二 (仅次于VOT20的冠军RPT) ...

April 1, 2021 · 1 min · jiezi

关于计算机视觉:PoseFormer首个纯基于Transformer的-3D-人体姿态估计网络性能达到-SOTA

作者 | 郑策编辑 | CV君报道 | 我爱计算机视觉(微信id:aicvml)本文分享一篇 52CV 粉丝的论文『3D Human Pose Estimation with Spatial and Temporal Transformers』。文中提出首个纯正基于Transformer 的架构,在不波及卷积的状况下在视频中实现3D人体姿势预计。算法在Human3.6M和MPI-INF-3DHP数据集上均达到SOTA performance,并在 in the wild 视频中有着不错的体现。 详情介绍如下: 论文作者:Ce Zheng, Sijie Zhu, Matias Mendieta, Taojiannan Yang, Chen Chen, Zhengming Ding作者单位:北卡夏洛特分校;杜兰大学论文链接:https://arxiv.org/abs/2103.10455我的项目地址:https://github.com/zczcwh/Pos...                                             01简介人体姿势预计在近年来受到宽泛的关注,并已被使用于人机交互,静止剖析,虚拟现实等工作中。3D人体姿势预计的办法次要分为两类:间接预计(Direct estimation)和 2D 到 3D (2D to 3D lifting) 。 其中 2D 到 3D 的办法先利用 SOTA 2D 人体姿势预计算法失去 2D 关键点,再通过神经网络预计 3D 人体姿势。基于其优异的体现,2D 到 3D 已成为支流办法。 ...

March 31, 2021 · 1 min · jiezi

关于超分辨率:TIP2021-视频超分辨率中的多级特征融合网络

作者 | Salted Fish编辑 | CV君报道 | 我爱计算机视觉(微信id:aicvml) 论文链接: https://ieeexplore.ieee.org/d... 看点现有的VSR办法的次要问题是参考帧的特色与相邻帧的特色的交融是一步的,交融后的特色可能与原始LR中的视觉信息有较大的偏差。本文提出了一种端到端的多阶段特色交融网络,次要奉献为: 提出了一种新的VSR特色交融办法,该办法容许在主干网的不同阶段汇集空间和工夫特色。多尺度可变形对齐模块,用于在特色级别对齐帧。 办法overview下图显示了框架,包含两个子网:工夫对齐网络和调制特色交融网络。 承受输出,预计相邻帧的对齐特色,而后,将相邻帧的所有对齐特色连贯为: 共享给所有的SFT,逐渐与的多阶段特色交融,失去预测的HR帧。 工夫对齐网络(TAN) 给定LR帧,通过观察像素的时空邻域以非显示静止弥补的形式来工夫对齐LR帧和相邻帧。该算法包含三个模块:特征提取模块、多尺度扩大变形(MDD)对齐模块和注意力模块。 特征提取模块:由一个卷积层和5个具备ReLU的残差块组成。利用共享的特征提取模块从中提取特色并将其输出MDD对齐模块。 MDD对齐模块:下图显示了MDD对齐模块的体系结构。输出的串接并馈入3×3瓶颈层,以缩小特色映射的通道。 先并行地重叠两个3×3和5×5卷积核以提取多尺度特色。而后,将特色输出两个不同的扩张率为2和3的3×3的核中,有利于扩充感触野。 这种简略的设计能够无效地扩充接管野,其计算量远低于EDVR中的PCD对准模块。因而,MDRB有助于利用帧间像素的工夫依赖性,即便在蒙受简单和大静止时,也能生成精确的偏移量参数: 通过偏移量计算对齐特色: 注意力模块:因为遮挡、含糊区域和视差问题,容易产生一些未对齐,使得不同空间地位的对齐特色信息不相等,从而导致在某些特色上与参考帧存在较大差别。故设计了一个空间留神掩码M去衡量: 其中,测量之间的像素级相似性,定义为: 其中,应用L1间隔去更加关注高置信度地位的特色。 调制特色交融网络 现有的SOTA办法通常首先通过级联将参考帧和对齐的相邻特色交融,而后将它们馈送到重构网络中以产生HR输入。然而,这种单阶段交融策略有两个局限性: 第一,对齐的相邻帧和参考帧在特色级有大量类似的模式,因而,简略地将它们串联在一起会给重建网络带来大量的冗余,导致低廉的计算成本。 第二,交融只产生在初始层,随着深层网络档次的加深,来自相邻帧的互补工夫信息将逐步削弱。为了解决上述问题,本文提出了级联一组插在分支骨干不同深度的MRFBs。采纳SRResNet的高级体系结构作为分支骨干。 每个MRFB蕴含一个SFT层,该层以工夫对齐特色作为共享条件,从参考帧调制其输出特色映射。SFT层通过缩放和移位操作输入以为条件的的仿射变换: 其中和是缩放比例和位移的参数。将送入不同权值的卷积层,能够失去变换参数和。在每个MRFB中,在所有卷积层之后注入SFT层,在多阶段交融过程中,利用对齐的工夫信息统一地加强了参考帧的视觉信息。 最初,咱们通过一个反馈跳过连贯将从最初一个MRFB学习到的高级特色反馈给第一个MRFB的输出层。这个反馈机制利用高层信息对底层特色进行细化,细化后的特色通过调制特色交融网络,便于学习从LR到HR图像空间的简单非线性映射,无需额定的参数。 试验施行细节 应用Vimeo-90K数据集的一个子集Septuplet来训练模型。应用Charbonnier惩办函数作为损失,蕴含16个MFRB。 融化试验 定量评估 不同对准模块的比拟 同交融策略的比拟,其中,DF将多帧的对齐特色串联起来,而后通过2d卷积进行一级交融。3DF间接利用三维卷积来提取时空特色并进行一级交融。 与SOTA的PSNR比照 END

March 25, 2021 · 1 min · jiezi

关于计算机视觉:2021-最新CV综述分类汇总持续更新

论文综述能够帮忙咱们疾速获取某一个技术方向的方方面面,是整体把握特定技术方向最好的材料。 在浩如烟海的计算机视觉类论文中(每年新出CV及相干技术论文1W+篇),综述具备非凡的帮忙意义。它们往往能分明为咱们串起来一个特定畛域的定义、重要论文、倒退程度、潜在钻研方向、相干代码和数据集等信息。 来自 Real-World Single Image Super-Resolution: A Brief Review CV君总结了往年至今arxiv上呈现的所有综述,并放到了Github上: https://github.com/52CV/2021-... 总计有55篇论文,并依照不同方向进行了分类。 心愿对大家有帮忙!

March 25, 2021 · 1 min · jiezi

关于计算机视觉:华为联合北大悉尼大学对-Visual-Transformer-的最新综述

作者 | CV君报道 | 我爱计算机视觉(微信id:aicvml)Transformer 技术最开始起源于自然语言解决畛域,但往年5月份Facebook 的一篇文章将其利用于计算机视觉中的指标检测(DETR算法,目前已有78次援用)使其大放异彩,并迅速失去CV钻研社区的关注。 已有钻研表明,Transformer 在计算机视觉畛域不仅实用于高级工作如图像分类、指标检测、车道线检测等,在低级工作如图像增强中也获得了突破性停顿,毫无疑问,Transformer 是目前计算机视觉畛域最值得关注的方向之一。 一时间,在各种视觉工作 + Transformer 的论文正如雨后春笋般涌出。 明天,来自华为诺亚方舟实验室、北京大学、悉尼大学的学者颁布论文 A survey on Visual Transformer,对该畛域进行了较为零碎的文献总结,置信对于想要钻研、应用Visual Transformer 技术必定会有帮忙。 该文作者信息: Transformer 技术倒退的里程碑事件: Transformer 的重要事件 下表列出了 Visual Transformer 代表作品: Transformer 曾经进入的视觉方向:图像分类、指标检测、宰割、图像增强、图像生成、视频修补、视频形容等,为解决Transformer 计算效率问题,业界也有多篇论文提出了新的改良。以推动 Transformer 在CV工业界的尽快落地。 Transformer 是什么? Transformer 的提出最开始用于机器翻译,下图展现了原汁原味 Transformer 的构造: 用于晚期自然语言解决工作的 Transformer 架构图 这里输出是一种语言的句子,每个单词变换为512维的向量嵌入,Transformer 时对其进行屡次的编码和解码,编码模块中每一个编码器Encoder把上一阶段的后果进行编码,最初一个编码器将数据通过多个解码器Decoder 进行解码,解码器之间也进行串联,最初一个解码器输入另一种语言的句子。 每一个编码器Encoder内含有自注意力(self-attention layer)层和一个前馈神经网络(feed-forward neural network)模块。每一个解码器含有自注意力(self-attention layer)层、编码器-解码器注意力层和一个前馈神经网络(feed-forward neural network)模块。 Transformer 的具体结构图 基于Transformer的语言模型取得了胜利利用: 基于Transformer构建的代表性语言模型列表 Vision Transformer(ViT,出自谷歌论文 An image is worth 16x16 words: Transformers for image recognition at scale)示意图: ...

December 25, 2020 · 1 min · jiezi

关于计算机视觉:阿里优酷视频增强和超分辨率挑战赛冠军方案VESRNet

作者 | Wangsy编辑 | CV君报道 | 我爱计算机视觉(微信id:aicvml) 作者单位:中国科学技术大学、微软亚洲研究院 论文:https://arxiv.org/pdf/2003.02... 挑战赛:https://tianchi.aliyun.com/co... 看点视频加强与超分辨率(VESR)旨在从噪声和低分辨率视频帧中复原高分辨率的细节。为了推动钻研从受事实世界进化影响的低质量视频中复原高质量视频,优酷举办了视频加强和超分辨率挑战赛,以摸索在线视频应用程序中实在进化的数据集的VESR解决方案。 该文介绍了VESR-Net,它在优酷VESR挑战赛中取得第一名。具体的说: 1.设计了一个独立的非部分(Separate NL)模块来无效地摸索视频帧之间的关系并对视频帧进行交融; 2.设计了一个通道留神残差块(CARB),用于在VESR网络中捕捉视频帧重构的特色映射之间的关系。 Youku-VESR挑战挑战赛了收集1000个1080p视频片段,包含高分辨率和低分辨率视频对。该数据集蕴含了多种类型的内容,在在线视频观看利用中,低分辨率视频会受到不同噪声的影响。 挑战阶段: 第一阶段,所有参与者失去200对LR和HR视频用于训练,50对LR视频用于评估。 第二阶段,Youku公布650对LR和HR视频用于培训,100对LR视频用于验证。 第二阶段的LR视频比第一阶段的视频进化更重大。在该文所提及的办法中,对于一共1000个视频片段,宰割了50个视频用于评估,剩下的视频用于训练。 评估阶段: 评估阶段定量指标是峰值信噪比(PSNR)和视频多办法评估交融(VMAF)。测试为前5个视频中的所有帧和剩下视频中的每隔5帧的下一帧。 办法overview VESR-Net由两局部组成:帧间交融的交融模块和帧内融合的重构模块。交融模块的指标是通过从相邻帧中提取有用信息,同时疏忽工夫冗余信息来交融相邻帧进行两头帧重建。 因而,该文提出了一个独立的非部分模块来模仿视频特色之间的关系。在帧重建模块中,在残差块中引入了通道留神机制,以实现高效重建。 每个模块的具体网络架构如下表: 独立的非部分模块在计算机视觉中的自留神机制称为非部分神经网络。然而,因为非部分神经网络中关系矩阵的高维性,非部分运算耗费了大量的参数,尤其是对于视频特色。因而,该文设计了一种新的称为独立非本地的模块,在较浅的网络中能够达到更好的性能。 该设计了三种类型的留神模块,以摸索不同维度的全局上下文信息。 首先,在三个分支中别离生成两个新的特色映射A1、A2、A3和B1、B2、B3。 而后将它们reshape到C×T×(N×W)、T×H×W×C、C×H×W×T,通过矩阵乘法失去三个关系矩阵。M1、M2和M3别离示意不同空间上下文、不同通道和不同工夫步长之间的相似性。 同时,将视频特色F输出到三个卷积层中,生成新的与B在同一空间中的特色映射D1、D2、D3。接下来,对D1,D2,D3的转置与M1,M2,M3进行矩阵乘法,失去后果E1,E2,E3。 最初,在E1,E2,E3和F之间进行元素和运算,失去交融特色。 通道留神残差块重建模块中残差块中的通道留神机制是VESR高效重构和良好性能的根底。在CARB中,首先执行全局均匀池化获取通道形容W。 而后通过两个线性层失去通道权值Z,并将通道权值Z与视频特色X相乘,最初将相乘的后果与视频特色进行concat,输出进1×1卷积层失去最终输入。 试验融化试验 对提出的独立非部分模块和通道留神残差块进行融化试验,并与EDVR进行比照。(此处没有给两个模块都没有的试验数据,如果两个模块都没有就比EDVR性能好,该论文就没有很大的意义了,不如去讲讲没有这两个模块为什么还会比EDVR性能好) 量化评估为了偏心比拟,EDVR作为baseline采纳了20个残差块,其参数数量与VESR-Net相当。在设计的独立非部分模块和通道留神残差块的帮忙下,VESR-Net比EDVR网进步了0.22dB,并且计算复杂度较低。 END

December 24, 2020 · 1 min · jiezi

关于计算机视觉:谷歌发布-MediaPipe-Holistic实现移动端同时进行人脸手部和人体关键点检测跟踪

作者:Ivan Grishchenko & Valentin Bazarevsky编译:CV君报道 | 我爱计算机视觉(微信id:aicvml)谷歌MediaPipe Holistic为突破性的 540 多个关键点(33 个姿态、21 个手和468 集体脸关键点)提供了对立的拓扑构造,并在挪动设施上实现了近乎实时的性能。 视频演示: https://v.qq.com/x/page/j3214... 在挪动设施上对人体姿态、人脸关键点和手部追踪的实时同步感知,能够实现各种乏味的利用,如健身和静止剖析、手势管制和手语辨认、加强事实成果等。 谷歌之前公布的 MediaPipe 就是一个专门为GPU或CPU而设计的开源框架,曾经为这些单个工作提供了疾速、精确而又独立的解决方案。 但将它们实时组合成一个语义统一的端到端解决方案,仍是一个难题,须要多个依赖性神经网络的同步推理。 不久前,谷歌公布了 MediaPipe Holistic,就是针对上述挑战而提出一个解决方案,提出一个最新最先进的人体姿态拓扑构造,能够解锁新的利用。 MediaPipe Holistic 示例 MediaPipe Holistic 由一个新的 pipelines 组成,该 pipelines 具备优化的姿势、人脸和手部组件,每个组件都实时运行,尽量升高内存传输老本,并依据品质/速度的衡量,减少了对三个组件互换性的反对。 当蕴含所有三个组件时,MediaPipe Holistic 为突破性的 540 多个关键点(33 个姿态、21 个手部和 468集体脸关键点)提供了对立的拓扑构造,并在挪动设施上实现了近乎实时的性能! MediaPipe Holistic 作为 MediaPipe 的一部分,并在挪动设施(Android、iOS)和桌面设施上提供。还将引入 MediaPipe 新的即用型 API,用于钻研(Python端)和网页推理(JavaScript端),以不便更多人应用。 01Pipeline and QualityMediaPipe Holistic pipelines 集成了姿态、面部和手部组件的独立模型,每个组件都针对其特定畛域进行了优化,每个组件的推断输出图不同。 MediaPipe Holistic 首先通过 BlazePose 的姿态检测器和后续的关键点模型来预计人的姿态。而后,利用推断出的姿态关键点,为每只手和脸部推导出三个感兴趣区域(ROI)裁剪,并采纳 re-crop 模型来改良 ROI(详情如下)。 而后,pipelines 将全分辨率输出帧上裁剪这些 ROI,并利用特定工作的模型来预计它们对应的关键点。最初,将所有关键点与姿态模型的关键点合并,得出全副 540 多个关键点。 ...

December 23, 2020 · 1 min · jiezi

关于计算机视觉:SUPER车道线检测异构数据集训练物理驱动拟合

作者 | 张凯编辑 | CV君报道 | 我爱计算机视觉(微信id:aicvml)介绍一篇往年的车道线检测论文 SUPER: A Novel Lane Detection System,作者来自密歇根大学和SF Motors 公司。 论文:https://arxiv.org/abs/2005.07277 背景介绍车道线检测算法的钻研最早可追溯至上世纪八十年代,因为车道线自身具备多样性(环岛、穿插线),以及外界光照、车辆遮挡的影响,现有的车道线检测算法仍很难理论用于高安全性的主动驾驶工作中。 单靠提取车道线特色解决车道线检测问题很难应答外界光照、遮挡等不利因素。联结低层次特色(车道线、车辆)和高层次特色(街道场景了解)去进行车道线检测,即网络先学习到街道布局信息、路线几何信息,而后关注车道线信息,兴许会大大提高算法的准确率。 很多基于CNN的车道线检测算法的输入都是像素级别的宰割信息,将车道线从场景中分离出来,而后应用后处理算法进行视角变换和车道线拟合。然而大多数办法都漠视了车道线的一个重要个性:绝大多数状况下,车道线都是相互平行的。利用这一重要性质,再应用几何常识解决坡道状况,应用简略的优化办法即可失去准确的车道线多项式。 应用异构数据集训练层次化宰割网络若要使网络联结车道线特色和场景语义信息,须要同时有语义标注和车道线标注的数据集,然而简直没有这样的开源数据集可供使用。应用如下三个数据集近30000张图片联结训练网络: 然而这三个数据集标注的档次、类别不尽相同,即这三个数据集是“异构”的。 Cityscape数据集仅提供了语义宰割标签,不蕴含与车道线相干的标签。Vistas数据集提供了一些通用的车道线标记。Apollo数据集提供了比Vistas更细粒度的车道线标记。为了应用异构数据集进行训练,参考了论文:Training of Convolutional Networks on Multiple Heterogeneous Datasets for Street Scene Semantic Segmentation.联合车道线检测的理论状况,提出了如下图所示的层次化宰割网络: 如上图所示,该网络共有4个Head: Head 1:将垂直的物体(楼、树、车)与程度的物体(路面)离开。Head 2:联合backbone输入与Head1的输入,将垂直的物体和程度的物体进一步细分。Head 3:联合backbone输入与Head2的输入,粗略地宰割出带有车道线标记的区域。Head 4:联合backbone输入与Head3的输入,准确地宰割出不同类型的车道线。以上4个Head对应于4个分类器,因为不同分类器输入类别的粒度不同,因而能够用上文提到的异构数据集训练与数据集标注粒度相近的分类器。训练分类器时应用了softmax层和穿插熵损失函数。后一个分类器应用了前一个分类器的输入后果,极大地提高了车道线宰割成果。 物理驱动的车道线拟合在车道线拟合之前,须要将宰割失去的车道线上的点映射到鸟瞰图中(BEV,birds' eye view),如下图所示 路线中心线的拟合 现实状况下,路线中心线和车道线也是平行的,如下图所示: 车道线的拟合 https://www.mathworks.com/hel...。 下图为车道线检测、拟合的示例: 坡度场景下的弥补以上的推理在平坦的路面上是正当的,然而若路面有起伏,且仍依照平坦路面进行建模,从输出图像转换为鸟瞰图后,在输出图像中平行的车道线在鸟瞰图中并不平行。因而有必要对有坡度的场景进行弥补。 依据逆透视变换(Inverse Perspective Mapping,IPM)的原理,若输出图像上的点(u, v)对应于世界坐标点(x,y,z),则有: 依据上式,显然有: ...

December 10, 2020 · 1 min · jiezi

IJCAI-2019-论文中国团队占-38北大南大榜上有名

场景描述:AI 顶会 IJCAI 2019 已于 8 月 16 日圆满落幕。在连续 7 天的技术盛会中,与会者在工作坊了解了 AI 技术在各个领域的应用场景,聆听了 AI 界前辈的主题演讲,还有机会在圆桌会中了解, AI 发展历史故事以及最新进展与趋势。此外,会议收录的论文无疑是最受关注的内容,我们特此分领域整理了多篇精选论文,与大家分享。关键词:IJCAI 2019 论文 人工智能顶级会议 IJCAI 2019 于 8 月 10 日至 8 月 16 日 ,在中国澳门举行并圆满落幕。 在 8 月 13 日的开幕式上,大会主办方对本次大会的论文收录情况进行了梳理。大会主席 Thomas Eiter 公布了以下信息:今年的 IJCAI 共收到 4752 篇论文提交,最终收录数量达到了历史新高 850 篇,录取率为 17.9% 。 随后大会的程序委员主席 Sarit Kraus 对论文的情况作了详细的说明,相比于去年收录的 3470 篇,今年增长率为 37% ,收录的 850 篇论文中,有 327 篇来自中国,占比 38%。 在论文的主题上,机器学习依然是最热的一个领域,收录数量为 438 篇,超过半数,此外论文数量最多的领域依次为计算机视觉,机器学习应用,自然语言处理。 提交论文中,共有 2516 篇为机器学习领域今年共有 73 位领域主席以及 740 位高级程序委员会成员以及 2696 位程序委员会成员参与论文评审。由他们评审出来的优秀论文都有哪些呢? ...

August 20, 2019 · 1 min · jiezi

垃圾分类人机搭配干活不累

上海人最近日子真的不太好过,都是垃圾给闹的。 大家应该已经了解到,上海这次「垃圾分类运动」动真格了。根据 7 月 1 日将要实施的管理条例规定,如果分类不到位,无论单位还是个人,都要接受罚单,即使游客也不例外。 条例中规定,对垃圾不分类并拒不改正的个人罚款 50 元至 200 元 于是,令人头大的垃圾分类标准,成为近期所有上海人的聊天主题。如同经历高考一般,大家都纷纷背起了各种垃圾的对应分类。 为此,饿了么、支付宝还迅速推出了代扔垃圾服务……看来,垃圾分类可能要催生一批创新项目了。 垃圾分类不再是纸上谈兵在国内,垃圾分类早在 2000 年就已被提上日程,北京甚至更早就已有了试点。 但是在过去的 18 年,这些都停留在宣传里。直到这个月,才真正走进了上海大众的生活。而北京、广州、深圳等城市,也将相继立法,进入垃圾分类「强制时代」。 1996 年 12 月,北京大乘巷小区家委会发出《致居民的一封信》宣布小区垃圾将分类投放,成为北京第一个试点垃圾分类的小区 面对「史上最严」垃圾分类,上海市民叫苦连天,需要记住 104 种物品对应的垃圾类别,这着实是一项难度不小的任务。 比如干湿垃圾的分类就已经让很多人犯晕:湿纸巾是干垃圾,而干香菇是湿垃圾。塑料杯属于干垃圾,而奶茶属于湿垃圾,所以,半杯奶茶属于什么垃圾? 不过对此,我们也不必操之过急。就拿垃圾分类最仔细、最严格的日本来说,也并不是一朝一夕就达到目前这种程度的。 日本:全球最严格的垃圾分类如何实行从 70 年代起,日本就面临严重环境污染问题,开始实施垃圾分类措施,之后花了27年才最终实现了全民垃圾分类。 日本的垃圾分类以及仔细到严苛的程度,仅横滨市就印刷了 27 页包含 518 项类别的手册。 日本横滨市垃圾分类手册中的一页 如今,日本人会很仔细地将垃圾分好类,不同垃圾用指定的袋子装好,并在指定日期扔到垃圾站,这已经成为他们生活的一部分。 所以,对比一下的话,上海群众可能就会感到自己还是很幸福的。 在日本,不同垃圾需要在不同的回收时间去扔如果错过就要再等一周甚至一个月 作为将垃圾变废为宝的第一步,垃圾分类意义重大。垃圾分类能够带来社会、生态和经济三方面的效益。如果能充分挖掘回收生活垃圾中蕴含的资源潜力,仅北京每年就可获得 11 亿元的经济效益。 如今,我们对垃圾不再纸上谈兵,迈出了行动的第一步,而与此同时,人工智能也一样在付诸行动。 AI 做垃圾分类,精准且迅速在垃圾回收流程中,人为垃圾分类只是第一步。之后,垃圾还要送至分拣中心,由分拣工人进一步细化分类。这是一项名副其实的又脏又累的工作。 综艺节目《跑男》里,成员体验了厨余垃圾的分拣 所幸,科技正在帮助我们完成这份不讨喜的工作。 随着人工智能技术越来越成熟,每年借由智能技术的方式,能够将两万吨可回收材料从垃圾填埋场中挽救回来。利用技术,我们能够大大提升垃圾回收率,而且在效率上也远远高于人工。 「视觉」分类的机械臂:图像识别+神经网络目前比较主流的一种处理垃圾的方法,是借用计算机视觉中的图像识别,配备智能分拣机器人,对垃圾进行分类。 美国的 BHS( Bulk Handling Systems )公司,在全球投入了近 60 台智能分拣机 MAX-AI 。MAX-AI 通过视觉识别和多层神经网络技术,配合传送带送递垃圾,最终实现不不同材质的分类。 MAX-AI 分拣机器人就像一个倒置的三脚架,最末端是吸盘 MAX-AI 识别和分类物品的准确率能够达到 90% ,几乎和人类一样,但速度是人类的两倍。 ...

June 27, 2019 · 1 min · jiezi

自己动手玩转深度学习项目

摘要: 深度学习项目何其多?对于入门而言,合适且有趣的项目能产生积极的影响,本文总结了一份计算机视觉领域的几个有趣项目,感兴趣的可以动手尝试一下。自从2012年AlexNet网络在ImageNet挑战赛上取得巨大成功之后,计算机视觉和深度学习等领域再一次迎来研究热潮。计算机视觉,从字面意义上理解就是让计算机等机器也具备人类视觉,研究让机器进行图像分类、目标检测等。在这近十年里,该领域取得的成就让人大吃一惊,有些研究已经超越了人类的表现水平。对于想入门或者从事深度学习领域的工作者而言,一般是从计算机视觉入手,网上有很多资料去介绍理论方面的知识,进行相应的实践也必不可少。本文总结一些在计算机视觉和深度学习领域的一些实践项目,供读者针对自己的感兴趣点挑选并实践。如果不熟悉上述术语,可以从下面的文章中了解更多的相关信息:一份“新奇”的深度学习介绍两个月探索深度学习和计算机视觉从神经科学到计算机视觉Andrew Ng在Coursera上的计算机视觉课程下面进行正文介绍:1.使用OpenCV进行手部动作跟踪项目地址:akshaybahadur21/HandMovementTracking为了执行视频跟踪,算法分析连续视频帧并输出帧之间的目标移动。针对这类问题,有各种各样的算法,每种算法都有各自的优缺点。在选择使用哪种算法时,针对实际应用场景考虑是很重要的。视觉跟踪系统有两个主要组成部分:目标表示和局部化,以及过滤和数据关联。视频跟踪是使用相机随时间定位移动物体(或多个物体)的过程。它有多种用途,比如:人机交互、安全和监控、视频通信和压缩、增强现实、交通控制、医学成像和视频编辑等。项目代码如下:import numpy as npimport cv2import argparsefrom collections import dequecap=cv2.VideoCapture(0)pts = deque(maxlen=64)Lower_green = np.array([110,50,50])Upper_green = np.array([130,255,255])while True: ret, img=cap.read() hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV) kernel=np.ones((5,5),np.uint8) mask=cv2.inRange(hsv,Lower_green,Upper_green) mask = cv2.erode(mask, kernel, iterations=2) mask=cv2.morphologyEx(mask,cv2.MORPH_OPEN,kernel) #mask=cv2.morphologyEx(mask,cv2.MORPH_CLOSE,kernel) mask = cv2.dilate(mask, kernel, iterations=1) res=cv2.bitwise_and(img,img,mask=mask) cnts,heir=cv2.findContours(mask.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)[-2:] center = None if len(cnts) > 0: c = max(cnts, key=cv2.contourArea) ((x, y), radius) = cv2.minEnclosingCircle(c) M = cv2.moments(c) center = (int(M[“m10”] / M[“m00”]), int(M[“m01”] / M[“m00”])) if radius > 5: cv2.circle(img, (int(x), int(y)), int(radius),(0, 255, 255), 2) cv2.circle(img, center, 5, (0, 0, 255), -1) pts.appendleft(center) for i in xrange (1,len(pts)): if pts[i-1]is None or pts[i] is None: continue thick = int(np.sqrt(len(pts) / float(i + 1)) * 2.5) cv2.line(img, pts[i-1],pts[i],(0,0,225),thick) cv2.imshow(“Frame”, img) cv2.imshow(“mask”,mask) cv2.imshow(“res”,res) k=cv2.waitKey(30) & 0xFF if k==32: break# cleanup the camera and close any open windowscap.release()cv2.destroyAllWindows()54行代码即可解决这个问题,很简单吧!该项目依赖Opencv包,需要在计算机中安装OpenCV才能执行这个项目,下面是针对Mac系统、Ubuntu系统以及Windows系统的安装方法:Mac系统:如何在MacOS上安装OpenCV3Ubuntu系统:OpenCV:在Ubuntu中安装OpenCV-PythonWindows系统:在Windows中安装OpenCV-Python2.使用OpenCV进行睡意检测项目地址:akshaybahadur21/Drowsiness_Detection睡意检测对于长时间驾驶、工厂生产等场景很重要,由于长时间开车时,容易产生睡意,进而可能导致事故。当用户昏昏欲睡时,此代码可以通过检测眼睛来发出警报。依赖包CV2immutilsDLIBSciPy实现算法每只眼睛用6个(x,y)坐标表示,从眼睛的左角开始,然后顺时针绕眼睛工作:条件它检查20个连续帧,如果眼睛纵横比低于0.25,则生成警报。关系实现3.使用Softmax回归进行数字手写体识别项目地址:akshaybahadur21/Digit-Recognizer此代码使用softmax回归对不同的数字进行分类,依赖的包有点多,可以安装下Conda,它包含了机器学习所需要的所有依赖包。描述Softmax回归(同义词:多项Logistic、最大熵分类器、多类Logistic回归)是逻辑回归的推广,可以将其用于多类分类(假设类间是互斥的)。相反,在二分类任务中使用(标准)Logistic回归模型。Python实现使用的是MNIST数字手写体数据集,每张图像大小为28×28,这里尝试使用三种方法对0到9的数字进行分类,分别是Logistic回归、浅层神经网络和深度神经网络。Logistic回归:import numpy as npimport matplotlib.pyplot as pltdef softmax(z): z -= np.max(z) sm = (np.exp(z).T / np.sum(np.exp(z), axis=1)) return smdef initialize(dim1, dim2): """ :param dim: size of vector w initilazied with zeros :return: """ w = np.zeros(shape=(dim1, dim2)) b = np.zeros(shape=(10, 1)) return w, bdef propagate(w, b, X, Y): """ :param w: weights for w :param b: bias :param X: size of data(no of features, no of examples) :param Y: true label :return: """ m = X.shape[1] # getting no of rows # Forward Prop A = softmax((np.dot(w.T, X) + b).T) cost = (-1 / m) * np.sum(Y * np.log(A)) # backwar prop dw = (1 / m) * np.dot(X, (A - Y).T) db = (1 / m) * np.sum(A - Y) cost = np.squeeze(cost) grads = {“dw”: dw, “db”: db} return grads, costdef optimize(w, b, X, Y, num_iters, alpha, print_cost=False): """ :param w: weights for w :param b: bias :param X: size of data(no of features, no of examples) :param Y: true label :param num_iters: number of iterations for gradient :param alpha: :return: """ costs = [] for i in range(num_iters): grads, cost = propagate(w, b, X, Y) dw = grads[“dw”] db = grads[“db”] w = w - alpha * dw b = b - alpha * db # Record the costs if i % 50 == 0: costs.append(cost) # Print the cost every 100 training examples if print_cost and i % 50 == 0: print(“Cost after iteration %i: %f” % (i, cost)) params = {“w”: w, “b”: b} grads = {“dw”: dw, “db”: db} return params, grads, costsdef predict(w, b, X): """ :param w: :param b: :param X: :return: """ # m = X.shape[1] # y_pred = np.zeros(shape=(1, m)) # w = w.reshape(X.shape[0], 1) y_pred = np.argmax(softmax((np.dot(w.T, X) + b).T), axis=0) return y_preddef model(X_train, Y_train, Y,X_test,Y_test, num_iters, alpha, print_cost): """ :param X_train: :param Y_train: :param X_test: :param Y_test: :param num_iterations: :param learning_rate: :param print_cost: :return: """ w, b = initialize(X_train.shape[0], Y_train.shape[0]) parameters, grads, costs = optimize(w, b, X_train, Y_train, num_iters, alpha, print_cost) w = parameters[“w”] b = parameters[“b”] y_prediction_train = predict(w, b, X_train) y_prediction_test = predict(w, b, X_test) print(“Train accuracy: {} %”, sum(y_prediction_train == Y) / (float(len(Y))) * 100) print(“Test accuracy: {} %”, sum(y_prediction_test == Y_test) / (float(len(Y_test))) * 100) d = {“costs”: costs, “Y_prediction_test”: y_prediction_test, “Y_prediction_train”: y_prediction_train, “w”: w, “b”: b, “learning_rate”: alpha, “num_iterations”: num_iters} # Plot learning curve (with costs) #costs = np.squeeze(d[‘costs’]) #plt.plot(costs) #plt.ylabel(‘cost’) #plt.xlabel(‘iterations (per hundreds)’) #plt.title(“Learning rate =” + str(d[“learning_rate”])) #plt.plot() #plt.show() #plt.close() #pri(X_test.T, y_prediction_test) return ddef pri(X_test, y_prediction_test): example = X_test[2, :] print(“Prediction for the example is “, y_prediction_test[2]) plt.imshow(np.reshape(example, [28, 28])) plt.plot() plt.show()浅层神经网络:import numpy as npimport matplotlib.pyplot as pltdef softmax(z): z -= np.max(z) sm = (np.exp(z).T / np.sum(np.exp(z),axis=1)) return smdef layers(X, Y): "”” :param X: :param Y: :return: """ n_x = X.shape[0] n_y = Y.shape[0] return n_x, n_ydef initialize_nn(n_x, n_h, n_y): """ :param n_x: :param n_h: :param n_y: :return: """ np.random.seed(2) W1 = np.random.randn(n_h, n_x) * 0.01 b1 = np.random.rand(n_h, 1) W2 = np.random.rand(n_y, n_h) b2 = np.random.rand(n_y, 1) parameters = {“W1”: W1, “b1”: b1, “W2”: W2, “b2”: b2} return parametersdef forward_prop(X, parameters): W1 = parameters[‘W1’] b1 = parameters[‘b1’] W2 = parameters[‘W2’] b2 = parameters[‘b2’] Z1 = np.dot(W1, X) + b1 A1 = np.tanh(Z1) Z2 = np.dot(W2, A1) + b2 A2 = softmax(Z2.T) cache = {“Z1”: Z1, “A1”: A1, “Z2”: Z2, “A2”: A2} return A2, cachedef compute_cost(A2, Y, parameters): m = Y.shape[1] W1 = parameters[‘W1’] W2 = parameters[‘W2’] logprobs = np.multiply(np.log(A2), Y) cost = - np.sum(logprobs) / m cost = np.squeeze(cost) return costdef back_prop(parameters, cache, X, Y): m = Y.shape[1] W1 = parameters[‘W1’] W2 = parameters[‘W2’] A1 = cache[‘A1’] A2 = cache[‘A2’] dZ2 = A2 - Y dW2 = (1 / m) * np.dot(dZ2, A1.T) db2 = (1 / m) * np.sum(dZ2, axis=1, keepdims=True) dZ1 = np.multiply(np.dot(W2.T, dZ2), 1 - np.square(A1)) dW1 = (1 / m) * np.dot(dZ1, X.T) db1 = (1 / m) * np.sum(dZ1, axis=1, keepdims=True) grads = {“dW1”: dW1, “db1”: db1, “dW2”: dW2, “db2”: db2} return gradsdef update_params(parameters, grads, alpha): W1 = parameters[‘W1’] b1 = parameters[‘b1’] W2 = parameters[‘W2’] b2 = parameters[‘b2’] dW1 = grads[‘dW1’] db1 = grads[‘db1’] dW2 = grads[‘dW2’] db2 = grads[‘db2’] W1 = W1 - alpha * dW1 b1 = b1 - alpha * db1 W2 = W2 - alpha * dW2 b2 = b2 - alpha * db2 parameters = {“W1”: W1, “b1”: b1, “W2”: W2, “b2”: b2} return parametersdef model_nn(X, Y,Y_real,test_x,test_y, n_h, num_iters, alpha, print_cost): np.random.seed(3) n_x,n_y = layers(X, Y) parameters = initialize_nn(n_x, n_h, n_y) W1 = parameters[‘W1’] b1 = parameters[‘b1’] W2 = parameters[‘W2’] b2 = parameters[‘b2’] costs = [] for i in range(0, num_iters): A2, cache = forward_prop(X, parameters) cost = compute_cost(A2, Y, parameters) grads = back_prop(parameters, cache, X, Y) if (i > 1500): alpha1 = 0.95alpha parameters = update_params(parameters, grads, alpha1) else: parameters = update_params(parameters, grads, alpha) if i % 100 == 0: costs.append(cost) if print_cost and i % 100 == 0: print(“Cost after iteration for %i: %f” % (i, cost)) predictions = predict_nn(parameters, X) print(“Train accuracy: {} %”, sum(predictions == Y_real) / (float(len(Y_real))) * 100) predictions=predict_nn(parameters,test_x) print(“Train accuracy: {} %”, sum(predictions == test_y) / (float(len(test_y))) * 100) #plt.plot(costs) #plt.ylabel(‘cost’) #plt.xlabel(‘iterations (per hundreds)’) #plt.title(“Learning rate =” + str(alpha)) #plt.show() return parametersdef predict_nn(parameters, X): A2, cache = forward_prop(X, parameters) predictions = np.argmax(A2, axis=0) return predictions深度神经网络:import numpy as npimport matplotlib.pyplot as pltdef softmax(z): cache = z z -= np.max(z) sm = (np.exp(z).T / np.sum(np.exp(z), axis=1)) return sm, cachedef relu(z): """ :param z: :return: """ s = np.maximum(0, z) cache = z return s, cachedef softmax_backward(dA, cache): """ :param dA: :param activation_cache: :return: """ z = cache z -= np.max(z) s = (np.exp(z).T / np.sum(np.exp(z), axis=1)) dZ = dA * s * (1 - s) return dZdef relu_backward(dA, cache): """ :param dA: :param activation_cache: :return: """ Z = cache dZ = np.array(dA, copy=True) # just converting dz to a correct object. dZ[Z <= 0] = 0 return dZdef initialize_parameters_deep(dims): """ :param dims: :return: """ np.random.seed(3) params = {} L = len(dims) for l in range(1, L): params[‘W’ + str(l)] = np.random.randn(dims[l], dims[l - 1]) * 0.01 params[‘b’ + str(l)] = np.zeros((dims[l], 1)) return paramsdef linear_forward(A, W, b): """ :param A: :param W: :param b: :return: """ Z = np.dot(W, A) + b cache = (A, W, b) return Z, cachedef linear_activation_forward(A_prev, W, b, activation): """ :param A_prev: :param W: :param b: :param activation: :return: """ if activation == “softmax”: Z, linear_cache = linear_forward(A_prev, W, b) A, activation_cache = softmax(Z.T) elif activation == “relu”: Z, linear_cache = linear_forward(A_prev, W, b) A, activation_cache = relu(Z) cache = (linear_cache, activation_cache) return A, cachedef L_model_forward(X, params): """ :param X: :param params: :return: """ caches = [] A = X L = len(params) // 2 # number of layers in the neural network # Implement [LINEAR -> RELU](L-1). Add “cache” to the “caches” list. for l in range(1, L): A_prev = A A, cache = linear_activation_forward(A_prev, params[“W” + str(l)], params[“b” + str(l)], activation=‘relu’) caches.append(cache) A_last, cache = linear_activation_forward(A, params[“W” + str(L)], params[“b” + str(L)], activation=‘softmax’) caches.append(cache) return A_last, cachesdef compute_cost(A_last, Y): """ :param A_last: :param Y: :return: """ m = Y.shape[1] cost = (-1 / m) * np.sum(Y * np.log(A_last)) cost = np.squeeze(cost) # To make sure your cost’s shape is what we expect (e.g. this turns [[17]] into 17). return costdef linear_backward(dZ, cache): """ :param dZ: :param cache: :return: """ A_prev, W, b = cache m = A_prev.shape[1] dW = (1. / m) * np.dot(dZ, cache[0].T) db = (1. / m) * np.sum(dZ, axis=1, keepdims=True) dA_prev = np.dot(cache[1].T, dZ) return dA_prev, dW, dbdef linear_activation_backward(dA, cache, activation): """ :param dA: :param cache: :param activation: :return: """ linear_cache, activation_cache = cache if activation == “relu”: dZ = relu_backward(dA, activation_cache) dA_prev, dW, db = linear_backward(dZ, linear_cache) elif activation == “softmax”: dZ = softmax_backward(dA, activation_cache) dA_prev, dW, db = linear_backward(dZ, linear_cache) return dA_prev, dW, dbdef L_model_backward(A_last, Y, caches): """ :param A_last: :param Y: :param caches: :return: """ grads = {} L = len(caches) # the number of layers m = A_last.shape[1] Y = Y.reshape(A_last.shape) # after this line, Y is the same shape as A_last dA_last = - (np.divide(Y, A_last) - np.divide(1 - Y, 1 - A_last)) current_cache = caches[-1] grads[“dA” + str(L)], grads[“dW” + str(L)], grads[“db” + str(L)] = linear_activation_backward(dA_last, current_cache, activation=“softmax”) for l in reversed(range(L - 1)): current_cache = caches[l] dA_prev_temp, dW_temp, db_temp = linear_activation_backward(grads[“dA” + str(l + 2)], current_cache, activation=“relu”) grads[“dA” + str(l + 1)] = dA_prev_temp grads[“dW” + str(l + 1)] = dW_temp grads[“db” + str(l + 1)] = db_temp return gradsdef update_params(params, grads, alpha): """ :param params: :param grads: :param alpha: :return: """ L = len(params) // 2 # number of layers in the neural network for l in range(L): params[“W” + str(l + 1)] = params[“W” + str(l + 1)] - alpha * grads[“dW” + str(l + 1)] params[“b” + str(l + 1)] = params[“b” + str(l + 1)] - alpha * grads[“db” + str(l + 1)] return paramsdef model_DL( X, Y, Y_real, test_x, test_y, layers_dims, alpha, num_iterations, print_cost): # lr was 0.009 """ Implements a L-layer neural network: [LINEAR->RELU]*(L-1)->LINEAR->SIGMOID. Arguments: X – data, numpy array of shape (number of examples, num_px * num_px * 3) Y – true “label” vector (containing 0 if cat, 1 if non-cat), of shape (1, number of examples) layers_dims – list containing the input size and each layer size, of length (number of layers + 1). alpha – learning rate of the gradient descent update rule num_iterations – number of iterations of the optimization loop print_cost – if True, it prints the cost every 100 steps Returns: params – params learnt by the model. They can then be used to predict. """ np.random.seed(1) costs = [] # keep track of cost params = initialize_parameters_deep(layers_dims) for i in range(0, num_iterations): A_last, caches = L_model_forward(X, params) cost = compute_cost(A_last, Y) grads = L_model_backward(A_last, Y, caches) if (i > 800 and i<1700): alpha1 = 0.80 * alpha params = update_params(params, grads, alpha1) elif(i>=1700): alpha1 = 0.50 * alpha params = update_params(params, grads, alpha1) else: params = update_params(params, grads, alpha) if print_cost and i % 100 == 0: print(“Cost after iteration %i: %f” % (i, cost)) if print_cost and i % 100 == 0: costs.append(cost) predictions = predict(params, X) print(“Train accuracy: {} %”, sum(predictions == Y_real) / (float(len(Y_real))) * 100) predictions = predict(params, test_x) print(“Test accuracy: {} %”, sum(predictions == test_y) / (float(len(test_y))) * 100) #plt.plot(np.squeeze(costs)) #plt.ylabel(‘cost’) #plt.xlabel(‘iterations (per tens)’) #plt.title(“Learning rate =” + str(alpha)) #plt.show() return paramsdef predict(parameters, X): A_last, cache = L_model_forward(X, parameters) predictions = np.argmax(A_last, axis=0) return predictions通过网络摄像头执行写入运行代码python Dig-Rec.py通过网络摄像头显示图像运行代码python Digit-Recognizer.py梵文字母识别项目地址:akshaybahadur21/Devanagiri-Recognizer此代码可帮助您使用CNN对不同梵文字母进行分类。使用技术使用了卷积神经网络,使用Tensorflow作为框架和Keras API来提供高级抽象。网络结构CONV2D→MAXPOOL→CONV2D→MAXPOOL→FC→Softmax→Classification额外的要点1.可以尝试不同的网络结构;2.添加正则化以防止过拟合;3.可以向训练集添加其他图像以提高准确性;Python实现使用Dataset-DHCD(Devnagari Character Dataset)数据集,每张图大小为32 X 32,详细代码请参考项目地址。运行代码python Dev-Rec.py4.使用FaceNet进行面部识别项目地址:akshaybahadur21/Face-Recoinion此代码使用facenet进行面部识别。facenet的概念最初是在一篇研究论文中提出的,主要思想是谈到三重损失函数来比较不同人的图像。为了提供稳定性和更好的检测,额外添加了自己的几个功能。本项目依赖的包如下:numpy matplotlib cv2 keras dlib h5py scipy描述面部识别系统是能够从数字图像或来自视频源的视频帧识别或验证人的技术。面部识别系统有多种方法,但一般来说,它们都是通过将给定图像中的选定面部特征与数据库中的面部进行比较来工作。功能增加1.仅在眼睛睁开时检测脸部(安全措施);2.使用dlib中的面部对齐功能在实时流式传输时有效预测;Python实现1.网络使用 - Inception Network;2.原始论文 - Google的Facenet;程序1.如果想训练网络,运行Train-inception.py,但是不需要这样做,因为已经训练了模型并将其保存为face-rec_Google.h5,在运行时只需加载这个文件即可;2.现在需要在数据库中放置一些图像。检查/images文件夹,可以将图片粘贴到此,也可以使用网络摄像头拍摄;3.运行rec-feat.py以运行该应用程序;5.表情识别器项目地址akshaybahadur21/Emojinator此项目可识别和分类不同的表情符号。但是目前为止,只支持手势表达的情绪。代码依赖包numpy matplotlib cv2 keras dlib h5py scipy描述表情符号是电子信息和网页中使用的表意文字和表情的符号。表情符号存在于各种类型中,包括面部表情、常见物体、地点和天气以及动物等。功能1.用于检测手的过滤器;2.CNN用于训练模型;Python实现1.网络使用 - 卷积神经网络程序1.首先,创建一个手势数据库。为此,运行CreateGest.py。尝试在框架内稍微移动一下手,以确保模型在训练时不会发生过拟合;2.对所需的所有功能重复此操作;3.运行CreateCSV.py将图像转换为CSV文件;4.训练模型,运行TrainEmojinator.py;5.运行Emojinator.py通过网络摄像头测试模型;总结这些项目都令人印象深刻,所有这些项目都可以在计算机上运行。如果你不想安装任何东西,可以更轻松地在Deep Cognition平台上运行,并且可以在线运行。感谢网络上各种开源项目的贡献。尝试一下各种感兴趣的项目,运行它们并获得灵感。上述这些这只是深度学习和计算机视觉可以做的事情中的一小部分,还有很多事情可以尝试,并且可以将其转变为帮助世界变得更美好的事情,code change world!此外,每个人都应该对许多不同的事情感兴趣。我认为这样可以改善世界、改善生活、改善工作方式,思考和解决问题的方式,如果我们依据现在所掌握的资源,使这些知识领域共同发挥作用,我们就可以在世界和生活中产生巨大的积极影响。本文作者:【方向】阅读原文本文为云栖社区原创内容,未经允许不得转载。 ...

April 8, 2019 · 9 min · jiezi

将视觉深度学习模型应用于非视觉领域

摘要: 本文可以让你了解到,具有创造性的数据处理方法如何才能将深度学习视觉的功能应用于非视觉的领域。介绍近些年来,深度学习技术已经彻底改变了计算机视觉领域。由于迁移学习和各种各样的学习资源的出现,任何人都可以通过使用预训练的模型,将其应用到自己的工作当中,以此获得非常好的结果。随着深度学习越来越商业化,希望它的创造性能应用在不同的领域上。今天,计算机视觉领域中的深度学习在很大程度上解决了视觉对象的分类、目标检测和识别问题。在这些领域,深度神经网络(Deep Neural Network,DNN)的表现要胜过人类。即使数据不是可视化的,但你仍然可以利用这些视觉深度学习模型的力量,主要是卷积神经网络(Convolutional Neural Network,CNN)。要做到这一点,你必须将数据从非视觉领域迁移到视觉领域(图像)里,然后使用一个经过在图像和数据上训练过的模型。你将会感叹这种方法是多么的强大。在本文中,我将介绍3个案例,这是关于公司如何进行创造性地深度学习应用,将视觉深度学习模型应用于非视觉领域。在每一个案例中,都会对一个非计算机视觉的问题进行转换和描述,以便更好地利用适合图像分类的深度学习模型的能力。案例1:石油工业在石油工业中,游梁式抽油机(Beam pumps)常常用于从地下开采石油和天然气。它们由连接在移动梁上的发动机来提供动力。移动梁将发动机的旋转运动传递给抽油杆的垂直往复运动,抽油杆作为一个动力泵,再将油输送到地面上。游梁式抽油机作为一种复杂的机械系统,很容易发生故障。为了方便诊断排查,在抽油机上安装了一个测功机,用于测量杆上的负载。测量后,绘制出一张测功机的动力泵卡片,图上显示了发动机在旋转循环过程中每个部分的负载。当游梁式抽油机出故障的时候,测功机卡片上的形状会改变。这个时候,通常会邀请专业的技术人员过来检查卡片,并根据抽油机出现故障的部分来判断需要采取什么措施和方法来进行维修。这个过程不仅非常耗时,而且还需要非常深入的专业知识才能有效地解决问题。另一方面,这个过程看起来有可能是可以自动化完成的,这就是为什么尝试过典型的机器学习系统而并没有取得很好效果的原因,准确率大约为60%。将深度学习应用到这个领域的一个公司是Baker Hughes。在这种情况下,测功机卡片被转变为图像,然后作为输入到Imagenet的预训练模型中。这个结果非常令人印象深刻,精度从60%上升到93%,只需采用预训练的模型并用新的数据对其进行一下微调。经过模型训练的进一步优化,其精度达到了97%。上图是Baker Hughes部署的系统示例。在左侧,你可以看到输入图像,在右侧是故障模式的实时分类。它不仅击败了以前的基于机器学习的传统方法,而且公司不再需要抽油机的技术人员花费大量的时间来排查故障,他们过来就可以立即进行机械故障修复,从而大大提高了效率。案例2:在线欺诈检测计算机用户在使用计算机的时候有独特的模式和习惯。当你在浏览一个网站或在键盘上键入电子邮件内容的时候,你使用鼠标的习惯是独一无二的。在这种特殊的情况下,Splunk解决了一个问题,即通过使用计算机鼠标的方式来对用户进行分类。如果你的系统能够根据鼠标使用的方式来识别用户,那么这种方法可以用于欺诈检测。假设这样一个情况:某些人在窃取了别人的用户名和登录密码之后在网上消费。他们使用电脑鼠标的方式是独一无二的,系统将很容易检测到这种异常操作,并进一步防止发生欺诈交易,同时也会通知真正的账户所有者。使用特殊的Javascript代码,可以收集所有鼠标的行为活动。软件每5-10毫秒记录一次鼠标的行为。因此,每个用户在每个网页的行为数据可以是5000–10000个数据点。数据代表了两个挑战:第一个挑战是对于每个用户来说都是海量的数据,第二个挑战是每个用户的数据集都将包含不同多个数据点,这不太方便,因为,通常来说,不同长度的序列需要更复杂的深度学习架构。这个方案是将每个用户在每个网页上的鼠标活动转换为一个单个图像。在每幅图像中,鼠标的移动是一条由不同的颜色来表示鼠标移动速度的线来表示的,而点击左键和点击右键则是由绿色和红色的圆圈来表示的。这种处理初始数据的方法解决了上述的两个问题:首先,所有图像的大小都相同;其次,现在基于图像的深度学习模型可以用于此类数据了。Splunk使用TensorFlow和Keras为用户分类创建了一个深度学习的系统。他们做了2个实验:1. 当访问相类似的页面时,金融服务网站的用户组分类:正常客户与非客户用户。一个由2000张图片组成的相对较小的训练数据集。在对基于VGG16网络的一个已修改结构进行了2分钟的训练之后,系统能够以80%以上的准确度识别出这两个类;2. 用户的个人分类。该任务是为一个给定的用户预测出是真实用户还是一个模拟者。提供了一个只有360张图片的非常小的训练数据集。基于VGG16网络,但是由于考虑到小数据集和减少过度拟合(有可能放弃和批量标准化)而进行了修改。经过了3分钟的训练,准确率达到了78%左右,考虑到任务具有的挑战性,那么这一点很令人印象深刻;要了解更多相关内容,请参阅描述了系统和实验过程的完整内容。案例3:鲸鱼的声音检测在这个例子中,谷歌使用卷积神经网络来分析录音并检测出其中的座头鲸。这对于科学研究来说很有帮助,例如跟踪单个鲸鱼的活动、叫声的特性、鲸鱼的数量等等。有趣不是目的,而是如何通过需要利用图像的卷积神经网络来处理数据。将音频数据转换成图像的方法是通过使用光谱图来实现的。光谱图是音频数据基于频率特征的视觉来表示的。在将音频数据转换成光谱图之后,谷歌的研究人员使用了ResNet-50网络结构来训练这个模型。他们能够达到以下的性能表现:90%的准确度:90%的音频剪辑被归类为鲸鱼叫声的分类;90%的敏感度:如果给一个鲸鱼叫声的录音,那么就会有90%的机会被打上敏感度的标签;让我们把焦点从鲸鱼叫声转移到处理音频数据时可以做些什么。当你创建光谱图的时候,可以选择要使用的频率,这取决于你所拥有的音频数据的类型。你将需要给人类的说话声、座头鲸的叫声、或工业设备的录音设置不同的频率,因为在所有的这些情况下,最重要的信息是包含在了不同的频段里。你不得不使用自己的专业领域知识来选择相关的参数。例如,如果你使用的是人类声音数据,那么你的第一选择应该是梅尔频率倒谱图。目前有一些有比较好的软件包可用于音频。Librosa是一个免费的音频分析Python库,可以使用CPU生成光谱图。如果你在TensorFlow中开发并且想在GPU上做光谱计算,那也是支持的。请参考一下这篇文章,了解更多的关于谷歌如何处理座头鲸数据的内容。综上所述,本文所阐述的一般方法都遵循了两个步骤。首先,找到一种将数据转换成图像的方法;其次,使用一个经过预训练的卷积网络或者从头开始进行训练。第一步要比第二步更难,这是需要你必须有创造力的地方,要考虑到如果你的数据可以转换成图像。我希望提供的实例对解决你的问题有所帮助。本文作者:【方向】阅读原文本文为云栖社区原创内容,未经允许不得转载。

January 30, 2019 · 1 min · jiezi

2018年AI和ML(NLP、计算机视觉、强化学习)技术总结和2019年趋势(下)

摘要: 回顾2018,展望2019,计算机科学技术继续前进!4、工具和库工具和库是数据科学家的基础。我参与了大量关于哪种工具最好的辩论,哪个框架会取代另一个,哪个库是经济计算的缩影等等。但有一点共识–我们需要掌握该领域的最新工具,否则就有被淘汰的风险。 Python取代其他所有事物并将自己打造成行业领导者的步伐就是这样的例子。 当然,其中很多都归结为主观选择,但如果你不考虑最先进的技术,我建议你现在开始,否则后果可能将不可预测。那么成为今年头条新闻的是什么?我们来看看吧!PyTorch 1.0什么是PyTorch?我已经多次在本文中提到它了,你可以在Faizan Shaikh的文章中熟悉这个框架。这是我最喜欢的关于深度学习文章之一!当时TensorFlow很缓慢,这为PyTorch打开了大门快速获得深度学习市场。我在GitHub上看到的大部分代码都是PyTorch实现的。这并非因为PyTorch非常灵活,而是最新版本(v1.0)已经大规模应用到许多Facebook产品和服务,包括每天执行60亿次文本翻译。PyTorch的使用率在2019年上升,所以现在是加入的好时机。AutoML—自动机器学习AutoML在过去几年中逐渐取得进展。RapidMiner、KNIME、DataRobot和H2O.ai等公司都发布了非常不错的产品,展示了这项服务的巨大潜力。你能想象在ML项目上工作,只需要使用拖放界面而无需编码吗?这种现象在未来并不太遥远。但除了这些公司之外,ML / DL领域还有一个重要的发布-Auto Keras!它是一个用于执行AutoML任务的开源库。其背后的目的是让没有ML背景的领域专家进行深度学习。请务必在此处查看,它准备在未来几年内大规模运行。TensorFlow.js-浏览器中的深度学习我们一直都喜欢在最喜欢的IDE和编辑器中构建和设计机器学习和深度学习模型。如何迈出一步,尝试不同的东西?我将要介绍如何在你的网络浏览器中进行深度学习!由于TensorFlow.js的发布,已成为现实。TensorFlow.js主要有三个优点/功能:1.使用JavaScript开发和创建机器学习模型;2.在浏览器中运行预先存在的TensorFlow模型;3.重新创建已有的模型;2019年的AutoML趋势我个人特别关注AutoML,为什么?因为我认为未来几年它将成为数据科学领域真正的游戏规则改变者。跟我有同样想法的人是H2O.ai的Marios Michailidis、Kaggle Grandmaster,他们都对AutoML有很高期望:机器学习继续成为未来最重要的趋势之一,鉴于其增长速度,自动化是最大化其价值的关键,是充分利用数据科学资源的关键。它可以应用到的领域是无限的:信用、保险、欺诈、计算机视觉、声学、传感器、推荐、预测、NLP等等,能够在这个领域工作是一种荣幸。AutoML趋势:提供智能可视化和解释,以帮助描述和理解数据;查找/构建/提取给定数据集的更好特征;快速建立更强大/更智能的预测模型;通过机器学习可解释性弥补这些模型的黑匣子建模和生产之间的差距;促进这些模型落地生产;5、强化学习如果我不得不选择一个我看到的渗透更多领域的技术,那就是强化学习。除了不定期看到的头条新闻之外,我还在社区中了解到,它太注重数学,并且没有真正的行业应用程序可供专一展示。虽然这在某种程度上是正确的,但我希望看到的是明年更多来自RL的实际用例。我在每月GitHub和Reddit排序系列中,我倾向于至少保留一个关于RL的存储库或讨论,至少围绕该主题的讨论。OpenAI已经发布了一个非常有用的工具包,可以让初学者从这个领域开始。OpenAI在深度强化学习中的应用如果RL的研究进展缓慢,那么围绕它的教育材料将会很少。但事实上,OpenAI已经开放了一些关于这个主题的精彩材料。他们称这个项目为“Spinning Up in Deep RL”,你可以在这里阅读所有相关内容。它实际上是非常全面RL的资源列表,这里有很多材料包括RL术语、如何成为RL研究者、重要论文列表、一个记录完备的代码存储库、甚至还有一些练习来帮助你入门。如果你打算开始使用RL,那么现在开始!Google Dopamine为了加速研究并让社区更多的参与强化学习,Google AI团队开源了Dopamine,这是一个TensorFlow框架,旨在通过它来使更灵活和可重复性来构建RL模型。你可以在此GitHub存储库中找到整个训练数据以及TensorFlow代码(仅15个Python notebooks!)。这是在受控且灵活的环境中进行简单实验的完美平台,听起来像数据科学家的梦想。2019年强化学习趋势Xander Steenbrugge是DataHack Summit的代表,也是ArxivInsights频道的创始人,他非常擅长强化学习。以下是他对RL当前状态的看法以及2019年的预期:我目前看到RL领域的三个主要问题:样本复杂性(代理需要查看/收集以获得的经验数量);泛化和转移学习(训练任务A,测试相关任务B);分层RL(自动子目标分解);我相信前两个问题可以通过与无监督表示学习相关的类似技术来解决。目前在RL中,我们正在使用稀疏奖励信号训练深度神经网络,从原始输入空间(例如像素)映射到端到端方式的动作(例如,使用反向传播)。我认为能够促进强化学习快速发展的道路是利用无监督的表示学习(自动编码器、VAE、GAN)将凌乱的高维输入空间(例如像素)转换为低维“概念”空间。人工智能:符合伦理才更重要想象一下由算法统治的世界,算法决定了人类采取的每一个行动。这不是一个美好的场景,对吗?AI中的伦理规范是Analytics Vidhya一直热衷于讨论的话题。今年有相当多的组织因为Facebook的剑桥分析公司丑闻和谷歌内部普遍关于设计武器新闻丑闻而遭受危机。没有一个开箱即用的解决方案或一个适合所有解决方案来处理AI的伦理方面。它需要一种细致入微的方法,并结合领导层提出的结构化路径。让我们看看今年出现的重大政策:GDPR。GDPR如何改变游戏规则GDPR或通用数据保护法规肯定会对用于构建AI应用程序的数据收集方式产生影响。GDPR的作用是以确保用户可以更好地控制他们的数据。那么这对AI有何影响?我们可以想象一下,如果数据科学家没有数据(或足够数据),那么构建任何模型都会还没开始就失败。2019年的AI伦理趋势预期这是一个灰色的领域。就像我提到的那样,没有一个解决方案可以解决这个问题。我们必须聚集在一起,将伦理问题整合到AI项目中。那么我们怎样才能实现这一目标呢?正如Analytics Vidhya的创始人兼首席执行官Kunal Jain在2018年DataHack峰会上的演讲中所强调的那样:我们需要确定一个其他人可以遵循的框架。结束语有影响力!这是2018年来描述AI最佳的词汇。今年我成为ULMFiT的狂热用户,我也很期待BERT。本文作者:【方向】阅读原文本文为云栖社区原创内容,未经允许不得转载。

January 17, 2019 · 1 min · jiezi

2018年AI和ML(NLP、计算机视觉、强化学习)技术总结和2019年趋势(上)

摘要: 回顾2018,展望2019,计算机科学技术继续前进!1、简介:过去几年一直是人工智能爱好者和机器学习专业人士最幸福的时光。因为这些技术已经发展成为主流,并且正在影响着数百万人的生活。各国现在都有专门的人工智能规划和预算,以确保在这场比赛中保持优势。数据科学从业人员也是如此,这个领域正在发生很多事情,你必须要跑的足够的快才能跟上时代步伐。回顾历史,展望未来一直是我们寻找方向的最佳方法。这也是我为什么想从数据科学从业者的角度退一步看一下人工智能的一些关键领域的发展,它们突破了什么?2018年发生了什么?2019年会发生什么?我将在本文中介绍自然语言处理(NLP)、计算机视觉、工具库、强化学习、走向合乎正道的人工智能2、自然语言处理(NLP)让机器分析单词和句子似乎是一个梦想,就算我们人类有时候也很难掌握语言的细微差别,但2018年确实是NLP的分水岭。我们看到了一个又一个显著的突破:ULMFiT、ELMO、OpenAI的Transformer和Google的BERT等等。迁移学习(能够将预训练模型应用于数据的艺术)成功应用于NLP任务,为无限可能的应用打开了大门。让我们更详细地看一下这些关键技术的发展。ULMFiTULMFiT由Sebastian Ruder和fast.ai的Jeremy Howard设计,它是第一个在今年启动的NLP迁移学习框架。对于没有经验的人来说,它代表通用语言的微调模型。Jeremy和Sebastian让ULMFiT真正配得上Universal这个词,该框架几乎可以应用于任何NLP任务!想知道对于ULMFiT的最佳部分以及即将看到的后续框架吗?事实上你不需要从头开始训练模型!研究人员在这方面做了很多努力,以至于你可以学习并将其应用到自己的项目中。ULMFiT可以应用六个文本分类任务中,而且结果要比现在最先进的方法要好。你可以阅读Prateek Joshi关于如何开始使用ULMFiT以解决任何文本分类问题的优秀教程。ELMO猜一下ELMo代表着什么吗?它是语言模型嵌入的简称,是不是很有创意? ELMo一发布就引起了ML社区的关注。ELMo使用语言模型来获取每个单词的嵌入,同时还考虑其中单词是否适合句子或段落的上下文。上下文是NLP的一个重要领域,大多数人以前对上下文都没有很好的处理方法。ELMo使用双向LSTM来创建嵌入,如果你听不懂-请参考这篇文章,它可以让你很要的了解LSTM是什么以及它们是如何工作的。与ULMFiT一样,ELMo显着提高了各种NLP任务的性能,如情绪分析和问答,在这里了解更多相关信息。BERT不少专家声称BERT的发布标志着NLP的新时代。继ULMFiT和ELMo之后,BERT凭借其性能真正击败了竞争对手。正如原论文所述,“BERT在概念上更简单且更强大”。BERT在11个NLP任务中获得了最先进的结果,在SQuAD基准测试中查看他们的结果:有兴趣入门吗?你可以使用PyTorch实现或Google的TensorFlow代码尝试在自己的计算机上得出结果。我很确定你想知道BERT代表什么,它实际上是Transformers的双向编码器表示,如果你能够领悟到这些,那很不错了。PyTextFacebook开源了深度学习NLP框架PyText,它在不久之前发布,但我仍然要测试它,但就早期的评论来说非常有希望。根据FB发表的研究,PyText使会话模型的准确性提高了10%,并且缩短了训练时间。PyText实际上落后于Facebook其他一些产品,如FB Messenger。如果你对此有兴趣。你可以通过GitHub下载代码来自行尝试。2019年NLP趋势:塞巴斯蒂安·罗德讲述了NLP在2019年的发展方向,以下是他的想法:预训练的语言模型嵌入将无处不在,不使用它们的模型将是罕见的。我们将看到可以编码专门信息的预训练模型,这些信息是对语言模型嵌入的补充。我们将看到有关多语言应用程序和跨语言模型的成果。特别是,在跨语言嵌入的基础上,我们将看到深度预训练的跨语言表示的出现。3、计算机视觉这是现在深度学习中最受欢迎的领域,我觉得我们已经完全获取了计算机视觉中容易实现的目标。无论是图像还是视频,我们都看到了大量的框架和库,这使得计算机视觉任务变得轻而易举。我们今年在Analytics Vidhya花了很多时间研究这些概念的普通化。你可以在这里查看我们的计算机视觉特定文章,涵盖从视频和图像中的对象检测到预训练模型列表的相关文章,以开始你的深度学习之旅。以下是我今年在CV中看到的最佳开发项目:如果你对这个美妙的领域感到好奇,那么请继续使用我们的“使用深度学习的计算机视觉”课程开始你的旅程。BigGAN的发布在2014年,Ian Goodfellow设计了GAN,这个概念产生了多种多样的应用程序。年复一年,我们看到原始概念为了适应实际用例正在慢慢调整,直到今年,仍然存在一个共识:机器生成的图像相当容易被发现。但最近几个月,这个现象已经开始改变。或许随着BigGAN的创建,该现象或许可以彻底消失,以下是用此方法生成的图像:除非你拿显微镜看,否则你将看不出来上面的图片有任何问题。毫无疑问GAN正在改变我们对数字图像(和视频)的感知方式。Fast.ai的模型18分钟内在ImageNet上被训练这是一个非常酷的方向:大家普遍认为需要大量数据以及大量计算资源来执行适当的深度学习任务,包括在ImageNet数据集上从头开始训练模型。我理解这种看法,大多数人都认为在之前也是如此,但我想我们之前都可能理解错了。Fast.ai的模型在18分钟内达到了93%的准确率,他们使用的硬件48个NVIDIA V100 GPU,他们使用fastai和PyTorch库构建了算法。所有的这些放在一起的总成本仅为40美元! 杰里米在这里更详细地描述了他们的方法,包括技术。这是属于每个人的胜利!NVIDIA的vid2vid技术在过去的4-5年里,图像处理已经实现了跨越式发展,但视频呢?事实证明,将方法从静态框架转换为动态框架比大多数人想象的要困难一些。你能拍摄视频序列并预测下一帧会发生什么吗?答案是不能!NVIDIA决定在今年之前开源他们的方法,他们的vid2vid方法的目标是从给定的输入视频学习映射函数,以产生输出视频,该视频以令人难以置信的精度预测输入视频的内容。你可以在这里的GitHub上试用他们的PyTorch实现。2019年计算机视觉的趋势:就像我之前提到的那样,在2019年可能看到是改进而不是发明。例如自动驾驶汽车、面部识别算法、虚拟现实算法优化等。就个人而言,我希望看到很多研究在实际场景中实施,像CVPR和ICML这样的会议描绘的这个领域的最新成果,但这些项目在现实中的使用有多接近?视觉问答和视觉对话系统最终可能很快就会如他们期盼的那样首次亮相。虽然这些系统缺乏概括的能力,但希望我们很快就会看到一种综合的多模式方法。自监督学习是今年最重要的创新,我可以打赌明年它将会用于更多的研究。这是一个非常酷的学习线:标签可以直接根据我们输入的数据确定,而不是浪费时间手动标记图像。本文作者:【方向】阅读原文本文为云栖社区原创内容,未经允许不得转载。

January 16, 2019 · 1 min · jiezi

论文<Learning to Promote Saliency Detectors>阅读

Learning to Promote Saliency Detectorshttps://github.com/lartpang/M…缩写标注:SD: Saliency DetectionZSL: Zero-Shot Learning关键内容:没有训练直接将图像映射到标签中的DNN。相反,将DNN拟合为一个嵌入函数,以将像素和显著/背景区域的属性映射到度量空间。显着/背景区域的属性被映射为度量空间中的锚点。然后,在该空间中构造最近邻(NN)分类器,将最近的锚点的标签分配给对应的像素.保持分辨率的手段:移除了最后两个卷积块的池化层, 使用扩张卷积来维持卷积滤波器的感受野添加亚像素卷积层到每个VGG特征提取器的卷积块后, 来上采样每个卷积块的特征图到输入图像大小.使用了迭代训练/测试的策略.这里没有提到训练迭代次数如何确定测试的迭代次数是人工给定的一些想法:类似于R3Net, 最后的添加的结构都是反复迭代测试后才确定使用多少次, 而且按照相关的测试可以看出来, 一定次数后, 提升的效果就趋于饱和了, 只能说这里的提到的方法对于现有网络的提升具有一定的助益.对于这里提到的, 这是类似于一种ZSL的方法, 也就是利用现有的SD算法产生的结果(“过去的知识”), 添加的新结构, 不断利用过去的知识迭代, 实现对于最终"后处理"后结果的一个促进(“来对现有的SD算法进行推广”).一些疑惑:如何将这个方法应用到现有的架构呢? 如何改造现有架构?改造后的结构, 训练的时候也要按照文中那样, 随机翻转真值中的像素标签么?这里的第6层是哪里来的?是前面的5C通道的特征输出汇总来的?AbstractThe categories and appearance of salient objects varyfrom image to image, therefore, saliency detection is animage-specific task. Due to lack of large-scale saliency training data, using deep neural networks (DNNs) with pre-training is difficult to precisely capture the image-specific saliency cues. To solve this issue, we formulate a zero-shot learning problem to promote existing saliency detectors.Concretely, a DNN is trained as an embedding function to map pixels and the attributes of the salient/background regions of an image into the same metric space, in which an image-specific classifier is learned to classify the pixels.Since the image-specific task is performed by the classifier, the DNN embedding effectively plays the role of a general feature extractor.Compared with transferring the learning to a new recognition task using limited data, this formulation makes the DNN learn more effectively from small data.Extensive experiments on five data sets showthat our method significantly improves accuracy of existing methods and compares favorably against state-of-the-art approaches.显着对象的类别和外观因图像而异,因此,显着性检测是特定于图像的任务。由于缺乏大规模显着性训练数据,使用具有预训练的深度神经网络(DNN)难以精确捕获图像特定显着性线索。为了解决这个问题,我们制定了一个零次学习问题来推广现有的显着性检测器。具体地,DNN被训练为一个嵌入函数,以将像素和图像的显着/背景区域的属性映射到相同的度量空间,其中, 图像特定的分类器被学习来对像素进行分类。由于图像特定任务由分类器执行,因此DNN嵌入有效地扮演一般特征提取器的角色。与使用有限数据将学习转移到新的识别任务相比,该设定使DNN从小数据中更有效地学习。对五个数据集进行的大量实验表明,我们的方法显着提高了现有方法的准确性,并且与最先进的方法相比具有优势。这里提到了一点, 使用 ZSL 问题来推广现有的SD器. 怎么推广?补充内容 ZSL[零次学习(Zero-Shot Learning)]假设小暗(纯粹因为不想用小明)和爸爸,到了动物园,看到了马,然后爸爸告诉他,这就是马;之后,又看到了老虎,告诉他:“看,这种身上有条纹的动物就是老虎。”;最后,又带他去看了熊猫,对他说:“你看这熊猫是黑白色的。”然后,爸爸给小暗安排了一个任务,让他在动物园里找一种他从没见过的动物,叫斑马,并告诉了小暗有关于斑马的信息:“斑马有着马的轮廓,身上有像老虎一样的条纹,而且它像熊猫一样是黑白色的。”最后,小暗根据爸爸的提示,在动物园里找到了斑马(意料之中的结局。。。)。上述例子中包含了一个人类的推理过程,就是利用过去的知识(马,老虎,熊猫和斑马的描述),在脑海中推理出新对象的具体形态,从而能对新对象进行辨认。ZSL就是希望能够模仿人类的这个推理过程,使得计算机具有识别新事物的能力。结合起来看, 也就是说可以利用过去的知识, 来对现有的SD器进行推广.这个过程是什么样的呢?Introduction传统的显着性检测方法通常是利用低级别的特征和启发式先验,它们不能在复杂的场景中发现显着的对象,也就不能够捕获语义对象。随着DNN的流行, 可以学习来自训练样本的更为高层的语义特征, 因此对于定位语义显著性区域更为有效, 在复杂场景下也会更为有效.使用DNN就要考虑一个问题, 数据. DNN通常在大量数据的基础上来训练, 而SD的数据是比较有限的, 这个问题通常用在其他任务的大数据集(如分类任务)上预训练的手段来解决, 然而这很容易导致其他问题:从图上可以看出来, 分类任务训练出来的模型, 最后的特征图中关注的重点对于SD任务而言, 在两列的特征图中不加区分地突出显示符号和人的区域。哪个图"不加区分地突出显示符号和人的区域"?预训练任务与SD的差异: 由预先训练的特征提取器产生的特征假定用于所有图像。例如,标志和人是图1第一列中的显着对象,而它们属于第二列中的背景。然而,在两列的特征图中不加区分地突出了标志和人的区域。使用这种特征提取器,可以强制预测模型学习将相似特征映射到相反标签,这对于小训练数据集来说是困难的。显着对象的类别和外观因图像而异,而小的训练数据不足以捕捉多样性. 例如,图1中所示的六个显着对象来自六个不同的类别,并且它们的外观差别很大。因此,可能很难学习统一的检测器来处理各种显着对象。考虑到显着对象的多样性,我们没有训练直接将图像映射到标签中的深度神经网络(DNN)。相反,我们将DNN训练为一个嵌入函数,以将像素和显著/背景区域的属性映射到度量空间。显着/背景区域的属性被映射为度量空间中的锚点。然后,在该空间中构造最近邻(NN)分类器,将最近的锚点的标签分配给对应的像素。作为非参数模型,NN分类器可以很好地适应新数据并处理显着对象的多样性。另外,由于分类任务是由NN分类器执行的,因此DNN的目标转向学习从显着/背景区域的属性到嵌入空间中的锚点的一般映射。与直接学习检测不同的显着对象相比,网络更容易学习有限的数据.补充内容: 嵌入(Embedding)嵌入意味着将数据转换为特征表示,其中某些属性可以用距离的概念表示。例如,针对用于说话者识别的语音信号训练的模型可以允许您将语音片段转换为数字向量,使得来自相同说话者的另一片段与原始向量具有小的距离(例如,欧几里德距离)。或者,不同的嵌入函数可能允许您根据信号中所说的单词转换语音信号。因此,如果在这些片段中使用相同的单词,则在两个语音信号的编码表示之间将获得小的欧几里德距离。另外, 你可能只想学习一种嵌入,它代表语音信号的“情绪”,例如:“快乐”与“悲伤”与“愤怒”等。两个语音信号的编码表示之间的小距离将意味着相似的情绪,反之亦然。或者例如,word2vec embeddings, 在一个空间中“映射”一个单词,其中这些单词之间的欧几里德距离代表语义相似性(同样, embedding ~ 为您提供给定单词的数字向量)。因此,如果你使用“德国”的word2vec表示,从中减去“柏林”,并将结果添加到“法国”,你会得到一个矢量, 在欧几里德空间非常接近“巴黎”的嵌入(the embedding for “Paris”)!同样,在需要分类成数十万或数百万个类的应用程序中,例如面部识别,一种常见的方法是使用“度量学习”技术(通常是具有所谓的对比或三重丢失的连体CNN(Siamese CNNs with so-called contrastive or triplet loss)),这在测试时允许您在面部的矢量表示上使用最近邻技术!另一个介绍:Embedding在数学上表示一个maping, f: X -> Y, 也就是一个function,其中该函数是injective(就是我们所说的单射函数,每个Y只有唯一的X对应,反之亦然)和structure-preserving (结构保存,比如在X所属的空间上X1 < X2,那么映射后在Y所属空间上同理 Y1 < Y2)。那么对于word embedding,就是将单词word映射到另外一个空间,其中这个映射具有injective和structure-preserving的特点。具体地说,我们在图2中显示了我们提出的方法的流程。在训练期间,DNN具有真实的显着区域和背景区域,其中几个随机选择的像素的标签被翻转,以产生锚点。NN分类器的输出构成了saliency map。DNN可以通过此显着性图和真值之间的损失进行端到端的监督训练。当在图像上进行测试时,每个图像的显着性图像按照训练的流程来获得,使用的是现有方法来检测的近似的显著性/背景区域。尽管近似显着/背景区域不完全正确,但是它通常与真实的显著性/背景区域有着相似的属性。因此,对应的嵌入向量(即锚点)将接近真实的显着/背景区域的向量。此外,为了产生更好的结果,我们提出了一个迭代测试的方案。NN分类器的结果用于修改锚点,从而产生越来越精确的结果。迭代测试的想法, 如何实现? 在测试的时候, 你的迭代只能使用测试集的图片数据和你预测出来的结果, 不可以在真实值上进行迭代, 那这里的迭代如何片定效果, 如何学习? 这里的进一步迭代测试的操作就是一种后处理手段, 但是如何迭代那? 何时终止迭代?这里的方法可以看作是一个ZSL问题,其中由现有方法检测到的近似显着/背景区域为未看到的显著性对象提供属性,并且模型从训练数据中学习去从属性中学习一个特定于图像的分类器来分类此图像的像素。对五个数据集的大量实验表明,该方法可以显着提高现有方法的准确性,并且与现有技术方法相比具有优势。Related worksGenerally, saliency detection methods can be categorized into two streams: top-down and bottom-up saliency. Since our work addresses bottom-up saliency, here we mainly review recent works on bottom-up saliency, meanwhile shortly mention top-down saliency. We also explore the relation between our proposed method and top-down saliency.BUBottom-up (BU) saliency is stimuli-driven(刺激驱动), where saliency is derived from contrast among visual stimuli(视觉刺激).Conventional bottom-up saliency detection methods often utilize low-level features and heuristic priors(启发式).Jiang et al. [12] formulate saliency detection via an absorbing Markov chain(吸收马尔可夫链http://www.vartang.com/2013/0…) on an image graph model, where saliency of each region is defined as its absorbed time from boundary nodes.Yang et al. [32] rank the similarity of the image regions with foreground cues or background cues via graph-based manifold ranking(通过基于图的流形排序对图像区域与前景线索或背景线索的相似性进行排序).Since the conventional methods are not robust in complex scenes neither capable of capturing semantic objects, deep neural networks (DNNs) are introduced to overcome these drawbacks.Li et al. [16] train CNNs with fully connected layers to predict saliency value of each superpixel, and to enhance the spatial coherence(空间连贯性) of their saliency results using a refinement method.Li et al. [18] propose a FCN trained under the multi-task learning framework for saliency detection.Zhang et al. [34] present a generic framework to aggregate multi-level convolutional features for saliency detection.Although the proposed method is also based on DNNs, the main difference between ours and these methods is that they learn a general model that directly maps images to labels, while our method learns a general embedding function as well as an image-specific NN classifier.TDTop-down (TD) saliency aims at finding salient regions specified by a task, and is usually formulated as a supervised learning problem.Yang and Yang [33] propose a supervised top-down saliency model that jointly learns a Conditional Random Field (CRF) and a discriminative dictionary.Gao et al. [9] introduced a top-down saliency algorithm by selecting discriminant features from a pre-defined filter bank(预定义的过滤器库).TD+BUIntegration of TD and BU saliency has been exploited by some methods.Borji [3] combines low-level features and saliency maps of previous bottom-up models with top-down cognitive visual features to predict fixations.Tong et al. [26] proposed a top-down learning approach where the algorithm is bootstrapped with training samples generated using a bottom-up model(该算法使用自下而上模型生成的训练样本进行引导) to exploit the strengths of both bottom-up contrast-based saliency models and top-down learning methods.Our method also can be viewed as an integration of TD and BU saliency. Although both our method and the method of Tonget al. [26] formulate the problem as top-down saliency detection specified by initial saliency maps, there are certain difference between the two.First, Tong’s method trains a strong model via boostrap learning(引导学习) with training samples generated by a weak model. In contrast, our method maps pixels and the approximate salient/background regions into a learned metric space, which is related to zero-shot learning.Second, thanks to deep learning, our method is capable of capturing semantically salient regions and does well on complex scenes, while Tong’s method uses hand-crafted features and heuristic priors, which are less robust.Third, our method produces pixel-level results, while Tong’s method computes saliency value of each image region to assemble a saliency map, which tends to be coarser.The Proposed MethodOur method consists of three components:a DNN as an embedding function i.e. the anchor network, that maps pixels and regions of the input image into a learned metric spacea nearest neighbor (NN) classifier in the embedding space learned specifically for this image to classify its pixelsan iterative testing scheme that utilizes the result of the NN classifier to revise anchors(修改锚点), yielding increasingly more accurate results.The anchor network这部分主要是进行了一个映射的操作. 一个是映射图像中的像素点, 一个是映射图像中的显著性/背景区域.像素点通过一个DNN建模的嵌入函数, 来映射到一个D维度量空间的向量上.图像中的显著性/背景区域也同样被DNN映射到了D维度量空间中的向量上, 也就是这里提到的锚点(anchors).We assume that in the embedding space, all pixels of an image cluster around the corresponding anchors of this image. Then a nearest neighbor classifier can be built specifically for this image by classifying each pixel according to its nearest anchor.我们假设在嵌入空间中,图像的所有像素都聚集在这个图像的相应锚点周围。然后,通过根据最近的锚对每个像素进行分类,可以为该图像特定地构建最近邻分类器.感觉可以这样理解: 因为并不知道哪个维度上可以看作是所谓的"embedding space", 所以目的就是去近似逼近这样一个空间的表示. 这也算是深度网络的一个拟合作用的体现, 告诉他应该存在这样一个维度的空间, 是可以满足这样的要求, 给它限制, 让它训练学习, 逐步逼近拟合到这样一个结果上.为了做出这样的约束, 给定一个概率, 也就是对应的像素x属于显著性/背景区域C的条件概率, 由该测度空间上两个向量的距离d对应的softmax函数表示得到:这里的目的是要不断的提升属于对应区域的像素被判定归属于该区域的概率, 这里使用梯度上升法:这里的t是一个指示变量, 类似与指示函数的作用, 等于1的时候, 表示该像素属于实际属于区域1, 也就是显著性区域, 等于0表示属于区域2, 也就是背景区域.但是这里要注意, 对于锚点而言, 是使用真实标注来转化生成的, 所以在测试的时候, 就得考虑如何处理了. 这里使用的是利用生成的显著性图来进行生成anchors, 这是不准确的.为了匹配训练和测试条件, 但是又不能改动测试的真值, 只能对训练的流程进行改进. 在训练期间, 当生成anchors时, 以概率p随机翻转每一个像素的标签. 这种处理额外带来的一个好处是, 一定程度上增加了训练样本的多样性, 有一定的抗过拟合的作用.下面是算法的流程训练需要迭代, 迭代的过程, 就是不断的随机翻转标签, 计算像素和区域锚点的映射向量, 最大化对数似然, 更新参数. 注意上图中真值使用的方法.Iterative testing scheme测试期间生成锚点是个需要注意的问题, 因为真值认为是未知的, 这里就尝试根据 现有方法生成的显著性图(先验) 选择的近似的显著性/背景区域来生成锚点(要注意, 本文提出的实际上是一个后处理的方法, 目标是对于现有架构的进一步提升). 这里使用了一个迭代的测试方案使用NN分类器, 来逐渐调整锚点,.在这个迭代的过程中, 会使用到一个随之不断迭代的先验显著性图(初始的先验显著性图$Y^{(0)}_m$是由现有的方法生成的), 流程中使用的先验显著性图, 是通过这个公式迭代计算的:这里的Y就是迭代中使用的先验显著性图, 被用来选择下一次迭代中的显著性和背景区域. 而且随着迭代不断地开始, 新的结果所占的比例越来越低, 这将确保迭代过程的稳定性.上图展示了提出的方法对于显著性图的不断的优化提升的过程.这个过程实际上就是先对像素映射向量, 然后开始迭代, 最开始的先验使用的是现有方法生成的显著性图, 也就是$Y^{0}$, 利用先验图选择前景背景, 也就是下图中的位置, 进而生成近似的锚点(利用先验图作为类似训练时的真值, 与从网络中提取出来的特征层相乘(实际上是选择了前景与背景区域之后)在送入区域嵌入结构生成锚点).根据公式3, 对每个像素计算其显著性值(也就是属于显著性区域的概率值), 来构建另一个新的显著性图, 利用迭代公式进行迭代计算(相当于是d位置与i位置显著图的合并). 之后按照上图那样送入结构中.要注意, 这里的迭代次数T是给定的.(这就有点不智能了)尽管初始的显著性图没能准确的区分出来前景和背景, 但是它通常能部分的区分它们, 因此可以提供关于图像中显著性目标的类别和外观的信息.例如,在图3的第一张图片中,尽管只有一小部分前景被突出显示,但初始显著性图可以告诉我们前景可能是一只大猩猩,而背景则包含一片绿色。(这应该算是合理推测)然后,其选定的前景/背景区域应该与真实的前景/背景区域相似,从而导致相应的锚点与学习到的度量空间中的真实区域相关联。因此,方程3给出的最近邻分类可以产生良好的结果。随着迭代的进展,近似锚点逐渐接近真实锚点,这将导致更好的结果。这反过来可以提供对锚点的越来越精确的近似,并且产生更准确的结果。如图3所示,初始显著性图并不吸引人,而迭代修改后的图看起来要好得多。对于数据较为有限的SD任务, 选择在尝试调整在分类数据集预训练的模型(这里使用ImageNet上预训练过的VGG16), 来拟合为像素嵌入函数和区域嵌入函数, 以实现数据的映射. 由于不再是分类器, 去掉全连接, 只保留特征提取组件, 包含五个卷积块. 并且实际中也使用了BN和ReLU操作.Pixel embedding由于VGG特征提取器本身会导致特征图不断地缩小, 这并不是想要的结果, 因为这里提出的方法是要实现对于输入图像的每个像素来映射一个向量, 需要这个嵌入CNN产生一个具有与输入图像相同分辨率的特征图.这里采用了两个策略来获取更大的特征图.移除了最后两个卷积块的池化层, 使用扩张卷积来维持卷积滤波器的感受野添加亚像素卷积层到每个VGG特征提取器的卷积块后, 来上采样每个卷积块的特征图到输入图像大小.要注意, 这里实际上最后剩下来的只有两个最大池化, 可见代码:self.proc_feats_list = nn.ModuleList([ # convtranspose2d=>out_size=(in_size-1)xstride-2xpadding+kernel_size nn.Sequential( # x4 512卷积块对应的输出 nn.ConvTranspose2d(dims[0], dims[0], 8, 4, 2), nn.Conv2d(dims[0], odims[0], kernel_size=3, padding=1)), nn.Sequential( # x4 512对应的输出 nn.ConvTranspose2d(dims[1], dims[1], 8, 4, 2), nn.Conv2d(dims[1], odims[1], kernel_size=3, padding=1)), nn.Sequential( # x4 256对应的输出 nn.ConvTranspose2d(dims[2], dims[2], 8, 4, 2), nn.Conv2d(dims[2], odims[2], kernel_size=3, padding=1)), nn.Sequential( # x2 128对应的输出 nn.ConvTranspose2d(dims[3], dims[3], 4, 2, 1), nn.Conv2d(dims[3], odims[3], kernel_size=3, padding=1)), # 使用亚像素卷积实现上采样 ############################################# # 不清楚这里为什么放弃了使用亚像素卷积的手段 # 这里的nn.PixelShuffle(up_scale)便是可以用来实现亚像素卷积的一个类 # nn.Sequential( # nn.Conv2d(dims[0], odims[0], kernel_size=3, padding=1), # nn.PixelShuffle(4)), # nn.Sequential( # nn.Conv2d(dims[1], odims[1], kernel_size=3, padding=1), # nn.PixelShuffle(4)), # nn.Sequential( # nn.Conv2d(dims[2], odims[2], kernel_size=3, padding=1), # nn.PixelShuffle(4)), # nn.Sequential( # nn.Conv2d(dims[3], odims[3], kernel_size=3, padding=1), # nn.PixelShuffle(2)), # x1 64 对应的输出 nn.Conv2d(dims[4], dims[4], kernel_size=3, padding=1),])Subpixel convolution is an upsampling strategy originally proposed in [Real-time single im-age and video super-resolution using an efficient sub-pixelconvolutional neural network] for image super-resolution.这里也提示了一点, 对于深度学习实现的显著性检测手段, 里面会涉及到分辨率的恢复操作, 也就是所谓的上采样, 由于网络的深层事实上需要更大的感受野, 所以说, 对于往常的池化层不能轻易去除, 而要找到合适的替代, 这里提供了几个思路, 一个是使用扩张卷积替代池化操作, 一个是使用超分辨率重建(本质都是低分辨率重建为高分辨率)的思想.为了生成C通道的N倍输入大小的tensor, 亚像素卷积首先通过一般的卷积得到一个 $N^2 \times C$ 通道的与原输入一致大小的tensor. 然后这个tensor被重新调整为C通道的N倍于输入大小的tensor.本小节补充内容:超分辨率技术(Super-Resolution)是指从观测到的低分辨率图像重建出相应的高分辨率图像,在监控设备、卫星图像和医学影像等领域都有重要的应用价值。SR可分为两类:从多张低分辨率图像重建出高分辨率图像和从单张低分辨率图像重建出高分辨率图像。基于深度学习的SR,主要是基于单张低分辨率的重建方法,即Single Image Super-Resolution (SISR)。如果做SR(超分辨率)的话,需要将一张低分辨率图像转换成一张高分辨率图像。如果直接用deconvolution作为upscale手段的话,通常会带入过多人工因素进来(有不少论文提到这个)。而sub-pixel conv会大大降低这个风险。Subpixel convolution是一种巧妙的图像及特征图upscale的方法,又叫做pixel shuffle(像素洗牌), 亚像素卷积操作就是通过生成更多的特征层, 然后利用它们数据的周期性组合, 来实现分辨率的提升.上图很直观得表达了sub-pixel convolution的做法,前面就是一个普通的CNN网络,到后面彩色部分就是sub-pixel conv的操作了。首先,如果我想对原图放大3倍,那么我需要生成出3^2=9个same size的特征图。将九个same size的特征图拼成一个X3的大图,这就是sub-pixel convolution的操作了。这是一种抽样的反思想,如果把一张x3的大图,每隔三个点抽样一个,那就会得到9张低分辨率的图像。于是,如果我们可以通过CNN来获得9张符合分布的低分辨率图像,那么就可以组成一张高分辨率的大图。通过在五个卷积块后添加一个亚像素卷积层, 这里会获取5个C通道的特征图, 5个特征图级联, 想成一个5C通道的特征图. 但是直接使用和这个级联的特征图不是最好的选择, 因为不同的卷积块之间有着不同的感受野(区域不同), 为了解决这个问题, 额外添加了两个卷积层来转化这个级联特征图为一个D通道的特征图(特征融合), 其中的每个D维向量就被认为是每个像素所对应的的D维表示.文中的实现里, 设定C为64, D为512.Region embedding为了简单, 对于两个嵌入操作(像素和区域), 共享相同的特征提取器和亚像素上采样层.新的层被添加在亚像素卷积层后, 来匹配图片区域的5C通道特征图到一个D维向量.这里考虑了两种结构:基于卷积的区域嵌入结构: 5C-channel->Convs->D-channel->channel-wise-average->D-vector基于全连接的区域嵌入结构 5C-channel->channel-wise-average->5C-vevtor->FC->D-vectorExperiments评价标准PR曲线F测度曲线F测度得分MAE得分The precision of a binary map is defined as the ratio of the number of salient pixels it correctly labels, to all salient pixels in this binary map. 预测的二值图像中的预测的显著性目标区域标注正确的比例. 就是预测为真值(预测为显著性区域)中的实际真值(实际的显著性区域)的比例.The recall value is the ratio ofthe number of correctly labeled salient pixels to all salient pixels in the ground-truth map. 实际真值中被正确标出的比例.in which TS denotes true salient pixels, DS denotes detected salient pixels by the binary map, and $|·|$ denotes cardinality of a set.F测度使用下式计算.曲线的计算按照动态阈值来计算.Given a saliency map whose intensities are in the rangeof 0 and 1, a series of binary maps can be produced by thresholding the saliency map with different values in [0,1].Precision and recall values of these binary maps can becomputed according to Eqn. 6. F-measure can be computed according to Eqn. 7.Plotting the (precision, recall) pairs of all the binary maps results in the precision-recall curve, and plotting the (F-measure, threshold) pairs results in theF-measure curve.Also as suggested in [1], we use twice the mean valueof the saliency maps as the threshold to generate binary maps for computing the F-measure.Notice that some works have reported slightly different F-measures using different thresholds. But as far as we know, twice the mean value isthe most commonly used threshold.As complementary to PR curves, mean absolute error(MAE) is used to quantitatively measure the average difference between the saliency map S and the ground truth map G.MAE indicates how similar a saliency map is compared to the ground truth. It is widely used in different pixel-level prediction tasks such as semantic segmentation and image cropping [22].Implementation detailsWe train our model on the training set of DUTS dataset.As in [20], we augment the training data by horizontal flipping and cropping the images to reduce overfitting.The probability $p$ of randomly flipping ground truth when producing anchors during training is set to 0.05.We comparetwo type of region embedding in Sec.4.4, and adopt theConv-based one in other experiments.Adam [14] optimization method is used for training our model.Learning rateis set to 1e-3.We do not use a validation set, and train our model until its training loss converges.The training process takes almost 16 hours and converges after around 300 kiterations with mini-batch of size 1.From this comparison we can see that the performance of FC-based and Conv-based region embedding is comparable.The FC-based region embedding yields relatively larger F-measureConv-based region embedding is more superior in terms of MAEWe show the effect of the proposed iterative approximation scheme in Figure 5. As shown in Figure 5, the first iteration improve the F-measure and decrease MAE most significantly. The improvement slows down with iterations, and saturates(饱和) gradually.PerformanceWe apply our method to promote the performance of each baseline method, by using its predicted saliency maps to generate initial anchors in Eqn.3.Figure 6 shows the PR curves of the baseline methods and the one promoted by our method.Table 2 shows the F-measure and MAE scores of 8 deep learning based methods and the corresponding promoted results.The quantified improvements in F-measure and MAE of applying our method to conventional methods are shown in Table 3.As shown in Figure 6, Table 2, and Table 3, our method drastically(大幅) promotes all the baseline methods.观察数据可知论文提出的方法, 对于已有的深度方法和传统的方法都有提升.Notice that the results shown here are obtained by iterating Alg. 2 only once for fast testing speed.As shown in Sec.4.4, better results can be achieved through iterating Alg. 2 more times.Figure 7 shows a visual comparison of saliency maps produced by some state-of-the-art methods and the promoted ones by our method.It can be seen that the saliency maps produced by our methods highlight salient regions that are missed by the baselines.Further, our method can suppress the background regions that are wrongly labeled as salient by the baseline methods(我们的方法可以抑制基线方法错误标记为显着的背景区域。).总结In this paper, we propose a novel learning method to promote existing salient object detection methods. Extensive experiments on five benchmark datasets show that our method can significantly improve accuracy of existing methods and compares favorably against state-of-the-arts(我们的方法可以显着提高现有方法的准确性,并且与现有最优技术相比具有优势).参考链接零次学习入门: https://zhuanlan.zhihu.com/p/...What is embedding | embedded space | feature embedding in deep neural architectures?: https://www.quora.com/What-is…有谁可以解释下word embedding? - 寒蝉鸣泣的回答 - 知乎: https://www.zhihu.com/questio...Sub-pixel Convolution(子像素卷积): https://blog.csdn.net/leviopk… ...

January 10, 2019 · 9 min · jiezi

slowfast:facebook用于计算机视觉视频理解的双模CNN

检测并归类图像中的物体是最广为人知的一个计算机视觉任务,随着ImageNet数据集挑战而更加流行。不过还有一个令人恼火的问题有待解决:视频理解。视频理解指的是对视频片段进行分析并进行解读。虽然有一些最新的进展,现代算法还远远达不到人类的理解层次。Facebook的AI研究团队新发表的一篇论文,SlowFast,提出了一种新颖的方法来分析视频片段的内容,可以在两个应用最广的视频理解基准测试中获得了当前最好的结果:Kinetics-400和AVA。该方法的核心是对同一个视频片段应用两个平行的卷积神经网络(CNN)—— 一个慢(Slow)通道,一个快(Fast)通道。作者观察到视频场景中的帧通常包含两个不同的部分——不怎么变化或者缓慢变化的静态区域和正在发生变化的动态区域,这通常意味着有些重要的事情发生了。例如,飞机起飞的视频会包含相对静态的机场和一个在场景中快速移动的动态物体(飞机)。在日常生活中,当两个人见面时,握手通常会比较快而场景中的其他部分则相对静态。根据这一洞察,SlowFast使用了一个慢速高分辨率CNN(Fast通道)来分析视频中的静态内容,同时使用一个快速低分辨率CNN(Slow通道)来分析视频中的动态内容。这一技术部分源于灵长类动物的视网膜神经节的启发,在视网膜神经节中,大约80%的细胞(P-cells)以低频运作,可以识别细节,而大约20%的细胞(M-cells)则以高频运作,负责响应快速变化。类似的,在SlowFast中,Slow通道的计算成本要比Fast通道高4倍。SlowFast工作原理Slow通道和Fast通道都使用3D RestNet模型,捕捉若干帧之后立即运行3D卷积操作。Slow通道使用一个较大的时序跨度(即每秒跳过的帧数),通常设置为16,这意味着大约1秒可以采集2帧。Fast通道使用一个非常小的时序跨度/,其中通常设置为8,以便1秒可以采集15帧。Fast通道通过使用小得多的卷积宽度(使用的滤波器数量)来保持轻量化,通常设置为慢通道卷积宽度的⅛,这个值被标记为。使用小一些的卷积宽度的原因是Fast通道需要的计算量要比Slow通道小4倍,虽然它的时序频率更高。上图是一个SlowFast网络的实例。卷积核的尺寸记作{T×S², C} ,其中T、S和C分别表示时序temporal, 空间spatial和频道Channel的尺寸。跨度记作{temporal stride, spatial stride ^ 2}。速度比率(跳帧率) 为 = 8 ,频道比率为1/ = 1/8。 设置为 16。绿色表示高一些的时序分辨率,Fast通道中的橙色表示较少的频道。侧向连接如图中所示,来自Fast通道的数据通过侧向连接被送入Slow通道,这使得Slow通道可以了解Fast通道的处理结果。单一数据样本的形状在两个通道间是不同的(Fast通道是{T, S², C} 而Slow通道是 {T, S², C}),这要求SlowFast对Fast通道的结果进行数据变换,然后融入Slow通道。论文给出了三种进行数据变换的技术思路,其中第三个思路在实践中最有效。Time-to-channel:将{T, S², C} 变形转置为 {T , S², C},就是说把帧压入一帧Time-strided采样:简单地每隔帧进行采样,{T , S², C} 就变换为 {T , S², C}Time-strided卷积: 用一个5×12的核进行3d卷积, 2C输出频道,跨度= .有趣的是,研究人员发现双向侧链接,即将Slow通道结果也送入Fast通道,对性能没有改善。在每个通道的末端,SlowFast执行全局平均池化,一个用来降维的标准操作,然后组合两个通道的结果并送入一个全连接分类层,该层使用softmax来识别图像中发生的动作。数据集SlowFast在两个主要的数据集 —— DeepMind的Kinetics-400和Google的AVA上进行了测试。虽然两个数据集都包含了场景的标注,它们之间还是有些差异:Kinetics-400包含成千上万个Youtube视频的10秒片段,将人的动作归为400类(例如:握手、跑、跳舞等),其中每一类至少包含400个视频。AVA包含430个15分钟的标注过的Youtube视频,有80个原子化可视动作。每个动作的标注即包含描述文本,也包含在画面中的定位框。结果SlowFast在两个数据集上都达到了迄今为止最好的结果,在Kinetics-400上它超过最好top-1得分5.1% (79.0% vs 73.9%) ,超过最好的top-5得分2.7% (93.6% vs 90.9%)。在 Kinetics-600 数据集上它也达到了最好的结果。Kinetics-600数据集与Kinetics-400类似,不过它将动作分为600类,每一类包含600个视频。在AVA测试中,SlowFast研究人员首先使用的版本,是一个较快速R-CNN目标识别算法和现成的行人检测器的整合,利用这个行人检测器获取感兴趣区域。研究人员随后对SlowFast网络进行了预训练,最后在ROI上运行网络。结果是28.3 mAP (median average precision) ,比之前的最好结果21.9 mAP有大幅改进。值得指出的是在Kinetics-400和Kinetics-600上的预训练没有获得显著的性能提升。有趣的是,论文比较了只使用Slow通道、只使用Fast通道、同时使用Slow和Fast通道的结果,在Kinetics-400上,只使用Slow通道的网络其top-1结果为72.6%,top-5为90.3%。只使用Fast通道的网络,top-1和top-5分别为51.7% 和 78.5%。汇智网翻译整理,转载请标明出处。SlowFast Explained: Dual-mode CNN for Video Understanding

December 28, 2018 · 1 min · jiezi

首次公开!《阿里计算机视觉技术精选》揭秘前沿落地案例

当下计算机视觉技术无疑是AI浪潮中最火热的议题之一。视觉技术的渗透,既可以对传统商业进行改造使之看到新的商业机会,还可以创造全新的商业需求和市场。无论在电商、安防、娱乐,还是在工业、医疗、自动驾驶领域,计算机视觉技术都扮演着越发重要的角色。元旦假期即将来临,我们精心准备了这本《阿里巴巴机器智能计算机视觉技术精选》,收录了顶级会议 CVPR 2018 阿里论文,送给计划在假期“充电”的同学们,也希望能和更多学术界、工业界同仁一起探讨交流。下载地址:https://yq.aliyun.com/download/3237?utm_content=g_1000033518在这本干货精选集中,我们收录了多篇具有代表性的 CVPR 2018 论文。比如,拍立淘利用图像搜索和识别技术,帮助用户在移动端通过拍照就能找到相似商品;线下新零售领域,阿里用空间定位、货架商品SKU识别技术推动“人货场”数字化,并做进一步的商业分析;城市大脑项目中,阿里研发了大规模视频高效处理技术,帮助城市交通事故识别、人流轨迹判断、交通数据样本汇总。哪些核心技术值得一看?Spotlight论文《基于时间尺度选择的在线行为预测》讨论了视频中行为预测的一个非常重要的问题:怎么去选择一个好的时间维度窗口?论文提出了包含多个子网络的尺度选择网,比如包括时间序列建模的一维卷积子网络、尺度回归子网络以及行为预测子网络。在两个公开数据集上,尺度选择网的实验结果优于其他方法,并且准确率也接近使用Ground Truth尺度的结果。Spotlight论文《基于语境对比特征和门控多尺度融合的场景分割》致力于场景分割中的两大问题:场景图片中像素形式的多样化(例如:显著或者不显著、前景或者背景)和场景图片中物体大小的多样性。文章针对这两个问题分别提出了语境对比局部特征和门控多尺度融合方法。本文提出的模型在Pascal Context, SUN-RGBD和COCO Stuff 三个场景分割数据集上验证了性能,取得了目前最高的场景分割性能。对于跨模态检索而言,如何学到合适的特征表达非常关键。Spotlight论文《所见所想所找-基于生成模型的跨模态检索》提出了一种基于生成模型的跨模态检索方法,该方法可以学习跨模态数据的高层次特征相似性,以及目标模态上的局部相似性。本文通过大量的实验证明了所提出的方法可以准确地匹配图像和文本,并且在MSCOCO以及Flickr30K的数据集上都取得了state-of-the-art的效果。在论文《整体还是局部?应用Localized GAN进行图像内容编辑、半监督训练和解决mode collapse问题》中,作者建立了GAN和半监督机器学习中Laplace-Beltrami算子的联系,在用少量标注样本训练深度学习模型上取得了优异的性能。同时论文还展示了用Localized GAN (LGAN)对给定图像在局部坐标系下进行编辑修改,从而获得具有不同角度、姿态和风格的新图像;以及如何从流型切向量独立性的角度来解释和解决GAN的mode collapse问题。论文《处理多种退化类型的卷积超分辨率》针对现有基于CNN的单图超分(SISR)算法不能扩展到用单一模型解决多种不同的图像退化类型的问题,提出了一种维度拉伸策略,使得单个卷积超分辨率网络能够将SISR退化过程的两个关键因素(即模糊核和噪声水平)作为网络输入来解决这个问题。实验结果表明提出的卷积超分辨率网络可以快速、有效的处理多种图像退化类型,为SISR实际应用提供了一种高效、可扩展的解决方案。论文《于尺度空间变换的本征图像分解》将把图像分解为其本征的反射图像和光照图像看作是一个图像到图像的转换问题,并且将输入和输出在尺度空间进行分解。通过将输出图像(反射图像和光照图像)扩展到它们的拉普拉斯金字塔的各个成分,论文提出了一种多通道网络结构,可以在每个通道内并行地学习到一个图像到图像转换函数,这个函数通过一个具有跳过连接的卷积神经网络来表示。在MPI-Sintel数据集和MIT Intrinsic Images数据集上结果表明,新提出的模型在比之前最先进的技术上有了明显的进步。大多数现有的零样本学习(Zero-Shot Learning,ZSL)方法都存在强偏问题。在论文《基于直推式无偏嵌入的零样本学习》中,作者提出了一个简单而有效的方法,称为准完全监督学习(QFSL),来缓解此问题。假定标记的源图像和未标记的目标图像都可用于训练。在语义嵌入空间中,被标记的源图像被映射到由源类别指定的若干个嵌入点,并且未标记的目标图像被强制映射到由目标类别指定的其他点。在AwA2,CUB和SUN数据集上进行的实验表明,文章的方法在遵循广义ZSL设置的情况下比现有技术的方法优越。更为具体的实践信息,大家可以通过此本电子书,进一步了解。好的视觉技术不仅需要好的方法指引,还需要在实际的场景中形成数据闭环和不断打磨。未来的计算机视觉技术一定是理论探索和数据实践的共同推进。希望这本论文合集能抛砖引玉,给学术界和工业界带来一些输入,共同推进计算机视觉技术的发展。本文作者:元旦“充电包”阅读原文本文来自云栖社区合作伙伴“阿里技术”,如需转载请联系原作者。

December 27, 2018 · 1 min · jiezi