Nguyễn Thanh Yên

Được mời tham dự “Cuộc đua số” do tập đoàn FPT tổ chức với vai trò bình luận viên công nghệ trong đêm chung kết là một việc khá bất ngờ với cá nhân tôi. Quả thực, rất nể một người bạn tôi mới đồng ý nhận lời, vì từ lâu tôi đã có định kiến không tốt về những cuộc thi công nghệ dành cho sinh viên như thế này, nhất là cuộc thi đề cập tới chủ đề gây nhiều chú ý gần đây, xe tự lái.
Có đúng một ngày tìm hiểu khía cạnh công nghệ trong “cuộc đua số” để cung cấp thông tin cho khản giả trong khoảng 40 phút thi đấu trên sân khiến tôi không khỏi lo lắng. Bỏ qua 40 phút “diễn hài” trên sân khấu; tôi gọi vui là diễn hài vì tôi chưa có kinh nghiệm làm việc tương tự, và đến bây giờ khi xem lại đoạn băng hình ảnh của đêm chung kết thì tôi tự nhận thấy những câu nói của tôi hôm đó là ngô nghê và rất ít hàm lượng công nghệ; thời gian một ngày được tiếp xúc, quan sát các em sinh viên chạy thử và thi đấu đã thôi thúc tôi phải làm một điều gì đó. Cho tới khi nhận được gợi ý từ anh Phan Phương Đạt về một bài viết “technical review” cho cuộc thi, thì tôi đã mường tượng ra mình cần phải làm gì. Rất cám ơn anh Phan Phương Đạt về lời đề nghị này!

Mô hình xe không người lái của cuộc thi (Nguồn: BT)

Vậy là, tôi liên lạc ngay với người bạn mới quen của tôi, một chuyên gia về “computer vision”, người đã đồng hành với cuộc đua số từ những ngày đầu, chị Hà, tiến sỹ ở Pháp, hiện đang công tác ở Đại học Tự Nhiên, Đại học Quốc Gia Hà Nội, để bàn về ý tưởng viết một bài đánh giá mang tính chất chuyên môn về cuộc thi. Tuy nhiên, khi bắt tay vào viết, tôi và chị Hà đã khá lúng túng, nên chọn hình thức viết như thế nào để làm rõ hơn và đánh giá được một cách khách quan về tính công nghệ của cuộc thi? Cũng như làm sao có thể xác định được vị trí công nghệ của các bạn sinh viên tham gia cuộc thi đang ở mức nào? Cuối cùng, tôi và chị Hà đã quyết định chọn hình thức viết tự do, như ghi lại cuộc trao đổi giữa tôi và chị Hà về “cuộc đua số”.

Qua một đêm đọc tài liệu của ban tổ chức (BTC) gửi, tôi hiểu rằng nền tảng phần cứng mà BTC đưa cho các bạn sinh viên rất hạn chế ở phần điều khiển, cái mà tôi nghĩ, thiếu nó mình sẽ chẳng có gì để bình luận vào ngày mai. Cụ thể, phần cứng mà BTC đưa ra là một chiếc xe mô hình mua từ Trung Quốc, có một động cơ điện điều khiển phần dẫn động cho cả 4 bánh, có cầu vi sai để tự động điều chỉnh tốc độ bánh xe khi vào cua nhưng thực chất các bạn sinh viên sẽ không thể chủ động điều khiển tốc độ vòng quay khác nhau cho 4 bánh xe. Riêng điều này thôi đã biến chiếc xe mô hình thành “đồ chơi” đúng nghĩa, tức là nó không cho phép thực hiện đúng phần điều khiển dẫn động như trên thực tế của một chiếc xe. Các bạn sinh viên không thể thực hiện được việc thay đổi cách vận hành cho chiếc xe của mình chủ động dẫn động sau hoặc dẫn động trước như đáng lý phải có trên một chiếc xe thật. Phần giảm sóc cũng có thể xem là của xe “đồ chơi”. Việc này dẫn đến hệ quả là với tốc độ cao và bố trí tải không đồng đều trên hai trục thì chiếc xe sẽ “bốc đầu” ngay sau khi khởi động. Tôi cũng nghĩ tới hình ảnh khi vào cua chiếc xe sẽ lắc lư như người say rượu nếu các bạn sinh viên không biết cách áp dụng lý thuyết điều khiển tự động trong việc điều chỉnh thông số tốc độ và góc lái. Nhưng nếu các bạn sinh viên biết về việc này, có thể các bạn sẽ có những cách sáng tạo riêng để chiếc xe chạy mượt mà khi vào cua và không bị bốc đầu. Đây là những điểm tôi háo hức xem các bạn sinh viên giải quyết.

Đóng vai trò là người bảo trợ kỹ thuật phần xử lý hình ảnh trong cuộc đua số, chị Hà có nhận định thêm gì không?

[Chị Hà] Vâng anh Yên, ở cuộc đua này mục đích của BTC là tạo sân chơi cho sinh viên ngành “Công nghệ thông tin”, là một dịp để sinh viên công nghệ thông tin thể hiện kiến thức đã học được trong một ứng dụng đang nổi lên hiện nay trên thế giới cũng như ở Việt Nam – thiết bị tự hành. Do đó, BTC đã cung cấp module điều khiển cơ bản và ổn định cho sinh viên và nhiệm vụ chính của sinh viên là sử dụng các kiến thức về lĩnh vực “computer vision”, trí tuệ nhân tạo, v.v. nhằm xử lý các hình ảnh thu được từ camera nhằm xác định nhanh và chính xác nhất mục tiêu/vị trí/cách thức xe di chuyển.

Cám ơn chị Hà đã giải thích thêm về mục tiêu tổ chức cuộc thi này, như vậy rõ ràng chúng ta có thể kỳ vọng thêm việc các bạn sinh viên sẽ đưa ra hướng giải quyết những vấn đề như: nếu chỉ bám tâm đường thì gặp vật cản sẽ xử lý thế nào, nếu mất thông tin về vạch làn đường thì phần mềm của các bạn sẽ ra chỉ thị gì cho chiếc xe, vv…
Mặc dù, phần nào đã bị thuyết phục bởi mục tiêu BTC đưa ra, nhưng trong thâm tâm tôi vẫn mong muốn nếu được, BTC cung cấp một nền tảng phần cứng có nhiều lựa chọn hơn cho phần điều khiển xe, biến chiếc xe “đồ chơi” thành mô hình xe thực thụ để các bạn sinh viên có thể tiếp cận và thực hành kỹ thuật “hardware in the loop” tiêu chuẩn, kỹ thuật rất phổ biến trong lĩnh vực thiết kế ô tô hiện nay. Như vậy các bạn sẽ tập được tư duy tổng thể của việc tạo ra một chiếc xe tự lái sẽ thách thức thế nào; tránh việc ngộ nhận rằng chỉ cần giỏi phần mềm là sẽ giải quyết được hết hoặc “lạc quan tếu” là: à, xe tự lái cũng không có gì là khó cả.

18403474_1304354979599890_1696055522919417959_n
Các thí sinh cho xe chạy trong vòng chung kết Cuộc đua số (Ảnh: BTC)

Ngoài ra, một điều thú vị mà tôi thu được sau khi trao đổi thêm với chị Hà đó là các kĩ thuật xử lý ảnh không đơn giản chỉ dừng lại ở mức chỉnh sửa và làm cho một bức ảnh đẹp hơn/phù hợp với nhu cầu hơn. Vâng, xin nhường lời cho chị Hà.

[Chị Hà] Xử lý ảnh hay nhìn máy (computer vision) là một lĩnh vực rộng, bao gồm nhiều ứng dụng khác nhau tuỳ theo yêu cầu và mục đích cụ thể. Một trong những mục đích của xử lý ảnh đó là phân tích hình ảnh đầu vào từ đó hiểu được nội dung/ý nghĩa của cảnh có trong ảnh (scene understanding). Để xe có thể “hiểu được” các thành phần trong video thu được, ví dụ như đâu là đường, đâu là vật cản, v.v thì các kĩ thuật xử lý hình ảnh, học máy cần phải được áp dụng.

  • Với trẻ con, để nó đi được đúng đường cũng phải mất quá trình “dạy” cho trẻ “đường là gì”. Với xe cũng vậy, các thuật toán học máy được áp dụng giúp xe định nghĩa đâu là đường, đâu là vật cản; phải nói thêm là các thuật toán học máy này được học trên dữ liệu ảnh.
  • Dưới góc độ chuyên sâu, có rất nhiều các phương pháp học khác nhau, cũng như có rất nhiều thuật toán khác nhau để giải quyết một bài toán, tuy nhiên để đảm bảo tốt được tốc độ xử lý trên video (30 hình/giây); các thuật toán cần phải được tối ưu rất nhiều về cả thời gian tính toán cũng như độ chính xác. Đôi khi sinh viên sẽ cần phải lựa chọn/có chiến thuật trong trường hợp nào sẽ cần tối ưu thời gian và trường hợp nào sẽ cần tối ưu độ chính xác.
  • Sau khi xe “hiểu được” đường và xác định được điểm cần di chuyển (tâm đường), thì không có nghĩa xe có thể đi được đúng tâm đó. Lý do có thể do quá trình truyền/xử lý dữ liệu giữa không được tốt, khi đó có thể xe đi lệch làn một chút, dẫn đến video thu được trong giai đoạn sau ko có đủ thông tin để xác định làn/tâm đường. Trong trường hợp đó, sinh viên phải sử dụng một số kĩ thuật khác ví dụ các kĩ thuật nội suy để xác định tâm mới dựa trên thông tin đã biết v.v
  • Trong mỗi video thu được, có cả vật cản, việc xác định và đưa ra quyết định nên tránh và tránh như thế nào cũng cần một quá trình ‘đào tạo’ cho xe; để từ đó tuỳ thuộc vào từng tình huống xe có thể tự đưa ra quyết định nên đi/tránh như thế nào v.v

Rất cám ơn chị Hà về chia sẻ mang đậm tính công nghệ của chị, tôi rất hy vọng những chia sẻ của chị sẽ giúp ích những người ngoại đạo như tôi hiểu thêm về lĩnh vực rất thú vị này. Bây giờ tôi sẽ cùng với chị nhìn lại, và đánh giá thực tế diễn ra trên sân thi đấu của các đội thi lọt vào vòng chung kết.

Đội đầu tiên tôi muốn nói tới là đội Seboys, tới từ trường Đại học Công nghệ thông tin, thành phố Hồ Chí Minh. Đây là đội thi tôi khá ấn tượng vì các bạn hoàn toàn không có kiến thức về phần cứng cũng như lý thuyết điều khiển ô tô, hơn nữa các bạn mới chỉ là sinh viên năm thứ 2, kiến thức về đại số tuyến tính, tích chập, nhân ma trận là khá xa lạ với các bạn. Nhưng các bạn đã làm được chiếc xe lăn bánh bằng tất cả khả năng xoay sở. Các bạn tin ngây thơ là nền tảng và thư viện BTC cung cấp sẽ rất đơn giản, không thể làm được gì cả vì nếu BTC cung cấp chiếc xe chạy được rồi thì còn nói làm gì nữa. Như vậy, với đội này tôi nghĩ các bạn bằng cách gì đó làm chiếc xe chạy được đã là thành công rồi. Cái các bạn học được chính là sự tự tin về xe tự hành hay là kỷ niệm về cảm giác hạnh phúc khi thầy giáo giao chìa khóa phòng để làm việc xuyên đêm. Nhưng lớn hơn cả là qua việc tham gia cuộc thi này, các bạn tiếp thu được những kiến thức nền tảng mà chị đã bỏ công ra để viết cho các bạn. Chị Hà cũng chia sẻ chị rất vui “Khi nghe các em nói về việc tự học các kiến thức xử lý ảnh qua tài liệu BTC cung cấp; tự tin hơn sau khi đã được trải nghiệm thực tế trong việc làm sao cho con xe chạy, các em đã chứng tỏ được khả năng tự học rất tốt”.

Tiếp đến là đội BKAKID tới từ trường Đại học Bách khoa Hà nội. Đây là đội có thành phần phong phú nhất bao gồm thành viên tới từ khoa Cơ điện tử, Điện tử viễn thông, Toán tin và Công nghệ thông tin. Tuy có thời gian làm việc ngắn, các bạn chỉ có hai tuần để làm việc với chiếc xe nhưng các bạn đã có những suy nghĩ rất táo bạo về việc áp dụng kỹ thuật học máy (machine learning), hay như đề xuất các phương án chống nhiễu của môi trường, và các bạn có thể điều khiển xe khi chỉ có thông tin của một vạch làn đường. Nhưng rất tiếc kết quả thực tế là chiếc xe các bạn chỉ qua được khúc cua đầu tiên, sau đó là mất làn và đi ra ngoài.

Một đội nữa mà tôi khá thích thú là các bạn đến từ Học viện Công nghệ Bưu chính viễn thông, đội thi mang cái tên mang tính tốc độ cao, đôi Tên lửa. Các bạn chia sẻ rất thẳng thắn là các bạn không mạnh về kiến thức phần cứng nên các bạn đã rất vui sướng khi thấy kết quả của việc tự mày mò thay đổi code phần điều khiển để làm cho chiếc xe mô hình lăn bánh. Nhưng ấn tượng của tôi về các bạn lại chính là sự tự tin về công nghệ xử lý hình ảnh các bạn đang có, tôi rất tôn trọng việc các bạn quyết định không chia sẻ với tôi về các giải thuật các bạn sử dụng trong đêm chung kết. Tôi mong sẽ được chứng kiến một tốc độ như tên gọi của đội trên đường đua, nhưng rất tiếc tôi đã không được chứng kiến việc đó khi chiếc xe của các bạn đã không thể hiện tốt, gần như là chiếc xe không chạy được chút nào.

Với các bạn đội Techcolor, đến từ Đại học công nghệ, Đại học Quốc gia Hà nội, tôi đã thật sự ấn tượng về cách các bạn làm việc, đậm chất kỹ sư. Các bạn phân tích logfile rất kỹ để có những điều chỉnh trong thuật toán, gần như mọi quyết định thay đổi đều dựa trên phân tích kỹ kết quả từ logfile và đối chiếu với kết quả nhận được từ thực tế khi thử nghiệm trên xe mô hình. Tiếc là các bạn đã không lọt vào vòng thi đấu thứ hai trong đêm chung kết.

Tiếp xúc với đội Alpha one tới từ Đại học FPT thì đó thực sư là một bất ngờ với tôi, các bạn mới là sinh viên năm đầu, chắc hẳn bảng mạch điện, lý thuyết điều khiển xe là những vẫn đề còn rất mới lạ với các bạn, nhưng các bạn đã rất xứng đáng vượt qua vòng đầu tiên và lọt vào vòng đấu loại trực tiếp. Là một kỹ sư tôi ấn tượng với cách các bạn tiếp cận vấn đề, rất chuyên nghiệp, các bạn bắt đầu bằng các thư viện sẵn có, OpenCV, sau đó các bạn đã cải tiến một số hàm cho phù hợp với bài toán của các bạn. Theo kinh nghiệm của tôi, đây là cách tiếp cận rất thực tế khi làm nghiên cứu khoa học, chúng ta thường bắt đầu bằng việc nghiên cứu những vấn đề đã có, tìm ra được một lĩnh vực mình nghĩ có thể làm tốt hơn và tiến hành cải tiến.

Còn với đội LHU Racing, đến từ trường Đại học Lạc Hồng, các bạn đã thực sự gây ấn tượng với mọi người bằng sự thay đổi về cấu trúc của xe, dường như chiếc xe của các bạn nhìn nhỏ gọn và chắc chắn hơn rất nhiều so với chiếc xe ban đầu của BTC. Chắc hẳn đây là ý kiến của các thành viên có kiến thức tốt về điều khiển tự động, với chiếc xe như vậy, cộng thêm một chút mẹo trong việc xác định tâm đường, các bạn gần như sẽ không cần lo lắng quá nhiều việc giảm tốc hay phải đánh lái khi gặp vật cản. Tuy nhiên khi tới vòng đấu loại trực tiếp, các bạn sẽ cần điều chỉnh lại tốc độ của chiếc xe khi địa hình đã thay đổi khá nhiều so với vòng thi đấu đầu tiên. Đó có thể gây khó khăn cho các bạn khi quyết định phương án nào là tối ưu dẫn tới việc các bạn đã không thể có mặt trong trận chung kết.

18-6829-1494426851
Chiếc xe của MTA-Racer (Học viện Kỹ thuật Quân sự) đã chiến thắng chung cuộc. (Ảnh: BTC)

Chúng ta vừa nhìn lại kết quả của 6 đội lọt vào vòng chung kết và đều dừng bước trước trận chung kết. Còn lại hai đội: CDIO tới từ trường Đại học Bách khoa, thành phố Hồ Chí Minh và MTA Racer tới từ trường Học viện Kỹ thuật quân sự; họ là hai đội xuất sắc của đêm chung kết. Tôi đã rất tiếc cho các bạn CDIO, giá như các bạn giữ được đúng những gì diễn ra trong trận bán kết thì trận thi đấu chung kết đã thật sự hoàn hảo. Một chi tiết bên lề, các bạn MTA Racer tiết lộ, thời gian ở vòng loại, chỉ khi thấy các bạn ở thành phố Hồ Chí Minh công bố đoạn video nhỏ về chiếc xe chạy được lên đường link của BTC thì các bạn MTA Racer mới thực sự quyết tâm chạy bằng được chiếc xe của mình. Do đó, trận chung kết với sự góp mặt của hai đội này cũng là một sự ngẫu nhiên rất thú vị.

Việc các bạn MTA Racer trang trí chiếc xe của mình, theo tôi mang tính biểu tượng nhiểu hơn, một đặc trưng dễ mến của các bạn Lính; còn các bạn đội CDIO đã thiết kế thêm hộp nhựa để đặt pin chắc chắn trên chiếc xe, tôi nghĩ các bạn đã có ý đồ rất tốt cho việc phân bổ đều trọng lực cho chiếc xe. Cơ sở để tôi nhận xét như vậy là vì các bạn CDIO đã tranh luận rất sòng phẳng với tôi về trọng lực xe, về ưu điểm của dẫn động sau và dẫn động trước và còn cả về vòng hồi tiếp, về việc chiếc xe sẽ rất dễ chạy ra khỏi quỹ đạo nếu chỉ đơn giản là so sánh khung hình tại thời điểm t-1 so với khung hình tại thời điểm t để quyết định góc lái vì nếu thông tin t-1 đã bị lệch so với thông tin t-2 rồi thì delta sai số sẽ càng ngày càng lớn. Rất tiếc là tôi không có đủ thời gian để tìm hiểu tiếp làm thế nào các bạn điểu khiển delta sai số luôn trong phạm vi điều khiển được, nghĩa là tính toán như thế nào để đạt tới độ ổn định của vòng hồi tiếp. Tôi có thể khẳng định kiến thức học trên sách vở của các bạn về điều khiển và động lực học đã thực sự được áp dụng thực tế ở cuộc thi này. Mỗi khi vào vòng cua hay lên dốc, chiếc xe của các bạn đã chạy rất mượt mà, việc này khác hoàn toàn với hình ảnh chạy như say rượu mỗi khi đến khúc cua nếu không có kiến thức tốt về điều khiển. Ở phía các bạn MTA Racer, chiếc xe của các bạn cũng chạy rất chắc chắn, ổn định và mượt mà ở khúc cua, tôi nghĩ điều này chắc chắn có sự góp sức không nhỏ của các bạn sinh viên đến từ chuyên ngành tự động hóa trong đội.

Thay cho phần kết luận, tôi chia sẻ ý kiến của một bạn đang làm nghiên cứu ở bộ phận tôi đang công tác về khái niệm Deep Reinforcement Learning và Recurrent Neural Network ứng dụng trong xe tự hành để chúng ta cùng nhìn lại và có một đánh giá đúng đắn về kết quả của cuộc đua này, cũng như định vị rõ chúng ta đang ở đâu trong trào lưu xe tự hành.

[Nguyễn Cát Tiểu Giang] Để có được một xe tự hành, máy cần sở hữu những skills thuộc 3 nhóm skills chính, có thể đem so sánh với độ trưởng thành của trẻ như sau:

  1. Recognition: Nhận dạng hình ảnh (2-3 tuổi)
  2. Prediction: Dự đoán tình huống dựa vào thông tin từ 1 (4-16 tuổi)
  3. Planning: Lên kế hoạch ứng phó với tình huống dựa vào thông tin 1 & 2 (trên 16 tuổi)

Deep Reinforcement Learning (DR) là mô hình máy học (learning model) phục vụ cho nhóm skills số 3. Ví dụ đơn giản cho dễ hiểu, trong tình huống cụ thể, như là xe máy cách ô tô 30 cm, vận tốc là 20 km/h, dừng hay đi tiếp? Mình không cho máy biết là nó phải dừng. Tự máy đưa ra quyết định (ngẫu nhiên theo xác suất): đi tiếp => đâm, trừ điểm; dừng => không đâm, cộng điểm. (Quá trình này không nhất thiết làm thật, nếu bước prediction (2) làm tốt thì máy sẽ chỉ học với mô hình dự đoán là đủ). Sau nhiều lần, máy tự nhận thấy không đâm mới được điểm cao, không quyết định ngẫu nhiên nữa mà quyết định sao cho không đâm để ăn điểm. Vào một lần khác (không training, đi thật) ô tô 40 cm, vận tốc 30 km/h  máy  giả lập theo 2 và muốn ăn điểm nên dừng lại chính là kết quả ta đạt được. Sau mỗi lần sai hoặc đúng máy lại “củng cố” hiểu biết của mình là nghĩa của từ “reinforcement”.

Còn RNN là Recurrent Neural Network phục vụ cho nhóm skills thứ 2. “recurrent” là mang nghĩa là tái diễn. Trong Neural Network (NN) thông thường các nhân tố đầu vào được cho là độc lập, không liên quan đến nhau. Nhưng ở RNN thì máy cho rằng nhân tố đầu vào liên quan đến nhau (tái diễn). Lại lấy ví dụ về cái xe ở trên. NN thông thường bắt khoảnh khắc chiếc xe tại lúc xe máy cách ô tô 30 cm, v = 20 km/h. RNN lưu cả lúc trước đó vài giây (hoặc ms) để biết xe đang tăng hay giảm tốc để dự đoán. Ví dụ, xe đang giảm tốc từ 60 km/h xuống 20 km/h, máy sẽ dự đoán là còn giảm tiếp => không đâm; xe đang đi với vận tốc đều hoặc tăng từ 0 lên 20 km/h => sẽ đâm. Nên kết quả của RNN thường sẽ chính xác hơn NN thông thường.

Lưu ý là RNN khác với DRL ở chỗ, RNN chỉ đưa ra dự đoán tình huống còn DRL đưa ra quyết định. Vì tình huống trong thực tế đa dạng, không dừng lại ở việc đâm hay không đâm mà đôi khi là chắc chắn đâm thì sẽ đâm vào đâu để giảm thiệt hại. Nên cần có DRL để máy tự đưa ra quyết định chứ không phải người lập trình có thể viết hết các quy tắc (rule) cho máy làm.

Ở đây, mặc dù BTC cố ý giới hạn cuộc thi ở kỹ thuật lập trình xử lý hình ảnh nhưng thực tế đã chứng minh rõ ràng là chỉ riêng phần mềm thôi chưa đủ mà cần có một nền tảng vững chắc về ngành, tư duy tổng thể bao gồm cả phần cứng và phần mềm thì mới có thể tạo ra một sản phẩm hoàn thiện. Đơn cử việc các bạn lúng túng trong việc khởi động chiếc xe, hình ảnh các bạn phải bê xe về đội để nạp lại code nhiều lần hay ở vạch xuất phát, các bạn để chiếc xe hơi lệch sao cho chiếc xe được đặt song song nhất với hai vạch làn đường, nghĩa là chiếc xe gần như ngay lập tức quyết định đi thẳng chứ không phải quyết định đánh lái vv… đủ để thấy ở cuộc thi này chúng ta hoàn toàn chưa thấy bóng dáng một sản phẩm xe tự hành hoàn chỉnh, dù đó chỉ là một chương trình phần mềm. Và ngay cả với kỹ thuật xử lý hình ảnh thì qua cuộc thi này chúng ta cũng đồng ý với nhau rằng còn rất nhiều việc phải làm, ở đây gần như thiếu hoàn toàn những kiến thức sơ đẳng nhất về kỹ thuật học máy, cuộc thi mới chỉ dừng lại ở mục tiêu là cơ hội cho các bạn thực hành, trải nghiệm, làm quen công nghệ và rõ ràng là còn một khoảng cách xa nữa để có thể áp dụng hiệu quả công nghệ vào bài toán thực tế cuộc sống, và cũng sẽ còn rất xa nữa mới có những sáng tạo, cải tiến đột phá trong lĩnh vực này.

Nhưng hy vọng vào một ngày sẽ xuất hiện một chiếc xe tự lái do người Việt Nam chế tạo là có cơ sở nếu chúng ta, cả phía đào tạo và phía doanh nghiệp, cùng chung tay, cùng phối hợp với nhau, nghiêm túc hành động cho một mục tiêu chung. Cuối cùng, tôi xin được chúc chị thêm nhiều sức khỏe và nhiều động lực, đóng góp nhiều hơn cho sự phát triển lĩnh vực computer vision mà chị đã, đang và tiếp tục theo đuổi.

Thể lệ chương trình Cuộc đua số 2016-2017 với chủ đề xe không người lái do FPT chủ trì tổ chức gồm hai vòng thi, vòng sơ khảo và vòng chung khảo. Tại vòng sơ khảo, các đội vượt qua phần kiểm tra năng lực xử lý hình ảnh và phần kiểm tra kỹ năng lập trình nhanh với tổng số điểm cao nhất sẽ đại diện cho trường tham gia thi đấu vòng chung khảo. Tám đội lọt vào vòng chung khảo sẽ được ban tổ chức cung cấp xe đua mô hình cùng với bộ thư viện các thuật toán cơ bản và một chương trình mã nguồn mở cho phép xe chạy được trên đường cong với địa hình đơn giản và tránh được các vật cản bằng thuật toán, từ đó làm cơ sở để xác định đường đi. Nhiệm vụ của các đội thi là sử dụng kiến thức trong lĩnh vực lập trình, xử lí ảnh, trí tuệ nhân tạo để lập trình xử lý thuật toán nhận dạng đường đi tối ưu ở hai tiêu chí độ chính xác và thời gian tính toán, giúp xe có thể di chuyển với tốc độ cao nhất.Ở vòng chung khảo có hai vòng thi; vòng 1 với sa hình được báo trước, kết quả được tính theo thời gian ngắn nhất hoàn thành một vòng đua hòan chỉnh, nếu đội thi không hoàn thành được trọn vẹn một vòng đua, kết quả sẽ được tính theo quãng đường xa nhất đội đó đi được. Trong trường hợp 2 đội có cùng quãng đường, đội có thời gian hoàn thành ngắn hơn được tính kết quả cao hơn. Bốn đội có kết quả cao nhất của vòng 1 sẽ tiếp tục tham gia vòng 2 với hình thức đấu loại trực tiếp: đội có kết quả cao nhất vòng 1 đấu với đội có kết quả thấp nhất; Đội có kết quả cao thứ 2 đấu với đội có kết quả cao thứ 3. Hai đội thắng cuộc tiếp tục thi đấu để tìm ra đội vô địch. Các đội thi đấu trên sa hình bí mật , được công bố 01 ngày trước trận chung kết. Thời gian thi đấu tối đa cho một trận là 03 phút, đội thắng cuộc là đội hoàn thành hết 2 vòng đua trước; trong trường hợp 2 đội đều không hoàn thành được 2 vòng đua, kết quả được tính theo quãng đường xa nhất đội đó đi được (trong một lần khởi động xe), đội đi được xa hơn là đội thắng cuộc. Trong trường hợp 2 đội có cùng quãng đường, đội có thời gian hoàn thành ngắn hơn là đội thắng cuộc.

Giải thưởng cao nhất dành cho đội chiến thắng chung cuộc là một chuyến sang Mỹ khám phá một trong những cái nôi công nghệ lớn nhất của thế giới – Thung lũng Silicon của Mỹ. Ngoài ra, các đội tham gia thi đều có cơ hôi nhận được các phần thưởng giá trị khác từ 700 triệu giá trị tiền thưởng của cuộc thi.