优达学城 Generative AI 课程3:Computer Vision and Generative AI

news2024/11/24 8:04:00

文章目录

  • 1 官方课程内容自述
      • 第 1 课:图像生成简介
      • 第 2 课:计算机视觉基础
      • 第 3 课:图像生成与生成对抗网络(GANs)
      • 第 4 课:基于 Transformer 的计算机视觉模型
      • 第 5 课:扩散模型
      • 第 6 课(项目):使用补全技术进行 AI 照片编辑
  • 2 练习
    • 2.1 Introduction to Image Generation
      • 1 Face Recognition with Eigenfaces and DLIB.ipynb
      • 2 Generative Adversarial Network: training.ipynb
      • 3 Using a State-Of-The-Art (SOTA) GANs.ipynb
    • 2.2 Transformer-Based Computer Vision Models
      • Image Segmentation with SAM (Segment Anything Model).ipynb
    • 2.3 Diffusion Models
      • 1 build-a-DDPM.ipynb(重点)
      • 2 Diffusion models and the diffusers library from hugginface.ipynb
  • 3 项目:基于SAM和stable diffusion对图像进行背景替换

在这里插入图片描述

1 官方课程内容自述

学习计算机如何处理和理解图像数据,并利用最新的生成式人工智能模型创造新图像的能力。


第 1 课:图像生成简介

在本课中,您将定义图像生成,并理解其在人工智能和机器学习中的相关性。


第 2 课:计算机视觉基础

了解计算机如何“看”图像,并使用经典的图像处理技术,如图像转换、降噪等,执行关键的图像处理任务。


第 3 课:图像生成与生成对抗网络(GANs)

探索计算机视觉领域中的生成式人工智能工具,学习它们如何被评估。了解什么是生成对抗网络(GANs)及其生成图像的方式。


第 4 课:基于 Transformer 的计算机视觉模型

在本课中,我们将探索 Vision Transformers 模型及其工作原理。我们还将研究 DALL-E、DINO 和 SAM 等视觉 Transformers 模型。


第 5 课:扩散模型

学习 Transformer 的基本原理。然后,通过创建扩散算法,并使用 Huggingface Diffusers 生成和处理图像。


第 6 课(项目):使用补全技术进行 AI 照片编辑

在本项目中,您将利用生成式人工智能处理一幅著名画作,替换背景,并与 Stable Diffusion 生成的图像结合进行编辑。


2 练习

2.1 Introduction to Image Generation

1 Face Recognition with Eigenfaces and DLIB.ipynb

内容总结:一个人脸识别项目,评估基于传统视觉的Eigenfaces人脸识别方法与基于深度学习的DLIB库人脸识别方法。人脸数据集是Labeled Faces in the Wild (LFW),13,233 images of 5,749 people。本项目只用1183 images of 22 people这么点人来测试。

Eigenfaces and DLIB 简介:

Eigenfaces: 一种基于主成分分析(PCA)的经典人脸识别方法。通过提取训练集中人脸图像的主要特征,将人脸表示为线性组合的特征脸,用于识别和分类。

DLIB: 一种基于深度学习的人脸识别库。DLIB 提供了预训练模型,可用于检测人脸特征点并提取人脸的 128 维特征嵌入向量,通过比较这些向量的距离进行人脸匹配和识别。

最终结果:Eigenfaces方法精度0.46,DLIB库精度:0.98。

2 Generative Adversarial Network: training.ipynb

内容总结:完整实现一个GAN网络。数据集是CIFAR-10 数据集中的汽车类别,网络结构就是简单的卷积和转置卷积。数据增强和训练技巧用到:颜色变换、平移变换、随机遮挡、随机翻转、label smoothing、DiffAugment。

3 Using a State-Of-The-Art (SOTA) GANs.ipynb

内容总结:下载基于GAN方法的SOTA级生成模型StyleGAN-3,直接使用预训练模型体验一下生成的图像的效果。

2.2 Transformer-Based Computer Vision Models

Image Segmentation with SAM (Segment Anything Model).ipynb

内容总结:调用SAM的预训练模型,学会使用并体验其语义分割功能。

2.3 Diffusion Models

1 build-a-DDPM.ipynb(重点)

内容总结:从零实现2020年经典的DDPM算法,包括训练、生成、可视化。感觉质量非常高,在学习10423课程时,我就用的这个代码练习。

2 Diffusion models and the diffusers library from hugginface.ipynb

内容总结:本代码主要是调用(自动下载预训练模型)hugginface中一些开源生成式模型,展示各种功能和效果,具体展示了如下一些应用:

  1. Unconditional generation 无条件生成:调用google/ddpm-celebahq-256模型,输入一个随机噪音图,生成一个人脸图。
    a. 在这里插入图片描述

  2. Text-to-image 文本生成图像:调用stabilityai/sdxl-turbo模型,输入一个文本提示,生成一张高清图像。
    a. 在这里插入图片描述

  3. Image-to-image 图像生成图像:输入一张简练的图像+文本提示,生成一张复杂的图像。
    a. 在这里插入图片描述

  4. Inpainting 图像修补:提供一张原图+mask区域图+文本提示,生成一张新图。
    a. 在这里插入图片描述

  5. 视频生成:基于文本提示,直接生成视频。基于一张图片,生成一张该图片的动态视频。
    a. 在这里插入图片描述

3 项目:基于SAM和stable diffusion对图像进行背景替换

AI-Photo-Editing-with-Inpainting.ipynb

内容概述:虽说是个大项目,但内容不多,跟上个练习大差不差,就是调用hugginface相关库中SAM模型(facebook/sam-vit-base)、stable diffusion模型(diffusers/stable-diffusion-xl-1.0-inpainting-0.1),实现Inpainting 图像修补。流程大概如下:

  1. 找一张汽车图像
  2. 用SAM预训练模型把图像中的汽车和背景分割出来。
  3. 然后把汽车、背景的掩码图、生成新背景的提示词,一起输给stable diffusion预训练模型,从而生成一张新图。效果如下:
    a. 在这里插入图片描述

b. 提示词:
i. prompt = “a car driving on Mars. Studio lights, 1970s” # 定义正面提示词,描述图像生成的场景为“火星上行驶的汽车,带有摄影棚灯光,70年代风格”
ii. negative_prompt = “artifacts, low quality, distortion” # 定义负面提示词,排除图像中的“失真、低质量或杂乱无章的元素”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2209183.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

利用AI大模型,增强你的DevOps!

前言 自从去年春天ChatGPT问世之后,互联网也掀起了拥抱AI的浪潮,不仅是各大头部大厂相继发布大模型产品,在开发者的Coding过程中也紧跟时代,一些热门插件也纷纷受到了开发者的青睐,比如GitHub Copilot的智能代码生成。…

数据结构编程实践20讲(Python版)—05二叉树

本文目录 写在前面:大“树”下好乘凉定义主要术语基本特征主要应用领域:05 二叉树Binary treeS1 说明S2 示例S3 二叉树类型(1)满二叉树(Perfect Binary Tree)(2)完全二叉树(Complete Binary Tree)(3)二叉搜索树(Binary Search Tree)(4)平衡二叉树(Balanced Bin…

Windows环境NodeJS下载配置安装运行

Windows环境NodeJS下载配置安装运行 (1)下载 Node.js — Run JavaScript Everywhere 安装文件。 一路傻瓜式安装。 如果安装正常,输入命令可显示版本号: (2)可以查询nodejs默认的后续依赖安装包位置及缓存…

稻盛和夫认为,一个领导是否值得追随,看这几点就够了

一、真正的领导者有自信,但不自大,有坚定的信念和价值观。 稻盛和夫认为,领导者的真正强大之处在于他们能够坚定地做正确的事情。领导者必须具备勇气和决心,以及坚定的信念,以便在面对挑战和困难时能够坚持自己的信念…

Vert.x,Web - 静态资源/模板

静态资源 Vert.x-Web带有开箱即用的处理器(StaticHandler),用于处理静态Web资源(.html, .css, .js, …), 因此可以非常轻松地编写静态Web服务器。 默认静态文件目录为类路径下的webroot目录,对于maven的项目,按规范放在src/main/…

BIO与NIO学习

BIO:同步阻塞IO,客户端一个连接请求(socket)对应一个线程。阻塞体现在: 程序在执行I/O操作时会阻塞当前线程,直到I/O操作完成。在线程空闲的时候也无法释放用于别的服务只能等当前绑定的客户端的消息。 BIO的代码实现 …

郑光荣参加老年春节联欢晚会团长会议现场采访

郑光荣作为北京正明圣达叫卖团的业务团长,他不仅在多个春节联欢晚会中展现了 自己的才华,还在团长会议现场接受了采访。在2024年参加了多个电视台的 春节联欢晚会录制。 郑光荣曾经参与了包括北京广播电视台、海南卫视,中国国际教育电视台…

c++基础-去掉空格

#include <algorithm> #include <string> #include <cctype> // 用于std::isspace std::string removeSpaces(std::string str) {str.erase(std::remove_if(str.begin(), str.end(), ::isspace), str.end());return str; }int main() {string str &quo…

腾讯云视立方Flutter 相关

两台手机同时运行 Demo&#xff0c;为什么看不到彼此的画面&#xff1f; 请确保两台手机在运行 Demo 时使用的是不同的 UserID&#xff0c;TRTC 不支持同一个 UserID &#xff08;除非 SDKAppID 不同&#xff09;在两个终端同时使用。 防火墙有什么限制&#xff1f; 由于 SDK…

visual studio使用ssh连接linux虚拟机运行程序

1.vs安装linux组件 2.安装后新建项目 新建后会有一个使用指南 设置网络为桥接网卡后打开虚拟机 使用vs提升的那句话安装工具 sudo apt-get install openssh-server g gdb gdbserver 重启ssh服务 sudo service ssh restart 接着进去打开ssh端口 sudo vi /etc/ssh/sshd_config …

安装rstudio-server

主要教步骤参考https://posit.co/download/rstudio-server/ 1&#xff0c;首先是linux发行版版本要求&#xff1a;符合 2&#xff0c;预装R&#xff1a;符合 3&#xff0c;安装rstudio-server 4&#xff0c;但是发现web上8787端口打不开&#xff1a; RStudio Server 可能没有在…

不会大模型不要紧!只需5分钟!你也可以微调大模型!如何快速微调Llama3.1-8B

AI浪潮席卷全球并发展至今已有近2年的时间了&#xff0c;大模型技术作为AI发展的底座和基石&#xff0c;更是作为AI从业者必须掌握的技能。但是作为非技术人员&#xff0c;相信大家也有一颗想要训练或微调一个大模型的心&#xff0c;但是苦于技术门槛太高&#xff0c;无从下手。…

Chromium 如何查找V8 引擎中JavaScript 标准内置对象

JavaScript 标准内置对象 - JavaScript | MDN (mozilla.org) 一、JavaScript 标准内置对象 本章介绍和说明了 JavaScript 中所有的标准内置对象、以及它们的方法和属性。 这里的术语“全局对象”&#xff08;或标准内置对象&#xff09;不应与 global 对象混淆。这里的“全局…

【Canvas与标牌】内凹圆角矩形排列组合标牌

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>内凹圆角矩形Draft3排列组合标牌</title><style type"…

云轴科技ZStack邀您参加迪拜GITEX 2024,10月14日不见不散

云轴科技ZStack期待在GITEX GLOBAL 2024与您相遇&#xff0c;共同探索科技的未来。 10月14日至18日&#xff0c;ZStack将携最新的云计算解决方案与AIOS智塔平台&#xff0c;亮相全球顶尖科技盛会——GITEX GLOBAL 2024 展览会&#xff0c;展位Hall 8-C20&#xff0c;向全球观众…

Git客户端使用之TortoiseGit和Git

git客户端有两个分别是TortoiseGit和Git Git用于命令行TortoiseGit用于图形界面。无论是Git还是TortoisGit都需要生成公/私钥与github/gitlab建立加密才能使用。 一、先介绍Git的安装与使用 1、下载与安装 安装Git-2.21.0-64-bit.exe(去官网下载最新版64位的)&#xff0c;安…

阿里P8面试官推荐学习的11大专题:java面试精讲框架文档

本篇文章给大家分享一波&#xff0c;阿里P8面试官推荐学习的11大专题&#xff1a;java面试精讲框架文档&#xff0c;主要包含11大块的内容&#xff1a;spring、springcloud、netty、zookeeper、kafka、Hadoop、HBASE、Cassandra、elasticsearch、spark、flink&#xff1b;希望大…

抢先体验上海交大最新大模型Agent心理诊所!论文一作深度解读角色扮演Agent前沿进展

在当今社会的快节奏生活下&#xff0c;人们对于心理健康的关注度也在持续提升。然而&#xff0c;如今的心理健康医疗资源明显不足&#xff0c;尤其是在低收入和中等收入国家。同时&#xff0c;相关医疗资源的分布也主要集中在城市和大型机构&#xff0c;这种分配不平衡导致大量…

如何下载、安装并激活 Paragon NTFS for Mac 17,paragon ntfs for mac怎么用

Paragon NTFS for Mac是一款非常不错的Mac读写工具&#xff0c;解决了大部分Mac电脑用户无法读取移动硬盘的困扰&#xff0c;但是很多用户在购买了正版Paragon后不会激活。本篇将为各位小伙伴们讲解一下NTFS读写工具Paragon NTFS for Mac是如何进行下载、安装与激活的。 注&am…

双向广搜 Solitaire——hdu1401

目录 前言 字符数字的转换 bfs or double dfs 棋局的编号 Solitaire 问题描述 输入 输出 问题分析 判重 棋子走动逻辑 单向搜索代码 双向搜索退出条件 双向广搜代码 前言 交代一下我写这题的感受&#xff0c;被自己气笑了&#xff0c;本来以为是我字符串没弄好&#xff0c;…