在当今数字时代,我们常常会遇到老旧的黑色照片和视频。通过添加颜色为这些历史宝藏注入新的生命,岂不是很棒?人工智能提供了一种强大的解决方案,使得自动为这些图像和视频上色成为可能。本文将指导您如何使用AI工具为黑白媒体上色,包括安装和实际应用,让您能够用鲜艳的色彩恢复记忆。
关键点
- AI使自动上色成为可能。
- Deoldify提供了一个用于上色的Python库。
- 安装需要Anaconda和Git。
- 上色可以应用于照片和视频。
- 图像大小可能需要调整以获得最佳处理效果。
- 使用GPU可以加速上色过程。
- 各种参数允许微调结果。
- 后处理步骤可以提高最终质量。
理解AI驱动的上色技术
什么是AI上色?
AI上色利用机器学习算法,特别是深度学习,来预测并添加颜色到单色图像和视频中。这些算法在大量彩色图像数据集上进行训练,使它们能够识别灰度值与对应颜色之间的模式和关系。通过分析黑白图像中的纹理、形状和上下文信息,AI可以推断出不同区域最可能的颜色。这个过程比手动上色更加复杂,后者很大程度上依赖于猜测和艺术技巧。它提供了一种快速有效的方式来为老照片和视频片段上色。

AI上色的核心在于卷积神经网络(CNNs)。这些网络学习从图像中提取特征,并使用这些特征来预测颜色值。训练过程涉及向网络输入大量黑白图像及其彩色对应物的示例。通过这个过程,网络学习将灰度模式与特定颜色关联起来。高级模型甚至可以考虑到图像的上下文信息,如时间或地点,以提高颜色预测的准确性。还需要强调的是,尽管AI做得非常好,但它永远不会完美,尤其是在处理老视频和照片时。一些更高级的AI模型需要猜测每个像素应该是什么颜色,这可能会导致照片的某些区域出现不一致的颜色。请记住,AI上色更多的是添加视觉上吸引人和合理的颜色,而不是实现完美的历史准确性。无法确定旧媒体中物体和场景的确切颜色,因此该工具更多的是关于艺术许可。
AI上色的主要优势
AI上色比传统的手动上色技术有许多优势:
- 速度和效率:AI算法可以比手动方法更快地为图像和视频上色。对于熟练的艺术家来说可能需要数小时或数天的任务,使用AI可以在几分钟甚至几秒钟内完成。
- 可访问性:AI驱动的工具使上色对每个人来说都变得容易,无论艺术技能如何。用户无需任何专业知识或培训即可获得令人印象深刻的结果。
- 可扩展性:AI上色具有高度可扩展性,适合处理大量历史媒体档案。无论您有几张家庭照片还是数千份历史文件,AI都可以帮助您高效地恢复它们。
- 记忆恢复:通过为老照片和视频添加颜色,AI可以增强情感影响,帮助观众更深入地与过去建立联系。看到熟悉的面孔和地点以鲜艳的色彩呈现,可以唤起强大的记忆,并产生一种即时感。许多不同的服务都非常有效,并提供了良好的整体结果,因此您应该今天就开始研究AI恢复。
- 增强视觉吸引力:上色可以显著提高旧媒体的视觉吸引力,使其对现代观众更具吸引力和可访问性。这对于博物馆、档案馆和教育机构来说尤其有价值,它们希望与公众分享历史内容。
介绍Deoldify:一个强大的Python库
虽然有许多AI上色工具可用,但Deoldify作为一个特别强大和多功能的选项脱颖而出。Deoldify是一个专门为老图像和视频上色和恢复而设计的开源Python库。它以其能够生成高度逼真和视觉上吸引人的结果而闻名,使其成为业余爱好者和专业人士的最爱。

Deoldify的优势在于其复杂的架构和训练数据,使其在细节和历史准确性方面具有优势。此外,由于Deoldify是一个开源的Python库,它具有一些明显的优势:
- 定制化:作为一个开源项目,Deoldify提供了高度的定制化。用户可以微调各种参数以实现所需的结果。这种灵活性对于解决特定挑战或艺术偏好特别有用。
- 控制:使用Python库,您可以直接控制上色过程。您可以将Deoldify集成到自己的工作流程中,并使用自定义脚本自动执行任务。这种控制对于专业应用至关重要。
- 社区支持:Deoldify拥有一个活跃的用户和开发者社区。这个社区提供了宝贵的支持、资源和持续的库改进。
- 透明度:与一些专有工具不同,Deoldify的算法和训练数据是透明的。这种透明度使您能够理解上色过程的工作原理,并批判性地评估结果。
选择正确的工具取决于您的具体需求和技术专长。如果您正在寻找一个用户友好的AI增强图像上色器,您应该查看Algorithmia。然而,对于寻求更多控制和定制的用户,Deoldify为旧媒体的恢复提供了无与伦比的灵活性和功能。本文稍后将讨论使用Deoldify进行黑白照片恢复的步骤。
设置Deoldify:逐步指南
先决条件
在开始安装过程之前,请确保您具备以下先决条件:
- Python:Deoldify是一个Python库,因此您需要在系统上安装Python 3.7或更高版本。您可以从Python官方网站下载最新版本的Python。
- Anaconda:Anaconda是一个流行的Python发行版,简化了包管理和环境设置。从Anaconda网站下载并安装Anaconda。
- Git:Git是一个版本控制系统,用于从GitHub克隆Deoldify存储库。如果尚未安装Git,请从Git网站下载并安装。
- CUDA(可选):如果您有NVIDIA GPU,安装CUDA将显著加速上色过程。从NVIDIA开发者网站下载并安装CUDA。

一旦您满足了这些要求,就可以开始安装Deoldify了。
步骤1:克隆Deoldify存储库
首先,使用Git从GitHub克隆Deoldify存储库。打开终端或命令提示符,并导航到要存储Deoldify文件的目录。然后运行以下命令:
git clone https://github.com/jantic/Deoldify.git
此命令将下载所有Deoldify文件到您的本地机器。此步骤将为您提供Deoldify工作所需的所有库和脚本。根据您的互联网连接速度,可能需要几分钟。
步骤2:创建Conda环境
接下来,创建一个Conda环境以隔离Deoldify的依赖项。这将防止与您可能已安装的其他Python包发生冲突。导航到新克隆的Deoldify目录:
cd Deoldify
现在,使用提供的environment.yml
文件创建Conda环境:
conda env create -f environment.yml
创建环境后,激活它:
conda activate deoldify

这些步骤将为您的Deoldify软件创建一个沙盒化的Python发行版,以便不同版本的代码不会相互干扰。这使得软件安装更加干净,并减少了以后出现错误的可能性。
步骤3:安装OpenCV
OpenCV是一个流行的计算机视觉库,Deoldify用于图像和视频处理。使用pip安装它:
pip install opencv-python

OpenCV帮助Deoldify读取和处理您输入的各种图像。没有这个库,Deoldify将无法接收图像和视频作为输入。
步骤4:下载预训练模型
Deoldify依赖于预训练模型来为图像和视频上色。使用以下命令下载这些模型:
cd models
wget https://data.deepai.org/deoldify/ColorizeArtistic_gen.pth -O ColorizeArtistic_gen.pth
wget https://data.deepai.org/deoldify/ColorizeVideo_gen.pth -O ColorizeVideo_gen.pth
cd ..
这些命令将下载必要的模型文件。下载预训练模型对于AI的上色功能至关重要。没有它们,算法将不知道为您的输入图像应用哪些颜色。
步骤5:移动测试文件
最后,将测试文件移动到正确的位置。即将media/
文件夹移动到test_images
,并将resource_images/watermark.png
移动到资源图像文件夹。
mkdir media
mkdir test_images
cd models
wget https://media.githubusercontent.com/media/jantic/Deoldify/master/resource_images/watermark.png -O /resource_images/watermark.png
cd ..

现在,您已经准备好开始使用各种AI算法了!
基本上色用法
使用本地资源为照片上色
本节将向您展示如何使用基本的Imagecolorizer
功能为静态图像上色。首先设置环境。创建一个名为“HowToColorImage.py
”的文件,并填写以下Python代码:
# 如果我们看到Deoldify的conda环境是兼容的
# 我将使用一个不同的环境,其中包含numpy和open cv。您可以做同样的事情
# 请先按照安装设置进行编码,例如创建conda环境
import warnings
warnings.filterwarnings('ignore', category=UserWarning, message='.*Your .* set is empty.*')
import cv2
import numpy as np
from deoldify import device
from deoldify.device_id import DeviceId
from deoldify.visualize import *
device.set(device=DeviceId.GPU0)
if not torch.cuda.is_available():
print('GPU is not available')
# 这是用于上色的主要对象
imagecolorizer = get_image_colorizer(artistic=True)
path_input = 'testTM.jpg'
result = image_colorizer.plot_transformed_image(path=path_input, render_factor=35, compare=True, watermark=False)
print("This is the result image path :", result)
# 让我们加载并显示图像
image = cv2.imread(result)
scale_percent = 60 # 原始大小的百分比
width = int(image.shape[1] * scale_percent / 100)
height = int(image.shape[0] * scale_percent / 100)
dim = (width, height)
# 调整图像大小
resized = cv2.resize(image, dim, interpolation = cv2.INTER_AREA)
cv2.imshow('image',resized)
cv2.waitKey(0)
cv2.destroyAllWindows()
您应该使用您的主目录来访问文件夹中设置的各种图像和资源。使用以下Python代码设置此路径:
path_input = 'testTM.jpg' # 更改为您的黑白照片所在的正确目录

确保Python在您的路径中,并且Python VScode的主目录应该是Deoldify目录。
从互联网上为照片上色
Deoldify也可以从URL上色照片和图像,只需对代码进行一些更改:
# 这是结果图像路径:\oracledata.okc.gov\dakeewColorImage.jpg <-- 这必须是结果并且必须有效
if __name__ == '__main__':
img_url = 'https://images.pexels.com/photos/53451/marilyn-monroe-woman-actress-pretty-53451.jpeg'
#https://www.thecoloristpodcast.com/wp-content/uploads/2019/03/deOldify-1024x633.jpg
#https://cdn.shopify.com/s/files/1/0267/8449/2663/files/Colorized_Vintage_Photo_of_a_Woman_1_1200x1200.png?v=1682527967
source_url = img_url
result = image_colorizer.plot_transformed_image(path=source_url, render_factor=35, compare=True, watermark=False)
print("This is the result image path :", result)
image = cv2.imread(result)
scale_percent = 60 # 原始大小的百分比
width = int(image.shape[1] * scale_percent / 100)
height = int(image.shape[0] * scale_percent / 100)
dim = (width, height)
# 调整图像大小
resized = cv2.resize(image, dim, interpolation = cv2.INTER_AREA)
cv2.imshow('image',resized)
cv2.waitKey(0)
cv2.destroyAllWindows()
print("Done")

将文件路径(即testTM.jpg
)替换为您的URL,并确保它是一个JPG链接。
Deoldify定价
作为一个开源的Python库,Deoldify完全免费使用。您无需支付任何许可费或订阅费即可访问其上色功能。这使其成为预算有限的业余爱好者、研究人员和组织的理想选择。
使用Deoldify的优缺点
优点
- 高质量的上色结果。
- 开源且免费使用。
- 可定制的参数以微调结果。
- 活跃的社区支持。
- 透明的算法和训练数据。
缺点
- 安装和使用需要技术专长。
- 可能计算密集,尤其是对于视频。
- 结果可能并不总是历史准确的。
- 根据您提供的图像大小,输出可能会占用大量内存。
使用案例
Deoldify的常见应用
Deoldify在多个领域中找到应用,包括:
- 历史档案:为历史照片和视频上色,以增强其视觉吸引力并吸引现代观众。
- 家谱:恢复旧家庭照片,以保存记忆并与祖先建立联系。
- 电影和电视:提高老电影和电视节目的质量,以便当代观看。
- 教育:使用上色媒体使历史事件和人物对学生更具相关性。
- 艺术和娱乐:为个人项目或商业目的创建艺术上色。
相关问题
AI如何学习为黑白图像添加颜色?
AI算法,如卷积神经网络(CNNs),在大量彩色图像数据集上进行训练。AI学习将灰度模式与相应的颜色值关联起来,并通过分析上下文和纹理来预测不同图像区域的最可能颜色。这个过程允许自动将黑白图像转换为彩色版本,为老照片和视频注入新的生命。