Android OpenCV 图像融合

在 Android 手机上合成图片也不麻烦,使用 OpenCV 图像无缝融合功能,通过少量的操作就可以将两副图像无缝的融合到一起,在要求不是很精确的场合,有着可以接受的合成效果。

人物姿态识别与画面合成

你可能已经了解到一些电影特效大片的制作过程,拍摄时演员身旁是纯色屏障和一些道具,穿着奇怪的衣服对着空气拳打脚踢、施展魔法。而到了影片里,演员却出现在惊险的树林,或是跟凶恶的怪兽打斗,画面变得格外精彩。能演电影是幸运的事,借助于现代机器视觉、计算机图形技术,或许你拿起手机也可以拍摄出你的超级大片。

在 Android 上运行图像识别

目标检测(Object Detection,检测识别图像中的物体,下称图像识别)神经网络之一 YOLO 已经发布了第三版(YOLOv3),他名称挺有意思:You Only Look Once,你只看一次。他的作者也挺有意思,Darknet 项目的 LICENSE.fuck 看上去有着一种随意、不讲究的个性。随着神经网络技术的兴起,机器视觉软件库之一 OpenCV 在其 3.3 版本中正式添加了 DNN 模块,以支持神经网络算法应用。他能够支持多种机器学习(包括深度学习)框架的预训练神经网络模型,对图像、视频应用神经网络算法。

电影中的 AI 和生活中的 AI

科幻电影中的 AI 和现实生活中软件的 AI 是两码事了。电影中的 AI 是让机器具备了人类的特性,有本能,有意识,有情感,能思考,能学习成长,能自我创造出机器的世界。而现实生活中的 AI 软件,很多是机器学习(Machine Learning,后面会提到)的技术应用,让一些功能更加智能,让一些算法得以实现,让一些设想得以落地应用,但是软件本质没有变化,即固有的(人工编写的)程序逻辑和数据结构。

人脸检测与面部识别

人脸检测很早就有了,以前的数码相机拍照的时候就能实时检测出人脸、笑脸。不过那时的检测会有一些要求,脸要摆正,最好不能带帽子,笑要露出牙齿会更容易检测到。现在随着深度学习技术的发展,人脸检测技术也有了巨大的变化。

OpenCV DNN with GPU Computing

跑分第一的手机未必能跑得动神经网络,因为 CPU 的浮点计算能力很有限,在执行图像处理、机器视觉等一些计算密集型任务时,效率会非常低。处理那样的任务是 GPU 的专长,图形硬件不仅能 3D 绘图渲染,还能通过 OpenCL 等接口使用它的计算能力。这里将展示 PC 平台上图形硬件对神经网络的计算加速,在 OpenCV DNN 图像检测程序中对比 CPU 和 GPU 计算的效能差别。

Running GoogLeNet on Android device

这篇博文也是介绍 OpenCV DNN 模块在 Android 上的应用,运行 GoogLeNet 模型对摄像头画面做图像分类。相关的博文点击文章左下方的 OpenCV 标签可以看到。下图底部有一行字 coffee mug(咖啡杯),这是对画面中的这杯咖啡准确识别分类的结果。

Android OpenCV DNN Objects Detection

这标题都是英文,看了一下专业词汇多还真不好写中文。本文的内容是介绍 OpenCV DNN(Deep Neural Networks)模块在 Android 上的使用,运行深度学习模型来做图像的多目标识别。移动设备上基于深度学习的图像识别技术离实际应用还有段距离,不过该技术却有着惊艳的效果。