Nhận diện ngôn ngữ kí hiệu cho người khiếm thính
Xem dạng PDF1. Bối cảnh
Trong giao tiếp hàng ngày, người khiếm thính thường sử dụng ngôn ngữ ký hiệu (sign language) dễ biểu đạt thông tin. Tuy nhiên, rào cản lớn nhất là phần lớn cộng đồng không hiểu được ngôn ngữ này, dẫn đến khó khăn trong giao tiếp và hòa nhập xã hội. Với sự phát triển của thị giác máy tính (Computer Vision) và học sâu (Deep Learning), việc xây dựng một hệ thống nhận diện ngôn ngữ ký hiệu tự động trở nên khả thi. Trong cuộc thi này, thí sinh được yêu cầu xây dựng một hệ thống nhận diện ngôn ngữ ký hiệu (Sign Language Recognition) nhằm hỗ trợ người khiếm thị trong việc giao tiếp và tiếp cận thông tin. Hệ thống cần có khả năng phân loại các video ký hiệu thành các từ hoặc cụm từ tương ứng.
2. Mô tả bài toán
Cho một tập dữ liệu gồm các video biểu diễn các ký hiệu tay tương ứng với các từ hoặc cụm từ trong ngôn ngữ ký hiệu Việt Nam. Nhiệm vụ của bạn là xây dựng một mô hình phân loại hình ảnh để nhận diện ký hiệu tương ứng. Cụ thể, mô hình nhận đầu vào là:
$$X=\{I_{1},I_{2},...,I_{n}\}$$
với mỗi Ii là một hình ảnh tay đang biểu diễn ký hiệu. Mục tiêu là dự đoán nhãn yi tương ứng với từ hoặc mà tay đó biểu diễn:
$$\hat{y}_{i}=f_{\theta}(I_{i})$$
trong đó fθ là mô hình học sâu được huấn luyện.
3. Dữ liệu và mô hình baseline
Dữ liệu huấn luyện: Bộ video ngắn chứa các ký hiệu tay, được gán nhãn tương ứng (ví dụ: các từ như "An ủi", "Xin lỗi", "Cảm ơn", ...).
Dữ liệu kiểm thử: Tập video chưa biết nhân, dùng để đánh giá mô hình.
Thí sinh được cung cấp sẵn một mô hình cơ sở đã được huấn luyện sẵn trên imagenet CRNN một kiến trúc mạng nơ-ron tích chập 3 chiều (3D-CNN) được thiết kế cho nhận dạng hành động trong video (video action recognition). Ngoài ra, thí sinh cũng có thể sử dụng các mô hình pretrained khác được cho phép. Các mô hình được sử dụng được liệt kê tại đây
Các dữ liệu được chụp trong nhiều điều kiện ánh sáng, góc quay, những người thực hiện khác nhau và màu da khác nhau để đảm bảo tính đa dạng.
4. Yêu cầu
Huấn luyện mô hình phân loại hình ảnh/chuỗi hình ảnh nhận diện chính xác ký hiệu tay.
Kết quả đầu ra là nhãn của từ hoặc cụm từ tương ứng với video đầu vào.
Thí sinh được khuyến khích đề xuất thêm bước xử lý đầu vào (preprocessing) hoặc cải tiến mô hình để tăng độ chính xác.
5. Tiêu chí đánh giá
- Tổng thể (Macro-F1): Là giá trị trung bình của chỉ số F1 trên tất cả các lớp, giúp đánh giá cân bằng giữa Precision và Recall.
Với mỗi lớp i, các chỉ số được tính như sau:
$$Precision_{i}=\frac{TP_{i}}{TP_{i}+FP_{i}}$$
$$Recall_{i}=\frac{TP_{i}}{TP_{i}+FN_{i}}$$
$$F1_{i}=2\times\frac{Precision_{i}\times Recall_{i}}{Precision_{i}+Recall_{i}}$$
Trong đó:
TP (True Positive): số mẫu thuộc lớp dương (positive) được dự đoán đúng là positive.
TN (True Negative): số mẫu thuộc lớp âm (negative) được dự đoán đúng là negative.
FP (False Positive): số mẫu thuộc lớp âm nhưng bị mô hình dự đoán nhầm là positive.
FN (False Negative): số mẫu thuộc lớp dương nhưng bị mô hình dự đoán nhầm là negative.
và chỉ số Macro-F1 được định nghĩa:
$$Macro-F1=\frac{1}{N}\sum_{i=1}^{N}F1_{i}$$
trong đó N là số lớp.
6. Dữ liệu
Dữ liệu và baseline tham khảo có thể được tải về tại đây
7. Dataset và Submission Format
7.1 Cấu trúc Dataset
Bộ dữ liệu được cung cấp bao gồm hai phần chính: tập huấn luyện (train) và tập kiểm thử (test), cùng với một file ánh xạ nhãn.
dataset/
│
├── train/
│ ├── An ủi/
│ │ ├── xxx.mp4
│ │ ├── xxx.mp4
│ │ └── ...
│ ├── Ban ngày/
│ │ └── ...
│ ├── ...
│ └── Ủng hộ/
│
├── test/
│ ├── xxx.mp4
│ ├── xxx.mp4
│ └── ...
│
└── label_mapping.pkl
Chi tiết:
- train/: chứa dữ liệu huấn luyện, được chia thành 100 thư mục con, mỗi thư mục tương ứng với một lớp ký hiệu.
- Tên thư mục chính là tên lớp (class name).
- Mỗi thư mục chứa các video
.mp4thể hiện ký hiệu của lớp đó.
Ví dụ:
train/An ủi/chứa các video thuộc lớp An ủitrain/Cảm ơn/chứa các video thuộc lớp Cảm ơntrain/Xin lỗi/chứa các video thuộc lớp Xin lỗilabel_mapping.pkl: file ánh xạ giữa tên lớp (class name) và class_id nội bộ của hệ thống. File này có thể được sử dụng khi cần chuyển đổi giữa tên lớp và id số trong quá trình huấn luyện.
7.2 Nhiệm vụ dự đoán
Đối với mỗi video trong thư mục test/, mô hình cần dự đoán tên lớp (class name) tương ứng với ký hiệu trong video.
Các video trong test/ không có nhãn, vì vậy thí sinh cần thực hiện inference bằng mô hình đã huấn luyện.
7.3 Submission Format
File nộp bài phải có định dạng CSV với cấu trúc như sau:
| video_name | label |
|---|---|
| 239890_2.mp4 | Xa |
| 794299_2.mp4 | Thức ăn |
| 362778.mp4 | Đi |
| 681343.mp4 | Chạy |
Trong đó:
- video_name: tên file video trong thư mục test/
- label: tên lớp (class name) dự đoán cho video đó
Ví dụ:
video_name,label
239890_2.mp4,Xa
794299_2.mp4,Thức ăn
362778.mp4,Đi
681343.mp4,Chạy
7.4 Nén file submission
Sau khi tạo file CSV, thí sinh cần nén file này thành định dạng .zip trước khi nộp lên hệ thống.
Cách thực hiện trên Windows:
- Chuột phải vào file
.csv - Chọn Send to
- Chọn Compressed (zipped) folder
File nộp cuối cùng phải có cấu trúc:
submission.zip
└── submission.csv
7.5 Lưu ý
- File submission phải chứa dự đoán cho tất cả các video trong tập test.
- Giá trị trong cột label phải trùng chính xác với tên lớp trong dataset (ví dụ:
An ủi,Cảm ơn,Xin lỗi, ...). - Thứ tự các dòng trong file submission không bắt buộc, nhưng mỗi video chỉ được xuất hiện một lần.
Bình luận