1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng tri tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

103 66 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng Tri Tuệ Nhân Tạo Để Phát Triển Hệ Thống Nhận Diện Và Theo Dõi Làn Đường Cho Xe Tự Lái
Trường học Trường Đại Học Kỹ Thuật
Chuyên ngành Công Nghệ Kỹ Thuật Ô Tô
Thể loại Đồ Án Tốt Nghiệp
Định dạng
Số trang 103
Dung lượng 6,17 MB

Cấu trúc

  • Page 1

Nội dung

TỔNG QUAN

Lý do chọn đề tài

Trong thời đại cách mạng công nghiệp 4.0, ngành công nghiệp ô tô đang dần chuyển mình từ mô hình thuần cơ khí sang việc tích hợp với các lĩnh vực như điện, điện tử và khoa học máy tính Thuật ngữ "AI" hay "trí tuệ nhân tạo" đã trở nên quen thuộc, xuất hiện trong các trợ lý ảo như Siri và Google Assistant, cũng như trong mô hình nhà thông minh, trò chơi điện tử, y tế và quân sự Đặc biệt, đối với sinh viên ngành ô tô, khái niệm "xe tự lái" đang trở thành một xu hướng quan trọng không thể bỏ qua.

Xe tự lái đã thu hút sự chú ý từ năm 2016 khi công ty Otto, thuộc sở hữu của Uber, thành công trong việc vận chuyển 50.000 lon bia Budweiser bằng xe tải tự động Việc ứng dụng trí tuệ nhân tạo trong vận tải đường dài không chỉ giúp giảm chi phí mà còn giảm thiểu tai nạn chết người Theo dự đoán của Gartner, đến năm 2020, sẽ có 250 triệu chiếc xe kết nối với nhau qua hệ thống Wi-Fi, cho phép chúng tự giao tiếp và tối ưu hóa lộ trình di chuyển.

Hiện nay, công nghệ AI đang được ứng dụng rộng rãi trong ngành ô tô, đặc biệt là trong công nghệ xe tự lái, mang đến nhiều cơ hội và thách thức cho sinh viên ngành "Ô tô" Nhóm chúng tôi đã chọn đề tài "Ứng dụng trí tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái" nhằm tìm hiểu và tham gia vào lĩnh vực này Qua đề tài, chúng tôi mong muốn cung cấp cái nhìn tổng quan về ứng dụng công nghệ AI trong ngành học của mình, đồng thời tích lũy kiến thức cần thiết để chuẩn bị cho sự hội nhập vào ngành công nghiệp ô tô toàn cầu trong tương lai.

Mục tiêu nghiên cứu

- Ứng dụng trí tuệ nhân tạo trong việc nhận diện làn đường

- Nâng cao độ chính xác và hiển thị trong việc phát hiện làn đường

- Theo dõi làn đường khắc phục những tình trạng mất làn tạm thời do ngoại cảnh khi chạy trên đường.

Nội dung nghiên cứu

- Nghiên cứu các kiến thức liên quan đến xử lý ảnh và các phần mềm hỗ trợ xử lý ảnh: Ubuntu, Python, OpenCV, Numpy,…

- Nghiên cứu về nền tảng, phương thức hoạt động của các hệ thống sử dụng trí tuệ nhân tạo

- Nghiên cứu về phương pháp nhận diện làn đường sử dụng mạng học sâu (deep learning framework) Cụ thể là mạng nơ-ron tích chập (Convolutional Neural Network (CNN))

- Sử dụng mạng đã được đào tạo sẵn để nhận diện làn đường

- Sử dụng các thuật toán để nâng cao nhận diện làn đường làn bằng các thuật toán như Hough Transform, K-means, Kalman filter,…

- Sử dụng Kalman filter để theo dõi làn đường

- Hiển thị nội dung nhận diện lên màn hình bằng hình ảnh lấy trực tiếp từ webcam.

Giới hạn đề tài

Nhóm nghiên cứu đã áp dụng mạng học sâu đã được huấn luyện sẵn như một bộ nhận diện thô và đề xuất các phương pháp xử lý hậu kỳ nhằm nâng cao hiệu quả trong việc bắt và theo dõi làn đường ở nhiều thời gian và không gian khác nhau Việc không huấn luyện lại mạng được thực hiện do hạn chế về dữ liệu và phần cứng.

Hệ thống hiện tại chưa thể hoạt động theo thời gian thực do bộ xử lý trung tâm chưa đủ mạnh để xử lý hình ảnh và mạng học sâu một cách hiệu quả.

Phạm vi ứng dụng

Đồ án này cung cấp cái nhìn tổng quan về việc ứng dụng công nghệ AI trong ngành công nghệ kỹ thuật ô tô, đặc biệt là trong nhận diện lane đường Công nghệ này không chỉ giúp cải thiện khả năng cảnh báo người lái khi lệch khỏi lane mà còn hỗ trợ phát triển xe tự hành chạy trên đường một cách an toàn.

CƠ SỞ LÝ THUYẾT

Cơ sở lý thuyết về ảnh và xử lý ảnh

2.1.1 Cơ sở lý thuyết về ảnh

Ảnh tự nhiên là hình ảnh liên tục về không gian và độ sáng, nhưng để xử lý bằng máy tính, ảnh cần được số hoá Số hoá ảnh là quá trình chuyển đổi gần đúng ảnh liên tục thành một tập hợp các điểm ảnh (Pixel) phù hợp với vị trí và độ sáng Khoảng cách giữa các pixel được thiết lập sao cho mắt người không nhận thấy ranh giới giữa chúng Mỗi pixel tương ứng với một cặp tọa độ (x, y) trong không gian hai chiều, và được định nghĩa là phần tử của ảnh số với độ xám hoặc màu nhất định Kích thước và khoảng cách giữa các pixel được chọn sao cho tạo cảm giác liên tục về không gian và màu sắc, giúp ảnh số gần giống với ảnh thật Mỗi phần tử trong ma trận ảnh được gọi là phần tử ảnh.

2.1.1.2 Độ phân giải của ảnh Định nghĩa: Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn định trên một ảnh số được hiển thị

Khoảng cách giữa các điểm ảnh cần được chọn sao cho mắt người vẫn nhận thấy sự liên tục của hình ảnh Việc lựa chọn khoảng cách phù hợp sẽ tạo ra mật độ phân bổ, thể hiện độ phân giải, được phân bố theo hai trục x và y trong không gian hai chiều.

Độ phân giải của màn hình CGA (Color Graphic Adaptor) là 320x200 điểm ảnh Khi so sánh màn hình CGA 12” và 17” cùng độ phân giải này, màn hình 12” cho hình ảnh mịn hơn do cùng mật độ điểm ảnh nhưng diện tích màn hình nhỏ hơn Điều này cho thấy rằng, với cùng một độ phân giải, diện tích màn hình lớn hơn sẽ dẫn đến độ mịn kém hơn Các độ phân giải thường được sử dụng được thể hiện trong hình 2.2.

Hình 2.2 Các độ phân giải của ảnh

Một điểm ảnh (pixel) được xác định bởi hai đặc điểm chính: vị trí (x, y) và độ xám của nó Bài viết này sẽ khám phá các khái niệm và thuật ngữ phổ biến trong lĩnh vực xử lý ảnh.

2.1.1.3.1 Định nghĩa: Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng giá trị số tại điểm đó

Các thang giá trị mức xám thông thường bao gồm 16, 32, 64, 128 và 256, trong đó mức 256 là mức phổ dụng nhất Điều này được giải thích bởi việc sử dụng 1 byte (8 bit) trong kỹ thuật máy tính để biểu diễn mức xám, cho phép có 256 mức khác nhau, từ 0 đến 255.

2.1.1.3.3 Ảnh đen trắng: là ảnh có hai màu đen, trắng (không chứa màu khác) với mức xám ở các điểm ảnh có thể khác nhau

Ảnh nhị phân là loại ảnh chỉ sử dụng hai mức màu đen và trắng, với mỗi điểm ảnh được mô tả bằng 1 bit, cho phép phân biệt 2^1 = 2 mức khác nhau Điều này có nghĩa là mỗi pixel trong ảnh nhị phân chỉ có thể có giá trị là 0 (đen) hoặc 1 (trắng).

Trong lý thuyết ba màu (Đỏ, Xanh, Lục), màu sắc được mô tả bằng 3 byte, cho phép tạo ra khoảng 16,7 triệu màu khác nhau.

Tổ chức quốc tế về chuẩn hóa màu CIE (Commission Internationale d’Eclairage) đã phát triển các chuẩn để biểu diễn màu sắc, trong đó hệ chuẩn màu CIE-RGB sử dụng ba màu cơ bản là Đỏ (R), Xanh lục (G) và Xanh dương (B), được ký hiệu là RGBCIE để phân biệt với các chuẩn khác Mỗi màu sắc được tạo thành từ sự kết hợp của các màu cơ bản theo tỷ lệ nhất định, do đó mỗi pixel trong ảnh màu, ký hiệu là Px, có thể được biểu diễn theo công thức chuyển vị.

P x = [red,green,blue] T [2.1] Người ta dùng hệ tọa độ ba màu R-G-B (tương ứng với hệ tọa độ x-y-z) để biểu diễn màu như sau:

Hình 2.3 Hệ tọa độ RGB

Trong cách biểu diễn này ta có công thức: đỏ + lục + lơ = 1 [2.2]

Công thức Maxwell, được thể hiện qua tam giác Maxwell trong hình, mô tả mối quan hệ giữa ba màu cơ bản: đỏ, lục và lơ Trong hệ tọa độ màu CIE, màu trắng được tính bằng tổng ba màu này, cụ thể là: trắng CIE = (đỏ CIE + lục CIE + lơ CIE) = 1.

Không gian màu HSV, như được thể hiện trong hình 2.4, là một công cụ quan trọng trong chỉnh sửa ảnh, phân tích ảnh và trong lĩnh vực thị giác máy tính Hệ màu này dựa trên ba thông số chính để mô tả màu sắc.

- H viết tắt của từ H E có nghĩa là vùng màu

- S Viết tắt của từ SATURATION có nghĩa là độ bảo hòa màu

- V viết tắt của chữ VAL E có nghĩ là giá trị hay độ sáng của màu sắc

Hình 2.4 Không gian màu HSV và vòng tròn biểu diễn màu sắc (HUE)

Trường biểu diễn màu sắc (Hue) được thể hiện qua vòng tròn từ 0 đến 360 độ, bắt đầu từ màu đỏ (red primary) ở 0 độ, tiếp theo là màu xanh lục (green primary) từ 0 đến 120 độ Khoảng từ 120 đến 240 độ là sự chuyển tiếp từ màu xanh lục sang màu xanh lơ (green primary - blue primary) Cuối cùng, từ 240 đến 360 độ, màu sắc chuyển từ màu xanh lơ trở lại màu đỏ, tạo thành một vòng tròn màu sắc hoàn chỉnh.

Theo cách biểu diễn không gian màu hình trụ, giá trị độ sáng (V) được thể hiện bằng chiều cao từ đáy lên đỉnh hình trụ, với khoảng giá trị từ 0 đến 1 Tại đáy hình trụ, V có giá trị 0, biểu thị mức tối nhất, trong khi đỉnh hình trụ là điểm có độ sáng lớn nhất.

= 1) Đi từ tâm hình trụ ra mặt trụ là giá trị bão hòa của màu sắc (S) S có giá trị từ 0 - 1

0 ứng với tâm hình trụ là chỗ mà màu sắc là nhạt nhất S = 1 ở ngoài mặt trụ, là nơi mà giá trị màu sắc là đậm đặc nhất

Mỗi giá trị (H, S, V) cung cấp thông tin chi tiết về màu sắc, bao gồm sắc thái, độ bão hòa và độ sáng, giúp chúng ta hiểu rõ hơn về đặc điểm của màu đó.

CMYK là không gian màu phổ biến trong ngành in ấn, sử dụng bốn màu cơ bản để pha trộn mực in Ba màu chính là C (Cyan), M (Magenta) và Y (Yellow) được dùng để tạo ra các màu sắc khác nhau; ví dụ, kết hợp hồng xẫm và vàng sẽ tạo ra màu đỏ, trong khi hồng xẫm và xanh lơ cho ra màu xanh lam Mặc dù sự kết hợp của ba màu này có thể tạo ra màu đen, nhưng màu đen này không phải là đen tuyệt đối và thường có độ tương phản lớn Do đó, trong ngành in, để tiết kiệm mực, người ta thường sử dụng màu đen riêng biệt.

8 thêm vào màu đen để in những chi tiết có màu đen thay vì phải kết hợp 3 màu sắc trên

Và như vậy ta có hệ màu CMYK như hình 2.5, chữ K ở đây là để kí hiệu màu đen (Black)

Hình 2.5 Không gian màu CMYK

Nguyên lý làm việc của hệ màu CMYK dựa trên việc loại bỏ dần màu trắng từ nền giấy trắng khi in các màu C, M, Y theo tỉ lệ khác nhau, từ đó tạo ra màu sắc cần thiết Để in màu đen, thay vì kết hợp cả ba màu, người ta sử dụng màu đen trực tiếp Điều này khác biệt với hệ RGB, nơi các màu được kết hợp để tạo ra màu sắc.

2.1.1.5 Định nghĩa ảnh số Ảnh số là tập hợp các điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần với ảnh thật

Mạng nơron tích chập – Convolutional Neural Network (CNN)

2.2.1 Thị giác máy tính (Computer vision)

Một bức ảnh có thể dễ dàng được mô tả bởi con người với thị giác bình thường, cho phép nhận biết và phát hiện các đối tượng cũng như vị trí của chúng Tuy nhiên, đối với máy tính, việc "đọc" và hiểu bức ảnh trở nên phức tạp hơn, vì nó chỉ nhìn nhận mỗi bức ảnh như một ma trận số, với các điểm ảnh (pixel) được biểu diễn dưới dạng số theo hệ màu RGB (Đỏ, Xanh lá, Xanh dương).

Mục tiêu chính của thị giác máy tính, một lĩnh vực thuộc trí tuệ nhân tạo, là khám phá mối liên hệ giữa ma trận số và thông tin ngữ nghĩa trong hình ảnh Thị giác máy tính tập trung vào việc giải quyết các vấn đề liên quan đến việc nhận diện và phân tích hình ảnh.

- Phân loại ảnh, miêu tả ảnh,

- Phát hiện vật thể trong ảnh: Xe, con người, đèn giao thông, lan đường,…

- Tạo ảnh với những phong cách khác nhau: Hiển thị nội dung ngữ nghĩa của ảnh gốc theo những phong cách khác nhau

Mạng Nơ-ron truyền thống không hiệu quả khi xử lý dữ liệu hình ảnh, vì mỗi điểm ảnh được coi là một thuộc tính Ví dụ, một ảnh RGB kích thước 64×64 có 12,288 thuộc tính, và nếu kích thước tăng lên 1000×10000, số thuộc tính sẽ lên tới 3 triệu Sử dụng mạng liên kết đầy đủ, nếu lớp thứ hai có nhiều thành phần, ma trận trọng số sẽ có kích thước 1000×3 triệu, tương đương với 3 tỷ trọng số cần huấn luyện Điều này đòi hỏi khối lượng tính toán lớn và dễ dẫn đến hiện tượng không nhận diện được do thiếu dữ liệu huấn luyện.

2.2.2 Mạng nơ ron tích chập (CNN hay ConvNet)

CNN, hay mạng nơ-ron tích chập, là mạng phổ biến nhất trong việc xử lý dữ liệu ảnh Ngoài các lớp liên kết đầy đủ, CNN còn tích hợp các lớp tích chập đặc biệt, giúp phát hiện và trích xuất các đặc trưng quan trọng trong ảnh Chính những lớp tích chập này đã tạo nên sự khác biệt cho CNN so với các mạng nơ-ron truyền thống, đồng thời nâng cao hiệu quả trong phân tích ảnh.

2.2.2.1 Lớp tích chập (Convolutional layer)

 Lớp tích chập dùng để phát hiện và trích xuất những đặc trưng chi tiết ảnh

Lớp tích chập, giống như các lớp ẩn khác, nhận dữ liệu đầu vào và thực hiện các phép biến đổi thông qua phép tính tích chập để tạo ra đầu ra cho lớp kế tiếp Mỗi lớp tích chập bao gồm một hoặc nhiều bộ lọc, hay còn gọi là bộ phát hiện đặc trưng, giúp phát hiện và trích xuất các đặc trưng khác nhau của hình ảnh.

Bộ lọc trong các lớp tích chập sâu hơn sẽ phát hiện các đặc trưng phức tạp hơn, với độ phức tạp tỷ lệ thuận với độ sâu của lớp tích chập Trong mạng CNN, các lớp tích chập đầu tiên sử dụng bộ lọc hình học để nhận diện các đặc trưng đơn giản như cạnh ngang, dọc, và chéo Các lớp tích chập sau đó phát hiện các đối tượng nhỏ hơn như mắt, mũi, và tóc, trong khi các lớp sâu nhất nhận diện các đối tượng hoàn chỉnh như chó, mèo, và ô tô Để hiểu cách hoạt động của lớp tích chập và phép tính tích chập, ta có thể xem xét ví dụ về bộ lọc phát hiện cạnh với đầu vào là các bức ảnh trắng đen, được biểu diễn bằng ma trận điểm ảnh kích thước h×w Giả sử lớp tích chập đầu tiên sử dụng 4 bộ lọc kích thước 3×3 với các giá trị tương ứng được biểu diễn bằng màu sắc: Đen (−1), Xám (0), và Trắng (1).

Hình 2.11 Bộ lọc được sử dụng trong lớp tích chập đ u tiên là các ma trận ích thước

Hình 2.12 Nhân bộ lọc k với ma trận đ u vào I

Ma trận đầu vào I có kích thước 7x7, trong khi bộ lọc k (kernel) có kích thước 3x3 Sau khi thực hiện phép nhân giữa ma trận I và bộ lọc k, kết quả đầu ra sẽ là một ma trận có kích thước 5x5.

Khi sử dụng ma trận đầu vào kích thước 6×6 và thực hiện phép nhân chập với bộ lọc kích thước 3×3, kết quả sẽ là một ma trận đầu ra có kích thước 4×4 Điều này xảy ra vì chỉ có 4×4 vị trí trên ma trận đầu vào có thể được áp dụng bộ lọc.

Khi thực hiện phép nhân chập giữa ma trận đầu vào kích thước n×n và bộ lọc kích thước f×f, kết quả thu được là ma trận kích thước (n−f+1)×(n−f+1) Mỗi lần áp dụng phép chập, kích thước ảnh giảm, dẫn đến việc chỉ có thể thực hiện phép này một vài lần trước khi ảnh trở nên quá nhỏ Điểm ảnh ở trung tâm ma trận đầu vào được bao phủ bởi nhiều vùng 3×3, do đó được sử dụng để tính nhiều giá trị đầu ra, trong khi các điểm ảnh ở góc hoặc cạnh chỉ được sử dụng 1 hoặc 2 lần, dẫn đến việc mất mát thông tin quan trọng tại các vùng gần cạnh của ảnh.

Để khắc phục hai nhược điểm của ma trận đầu vào, một đường viền phụ (padding) được thêm vào xung quanh ma trận này Việc thêm đường viền phụ không chỉ làm tăng kích thước của ma trận đầu vào mà còn làm giảm độ chênh lệch giữa ma trận đầu ra và ma trận đầu vào gốc Điều này giúp các ô nằm ở các góc của ma trận đầu vào được sử dụng nhiều hơn trong quá trình tính toán ma trận đầu ra, từ đó giảm thiểu việc mất mát thông tin.

Ma trận đầu vào kích thước 6×6 được thêm vào đường viền phụ kích thước 1, tạo thành ma trận 8×8 Khi thực hiện nhân chập với bộ lọc 3×3, kết quả thu được là ma trận đầu ra 6×6, giữ nguyên kích thước của ma trận đầu vào gốc Các điểm ảnh ở cạnh của ma trận đầu vào gốc được sử dụng nhiều lần hơn, với các điểm ảnh ở góc được sử dụng 4 lần.

Theo quy ước, các ô trên đường viền phụ có giá trị bằng không và kích thước của đường viền phụ là p Đường viền phụ thường có tính đối xứng trái-phải và trên-dưới so với ma trận gốc, dẫn đến việc kích thước của ma trận đầu vào được tăng thêm 2p mỗi chiều Do đó, kích thước của ma trận đầu ra sẽ là (n+2p−f+1)×(n+2p−f+1).

Tuỳ theo giá trị của p, chúng ta có hai trường hợp chính:

- Nhân chập không dùng đường viền phụ (valid convolution) - NO padding: (n×n)∗(f×f)=>(n−f+1)×(n−f+1)

- Nhân chập không làm thay đổi kích thước đầu vào (same convolution): Kích thước đường viền phụ được tính theo công thức: n+2p−f+1=n=>p=(f−1)/2

Theo quy ước, kích thước bộ lọc f là số lẽ vì 2 lý do chính sau:

Khi f là số chẵn, cần phải thêm nhiều hơn vào bên trái của ma trận đầu vào so với bên phải, hoặc ngược lại, điều này tạo ra sự không đối xứng trong hệ đầu vào.

Nếu f là số lẻ, ma trận đầu vào sẽ có một điểm ảnh ở trung tâm Trong lĩnh vực thị giác máy tính, việc sử dụng một yếu tố khác biệt - điểm đại diện cho vị trí của bộ lọc - thường mang lại hiệu suất cao cho các bài toán.

2.2.2.3 Nhân chập sải (strided convolutions)

Trong phép nhân chập, bộ lọc di chuyển qua ma trận đầu vào theo từng hàng hoặc cột trong mỗi bước, và giá trị này có thể là 2, 3 hoặc lớn hơn Số hàng hoặc cột mà bộ lọc trượt qua trong một bước di chuyển được ký hiệu là s Kích thước của ma trận đầu ra được tính dựa trên các thông số này.

( +1, +1) Nếu không chia hết cho s, chúng ta lấy chặn dưới như trong hình minh hoạ dưới đây

Hình 2.14 Nhân chập với bước sải s=2

2.2.3.1 Phép chập khối với một bộ lọc

SƠ LƯỢC PHẦN CỨNG VÀ PHẦN MỀM

Sơ lược về phần cứng

3.1.1 Xây dựng cấu hình máy tính phục vụ đồ án

Hình 3.1 Cấu hình máy tính

Cấu hình máy tính được sử dụng trong đề tài bao gồm CPU i7-4790 với 8 nhân và xung nhịp 4.0 GHz, cùng với card đồ họa Nvidia GTX 970 có 1664 nhân CUDA, rất cần thiết cho việc nhận diện lane theo thời gian thực Tuy nhiên, card đồ họa này không được cộng đồng DeepLearning ưa chuộng do vấn đề tương thích với trình điều khiển trên các nền tảng DeepLearning hiện tại, dẫn đến những khó khăn trong việc thiết lập môi trường lập trình cho đồ án.

Camera sử dụng trong đồ án này là GoPro Hero 5 Black như hình 3.2

Camera với các tính năng nổi trội như:

- Người dùng có thể lựa chọn độ phân giải mong muốn để phù hợp với mục đích của mình

- Chống thâm nước với độ sâu lên đến 10m

- Giám sát và có thể điều khiển từ xa thông qua kết nối wifi

Chế độ WDR giúp cải thiện chất lượng hình ảnh bằng cách thu hẹp khoảng cách giữa JPEG và RAW Khi cảnh vật có sự tương phản mạnh giữa bóng tối và ánh sáng, chế độ WDR giữ cho hình ảnh sắc nét và chi tiết hơn.

Sơ lược về phần mềm

Ubuntu là một hệ điều hành máy tính dựa trên Debian GNU/Linux, nổi bật với tính ổn định và dễ cài đặt Hệ điều hành này hướng đến người dùng thông thường, mang lại trải nghiệm tiện dụng Tính đến năm 2007, Ubuntu đã trở thành bản phân phối Linux phổ biến nhất cho máy tính để bàn, chiếm khoảng 30% tổng số bản Linux được cài đặt.

Ubuntu là phần mềm mã nguồn mở tự do, người dùng được tự do chạy, sao chép,

31 phân phối, nghiên cứu, thay đổi và cải tiến phần mềm theo điều khoản của giấy phép

GN GPL buntu được cung cấp hoàn toàn miễn phí và được tài trợ bởi Canonical Ltd (chủ sở hữu là một người Nam Phi Mark Shuttleworth) [15]

Hình 3.3 Biểu tượng và giao diện hệ điều hành Ubuntu

Python là ngôn ngữ lập trình thông dịch, hướng đối tượng và ngữ nghĩa động, thuộc loại ngôn ngữ bậc cao Nó hỗ trợ module và gói, khuyến khích việc lập trình module hóa và tái sử dụng mã Trình thông dịch Python cùng với thư viện chuẩn có sẵn dưới dạng mã nguồn hoặc nhị phân miễn phí cho tất cả các nền tảng chính và có thể được phân phối tự do.

Python có khả năng kết nối dễ dàng với nhiều thành phần khác nhau như COM, NET (bao gồm IronPython và Python for NET), CORBA và Java Ngoài ra, Python cũng được hỗ trợ bởi Internet Communications Engine (ICE) và nhiều công nghệ kết nối khác Người dùng có thể viết thư viện bằng C/C++ để nhúng vào Python và ngược lại.

Python là một ngôn ngữ lập trình đa nền tảng, hỗ trợ nhiều hệ điều hành như Windows, Linux/Unix, OS/2, Mac và Amiga Ngôn ngữ này còn có phiên bản cho NET, máy ảo Java và cả điện thoại di động (Nokia Series 60) Điều đặc biệt là mã nguồn Python có thể chạy giống nhau trên tất cả các nền tảng, mang lại sự linh hoạt và tiện lợi cho người dùng.

Python có một cộng đồng lập trình viên rộng lớn và phong phú, cùng với hệ thống thư viện chuẩn và nhiều thư viện mã nguồn mở được chia sẻ trên mạng Là một ngôn ngữ mã nguồn mở, Python dễ dàng cài đặt và sử dụng, mang lại nhiều lợi ích cho người lập trình.

Giấy phép nguồn mở cho phép sử dụng và phân phối tự do, bao gồm cả mục đích thương mại Giấy phép Python được quản lý bởi Quỹ Phần mềm Python.

Python được cài đặt sẵn trên abuntu 16.04 [16]

Anaconda là nền tảng mã nguồn mở hàng đầu cho Khoa học dữ liệu trên Python, với hơn 11 triệu người dùng Đây là công cụ nhanh chóng và dễ dàng để học Khoa học dữ liệu, quản lý gói phần mềm, môi trường làm việc và phân phối các ngôn ngữ lập trình như Python và R trên các hệ điều hành Windows, Linux và Mac OS X Anaconda mang lại nhiều lợi ích cho người dùng trong việc tối ưu hóa quy trình làm việc và phát triển dự án Khoa học dữ liệu.

- Dễ dàng tải 1500+ packages về Python/R cho data science

- Quản lý thư viện, môi trường và dependency giữa các thư viện dễ dàng

- Dễ dàng phát triển mô hình machine learning và deep learning với scikit-learn, tensorflow, keras

- Xử lý dữ liệu tốc độ cao với numpy, pandas

- Hiển thị kết quả với Matplotlib, Bokeh [17]

CUDA (Compute Unified Device Architecture) is a parallel computing architecture developed by NVIDIA In essence, it enables developers to harness the power of NVIDIA GPUs for general-purpose processing, significantly enhancing computational performance and efficiency.

C DA là động cơ tính toán trong các đơn vị xử lý đồ họa (GP) của NVIDIA, cho phép lập trình viên sử dụng các ngôn ngữ lập trình phổ biến như C Để cài đặt các thuật toán trên GP, lập trình viên sử dụng ngôn ngữ C với trình biên dịch PathScale Open64 C Kiến trúc C DA hỗ trợ tất cả các chức năng tính toán thông qua ngôn ngữ C, và nhiều bên thứ ba cũng đã phát triển hỗ trợ C DA cho các ngôn ngữ như Python, Fortran, Java và MATLAB.

C DA cung cấp cho các nhà phát triển quyền truy cập vào tập hợp các chỉ lệnh ảo và bộ nhớ của các phần tử tính toán song song trong đơn vị xử lý đồ họa C DA (C DA GP).

Sử dụng C DA, các GPU mới nhất từ NVIDIA có khả năng thực hiện các phép toán tương tự như CPU Tuy nhiên, khác với CPU, GPU có kiến trúc song song, cho phép xử lý nhiều luồng dữ liệu đồng thời thay vì chỉ tập trung vào một luồng duy nhất Phương pháp giải quyết các vấn đề chung này trên GPU được gọi là GPGPU.

Việc thiết lập môi trường Cuda cho phép kích hoạt xử lý ảnh bằng card đồ họa, mang lại tốc độ xử lý nhanh hơn đáng kể so với việc sử dụng CPU.

CuDNN (thư viện CUDA® Deep Neural Network của NVIDIA) là một thư viện quan trọng giúp tăng tốc độ xử lý trên GPU cho các mạng nơ-ron sâu Thư viện này cung cấp các tối ưu hóa hiệu suất cho các thao tác tiêu chuẩn như tính toán chập tiến và lùi, gộp chung, chuẩn hóa và kích hoạt các lớp trong mạng nơ-ron.

Các nhà nghiên cứu và phát triển deep learning thường sử dụng cuDNN để tăng tốc độ GPU, giúp họ tập trung vào việc đào tạo mạng thần kinh và phát triển ứng dụng phần mềm mà không phải lo lắng về hiệu suất GPU cấp thấp cuDNN hỗ trợ nhiều deep learning frameworks phổ biến như Caffe, Caffe2, Chainer, Keras, MATLAB, MxNet, TensorFlow và PyTorch Để tận dụng các deep learning frameworks tối ưu hóa của NVIDIA, việc tích hợp cuDNN là cần thiết.

TensorFlow, hay còn gọi là Google TensorFlow, là một thư viện phần mềm miễn phí do Google phát triển, tập trung vào học máy Được phát hành dưới giấy phép nguồn mở Apache 2.0, TensorFlow ban đầu được xây dựng bởi nhóm kỹ sư và nhà nghiên cứu của Google Brain Team cho mục đích sử dụng nội bộ Đây là sự kế thừa của ứng dụng nguồn đóng DistBelief và hiện đang được Google áp dụng cho cả nghiên cứu và sản xuất TensorFlow cũng là dự án đầu tiên được triển khai nghiêm túc với trọng tâm vào học sâu (deep learning).

CHƯƠNG TRÌNH ĐIỀU KHIỂN NHẬN DIỆN LÀN ĐƯỜNG

THỰC NGHIỆM VÀ KẾT QUẢ THỰC NGHIỆM

Ngày đăng: 06/06/2022, 02:28

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Điểm ảnh (Pixel) - Ứng dụng tri tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2.1 Điểm ảnh (Pixel) (Trang 11)
Ví dụ: Độ phân giải của ảnh trên màn hình CGA (Color Graphic Adaptor) là một lưới điểm theo chiều ngang màn hình: 320 điểm chiều dọc * 200 điểm ảnh (320*200) - Ứng dụng tri tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
d ụ: Độ phân giải của ảnh trên màn hình CGA (Color Graphic Adaptor) là một lưới điểm theo chiều ngang màn hình: 320 điểm chiều dọc * 200 điểm ảnh (320*200) (Trang 12)
Hình 2.3 Hệ tọa độ RGB - Ứng dụng tri tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2.3 Hệ tọa độ RGB (Trang 14)
Hình 2.5 Không gian màu CMYK - Ứng dụng tri tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2.5 Không gian màu CMYK (Trang 16)
Hình 2.6 Ảnh xám (bên trái) và ảnh nhị phân (bên phải) - Ứng dụng tri tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2.6 Ảnh xám (bên trái) và ảnh nhị phân (bên phải) (Trang 17)
Hình 2.10 Các thành ph n cơ bản của hệ thống xử lý ảnh - Ứng dụng tri tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2.10 Các thành ph n cơ bản của hệ thống xử lý ảnh (Trang 23)
Hình 2.12 Nhân bộ lọ ck với ma trận đu và oI - Ứng dụng tri tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2.12 Nhân bộ lọ ck với ma trận đu và oI (Trang 27)
Hình 2.11 Bộ lọc được sử dụng trong lớp tích chập đu tiên là các ma trận ích thước 3x3 - Ứng dụng tri tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2.11 Bộ lọc được sử dụng trong lớp tích chập đu tiên là các ma trận ích thước 3x3 (Trang 27)
Hình 2.13 Ma trận đu à được bao quanh bởi đường viền phụ ích thướ cp (giá trị 0) - Ứng dụng tri tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2.13 Ma trận đu à được bao quanh bởi đường viền phụ ích thướ cp (giá trị 0) (Trang 28)
Hình 2.15 Phép nhân chập khối - Ứng dụng tri tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2.15 Phép nhân chập khối (Trang 30)
Hình 2.16 Ba lớp của bộ lọc có thể được cấu hình hác nhau để phát hiện đặc trưng trên một, hai hoặc cả ba kênh màu của ảnh đ u vào. - Ứng dụng tri tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2.16 Ba lớp của bộ lọc có thể được cấu hình hác nhau để phát hiện đặc trưng trên một, hai hoặc cả ba kênh màu của ảnh đ u vào (Trang 31)
Hình 2.19 Ví dụ pooling theo giá trị cực đại - Ứng dụng tri tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2.19 Ví dụ pooling theo giá trị cực đại (Trang 34)
Bảng 2.1 Tổng kết tham số tại mỗi lớp CNN - Ứng dụng tri tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Bảng 2.1 Tổng kết tham số tại mỗi lớp CNN (Trang 35)
3.1.1. Xây dựng cấu hình máy tính phục vụ đồ án - Ứng dụng tri tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
3.1.1. Xây dựng cấu hình máy tính phục vụ đồ án (Trang 37)
Hình 3.3 Biểu tượng và giao diện hệ điều hành Ubuntu - Ứng dụng tri tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 3.3 Biểu tượng và giao diện hệ điều hành Ubuntu (Trang 39)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w