写在前面
随着人工智能技术的不断发展,越来越多的应用场景被发掘。其中,AI绘画是一种新兴的领域,其应用范围涵盖了数字媒体、游戏设计、动画制作、艺术创作等多个领域。在本文中,我们将介绍AI绘画的基本概念、发展历程、技术原理以及应用前景。
基本概念
AI绘画是利用人工智能技术进行图像生成和图像编辑的过程。它主要包括两个方面,一个是基于机器学习的图像生成,另一个是基于计算机视觉技术的图像编辑。其中,基于机器学习的图像生成包括了GAN、VAE、PixelRNN等多个模型,可以通过学习大量真实图片的样本,生成出具有类似特征的虚拟图片。而基于计算机视觉技术的图像编辑则是在生成的图像上进行编辑,包括风格迁移、超分辨率等技术,可以对图像的颜色、纹理、清晰度等方面进行调整。
技术原理
AI绘画的技术原理是基于机器学习的算法和神经网络模型。这些模型可以学习和识别图像中的特征,并且可以自动生成新的图像。
(图片源于网络)
以下是一些常用的AI绘画技术和它们的技术原理:
- 基于规则的方法:这种方法是最早的AI绘画技术之一,它基于一系列预定义的规则来生成图像。这些规则可以是关于颜色、形状、纹理、线条、角度等方面的规则。计算机程序员将这些规则编码到算法中,然后程序通过这些规则生成图像。虽然这种方法可以产生一些简单的图像,但它们通常缺乏创造性和想象力。
- 基于神经网络的方法:这种方法是目前最流行的AI绘画技术之一。它基于深度神经网络模型,通过学习大量的图像数据集来生成新的图像。神经网络模型可以自动识别图像中的特征,例如轮廓、颜色、纹理等。通过这种方式,神经网络可以自动学习生成新的图像。常用的神经网络模型包括卷积神经网络(CNN)、循环神经网络(RNN)和生成对抗网络(GAN)等。
- 生成对抗网络(GANs):这是一种基于神经网络的技术,它可以生成逼真的图像。GANs由两个神经网络组成:生成器和判别器。生成器负责生成图像,判别器负责判断生成的图像是否真实。这两个网络不断交互,生成器通过学习从判别器反馈的信息中改进生成的图像,直到生成的图像足够真实。
- 风格迁移技术:这是一种基于神经网络的技术,它可以将一种图像的风格应用到另一种图像上。它通过将输入图像和风格图像传入神经网络模型,学习如何将输入图像的内容和风格合成到一起生成新的图像。这种方法可以生成非常有趣的艺术品。
(图片源于网络)
AI 绘画教程
AI 绘画渠道
目前有三种渠道:
- 1.AI绘画模型发布的官网(外国公司,网站访问速度较慢,大都需付费)
- Stable Diffusion官网:https://beta.dreamstudio.ai/dream
- NovelAI官网:https://novelai.net/
- Midjourney官网:https://www.midjourney.com/home/
2.使用github上已开源AI绘画模型(门槛较高,显卡要求较高)
3.接入 APISpace AI 绘画 API (简单,最易上手,开箱即用)
AI 绘画 API 接入教学
1. 登录注册 APISpace,获取 API 使用密钥
2. 注册成功后,我们在页面导航菜单点击【我的 API】进入【访问控制】页面,即可看到平台提供的密钥。
3. 在线测试 AI 绘画 API
打开 AI 绘画 API 详情页 ,点击【免费试用】
试用成功后系统自动进入测试界面
AI 绘画教学
这些 AI 绘画最基本的两种玩法是“文生图”和 “图生图”
文生图:用户输入文本描述,即 prompt,AI 就会根据用户输入的文字生成符合文本描述的图像。
这个 prompt 可是非常有讲究的,举个例子,比如你要使用 AI 生成一只猫的图片,你不能只简单地输入“一只猫”。如果你这样做,生成的图片可能不会十分美观。相反,你需要考虑许多因素。
例如,你要生成的猫是什么颜色?什么品种?你要生成的是全身照还是特写某个部位?它的姿势是正面、侧面还是背面?你要的风格是速涂、草稿、线稿、油画、设计图、概念设计、速写、立绘还是厚涂?你要使用的是 2D 还是 3D 技术?光效方面,你需要全局光照、柔和光照、边缘照明、体积照明还是电影照明。。。
如下图:
图生图:就是用户输入图片和文本描述,生成符合图片参考和文本描述的图像。举个实用的例子,你可以只画一个线稿,然后让AI在你的线稿上的基础上继续作画,达到成品的效果。
详细的 prompt 教程可以参考以下网站:
Prompt: 关键词(Prompt 知识)
AI绘画 API代码接入
Java
OkHttpClient client = new OkHttpClient().newBuilder().build(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"task\":\"txt2img.sd\",\"params\":{\"model\":\"art\",\"text\":\"玫瑰花\",\"w\":512,\"h\":512,\"guidance_scale\":7.5,\"negative_prompt\":\"cropped\",\"sampler\":\"k_euler\",\"seed\":-1,\"num_steps\":20},\"model\":\"art\",\"text\":\"玫瑰花\",\"w\":512,\"h\":512,\"guidance_scale\":7.5,\"negative_prompt\":\"cropped\",\"sampler\":\"k_euler\",\"seed\":-1,\"num_steps\":20,\"notify_url\":\"\"}"); Request request = new Request.Builder() .url("https://23329.o.apispace.com/aigc/txt2img") .method("POST",body) .addHeader("X-APISpace-Token","替换成自己的 API 密钥") .addHeader("Authorization-Type","apikey") .addHeader("Content-Type","application/json") .build(); Response response = client.newCall(request).execute(); System.out.println(response.body().string());
PHP
<?php $client = new http\Client; $request = new http\Client\Request; $body = new http\Message\Body; $body->append("{\"task\":\"txt2img.sd\",\"params\":{\"model\":\"art\",\"text\":\"玫瑰花\",\"w\":512,\"h\":512,\"guidance_scale\":7.5,\"negative_prompt\":\"cropped\",\"sampler\":\"k_euler\",\"seed\":-1,\"num_steps\":20},\"model\":\"art\",\"text\":\"玫瑰花\",\"w\":512,\"h\":512,\"guidance_scale\":7.5,\"negative_prompt\":\"cropped\",\"sampler\":\"k_euler\",\"seed\":-1,\"num_steps\":20,\"notify_url\":\"\"}"); $request->setRequestUrl("23329.o.apispace.com/aigc/txt2img"); $request->setRequestMethod("POST"); $request->setBody($body); $request->setHeaders(array( "X-APISpace-Token" => "替换成自己的 API 密钥", "Authorization-Type" => "apikey", "Content-Type" => "application/json" )); $client->enqueue($request)->send(); $response = $client->getResponse(); echo $response->getBody();
AI 绘画作品与关键词示例
高品质3d渲染,超现实主义非常可爱,柔和的色彩蓬松!皮卡丘混血猫,高度细致,vray 平滑,侦探皮卡丘风格,hannah yata charlie immer,柔和的室内光线,低角度,uhd 8 k,清晰对焦,高清
Prompt:穿着华丽纹路复杂的银饰铠甲,拟人化的兔子,对称,灵性的眼睛,史诗感美丽,华丽,超细节,超清晰,电影级滤镜,16k,徕卡50mm定焦镜头
Prompt:令人惊叹的河边小屋,artstation冠军,Victo Ngai、Kilian Eng 和 Jake Parker的艺术品,充满活力的漩涡色彩线,获奖杰作,极其艳丽,美学,辛烷值渲染,8K 高清分辨率,高度详细
标签:Prompt,AI,关键词,生成,绘画,神经网络,API,图像 From: https://www.cnblogs.com/smartgirlintown/p/17293271.html