AIGC背后的技术分析 | 使用光流法进行人脸追踪

简介: 使用光流法进行人脸追踪

640.jpg


# 01、背景知识



## 1●光流法

目前,光流(optical flow)法是运动图像分析的重要方法之一,它是由James J. Gibson于20世纪40年代首先提出的。它是像素的运动瞬时速度,即空间中的运动物体在观察平面上的像素运动的瞬时速度。光流利用图像序列中像素在时间域上的变化与相邻帧之间的相关性,找到当前帧跟上一帧之间存在的对应关系,从而计算出相邻帧之间的物体运动信息。

在计算机视觉中,Lucas–Kanade算法是一种两帧差分的光流估计算法,它是由Bruce D. Lucas和Takeo Kanade提出的。这个算法是目前最常见、最流行的。它计算两帧在时间在t~t + δt每个像素位置的移动。由于它基于图像信号的泰勒级数,这种方法称为差分,也就是对空间和时间坐标使用偏导数。Lucas-Kanade算法广泛用于图像对齐、光流法、目标追踪、图像拼接和人脸检测等课题中。
## 2●角点检测

角点检测(corner detection)是计算机视觉系统中用来获得图像特征的一种方法,也称为特征点检测。常用的角点检测算法有Harris和Shi-Tomasi,本例中用的就是Shi-Tomasi角点检测算法。

角点通常被定义为两条边的交点。例如,三角形有三个角,矩形有四个角,这些点就是角点,也叫作矩形、三角形的特征。上面所说的是严格意义上的角点,但是从广义来说,角点指的是拥有特定特征的图像点,这些特征点在图像中有具体的坐标,并具有某些数学特征(比如局部最大或最小的灰度)。
# 02、实现代码



Python实现代码如下所示(代码中的视频文件face.mp4提供下载):
js import cv2 import numpy as np feature_params = dict(maxCorners=100, qualityLevel=0.3, minDistance=7, blockSize=7) lk_params = dict(winSize=(15,15), maxLevel=2, criteria=(cv2.TERM_CRITERIA_EPS | cv2.TERM_CRITERIA_COUNT, 10, 0.03)) cap = cv2.VideoCapture('face.mp4') _, frame = cap.read() scaling_factor = 0.5 frame = cv2.resize(frame, None, fx=scaling_factor, fy=scaling_factor, interpolation=cv2.INTER_AREA) gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) p0 = cv2.goodFeaturesToTrack(gray, mask=None, **feature_params) mask = np.zeros_like(frame) while True: _, frame = cap.read() frame = cv2.resize(frame, None, fx=scaling_factor, fy=scaling_factor, interpolation=cv2.INTER_AREA) frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) p1, st, err = cv2.calcOpticalFlowPyrLK(gray, frame_gray, p0, None, **lk_params) good_new = p1[st == 1] good_old = p0[st == 1] for i,(new,old) in enumerate(zip(good_new,good_old)): a,b = new.ravel() c,d = old.ravel() cv2.line(mask, (a, b),(c, d),(0, 150, 0), 1) cv2.circle(frame, (a, b), 3, (0, 255, 0), -1) gray = frame_gray.copy() p0 = good_new.reshape(-1, 1, 2) img = cv2.add(frame, mask) cv2.imshow("Output", img) k = cv2.waitKey(30) if k == 27: break cap.release() cv2.destroyAllWindows()
# 03、运行结果



运行以上代码的输出结果如图1所示。

640.jpg


■ 图1 人脸追踪结果

04、代码分析

在本程序中,首先设置了角点(特征点)检测的参数,如最大角点、质量等级、最小距离和区块大小,这些用来计算良好的特征以便进行跟踪。接着设置光流场的参数,如窗口大小、最大等级和终止标准,其中最大等级为使用图像金字塔(图像金字塔是以多个分辨率表示图像的一种有效且简单的概念,它是分辨率逐层降低的、以金字塔形状排列的、图像集合)的层数。其次加载视频,获取到视频的第一帧,调整第一帧的大小并转换为灰度图。goodFeaturesToTrack()函数是寻找好的角点。接着创建一个掩膜mask,以便后面绘制角点的光流轨迹。

在循环中使用方法calcOpticalFlowPyrLK()计算光流,该方法通过金字塔光流方法Lucas-Kanade计算特征集的光流,获取角点的新位置。接着选取好的角点,筛选出旧的角点对应的新角点,并且绘制角点的轨迹。最后,更新当前帧和当前角点的位置,并显示输出到屏幕。copy()函数创建当前帧的一个副本,cv2中的add()方法将两幅图片进行叠加。

在程序的输出中,可以在屏幕上看到显示的角点,并且随着画面的移动,角点也会随之移动。

目录
相关文章
|
搜索推荐
师资培训|AIGC在高校教学中的应用场景与案例分析-某产教科技公司
北京新大陆时代科技有限公司举办新一代信息技术名家大讲坛系列培训,旨在提升教师专业素质,加强“双师型”教师队伍建设。TsingtaoAI作为培训伙伴,提供全面支持。培训涵盖AIGC在高校教学的应用场景、教案生成及个性化教学资源定制等内容,助力提升教学质量与人才培养。
406 0
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
AIGC技术深度解析:生成式AI的革命性突破与产业应用实战
蒋星熠Jaxonic,AI技术探索者,深耕生成式AI领域。本文系统解析AIGC核心技术,涵盖Transformer架构、主流模型对比与实战应用,分享文本生成、图像创作等场景的实践经验,展望技术趋势与产业前景,助力开发者构建完整认知体系,共赴AI原生时代。
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
AIGC技术发展与应用实践(一文读懂AIGC)
AIGC(人工智能生成内容)是利用AI技术生成文本、图像、音频、视频等内容的重要领域。其发展历程包括初期探索、应用拓展和深度融合三大阶段,核心技术涵盖数据收集、模型训练、内容生成、质量评估及应用部署。AIGC在内容创作、教育、医疗、游戏、商业等领域广泛应用,未来将向更大规模、多模态融合和个性化方向发展。但同时也面临伦理法律和技术瓶颈等挑战,需在推动技术进步的同时加强规范与监管,以实现健康可持续发展。
|
机器学习/深度学习 人工智能 自然语言处理
师资培训|AIGC工具搜集和分析教学反馈-某教育科技集团
近日,TsingtaoAI为某教育科技集团交付AIGC赋能教师教学创新课程《AIGC工具搜集和分析教学反馈》,本师资培训旨在为高校教师提供系统化、实战化的AIGC应用指南,助力教师在教学过程中实现智能化、个性化的转变。本课程通过深入浅出的案例分析、项目实践和实操演练,全面覆盖AIGC工具的收集、应用与反馈分析方法。
627 32
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
技术创新领域,AI(AIGC)是否会让TRIZ“下岗”?
法思诺创新直播间探讨了AI(AIGC)是否将取代TRIZ的问题。专家赵敏认为,AI与TRIZ在技术创新领域具有互补性,结合两者更务实。TRIZ提供结构化分析框架,AI加速数据处理和方案生成。DeepSeek、Gemini等AI也指出,二者各有优劣,应在复杂创新中协同使用。企业应建立双轨知识库,重构人机混合创新流程,实现全面升级。结论显示,AI与TRIZ互补远超竞争,结合二者是未来技术创新的关键。
374 0
|
人工智能 自然语言处理 搜索推荐
【潜意识Java】了解并详细分析Java与AIGC的结合应用和使用方式
本文介绍了如何将Java与AIGC(人工智能生成内容)技术结合,实现智能文本生成。
1156 5
|
人工智能 搜索推荐 数据库
实时云渲染技术赋能AIGC,开启3D内容生态黄金时代
在AIGC技术革命的推动下,3D内容生态将迎来巨大变革。实时云渲染与Cloud XR技术将在三维数字资产的上云、交互及传播中扮演关键角色,大幅提升生产效率并降低门槛。作为云基础设施厂商,抓住这一机遇将加速元宇宙的构建与繁荣。AIGC不仅改变3D内容的生成方式,从手工转向自动生成,还将催生更多3D创作工具和基础设施,进一步丰富虚拟世界的构建。未来,通过文本输入即可生成引人注目的3D环境,多模态模型的应用将极大拓展创作的可能性。
|
人工智能 自然语言处理 数据可视化
什么是AIGC?如何使用AIGC技术辅助办公?
2分钟了解AIGC技术及其如何提高日常办公效率!
4113 4
什么是AIGC?如何使用AIGC技术辅助办公?
|
编解码 人工智能 算法
国家扶持超高清产业背景下:视频云AIGC的超高清技术实践
本次分享由阿里云视频云高级产品解决方案架构师陈震主讲,聚焦国家扶持超高清产业背景下,视频云AIGC的超高清技术实践。内容涵盖超高清产业发展趋势与挑战、阿里视频云的应对方案及应用案例。通过全链路超高清解决方案,结合AI、云计算等技术,提供从内容生产、传输到播放的完整支持,助力行业应对超高清视频带来的技术与市场挑战。
523 0
|
人工智能 编解码 安全
全球AI新浪潮:智能媒体服务的技术创新与AIGC加速出海
本文介绍了智能媒体服务的国际化产品技术创新及AIGC驱动的内容出海技术实践。首先,探讨了媒体服务在视频应用中的升级引擎作用,分析了国际市场的差异与挑战,并提出模块化产品方案以满足不同需求。其次,重点介绍了AIGC技术如何推动媒体服务2.0智能化进化,涵盖多模态内容理解、智能生产制作、音视频处理等方面。最后,发布了阿里云智能媒体服务的国际产品矩阵,包括媒体打包、转码、实时处理和传输服务,支持多种广告规格和效果追踪分析,助力全球企业进行视频化创新。
514 0

热门文章

最新文章