58
软件开发与应用
Software Development And Application
电子技术与软件工程
Electronic Technology & Software Engineering
1 引言
随着信息技术及网络社交兴起、深度学习和图像处理技术的技术的成熟以及智能手机的普及,人们对图像处理类软件产品的需求也日益增加。小程序搭配数字图像处理技术和深度神经网络,开发图像处理平台,解决用户在图像处理上的多样化需求具有很大的研究价值。2 平台系统架构2.1 前端部分
前端框架分为三部分:逻辑层、视图层和系统层,采用vue.js 框架开发,为用户使用小程序提供了登录页面、注册页面、图像处理页面。2.2 后端结构2.2.1 云开发控制台
云开发控制台提供数据库和云储存两大功能,数据库管理用户的个人数据;云存储为存放用户的个人图像文件。 2.2.2 Django 服务端
Django 服务器端存放图像处理视图函数,用户通过小程序向服务器发起一个http 请求(request),不同的请求对应不同的视图函数。函数在语言上基于python 开发,在算法的设计上基于opencv 的图像处理库和深度神经网络,实现了负责接收前端的不同post 请求,并根据不同的请求地址调用相应的图像处理算法的功能,对post 请求的图像数据进行处理并返回结果。3 平台可行性分析
不同于市面的大多数图像处理软件,本平台开发了多种图像特效处理功能(图1)+人脸识别的功能。平台的特点:简洁美观的界面、实用多样的功能、简单方便的操作等,因此能基本满足不同类型的人的需求,具有广阔的前景。4 数字图像处理算法实现4.1 人脸识别
小程序用户在前端注册页面进行个人信息注册时,需进行个人头像照的上传并被存储到云储存中。小程序在用户登陆时调用摄像头模块获取用户实时照片并转成base64码,再将注册所用头像图像转成base64码,两个base64码上传到Django 服务器。Django 服务器则调用opencv 运行人脸识别算法,对两个64编码进行对比匹配,并将匹配结果返回前端[1]。人脸识别算法实现过程如下:
(1)获取每个图像中人脸的位置。将post 请求中两个不同的64编码转成numpy 图像矩阵,再调用face_recognition 库对图像矩
基于小程序的数字图像处理平台的研究和实现
王柳涛 李家敏 陈兴松 郭鸿伟 欧武略
(广东技术师范大学 广东省广州市 510665)
阵进行处理,求出每个图像的人脸位置location=[(top,right,bottom,le ft)]。
(2)求出两张图像的脸部编码列表face_encoding 。调用face_recognition 库的脸部编码函数,以两个图像的人脸位置location 为参数,转换得到两个图像的脸部编码列表。
(3)对两个脸部编码列表进行比较。调用face_recognition 的compare_faces 函数,对两个脸部编码列表进行对比,将对比结果返回前端,前端根据对比结果进行登录认证。4.2 图像动漫化
摘 要:
本文对如何将数字图像处理更好地应用于小程序平台的研究,对目前市场上的数字图像处理软件大多存在功能单一、效
果无法完全满足用户需求的问题,提出了技术和算法上的实现和解决。
关键词:小程序;python;opencv;animeGAN;Django;darknet-ocr;ResNet 图2:GAN 网络结构图1:功能图
图3:animeGAN 效果(原图:左;效果图:右)
59
软件开发与应用
Software Development And Application
电子技术与软件工程
Electronic Technology & Software Engineering
小程序制作平台哪个好4.2.1 GAN
GAN (生成对抗网络)被广泛应用于图像风格转移和高质量图像合成,尤其在图像动漫化的领域,已经取得了很好的成果[2]。GAN 由两大部分组成,一是图像生成器Generator ,二是判定器Discriminator 。GAN 网络结构如图2所示。Generator 和Dicriminator 均由深度神经网络CNN 组成,Generator 负责接收程序生成的高斯噪音,并将噪音转换到另一特征空间,即生成假图像fake ,Dicriminator 负责鉴定fake 的真伪,两者不断对抗博弈,最终达到纳什均衡[3]。在数学上,GAN 最终要达到的状态可以由目标函数表示:
Min G Max D V(G,D) = E x~Pdata(x)[log D(x)] + E z~p(z)[log(1 - D(G(z)))]4.2.2 animeGAN
animeGAN 是以DCGAN 为基本模型,以动漫图像为训练集的GAN 的变种[4]。DCGAN 在网络架构上用CNN 代替了原始GAN 的全连接层,保留了图像在多层次下的特征;在每一层中加入了Batch Normalization (BN )层,提高了模型的稳定性;在Generator 中的各层中(除了输出层使用tanh 函数)使用relu 函数,在Discriminator 各层中使用LeakyReLU 激活函数,有效防止了模型在训练过程中出现梯度消失或爆炸。
当用户发起请求并将待处理图像的base64编码上传到django 时,后端使用animeGAN 模型进行图像处理并将处理后的图像返回到小程序前端。
animeGAN 效果如图3所示。4.3 文字提取
后端接收前端传输的图像数据,通过调用darknet-ocr 算法模型将图像文本区域的文字提取出来。该算法模型基于darknet 开源深度网络,基于图像识别以及自然语言模型的核心技术,达到了CNN+CTCOCR 文字识别的目的。4.4 磨皮美白
(1)对前端传输过来的图像进行灰度处理,得到灰度图片;(2)双边滤波;
(3)将图像矩阵转回3通道彩图像并返回前端。4.5 抠图
(1)引入paddlehub 库加载图像模型module ;(2)module 调用segmentation 函数切割图像;(3)将切割过后的图像返回前端。4.6 马赛克
(1)用户通过手划的方式引起触发事件,将要进行马赛克的图片局域矩阵locations(x1,x2,y1,y2)和图像base64编码传输到后端;
(2)将前端传输过来的图像转成灰度图像;(3)中值滤波;
(4)遍历图像locations 位置的所有像素(i,j),并将点(i,j )的像素值赋给距离点(i,j)为10的其他像素点;
(5)将图像数据返回前端。4.7 素描化
不同于传统图像处理方法,平台后端调用双分支GAN 算法模
型[5],对前端传输过来的图像进行高质量的素描图像生成,将生成的图像以base64码的格式返回前端。4.8 水彩
后端程序调用opencv 库的内部函数stylization()对图像进行水彩风格化处理,并返回前端。4.9 修复
图像修复即图像去噪,后端算法使用残差网络(ResNet )模型进行图像的去噪操作,ResNet 在图像特征表达能力方面效果较好,尤其能充分提取浅层次的特征,在图像去噪方面被广泛应用。5 结语
采用数字图像处理和深度神经网络开发的小程序平台,前端UI 简约大方,后端使用云开发控制台以及Django 搭建,算法上使用基于python 语言的opencv 图像处理库以及深度神经网络模型,使用方法简单,效果上能满足用户的多样化需求,在商业推广和技术上都具有很高的可行性。参考文献
[1]OpenCV 英文网站 [/OL].opencv.willowgarage/
wiki/
[2]Goodfellow I, Pouget-Abadie J, Mirza M, et al.
Generative adversarial nets[C]//Advances in neural information processing systems,2014:2672-2680.
[3]Ledig C, Theis L, Huszar F, et al. Photo-Realistic
Single Image Super-Resolution Using a Generative. Adversarial Network[C].Computer Vision & Pattern Recognition. IEEE, 2017,1:105-114.
[4]王德兴,秦恩倩,袁红春.基于DCGAN 数据增强的水产动物分
类方法[J].渔业现代化,2019,46(06):68-75.
[5]滕少华,袁萧勇,张巍.生成对抗网络的素描生成方法[J].
小型微型计算机系统,2021.作者简介
王柳涛(1999-),男,广东省雷州市人。广东省广州市天河区广东技术师范大学,物联网工程专业,
在读本科生。研究方向为数字图像处理、深度神经网络、机器视觉。
李家敏(1998-),男,广东省湛江市人。广东省广州市天河区广东技术师范大学,物联网工程专业,在读本科生。研究方向为前后端框架设计及搭建、深度学习。
陈兴松(1998-),男,广东省兴宁市人。广东省广州市天河区广东技术师范大学,物联网工程专业,在读本科生。研究方向为商业分析、财务分析。
郭鸿伟(1998-),男,广东省德庆县人。广州市天河区广东技术师范大学,数据科学与大数据技术专业,本科生。研究方向为前后端开发设计、深度学习。
欧武略(1999-),男,广东省高州市人。广州市天河区广东技术师范大学,通信工程专业,在读本科生。研究方向为OpenCv 图像处理、机器视觉。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论