HƯỚNG DẪN VỀ NỘI DUNG CUỘC THI AI – CHALLENGE NĂM 2020

Chủ đề: “Trí tuệ nhân tạo với giao thông thông minh”

  1. Giới thiệu chung

Chủ đề của cuộc thi AI-Challenge năm 2020 là “Trí tuệ nhân tạo với giao thông thông minh”.

Trong cuộc thi này, đội dự thi sẽ đếm số lượng xe theo mỗi loại xe di chuyển theo các hướng khác nhau trong video được ghi nhận từ camera giao thông tại Thành phố Hồ Chí Minh.

Bài toán này phục vụ việc phân tích lưu lượng xe trên các tuyến đường, từ đó hỗ trợ việc đề xuất và thiết kế các giải pháp nhằm giảm tắc nghẽn giao thông.

Nhằm hướng đến các giải pháp mang tính thực tiễn, có khả năng áp dụng vào thực tế, kết quả xếp hạng cuối cùng của các đội dự thi được đánh giá trên cả hai tiêu chí: tính chính xác (kết quả đếm số lượng xe mỗi loại) và tính hiệu quả (thời gian thực thi thuật toán).

Lời giải cơ bản cho cuộc thi: https://github.com/hcmcaic/ai-challenge-baseline

Trang nộp bài: aichcmc.ml


  1. Quy trình triển khai

2.1 Công bố hướng dẫn về chủ đề cuộc thi

Ban tổ chức công bố trên website cuộc thi hướng dẫn về chủ đề cuộc thi, bao gồm: mô tả bài toán cần giải quyết; một số ví dụ minh họa nội dung và kết quả tham khảo (mẫu) cho bài toán cần giải quyết; cách đánh giá độ chính xác của mỗi kết quả dự thi của các đội; công thức đánh giá về độ chính xác và tính hiệu quả của giải pháp; định dạng dữ liệu đầu vào khi xử lý; định dạng dữ liệu của kết quả khi nộp trên hệ thống chấm thi tự động; hướng dẫn cách nộp các lời giải của mỗi đội trên hệ thống và quy định về số lần nộp lời giải (trong mỗi ngày và trong toàn bộ vòng thi)…

2.2 Vòng sơ tuyển

Ban tổ chức công bố tập dữ liệu kiểm tra cho vòng sơ tuyển (test set A), gồm dữ liệu thử nghiệm nhưng không đi kèm đáp án. Các đội sẽ thử nghiệm giải pháp của mình nhằm có thể đạt được kết quả cao trên dữ liệu kiểm tra cho vòng sơ tuyển (test set A).

Mỗi đội sẽ chọn các giải pháp tốt nhất của mình cho dữ liệu kiểm tra trong vòng sơ tuyển (test set A) để nộp chính thức thông qua website cho Ban tổ chức. Mỗi đội có thể nộp tối đa 20 lời giải trên hệ thống trực tuyến và không quá 5 lời giải trong mỗi ngày. Số lượng lời giải nộp trong mỗi ngày được tính từ 0 giờ cùng ngày đến trước 0 giờ của ngày hôm sau.

Hội đồng giám khảo đánh giá, thẩm định kết quả của các đội dự thi. Dựa trên kết quả lời giải hợp lệ tốt nhất mà mỗi đội đã nộp (không nhất thiết phải là lời giải cuối cùng mà đội đã nộp), Ban tổ chức công bố danh sách các đội xuất sắc nhất để tham gia vòng chung kết.

Trong vòng sơ tuyển, kết quả được đánh giá dựa trên tính chính xác của thuật toán (kết quả đếm số lượng xe mỗi loại theo mỗi hướng di chuyển). Trong vòng sơ tuyển chưa xét đến yêu cầu về tính hiệu quả (thời gian thực thi thuật toán).

2.3 Vòng chung kết

Nhằm đánh giá và so sánh công bằng giải pháp của các đội dự thi trong vòng chung kết về tính chính xác và tính hiệu quả (thời gian thực thi), các đội vào vòng chung kết sẽ nộp giải pháp của mình ở vòng sơ tuyển cho Ban tổ chức để thực thi giải pháp này trên hệ thống của Ban tổ chức.

Giải pháp của đội bao gồm mã nguồn, các tập tin cấu hình cần thiết và các tập trọng số đã huấn luyện, đảm bảo có thể được thực thi thành công trên hệ thống máy tính của BTC. Quy cách nộp giải pháp cho Ban tổ chức sẽ được thông báo cụ thể đến các đội dự thi vào vòng chung kết.

Ban tổ chức sẽ thực thi giải pháp của mỗi đội và ghi nhận kết quả cùng thời gian thực thi đối với bộ dữ liệu kiểm tra ở vòng chung kết (test set B). Bộ dữ liệu ở vòng chung kết có định dạng và cấu hình tương tự với bộ dữ liệu kiểm tra ở vòng sơ tuyển (test set A).

Kết quả cuộc thi được đánh giá dựa trên kết quả về tính chính xác (kết quả đếm số lượng xe mỗi loại) và tính hiệu quả (thời gian thực thi) của giải pháp trên bộ dữ liệu kiểm tra ở vòng chung kết (test set B).


  1. Các mốc thời gian quan trọng
  • 10/07/2020: BTC công bố hướng dẫn về chủ đề cuộc thi. Các đội bắt đầu đăng ký tham gia với Ban tổ chức (đến hết ngày 24/08/2020)..
  • 05/08/2020: BTC cung cấp ví dụ minh họa, gồm dữ liệu và đáp án đi kèm.
  • 10/08/2020: BTC công bố tập dữ liệu kiểm tra của vòng sơ tuyển (test set A).
  • 10/08/2020: BTC mở server chấm điểm trực tuyến cho vòng sơ tuyển (test set A).
  • Từ 10/08/2020 đến hết ngày 05/09/2020: Các đội dự thi nộp các lời giải cho tập dữ liệu kiểm tra của vòng sơ tuyển (test set A) trên server chấm điểm trực tuyến.
  • 06/09/2020: BTC công bố danh sách các đội vào vòng chung kết.
  • Từ 06/09/2020 đến 10/09/2020: Các đội vào vòng chung kết nộp giải pháp của mình cho Ban tổ chức để thực thi giải pháp trên hệ thống của Ban tổ chức.
  • Từ 11/09/2020 đến 25/09/2020: BTC chấm thi vòng chung kết trên tập dữ liệu kiểm tra của vòng chung kết (test set B)..

  1. Mô tả cụ thể

4.1 Mô tả yêu cầu

Các đội dự thi sẽ phát triển thuật toán đếm số lượng xe thuộc bốn loại xe sau đây:

  • Loại 1: xe 2 bánh như xe đạp, xe máy
  • Loại 2: xe 4-7 chỗ như xe hơi, taxi, xe bán tải…
  • Loại 3: xe trên 7 chỗ như xe buýt, xe khách
  • Loại 4: xe tải, container, xe cứu hỏa

Mỗi video giao thông được ghi nhận tại một camera giao thông cụ thể. Trong mỗi video giao thông, BTC sẽ xác định một vùng quan sát (gọi là Region-of-Interest, viết tắt là ROI) và các hướng di chuyển (gọi là Motion-of-Interest, viết tắt là MOI):

  • Vùng quan sát (ROI) được biểu diễn dưới dạng một đa giác, giới hạn vùng không gian cần tập trung quan sát và xử lý để phát hiện phương tiện giao thông.
  • Hướng di chuyển (MOI) giúp xác định các làn xe di chuyển theo các hướng cụ thể khác nhau trong video.

Thuật toán của mỗi đội dự thi cần tự động phát hiện phương tiện giao thông (thuộc về một trong bốn loại xe nêu trên) tại thời điểm xe này rời khỏi vùng quan sát.

Ví dụ 1: trong ảnh minh họa, vùng quan sát (ROI) được xác định là tứ giác có viền đỏ. Có 2 hướng di chuyển (MOI), được thể hiện dưới dạng 2 mũi tên (màu xanh và màu vàng).

 

Ví dụ 2: trong ảnh minh họa, vùng quan sát (ROI) được xác định là đa giác có viền đỏ. Có 5 hướng di chuyển (MOI), được thể hiện dưới dạng 5 mũi tên.

 

4.2 Dữ liệu kiểm tra

Bộ dữ liệu kiểm tra: bao gồm 02 tập dữ liệu kiểm tra cho 02 vòng thi:

  • Test set A: được sử dụng trong vòng sơ tuyển, gồm khoảng 20-30 video, có độ dài tổng cộng từ 5 đến 10 tiếng. Mỗi video có thông tin mô tả cụ thể về vùng quan sát (ROI) và các hướng di chuyển (MOI) cần quan tâm xử lý. Mỗi video được ghi nhận từ một camera giao thông cụ thể. Có thể có nhiều video được ghi nhận tại cùng một camera giao thông nhưng ở các tình huống khác nhau (điều kiện chiếu sáng, thời tiết, thời điểm…)
  • Test set B: được sử dụng trong vòng chung kết, có cùng số lượng video, thông tin mô tả, định dạng và cấu hình tương tự với Test set A đã được sử dụng trong vòng sơ tuyển.

4.3 Định dạng lời giải

Lời giải của đội dự thi được nộp dưới dạng tập tin văn bản. In ra mỗi dòng của tập tin kết quả mỗi thời điểm có xe rời khỏi vùng quan sát (ROI). Xe được phát hiện ra phải thuộc về một trong bốn loại xe được chọn trong cuộc thi, và xe phải di chuyển theo một trong các hướng di chuyển (MOI) được quan tâm trong video.

Thông tin trên mỗi dòng trong tập tin kết quả có định dạng như sau:

<video_name> <frame_id> <movement_id> <vehicle_class_id>

trong đó:

<video_name>: tên của video (không có phần mở rộng – extension)

<frame_id>: số thứ tự của frame ảnh trong video tại thời điểm xe được đếm (khi rời khỏi vùng quan sát), bắt đầu tính từ 1. Dữ liệu video được xử lý ở mức 10 frame ảnh mỗi giây (10FPS).

<movement_id>: số thứ tự của hướng di chuyển (MOI)

<vehicle_class_id>: mã số loại xe được đếm trong video (có giá trị từ 1 đến 4, tương ứng với 4 loại xe đã được định nghĩa)

4.4 Cách đánh giá

4.4.1. Ở vòng sơ tuyển

Lời giải của mỗi đội được đánh giá dựa trên độ chính xác của việc đếm số lượng xe trong từng loại xe di chuyển theo các hướng khác nhau trong video.

Việc đánh giá độ chính xác của việc đếm số lượng xe được tiến hành như sau:

  • Mỗi video clip trong tập dữ liệu thử nghiệm (test set) được chia thành K đoạn (segment) đều nhau, mỗi đoạn có độ dài delta giây.
  • Gọi x[a, b, c, d] là số lượng xe (mà lời giải của mỗi đội tính ra) thuộc loại xe a (a=1, 2, 3, 4), di chuyển theo hướng b và rời khỏi vùng quan sát (ROI) trong đoạn (segment) thứ c (c=1, 2, …, K) của video thứ d.
  • Gọi y[a, b, c, d] là số lượng xe (trong đáp án) thuộc loại xe a (a=1, 2, 3, 4), di chuyển theo hướng b và rời khỏi vùng quan sát (ROI) trong đoạn (segment) thứ c (c=1, 2, …, K) của video thứ d.
  • Tính giá trị Root Mean Square Error

Giá trị RMSE cho phép đánh giá về số lượng xe bị đếm sai trung bình của từng loại xe theo mỗi hướng di chuyển trong mỗi đoạn (segment) của các video thử nghiệm. Giá trị RMSE càng nhỏ, kết quả của lời giải càng tốt.

 

4.4.2. Ở vòng chung kết

Ở vòng chung kết, việc đánh giá lời giải bao gồm cả tính chính xác (accuracy)tính hiệu quả (efficiency).

 

Điểm đánh giá tính chính xác (SAccuracy) được dùng để đánh giá tính chính xác của kết quả trên toàn bộ các video trong tập dữ liệu kiểm tra ở vòng chung kết (test set B).

Gọi RMSEmax là giá trị RMSE cao nhất của các đội trong vòng chung kết trên tập dữ liệu kiểm tra ở vòng chung kết (test set B).

Giá trị RMSE chuẩn hóa (Normalized RMSE) của mỗi đội = RMSE của đội / min {5, RMSEmax}

Giá trị SAccuracy được chuẩn hóa về đoạn [0, 1] theo công thức sau:

SAccuracy = max {0, 1 – Normalized RMSE của đội}

 

Điểm đánh giá tính hiệu quả (SEfficiency) phụ thuộc vào tổng thời gian thuật toán của mỗi đội hoàn tất việc xử lý toàn bộ các video trong tập dữ liệu kiểm tra ở vòng chung kết (test set B). Điểm SEfficiency được chuẩn hóa về đoạn [0, 1] theo công thức sau:

SEfficiency = max {0, 1 – Tổng thời gian xử lý / (5 × Tổng thời gian video) }

Như vậy, nếu tổng thời gian xử lý lớn hơn hay bằng 5 lần tổng thời gian của video thì điểm đánh giá tính hiệu quả (SEfficiency) sẽ bằng 0.

 

Điểm đánh giá kết quả của mỗi đội được tính trong đoạn [0, 100] theo công thức:

70 × SAccuracy + 30 × SEfficiency


  1. Nộp bài ở vòng chung kết
  • Mỗi đội được chọn vào vòng chung kết sẽ nộp bài làm của đội mình (mã nguồn, các mô hình đã huấn luyện, các tập tin cấu hình đi kèm…) cho Ban tổ chức dưới dạng docker image. Mỗi đội nên nộp thêm source code cùng docker file để Ban tổ chức build lại (khi cần).
  • Mỗi đội nộp một file tóm tắt (1-2 trang) trình bày phương pháp thực hiện: cách tiếp cận để giải quyết bài toán, các giải thuật đề xuất, và thông tin về việc huấn luyện (nếu có)...
  • Ban tổ chức sẽ thực thi bài làm mà đội đã nộp trên máy có cấu hình giống nhau để ghi nhận lời giải và thời gian xử lý, từ đó tính điểm đánh giá kết quả của mỗi đội.
  • Mỗi đội chuẩn bị, tinh chỉnh và cấu hình sẵn lời giải của đội mình trên docker image để đảm bảo việc thực thi thành công bài làm của đội mình theo quy định của Ban tổ chức.
  • Tập dữ liệu kiểm tra ở vòng chung kết (test set B) tương tự với tập dữ liệu kiểm tra ở vòng sơ tuyển (test set A):
    • Các tập tin mô tả cho mỗi video trong test set B được đặt tên giống với test set A.
    • Video thứ i trong test set B được ghi nhận từ cùng camera, cùng độ phân giải và điều kiện môi trường, cùng thông tin vùng quan sát (ROI) và các hướng di chuyển (MOI) với video thứ i trong test set A.
  • Hướng dẫn về cách nộp bài, quy định về việc xây dựng docker image, cùng với cấu hình và giới hạn của môi trường chạy docker được Ban tổ chức gửi đến các đội qua email.

Mọi thắc mắc về Cuộc thi AI Challenge, vui lòng liên hệ Ban tổ chức qua email ngothitutrinh@khoahoctre.com.vn hay điện thoại: 0985.534.745 (từ 8 giờ đến 21giờ hàng ngày)