Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

Neural Style Transfer

Chuyển đổi phong cách bằng mạng nơ-ron vẽ lại nội dung ảnh theo phong cách của một ảnh khác bằng cách khớp thống kê đặc trưng CNN. Nội dung bao gồm phương pháp của Gatys, các model nhanh và ứng dụng.

Chuyển đổi phong cách bằng mạng nơ-ron (NST) là kỹ thuật thị giác máy tính, tái tạo nội dung của một hình ảnh—chẳng hạn ảnh chụp con phố—theo phong cách trực quan của hình ảnh khác, chẳng hạn tranh vẽ, bằng cách đối chiếu đặc trưng bên trong của một mạng nơ-ron tích chập (CNN) được tiền huấn luyện. Nội dung được thể hiện qua bản đồ đặc trưng của lớp sâu, ghi lại những gì xuất hiện ở đâu. Phong cách được thể hiện qua tương quan giữa các kênh đặc trưng, ghi lại kết cấu, màu sắc và nét cọ nhưng loại bỏ cách sắp xếp của chúng. Tháng 8 năm 2015, Leon Gatys, Alexander Ecker và Matthias Bethge thuộc Đại học Tübingen giới thiệu phương pháp này trong bài Một thuật toán nơ-ron cho phong cách nghệ thuật; ứng dụng Prisma đưa công nghệ này đến người dùng smartphone vào năm sau.

Cách hoạt động của phương pháp ban đầu#

Phương pháp của Gatys dùng VGG-19, một CNN được huấn luyện trên ImageNet, làm bộ trích xuất đặc trưng cố định; phương pháp này thay đổi pixel của ảnh đầu ra thay vì trọng số của mạng. Hai hàm mất mát điều khiển kết quả:

  • Mất mát nội dung: Bình phương sai khác giữa bản đồ đặc trưng của ảnh đầu ra và ảnh nội dung tại một lớp sâu, conv4_2, giúp giữ cho các vật thể và bố cục dễ nhận ra.
  • Mất mát phong cách: Bình phương sai khác giữa các ma trận Gram tại năm lớp từ conv1_1 đến conv5_1. Với một lớp có C kênh, ma trận Gram là bảng C x C, trong đó phần tử (i, j) đo mức độ hai kênh i và j cùng phản hồi, cộng trên mọi vị trí trong ảnh.

Tổng có trọng số của hai hàm mất mát được giảm thiểu bằng thuật toán tối ưu hóa L-BFGS; lan truyền ngược truyền gradient qua mạng đã đóng băng đến các pixel:

Vì ma trận Gram cộng dồn trên các vị trí nên gần như không thay đổi khi bố cục ảnh thay đổi. Hoán đổi các góc phần tư của ảnh cho thấy điều này với ResNet-18 của torchvision, một CNN ImageNet nhỏ hơn VGG-19, trong PyTorch:

import torch
from skimage import data
from torchvision.models import ResNet18_Weights, resnet18

weights = ResNet18_Weights.DEFAULT
cnn = resnet18(weights=weights).eval()
early_layers = torch.nn.Sequential(cnn.conv1, cnn.bn1, cnn.relu, cnn.maxpool, cnn.layer1)
preprocess = weights.transforms()

photo = torch.tensor(data.astronaut()).permute(2, 0, 1)  # 3 x 512 x 512
rearranged = torch.roll(photo, shifts=(256, 256), dims=(1, 2))  # same pixels, quadrants swapped


def content_and_style(image):
    """Return an early CNN layer's feature map (content) and its Gram matrix (style)."""
    with torch.no_grad():
        features = early_layers(preprocess(image)[None])[0].flatten(1)  # channels x positions
    return features, features @ features.T / features.shape[1]


(content_a, style_a), (content_b, style_b) = content_and_style(photo), content_and_style(rearranged)
print(f"Content change: {(content_a - content_b).norm() / content_a.norm():.0%}")
print(f"Style change:   {(style_a - style_b).norm() / style_a.norm():.0%}")

Hoán đổi các góc phần tư làm bản đồ đặc trưng thay đổi 96%, nhưng ma trận Gram chỉ thay đổi 7%; phần chênh lệch 7% còn lại đến từ các đường nối mới và thao tác cắt giữa, vốn giữ lại những phần ảnh khác nhau. Vì vậy, mất mát phong cách sao chép nét cọ và bảng màu của bức tranh mà không sao chép vị trí của các vật thể trong tranh.

Chuyển đổi phong cách nhanh và tùy ý#

Tối ưu hóa từng ảnh cần hàng trăm vòng lặp, nên các nghiên cứu sau chuyển quá trình tối ưu hóa vào giai đoạn huấn luyện. Năm 2016, Justin Johnson, Alexandre Alahi và Li Fei-Fei thuộc Stanford huấn luyện một mạng truyền thẳng cho từng phong cách bằng cùng các hàm mất mát, tạo kết quả nhanh hơn khoảng ba bậc độ lớn và áp dụng cùng các mất mát cảm nhận cho siêu phân giải. Dmitry Ulyanov và các cộng sự nhận thấy thay batch normalization bằng instance normalization trong các mạng đó giúp cải thiện chất lượng cách điệu. Adaptive instance normalization (AdaIN, 2017) của Xun Huang và Serge Belongie xử lý được mọi phong cách mà không cần huấn luyện lại: phương pháp này điều chỉnh trung bình và độ lệch chuẩn của từng kênh đặc trưng nội dung để khớp với ảnh phong cách, rồi giải mã; quá trình này chạy trong thời gian thực.

Chuyển đổi phong cách cho model thị giác vững chắc#

Robert Geirhos và các cộng sự dùng AdaIN để cho thấy CNN huấn luyện trên ImageNet dựa vào kết cấu nhiều hơn hình dạng: ResNet-50 gán nhãn ảnh mèo có kết cấu da voi là voi, một dạng học lối tắt. Họ tạo Stylized-ImageNet bằng cách áp dụng phong cách ngẫu nhiên từ bộ sưu tập Painter by Numbers gồm 79.434 bức tranh cho mọi ảnh ImageNet; ResNet-50 được huấn luyện trên dataset này chuyển sang dựa vào hình dạng. Dùng mạng dựa trên hình dạng đó làm backbone cho model phát hiện đối tượng Faster R-CNN giúp tăng mAP50 trên Pascal VOC 2007 từ 70.7 lên 75.1 và trên MS COCO từ 52.3 lên 55.2.

Ý tưởng tương tự có thể dùng làm tăng cường dữ liệu cho dataset phát hiện, vì chuyển đổi phong cách giữ nguyên vị trí của mọi vật thể. Bản sao được cách điệu của ảnh đã gán nhãn có thể tái sử dụng bounding box gốc; do đó, trong dataset phát hiện Ultralytics YOLO26, chỉ cần sao chép tệp nhãn gốc và đổi tên theo tên ảnh mới.

  • Mạng đối sinh tạo (GAN): CycleGAN học ánh xạ giữa toàn bộ bộ sưu tập hình ảnh, chẳng hạn ảnh chụp và tranh Monet, thay vì đối chiếu thống kê của một ảnh phong cách.
  • Học chuyển giao: Tinh chỉnh trọng số được tiền huấn luyện cho tác vụ mới. NST không bao giờ cập nhật trọng số mạng mà chỉ dùng mạng để đo các hàm mất mát.
  • Model khuếch tán: Tạo lại hình ảnh theo prompt văn bản hoặc ảnh tham chiếu để thay đổi phong cách; quá trình này có thể làm biến đổi cả hình dạng và chi tiết.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning