版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大数据技术在会计与财务中的应用2026/9/7《大数据技术在会计与财务中的应用》配套课件第5章·5.1图像分析概述图像分析概述在图像分析中,不管最终任务如何,计算机科学家们通常会先提取其特征,即图片中有价值的信息。就像同样面对一份财务报告,未经训练的人可能不知从何看起,而有经验的审计师或者基金经理则会迅速浏览三大报表,并重点关注其中的某些财务指标,即便他们的最终目的可能并不相同。5.1图像分析概述|02/05图像分析概述如果把财务报告比作图片原数据,那么其中的财务指标就是信息含量较高的“特征数据”,这个例子中提取特征的方法一般被称为“专家经验”,即依靠具有专业知识的人判断哪些信息有用。然而,在面对海量的图片和音视频数据时,“专家经验”的成本高昂,难以大规模应用,因为无法确定图片和音视频的哪个位置是最重要的。于是,机器学习算法应运而生。这些算法在有标签数据集上的训练后,可以学习有关图片特征的“知识”,而得到的模型可以泛化在新数据上,自动识别新图片中的特征,实现了对专家的替代。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.1图像分析概述|03/05图像分析概述在财务与会计研究中,大部分图片研究还是以人脸为关注对象,例如金融分析师、高管(主要是CEO)和创业者等的面部特征,研究内容包括颜值、脸部长宽比和情绪等特征。其中,情绪分析最能发挥机器学习等大数据技术的优势。此外,一些研究关注了人脸以外的图片数据,例如金融媒体上的图片、票据图片和由股票数据生成的K线图等。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.1图像分析概述|04/052026/9/7《大数据技术在会计与财务中的应用》配套课件谢谢观赏!5.1图像分析概述|05/05大数据技术在会计与财务中的应用作者:张敏等2026/9/7《大数据技术在会计与财务中的应用》配套课件第5章·5.2图像数据获取与转换目录5.2.1图像数据获取思路5.2.2图像数据转换5.2图像数据获取与转换5.2图像数据获取与转换|02/25图像数据获取思路财务与会计研究中,涉及的图片数据并不丰富。数据来源主要包括新闻媒体和报刊、证监会官方网站、路演平台网站、搜索引擎以及自行生成的内容等。分析对象包括高管脸部(大部分)、新闻图片、股价K线图几种。不管从哪个角度来看,图片数据的范围都比较有限,因此,广大研究者需要挖掘更多类型的、有价值的图片数据。本部分介绍几种获取图片数据的方式,希望能为后续研究提供借鉴。5.2图像数据获取与转换|03/25爬虫获取图片最常见的方式是编写爬虫脚本,即爬取对应网站的图片文件。由于本书第8章将详细介绍相应内容,这里不再展开爬虫相关知识。从逻辑上看,图片文件的爬取与结构化数据的爬取没有本质区别,只是速度可能更慢(因为文件更大),而且需要另外进行保存。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.2图像数据获取与转换|04/25爬虫例如,对网页源代码进行细致分析,可以得出某张图片的url为:/it/u=2863108920,4275403644&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=281那么,请求代码为:imgdata=requests.get('/it/u=2863108920,4275403644&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=281').content#请求到了图的二进制数据2026/9/7《大数据技术在会计与财务中的应用》配套课件5.2图像数据获取与转换|05/25爬虫注意,与通常获取文本数据的text属性不同,这里我们需要获取响应对象的content属性,相当于获得该图片的二进制数据,然后保存。withopen('new.jpg','wb')asfp:fp.write(imgdata)2026/9/7《大数据技术在会计与财务中的应用》配套课件5.2图像数据获取与转换|06/25爬虫此时,这张图片已成功保存到本地,如图5-1:2026/9/7《大数据技术在会计与财务中的应用》配套课件5.2图像数据获取与转换|07/25搜索引擎+爬虫当面对一些对数据要求较高的任务时,往往没有可直接爬取的现成数据。例如Hsieh等(2020)研究中,研究者需获取上市公司的CEO和CFO的脸部图片,而很少有网站会系统性收集这些图片,这时,我们可以利用搜索引擎,例如GoogleImages和百度图片等。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.2图像数据获取与转换|08/25搜索引擎+爬虫具体而言,我们可以根据样本信息组合搜索关键字。例如用“CEO/CFO姓名+公司名称”的方式组成关键词,以保证搜索结果的准确性和全面性,并编写程序发送请求。在实际操作中,我们只需要更换对应位置的搜索关键词,并按需决定爬取页数即可。整体逻辑与爬取结构化数据没有明显区别,主要区别在于对图片文件的定位。与第一种方法相比,这种方法是借助搜索引擎,将有关图片集中起来,并通过结构化的网页源代码批量爬取其中的图片。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.2图像数据获取与转换|09/25视频截图2026/9/7《大数据技术在会计与财务中的应用》配套课件通过上述两种方式,我们可以获取大部分图片。此外,还有一些较小众的方法,在此也做简单介绍。不少研究在爬取完视频(视频爬取比较复杂,后文会详细介绍)后,并非关注视频本身,而是对视频中的每一帧图片进行图片研究。这也是获取图片数据的一种有效方法。5.2图像数据获取与转换|10/25视频截图2026/9/7《大数据技术在会计与财务中的应用》配套课件(1)导入计算机视觉处理库cv2。importcv2(2)打开视频文件,并初始化计数的变量num。whileTrue用于实现不报错情况下逐帧处理视频。在循环中,success和data变量逐帧更新,分别代表是非正常读取,以及该帧的图像数据。cap=cv2.VideoCapture('1.mp4')#打开视频文件num=1whileTrue:#success表示是否成功,data是当前帧的图像数据;.read读取一帧图像,移动到下一帧success,data=cap.read()ifnotsuccess: break5.2图像数据获取与转换|11/25视频截图2026/9/7《大数据技术在会计与财务中的应用》配套课件(3)只要不报错(succes变量为True),我们就通过imwrite函数将该帧图像保存至对应文件夹。每一次循环结束后,计数器加一并打印帧数。cv2.imwrite('screenshots/'+str(num)+".jpg",data)num=num+1print(num)(4)关闭这个视频对象。如此,我们就获取了该视频每一帧的图片文件,如图5-2所示。cap.release()5.2图像数据获取与转换|12/25视频截图2026/9/7《大数据技术在会计与财务中的应用》配套课件5.2图像数据获取与转换|13/25视频截图每一帧都另存图片可能会产生严重的数据冗余,因此,我们可以每隔固定帧数保存一张图片。importcv2cap=cv2.VideoCapture('1.mp4')#打开视频文件num=1whileTrue:#success表示是否成功,data是当前帧的图像数据;.read读取一帧图像,移动到下一帧
success,data=cap.read()ifnotsuccess:breakifnum%30==0:cv2.imwrite('screenshots/'+str(num)+".jpg",data)num=num+1print(num)cap.release()2026/9/7《大数据技术在会计与财务中的应用》配套课件5.2图像数据获取与转换|14/25数据生成还有一种特殊的图片获取方式,那就是根据结构化数据生成图片数据。例如股票市场的行情数据是典型的结构化数据,而Jiang等(2023)通过绘制K线图的方法将之转换为图片数据(如图5-4),并利用CNN对其中的深度特征进行挖掘。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.2图像数据获取与转换|15/25数据生成这种思路的实现方式通常取决于具体任务的需求,考虑到此处详细介绍K线图的绘制方法与本章核心内容关联性较远,因此这里不详细展开。需要说明的是,本质上,这种思路是希望利用专门的图片特征提取技术,挖掘结构化数据处理方法难以提取的特征。这种思路启发我们深入思考新技术所能挖掘的增量信息。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.2图像数据获取与转换|16/25图像数据转换在获取图片数据后,进行图片分析之前,我们还需要对图片进行一些处理。这里将简单介绍几种常见的图片处理操作。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.2图像数据获取与转换|17/25图片读取对计算机而言,图片文件是由一个个像素点组成的,后续的图片分析,无论是传统特征提取方法还是深度卷积神经网络,输入都是一个个高维的元组数据。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.2图像数据获取与转换|18/25图片读取我们通过计算机视觉常用库cv2中的imread方法读取这张图片。Importcv2image=cv2.imread('shiba_inu.jpg')打印图片可知,读取的image对象是一个array数组:array([[[3,3,3],[0,0,0],[2,2,2],...,[13,8,9],[15,10,11],[14,9,10]], …2026/9/7《大数据技术在会计与财务中的应用》配套课件5.2图像数据获取与转换|19/25图片读取这只是其中的一小部分,那么它究竟有多大呢?我们可以用shape函数来了解。image.shape 输出结果为(366,500,3),说明该图片的尺寸为366*500。结果中的3代表着这是一张彩色图片,因为彩色图片是以RGB三种颜色的色素混合组成的,相当于它有3个通道(channel)。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.2图像数据获取与转换|20/25图片缩放与保存接下来,我们对这个图片进行简单的缩放操作。我们采用的是PIL提供的线性插值法,可以理解为在预设的尺寸下线性补齐或删减(过渡)对应像素点,从而改变图片的尺寸(像素)。这里的size参数可以根据需要设定。在图片分析中,通常要求模型输入的数据具有相同的大小,因此,这一步操作非常重要。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.2图像数据获取与转换|21/25图片缩放与保存fromPILimportImagesize=(1280,720)resample=Image.BILINEAR#使用线性插值法重采样im=Image.open('shiba_inu.jpg')im_resized=im.resize(size=size,resample=resample)保存图片。image=cv2.imwrite('shiba_inu_new.jpg')再次打印image.shape,发现结果变成(720,1280,3),说明尺寸变换成功。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.2图像数据获取与转换|22/25黑白处理有些算法要求传入的图片数据为灰度图,即不需要三维数据,只需要单维数据。实现这一转换非常简单,在图片读取时直接加入一个参数即可:image=cv2.imread('shiba_inu_new.jpg',0)此时再观察image的shape属性,发现它变成了(720,1080),说明该图片的彩色信息已经被去除了,数据变为一维数据。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.2图像数据获取与转换|23/25镜像变换我们也可以对图片进行镜像转换操作。img=cv2.flip(image,1,dst=None)flip函数的第二个参数代表翻转方向,取1为水平翻转,取0为垂直翻转,取-1为对角线翻转。水平翻转结果如图5-7所示。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.2图像数据获取与转换|24/252026/9/7《大数据技术在会计与财务中的应用》配套课件谢谢观赏!5.2图像数据获取与转换|25/25大数据技术在会计与财务中的应用作者:张敏等2026/9/7《大数据技术在会计与财务中的应用》配套课件第5章·5.3图像分析技术与算法目录5.3.1传统图片特征5.3.2机器学习特征5.3.3基于CNN的手写体数字识别任务实战5.3图像分析技术与算法5.3图像分析技术与算法|02/32图像分析技术与算法熟悉基本的数据载入和转换操作之后,我们可以进一步进行图片分析。考虑到该部分比较重要,本节先从理论层面对计算机视觉领域现有的特征提取技术进行介绍,包括传统特征提取方法和卷积神经网络(CNN)方法。其中,CNN方法以其优越的可迁移性和较高的准确度,受到研究者的广泛应用。5.3图像分析技术与算法|03/32传统图片特征传统图片特征提取算法的基本任务是物体识别,而物体识别的核心问题是匹配同一目标在不同时间、分辨率、光照和位置情况下形成的图像。为了进行匹配,我们首先要合理地表示图像。受目标自身状态和所处环境的影响,同一物体在不同图像中的呈现往往相差较大,但即使这样,我们仍能通过同一物体的一些局部共性来识别出物体,类似于我们能区分不同国家民族的人。局部特征描述就是刻画图像中的这些局部共性,我们可以将一幅图像映射(变换)为许多局部特征的集合。理想的局部特征应具有平移、缩放、旋转不变性,同时对光照变化、仿射及投影影响具有较强的鲁棒性。下面将介绍几个经典的特征提取方法。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|04/32HOG(方向梯度直方图)在物体检测任务中,梯度方向直方图(HOG)是一种基于形状边缘特征的描述算子。梯度表示像素点与周围像素点的差值。其基本思想是利用梯度信息刻画局部物体(如行人)的边缘特征,并通过局部梯度的大小将物体的外观和形状特征化。在人体检测任务中,研究者利用HOG特征并结合其他特征,得到了较好的结果。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|05/32HOG(方向梯度直方图)(1)引入相关库,其中exposure是为优化展示效果,并非获取HOG特征所需。fromskimageimportfeature,exposureimportcv2image=cv2.imread('bolt.jpg',0)fd,hog_image=feature.hog(image,orientations=9,pixels_per_cell=(16,16),cells_per_block=(2,2),visualize=True)2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|06/32HOG(方向梯度直方图)(2)载入文件并转换为灰度图。然后直接调用feature.hog函数即可获得该图像的HOG特征,储存在fd变量中。该特征长度由pixels_per_cell,cells_per_block等参数决定,可以理解为block的大小和精度。特征可视化后的图片对象储存在hog_image变量中。#Rescalehistogramforbetterdisplayhog_image_rescaled=exposure.rescale_intensity(hog_image,in_range=(0,10))cv2.imshow('hog',hog_image_rescaled)cv2.waitKey(0)==ord('q')2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|07/32HOG(方向梯度直方图)HOG特征被广泛地应用于行人检测任务中,在财务与会计领域也曾被应用于面部特征分析(Hsieh等,2020;Duan等,2020)。举例来说,Hsieh等(2020)借助方向梯度直方图和线性分类器测量面部可信度,发现审计师向CEO面部可信度更高的公司收取的审计费用更少。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|08/32HaarHarr特征的计算过程是:某一矩形区域内的像素值之和减去相邻矩形区域内的像素值之和。简而言之,该类特征用于描述局部范围内像素值的明暗变换。使用不同的特征模板(即不同的矩形)在图片上滑动,就可以获得相应的特征。不同的模板能够提取图片中不同的细节。脸部的一些特征就能由矩形特征简单的描述,例如,眼睛要比脸颊的颜色要深,鼻梁两侧比鼻梁的颜色要深,嘴巴比周围区域的颜色要深等。然而,矩形特征只对一些简单的图形结构,如边缘、线段较敏感,所以只能描述特定方向(水平、垂直、对角)的结构。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|09/32LBP(局部二值模式)LBP是一种用来描述图像局部纹理特征的算子,单纯的LBP记录像素点与其周围像素点的对比信息,或者说差异。LBP算子的提取原理如图5-10所示。在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。通过这种方式,3*3邻域内的8个点可产生8位二进制数(通常转换为十进制数即LBP码,共256种),进而得到该窗口中心像素点的LBP值,并用这个值来反映该区域的纹理信息。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|10/32LBP(局部二值模式)进行LBP处理后,得到是一张LBP图谱,这张图谱能够有效呈现该图片的纹理细节。在实际操作中,通常不将原始的LBP图谱作为特征向量用于分类识别,而是采用LBP特征谱的统计直方图作为特征向量用于分类识别。通过skimage库同样可以实现LBP特征的提取以及特征可视化。(1)引入相关库:fromskimage.featureimportlocal_binary_patternfromskimageimportdata,filtersimportmatplotlib.pyplotaspltimportcv22026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|11/32LBP(局部二值模式)(2)设置LBP算法中的范围半径并读取图像。此处的半径指的是上述算子每次计算的范围半径,而像素点数就是它的8倍。#设置LBP超参数radius=3#LBP算法中范围半径的取值n_points=8*radius#领域像素点数#读取图像image=cv2.imread('bolt.jpg')#设置画布分辨率与大小plt.figure(dpi=300,figsize=(5,8))#显示到plt中,需要从BGR转化到RGB,若是cv2.imshow(win_name,image),则不需要转化image1=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)plt.subplot(121)#把画布分成1*2的格子,放在第一格plt.imshow(image1)2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|12/32LBP(局部二值模式)(3)计算LBP特征。这里仍以博尔特照片为例,图5-11展示了LBP算子处理前后的对比情况,左侧是原始图像,右侧是LBP图谱。#LBP特征lbp=local_binary_pattern(image,n_points,radius)plt.subplot(223)#把画布分成2*2的格子,放在第3格plt.imshow(lbp,cmap='gray')2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|13/32机器学习特征除了上文提到的传统图片特征提取算法,还有许多专门用于图片分析的机器学习算法,其中,卷积神经网络(CNN)是最具代表性的算法之一。1998年,LeCun用46页的篇幅提出了CNN的开山之作——LeNet-5模型,虽然整个模型只有6000多个参数,但在当时算力水平较低的情况下,该模型高昂的训练成本使其并未大火。经过十几年的沉寂,随着GPU加速的实现,2012年AlexNet横空出世,随后CNN的发展日新月异,逐渐成为图像处理算法的主流。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|14/32CNN(卷积神经网络)卷积神经网络的英文名称叫:ConvolutionalNeuralNetwork(CNN)。读者可能也注意到,去掉第一个字母C(即卷积),剩下的就是NN,即神经网络,我们在第3章中已经简单介绍过这种结构。那么,我们为什么不直接用神经网络来提取图片中的特征呢?这是因为图片数据太庞大了。一个28*28像素的图片如果直接交给神经网络,相当于有28*28=784个输入特征,这还只是一张极不清晰图片,如果分辨率稍微高一些,其数据量级根本无法想象。因此,图片分析需要采用完全不同的处理思路,即加入卷积层。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|15/32CNN(卷积神经网络)卷积层指的是对图像的不同数据窗口和滤波矩阵(即一组固定的权重,因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器filter)进行内积操作(逐个元素相乘再求和)。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|16/32CNN(卷积神经网络)(1)引入相关库,即上文提到的三种网络层。在keras架构下搭建一个简单的神经网络是比较容易,其基本流程是按照序列逐步加入网络层。fromkeras.layersimportConv2D,MaxPool2D,Dense,Flattenfromkeras.modelsimportSequential(2)初始化一个网络序列。model=Sequential()2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|17/32CNN(卷积神经网络)(3)添加一个卷积层。这里的32代表有32个滤波器(卷积核),每个滤波器的大小都是5*5,步长在横向和纵向上均为1,激活函数采用relu。需要注意input_shape的参数,如果确保训练集数据没有差错,可以使用第一条观测的shape(规格)直接传入。model.add(Conv2D(32,kernel_size=(5,5),strides=(1,1),activation='relu',input_shape=x_train[0].shape))(4)加入一个最大池化层,大小为2*2,步长为2*2。model.add(MaxPool2D(pool_size=(2,2),strides=(2,2)))(5)再加入一个卷积层。model.add(Conv2D(64,(5,5),activation='relu'))2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|18/32CNN(卷积神经网络)(6)再加入一个对应的池化层。model.add(MaxPool2D(pool_size=(2,2)))(7)之后加入一个Flatten层,将数据摊平。model.add(Flatten())(8)加入一个1000个神经元的全连接层。model.add(Dense(1000,activation='relu'))(9)加入一个与分类任务类别数相对应的全连接层,即输出层。model.add(Dense(num_classes,activation='softmax'))2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|19/32CNN(卷积神经网络)(10)我们可以通过plot_model函数可视化搭建的模型(keras框架下任何模型均可以),但是需要提前安装外部软件Graphviz和pydot库,得到的结果如图5-14,其展示了一个比较典型的神经网络结构:fromkeras.utils.vis_utilsimportplot_modelplot_model(model,to_file='model1.png',show_shapes=True)2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|20/32VGGVGG就是CNN中比较经典的一个“小家族”。VGG包括几种网络模型,分别是VGG13、VGG16、VGG19。相比AlexNet,VGG系列堆叠了更多的卷积层及池化层。其主要贡献在于证明了网络深度(层数)是影响性能的关键因素。VGG使用了小卷积核,并用卷积深度替代了卷积核大小。图5-15展示了VGG16的网络结构,可见其拥有更多的网络层数。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|21/32VGGVGG模型通过增加层数显著提高了模型的性能,但同时也带来了梯度爆炸和梯度消失的问题。另外,模型还存在着退化问题,即模型的深度达到20层后,如果再增加深度,模型的性能反而会下降。以下是Keras框架下的VGG模型调用方法:fromkeras.applications.vgg19importVGG19model=VGG19()2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|22/32VGG当然,如果不想调取该预训练模型,而是想要在自己领域的数据集上进行训练,也可以建立对象,并通过weights参数进行设置。model=VGG19(weights=None)2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|23/32ResNet深度残差网络由中国广东的何凯明在2015年CVPR上提出,其一经问世,就在ImageNet中斩获图像分类、检测、定位三项冠军。这篇论文的影响力非常大,不仅在CNN相关的论文中有很高的引用量,而且逐渐成为实践中大家使用卷积神经网络的默认选择。ResNet之所以能拥有如此大的影响力,主要原因在于其突破了CNN的瓶颈。正如上文所述,随着网络深度的增加,反向传播的梯度会逐渐减小,导致梯度下降变慢,使浅层的网络不能更新梯度,训练难以突破。而ResNet的主要特点是跨层连接,它通过引入捷径连接技术(shortcutconnections)将输入跨层传递,并与卷积的结果相加。ResNet结构仅在最后一个卷积层后面添加了一个池化层。ResNet使得底层网络能够得到充分训练,模型的准确率也随着深度的加深而显著提升。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|24/32ResNetResNet家族包含resnet50、resnet101、resnet152、resnext系列等模型。同样的,keras库可以直接导入resnet模型,这里以resnet50为例。fromkeras.applications.resnet50importResNet50model=ResNet50(weights='imagenet')2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|25/32InceptionGoogle提出Inception系列的初衷是解决CNN分类模型的两个问题。首先,如何在增加在网络深度的同时,保证模型的分类性能随之增加,而不像VGG网络那样,在达到一定深度后就陷入性能饱和的困境(Resnet针对的也是此问题);其次,如何在提升网络准确率的同时,控制模型的计算开销与内存占用,避免资源消耗过度增长。Inception家族包含Inceptionv1、Inceptionv2、Inceptionv3、Xception和Inceptionv4、Inception-resnet系列等模型。这里我们给出引入Xcpetion模型的代码。fromkeras.applications.xceptionimportXceptionmodel=Xception()2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|26/32基于CNN的手写体数字识别任务实战考虑到CNN的重要性,这里以keras自带的手写体数字数据库为样例,进行一个简单的任务实战。该数据集就是上文提到的初代CNN-LeNet应用的数据集。(1)导入库并读取数据。importkerasfromkeras.datasetsimportmnist(x_train,y_train),(x_test,y_test)=mnist.load_data()2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|27/32基于CNN的手写体数字识别任务实战(2)实际中的数据导入可能要比上述代码复杂得多,可能会涉及不同图片的对齐问题(对齐至同一尺寸或分辨率,可参照上一分节内容)。代码中的reshape函数本质上就是在调整分辨率(像素)。进行简单的归一化处理后,还需对预测变量进行独热编码处理,因为模型输出层神经元个数等于类别数,而现有数据是一维数据,所以需要对齐。x_train=x_train.reshape(-1,28,28,1)x_test=x_test.reshape(-1,28,28,1)x_train=x_train/255.x_test=x_test/255.y_train=keras.utils.to_categorical(y_train)#label做一个one-hotencoding处理y_test=keras.utils.to_categorical(y_test)num_classes=10#取决于数据集2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|28/32基于CNN的手写体数字识别任务实战(3)接下来就是上文提到的模型构建过程。fromkeras.layersimportConv2D,MaxPool2D,Dense,Flattenfromkeras.modelsimportSequentialmodel=Sequential()model.add(Conv2D(32,kernel_size=(5,5),strides=(1,1),activation='relu',input_shape=x_train[0].shape))model.add(MaxPool2D(pool_size=(2,2),strides=(2,2)))model.add(Conv2D(64,(5,5),activation='relu'))model.add(MaxPool2D(pool_size=(2,2)))model.add(Flatten())model.add(Dense(1000,activation='relu'))model.add(Dense(num_classes,activation='softmax'))2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|29/32基于CNN的手写体数字识别任务实战(4)对模型进行编译。这一步非常关键,在模型训练之前我们必须对模型进行编译,相当于告诉模型以怎样的策略进行反向传播,换句话说,选择什么指标作为标准进行训练。由于这里是分类任务,所以我们选择交叉熵作为损失函数,选择sgd作为优化器。pile('sgd',loss='categorical_crossentropy',metrics=['accuracy'])2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|30/32基于CNN的手写体数字识别任务实战(5)接下来就可以进行模型训练了。模型训练的速度取决于诸多因素,具体而言,模型的层数,每一层的设计(比如卷积核数量、尺寸、步长等)以及数据量(batch_size)都会对模型的训练时间产生影响。model.fit(x_train,y_train,batch_size=64,epochs=50,validation_split=0.2)(6)在测试集上,模型的拟合效果较好,达到了99.01%的准确度。score=model.evaluate(x_test,y_test)print('testscore:',score[0])print('testaccuracy:',score[1])2026/9/7《大数据技术在会计与财务中的应用》配套课件5.3图像分析技术与算法|31/322026/9/7《大数据技术在会计与财务中的应用》配套课件谢谢观赏!5.3图像分析技术与算法|32/32大数据技术在会计与财务中的应用作者:张敏等2026/9/7《大数据技术在会计与财务中的应用》配套课件第5章·5.4图像分析的实现路径目录5.4.1“自力更生”路径5.4.2“部分借鉴”路径5.4.3“完全外包”路径5.4.4“补丁工具”路径5.4图像分析的实现路径5.4图像分析的实现路径|02/22图像分析的实现路径上一部分在理论层面介绍了目前图像分析的各种算法,而在实际应用中,即便根据任务需要选定了算法,具体的分析步骤仍然有许多路径可供选择。例如,自主从零搭建网络并训练数据,或是基于预训练模型对数据集进行fine-tune,又或是直接应用封装好的任务级API端口对图片进行计算。不同的策略不仅在研究时间和成本上存在显著差异,在效果和合理性上也可能截然不同。5.4图像分析的实现路径|03/22“自力更生”路径该路径的主要做法是自主编写代码,上一部分中的手写体任务实战就是示例(当然,如果读者有能力的话甚至可以从神经元开始自主编译网络),其主要特点是需要研究者自主构建模型并收集大量训练数据(打标签)。这一路径的具体的分析步骤包括:搜集图片原始数据、清洗并转换数据、划分训练集和测试集(验证集)、构建模型(可以借鉴上一节理论部分对应算法的代码实现过程)、训练模型以及在整体数据集上计算相应指标或特征。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.4图像分析的实现路径|04/22“自力更生”路径此路径的代码整体逻辑见上述手写体分类任务实战,感兴趣的读者也可以阅读Jiang等(2020)基于市场行情k线图的研究,该研究属于该研究路径的典型代表。另外,除了对CNN模型的运用,传统特征描述也受到学者们的关注。例如,Hsieh等(2020)和Duan等(2020)以图像的HOG特征为基础,搭配决策树及线性回归等分类器,构建了企业家面部阳刚气质的衡量体系。值得注意的是,此类路径一般适用于集成度较低的任务,例如Jiang等(2020)的研究中,其任务主要是挖掘图片内部特征,所以不需要复杂的预训练模型乃至高集成化的外部API接口。此外,该路径也适合计算机功底较强且对具体算法有深入了解的学者,而对于算法功底并不扎实的财会研究人员,本书建议谨慎采用此路径。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.4图像分析的实现路径|05/22“部分借鉴”路径这一研究路径采用迁移学习的思路,其主要特点是不需要研究者自主建模型,只需要准备少量训练数据(打标签)。该路径的具体分析步骤包括:搜集图片原始数据、清洗并转换数据、引入某个较成熟的预训练模型、在模型顶端添加一个(或多个)对应具体研究任务的全连接层、在小训练集上进行fine-tune(微调训练)以及在整体数据集上计算相应指标或特征。下面我们以ResNet50预训练模型和手写体数据集为例,演示一下该路径的代码实现过程。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.4图像分析的实现路径|06/22“部分借鉴”路径(1)导入相关库及数据。由于resnet50预训练模型的输入图片分辨率较高,且均为彩色,所以我们选用cifar10数据库作为示例,该数据库包含动物和交通工具等10类彩色图片。importkerasfromkeras.datasetsimportcifar10(x_train,y_train),(x_test,y_test)=cifar10.load_data()(2)进行简单的数据转换,并设置好类别数量。y_train=keras.utils.to_categorical(y_train)#label做一个one-hotencoding处理y_test=keras.utils.to_categorical(y_test)num_classes=102026/9/7《大数据技术在会计与财务中的应用》配套课件5.4图像分析的实现路径|07/22“部分借鉴”路径(3)与前文类似,我们引入ResNet50预训练模型,其中weights参数设置为imagenet,表示引入在ImageNet数据集上训练获得的模型参数(权重)。由于我们输入图片的像素为32*32,远低于默认参数,因此将include_top参数设置为False,即不包含原预训练模型的最顶两层,并通过input_shape参数输入图片的像素。需要注意的是,在实际应用中,输入的图片像素通常不会如此低,在条件允许的情况下,应尽量保证较高的像素,以充分保留原图片数据中的丰富信息。fromkeras.applications.resnet50importResNet50model=ResNet50(weights='imagenet',include_top=False,input_shape=(32,32,3))model.summary()2026/9/7《大数据技术在会计与财务中的应用》配套课件5.4图像分析的实现路径|08/22“部分借鉴”路径(4)通过summary函数查看此时模型的架构。由于模型非常复杂,此处不展示模型的中间结构,只展示其尾部,如图5-16所示。由图可知,该模型最后一层是激活层,为完成分类任务,我们需要把它摊平并与一个全连接层连接。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.4图像分析的实现路径|09/22“部分借鉴”路径(5)改进并生成模型。先引入相关库,在预训练模型的基础上,添加一个全局平均池化层,以摊平特征图,从而过渡至全连接层。随后,我们添加一个包含十个神经元的全连接层。需要注意的是,与5.3.3部分的Sequential结构不同,这里model变量采用的是FunctionalAPI,这种方式更加灵活,允许构建更复杂的网络拓扑。因此,在添加新层时,我们需要使用函数式操作,而不能直接调用add方法。在此基础上,重新整理生成一个新的模型,这里的avg_pool和classes层就是通过训练数据进行fine-tune的重点对象。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.4图像分析的实现路径|10/22“部分借鉴”路径fromkeras.modelsimportModelfromkeras.layersimportDense,GlobalAveragePooling2Davg_pool=GlobalAveragePooling2D()(model.output)classes=Dense(10,activation='relu',name='classes')(avg_pool)new_model=Model(inputs=model.input,outputs=classes)2026/9/7《大数据技术在会计与财务中的应用》配套课件5.4图像分析的实现路径|11/22“部分借鉴”路径(6)对网络进行编译之后就可以开始训练了,感兴趣的读者可以尝试一下,这种方式的训练结果如何,还可以在此进行拓展,例如,多增加几个全连接层,对比预训练与非预训练模型(引入ResNet50时将weights参数设置为None,其他流程不变),甚至改用自己感兴趣的其他数据集,思考性能之间的差异以及为什么存在这种差异。new_pile('sgd',loss='categorical_crossentropy',metrics=['accuracy'])new_model.fit(x_train,y_train,batch_size=256,epochs=5,validation_split=0.2)2026/9/7《大数据技术在会计与财务中的应用》配套课件5.4图像分析的实现路径|12/22“部分借鉴”路径迁移学习的思路已经被学者应用到了财务与会计学研究中。例如,Obaid等(2021)在分析新闻报刊上图片的乐观与悲观情绪时,采用了上文提到过的Inceptionv3架构,仅将原有模型最后一层1000分类的全连接层替换为一个2分类的全连接层,并在DeepSent数据集(该数据集通过众包网站Mturk进行标注,数据量相对较小)上进行fine-tune,就可以获得较高的准确率。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.4图像分析的实现路径|13/22“完全外包”路径得益于计算机技术的飞速发展和产业化,许多科技公司相继开发了诸多任务级的开源产品,其中就包含计算机视觉领域经典任务的解决方案。因此,我们可以直接通过Python调取这些产品的API接口,对图片进行计算。这一路径的主要特点是不需要自主构建模型,也不需要准备训练数据(打标签)。该路径的具体的分析步骤包括:搜集图片原始数据、清洗转换数据、下载或编写调用API代码、在整体数据集上计算相应指标或特征。从步骤就可以看出这种路径的工作量最小。我们通过一个例子更好地了解该方法——通过Face++接口对人脸照片进行年龄与性别判别。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.4图像分析的实现路径|14/22“完全外包”路径大部分类似的开源平台都会提供API接口,我们选择其中的Python语言接口,当然在这之前,还先需要注册,获得用户名、密钥(token)之类的产品信息,传入给API之后就可以实现批量调用了。此处省去注册过程,我们直接编写该API的调用过程。http_url="/facepp/v3/detect"files={"image_file":open(filepath,"rb")}importosdata={"api_key":os.environ['FACEPP_API_KEY'],"api_secret":os.environ['FACEPP_API_SECRET'],'return_attributes':'beauty,gender,age'}2026/9/7《大数据技术在会计与财务中的应用》配套课件5.4图像分析的实现路径|15/22“完全外包”路径在请求时,我们需要提供注册后获得的产品key、产品secret以及输入的文件(图片文件)。需要注意的是,这里图片输入方式的集成程度已经很高,我们无需提前将其转换为像素形式,只需要提供图片的路径即可。最后,return_attributes参数用于指定我们想要返回的计算结果,例如此处我们想要获取图片中人脸对应的颜值、性别和年龄。如果想要更多的返回结果,可以在API文档中找到对应的参数表达,这里不再一一列举。response=requests.post(http_url,data=data,files=files)req_dict=response.json()face=req_dict['faces'][0]['attributes']2026/9/7《大数据技术在会计与财务中的应用》配套课件5.4图像分析的实现路径|16/22“完全外包”路径参数准备好之后即可通过requests发送请求,并将请求的响应结果储存在req_dict变量中。这里我们传入上文用到过的博尔特照片,观察其格式(一般为字典格式)以及结构,可以发现我们想要的结果在faces属性第一个元素(因为一张照片里可能有多个人脸,所以每个人脸的结果储存在列表的一个元素中)的attributes属性中。result=pd.DataFrame([face['gender']['value'],face['age']['value'],face['beauty']['male_score'],face['beauty']['female_score']]).Tresult.columns=(['gender','age','beauty_male','beauty_female'])2026/9/7《大数据技术在会计与财务中的应用》配套课件5.4图像分析的实现路径|17/22“完全外包”路径为了实现批量调取,我们可以将整个过程封装为一个函数:defdetect_face(filepath):#传入图片文件http_url="/facepp/v3/detect"files={"image_file":open(filepath,"rb")}importosdata={"api_key":os.environ['FACEPP_API_KEY'],"api_secret":os.environ['FACEPP_API_SECRET'],'return_attributes':'beauty,gender,age'}response=requests.post(http_url,data=data,files=files)req_dict=response.json()face=req_dict['faces'][0]['attributes']result=pd.DataFrame([face['gender']['value'],face['age']['value'],face['beauty']['male_score'],face['beauty']['female_score']]).Tresult.columns=(['gender','age','beauty_male','beauty_female'])
returnresult2026/9/7《大数据技术在会计与财务中的应用》配套课件5.4图像分析的实现路径|18/22“完全外包”路径总结而言,这种路径并不要求我们对算法有深入的了解,甚至不需要编写构建模型的代码,关键在于对所做任务有深刻和准确的了解,并且对已有技术平台有全面的把握,进而“对症下药”,即可高效率地享受科技发展的成果。但仍需要注意,虽然大部分平台秉持开源精神,但某些高难度的任务(尤其是创新性较强的前沿问题)在调用上仍可能产生一定的费用。因此,研究者需要对任务本身有透彻且深入的见解,才能以最低的成本实现最高的效用。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.4图像分析的实现路径|19/22“补丁工具”路径上述三个路径都有一个相同的特点,它们的目标都是生成一个可以直接进行实证检验的指标,而在实际的图片分析过程中,还可能存在一种情况,那就是在某个环节上应用某种图像分析算法(或集成技术)以解决某个中间任务。所谓中间任务,指的是该任务并不以计算最终指标为目的。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.4图像分析的实现路径|20/22“补丁工具”路径举例来说,Hsieh等(2020)针对男性CEO面容可信度的研究中,其实证模型的自变量是面容可信度,该可信度由一个自训练的HOG模型搭配分类器的面部器官识别算法计算得出,这一计算过程属于上文提到的“自力更生”路径,因为这个模型是作者自己搭建、自己训练的。然而需要注意的是,在该研究的数据获取阶段,一个重要的步骤是筛选出那些包含脸部正面的图片。针对这一任务,作者训练了一个同样以HOG特征为基础的面部器官识别算法,虽然这个算法与计算可信度的算法逻辑相同,但这里识别对的目的并不是计算指标,而是数据整理的一部分。换言之,这一图片分析技术是研究中数据处理的一个“补丁式”工具。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.4图像分析的实现路径|21/222026/9/7《大数据技术在会计与财务中的应用》配套课件谢谢观赏!5.4图像分析的实现路径|22/22大数据技术在会计与财务中的应用作者:张敏等2026/9/7《大数据技术在会计与财务中的应用》配套课件第5章·5.5图像分析案例:计算面部可信度目录5.5.1案例背景5.5.2数据获取5.5.3特征提取5.5.4面部可信度计算5.5图像分析案例:计算面部可信度5.5图像分析案例:计算面部可信度|02/15图像分析案例:计算面部可信度在本章最后,我们以会计领域一篇比较经典的图片分析研究为例,运用Python对图片分析的核心步骤进行复现,以期为读者提供一个相对完整的图像分析案例。再次强调,本教材中对涉及高管的真实照片均通过AI工具进行了卡通化处理。处理后的图像仅用于教学展示与案例说明,不具有真实人物识别性。同时,本教材中所提供的全部代码示例仅供学术研究和教学目的使用,不得用于任何商业用途或可能引发法律风险的场景。
5.5图像分析案例:计算面部可信度|03/15案例背景Hsieh等(2020)借助方向梯度直方图和线性分类器测量CEO面部可信度,发现审计师对CEO长相更可信的公司收取的审计费用较少。该研究的样本是美国上市公司的CEO,考虑到本书读者大多为有志于在中国情境下展开大数据研究的学者,这里我们使用中国全景网(/rsc)IPO路演视频中的高管面部截图作为分析对象,使用opencv库进行人脸识别,并进行HOG特征提取,最后计算面部可信度。2026/9/7《大数据技术在会计与财务中的应用》配套课件5.5图像分析案例:计算面部可信度|04/15数据获取首先,在数据获取上,我们选用5.2.1部分介绍的第三种“视频截图”的方法生成图片。至于视频爬取的方法,将在第6章视频分析的6.7节实战案例部分详细展开。这里主要关注图片分析的过程。假设我们已经爬取并截取了1452个IPO路演视频中的高管讲话部分,位于formal_clips_scaled文件夹下,如图5-19所示:2026/9/7《大数据技术在会计与财务中的应用》配套课件5.5图像分析案例:计算面部可信度|05/15数据获取运用5.2.1部分第三种方法的代码,截取第一帧作为分析的图片,其中tqdm库是Python一个进度条库,使用它可以实时观看循环进度。importcv2importos
importnumpyasnpfromtqdmimporttqdmfiles=os.listdir('formal_clips_scaled')forfileintqdm(files):cap=cv2.VideoCapture(os.path.join('formal_clips_scaled',file))#打开视频文件num=1whileTrue:#success表示是否成功,data是当前帧的图像数据;.read读取一帧图像,移动到下一帧success,data=cap.read()2026/9/7《大数据技术在会计与财务中的应用》配套课件5.5图像分析案例:计算面部可信度|06/15数据获取运用5.2.1部分第三种方法的代码,截取第一帧作为分析的图片,其中tqdm库是Python一个进度条库,使用它可以实时观看循环进度。ifnotsuccess:breakifnum==1:cv2.imwrite('screenshots/'+file.split('.')[0]+".jpg",data)num=num+1else:breakcap.release()2026/9/7《大数据技术在会计与财务中的应用》配套课件5.5图像分析案例:计算面部可信度|07/15特征提取(1)初始化人脸特征识别算法,载入预训练模型。face_detect=dlib.get_frontal_face_detector()predictor_landmarks=dlib.shape_predictor("face_landmarks.dat")(2)读取图片,转成黑白图,并用模型识别图片中的人脸,获取的rects就是图片中的所有人脸对象。frame=cv2.imread("screenshots/"+file,cv2.IMREAD_COLOR)gray=cv2.cvtColor(frame,c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《全脑血管造影技术》课件
- 动物组织培养细胞培养的基本条
- 带电粒子在电场中的运动
- 2026秋人教鄂教版(新教材)小学科学五年级上册(全册)教学设计(附目录)
- 屏幕背后-网络言行有度
- 2026年人事争议调解处置实务培训试卷及答案
- 2026年巾帼创业就业扶持业务考核题库及答案
- UIBE数字经济实验室-中国太阳能电池贸易月度监测报告(2026年1-7月)
- 2026年芳香保健师中级职业技能鉴定试题及答案
- 《腊八粥》长春版小学语文五年级下册市公开课获奖课件省名师示范课获奖课件
- 2026年广西壮族自治区玉林市初二数学上册期末考试试卷及答案
- DB44∕T 2741-2025 市政基础设施用地节约集约化利用标准
- GB/T 46601-2025热喷涂采用横向划痕试验评估热喷涂陶瓷涂层的结合力和内聚力
- 创伤性应激障碍课件
- 2026年秋学期人教版初中语文九年级上册教学进度表
- 2025鄂尔多斯市城市建设投资集团招聘92人笔试历年参考题库附带答案详解(3卷合一)
- DB65∕T 4747-2024 地表水自压滴灌工程设计规范
- 2025年乡镇禁毒办禁毒社工招聘笔试题库附答案
- 中职会计统计讲解
- 科研诚信教育讲座
- 《家务劳动与管理》职业教育现代家政服务与管理专业全套教学课件
评论
0/150
提交评论