摘 要:文章对基于人工智能的图像处理技术中多任务卷积神经网络的实现原理、应用场景进行了介绍,旨在为从业者提供一定的参考,以及为行业外感兴趣之人提供一定的科普知识。
关键词:人工智能:图像处理:多任务卷积神经网络
中图法分类号:TP391文献标识码:A
基于人工智能的图像处理主要进行“数字图像处理”,即通过编制计算机程序控制算法,在原始数字图像中定向执行某些功能作业。在图像处理的过程中,可以从数字图像中完成基本信息的提取。在现代生活中,大众已经习以为常的“相机美颜” 功能、电影《流浪地球2》中令刘德华、吴京等人饰演的角色“年轻化”的方法均应用了人工智能图像技术。总体而言,对此技术的实现原理及应用展开分析具有重要意义。
1 基于人工智能的图像视觉处理技术原理
当前应用较为广泛的图像处理技术以多任务卷积神经网络(Multi⁃Task Convolutional Neural Network,MTCNN)为代表[1] 。此项技术的核心原理是,能够将“人脸区域检测” 以及“人脸关键点检测” 融合于一体,形成类似cascade 的主题框架[2] 。MTCNN 网络一般分成P,R,O 三层⁃NET 网络结构。在上述三个级联网络形成图像检测跟踪模型之后,进一步添加“候选框+分类器”处理机制,能够自动捕捉人脸图像并进行检测。上述三个级联网络各自具有的功能是:P⁃NET 具有“快速生成候选窗口”功能;R⁃NET 具有“基于高精度候選窗口过滤选择”的功能;O⁃NET 具有“生成最终边界框与人脸关键点”的功能[3] 。
2 基于人工智能的图像视觉处理技术的应用历程
MTCNN 网络模型在人脸识别领域的应用范围最广,处理人脸图像信息的过程如下。
(1)图像金字塔的构建。首先,在处理一张人脸图像之前,需要对图片进行缩放,但缩放的程度并不固定[4] 。如图1 所示,右侧的效果便是“图像金字塔”。这一过程在计算机图像处理软件中的实现方法为设定缩放系数factor。经过对不同人脸图像的反复试验,研究人员得出一个结论,将factor 取值设定为0.709,取得的缩放效果最佳。于是“factor= 0.709”被编入控制程序中。图1 右侧的“金字塔”型人脸图像的“金字塔具体分层” 取决于人脸图像的原始大小———“factor= 0.709”实际上是缩小比例,将原始图像的长度、宽度均乘以这一系数,一直到长度、宽度低于某个特定值(不同处理软件有不同的标准,同样可以自行设定) 便停止。经过几轮的“缩放”,图像的“金字塔层级”便是多少。基于上述原理对某人脸图片进行处理,核心处理程序如下。
def calculateScales(img):
copy_img = img.copy()
pr_scale = 1.0
h,w,_ = copy_img.shape
if min(w,h)>500:
pr_scale = 500.0/ min(h,w)
w = int(w∗pr_scale)
h = int(h∗pr_scale)
elif max(w,h)<500:
pr_scale = 500.0/ max(h,w)
w = int(w∗pr_scale)
h = int(h∗pr_scale)
scales = []
factor = 0.709
factor_count = 0
minl = min(h,w)
while minl >= 12:
scales. append(pr_scale∗pow(factor,
factor_count))
minl ∗= factor
factor_count += 1
return scales
按照上述程序对图片进行比例缩放,其中存在2个数据,分别是“500”和“12”。