CƠ SỞ LÝ THUYẾT
Tổng quan về xe tự hành
Ô tô tự lái, hay còn gọi là ô tô tự hành hoặc ô tô không người lái, là phương tiện di chuyển sử dụng công nghệ tiên tiến như cảm biến, camera, radar, lidar, phần mềm và trí tuệ nhân tạo (AI) Để đạt tiêu chuẩn hoàn toàn tự động, xe cần có khả năng điều hướng đến điểm đến xác định mà không cần sự can thiệp của con người, ngay cả trên những con đường chưa được điều chỉnh, bất kể địa hình nào.
Hình 2.1 Xe tự hành của Google
Các cấp độ tự hành được Hiệp hội Kỹ sư Ô tô (SAE) phân loại thành 6 mức độ, từ Cấp độ 0 (hoàn toàn thủ công) đến Cấp độ 5 (hoàn toàn tự động) Những cấp độ này đã được Bộ Giao thông Vận tải Hoa Kỳ công nhận và đang được áp dụng rộng rãi trên toàn cầu.
Cấp 0 của hệ thống tự động hóa không có chức năng tự động, hoàn toàn phụ thuộc vào con người để vận hành và kiểm soát tất cả các hệ thống chính Ví dụ, trong các phương tiện có kiểm soát hành trình, người lái xe phải thiết lập và điều chỉnh tốc độ khi cần thiết.
Hệ thống hỗ trợ lái xe cấp 1, hay còn gọi là Hệ thống hỗ trợ người lái tiên tiến (ADAS), cung cấp sự hỗ trợ cho người lái thông qua vô lăng, phanh và tăng tốc, nhưng không hoạt động đồng thời Các tính năng của ADAS bao gồm camera chiếu hậu và cảnh báo ghế rung, giúp người lái nhận biết khi họ lệch khỏi làn đường Một số hệ thống như điều khiển hành trình thích ứng và phanh tự động có thể được kích hoạt và điều khiển bởi người lái Do đó, hầu hết các ô tô hiện nay đều thuộc cấp độ 1 trong công nghệ xe tự lái.
Cấp độ 2 của tự động hóa trong lái xe, được hỗ trợ bởi hệ thống lái xe tiên tiến (ADAS), cho phép xe tự điều khiển cả đánh lái và phanh/tăng tốc trong một số tình huống nhất định Tuy nhiên, người lái xe cần phải duy trì sự chú ý hoàn toàn và theo dõi môi trường xung quanh, đồng thời thực hiện các nhiệm vụ lái xe còn lại Xe sẽ tự động điều chỉnh tốc độ để phù hợp với lưu thông và đi theo các khúc cua, nhưng người lái xe luôn phải sẵn sàng kiểm soát hệ thống Một số hệ thống cấp 2 nổi bật bao gồm Tesla Autopilot, Volvo Pilot Assistant, Mercedes-Benz Drive Pilot và Cadillac Super Cruise.
Cấp độ 3 của tự động hóa có điều kiện cho phép hệ thống lái xe tự động (ADS) quản lý các hoạt động an toàn quan trọng trong những tình huống cụ thể, nhưng người lái xe vẫn phải sẵn sàng can thiệp khi có cảnh báo Trong khi xe giám sát môi trường, người lái không nên lơ là, vì họ cần phải biết cách chiếm quyền kiểm soát khi cần thiết Trong những trường hợp khác, người lái vẫn phải thực hiện nhiệm vụ lái xe, và Tesla đang hướng tới việc phát triển công nghệ này.
Cấp độ 4 của hệ thống lái xe tự động (Automated Driving Systems - ADS) cho phép xe thực hiện tất cả các nhiệm vụ lái xe và giám sát môi trường mà không cần sự chú ý của con người trong một số trường hợp nhất định Tuy nhiên, trong điều kiện thời tiết xấu hoặc môi trường bất thường, người lái vẫn cần can thiệp Xe cấp 4 vẫn được trang bị vô lăng và bàn đạp để sử dụng khi cần thiết.
Cấp 5 của hệ thống lái xe tự động (Automated Driving Systems - ADS) cho phép xe thực hiện toàn bộ các thao tác lái mà không cần sự can thiệp của con người trong mọi tình huống.
Trong mọi tình huống lái xe, chiếc xe hoàn toàn tự động và chỉ yêu cầu con người cung cấp thông tin về lịch trình di chuyển Hành khách không cần phải tham gia vào quá trình lái xe.
Hình 2.2 Các cấp độ xe tự hành
Xe tự hành, dù có thiết kế khác nhau giữa các nhà sản xuất, đều sử dụng cảm biến, cơ cấu chấp hành, thuật toán phức tạp, hệ thống máy học và bộ xử lý mạnh mẽ để thực thi phần mềm.
Hình 2.3 Hoạt động xe tự hành
Xe ô tô tự lái sử dụng nhiều loại cảm biến để tạo và duy trì bản đồ môi trường xung quanh Cảm biến radar theo dõi vị trí của các phương tiện gần đó, trong khi camera phát hiện đèn giao thông, đọc biển báo và theo dõi người đi bộ Cảm biến Lidar phát ra các xung ánh sáng để đo khoảng cách, phát hiện mép đường và xác định vạch kẻ đường Ngoài ra, cảm biến siêu âm trong bánh xe giúp phát hiện lề đường và các phương tiện khác khi đỗ xe.
Phần mềm tinh vi xử lý dữ liệu từ các cảm biến, xác định lộ trình và gửi hướng dẫn đến bộ truyền động của ô tô Bộ điều khiển này điều chỉnh gia tốc, phanh và lái xe, đồng thời áp dụng các quy tắc mã hóa cứng, thuật toán tránh chướng ngại vật, và mô hình nhận dạng đối tượng để đảm bảo tuân thủ quy tắc giao thông và điều hướng an toàn.
Các mô hình xe tự lái hiện tại vẫn yêu cầu sự can thiệp của người lái, bao gồm xe truyền thống với hỗ trợ phanh và các nguyên mẫu gần như độc lập Trong tương lai, những chiếc xe tự lái hoàn toàn có thể không cần vô lăng và có khả năng kết nối với nhau, cho phép chúng giao tiếp với các phương tiện khác trên đường và với cơ sở hạ tầng.
Ô tô tự hành hoàn toàn (Cấp độ 5) đang trong giai đoạn thử nghiệm tại một số quốc gia, nhưng vẫn chưa có mẫu xe nào được đưa ra thị trường cho công chúng Việc đạt được điều này còn cần nhiều năm nữa, do phải đối mặt với nhiều thách thức, bao gồm công nghệ, lập pháp, môi trường và các vấn đề triết học Những yếu tố này vẫn còn là những ẩn số cần được giải quyết.
Lidar và Radar là hai công nghệ quan trọng trong lĩnh vực ô tô tự lái, trong đó Lidar có chi phí cao và đang tìm cách cân bằng giữa phạm vi và độ phân giải Một thách thức đặt ra là liệu tín hiệu điều khiển từ nhiều xe tự lái cùng chạy trên một con đường có gây nhiễu cho nhau hay không Ngoài ra, sự đa dạng về tần số vô tuyến cũng cần được xem xét để đảm bảo dải tần đủ lớn hỗ trợ cho việc sản xuất hàng loạt ô tô tự lái.
Tổng quan về Cuộc đua số FPT
2.2.1 Giới thiệu về Cuộc đua số FPT
Cuộc Cách mạng Công nghiệp lần thứ 4, hay còn gọi là cuộc Cách mạng số, đang diễn ra mạnh mẽ và ảnh hưởng sâu rộng đến sự phát triển của doanh nghiệp toàn cầu Các quốc gia cần chủ động chuẩn bị và tiếp cận nguồn lực công nghệ mới từ sớm để tận dụng tối đa cơ hội mà cuộc cách mạng này mang lại.
Từ năm 2016, Tập đoàn FPT đã khởi xướng chương trình Cuộc đua số, một cuộc thi lập trình công nghệ hàng năm dành cho sinh viên yêu thích công nghệ trên toàn quốc Mục tiêu của chương trình là tạo ra một sân chơi hấp dẫn và bổ ích, khuyến khích đam mê học hỏi, cập nhật và thực hành các công nghệ mới, đồng thời đáp ứng nhu cầu của các ngành công nghiệp tại Việt Nam Mỗi mùa giải đều tập trung vào những xu hướng công nghệ mới nhất, thu hút sự quan tâm từ nhiều hãng công nghệ lớn trên toàn cầu, góp phần xây dựng nguồn lực chất lượng cao cho cuộc cách mạng 4.0.
Cuộc thi "Xe tự hành" sẽ diễn ra trong 5 năm, tạo cơ hội cho sinh viên nghiên cứu và trải nghiệm công nghệ tiên tiến trong lĩnh vực xử lý ảnh, lập trình nhúng và trí tuệ nhân tạo Sau vòng sơ khảo đánh giá kiến thức và năng lực, các đội xuất sắc sẽ nhận xe mô hình để thiết lập hệ thống điều khiển tự động và tham gia đua trên sa hình mô phỏng với độ khó tăng dần Đặc biệt, các kết quả và sản phẩm từ năm thi trước sẽ được chia sẻ với cộng đồng nhằm thúc đẩy sự phát triển chung.
Với sự tư vấn từ các chuyên gia, thí sinh sẽ phát triển các kỹ năng thiết yếu cho sự nghiệp tương lai, bao gồm công nghệ, quản trị dự án, làm việc nhóm và khả năng vượt qua áp lực Họ sẽ học cách xây dựng đội ngũ để theo đuổi đam mê và tạo dựng sự nghiệp riêng, cũng như đồng hành cùng các doanh nghiệp lớn tại Việt Nam và toàn cầu.
Giải thưởng cao nhất cho đội chiến thắng là cơ hội khám phá và trải nghiệm tại những trung tâm công nghệ hàng đầu thế giới như Mỹ và Nhật Bản Điều này giúp các đội hiểu rõ hơn về hành trình phát triển của công nghệ, nhận thức về bản thân và xác định nỗ lực cần thiết trong tương lai Bên cạnh đó, tất cả các đội tham gia đều nhận được những giải thưởng giá trị, bao gồm các khóa học bổng đào tạo đạt tiêu chuẩn quốc tế và nhiều hiện vật khác.
Hình 2.4 Mô hình xe cuộc đua số
2.2.2 Mục đích của Cuộc đua số FPT
Cuộc Cách mạng Công nghiệp lần thứ 4 đang diễn ra mạnh mẽ và ảnh hưởng sâu rộng đến sự phát triển của cá nhân và tổ chức toàn cầu Để chuẩn bị cho sự phát triển nguồn nhân lực am hiểu công nghệ mới, cần có sự quan tâm đúng mức từ sớm Chính vì lý do này, Tập đoàn FPT đã tổ chức chương trình Cuộc đua số với chủ đề “Xe tự hành” từ năm 2016.
Xây dựng một sân chơi công nghệ hấp dẫn và bổ ích giúp sinh viên Việt Nam có động lực để học hỏi, cập nhật, thực hành và sáng tạo các công nghệ mới trên thế giới Điều này dựa trên việc hiểu biết và nắm vững nhu cầu của các ngành công nghiệp, từ đó tạo điều kiện cho sinh viên phát triển kỹ năng và kiến thức cần thiết.
- Góp phần xây dựng nguồn nhân lực chất lượng cao, đáp ứng nhu cầu của cuộc Cách mạng 4.0
Mỗi đội thi sẽ bao gồm 3 đến 4 thành viên đến từ cùng một trường đại học, và khuyến khích có sự tham gia của một người hướng dẫn Người hướng dẫn này cần phải là giảng viên của trường mà đội tham gia.
Các đội thi có quyền thay thế hoặc bổ sung tối đa 50% số lượng thành viên ban đầu, với tổng số thành viên không vượt quá 4 người và phải đảm bảo có ít nhất 2 thành viên từ đội ban đầu.
2.2.4 Cơ cấu giải thưởng cuộc thi
Vòng thi tìm kiếm đội đại diện trường sẽ có tối đa 10 điểm trường tham gia Đội nhất sẽ nhận giải thưởng tiền mặt trị giá 5 triệu VNĐ, trong khi đội nhì (nếu được chọn vào bán kết) cũng sẽ nhận giải thưởng tiền mặt.
Học bổng toàn phần một trong 3 khóa đào tạo
Automative/Machine Learning/Data Science cho 26 cá nhân xuất sắc nhất từ vòng thi tìm đội đại diện trường (*)
80% giá trị một suất học bổng học nói Tiếng Anh - gói 1 năm ELSA Pro’s của Elsa cho thí sinh thuộc đội đạt giải nhất và nhì vòng trường
Thí sinh tham dự vòng đại diện trường nhận được học bổng một trong 4 môn học của trường Đại học trực tuyến Funix
Môn 1: Becoming a Digital Citizen – Trở thành công dân số
Môn 2: Building your first website – Xây dựng website đầu tiên
Môn 3: Mastering your Computer – Làm chủ máy tính
Môn 4: Creating your first program (with Javascript) – Xây dựng phần mềm đầu tiên
Tổng giá trị 3 tỷ VNĐ
Vòng bán kết (Lựa chọn 8 đội) Đội được chọn vào chung kết – giải thưởng tiền mặt: 5 triệu VNĐ/đội
Giải thưởng dành cho đội giải nhất (1 giải)
- 01 chuyến trải nghiệm tại Mỹ (**)
- 04 học bổng toàn phần khóa đào tạo Automative
- 01 học bổng tiến sĩ tại ĐH Quốc gia Hà Nội dành cho thí sinh xuất sắc nhất (***Ngành Trí tuệ nhân tạo)
Giải thưởng dành cho đội giải nhì (1 giải)
Giải thưởng dành cho đội giải ba (2 giải)
Giải thưởng cho đội có Thuật toán xuất sắc nhất - 5 triệu VNĐ/đội
Giải thưởng cho giáo viên hướng dẫn đội giải nhất - 01 Máy tính trị giá 20 triệu VNĐ
Giải thưởng cho trường có đội giải nhất - 50 triệu VNĐ
Top 4 chung kết sẽ nhận được giải thưởng là cơ hội thực tập và làm việc tại Tập đoàn FPT trong thời gian tối thiểu 3 tháng, với mức lương tối thiểu 5 triệu VNĐ mỗi tháng.
Đại học trực tuyến FUNiX trao tặng 26 học bổng toàn phần cho khóa đào tạo Automative Sau khi kết thúc các vòng thi "Tìm kiếm đội thi đại diện trường", thí sinh thuộc Top 4 đội mỗi vòng có quyền nộp hồ sơ xin học bổng Ban tổ chức sẽ chọn ra 26 cá nhân xuất sắc nhất để nhận học bổng, và học bổng này phải được sử dụng trong vòng 6 tháng kể từ ngày trao tặng.
Mỗi cá nhân chỉ được nhận một học bổng duy nhất Nếu thí sinh thuộc đội giải nhất vòng Chung kết đã nhận học bổng trong vòng thi “Tìm kiếm đội thi đại diện trường”, học bổng thứ hai sẽ được giữ lại để trao cho các thí sinh khác đã đăng ký nhưng chưa nhận học bổng trong vòng thi tìm kiếm đội đại diện trường.
Xem thêm về khóa học này tại đây: https://www.funix.edu.vn/xseri/
Giải thưởng không thể quy đổi thành tiền mặt Ban tổ chức sẽ cố gắng sắp xếp cho đội vô địch có cơ hội trải nghiệm công nghệ tại Mỹ, nhưng không chịu trách nhiệm nếu thí sinh không thể nhận giải thưởng vì lý do cá nhân như không có thời gian hoặc không được cấp visa.
Học bổng tiến sĩ của FPT được trao cho thí sinh xuất sắc vượt qua kỳ thi tuyển nghiên cứu sinh ngành Trí Tuệ nhân tạo tại Trường Đại học Quốc gia Nếu có nhiều thành viên trong đội đạt giải nhất đủ tiêu chuẩn theo học tiến sĩ, Ban tổ chức sẽ xem xét và hỗ trợ.
Tổng quan về nhận dạng đối tượng
2.3.1 Bài toán nhận dạng đối tượng
Thị giác máy tính (Computer Vision) là một lĩnh vực quan trọng trong trí tuệ nhân tạo (AI), bao gồm các phương pháp thu nhận, xử lý và phân tích hình ảnh kỹ thuật số Nó không chỉ giúp nhận dạng và phát hiện các đối tượng mà còn tạo ảnh và siêu phân giải hình ảnh Nhận dạng vật thể (Object Detection) là một trong những ứng dụng nổi bật nhất của thị giác máy tính, được sử dụng rộng rãi trong thực tế.
Nhận dạng vật thể, một lĩnh vực thuộc "Machine Learning", nghiên cứu khả năng của hệ thống máy tính và phần mềm trong việc định vị và xác định các đối tượng trong hình ảnh và video Sự phát triển của công nghệ đã thúc đẩy việc áp dụng nhận dạng vật thể vào thực tiễn với độ tinh vi ngày càng cao Công nghệ này được sử dụng rộng rãi trong nhiều ứng dụng như phát hiện khuôn mặt, nhận diện xe, đếm số người đi bộ, hệ thống bảo mật, xe không người lái và robot Vì vậy, nhận dạng vật thể hiện đang thu hút sự quan tâm lớn và có tính ứng dụng cao trong nhiều lĩnh vực.
Hình 2.10 Nhận diện đối tượng
Bài toán nhận dạng đối tượng có ứng dụng đa dạng trong nhiều lĩnh vực thực tiễn, điều này thu hút sự quan tâm của nhiều nhóm nghiên cứu trong thời gian dài Một số ứng dụng nổi bật của nhận dạng đối tượng bao gồm: nhận diện khuôn mặt, giám sát an ninh, và phân tích hình ảnh trong y tế.
Hệ thống phát hiện tội phạm sử dụng camera được lắp đặt tại các địa điểm công cộng như siêu thị, nhà sách, trạm xe buýt và sân bay Khi phát hiện sự xuất hiện của các đối tượng nghi vấn, hệ thống sẽ gửi thông điệp đến trung tâm xử lý để kịp thời ứng phó.
– Hệ thống theo dõi nhân sự trong một đơn vị: Giám sát giờ ra vào của từng nhân viên và chấm công
Hệ thống giao tiếp người máy đang cách mạng hóa cách thức tương tác giữa con người và máy móc, thay thế các phương pháp truyền thống như bàn phím và chuột Thay vào đó, giao tiếp trực quan được sử dụng, bao gồm biểu cảm khuôn mặt, dấu hiệu và cử chỉ tay, mang lại trải nghiệm tương tác tự nhiên và hiệu quả hơn.
– Các hệ thống bảo mật dựa trên thông tin sinh trắc học: Mặt người, vân tay, Thay vì xác nhận mật khẩu, khóa,
Công nghệ nhận dạng hình ảnh xe và biển số xe đang được áp dụng để quản lý giao thông, đặc biệt trong việc giám sát bãi đỗ xe và các phương tiện tại những khu vực nhạy cảm như sân bay và bến cảng Hệ thống này giúp phát hiện sự không khớp giữa thông tin xe và dữ liệu lưu trữ, nâng cao hiệu quả quản lý giao thông.
2.3.2 Kiến trúc của một hệ thống nhận dạng đối tượng
Một hệ thống nhận dạng đối tượng thông thường xử lý bốn bước sau:
– Thu nhận tín hiệu và tiền xử lý
Phân lớp đối tượng bắt đầu bằng việc thu nhận ảnh đầu vào và tiến hành tiền xử lý để nâng cao độ chính xác của hệ thống Sau đó, các đặc trưng của ảnh được trích xuất để tạo ra vectơ đặc trưng, đóng vai trò là dữ liệu đầu vào cho mô hình đã được huấn luyện trước Bước phát hiện đối tượng nhằm tìm kiếm và xác định vị trí của các đối tượng trong ảnh hoặc video Cuối cùng, những đối tượng được phát hiện sẽ được phân lớp thành từng nhóm riêng biệt để thực hiện nhận dạng.
Hình 2.11 Kiến trúc hệ thống nhận diện đối tượng
Tổng quan một số mô hình nhận diện đối tượng
Machine Learning là quá trình huấn luyện máy tính thực hiện nhiệm vụ mà không cần lập trình chi tiết từng bước Sau khi hoàn tất quá trình đào tạo, hệ thống Machine Learning có khả năng đưa ra dự đoán chính xác dựa trên dữ liệu được cung cấp.
Hình 2.12 Cấu trúc khi lập trình thông thường
Hình 2.13 Cấu trúc khi lập trình Machine Learning
Machine Learning được phân loại thành hai loại chính: học có giám sát, trong đó máy tính học từ các ví dụ với dữ liệu được gắn nhãn, và học không giám sát, nơi máy tính nhóm các dữ liệu tương tự và phát hiện các bất thường một cách chính xác.
– Học có giám sát là việc cho máy tính học trên dữ liệu đã được gán nhãn (label)
Hình 2.14 Cấu trúc Machine Learning theo kiểu học có giám sát
Học không giám sát là phương pháp cho phép máy tính học từ dữ liệu không có gán nhãn, giúp các thuật toán machine learning tìm ra mối tương quan và mô hình hóa dữ liệu Qua đó, máy tính có thể hiểu và phân loại dữ liệu thành các nhóm hoặc lớp tương tự (clustering) mà nó đã học, cũng như giảm số chiều của dữ liệu (dimension reduction).
Hình 2.15 Cấu trúc Machine Learning theo kiểu học không giám sát
Trong quá trình phát triển mô hình, dữ liệu thường được chia thành hai tập: training data và test data Training data được sử dụng để huấn luyện mô hình, trong khi test data giúp dự đoán kết quả và đánh giá hiệu suất của mô hình Nếu bài toán đã cung cấp sẵn cả hai tập dữ liệu, bạn không cần phải chia thêm Tuy nhiên, nếu chỉ có một tập dữ liệu duy nhất, bạn cần chia nó thành hai phần Tỷ lệ phân chia thường gặp giữa tập huấn luyện và tập kiểm tra là 80/20.
Vector đặc trưng (features vector) là một đại diện cho từng điểm dữ liệu trong tập dữ liệu, với mỗi vector có n chiều tương ứng với các đặc trưng số của điểm dữ liệu Để huấn luyện mô hình, dữ liệu cần được chuyển đổi thành các vector đặc trưng, vì các mô hình chỉ có thể hoạt động dựa trên dạng này Do đó, việc chuyển đổi tập dữ liệu thành một tập hợp các vector đặc trưng là rất quan trọng.
Mô hình trong Machine Learning là các cấu trúc được sử dụng để huấn luyện trên dữ liệu đào tạo thông qua các thuật toán cụ thể Sau quá trình này, mô hình có khả năng dự đoán hoặc đưa ra quyết định dựa trên kiến thức đã học được Một trong những mô hình nổi bật và phổ biến trong lĩnh vực này là Deep Learning, thường được các lập trình viên xử lý ảnh nhắc đến.
Deep Learning là một nhánh của Machine Learning, cho phép máy tính thực hiện các nhiệm vụ phức tạp như nhận dạng hình ảnh, ngôn ngữ và giọng nói Khác với Machine Learning, Deep Learning giúp máy tính hiểu và kết hợp các đặc điểm trong dữ liệu thành những dạng trừu tượng cao hơn Chẳng hạn, trong nhận dạng khuôn mặt, Deep Learning phân tích cách các pixel tạo thành đường nét và hình dạng, từ đó nhận diện các đặc điểm khuôn mặt Hơn nữa, với khả năng xử lý tốt hơn trong các điều kiện thay đổi, Deep Learning vượt trội hơn Machine Learning trong việc giải quyết các vấn đề phức tạp.
Deep Learning không phải lúc nào cũng là lựa chọn tối ưu cho việc dự đoán dựa trên dữ liệu Trong trường hợp tập dữ liệu nhỏ, mô hình Machine Learning tuyến tính đơn giản có thể mang lại kết quả chính xác hơn.
Deep Learning có 33 ưu điểm nổi bật, cho phép xử lý hiệu quả những dữ liệu chủ yếu không có cấu trúc, như video, hình ảnh, âm thanh và văn bản Công nghệ này có khả năng tổ chức và phân tích khối lượng lớn dữ liệu, từ đó đưa ra những dự đoán chính xác và hữu ích.
Nhược điểm của Deep Learning là yêu cầu một lượng dữ liệu đào tạo lớn và số chu kỳ đào tạo cao, điều này khiến cho quá trình đào tạo cần đến phần cứng máy tính mạnh mẽ và tốn kém, thường là các GPU cao cấp.
Các kỹ thuật Deep Learning bao gồm CNN (Mạng nơ-ron tích chập), thường được áp dụng cho các nhiệm vụ thị giác máy tính, và RNN (Mạng nơ-ron hồi tiếp), thường được sử dụng để xử lý ngôn ngữ.
2.4.2 Giới thiệu mô hình Yolo
YOLO (You Only Look Once) là một mô hình mạng nơ ron tích chập nổi bật trong việc nhận diện đối tượng, với ưu điểm vượt trội về tốc độ so với các mô hình cũ Dù không phải là thuật toán có độ chính xác cao nhất, YOLO vẫn được ứng dụng rộng rãi trong các dự án thực tế, đặc biệt khi độ chính xác không phải là tiêu chí hàng đầu Đặc biệt, YOLO có khả năng hoạt động hiệu quả trên các thiết bị IoT như Raspberry Pi.
Kiến trúc YOLO bao gồm hai phần chính: Mạng gốc (Base Network) là một mạng CNN chịu trách nhiệm trích xuất đặc trưng, và các Tầng phụ (Extra Layers) được sử dụng để phát hiện vật thể trên Ma trận đặc trưng (Feature Map) của Mạng gốc.
Hình 2.16 Kiến trúc mạng YOLO
Mô hình YOLO sử dụng sơ đồ kiến trúc với thành phần Darknet Architecture, được gọi là Base Network, có nhiệm vụ rút trích đặc trưng từ hình ảnh Đầu ra của Base Network là một Feature Map kích thước 7x7x1024, được sử dụng làm đầu vào cho các Extra Layers, giúp dự đoán nhãn và tọa độ Bounding Box (hình chữ nhật bao quanh vật thể) của các đối tượng trong ảnh.
Cấu trúc thuật toán YOLO được phân chia thành hai thành phần chính: mạng CNN và các lớp Extra Layers dùng để dự đoán Để hiểu rõ hơn về thuật toán này, chúng ta cần tìm hiểu khái niệm về mạng CNN và vai trò của từng lớp trong các Extra Layers.
Mạng nơ ron tích chập - Convolutional Neural Network
Mạng nơ ron tích chập là một mô hình học sâu tiên tiến, được sử dụng rộng rãi trong các hệ thống nhận diện và xử lý ảnh nhờ vào tốc độ xử lý nhanh và độ chính xác cao Khác với mạng nơ ron truyền thống, mạng nơ ron tích chập có cấu trúc ba chiều, bao gồm chiều cao, chiều rộng và chiều sâu Hai khái niệm quan trọng trong mạng này là kết nối cục bộ và chia sẻ tham số, giúp giảm số lượng trọng số cần huấn luyện và tăng tốc độ tính toán hiệu quả.
2.5.2 Mô hình mạng nơ rơn tích chập
Mạng nơ ron tích chập bao gồm ba tầng chính: tầng tích chập, tầng gộp và tầng kết nối đầy đủ Tầng tích chập thực hiện các phép tích chập nhiều lần trên dữ liệu đầu vào, trong khi tầng gộp giảm kích thước mẫu bằng cách gộp các khối 2x2 từ tầng trước Các lớp này được kết nối theo một thứ tự nhất định, thường là hình ảnh sẽ được truyền qua tầng tích chập trước, sau đó là tầng gộp Cặp tầng tích chập và tầng gộp có thể được lặp lại nhiều lần trong mạng, trước khi dữ liệu được truyền qua tầng kết nối đầy đủ để xác định xác suất chứa vật thể trong ảnh.
Hình 2.17 Kiến trúc mạng CNN
2.5.3 Tầng tích chập (Convolutional layer)
Tầng tích chập (Convolutional Layer) là lớp quan trọng nhất và đầu tiên trong mô hình mạng CNN, có chức năng chính là trích xuất các đặc trưng không gian hiệu quả của ảnh, bao gồm góc cạnh, màu sắc và các đặc trưng phức tạp hơn như kết cấu Trong tầng này, có bốn đối tượng chính: ma trận đầu vào, bộ Filters (ma trận tích chập), Receptive Field (ma trận tương ứng) và Feature Map.
Hình 2.18 Ma trận trước và sau tầng tích chập
Tầng tích chập nhận đầu vào là ma trận ba chiều cùng với bộ Filters, mà sẽ trượt qua từng vị trí trên bức ảnh để tính tích chập với phần tương ứng gọi là Receptive Field Receptive Field là vùng mà một nơ ron có thể quan sát để đưa ra quyết định, và kết quả của quá trình này được gọi là Feature Map.
Bộ Filter có khả năng quét toàn bộ bức ảnh, cho phép phát hiện các đặc trưng ở bất kỳ vị trí nào, ngay cả khi ảnh bị xoáy trái hoặc phải Kích thước của Filter thường là số lẻ, như 3x3, 5x5 hoặc 7x7, giúp xác định một tâm điểm cho các giá trị của Feature Map ở tầng phía trước.
Hình 2.19 Tích chập ma trận
Mặc dù mạng nơ ron đã sử dụng các kết nối cục bộ và chia sẻ tham số, số lượng tham số vẫn quá lớn so với tập dữ liệu nhỏ, dễ dẫn đến tình trạng quá khớp Để khắc phục điều này, các tầng gộp (Pooling Layer) thường được chèn vào mạng nơ ron Tầng gộp giúp giảm kích thước hình ảnh sau khi thực hiện tích chập, giữ lại các đặc điểm nổi bật và cải thiện thời gian tính toán mà không làm mất đi các thông tin quan trọng của ảnh.
Tầng gộp sử dụng hàm max để lấy mẫu xuống cho tầng trước, hoạt động độc lập trên từng tầng Người dùng có thể điều chỉnh lượng pixel khi YOLO di chuyển cửa sổ trượt hoặc bước nhảy, tương tự như cách thực hiện với tầng tích chập.
Trong quá trình gộp trong mạng nơ ron, kích thước cửa sổ trượt thường là 2x2 với bước nhảy 2, như được minh họa trong hình 2.15 Tại mỗi cửa sổ, hàm max được sử dụng để tìm giá trị lớn nhất, đại diện cho giá trị của tầng tiếp theo Các mạng nơ ron thường áp dụng kích thước cửa sổ và bước nhảy giống nhau trong gộp chung, trong khi gộp nhóm sử dụng kích thước cửa sổ và bước nhảy là 2 Việc tăng kích thước cửa sổ có thể dẫn đến mất mát các đặc tính của dữ liệu Ngoài hàm max, có thể sử dụng các hàm khác như hàm trung bình để tính toán giá trị cho tầng tiếp theo, được gọi là gộp trung bình.
2.5.5 Tầng kết nối đầy đủ
Tầng thứ ba trong mạng nơ ron là tầng kết nối đầy đủ, nơi các nơ ron ở tầng trước liên kết với một nơ ron ở tầng tiếp theo, dẫn đến đầu ra cuối cùng Để truyền tải hình ảnh từ các tầng trước, dữ liệu cần được dàn phẳng thành một véc tơ nhiều chiều Cuối cùng, hàm Softmax được sử dụng để phân loại đối tượng một cách hiệu quả.
Hình 2.21 Tầng kết nối đầy đủ
2.5.6 Vấn đề đầu vào của mạng
Mạng nơ ron tích chập yêu cầu đầu vào phải phù hợp với cấu hình mạng, và mặc dù có nhiều cấu hình mạng, mô hình YOLO lại giới hạn ở hai kích thước đầu vào chính là 416x416 và 608x608 Mỗi kích thước đầu vào này sẽ có thiết kế các tầng riêng biệt tương ứng Do đó, trước khi được đưa vào mô hình, các bức ảnh cần trải qua bước tiền xử lý để điều chỉnh độ tương phản và tỷ lệ, đảm bảo phù hợp với cấu hình mạng.
Nhiệm vụ các lớp Extra Layers
2.6.1 Đầu ra của mạng nơ ron tích chập
Cấu trúc phức tạp của mạng nơ ron tích chập yêu cầu nghiên cứu kỹ lưỡng về đầu ra của mô hình, vì đây là yếu tố quan trọng Quá trình xây dựng mạng bao gồm việc đưa bức ảnh vào mô hình, trải qua các tầng tích chập, tầng gộp và tầng kết nối đầy đủ, cuối cùng cho ra đầu ra là một vectơ chứa các thành phần cụ thể.
Hình 2.22 Cấu trúc đầu ra của mạng CNN
– 𝑝 0 là xác xuất dự đoán vật thể xuất hiện trong Bounding Box
– 𝑡 𝑥 , 𝑡 𝑦 , 𝑡 𝑤 , 𝑡 ℎ giúp xác định Bounding Box Trong đó 𝑡 𝑥 , 𝑡 𝑦 lần lượt là tọa độ tâm Bounding Box và 𝑡 𝑤 , 𝑡 ℎ lần lượt là chiều rộng và chiều cao của Bounding Box
– 𝑝1, 𝑝2, … , 𝑝𝑐 lần lượt là vectơ phân phối xác xuất dự đoán của các Classes
2.6.2 Dự đoán trên nhiều Feature maps
Sau quá trình đi qua các tầng tích chập, kích thước ma trận giảm dần theo cấp số nhân với hệ số 2, dẫn đến việc tạo ra một Feature Map có kích thước nhỏ hơn Feature Map này sẽ được sử dụng để dự báo vật thể trên từng ô của nó.
Mô hình YOLO hiện tại hoạt động chủ yếu với hai cấu hình đầu vào là 416x416 và 608x608, dẫn đến các kích thước Feature Map khác nhau Cụ thể, với đầu vào 416x416, Feature Map có kích thước 13x13, 26x26 và 52x52; trong khi đó, đầu vào 608x608 cho ra các kích thước 19x19, 38x38 và 72x72 Sự phân chia này có vai trò quan trọng trong việc dự đoán đối tượng, với các Feature Map nhỏ giúp nhận diện các vật thể lớn, còn các Feature Map lớn hơn hỗ trợ trong việc phát hiện các vật thể nhỏ.
Hình 2.23 Feature Maps ma trận đầu ra 416x416
YOLO dựa vào hai dữ liệu chính là Anchor Box và Cell để dự đoán Bounding Box cho một vật thể Để hiểu rõ nguyên tắc hoạt động của quá trình dự đoán này, chúng ta cần đi sâu vào phân tích hai yếu tố quan trọng này.
2.6.3.1 Khái niệm Cell và Archon Box
Mỗi ô trên Feature Map trong YOLO được gọi là Cell, và trên mỗi Cell này sẽ áp dụng ba Anchor Box với kích thước khác nhau, lần lượt là Box 1, Box 2 và Box 3, để dự đoán các vật thể Số lượng Anchor Box sử dụng cho mỗi Cell được cài đặt trong thuật toán của chúng tôi.
Hình 2.24 Cấu trúc đầu ra mô hình YOLO
Thuật toán YOLO sử dụng cấu trúc đầu ra trên một Cell với Feature Map kích thước 13x13 Trong Cell này, YOLO chọn ba Anchor Box (Box 1, 2, 3) sao cho tâm của các Anchor Box trùng với Cell Sau khi dự đoán Bounding Box, YOLO tạo ra một vectơ chứa thông số của ba Bounding Box đã chọn Để xác định Bounding Box cho vật thể, YOLO cần các Anchor Box được xác định trước, bao quanh vật thể một cách chính xác Thuật toán hồi quy (Regression Bounding Box) sẽ tinh chỉnh các Anchor Box để tạo ra Bounding Box dự đoán cho vật thể.
Trong YOLO, mỗi vật thể trong hình ảnh huấn luyện được gán cho một Anchor Box Khi có nhiều hơn một Anchor Box bao quanh vật thể, YOLO sẽ chọn Anchor Box có chỉ số IoU cao nhất so với Truth Bounding Box.
Hình 2.16 minh họa quá trình xác định Anchor Box cho một vật thể Từ Cell i, ba Anchor Box viền xanh được xác định, trong đó tất cả đều giao nhau với Bounding Box của vật thể Tuy nhiên, chỉ có một Anchor Box với đường viền dày nhất màu xanh được chọn làm Anchor Box cho vật thể, do nó có chỉ số IoU cao nhất.
Hình 2.25 Dự đoán Bounding Box bằng Anchor Box và Cell
Chỉ số IoU (Intersection over Union) là thước đo quan trọng để đánh giá độ chính xác của các công cụ phát hiện vật thể trên một tập dữ liệu cụ thể Để áp dụng chỉ số IoU trong việc đánh giá hiệu suất của một công cụ phát hiện vật thể, cần thực hiện các bước cụ thể nhằm đảm bảo kết quả chính xác và đáng tin cậy.
Ground-truth Bounding Box là các hộp giới hạn chính xác của đối tượng, được xác định thông qua việc khoanh vùng và đánh nhãn bằng tay Những Bounding Box này thường được sử dụng trong tập kiểm tra để đánh giá độ chính xác của các mô hình nhận diện đối tượng Việc có được Ground-truth Bounding Box chất lượng cao là rất quan trọng trong việc cải thiện hiệu suất của các thuật toán học máy trong lĩnh vực thị giác máy tính.
– Những Predict Bounding Box được mô hình sinh ra
Công thức tính toán Inersection over Union có thể được định nghĩa thông qua:
The Intersection over Union (IoU) is calculated by dividing the Area of Overlap, which represents the intersection between the Predicted Bounding Box and the Ground-truth Bounding Box, by the Area of Union, the total area covered by both bounding boxes This ratio provides a valuable metric for evaluating the accuracy of object detection models.
Mỗi vật thể trong hình ảnh huấn luyện được phân bố vào một Cell trên Feature Map, nơi chứa tâm (Mid Point) của vật thể Ví dụ, hình ảnh chú chó trong hình 2.15 sẽ được phân về Cell màu đỏ, vì tâm của chú chó nằm trong Cell này Từ Cell đó, các Anchor Box sẽ được xác định xung quanh hình ảnh chú chó.
Khi xác định một vật thể trong YOLO, cần chú trọng đến hai thành phần quan trọng là Cell và Anchor Box, vì cả hai đều có vai trò thiết yếu trong quá trình nhận diện.
2.6.3.2 Cách thức dự đoán Bounding Box Để dự báo Bounding Box cho một vật thể YOLO dựa trên một phép biến đổi từ Anchor box và Cell
Khi chọn một Anchor Box có kích thước (𝑝 𝑤 , 𝑝 ℎ ) tại một Cell trên Feature Map với góc trên cùng bên trái tại (𝑐 𝑥 , 𝑐 𝑦 ), mô hình sẽ dự đoán bốn tham số (𝑡 𝑥 , 𝑡 𝑦 , 𝑡 𝑤 , 𝑡 ℎ ) Trong đó, hai tham số đầu tiên đại diện cho độ lệch so với góc trên cùng bên trái của Cell, và hai tham số còn lại thể hiện tỷ lệ so với Anchor Box Những tham số này đóng vai trò quan trọng trong việc xác định Bounding Box với tâm (b x , b y ) và kích thước (𝑏 𝑤 , 𝑏 ℎ ) thông qua các hàm Sigmoid và Exponential.
Hình 2.27 Tọa độ Bounding Box
Các tọa độ trong YOLO được hiệu chỉnh theo chiều dài và chiều rộng của bức ảnh, đảm bảo luôn nằm trong khoảng [0, 1] Việc áp dụng hàm Sigmoid giúp giới hạn tọa độ, ngăn không cho chúng vượt quá các ngưỡng này.