分类目录归档:人工智能ai

使用OpenMVG和OpenMVS进行三维重建

什么是三维重建?

我们知道,照相机的原理是讲一个三维场景投影到二维平面。所谓三维重建,顾名思义就是从已有的二维图像中复原原始三维场景。
三维重建的原理大致如下:首先,通过多角度拍摄或者从视频中提取得到一组图像序列,将这些图像序列作为三维重建系统的输入;然后分析多个视角的图像,根据纹理特征提取出稀疏特征点(稀疏点云),通过这些特征点估计相机位置和参数;在得到相机参数并完成特征点匹配后,就可以获得更稠密的点云(这些点可以附带颜色,从远处看就像还原了物体本身一样,但从近处能明显看出它们只是一些点);最后根据这些点重建物体表面,并进行纹理映射,就还原出三维场景和物体了。
目前,有不少开源的三维重建系统,之前尝试用过PMVS-CMVS,后来发现使用的重建方法比较老,源文件已经很久没有更新和维护。而且它支持的输入有很大的局限性。最终,我选用了能够配套使用的完整库OpenMVG和OpenMVS(文档最规范详细),这两个系统虽然不是一个团队开发的,但却恰好一起完成了三维重建的整个流程。 阅读全文

H.265(HEVC)—高压缩比的视频/图像压缩算法

数字视频的超高清潮流奔腾向前,帧率从30 fps向60fps、120fps甚至240fps进发,与此同时,物理媒介日薄西山,内容正通过有形无形的网络在世界各个角落的终端设备上传递。高度密集的数据给带宽和存储带来巨大挑战,当前主流的H.264开始不敷应用,而新一代视频编码标准H.265似乎成为了数字4K时代的“救世主”。
H.265又称为HEVC(全称High Efficiency Video Coding,高效率视频编码,本文统称为H.265),是ITU-T H.264/MPEG-4 AVC标准的继任者。2004年由ISO/IEC Moving Picture Experts Group(MPEG)和ITU-T Video Coding Experts Group(VCEG)作为ISO/IEC 23008-2 MPEG-H Part 2或称作ITU-T H.265开始制定。第一版的HEVC/H.265视频压缩标准在2013年4月13日被接受为国际电信联盟(ITU-T)的正式标准。 阅读全文

MQTT—一种适用于物联网的实时可靠消息传输协议

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种构建于TCP/IP协议上基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。做为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。 阅读全文

非极大值抑制(Non-Maximum Suppression,NMS)

概述

非极大值抑制(Non-Maximum Suppression,NMS),顾名思义就是抑制不是极大值的元素,可以理解为局部最大搜索。通俗点讲就是把图片detect检测出的候选框(即每个框可能都代表某种物体)中互相重叠的部分进行去重,只保留最优的框。
NMS在计算机视觉领域有着非常重要的应用,如视频目标跟踪、数据挖掘、3D重建、目标识别以及纹理分析等。 阅读全文

小猪学arduino—使用esp8266WIFI模块实现双向通信

周末翻抽屉,发现一块n年前买的espduino板子,老实说其实当时是买错了,一直丢在那。今天刚好要在pc/pi上给arduino发指令,手上没有多余的esp8266模块,就拿这个板子来用吧,顺便把esp8266模块的使用方法整理一下。 阅读全文

DA需求识别解析—基于规则推导的query结构分析

trietree

现在市面上有各种各样的智能音箱,那他们的对话功能是怎么实现的呢?
通常情况下文本类内容的需求都是采用类似搜索引擎的文本相似度检索方式;其他非文本类精准需求例如定个闹铃/听个歌曲等,需要对query进行更深度的识别和解析才能更好的满足。
本文针对后者,介绍一种基于规则推导的query结构分析方法,它基于Trie Tree,实现对用户提问query的需求识别和问题的结构化解析。我们称这类模块为DA,通常包含需求识别(trigger)、需求解析(parser)、需求发现(discovery)等。 阅读全文

小猪学Darknet—基于C的深度学习框架

最近在研究视频二维码定位清理,涉及到Object Detection对象检测技术,发现Darknet用起来效果不错,本文简单介绍下。先贴几个示例: 阅读全文

小猪学AI—图像生成原理与应用

概述

最近替换视频中的人脸比较火,涉及的技术主要是图像生成,主要采用生成式对抗网络(GAN, Generative Adversarial Networks )深度学习模型。GAN是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。
本文基于Deepfakes Faceswap实现了一个简单的图片换脸过程。 阅读全文

小猪学AI—迁移学习之人脸识别

概述

想给家里的小八爪机器人加上人脸识别功能,比如瞄准的是我时就不能发射炮弹,这样儿子就没法拿这个怪物打我了。。。(也可以在工位上加个摄像头,领导来了提前报警。。。) 阅读全文

小猪学AI—强化学习之下棋高手

概述

儿子的国际象棋水平渐长,我已经逐渐下不过他了,作为陪练水平这么不堪怎么能行?!可是自己研究棋谱的时间有点少,自认成为棋协大师的概率比较低,想来想去还是参考AlphaGo Zero做个AI吧,一方面有可能训练出一个大师级的AI做儿子的陪练对棋艺的提升有所帮助,另一方面刚好自己也能顺便学习强化学习。 阅读全文

AlphaGo论文译文:用通用强化学习自我对弈,掌握国际象棋和将棋 Mastering-Chess-and-Shogi-by-Self-Play-with-a-General-Reinforcement-Learning-Algorithm

AlphaGo论文的译文:用通用强化学习自我对弈,掌握国际象棋和将棋 Mastering-Chess-and-Shogi-by-Self-Play-with-a-General-Reinforcement-Learning-Algorithm 阅读全文