![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图像的处理
AI剑客
计算机视觉方向:图像及视频处理
展开
-
Multi Object Tracking 高级之孪生网络siamese-fc
一,孪生网络siamese-fc,两个相同的全卷积网络,共享权重。reference image为参考图像,一般为视频的初始帧,包含Tracking Object,透过孪生网络,生成Object特征图。search image可以是视频帧图的ROI,也透过孪生网络,生成search image特征图,再使用Object特征图在search image特征图上进行卷积,相当于滑动比较相似度,生成一个相似度map,相似度最高的地方,就是Object的位置,实现对Object的定位及跟踪了。网络只要训练好了,只原创 2020-06-03 21:31:31 · 690 阅读 · 0 评论 -
Multi Object Tracking 初级之卡尔曼滤波与匈牙利算法
Kalman Filter & Hungarian Algorithm:卡尔曼滤波与匈牙利算法一,Object Tracking Design:二,Pipeline Output三,KalmanFilter Algorithm原创 2020-05-26 20:37:15 · 995 阅读 · 0 评论 -
视频中人脸检测+人脸识别+人脸追踪+人脸更换
原创 2020-05-10 15:47:31 · 1837 阅读 · 4 评论 -
faceswap-GAN之reconstruction_loss(重建loss)
一,faceswap-GAN之reconstruction_loss(重建loss),也叫生成loss,确认生成网络的输出图像与真实图像的差异。二.reconstruction_loss采用的是L1,所以也称为MAE loss(均差)reconstruction_loss = normal L1 loss + mask_eyes loss+ other outputs lossnormal L1 loss为Gan生成网络的输出与真实图像的L1 lossmask_eyes loss为Gan生成网络的原创 2020-05-09 23:19:24 · 7751 阅读 · 0 评论 -
opencv之remap() python
一,remap()图像的重映射,可以把一幅图像中某位置的像素放置到另一个图片指定位置的过程。可以实现图像的变形,扭曲,反转等操作。实现图像数据的增强,提升深度模型的泛化能力。可以根据自己设定的函数将图像进行变换,较常见的功能有关于x轴翻转,关于y轴翻转,关于x、y轴翻转;(仿射变换在图像处理中的主要功能为:对图像进行缩放、旋转、平移、扭曲等)二,为了完成映射过程, 我们需要获得一些插值为非整数像素的坐标,因为源图像与目标图像的像素坐标不是一 一对应的。三,remap函数def remap(src, m原创 2020-05-09 17:16:51 · 10065 阅读 · 2 评论 -
ffmpeg将视频转换为gif格式
ffmpeg 是一个自由软件,认为是视频界的手术刀,可以运行音频和视频多种格式的录影、转换、流功能,包含了libavcodec——这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。 “FFmpeg”这个单词中的“FF”指的是“Fast Forward”1.将视频 MP4 转化为 GIFffmpeg -i OUTPUT_VIDEO.mp4 OUT...原创 2020-04-12 09:37:55 · 1328 阅读 · 0 评论 -
faceswap之Dlib+opencv+泊松融合(简易版)
利用Dlib库与opencv+泊松融合实现faceswap第一步:检测人脸,使用 dlib.get_frontal_face_detector()检测器第二步:提取人脸特征点,使用dlib.shape_predictor(self.predictor_path)特征提取器,可以使用68 or 5点模型。shape_predictor_68_face_landmarks.datshape...原创 2020-04-20 18:57:35 · 652 阅读 · 0 评论 -
PixelShuffler实现上采样的原理
一,普通的上采样采用的临近像素填充算法,主要考虑空间因素,没有考虑channel因素,上采样的特征图人为修改痕迹明显,图像分割与GAN生成图像中效果不好。二,PixelShuffler结合channel维度的信息来填充像素,可以实现超高分辨率,生成的图像更逼真,更完美。三,PixelShuffler实际原理pixelshuffle算法的实现流程如上图,其实现的功能是:将一个H × W的低分...原创 2020-04-02 20:06:27 · 3398 阅读 · 3 评论 -
face_alignment安装及使用(facial landmarks 2D or 3D)
https://github.com/1adrianb/face-alignment一,可以获取人脸的2D or 3D坐标Detect facial landmarks from Python using the world’s most accurate face alignment network, capable of detecting points in both 2D and 3D...原创 2020-03-29 13:54:38 · 8426 阅读 · 2 评论 -
Delaunay Triangulation-狄洛尼三角剖分
一,狄洛尼三角剖分1.1 三角剖分(triangulation)给定平面上的一组点,将平面细分成以这些点为顶点的三角形。假设V是二维实数域上的有限点集,边e是由点集中的点作为端点构成的封闭线段,E为e的集合。那么该点集V的一个三角剖分T=(V,E)是一个平面图G,该平面图满足条件:(1)除了端点,平面图中的边不包含点集中的任何点。(2)没有相交边。(3)平面图中所有的面都是三角面,且所...原创 2020-03-24 21:12:07 · 5361 阅读 · 0 评论 -
opencv之图像平滑操作
1.cv2.blur(img, (3, 3)) 进行均值滤波参数说明:img表示输入的图片, (3, 3) 表示进行均值滤波的方框核大小cv2.boxfilter(img, -1, (3, 3), normalize=True) 表示进行方框滤波,参数说明当normalize=True时,与均值滤波结果相同, normalize=False,表示对加和后的结果不进行平均操作,大于255的使...原创 2020-03-21 09:16:29 · 319 阅读 · 0 评论 -
Anaconda安装imgaug数据增强包
Anaconda安装imgaug数据增强包:https://github.com/aleju/imgaug(base) C:\Users\admin\Anaconda3\Scripts>conda config --add channels conda-forgeconda install imgaugug可以对图像进行增强,增加样本数据量,可以用于分类,分割,检测,keypoin...原创 2019-12-08 14:37:42 · 342 阅读 · 0 评论 -
tf.image.crop_and_resize介绍
fast-RCNN,Mask rcnn中的ROI Pooling层或Align层可以直接利用 tf.image.crop_and_resize 来实现。参数介绍image:为输入的图片boxe:为proposal anchor box,抠图的框(y1,x1,y2,x2)对角坐标。即crop的区域。box_ind:box的索引,也就是后面输出图的索引,要放到fast-RCNN,Mask rc...原创 2019-12-07 22:41:59 · 565 阅读 · 0 评论 -
图像分割后图像之全连接CRFs后处理
目前图像像素级语义分割比较流行使用深度学习全卷积神经网络FCN或者各种FCN的改进版U-Net、V-Net、SegNet等方法。这些模型中使用了反卷积层进行上采样操作,虽然能够将特征图恢复至原图尺寸,但也造成了特征的损失,自然而然产生了分类目标边界模糊的问题。为了得到更精确的最终分类结果,通常要进行一些图像后处理。全连接CRFs是在目前深度学习图像分割应用中常用的一种图像后处理方式,它是CRFs的...原创 2019-11-21 20:49:39 · 9994 阅读 · 18 评论 -
图像分割后图像优化之填孔
图像分割后图像优化之填孔下面是灰阶图像的填孔处理,填孔的大小可以用过面积控制。def FillHole3(imgPath, SavePath): filename = imgPath img = cv2.imread(filename, 0) img = cv2.bitwise_not(img) print(np.shape(img)) kern...原创 2019-11-20 20:01:54 · 691 阅读 · 0 评论 -
图像的边缘检测算子roberts介绍
对图像进行滤波,可以有两种效果:一种是平滑滤波,用来抑制噪声;另一种是微分算子,可以用来检测边缘和特征提取。skimage库中通过filters模块进行检测边缘操作。from skimage.filters import robertsedges = roberts(img)...原创 2019-11-20 19:38:47 · 1310 阅读 · 0 评论 -
图像分割后端图片的处理之小噪点去除
图像分割后端图片的处理之小噪点去除:主要使用了openCV的connectedComponentsWithStats函数connectedComponentsWithStats()创建了一个标记图(不同连通域使用不同的标记,和原图宽高一致)除此之外,还可以返回每个连通区域的重要信息–bounding box, area, and center of mass(centroid).如果不需要连通...原创 2019-11-19 21:15:45 · 2902 阅读 · 0 评论 -
opencv image进行二值化的操作总结
opencv image进行二值化的操作总结# 二值化处理,低于阈值的像素点灰度值置为0;高于阈值的值置为参数3ret, thresh1 = cv2.threshold(grayImage, 127, 255, cv2.THRESH_BINARY)cv2.imshow('BINARY', thresh1)# 大于阈值的像素点灰度值置为0;小于阈值置为参数3ret, thresh2...原创 2019-11-19 20:33:32 · 289 阅读 · 0 评论 -
openCV cv2.cvtColor,cv2.imread使用介绍
一,cv2.imread为image读取函数,imread(filename, flags=None),filename为全路径(path+image name+后缀,flags一般选择-1,即不改变原图的模式。如果是RGB image,返回的是BGR nd array。二,在送入神经网络时,需要把BGR转成RGB,可以使用cv2.cvtColor。cvtColor(src, code, dst...原创 2019-11-02 08:06:28 · 2202 阅读 · 0 评论 -
CNN中调整特征图大小的操作总结
在深度学习中,CNN经常要调整特征图的大小,本文对一些常用的方法。一,利用卷积核的步进(stride)调整大小下采样:在padding='same’时,卷积后的特征图大小变为原图/strides,特征图变小,称之为下采样。Conv2D(filters, kernel_size, strides=strides, padd...原创 2019-10-22 21:32:15 · 5977 阅读 · 2 评论 -
视觉分类任务中处理不平衡问题的loss比较
(https://blog.csdn.net/weixin_35653315/article/details/78327408)转载 2019-10-04 21:51:45 · 295 阅读 · 0 评论 -
正负样本不平衡处理方法总结
添加链接描述转载 2019-10-02 15:00:05 · 613 阅读 · 0 评论 -
Keras中 img_to_array()函数详解
keras中的img_to_array()函数并不等于nd.array().主要区别在于,img_to_array()不管是2D shape还是3D shape image,返回都是3D Numpy array. 而nd.array()本身不改变shape。def img_to_array(img, data_format='channels_last', dtype='float32'):...原创 2019-09-26 22:58:20 · 6350 阅读 · 0 评论 -
PIL,Skimage,OpenCV对图像处理的差异
一, PIL,Skimage,OpenCV是对图像处理的一些常用的库,一般进行深度学习前,都需要把图像或图片转换成数组ndarray格式,再按照tensor形式送入网络模型进行训练,在进入网络前,进行图片的读取,预处理(缩放,截取,增强,添加噪声等)操作必不可少。一般的图像处理PIL,Skimage都可以完成,但是复杂的图像处理还是需要更专业的OpenCV库。二,PIL,Skimage,Open...原创 2019-09-22 15:43:33 · 1879 阅读 · 0 评论