Identity Preservation
Bảo toàn danh tính giúp một người hoặc vật thể cụ thể vẫn được nhận diện là cùng một cá thể trong các ảnh được tạo, khung hình video và ID theo dõi.
Bảo toàn danh tính là khả năng của model giữ cho một đối tượng cụ thể được nhận diện là cùng một cá thể qua các đầu ra: cùng một khuôn mặt trong một bộ chân dung được tạo, cùng một nhân vật từ khung hình đầu đến khung hình cuối của video được tạo, hoặc cùng một tracking ID cho người đi bộ khuất sau xe buýt rồi xuất hiện trở lại. Hai cộng đồng dùng thuật ngữ này. Trong AI tạo sinh, thuật ngữ mô tả các phương pháp cá nhân hóa đưa một người hoặc sản phẩm có thật vào khung cảnh mới mà không làm thay đổi danh tính người hoặc đặc điểm sản phẩm. Trong tracking đa đối tượng (MOT), thuật ngữ chỉ việc duy trì ID ổn định cho mỗi đối tượng qua các lần bị che khuất, giao cắt và thay đổi camera. Cả hai đều đo lường bằng embedding danh tính, tức các vector đặc trưng nằm gần nhau với cùng một cá thể và cách xa nhau với các cá thể khác.
Bảo toàn danh tính trong tạo ảnh và video#
Model văn bản thành hình ảnh biết diện mạo của "một người phụ nữ" hay "một con chó", nhưng không biết diện mạo của một người phụ nữ hay con chó cụ thể, vì vậy các phương pháp cá nhân hóa bổ sung kiến thức đó. Các phương pháp fine-tuning học từ một vài ảnh. DreamBooth của Google (2022) fine-tune toàn bộ model diffusion trên ba đến năm ảnh của một đối tượng gắn với token hiếm, cùng loss bảo toàn prior riêng cho từng lớp để model vẫn tạo ra những con chó khác như bình thường; các adapter LoRA giúp huấn luyện cùng ý tưởng này cho từng người với chi phí thấp.
Các phương pháp dựa trên encoder bỏ qua bước huấn luyện riêng cho từng đối tượng. IP-Adapter của Tencent (2023) đưa embedding ảnh vào model diffusion thông qua một layer cross-attention riêng, còn InstantID (tháng 1 năm 2024) bảo toàn khuôn mặt từ một ảnh duy nhất bằng cách kết hợp embedding từ mạng nhận diện khuôn mặt với IdentityNet, một ControlNet được điều kiện hóa bằng năm mốc trên khuôn mặt. Điều kiện hóa danh tính mạnh hơn giúp đầu ra giống ảnh tham chiếu hơn, đồng thời sao chép nhiều hơn tư thế, biểu cảm và ánh sáng của ảnh tham chiếu; vì vậy các công cụ này cung cấp thiết lập cường độ để cân bằng giữa độ giống và mức độ prompt có thể thay đổi khung cảnh.
Khuôn mặt được tạo ra được chấm điểm bằng độ tương tự cosine giữa embedding ArcFace của ảnh tham chiếu và đầu ra; ArcFace, được Jiankang Deng và cộng sự giới thiệu tại CVPR 2019, huấn luyện embedding khuôn mặt với biên góc để các danh tính tách biệt rõ ràng trên mặt cầu. Video đặt thêm yêu cầu thứ hai là duy trì tính nhất quán của đối tượng qua các khung hình; VBench đo lường yếu tố này dưới dạng tính nhất quán của đối tượng bằng cách so sánh đặc trưng DINO giữa các khung hình. Trong tạo video, nhân vật có khuôn mặt biến đổi sau vài giây không đạt yêu cầu này, ngay cả khi từng khung hình riêng lẻ trông chân thực.
Bảo toàn danh tính trong tracking#
Tracker gán ID bằng cách ghép các đối tượng được phát hiện ở mỗi khung hình với những track hiện có. Chỉ dựa vào chuyển động — bộ lọc Kalman dự đoán vị trí của từng box cùng phép ghép theo giao trên hợp (IoU) — sẽ hiệu quả cho đến khi hai người băng qua nhau hoặc một người khuất sau chướng ngại vật; khi đó tracker có thể đổi ID của họ hoặc bắt đầu ID mới, lỗi này được tính là một lần chuyển đổi danh tính. Đặc trưng diện mạo khắc phục phần lớn vấn đề. DeepSORT (2017) của Nicolai Wojke, Alex Bewley và Dietrich Paulus bổ sung embedding từ một mạng được huấn luyện trên dataset tái nhận dạng người vào tracker SORT chỉ dùng chuyển động, giảm 45 phần trăm số lần chuyển đổi danh tính. Chỉ số IDF1, do Ergys Ristani và cộng sự đề xuất năm 2016, đo trực tiếp khả năng bảo toàn danh tính bằng tỷ lệ đối tượng được phát hiện gán đúng danh tính.
Tracking của Ultralytics YOLO mặc định dùng TrackTrack (Shim và cộng sự, CVPR 2025), duy trì các track bị mất trong 30 khung hình (track_buffer) để đối tượng quay lại có thể nhận lại ID, đồng thời loại bỏ ID mới trùng lặp trước khi tạo ID. Thiết lập with_reid: True trong YAML của tracker bật ghép theo diện mạo, mặc định dùng đặc trưng riêng của detector và có thể tùy chọn dùng encoder chuyên dụng như model YOLO26n-reid 2.8 triệu tham số. Đoạn mã theo dõi người trong một video mẫu, có và không có ReID, rồi đếm số ID riêng biệt được gán trong mỗi lần chạy:
from ultralytics import YOLO
from ultralytics.utils import ROOT, YAML
# Copy the default TrackTrack config and turn on appearance re-identification
cfg = YAML.load(ROOT / "cfg/trackers/tracktrack.yaml")
cfg.update(with_reid=True, model="yolo26n-reid.onnx")
YAML.save("tracktrack_reid.yaml", cfg)
video = "https://github.com/ultralytics/assets/releases/download/v0.0.0/decelera_portrait_min.mov"
for tracker in ["tracktrack.yaml", "tracktrack_reid.yaml"]:
model = YOLO("yolo26n.pt") # fresh model so each run starts with no tracks
ids = set()
for result in model.track(video, tracker=tracker, classes=[0], stream=True, verbose=False):
if result.boxes.is_track:
ids.update(result.boxes.id.int().tolist())
print(f"{tracker}: {len(ids)} person IDs")Trong đoạn clip ngắn này, cả hai lần chạy đều gán 3 ID người, nên ghép theo diện mạo không tạo ra khác biệt; tính năng này hữu ích với video dài hơn, khi người rời khỏi khung hình rồi quay lại. Với cùng một nhóm người, số ID riêng biệt càng ít thì số lần chuyển đổi danh tính càng thấp, điều này ảnh hưởng đến các phép đếm ở các bước sau: hệ thống đếm người cấp ID mới cho khách hàng quay lại sẽ đếm người đó hai lần.
Các thuật ngữ liên quan#
- Nhận diện khuôn mặt: Xác định danh tính một người bằng cách so khớp embedding khuôn mặt của họ với thư viện người đã biết, sử dụng cùng loại embedding mà các bộ tạo có khả năng bảo toàn danh tính dùng làm điều kiện hóa.
- Quyền riêng tư dữ liệu: Che thông tin và ẩn danh chủ động loại bỏ danh tính, với mục tiêu ngược lại.
- Deepfake: Hoán đổi khuôn mặt sử dụng tính năng tạo nội dung bảo toàn danh tính mà không có sự đồng ý của đối tượng.










