毕业设计-基于深度学习的图像质量评价

目录

前言

课题背景和意义

实现技术思路

一、图像质量评价方法的分类

二、基于深度学习的IQA模型

实现效果图样例

最后


前言


    📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。

🚀对毕设有任何疑问都可以问学长哦!

选题指导: https://blog.csdn.net/qq_37340229/article/details/128243277

大家好,这里是海浪学长毕设专题,本次分享的课题是

🎯XXXX

课题背景和意义

图像质量评价是对图像或视频的视觉质量的一种度量。 目前,该类算法的基础模型主要包括深度卷积神经网络、深度 生成对抗网络和变换器,其性能通常高于传统的图像质量评价算法。 图像质量评价是图像处理和计算机视觉领域的一个研究热点问题之一。数字图像在获取、压缩存储、传输过程中受到诸多因素的干扰,造成失真或降质,从而影响人类的视觉体验或者图像的后处理效果。只有对图像质量做出正确评价,才能确定后续的增强或控制方法。另外,数字图像处理算法性能优劣的分析和数字图像处理系统的性能评估都需要对图像质量做出评价。近年来,随着生物科学、解剖学、神经心理学等学科的发展,人类对视觉系统的认识逐步深入。采用人工方法对失真图像的质量进行主观评测具有效率低、成本高的特点,难以实现准确和实时的质量评估,因此研究客观图像质量评价算法是必然的趋势。随着人工智能的发展,为利用计算机模拟人类视觉系统的感知过程提供了可能。

实现技术思路

一、图像质量评价方法的分类

根据图像视觉信息处理过程的不同,可以把 IQA 算法分为两类:基于自下而上(Bottom-up )和基于自上而下(Top-down )的 IQA 模型。
根据是否有参考信息,数字图像质量评价方法可以分为 3 类:全参考图像质量评测( Full-Reference ImageQuality Assessment, FR- IQA )、半参考图像质量评测 (Reduced-Reference Image Quality Assessment RR-IQA)和无参考的图像质量评测( No-Reference Image Quality Assessment, NR-IQA )。

二、基于深度学习的IQA模型

深度神经网络的最大优点是把图像特征提取和回归过程整合在一个优化框架内,真正实现端到端的学习。基于深度学习的 IQA 方法正在逐渐成为主流的图像质量评价算法。在传统的算法中,特征提取需要依赖设计人员的经验,构建过程比较复杂。深度神经网络通过数据驱动,学习图像特征,对图像的描述更准确。
基于卷积神经网络的IQA方法
CNN 是一种前馈神经网络,通常由卷积层、池化层和全连接层构成。卷积层和池化层抽取降维的特征图,全连接层回归质量分数。CNN成功的关键是引入了归纳偏置(inductive bias ),采用卷积核权值共享的方式减少网络参数的数量。

基于生成对抗网络的IQA方法

 生成对抗网络是一种由生成网络和判别网络组成的神经网络结构,通过生成网络和判别网络之间的不断博弈学习产生更好的输出。 GAN 网络通过对抗学习同时训练两个模型:生成模型和判别模型,训练过程中,生成模型利用添加了随机噪声的输入图像,生成模拟的参考图,试图欺骗判别模型;相反,被训练过的判别模型试图辨别出模拟参考图和理想参考图。

在深入研究了深度对抗神经网络之后,提出基于增强型对抗学习的 IQA 算法( En-hanced Adversarial Learning based Image Quality As-sessment,EAL-IQA)传统的GAN 用 1 个判别网络输出判别结果,改进后的 GAN 网络结构增加了1个判别网络,实现增强型对抗学习。

通常 GAN-IQA 的性能比较高,但是模型的训练过程比较复杂。

 基于TransformerIQA方法

 Transformer 是一种由编码器(encoder)和解码器 (decoder)构成的深度图神经网络。2020年,Transformer应用于IQA领域。基于Transformer的NR-IQA 主要包括 3个步骤:提取图像特征、对特征做变换、采用多层感知器头(MLP Head)预测图像质量。

Transformer 可进行并行化的处理,通过注意力机制关注重点区域。与CNN 相比, Transformer 能够捕获长距离的特征,更容易获取全局信息。
训练数据不足的问题及对策
基于深度学习的IQA算法需要大规模的训练数据,否则容易导致模型过拟合。现有的 IQA 数据集规模偏小,创建带有人工标注的大型IQA 数据集的成本是非常昂贵的,研究各种数据集扩充方法是必要的。

实现效果图样例

图像评价算法流程图

实验结果:

 

第一列:原始图像;第二列至第五列:图像经过智能适配操作后的结果,分别为原始图像的87.5%,75%,62.5%和50%。

我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。

毕设帮助,疑难解答,欢迎打扰!

最后

React Hooks 是 React 16.8 中新增的特性,它可以让你在函数组件中使用 state、生命周期钩子等 React 特性。使用 Hooks 可以让你写出更简洁、可复用且易于测试的代码。 React Hooks 提供了一系列的 Hook 函数,包括 useState、useEffect、useContext、useReducer、useCallback、useMemo、useRef、useImperativeHandle、useLayoutEffect 和 useDebugValue。每个 Hook 都有特定的用途,可以帮助你处理不同的问题。 下面是 React Hooks 的一些常用 Hook 函数: 1. useState useState 是最常用的 Hook 之一,它可以让你在函数组件中使用 state。useState 接受一个初始状态值,并返回一个数组,数组的第一个值是当前 state 值,第二个值是更新 state 值的函数。 ``` const [count, setCount] = useState(0); ``` 2. useEffect useEffect 可以让你在组件渲染后执行一些副作用操作,比如订阅事件、异步请求数据等。useEffect 接受两个参数,第一个参数是一个回调函数,第二个参数是一个数组,用于控制 useEffect 的执行时机。 ``` useEffect(() => { // 这里可以执行副作用操作 }, [dependencies]); ``` 3. useContext useContext 可以让你在组件树中获取 context 的值。它接受一个 context 对象,并返回该 context 的当前值。 ``` const value = useContext(MyContext); ``` 4. useRef useRef 可以让你在组件之间共享一个可变的引用。它返回一个对象,该对象的 current 属性可以存储任何值,并在组件的生命周期中保持不变。 ``` const ref = useRef(initialValue); ref.current = value; ``` 5. useCallback useCallback 可以让你缓存一个函数,以避免在每次渲染时都创建一个新的函数实例。它接受一个回调函数和一个依赖数组,并返回一个 memoized 的回调函数。 ``` const memoizedCallback = useCallback(() => { // 这里是回调函数的逻辑 }, [dependencies]); ``` 6. useMemo useMemo 可以让你缓存一个计算结果,以避免在每次渲染时都重新计算。它接受一个计算函数和一个依赖数组,并返回一个 memoized 的计算结果。 ``` const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]); ``` 以上就是 React Hooks 的一些常用 Hook 函数,它们可以帮助你更好地处理组件状态、副作用、上下文和性能优化等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值