当前位置: 首页 > news >正文

2024年认证杯SPSSPRO杯数学建模D题(第一阶段)AI绘画带来的挑战解题全过程文档及程序

2024年认证杯SPSSPRO杯数学建模

D题 AI绘画带来的挑战

原题再现:

  2023 年开年,ChatGPT 作为一款聊天型AI工具,成为了超越疫情的热门词条;而在AI的另一个分支——绘图领域,一款名为Midjourney(MJ)的软件,热度完全不亚于ChatGPT。AI绘画技术可以模仿设计师的风格和技巧,自动生成类似于人类设计师的设计作品。AI绘画技术可以应用于各种领域,包括绘画、插画、平面设计等,具有较高的效率和精度,能够大大提高创作效率和创作质量。然而,AI绘画技术也带来了一些挑战和风险。比如对于一些传统的美术设计类赛事组织方来说,AI绘画技术就带来了评奖公平性的挑战,由于一些设计作品很难快速判断出究竟是由AI设计的,还是由人类设计师设计的,所以赛事评奖工作变得异常复杂,当参赛作品较多的时候,很难保证最终的结果公平性,附图就是几幅由MJ软件设计的建筑图片,即使业内人士也不能保证做出准确的判断。请你和你的团队建立合理的数学模型以解答如下问题。
  第一阶段问题:
  1. 从简单的几何角度,是否可以找到AI绘画中不符合逻辑的地方?
  2. 请尝试建立数学模型对图片进行打分,评估这幅图片是由AI绘图软件生成的可能性。

整体求解过程概述(摘要)

  在数字时代,人工智能(AI)的发展使得图像生成技术日益成熟,特别是在建筑设计领域,AI绘制的图像能够迅速并准确地呈现设计概念。然而,这也带来了一些挑战,尤其是如何验证一个图像是否为 AI 生成,以及这些图像在几何逻辑上是否符合现实世界的物理和建筑规范。鉴于此,开发一种能够准确识别并评估 AI 生成图像的方法变得尤为重要。
  针对问题一:从几何角度分析由MJ软件设计的建筑图片,查找不符合逻辑的地方。本团队首先进行视觉检查,对于每幅图片,寻找比例失调,结构问题。然后进行几何分析,测量角度,比例计算。基于视觉检查和几何分析的结果,发现图1,2,3中均存在较多不合理的地方如下:图1中的多处结构均不合理,一侧窗户显示为拱形顶部,而另一侧则是平顶,这种差异在同一建筑的相同层面上是不常见的。图2中可以看出有多处影子,但是仔细观察可以发现,影子的形状,方向等均不合理。图3中的烟囱,其设计同样违反了常规建筑和结构原则。烟囱的形状和位置在视觉上显得不协调,不符合实用性和安全性的标准。
  针对问题二:本团队开发了一个数学模型,以评估图像是否可能由AI绘图软件生成。搜集多张真实图片并通过精心定义和提取真实图像与AI生成的图像特征,如线条的直线度、角度的精确度和透视点的一致性,纹理,光照一致性等特征,设立了一个详尽的评分系统。这些特征通过应用Canny边缘检测算法和霍夫变换进行量化,从而准确识别和评估图像中的直线和角度。建立的打分机制基于透视偏差、结构违规、纹理一致性和光照一致性等关键参数,最终得到AI生成图片的得分为97,真实图片的得分为67.通过对AI生成和真实图像的详细比较分析,发现AI生成的图像在光照和纹理处理上的表现通常较差,而结构和透视点则显示出更高的偏差。通过实际图像与AI图像的对比,深入了解两者在特征表现上的相似之处和差异。这种综合评分和分析方法为自动化图像来源验证提供了一个有效的技术途径。

问题重述:

  随着人工智能技术的飞速发展,AI在各个领域的应用日益广泛,其中AI绘画技术成为了近年来的一个热点。2023年,AI绘画软件,尤其是名为Midjourney(MJ)的软件,与聊天型AI工具ChatGPT一样,成为了公众和媒体关注的焦点。AI绘画技术能够模仿人类设计师的风格和技巧,自动生成与人类设计师作品风格相似的设计作品。这种技术在绘画、插画、平面设计等多个领域都显示出了巨大的应用潜力,因为它不仅能够以较高的效率和精度完成设计任务,还能够显著提升创作的质量。
  然而,随着AI 绘画技术的广泛应用,也出现了一系列挑战和风险。特别是在美术设计类比赛中,AI绘画技术的应用引发了关于评奖公平性的广泛讨论。问题在于,一些由AI 设计的作品与人类设计师的作品在视觉上几乎没有区别,使得评委难以判断作品的真正作者,从而影响了比赛的公平性和结果的准确性。此外,当参赛作品数量众多时,确保评审过程的公正性和有效性变得更加困难。
  鉴于这一背景,数学建模比赛提出了一个紧密关联实际应用的问题:如何建立一个合理的数学模型,从简单的几何角度找出 AI 绘画中可能存在的不符合逻辑之处,并评估一幅图片是否由AI 绘图软件生成的可能性。这个问题不仅涉及数学、计算机视觉和机器学习领域的知识,还需要参赛者理解AI绘画技术的基本原理和应用场景。 通过解决这一问题,参赛者将为识别和评估 AI 绘画作品提供新的思路和方法,为确保艺术和设计类比赛的公平性贡献自己的力量。此外,这也有助于进一步探索 AI 技术在创意设计领域的应用潜力及其带来的社会、伦理挑战。
  问题要求
  ➢ 从简单的几何角度,是否可以找到 AI 绘画中不符合逻辑的地方?
  ➢ 请尝试建立数学模型对图片进行打分,评估这幅图片是由 AI 绘图软件生成的可能性。

模型假设:

   假设一:透视准确性的一致性
  所有真实的建筑图片在透视方面都是准确的,其透视线将准确汇聚于正确的消失点。任何与此相悖的表现都可以被视为AI生成图片的潜在标志。
   假设二:结构一致性的物理可行性
  真实世界的建筑结构必须遵循物理和建筑规则,如重力法则和力的均衡。AI生成的图像可能无视这些规则,导致出现物理上不可行的结构。
   假设三:纹理和材料的逼真度
  在真实的建筑图片中,不同材质的纹理应该看起来自然并且过渡合理。AI生成的图像在纹理过渡和材料表现上可能表现出不自然或突兀的特征。
   假设四:光影一致性与环境匹配度
  真实图片中的光影效果将与环境中的光源位置、强度和颜色相一致。AI生成图像可能在光线投射、阴影长度和方向上存在不一致性。
   假设五:比例和尺寸的准确性
  真实建筑图片的建筑元素,如门窗、柱子等,其比例和尺寸与现实世界的建筑规范一致。AI生成的图像可能忽略这些比例规则,产生比例失衡的结果。

完整论文缩略图

在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:

image = imread('1.jpg'); 
imshow(image); 
>> % 转换为灰度图像 
grayImage = rgb2gray(image); % 边缘检测 
edges = edge(grayImage, 'canny'); % 显示边缘 
figure; 
imshow(edges); 
title('Edge Detection'); % Hough 变换检测直线 
[H, theta, rho] = hough(edges); % 显示标准 Hough 变换的结果 
figure; 
imshow(imadjust(rescale(H)), 'XData', theta, 'YData', rho, 'InitialMagnification', 
'fit'); 
xlabel('\theta (degrees)'), ylabel('\rho'); 
axis on, axis normal, hold on; 
colormap(gca,hot); % 查找 Hough 变换的峰值 
peaks = houghpeaks(H, 5, 'threshold', ceil(0.3 * max(H(:)))); % 超过 Hough 变换峰值的直线 
lines = houghlines(edges, theta, rho, peaks, 'FillGap', 5, 'MinLength', 7); % 显示原图及检测到的直线 
figure, imshow(grayImage), hold on 
max_len = 0; 
for k = 1:length(lines) xy = [lines(k).point1; lines(k).point2]; plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green'); % 绘制开始点 plot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','yellow'); % 绘制结束点 plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red'); 
end 
hold off; % 读取图像 
image = imread(imgPath); % 显示图像 
figure; 
imshow(image); 
title('Original Image'); 
>> % 转换图像为灰度 
grayImage = rgb2gray(image); % 应用 Canny 边缘检测 
edges = edge(grayImage, 'canny'); % 显示边缘检测结果 
figure; 
imshow(edges); 
title('Canny Edge Detection'); 
>> % 执行霍夫变换 
[H, theta, rho] = hough(edges); % 查找霍夫变换的峰值 
peaks = houghpeaks(H, 5, 'threshold', ceil(0.3*max(H(:)))); % 提取直线 
lines = houghlines(edges, theta, rho, peaks, 'FillGap', 20, 'MinLength', 40); % 显示原图及检测到的直线 
figure, imshow(grayImage), hold on 
for k = 1:length(lines) xy = [lines(k).point1; lines(k).point2]; plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green'); % 标记线条端点 plot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','yellow'); plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red'); 
end 
title('Detected Lines'); 
hold off;
% 定义Excel文件路径 files = { 'D:\认证杯\ 真实图片1_Data.xlsx',  'D:\认证杯\ 真实图片2_Data.xlsx',  'D:\认证杯\真实图片3_Data.xlsx' }; % 初始化空cell array来存储数据 allData = {}; % 循环读取每个文件 for i = 1:length(files) % 读取Excel文件 data = readtable(files{i}); % 检查并显示数据的大小 disp(['Data from ', files{i}, ':']); disp(size(data)); % 将数据存储在cell array中 allData{end+1} = data; end % 检查所有数据表是否具有相同的列数 numCols = size(allData{1}, 2); consistent = all(cellfun(@(x) size(x, 2) == numCols, allData)); % 如果所有数据表列数一致,则合并它们 if consistent mergedData = vertcat(allData{:}); disp('All data tables have the same number of columns.'); else error('Not all data tables have the same number of columns.'); end % 显示合并后的数据的一些信息 disp('Merged data size:'); disp(size(mergedData)); % 保存合并后的数据到新的Excel文件 writetable(mergedData, 'D:\认证杯\\Merged_Data.xlsx'); disp('Merged data saved to D:\认证杯\\Merged_Data.xlsx'); 
end 
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

相关文章:

2024年认证杯SPSSPRO杯数学建模D题(第一阶段)AI绘画带来的挑战解题全过程文档及程序

2024年认证杯SPSSPRO杯数学建模 D题 AI绘画带来的挑战 原题再现: 2023 年开年,ChatGPT 作为一款聊天型AI工具,成为了超越疫情的热门词条;而在AI的另一个分支——绘图领域,一款名为Midjourney(MJ&#xff…...

Qt 设置QLineEdit控件placeholderText颜色

Qt 会根据QLineEdit控件显示文本的颜色自动设置placeholderText颜色,如果想自定义placeholderText颜色,可以通过以下方法。 在样式文件中增加以下设置: QLineEdit#lineEdit_userName, QLineEdit#lineEdit_password{border: none;padding: 6…...

麒麟 V10 系统(arm64/aarch64)离线安装 docker 和 docker-compose

前期准备 查看操作系统版本,跟本文标题核对一下 uname -a查看操作系统架构 uname -m下载离线包 下载 docker 离线包 地址:https://download.docker.com/linux/static/stable/ 选择系统架构对应的文件目录:aarch64,我目前使用…...

Windows基线自动化检查脚本

本批处理脚本的主要目的是对Windows系统进行安全性检查。检查了多个安全参数和设置,以确保系统符合特定的安全标准。当然也可能有些检查项不是很准确,需要根据实际环境再调试一下,以下是该脚本的详细描述和功能分析: 1. 脚本初始…...

离谱的梯形滤波器——增加过渡点

增加过渡点 频率采样法(Frequency Sampling Method)是一种设计FIR滤波器的方法,通过在频域中指定希望的频率响应,然后利用逆离散傅里叶变换(IDFT)来获得滤波器的脉冲响应。然而,这种方法容易导…...

tauri下的两个常用rust web框架:Leptos和Trunk

tauri下有两个常用rust web框架,就是Leptos和Trunk Leptos Leptos 是一个基于 Rust 的 Web 框架。您可以在他们的官方网站上了解更多关于 Leptos 的信息。本指南适用于 Leptos 的 0.6 版本。 Leptos Leptos 是一个用 Rust 编写的现代、高效且安全的 Web 框架。它…...

pubmed关键词搜索技能1:待更新

1,白话变为领域内学术词: 例如,我想要做蛋白质糖基化修饰以功能,这个领域课题,则 第一性原理,首先是拆分词汇:糖基化(一般比蛋白质、修饰、功能要在title中更常见,或者是…...

【技巧】Mac上如何显示键盘和鼠标操作

在制作视频教程时,将键盘和鼠标的操作在屏幕上显示出来,会帮助观众更容易地理解。 推荐Mac上两款开源的小软件。 1. KeyCastr 这款工具从2009年至今一直在更新中。 https://github.com/keycastr/keycastr 安装的话,可以从Github上下载最…...

ISO26262-(Timing Monitoring)在多核MCU的TPU上功能安全ASILB与ASILD有什么区别

在多核微控制器(MCU)的时间保护方面,针对功能安全ASIL B与ASILD等级的设计和实施存在显著差异,这些差异主要体现在系统对时间关键性操作的保障程度、故障检测能力、以及系统响应的严格性上。 ASIL B 级别: 时间关键性:在ASIL B等级,系统设计注重于识别并处理大部分可能…...

图像处理插件:让小程序焕发视觉新生的秘密武器

在小程序开发中,图像处理是一个重要的环节,它涉及到图片的加载、显示、裁剪、压缩等多个方面。为了简化这一复杂过程,开发者通常会使用图像处理插件。这些插件不仅提供了丰富的图像处理功能,还封装了底层的图像操作逻辑&#xff0…...

项目代码第2讲:从0实现LoginController.cs,UsersController.cs、User相关的后端接口对应的前端界面

一、User 1、使用数据注解设置主键和外键 设置主键:在User类的U_uid属性上使用[Key]注解。 设置外键:在Order类中,创建一个表示外键的属性(例如UserU_uid),并使用[ForeignKey]注解指定它引用User类的哪个…...

【linux 查看网卡设备信息命令记录】

查看设备信息命令 查看网卡芯片相关platform类型网卡(gmac网卡为例)PCI网卡(rtl8125为例) 查看网卡芯片相关 platform类型网卡(gmac网卡为例) gmac 属于CPU资源的一部分,属于平台设备。下面以FT2004 的CPU为例,自带GMAC0和GMAC1。 1、通过平台设备查看…...

springboot事务手动回滚报错

捕捉异常之后手动标记回滚事务 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 没有嵌套事务,还是报Transaction rolled back because it has been marked as rollback-only异常错误 查看错误堆栈,service调用的方法外层还套…...

SQL 算术运算符:加法、减法、乘法、除法和取模的用法

什么是存储过程? 存储过程是一段预先编写好的 SQL 代码,可以保存在数据库中以供反复使用。它允许将一系列 SQL 语句组合成一个逻辑单元,并为其分配一个名称,以便在需要时调用执行。存储过程可以接受参数,使其更加灵活…...

C#是Unity 3D的默认语言,Unity 3D是一种领先的游戏引擎

C#或C-Sharp是一种比C更现代和灵活的编程语言,它也在游戏开发中广受欢迎。C#是Unity 3D的默认语言,Unity 3D是一种领先的游戏引擎,它为各种游戏提供动力,例如《口袋妖怪围棋》、《超级马里奥跑》和《神庙跑》。 Unity 3D也在虚拟…...

[创业之路-173]:《BLM战略规划》- 战略洞察 (战略能力中最最核心的能力) - 市场洞察 -3- 看竞争对手-要比你的竞争对手跟了解他们自己

目录 一、五看三定 二、看竞争 2.1 概述 1、分析竞争对手 2、进行价值链分析 3、紧盯标杆对手 4、关注新进入者和替代产品 5、制定竞争策略 2.2 看竞争的主要内容:背景信息、战略、价值定位、价值链、价值交付、组织架构、财务绩效 1、背景信息 2、战略 …...

Spark实训

实训目的: 介绍本实训的基本内容,描述知识目标、,以及本实训的预期效果等。 1、知识目标 (1)了解spark概念、基础知识、spark处理的全周期,了解spark技术是新时代对人才的新要求。 (2)掌握Linux、hadoop、spark、hive集群环境的搭建、HDFS分布文件系统的基础知识与应用…...

Linux之信号集基础

目录 前言一、信号集基础API浅析1.1 sigemptyset1.2 sigfillset1.3 sigaddset1.4 sigdelset1.5 signismember1.6 sigprocmask1.7 sigpending1.8 sigwait 二、demo演练2.1 sigismember检查信号2.2 主线程pthread_sigmask阻塞后无法捕捉到特定信号2.3 主线程pthread_sigmask阻塞后…...

unity3d—demo(实现给出图集名字和图片名字生成对应的图片)

目录 实现给出图集名字和图片名字生成对应的图片: 代码示例: dic: 键 是图集名称 值是一个字典 该字典键是图片名称 值是图片,结构如图: 测试代码: 结果: SpriteRenderer 讲解: Resour…...

烟草行业通过Profinet转EthernetIP网关打通数据壁垒

在工业自动化领域,Profinet转Ethernet/IP是两种广泛应用的工业以太网协议。它们各自具有独特的特点和优势,而在实际应用中,经常需要实现这两种协议之间的互通,这时就需要使用到开疆智能Profinet转Ethernet/IP网关KJ-EIP-108。同时…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

【Oracle APEX开发小技巧12】

有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

PHP和Node.js哪个更爽?

先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...