
性能优化
文章平均质量分 64
风语
这个作者很懒,什么都没留下…
展开
-
移动端算法加速总结
性能加速,即对于给定的输入,用更短的时间获得我们想要的输出。总的来说有两个思路:降低计算量提高计算速度。各种优化技术基本上都是围绕这两点展开的。降低计算量优化算法或模型,使得用更少的计算量就可以达到同样的效果简化算法或模型,使得在牺牲部分准确度或效果的情况下速度能有大幅提升,看应用场景算法本身不变,优化实现。或将算法中可能存在的重复计算抽离出来,结果进行复用,或其它...原创 2018-09-04 18:03:44 · 1786 阅读 · 1 评论 -
Android视觉应用性能优化
计算机视觉在移动端的应用,典型的如手势识别,人脸识别,流程都差不多,都是利用移动端的相机采集数据,丢给算法层,根据识别的结果来做一些业务,中间可能还要做一些图形的渲染。本文主要讨论这中间涉及到的一些问题以及优化的思路,算是对过往工作的总结吧。大致问题有以下五点:一,相机采集数据的格式是NV21,而算法层所需的格式是RGB,这中间需要转换,对于每秒30帧,每帧1920*1080的图像转换的耗时还...原创 2018-11-23 20:50:05 · 400 阅读 · 0 评论 -
NEON优化——OpenCV Resize双线性插值
算法要点一、基本原理具体原理可以自行搜索,这里只大致描述一下,目标图像上某一个点按比例映射到原始图像上某一点,不过通常计算得到的原始点坐标不是整数,最近邻的做法是向下取整,而双线性差值的做法是取与该坐标最接近的上下左右四个点来线性加权,在放大的时候不会像最近邻那样锯齿严重,但是计算量会大不少。这里要注意的是加权分为两个维度,横向和纵向。此外,边界的处理也要注意。二、优化思路这里核心的优化思...原创 2018-11-23 20:59:50 · 7644 阅读 · 5 评论 -
NEON优化——OpenCV WarpAffine双线性插值
算法要点warpAffine双线性插值和最近邻的区别根据目标图像的某点坐标算出原始图像对应的点坐标后,最近邻是向下取整,双线性插值需要获得相邻的四个点坐标以及纵横方向的权重最近邻直接拷贝原始图像点即可,双线性插值需要横竖加权很显然计算量要比最近邻大一些,但是效果会更好,对于放大的情况没有明显的锯齿。优化要点在计算偏移时基本和最近邻相同,同样要考虑异常情况和越界读的问题,另外要注意...原创 2018-11-23 21:04:34 · 3235 阅读 · 0 评论 -
NEON优化——OpenCV WarpAffine最近邻
warpAffine一种典型的应用场景是将camera拍到的图像中人脸抠出来,通过变换输出一张正脸,然后再做一些人脸识别,关键点检测之类的运算。所以通常是输入尺寸固定,输出尺寸也固定,变的是转换矩阵。最近邻的优势是计算量小,速度较快,问题是放大的情况下锯齿较明显,对于通常是缩小的应用场景最近邻是比较合适的,如果希望在所有的场景下有相对更好的效果,可以考虑双线性。算法要点warpAffine和...原创 2018-11-23 21:07:30 · 3034 阅读 · 1 评论