Nhận Dạng Đối Tượng AI
Phát hiện và nhận dạng hơn 80 loại đối tượng trong ảnh bằng mô hình AI COCO-SSD. Phát hiện webcam thời gian thực, bounding box và điểm tin cậy. Miễn phí.
Giới Thiệu Nhận Dạng Đối Tượng AI
Nhận Dạng Đối Tượng AI sử dụng COCO-SSD, một mô hình phát hiện đối tượng đã được huấn luyện có thể nhận dạng 80 loại đối tượng khác nhau bao gồm người, phương tiện, động vật, đồ nội thất, điện tử và nhiều hơn nữa. Tất cả quá trình xử lý diễn ra trực tiếp trong trình duyệt bằng TensorFlow.js - không có ảnh nào được tải lên máy chủ.
Việc nhận diện đối tượng diễn ra trong trình duyệt của tôi hay ảnh sẽ được tải lên?
Toàn bộ nhận diện chạy cục bộ trong trình duyệt của bạn. Trọng số YOLO/MobileNet được tải xuống một lần qua Transformers.js hoặc TensorFlow.js, sau đó mỗi lần suy luận diễn ra phía client bằng WebGPU hoặc WebAssembly. Ảnh của bạn không bao giờ rời thiết bị — không tải lên, không xử lý phía máy chủ, không nhật ký. Điều này cực kỳ quan trọng với cảnh quay giám sát, ảnh y tế, ảnh giấy tờ tùy thân, hoặc bất kỳ hình ảnh nào thuộc phạm vi GDPR, HIPAA hay quy định bảo mật nơi làm việc. Lưu lượng mạng duy nhất sau khi tải mô hình ban đầu là HTML/CSS/JS tĩnh; bạn có thể kiểm tra bằng cách mở DevTools > Network, thả ảnh và xác nhận không có POST nào được gửi.
Tôi có thể thả những định dạng ảnh nào vào trình nhận diện?
Công cụ nhận mọi định dạng mà trình duyệt hiện đại có thể giải mã: JPEG, PNG, WebP, AVIF, GIF (khung đầu), BMP và SVG (sau khi rasterize). Nó cũng xử lý ảnh chụp màn hình từ clipboard và khung hình trực tiếp từ webcam. Bên trong, ảnh được vẽ vào canvas ẩn, đổi kích thước về đầu vào mô hình (thường 640x640 cho YOLO, 300x300 cho SSD-MobileNet, 320x320 cho EfficientDet-Lite), chuẩn hóa về số thực 0-1 hoặc -1 đến 1 tùy spec tiền xử lý, rồi đưa vào dưới dạng tensor. HEIC từ iPhone thường chạy trên Safari và Chrome mới; trình duyệt cũ có thể yêu cầu xuất sang JPEG trước.
Mô hình có thể nhận diện bao nhiêu lớp đối tượng?
Checkpoint mặc định được huấn luyện trên COCO, chứa 80 danh mục đời thường: người, xe đạp, ô tô, xe máy, máy bay, xe buýt, tàu hỏa, xe tải, thuyền, đèn giao thông, trụ cứu hỏa, biển dừng, chó, mèo, chim, ngựa, cừu, bò, voi, gấu, ngựa vằn, hươu cao cổ, ba lô, ô, túi xách, cà vạt, vali, frisbee, ván trượt tuyết, snowboard, bóng, gậy/găng bóng chày, ván trượt, ván lướt, vợt tennis, chai, ly rượu, cốc, nĩa, dao, thìa, bát, trái cây và đồ ăn, ghế, sô-pha, giường, bàn ăn, bồn cầu, TV, laptop, chuột, điều khiển, bàn phím, điện thoại, lò vi sóng, lò nướng, bồn rửa, tủ lạnh, sách, đồng hồ, lọ hoa, kéo, gấu bông, máy sấy tóc, bàn chải. Với chuyên ngành (y tế, bán lẻ, sản xuất, động vật hoang dã) bạn cần mô hình tinh chỉnh trên Open Images, LVIS hoặc tập riêng.
Vì sao trình nhận diện bỏ sót vật nhỏ hoặc bị che một phần?
Nhận diện vật nhỏ là điểm yếu kinh điển của các detector một lần như YOLO và SSD. Ảnh bị giảm mẫu về kích thước đầu vào cố định (640x640 cho YOLOv8), nên khuôn mặt 30 pixel trong ảnh 4K còn khoảng 5 pixel sau khi resize — thấp hơn độ phân giải mạng có thể xử lý. Che khuất (vật ẩn sau vật khác) cũng khó vì đặc trưng tích chập bị trộn lẫn. Giải pháp: dùng đầu vào độ phân giải cao hơn (YOLOv8x ở 1280x1280 giúp ích nhưng gấp đôi tính toán), cắt rồi nhận diện lại trên vùng quan tâm, chạy "tiled inference" chia ảnh thành các ô 640x640 chồng lấp, hoặc đổi sang detector hai giai đoạn như Faster R-CNN — chính xác hơn nhưng chậm hơn nhiều và hiếm khi có trong trình duyệt.

Điểm confidence và ngưỡng IoU thực sự có nghĩa gì?
Mỗi phát hiện có hai con số then chốt. Confidence (0-1) là xác suất ước lượng mà mô hình tin đối tượng tồn tại tại hộp dự đoán. Ngưỡng mặc định khoảng 0.25 giữ những phát hiện mà mô hình ít nhất khá chắc; nâng lên 0.5 cho đầu ra sạch hơn, hạ xuống 0.1 để bắt ca khó với cái giá là dương tính giả. IoU (Intersection-over-Union) điều khiển Non-Maximum Suppression: khi mô hình đề xuất hai hộp chồng nhau cho cùng đối tượng, NMS giữ hộp có confidence cao hơn và bỏ hộp kia nếu IoU vượt ngưỡng (mặc định ~0.45). Giảm IoU là tích cực hơn (ít trùng), tăng IoU cho phép nhiều hộp chồng nhau hơn — hữu ích cho đám đông nơi người chen lấn.
YOLO trong trình duyệt chính xác bằng phiên bản máy chủ không?
Bằng nhau về mặt số học ở cùng mức lượng tử hóa. Trình duyệt dùng cùng bản xuất ONNX hoặc TensorFlow.js của trọng số chính thức từ Ultralytics hoặc PyTorch, nên YOLOv8n lượng tử INT8 sẽ cho hộp bao và confidence giống hệt dù chạy ở Chrome, Node.js hay máy chủ Python. Thứ thay đổi là throughput: máy chủ NVIDIA A100 đạt hơn 1000 FPS ở 640x640, còn WebGPU trên MacBook M2 đạt 30-60 FPS, WebAssembly trên laptop 5 năm tuổi rớt còn 2-5 FPS. Cho nhận diện webcam thời gian thực, chọn biến thể YOLO "n" hoặc "s" nhỏ trên WebGPU.
Kiến trúc nhận diện nào được dùng — YOLO, SSD, EfficientDet hay DETR?
Mặc định là YOLOv8 (nano hoặc small) ở định dạng ONNX, một detector CNN không-anchor một lần dự đoán xác suất lớp và tọa độ hộp trong một lượt xuôi mỗi ảnh. YOLO đánh đổi chút độ chính xác lấy tốc độ rất lớn, điều thiết yếu trong trình duyệt. SSD-MobileNet có sẵn như phương án nhẹ hơn (mAP thấp hơn, nhanh hơn trên di động yếu). EfficientDet-Lite là tùy chọn TensorFlow.js với đường cong độ chính xác/tính toán tốt hơn trên COCO. DETR (DEtection TRansformer) là cấp nghiên cứu, chưa thực dụng trong trình duyệt do kích thước và độ trễ. Với hầu hết trường hợp, YOLOv8n 640x640 với WebGPU là điểm ngọt — khoảng 6 MB INT8, thời gian thực, 37+ mAP trên COCO.
Lượng tử hóa INT8 cho detector là gì và có ảnh hưởng độ chính xác không?
Lượng tử hóa chuyển trọng số mô hình từ số thực 32 bit sang số nguyên 8 bit, giảm file 4x (YOLOv8n từ khoảng 12 MB FP32 còn khoảng 3 MB INT8) và tăng tốc suy luận CPU 2x. Với nhận diện COCO, INT8 động thường mất 0.5-1.5 mAP — vô hình trên ảnh đời thường nhưng đo được trên bộ benchmark. INT8 theo kênh với calibration mất ít hơn nữa. INT8 còn kích hoạt tăng tốc WebNN/NPU trên thiết bị hỗ trợ (Snapdragon mới, Apple Neural Engine qua cầu Core ML web). Backend ONNX Runtime Web wasm-simd tự xử lý giải lượng tử khi chạy.
