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

Data Cleaning

Làm sạch dữ liệu tìm và sửa các tệp hỏng, bản sao trùng lặp, giá trị thiếu và lỗi nhãn trong tập dữ liệu trước khi huấn luyện. Nội dung đề cập kỹ thuật, công cụ và code.

Làm sạch dữ liệu, còn gọi là data cleansing hoặc data scrubbing, là quá trình tìm và sửa hoặc loại bỏ các bản ghi bị hỏng, trùng lặp, không đầy đủ, không nhất quán hoặc gán nhãn sai trong dataset. Trong học máy (ML), bước này diễn ra trước tiền xử lý dữ liệu và huấn luyện, vì model học mọi thứ có trong dữ liệu huấn luyện, kể cả lỗi. Bộ phát hiện được huấn luyện trên ảnh mà một nửa số xe đạp bị gán nhãn "xe máy" sẽ học sự nhầm lẫn đó; một tập kiểm thử có nhãn sai sẽ báo cáo sai chất lượng model. Làm sạch dữ liệu là thực hành cốt lõi của AI lấy dữ liệu làm trung tâm, phương pháp cải thiện model bằng cách cải thiện dữ liệu thay vì kiến trúc.

Vì sao chất lượng dữ liệu giới hạn model#

Lỗi dữ liệu làm giảm độ chính xác theo nhiều cách. Ví dụ gán nhãn sai dạy các ánh xạ đầu vào-đầu ra không chính xác và khiến model overfit khi ghi nhớ nhiễu. Các bản trùng lặp làm một số ví dụ có trọng số cao hơn; khi bản sao xuất hiện trong cả tập huấn luyện lẫn tập đánh giá, chúng gây ra rò rỉ dữ liệu, làm điểm số tăng giả tạo. Tệp bị hỏng khiến data loader lỗi hoặc bị bỏ qua âm thầm, còn tên lớp không nhất quán chia một danh mục thành nhiều danh mục. Benchmark cũng bị ảnh hưởng: một nghiên cứu trên 10 tập kiểm thử được sử dụng rộng rãi ước tính trung bình có ít nhất 3,3% ví dụ bị lỗi nhãn và ít nhất 6% ví dụ trong tập validation ImageNet bị lỗi nhãn. Khi chấm điểm bằng nhãn đã sửa, ResNet-18 vượt ResNet-50 khi tỷ lệ ví dụ kiểm thử bị gán nhãn sai ban đầu chỉ tăng thêm 6%.

Các tác vụ làm sạch dữ liệu thường gặp#

Dữ liệu dạng bảng thường được làm sạch bằng các thư viện như pandas, trong khi dataset thị giác cần kiểm tra tệp ảnh và annotation, từ pixel đến tọa độ bounding box. Có thể tìm ảnh gần trùng lặp bằng cách so sánh embedding, còn tìm kiếm vector giúp mở rộng việc so sánh lên hàng triệu ảnh.

  • Giá trị bị thiếu: Bản ghi có trường trống sẽ bị loại bỏ hoặc điền giá trị bằng phương pháp nội suy từ thống kê cột hoặc các láng giềng gần nhất. Trong dataset thị giác, ảnh không có tệp nhãn là trường hợp không rõ ràng, vì đó có thể là ảnh nền có chủ ý hoặc ảnh chưa được ai gán nhãn.
  • Bản trùng lặp và gần trùng lặp: Các tệp giống hệt từng byte có cùng hash. Bản sao đã đổi kích thước hoặc nén lại và các khung hình video liên tiếp thì không, nên cần dùng perceptual hash hoặc độ tương đồng embedding.
  • Tệp bị hỏng và không hợp lệ: Tệp tải xuống bị cắt cụt, định dạng không được hỗ trợ, chế độ màu không mong đợi và ảnh quá nhỏ có thể không giải mã được hoặc không chứa tín hiệu hữu ích.
  • Lỗi nhãn: Sai lớp, thiếu đối tượng và bounding box lỏng hoặc đặt sai vị trí là những lỗi tốn kém nhất trong dữ liệu thị giác có giám sát và khó phát hiện nhất bằng mắt.
  • Danh mục không nhất quán: Các cách viết như "Car" và "car", hoặc các lớp chồng lấn như "ô tô" và "phương tiện", được hợp nhất vào một hệ phân loại để mỗi khái niệm chỉ có một nhãn.
  • Giá trị ngoại lai: Các giá trị bất khả thi, chẳng hạn tuổi âm hoặc bounding box vượt ra ngoài biên ảnh, là lỗi cần sửa. Các trường hợp hiếm nhưng hợp lệ vẫn được giữ lại, vì model thường cần học chính những trường hợp biên đó.

Tìm lỗi nhãn bằng model#

Không thể mở rộng quy mô nếu rà soát thủ công mọi nhãn, vì vậy pipeline làm sạch dùng model đã huấn luyện để xếp hạng những nhãn cần kiểm tra. Confident learning, được triển khai trong thư viện mã nguồn mở cleanlab, sử dụng xác suất dự đoán ngoài mẫu từ cross-validation và đánh dấu các ví dụ mà model tự tin dự đoán lớp khác với nhãn được cung cấp. Con người vẫn đưa ra quyết định cuối cùng: trong nghiên cứu về tập kiểm thử nêu trên, người đánh giá từ cộng đồng xác nhận 51% ứng viên được thuật toán đánh dấu là lỗi nhãn thực sự.

Tự động hóa kiểm tra tệp#

Các bước kiểm tra cấp file đủ nhẹ để chạy trên mỗi lô dữ liệu mới, bên cạnh kiểm tra nhãn và cân bằng lớp được đề cập trong bài học Dataset Quality Control. Script sau tạo một thư mục nhỏ chứa một ảnh, một bản sao chính xác và một file bị cắt cụt, sau đó phát hiện bản sao và file lỗi bằng Pillow cùng hash nội dung:

import hashlib
from pathlib import Path

from PIL import Image

# A tiny image folder: one original, one exact copy, and one truncated download
folder = Path("images")
folder.mkdir(exist_ok=True)
Image.new("RGB", (640, 480), "orange").save(folder / "a.jpg")
(folder / "b.jpg").write_bytes((folder / "a.jpg").read_bytes())
(folder / "c.jpg").write_bytes((folder / "a.jpg").read_bytes()[:1000])

seen = {}
for path in sorted(folder.glob("*.jpg")):
    try:
        Image.open(path).load()  # decode every pixel; a truncated file raises OSError
    except OSError as error:
        print(f"{path.name}: corrupt ({error})")
        continue
    digest = hashlib.md5(path.read_bytes()).hexdigest()  # identical bytes give identical hashes
    if digest in seen:
        print(f"{path.name}: duplicate of {seen[digest]}")
    seen.setdefault(digest, path.name)

Script in ra b.jpg: duplicate of a.jpg và c.jpg: corrupt (image file is truncated (5 bytes not processed)). Việc giải mã hoàn toàn từng ảnh rất quan trọng, vì mở tệp chỉ đọc phần header và tệp bị cắt cụt vẫn có thể vượt qua bước đó. Ultralytics YOLO chạy các bước kiểm tra liên quan mỗi khi tạo cache nhãn cho dataset: lưu lại các tệp JPEG thiếu dấu kết thúc ảnh, xóa các dòng nhãn trùng lặp và bỏ qua các cặp ảnh-nhãn có ảnh nhỏ hơn 10 pixel, tọa độ nằm ngoài ảnh hoặc class id vượt quá số lớp trong YAML của dataset; sau đó báo cáo số lượng ảnh, ảnh nền và ảnh bị hỏng trong phần tóm tắt quét.

  • Tiền xử lý dữ liệu: Chuyển đổi dữ liệu vốn đã chính xác sang định dạng mà model yêu cầu, chẳng hạn thay đổi kích thước ảnh và chuẩn hóa giá trị pixel. Làm sạch dữ liệu quyết định dữ liệu nào là chính xác.
  • Data augmentation: Tạo ra các biến thể có chủ đích, chẳng hạn lật ảnh và thay đổi màu sắc, cho dữ liệu sạch trong quá trình huấn luyện.
  • Gán nhãn dữ liệu: Tạo nhãn cho dữ liệu chưa có nhãn, còn làm sạch dữ liệu kiểm tra và sửa các nhãn đã tồn tại.
  • Thiên lệch dataset: Dataset có thể không có lỗi nhưng vẫn đại diện thiếu cho một số điều kiện hoặc nhóm. Khắc phục thiên lệch đòi hỏi thu thập dữ liệu khác, điều mà chỉ làm sạch dữ liệu không thể thực hiện.

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