neural-painter

GitHub
532 50 较难 1 次阅读 7个月前图像
AI 解读 由 AI 自动生成,仅供参考

neural-painter 是一个利用随机神经网络生成艺术图案的开源项目。它通过一个简单的前馈网络,将图像中的每个坐标 (x, y) 映射为对应的 RGB 颜色值,从而直接“画”出整张图片。

这一工具主要解决了传统算法难以快速生成具有高度风格差异和抽象美感图案的问题。用户无需训练模型或准备数据集,只需调整网络的超参数(如隐藏层大小、激活函数类型等),即可让神经网络凭借随机初始化的权重,创造出从平滑渐变到复杂纹理等风格迥异的视觉作品。

neural-painter 特别适合对生成艺术感兴趣的开发者、研究人员以及希望探索算法创作可能性的设计师使用。其核心技术亮点在于构建了一个丰富的非线性激活函数池,并在网络各层随机选用这些函数(包括不连续函数或特定梯度函数)。这种独特的“随机非线性”策略,使得简单的全连接网络也能涌现出令人惊叹的复杂构图。项目基于 Theano 框架实现,代码结构清晰,方便用户本地运行实验或作为学习组合模式产生网络(CPPN)的入门案例。

使用场景

一位独立游戏开发者正在为一款科幻题材的 Roguelike 游戏快速生成大量独特的背景纹理和抽象艺术图案,以丰富关卡视觉多样性。

没有 neural-painter 时

  • 美术资源匮乏:手动绘制数百张风格各异的抽象纹理耗时极长,严重拖慢开发进度。
  • 风格单一僵化:使用传统程序化噪声算法(如 Perlin Noise)生成的图案缺乏艺术感,显得机械且重复。
  • 调整成本高昂:若想改变整体艺术风格,必须重新编写复杂的着色器代码或手动重绘,无法通过参数快速迭代。
  • 随机性不可控:简单的随机填充无法产生具有连贯结构和美学价值的复杂构图,导致画面杂乱无章。

使用 neural-painter 后

  • 自动化高效产出:利用神经网络将坐标映射为 RGB 值,仅需运行脚本即可瞬间批量生成高分辨率的艺术图案。
  • 风格变异丰富:通过随机初始化网络超参数和非线性激活函数(如 log_abs、sgn),能自然涌现出从流体到几何等多种惊艳风格。
  • 参数驱动迭代:只需调整命令行中的 --seed--nonlin 参数,即可在不改代码的情况下探索无限的设计变体。
  • 结构美学兼备:得益于深层全连接网络与特殊激活函数的组合,生成的图像既具备随机性,又拥有类似自然纹理的内在逻辑与美感。

neural-painter 通过将随机神经网络转化为创意引擎,让开发者能以极低算力成本获得无限且高质量的程序化艺术资产。

运行环境要求

操作系统
  • 未说明
GPU

未说明 (基于 Theano,通常支持 CPU 或任意兼容后端)

内存

未说明

依赖
notes该项目基于已停止维护的 Theano 框架。代码通过随机非线性函数生成图像,无需预训练模型文件。运行命令示例显示其为命令行工具。由于 Theano 不再更新,现代环境安装可能较为困难,建议查阅原始仓库获取具体的旧版依赖配置。
python未说明 (需兼容 Theano 的版本,推测为 Python 2.7 或 3.5-3.6)
theano
neural-painter hero image

快速开始

神经画家

我们使用一个神经网络,它接受坐标 (x, y),并输出对应的 RGB 值来生成图像。

通过不同的随机超参数设置,该网络可以生成风格差异很大的图像。

作品集

缩略图 示例图像

视频

神经画家演示视频 0 神经画家演示视频 1

详情

该图像由单路径前馈网络生成,仅包含全连接层和批归一化,并辅以多种非线性激活函数,权重采用高斯随机初始化。

生成这些引人入胜图像的关键在于,在每一层都从庞大的非线性函数库中随机选择非线性激活函数,尤其是那些不连续的函数(如符号函数)或在某些点附近梯度较大的函数(例如 log(abs(x) + eps))。

我们目前使用的非线性激活函数如下:

NONLIN_TABLE = dict(
    relu=T.nnet.relu,
    tanh=T.tanh,
    abs_tanh=lambda x: abs(T.tanh(x)),
    sigmoid=T.nnet.sigmoid,
    softplus=T.nnet.softplus,
    sin=T.sin,
    cos=T.cos,
    sgn=T.sgn,
    sort=lambda x: T.sort(x, axis=1),
    abs=abs,
    log_abs=lambda x: T.log(abs(x) + eps),  # 这太棒了
    log_abs_p1=lambda x: T.log(abs(x) + 1),
    log_relu=lambda x: T.log(T.nnet.relu(x) + eps),
    log_square=lambda x: T.log(x**2 + eps),  # 只是一个标量

    xlogx_abs=lambda x: T.xlogx.xlogx(abs(x) + eps),
    xlogx_abs_p1=lambda x: T.xlogx.xlogx(abs(x) + 1),
    xlogx_relu=lambda x: T.xlogx.xlogx(T.nnet.relu(x) + eps),
    xlogx_relu_p1=lambda x: T.xlogx.xlogx(T.nnet.relu(x) + 1),
    xlogx_square=lambda x: T.xlogx.xlogx(x**2 + eps),

    softmax=T.nnet.softmax,
    logsoftmax=T.nnet.logsoftmax,
    hard_sigmoid=T.nnet.hard_sigmoid,
    identity=lambda x: x,
    square=lambda x: x**2
)

实现代码请参见:https://github.com/zxytim/neural-painter/blob/master/neural_painter.py。该代码基于 Theano 框架。

自己尝试一下

./neural_painter.py --image_size 800x800 --hidden_size 100 --nr_hidden 4 --nonlin random_every_time --nr_channel 3 --output_nonlin identity --coord_bias --seed 42 --output 42.png

相关项目

相关链接

我们正在招聘!

我们是来自 旷视科技http://www.megvii.com)的研究人员,这是一家位于北京的计算机视觉初创公司。 公司发展迅速,正渴求像您这样优秀的人才!

如果您感兴趣或想了解更多,请将您的简历或其他相关信息发送至 zxy@megvii.com

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|2周前
Agent开发框架图像

n8n

n8n 是一款面向技术团队的公平代码(fair-code)工作流自动化平台,旨在让用户在享受低代码快速构建便利的同时,保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点,帮助用户轻松连接 400 多种应用与服务,实现复杂业务流程的自动化。 n8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”:既可以通过直观的可视化界面拖拽节点搭建流程,也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外,n8n 原生集成了基于 LangChain 的 AI 能力,支持用户利用自有数据和模型构建智能体工作流。在部署方面,n8n 提供极高的自由度,支持完全自托管以保障数据隐私和控制权,也提供云端服务选项。凭借活跃的社区生态和数百个现成模板,n8n 让构建强大且可控的自动化系统变得简单高效。

184.7k|★★☆☆☆|今天
数据工具开发框架Agent

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|2周前
开发框架图像Agent

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

109.2k|★★☆☆☆|昨天
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|1周前
插件Agent图像

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|1周前
语言模型图像Agent