Theo thống kê mới nhất, có đến 42 nhóm tham gia task này (năm ngoái chỉ có 32 nhóm mà thôi). Mỗi nhóm được submit tối đa 6 runs, nhưng số runs tổng cộng chỉ khoảng 200. Có một số nhóm chỉ submit 3, 4 runs mà thôi. Năm nay INRIA cũng có đăng kí tham gia nhưng cuối cùng không submit run nào. Kết quả của các runs sẽ có vào khoảng giữa tháng 9.
Cũng như mọi khi, tôi chỉ lao đầu vào làm 1 tuần trước khi deadline kết thúc. Năm nay, tôi vẫn sử dụng lại cách tiếp cận của năm ngoái, đồng thời thêm một số thay đổi nhỏ. Với các benchmark như TRECVID, tốt nhất là tìm cho mình con đường mà người khác chưa đi. Con đường mà nhiều người đã đi, thông thường là dùng SVM như là classifier, chọn feature thích hợp, ví dụ color hoặc SIFT, và sau đó là fusion. Nếu dùng SVM classifier, xem như ko có gì để nói vì khó có thể phát triển thêm cái gì hay ho về mặt lí thuyết. Do đó, phần còn lại là chọn feature và fusion.
Trong các runs của mình, tôi dùng lại cách tiếp cận năm ngoái, trong đó sử dụng 3 basic features, train với SVM classifiers và fusion bằng cách lấy trung bình score của 3 classifiers. Điểm khác năm ngoái là thay vì chỉ train 1 classifier cho mỗi feature, lần này tôi train 4 classifiers. Do đó, thời gian training và test tăng lên gấp 4 lần. Bên cạnh đó, tôi cũng thử một kiểu khác, đó là thay vì dùng SVM classifier (như nhiều người đã làm), tôi dùng kNN classifier. Có lẽ ít ai nghĩ tới kNN vì nó khá trivial, tuy nhiên với bài toán thực tế như TRECVID, cũng chưa biết SVM hơn kNN nhiều hay ít, và điều này đáng để thử nghiệm. Một điểm khác nữa là thay vì chỉ dùng 1 keyframe cho mỗi shot, tôi dùng đến 5 keyframes để xem denser keyframes/shot có ảnh hưởng lớn đến final performance hay không. Nói một cách tóm tắt, năm nay tôi muốn thử nghiệm 2 thứ: một là dùng kNN classifier, và hai là dùng denser keyframes/shot.
Khối lượng tính toán có thể tóm tắt như sau:
- số lượng classifiers: ~ 1,000 classifiers --> 480 svm classifiers và 480 knn classifiers (2 devel sets x 20 concepts x 3 features x 4 classifiers/feature).
- số lượng training keyframes: ~80,000 keyframes.
- số lượng testing keyframes: ~180,000 keyframes.
Lần này tôi xài cái server Windows mới 8 CPUs và server Linux 16 CPUs, chạy mất cả tuần mới xong. Tiếc là không thể làm thí nghiệm cho các loại features khác như SIFT. Tuy nhiên sure là các nhóm khác sẽ làm, do đó cũng sẽ có cái để so sánh. Với khối lượng tính toán lớn như vậy, dễ hiểu là tại sao Tsinghua Univ phải dùng đến 250 CPUs để chạy system của họ. Ngoài ra, đây cũng là lần đầu tiên tôi gặp vấn đề về disk space. Trước giờ chỉ cần khoảng 500GB đĩa cứng là không thành vấn đề. Lần này, cái đĩa 1Tetra chạy gần 1 ngày là hết sạch. Lí do là tôi muốn giữ lại tất cả các kết quả trung gian, nhưng với số lượng classifiers lớn, cộng với số lượng keyframes lớn, 1Tetra không đủ; làm tôi phải chỉnh lại chương trình để xóa bớt file trung gian đi. Có lẽ, lần này phải hỏi các bạn Tsinghua về dữ liệu của các bạn ấy được lưu trữ phân tán như thế nào.
Kết quả của các runs, có thể xem ở đây: http://satoh-lab.ex.nii.ac.jp/
Xét về thứ hạng của các runs, run của NII đứng khoảng gần 40, nhưng nếu xếp hạng về nhóm thì NII vẫn đứng trong top-10. Riêng type-a run thì NII đứng đầu, trên cả CMU.
Xong task này, task sắp tới của tôi là semantic search. Đây là lần đầu tiên tôi tham gia task này. Xem như sưu tập cho đủ bộ các tasks của TRECVID. Nhưng mà đúng là oải thiệt. Theo như tôi biết, chẳng có nhóm nào tham gia TRECVID mà chỉ có một người làm hết các tasks. Anyway, dù sao được tự do làm thứ mình thích cũng là niềm hạnh phúc lớn lao rồi.
Lê Đình Duy
Xem đầy đủ bài viết tại http://ledduy.blogspot.com/2009/07/trecvid-2008-concept-detection-task.html
No comments:
Post a Comment