1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế mô hình hệ thống hướng dẫn tài xế trong bãi xe thông minh

74 6 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 đề Thiết Kế Mô Hình Hệ Thống Hướng Dẫn Tài Xế Trong Bãi Xe Thông Minh
Tác giả Nguyễn Minh Trường, Hà Hữu Đạt
Người hướng dẫn ThS. Lê Minh Thành
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Điện Tử - Truyền Thông
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2021
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 74
Dung lượng 5,72 MB

Cấu trúc

  • Page 1

Nội dung

TỔNG QUAN

TÌNH HÌNH NGHIÊN CỨU

Hiện nay, Việt Nam đang tiến tới công nghiệp hóa hiện đại hóa với sự phát triển của khoa học kỹ thuật, trong đó công nghệ Internet vạn vật (IOT) đóng vai trò quan trọng IOT kết nối các cảm biến và thiết bị thông minh, giúp chúng có khả năng lập trình và tương tác với con người Công nghệ này được áp dụng rộng rãi trong quản lý môi trường, mua sắm thông minh và tự động hóa ngôi nhà Đặc biệt, với lượng phương tiện đông đúc, vấn đề đỗ xe trở nên cấp bách, dẫn đến việc nhiều trung tâm thương mại lớn như Vincom Đồng Khởi đã triển khai mô hình bãi đỗ xe thông minh nhằm tiết kiệm thời gian tìm kiếm chỗ đậu Tại Đà Nẵng, một bãi đỗ xe thông minh với kinh phí gần 28 tỷ đồng đã được đưa vào sử dụng, hoạt động theo hệ thống xếp hình tự động của Nhật Bản.

Hình 1.1: Bãi đỗ xe 6 tầng ở Đà Nẵng [1]

Nhiều nghiên cứu quốc tế hiện nay đang tập trung vào vấn đề đỗ xe nhằm giải quyết việc tìm kiếm chỗ trống và giảm ùn tắc khi vào bãi xe Hệ thống thông tin và hướng dẫn đỗ xe PGI (Parking Guidance and Information) đã được phát triển bởi hai tác giả Chen và Chang.

Hệ thống PGI được phát triển vào năm 2011 nhằm cung cấp thông tin chính xác và cập nhật về chỗ đậu xe, giúp người dùng dễ dàng tìm kiếm các vị trí còn trống Nghiên cứu của Ichihashi và cộng sự (2009) chỉ ra rằng hệ thống PGI dựa trên camera có nhiều lợi thế so với các hệ thống hiện tại, bao gồm không cần cơ sở hạ tầng bổ sung, khả năng cung cấp vị trí chính xác của các bãi đậu xe trống và tính ứng dụng cao cho các khu vực đỗ xe trên đường và khu dân cư Tại Mỹ và Anh, các mô hình bãi giữ xe thông minh đã được áp dụng để giảm thiểu tình trạng kẹt xe tại các trung tâm thương mại Tuy nhiên, ở Việt Nam, vẫn còn nhiều hạn chế về kỹ thuật và tài chính, dẫn đến tình trạng bãi giữ xe còn chỗ nhưng vẫn bị kẹt cứng Do đó, đề tài “Thiết kế mô hình hệ thống hướng dẫn tài xế trong bãi xe thông minh” trở nên cấp thiết trong bối cảnh số lượng ô tô ngày càng tăng, nhằm cải thiện hiệu quả tìm kiếm chỗ đậu xe thông qua việc tích hợp xử lý ảnh từ camera.

MỤC TIÊU ĐỀ TÀI

Để thực hiện đề tài, cần tìm hiểu về công nghệ AI và IoT, cùng với ứng dụng của chúng trong đời sống, đặc biệt là giám sát nhà xe thông minh qua IoT Nhóm nghiên cứu mạng nơron tích chập để xác định chỗ trống trong nhà xe Cuối cùng, nhóm xây dựng mô hình bãi giữ xe với khoảng 15 vị trí.

GIỚI HẠN ĐỀ TÀI

 Camera cung cấp hình ảnh không chất lượng dẫn đến trong quá trình nhận dạng xảy ra sai sót

 Hệ thống áp dụng cho xe từ 7 chỗ trở xuống

 Xe nhỏ hơn có thể bị che khuất bởi những xe lớn khi góc nhìn camera không tới

 Những hình ảnh được chụp bởi góc nghiêng của camera cho kết quả có độ chính xác chưa cao Camera phải được đặt cố định

BỐ CỤC ĐỀ TÀI

Quyển báo cáo sẽ gồm 5 chương Nội dung từng chương sẽ là:

Chương 1: Tổng quan Ở chương 1, nhóm trình bày tổng quan về đề tài, sơ bộ về tình hình nghiên cứu ở trong nước và ngoài nước, mục tiêu và giới hạn của đề tài, sau đó là bố cục chính của đề tài

Chương 2: Cơ sở lý thuyết

Trong chương 2, các lý thuyết về xử lý ảnh, mạng nơron tích chập và những lý thuyết liên quan đến đề tài sẽ được đề cập đến

Chương 3: Thiết kế mô hình hệ thống Ở chương 3, nhóm sẽ đưa ra sơ đồ khối, chức năng từng khối và hoạt động của hệ thống Sau đó, trình bày lưu đồ giải thuật của chương trình chính và các chương trình con

Chương 4: Kết quả thực hiện

Chương 4 sẽ thể hiện kết quả của hệ thống cả phần cứng lẫn phần mềm Sau đó, nhóm sẽ trình bày về các trường hợp khác nhau và đưa ra nhận xét về từng trường hơp, những giải pháp khi hệ thống hoạt động không chính xác

Chương 5: Kết luận và hướng phát triển

Trong chương 5, nhóm sẽ trình bày những kiến thức thu được từ quá trình nghiên cứu đề tài, nêu rõ các ưu điểm của mô hình, đồng thời chỉ ra những điểm cần cải thiện để mô hình có thể được áp dụng rộng rãi trong thực tế trong tương lai.

CƠ SỞ LÝ THUYẾT

TỔNG QUAN VỀ XỬ LÝ ẢNH

Xử lý ảnh là một lĩnh vực khoa học và công nghệ đang phát triển nhanh chóng, thu hút sự quan tâm từ các trung tâm nghiên cứu và ứng dụng Ngành này ra đời nhằm đáp ứng nhu cầu ngày càng cao trong cuộc sống, đặc biệt là với sự phát triển của máy tính chuyên dụng cho xử lý ảnh.

Các phương pháp xử lý ảnh đã phát triển từ những ứng dụng nâng cao chất lượng hình ảnh như cải thiện độ sáng và độ phân giải, đặc biệt trong giai đoạn thiết bị phần cứng còn hạn chế Sự bùng nổ của công nghệ máy tính đã thúc đẩy việc áp dụng các thuật toán xử lý ảnh, mở rộng ứng dụng sang nhiều lĩnh vực như viễn thông, điều khiển tự động, giao thông thông minh và kỹ thuật y sinh Đặc biệt, các thiết bị kỹ thuật số hiện đại như máy tính xách tay, camera kỹ thuật số, điện thoại thông minh và ti vi thông minh luôn ưu tiên tài nguyên cho việc xử lý hình ảnh.

2.1.2 Các giai đoạn xử lý ảnh

Hình 2.1: Các bước trong xử lý ảnh

Ảnh có thể thu nhận qua camera màu hoặc với tần số 1/25, mỗi ảnh gồm 25 dòng Có loại camera đã số hóa như CCD (Change Coupled Device), sử dụng photodiot để tạo cường độ sáng tại mỗi điểm ảnh Camera quét dòng thường được sử dụng, tạo ra ảnh dạng hai chiều Chất lượng ảnh thu nhận phụ thuộc vào thiết bị và môi trường như ánh sáng và phong cảnh.

Tiền xử lý ảnh là bước quan trọng sau khi thu nhận hình ảnh, nhằm cải thiện chất lượng ảnh có thể bị nhiễu và độ tương phản thấp Bộ tiền xử lý thực hiện chức năng lọc nhiễu và nâng cao độ tương phản, giúp ảnh trở nên rõ ràng và sắc nét hơn.

Biểu diễn ảnh Nhận dạng ảnh

Phân đoạn ảnh là quá trình tách một bức ảnh thành các vùng thành phần nhằm phục vụ cho việc phân tích và nhận dạng Đây là một trong những bước phức tạp và dễ gây lỗi nhất trong xử lý ảnh, ảnh hưởng lớn đến độ chính xác của kết quả Chất lượng nhận dạng ảnh phụ thuộc nhiều vào hiệu quả của công đoạn phân đoạn này.

Biểu diễn ảnh sau phân đoạn bao gồm các điểm ảnh của vùng ảnh đã phân đoạn cùng với mã liên kết các vùng lân cận Việc chuyển đổi dữ liệu này thành định dạng phù hợp là cần thiết cho quá trình xử lý tiếp theo bằng máy tính Trích chọn đặc trưng là quá trình lựa chọn các tính chất để thể hiện ảnh, giúp tách biệt các đặc tính của ảnh thành thông tin định lượng, từ đó phân biệt các lớp đối tượng khác nhau Ví dụ, trong nhận dạng ký tự trên phong bì thư, chúng ta mô tả các đặc trưng của từng ký tự để phân biệt chúng.

Nhận dạng ảnh là quá trình xác định hình ảnh bằng cách so sánh với mẫu chuẩn đã được học trước Quá trình này bao gồm nội suy, tức là phán đoán theo ý nghĩa từ nhận dạng, ví dụ như việc chuyển đổi các chữ số và nét gạch ngang trên phong bì thành mã điện thoại Theo lý thuyết nhận dạng, có hai loại cơ bản: nhận dạng theo tham số và nhận dạng theo cấu trúc Một số ứng dụng phổ biến hiện nay trong khoa học và công nghệ bao gồm nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận dạng văn bản, nhận dạng vân tay, nhận dạng mã vạch và nhận dạng khuôn mặt.

2.1.3 Những khái niệm cơ bản trong xử lý ảnh [3] Điểm ảnh: Là một phần tử của ảnh số tại toạ độ (x,y) với độ xám hoặc màu nhất định Mỗi điểm ảnh biểu diễn một màu sắc nhất định (hay độ sáng với ảnh đen trắng) tại một điểm duy nhất Độ phân giải: Với cùng một ảnh, càng nhiều điểm được lấy mẫu thì ảnh chụp càng chi tiết Mật độ điểm ảnh trong một ảnh được xem như độ phân giải của chính nó Ảnh có độ phân giải càng cao thì càng chứa nhiều thông tin Nói một cách chính xác, khi giữ ảnh tại cùng một kích thước vật lý thì ảnh trở nên sắc nét hơn và chi tiết hơn nếu độ phân giải cao hơn Ảnh RGB: Ảnh này được biểu diễn bởi một ma trận ba chiều có kích thước m x n x 3, với m x n là kích thước ảnh theo điểm ảnh Ma trận này định nghĩa các thành phần màu red, green, blue cho mỗi điểm ảnh

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

Các giá trị mức xám thông thường 16, 32, 64, 128, 256

Lược đồ mức xám (histogram) là một hàm thể hiện tần suất xuất hiện của từng mức xám trong ảnh Biểu diễn toán học của lược đồ mức xám cho ảnh số có 256 mức xám được mô tả bằng một hàm rời rạc, với p(fk) nằm trong khoảng [0,1].

𝑛 (1) Trong đó : fk là giá trị mức xám thứ k (k = 0,1,…,L-1) nk là số pixel mức xám đó n là tổng số pixel của ảnh

Khôi phục ảnh là quá trình phục hồi hình ảnh gốc từ những bức ảnh bị biến dạng, nhằm cải thiện chất lượng hình ảnh để gần đạt được độ chân thực như ảnh thật, ngay cả khi ảnh bị méo mó.

Phân đoạn ảnh là quá trình chia tách hình ảnh thành các vùng có thuộc tính tương đồng Đối với ảnh đơn sắc, thuộc tính cơ bản để phân đoạn là độ chói, trong khi đối với ảnh màu, các thành phần màu là yếu tố chính để thực hiện phân đoạn.

TỔNG QUAN VỀ CÔNG NGHỆ AI

Trí tuệ nhân tạo (AI) là một công nghệ tiên tiến được phát triển bởi các "gã khổng lồ" công nghệ, nhằm mô phỏng quá trình học tập, tư duy và suy nghĩ của con người AI cho phép máy học thông qua việc tự thu thập và xử lý thông tin, đồng thời áp dụng các quy tắc để đưa ra những lập luận chính xác Hệ thống này còn có khả năng tự sửa lỗi, nâng cao hiệu quả trong việc xử lý dữ liệu.

Hình 2.2: Công nghệ AI 2.2.2 Một số ứng dụng của AI trong đời sống

Trợ lý ảo sử dụng trí tuệ nhân tạo để cải thiện khả năng xử lý yêu cầu, nhờ vào việc học hỏi thói quen sinh hoạt của người dùng và dự đoán cảm xúc Bên cạnh đó, trợ lý ảo còn có khả năng tự động đưa ra quyết định và lên lịch hẹn cho người dùng dựa trên các yếu tố như tình hình giao thông và thời tiết.

Hình 2.3: Trợ lý ảo SIRI của Apple

Trong lĩnh vực y tế: Thông qua thị giác máy tính và mạng lưới thần kinh tích chập,

AI hiện nay có khả năng quét hình ảnh cộng hưởng từ để phát hiện khối u và các dấu hiệu ác tính với tốc độ nhanh hơn bác sĩ x-quang, đồng thời giảm thiểu sai số một cách đáng kể.

Hình 2.4: AI chẩn đoán ung thư phổi

Nhà thông minh đang trở thành tương lai của công nghệ nhà ở nhờ vào trí tuệ nhân tạo (AI) Các bộ lõi của hệ thống này có khả năng học hỏi và ghi nhớ thói quen, hành vi cũng như lệnh giọng nói của người dùng, từ đó tích hợp với xu hướng Internet of Things (IoT) để tạo ra trải nghiệm sống tiện nghi và thông minh hơn.

Hình 2.5: Mẫu nhà thông minh mới Cube Two

HỌC SÂU

Học sâu (Deep Learning) là một lĩnh vực con của trí tuệ nhân tạo (AI) và máy học, chuyên nghiên cứu các mạng nơron nhân tạo Lĩnh vực này nhằm cải thiện các công nghệ như nhận diện giọng nói, thị giác máy tính và xử lý ngôn ngữ tự nhiên.

Học sâu đang nổi lên như một lĩnh vực quan trọng trong khoa học máy tính, mang lại những tiến bộ đáng kể trong nhiều lĩnh vực như nhận diện sự vật, dịch tự động và nhận diện giọng nói Những vấn đề này từng là thách thức lớn đối với các nhà nghiên cứu trí tuệ nhân tạo, nhưng giờ đây đã có những bước tiến vượt bậc nhờ vào học sâu.

Một số ứng dụng của học sâu:

- Hệ thống xử lý trên các nền tảng

- Xử lý ngôn ngữ tự nhiên.

MẠNG NƠRON TÍCH CHẬP

2.4.1 Tổng quan về mạng nơron tích chập

Mạng Nơron tích chập (CNN) là một trong những mô hình học sâu hàng đầu và có ảnh hưởng lớn trong cộng đồng thị giác máy tính CNN được ứng dụng rộng rãi trong nhiều lĩnh vực như nhận diện ảnh, phân tích video, hình ảnh MRI, và cả trong xử lý ngôn ngữ tự nhiên, với khả năng giải quyết hiệu quả các bài toán phức tạp.

Mô hình CNN có lịch sử lâu dài, bắt đầu từ những năm 1980 khi một nhà khoa học máy tính Nhật Bản giới thiệu kiến trúc gốc Năm 1998, Yan LeCun đã lần đầu tiên huấn luyện mô hình CNN với thuật toán lan truyền ngược để nhận dạng chữ viết tay Tuy nhiên, sự bùng nổ thực sự của CNN diễn ra vào năm 2012 khi Alex Krizhevsky, một nhà khoa học máy tính người Ukraine, phát triển mô hình AlexNet và sử dụng GPU để tăng tốc quá trình huấn luyện deepnets Mô hình này đã đạt được thành công vượt trội tại cuộc thi ImageNet, giảm hơn 10% độ lỗi phân lớp top 5 so với các mô hình truyền thống, từ đó thúc đẩy việc áp dụng CNN sâu trong nhiều ứng dụng thị giác máy tính.

Hình 2.6: Tổng quan về mạng nơron tích chập [4]

2.4.2 Các lớp cơ bản của CNN [12]

Mạng nơ-ron tích chập (CNN) bao gồm các lớp cơ bản như lớp chập, lớp tổng hợp, lớp relu và lớp kết nối đầy đủ, được sắp xếp theo một thứ tự nhất định Quá trình xử lý bắt đầu khi một ảnh được truyền qua lớp chập và lớp phi tuyến tính đầu tiên, sau đó các giá trị được tính toán sẽ tiếp tục lan truyền qua lớp tổng hợp Bộ ba lớp chập, lớp phi tuyến tính và lớp tổng hợp có thể được lặp lại nhiều lần trong mạng Cuối cùng, thông tin được truyền qua lớp kết nối đầy đủ và lớp softmax để xác định xác suất của các đối tượng trong ảnh.

Lớp chập là một thành phần quan trọng trong mạng nơ-ron tích chập (CNN), nơi diễn ra các phép toán chính Trong lớp này, các khái niệm như bản đồ lọc, bước nhảy, đệm và bản đồ đặc trưng được sử dụng để tối ưu hóa quá trình xử lý dữ liệu hình ảnh.

+ Bản đồ lọc (Filter map) là một ma trận 3 chiều trong đó bao gồm các con số và các con số đó là tham số

+ Bước nhảy (Stride) biểu diễn sự dịch chuyển bản đồ lọc theo điểm ảnh dựa vào một giá trị từ trái sang phải

+ Đệm (Padding) là những giá trị được thêm vào lớp đầu vào

Bản đồ đặc trưng (Feature map) là kết quả của mỗi lần quét của bản đồ lọc qua đầu vào, trong đó mỗi lần quét đều trải qua một quá trình tính toán để tạo ra các thông tin quan trọng.

Hình 2.7: Ví dụ về lớp chập CNN

- Lớp gộp: Là những lớp được xếp vào giữa các lớp chập để là giảm các tham số

Có 2 loại phổ biến là gộp theo giá trị lớn nhất và gộp theo giá trị trung bình

Hình 2.8: Ví dụ về lớp gộp trong mạng CNN

Hàm kích hoạt ReLU (Rectified Linear Unit) là một thành phần quan trọng trong mạng nơron, giúp mô phỏng tỷ lệ truyền xung qua sợi trục của các nơron ReLU hiện đang được sử dụng rộng rãi trong việc huấn luyện mạng nơron nhờ vào những ưu điểm nổi bật của nó Tuy nhiên, khi áp dụng ReLU, người dùng cần chú ý điều chỉnh tốc độ học tập và theo dõi các đơn vị bị loại ra trong quá trình huấn luyện để đạt hiệu quả tối ưu.

Hình 2.9: Ví dụ về lớp Relu trong mạng CNN

Lớp kết nối đầy đủ trong mô hình CNN có nhiệm vụ chuyển đổi ma trận đặc trưng thành vector xác suất cho các đối tượng dự đoán Quá trình huấn luyện mô hình cho bài toán phân loại ảnh tương tự như các mô hình khác, bao gồm việc sử dụng hàm độ lỗi để tính sai số giữa dự đoán và thực tế, cùng với thuật toán lan truyền ngược để cập nhật trọng số.

Hình 2.10: Ví dụ về lớp kết nối đầy đủ trong mạng CNN

Mạng CNN bao gồm nhiều lớp chồng chéo, sử dụng hàm kích hoạt để điều chỉnh trọng số Mỗi lớp sau khi kích hoạt tạo ra kết quả trừu tượng cho lớp tiếp theo, thể hiện sự tiến bộ từ lớp trước Qua quá trình huấn luyện, mạng CNN tự động học các giá trị thông qua các lớp lọc, cải thiện khả năng nhận diện và phân loại dữ liệu.

Cấu trúc cơ bản của mạng CNN gồm 3 phần chính:

- Trường tiếp nhận cục bộ: Giúp chúng ta tách lọc dữ liệu, thông tin của ảnh và chọn được những vùng ảnh có giá trị sử dụng nhất

- Trọng số chia sẻ: Làm giảm tối đa số lượng các tham số trong mạng CNN

Lớp tổng hợp giúp đơn giản hóa thông tin đầu ra và đạt được kết quả mong muốn Để lựa chọn tham số cho mạng CNN, cần chú ý đến số lượng các mục như số lớp chập, kích thước bộ lọc, kích thước bộ tổng hợp và quá trình thử huấn luyện.

Số lượng lớp chập trong chương trình càng nhiều thì hiệu suất hoạt động càng được cải thiện Việc sử dụng nhiều lớp sẽ giúp giảm thiểu các tác động không mong muốn một cách đáng kể.

- Kích thước bộ lọc: Thông thường các bộ lọc sẽ có kích thước 3x3 hoặc 5x5

Kích thước bộ tổng hợp ảnh rất quan trọng; đối với hình ảnh thông thường, kích thước 2x2 là lựa chọn tối ưu, trong khi đó, nếu đầu vào là hình ảnh lớn, kích thước 4x4 sẽ được sử dụng để đảm bảo chất lượng.

- Thử huấn luyện: Việc thử huấn luyện nên được thực hiện nhiều lần sẽ cho ra được các tham số tốt nhất

Những thuật toán xây dựng từ kiến trúc của mạng CNN: LeNet, AlexNet, VGGNet, GoogLeNet, ResNet, ZFNet.

MẠNG RESNET50

ResNet (Residual Network) được giới thiệu vào năm 2015 và đã giành vị trí thứ nhất trong cuộc thi ILSVRC 2015 với tỷ lệ lỗi top 5 chỉ 3.57% Nó cũng đứng đầu trong các cuộc thi ILSVRC và COCO 2015 về ImageNet Detection, ImageNet Localization, Coco Detection và Coco Segmentation Hiện nay, có nhiều biến thể của kiến trúc ResNet với số lớp khác nhau, bao gồm ResNet-18, ResNet-34, ResNet-50, ResNet-101 và ResNet-152, với tên gọi ResNet kèm theo số lượng lớp tương ứng.

Ý tưởng chính của ResNet là sử dụng kết nối tắt đồng nhất để vượt qua nhiều lớp, giúp loại bỏ cản trở cho độ dốc và cải thiện hiệu suất của thuật toán lan truyền ngược Các kết nối tắt áp dụng hàm super-highway kích hoạt độ dốc, cho phép tồn tại nhiều đường dẫn với độ dài đa dạng từ đầu vào đến đầu ra.

Hình 2.11: Cấu trúc của mạng ResNet-50

Hình 2.12: Kết nối xuyên qua một hoặc nhiều lớp của ResNet

ResNet tương tự như các mạng nơ-ron bao gồm lớp chập, lớp tổng hợp, hàm kích hoạt và lớp kết nối đầy đủ Hình ảnh minh họa khối dư trong mạng, với một mũi tên cong từ đầu đến cuối khối dư Mục tiêu là đạt được H(x) gần bằng hoặc bằng F(x), trong đó H(x) là giá trị dự đoán và F(x) là giá trị thực (nhãn) F(x) được xác định từ x theo một quy trình cụ thể.

Giá trị H(x) có được bằng cách:

So sánh giữa VGGNet và ResNet:

Hình 2.13: So sánh giữa VGGNet và ResNet

Hình 2.13(a): VGG-19 là một mô hình CNN sử dụng kernel 3x3 trên toàn bộ mạng, VGG-19 cũng đã giành được ILSVRC năm 2014

Hình 2.13(b): ResNet sử dụng các kết nối tắt ( kết nối trực tiếp đầu vào của lớp

Mô hình với (n) và (n+x) được thể hiện dưới dạng mũi tên cong cho thấy khả năng cải thiện hiệu suất trong quá trình huấn luyện mẫu, đặc biệt khi mô hình có hơn 20 lớp.

Hình 2.13(c) cho thấy rằng 12 đầu ra từ ResNet-152 và VGG-19 đã được sử dụng làm đầu vào cho mạng với 2 lớp ẩn Đầu ra cuối cùng được tính toán qua hai lớp ẩn mà không làm giảm hiệu suất mạng Kiến trúc này cho phép các lớp phía trên nhận thông tin trực tiếp hơn từ các lớp dưới, từ đó điều chỉnh trọng số một cách hiệu quả hơn.

THUẬT TOÁN STOCHASTIC GRADIENT DESCENT

Stochastic Gradient Descent (SGD) là một biến thể của thuật toán gradient descent, thực hiện tính toán độ dốc và cập nhật ma trận trọng số W trên các bộ dữ liệu nhỏ thay vì toàn bộ tập huấn luyện Mặc dù các bản cập nhật trong SGD có nhiều nhiễu hơn, nhưng nó cho phép thực hiện nhiều bước học theo gradient hơn, dẫn đến sự hội tụ nhanh hơn mà không làm ảnh hưởng tiêu cực đến mất mát và độ chính xác phân loại.

Thuật toán SGD (Stochastic Gradient Descent) được xem là một trong những phương pháp quan trọng nhất trong việc đào tạo mạng lưới thần kinh sâu Dù đã được giới thiệu cách đây hơn 57 năm, SGD vẫn là công cụ chủ chốt giúp chúng ta huấn luyện các mạng lớn, từ đó phát hiện và học hỏi các mẫu từ các điểm dữ liệu.

Một cách thứ tự lựa chọn điểm dữ liệu:

Sau mỗi epoch, việc xáo trộn thứ tự dữ liệu là rất quan trọng để đảm bảo tính ngẫu nhiên, điều này có ảnh hưởng đáng kể đến hiệu suất của thuật toán SGD.

Trong toán học, quy tắc cập nhật của Stochastic Gradient Descent (SGD) được biểu diễn bằng công thức: θ = θ − η∇θ J(θ; xi; yi), trong đó J(θ; xi; yi) là hàm mất mát dựa trên một cặp dữ liệu (input, label) (xi, yi) Đặc biệt, các thuật toán tăng tốc Gradient Descent như Momentum và AdaGrad có thể được áp dụng để cải thiện hiệu suất của SGD.

NGÔN NGỮ YAML

YAML (YAML Ain't Markup Language) là ngôn ngữ tuần tự hóa dữ liệu (Data

Serialization Language), giúp con người dễ đọc hiểu, tương tự như JSON và XML

Nó sử dụng định dạng thụt đầu dòng (giống python) để xác định cấu trúc

- Để nhập và xuất dữ liệu tới và từ một máy chủ

- Cấu hình ứng dụng với một file duy nhất Những file này chỉ định tham số cấu hình và những giá trị tương ứng của nó

- Truyền dữ liệu giữa hai thành phần khác nhau trong một ứng dụng

- Lưu trữ dữ liệu trung gian

YAML là một định dạng biểu diễn dữ liệu dưới dạng văn bản, tương tự như XML và JSON, và thường được lưu với phần mở rộng yml hoặc yaml So với nhiều ngôn ngữ khác, YAML dễ đọc hơn, làm cho nó trở thành lựa chọn phổ biến cho các file cấu hình trong nhiều ứng dụng như PHP và Docker.

YAML sử dụng cú pháp viết với khoảng trắng (space), phần tử dữ liệu con viết thụt vào 2 khoảng trắng so với dữ liệu cha [7]

THƯ VIỆN KERAS

Keras là một thư viện mã nguồn mở được phát triển vào năm 2015 bởi François Chollet, một kỹ sư nghiên cứu học sâu tại Google Được viết bằng ngôn ngữ Python, Keras cung cấp API bậc cao cho mạng nơron và có khả năng tích hợp với các thư viện học sâu nổi tiếng như TensorFlow, CNTK và Theano.

Keras có một số ưu điểm như:

- Dễ sử dụng, xây dựng model nhanh Có thể chạy trên cả CPU và GPU

- Hỗ trợ xây dựng CNN, RNN và có thể kết hợp cả 2

Hình 2.14: Cấu trúc của Keras

Hàm để xây dựng khung cho model

Hàm dùng để tiền xử lý dữ liệu

Hàm ở trong khung của model

Hình 2.15: Thành phần chính của model Keras

Hình 2.16: Các lớp trong mô hình Keras [8]

NGÔN NGỮ PYTHON

Python là một ngôn ngữ lập trình thông dụng do Guido van Rossum tạo ra năm

Python, được phát triển vào năm 1990, là một ngôn ngữ lập trình hoàn toàn động, sử dụng cơ chế cấp phát bộ nhớ tự động, tương tự như Perl, Ruby, Scheme, Smalltalk và Tcl Dự án Python được quản lý bởi tổ chức phi lợi nhuận Python Software Foundation Ngôn ngữ này nổi bật với hình thức sáng sủa và cấu trúc rõ ràng, rất phù hợp cho người mới bắt đầu học lập trình, đồng thời cho phép người dùng viết lệnh với số lần gõ phím tối thiểu.

Python ban đầu được phát triển cho hệ điều hành Unix, nhưng đã mở rộng sang nhiều hệ điều hành khác như MS-DOS, Mac OS, OS/2, Windows và Linux Sự phát triển của Python có sự đóng góp của nhiều cá nhân, nhưng Guido van Rossum vẫn là tác giả chính hiện nay.

Lớp trong mô hình Keras

Lớp tích chập Lớp gộp Lớp lặp lại Lớp nhúng

19 chủ yếu của Python Ông giữ vai trò chủ chốt trong việc quyết định hướng phát triển của Python

Python là một ngôn ngữ lập trình đơn giản và dễ học, với cú pháp rõ ràng, dễ đọc và viết hơn so với các ngôn ngữ khác như C++, Java hay C# Sự dễ dàng này giúp lập trình viên tập trung vào việc tìm kiếm giải pháp thay vì lo lắng về cú pháp, làm cho quá trình lập trình trở nên thú vị hơn.

Python là một ngôn ngữ lập trình miễn phí và mã nguồn mở, cho phép người dùng tự do sử dụng, phân phối và áp dụng cho cả mục đích thương mại Với tính chất mã nguồn mở, bạn không chỉ có thể sử dụng các phần mềm và chương trình được phát triển bằng Python mà còn có khả năng thay đổi mã nguồn theo nhu cầu của mình.

Khả năng di chuyển của các chương trình Python cho phép chúng chạy trên nhiều nền tảng khác nhau mà không cần thay đổi, bao gồm Windows, macOS và Linux.

Khả năng mở rộng và nhúng của Python cho phép bạn tích hợp dễ dàng các đoạn mã từ C, C++ và các ngôn ngữ khác, mang lại cho ứng dụng của bạn tính năng vượt trội và khả năng viết kịch bản linh hoạt mà các ngôn ngữ lập trình khác khó thực hiện.

Ngôn ngữ Python là một ngôn ngữ thông dịch cấp cao, giúp lập trình viên không phải lo lắng về việc quản lý bộ nhớ hay dọn dẹp dữ liệu không cần thiết như trong C/C++ Khi chạy mã Python, hệ thống sẽ tự động chuyển đổi mã nguồn sang ngôn ngữ máy tính, cho phép người dùng tập trung vào việc phát triển ứng dụng mà không cần quan tâm đến các hoạt động ở cấp thấp.

Python sở hữu một kho thư viện tiêu chuẩn phong phú, giúp đơn giản hóa các tác vụ lập trình phổ biến Điều này cho phép lập trình viên tiết kiệm thời gian và công sức, vì họ không cần phải viết lại toàn bộ mã nguồn từ đầu.

Lập trình hướng đối tượng (OOP) trong Python cho phép bạn giải quyết các vấn đề phức tạp một cách trực quan bằng cách chia nhỏ chúng thành những phần dễ quản lý hơn thông qua việc tạo ra các đối tượng Mọi thứ trong Python đều mang tính chất hướng đối tượng, giúp tối ưu hóa quy trình lập trình và nâng cao khả năng tổ chức mã nguồn.

Lập trình ứng dụng web cho phép bạn phát triển các web app có khả năng mở rộng (scalable) hiệu quả, thông qua việc sử dụng các framework và hệ thống quản trị nội dung (CMS) phù hợp.

Python là một ngôn ngữ lập trình mạnh mẽ, thường được sử dụng để phát triển ứng dụng web Một số framework phổ biến để xây dựng web app bao gồm Django, Flask, Pyramid, Plone và Django CMS Nhiều trang web nổi tiếng như Mozilla, Reddit, Instagram và PBS đều được phát triển bằng Python.

Python là ngôn ngữ lập trình mạnh mẽ với nhiều thư viện phục vụ cho khoa học và tính toán, bao gồm SciPy và NumPy cho các tính toán chung Ngoài ra, các thư viện chuyên dụng như EarthPy cho khoa học trái đất và AstroPy cho thiên văn học cũng rất phổ biến Python còn được ứng dụng rộng rãi trong máy học, khai thác dữ liệu và học sâu, giúp nâng cao khả năng phân tích và xử lý dữ liệu.

Python, mặc dù chậm hơn so với các ngôn ngữ biên dịch như C++ và Java, vẫn là lựa chọn tuyệt vời cho việc tạo nguyên mẫu phần mềm Khi nguồn lực hạn chế và yêu cầu về hiệu suất không quá nghiêm ngặt, Python cho phép phát triển nhanh chóng và hiệu quả các bản chạy thử.

Python là ngôn ngữ lập trình được ưa chuộng bởi nhiều công ty và trường học trong việc giảng dạy lập trình cho trẻ em và người mới bắt đầu Với cú pháp đơn giản và dễ sử dụng, Python không chỉ sở hữu nhiều tính năng tuyệt vời mà còn là lựa chọn lý tưởng cho những ai lần đầu tiếp cận lập trình.

THƯ VIỆN OPEN CV

Open CV (Open Source Computer Vision) là dự án bắt đầu tại hãng Intel vào năm

OpenCV, được sáng lập bởi Gary Bradsky vào năm 1999 và ra mắt lần đầu vào năm 2000, đã trải qua nhiều cải tiến dưới sự quản lý của Vadim Pisarevsky và sự hỗ trợ từ Willow Garage Hiện nay, OpenCV cung cấp một loạt các thuật toán phong phú cho lĩnh vực thị giác máy tính và học máy, trở thành công cụ quan trọng trong nghiên cứu và phát triển công nghệ hiện đại.

OpenCV hỗ trợ nhiều ngôn ngữ lập trình như C++, Python, Java và hoạt động trên các hệ điều hành như Windows, Linux, OS X, Android, và iOS Bên cạnh đó, OpenCV còn tận dụng card đồ họa GPU để tăng cường tốc độ xử lý.

Một số module trong thư viện Open CV:

Chức năng cốt lõi (core) là một module nhỏ gọn, giúp xác định cấu trúc dữ liệu cơ bản, bao gồm mảng đa chiều dày đặc cùng với nhiều chức năng thiết yếu được sử dụng bởi tất cả các module khác.

Image Processing (imgproc) is a comprehensive module that encompasses both linear and non-linear image filtering techniques, as well as geometric transformations for image adjustments.

21 size, afin và warp phối cảnh, ánh xạ lại dựa trên bảng chung), chuyển đổi không gian màu, biểu đồ, và nhiều cái khác

- Video Analysis (video): Module phân tích video bao gồm các tính năng ước tính chuyển động, tách nền, và các thuật toán theo dõi vật thể

Object Detection (objdetect) là công nghệ cho phép phát hiện và nhận diện các đối tượng trong hình ảnh hoặc video, dựa trên các lớp đã được định nghĩa sẵn như khuôn mặt, mắt, cốc, con người và xe hơi.

- GPU: Các thuật toán tăng tốc GPU từ các module Open CV khác [10]

2.10.2 Đặc điểm thư viện Open CV

OpenCV là một thư viện mã nguồn mở cho phép người dùng sử dụng các thuật toán miễn phí Người dùng cũng có thể đóng góp các thuật toán mới, giúp thư viện ngày càng phát triển và hoàn thiện hơn.

Một số ứng dụng nổi bật Open CV như: Nhận dạng ảnh, xử lý hình ảnh, phục hồi hình ảnh/video, thực tế ảo, ứng dụng trong học sâu,…

Các tính năng của thư viện Open CV:

- Đối với hình ảnh, chúng ta có thể đọc và lưu hay ghi chúng

- Xử lý hình ảnh có thể lọc nhiễu cho ảnh, hay chuyển đổi ảnh

- Thực hiện nhận dạng đặc điểm của hình dạng trong ảnh

- Phát hiện các đối tượng xác định được xác định trước như khuôn mặt, mắt, xe trong video hoặc hình ảnh.

HỆ THỐNG THÔNG TIN VÀ HƯỚNG DẪN ĐẬU XE PGI

Hệ thống thông tin và hướng dẫn đậu xe PGI giúp giảm ùn tắc bãi giữ xe bằng cách cung cấp thông tin về tình trạng chỗ đỗ Khi người lái xe đến điểm kiểm soát, họ có thể quan sát thông tin về các vị trí đỗ còn trống qua bảng điện tử Dựa vào thông tin này, nhân viên điều hành sẽ tư vấn và hướng dẫn người lái xe vào chỗ đỗ thuận lợi nhất Hệ thống PGI áp dụng nhiều công nghệ như cảm biến, đèn báo hiệu và mạng nơron tích chập để tối ưu hóa quá trình đỗ xe.

Hệ thống hướng dẫn đỗ xe tự động trong tầng hầm đang trở thành xu hướng phổ biến hiện nay, nhờ vào công nghệ cảm biến siêu âm giúp người lái xe dễ dàng đỗ và dừng xe một cách hoàn toàn tự động.

Hệ thống đỗ xe thông minh sử dụng cảm biến siêu âm gắn tại mỗi vị trí đỗ để phát hiện sự có mặt của xe Tín hiệu từ các cảm biến sẽ được truyền đến bộ điều khiển trung tâm, nơi thu thập dữ liệu từ từng khu vực Bảng đèn LED sẽ hiển thị màu xanh hoặc đỏ để chỉ ra tình trạng có hoặc không có xe đỗ tại các lối rẽ và hướng đi trong tòa nhà Nhờ vào việc thống kê số lượng xe và xác định vị trí xe trong tầng hầm, hệ thống sẽ cung cấp thông tin về tổng số chỗ trống còn lại trong bãi đỗ xe.

Hình 2.17: Hệ thống PGI trong tầng hầm dùng cảm biến

Hiện nay, việc áp dụng mạng nơron tích chập (CNN) trong xử lý ảnh đang được chú trọng trong hệ thống PGI Nghiên cứu sử dụng tập dữ liệu ParkingLot với mạng CNN sâu kết hợp bộ nhị phân SVM đã đạt được kết quả ấn tượng lên đến 99.7% trong các điều kiện thời tiết khác nhau, chứng tỏ hiệu quả vượt trội của phương pháp này.

Hệ thống PGI sử dụng mạng nơron tích chập có ưu điểm nổi bật là tiết kiệm chi phí và phù hợp cho cả môi trường trong nhà lẫn ngoài trời, tạo điều kiện thuận lợi cho sự phát triển của công nghệ này.

Hình 2.18: Cấu trúc và bố cục đơn giản của hệ thống PGI dùng CNN

Hình 2.19: Kết quả nhận diện chỗ trống [13]

TẬP DỮ LIỆU BÃI ĐẬU XE

Một thách thức lớn trong nghiên cứu phân loại chỗ đậu xe là thiếu bộ dữ liệu nhất quán và đáng tin cậy Để giải quyết vấn đề này, tập dữ liệu bãi đậu xe (PKLot) đã ra đời, mở rộng từ 105.837 lên 695.899 hình ảnh Phiên bản mới này bao gồm các vị trí đậu xe từ nhiều bãi đậu xe khác nhau và trong các điều kiện thời tiết đa dạng Mỗi hình ảnh được kiểm tra thủ công và phân loại theo tình trạng (trống hoặc có xe) cùng với điều kiện thời tiết (nắng, u ám hoặc mưa) tại thời điểm thu thập.

Bộ dữ liệu PKLot bao gồm 12.417 hình ảnh về bãi đậu xe và 695.899 hình ảnh được phân đoạn từ các hình ảnh này, tất cả đều được kiểm tra và dán nhãn thủ công Những hình ảnh này được thu thập tại các bãi đậu xe của Đại học Liên bang Parana (UFPR) và Đại học Công giáo Pontifical Parana (PUCPR) ở Curitiba, Brazil Quy trình xây dựng bộ dữ liệu PKLot bao gồm ba bước chính: thu thập hình ảnh, ghi nhãn và phân đoạn.

Một số hình ảnh được lấy từ tập dữ liệu:

Hình 2.20: Những ô không có xe

TRÌNH SOẠN THẢO SUBLIME TEXT

Sublime Text Editor là một trình soạn thảo văn bản mạnh mẽ, cho phép người dùng chỉnh sửa các tệp cục bộ và mã nguồn hiệu quả Với nhiều tính năng nổi bật, trình soạn thảo này hỗ trợ các nhà phát triển theo dõi và quản lý các thay đổi trong mã nguồn một cách dễ dàng.

Sublime Text is an Integrated Development Environment (IDE) similar to Visual Studio and NetBeans, designed for code editing The latest version, Sublime Text 3.0, is compatible with various operating systems, including Windows, Linux, and MacOS.

2.13.2 Các tính năng chính Đa nền tảng: Trình soạn thảo mã Sublime text được cài sẵn trên các nền tảng Mac, Windows và Linux Vì thế, người dùng dễ dàng sử dụng trên mọi máy tính Nó có sử dụng bộ công cụ UI tùy chỉnh nên giao diện được tối ưu hóa rất tốt cả về mặt tốc độ lẫn thẩm mỹ Không những thế, nó còn tận dụng mọi chức năng gốc trên mỗi nền tảng

Sublime Text nổi bật với hiệu suất làm việc ưu việt, nhờ vào giao diện người dùng đa nền tảng mạnh mẽ và dễ dàng tùy chỉnh Các công cụ độc quyền của nó mang lại trải nghiệm vượt trội, với khả năng xây dựng từ các thành phần tùy chỉnh và khả năng thích ứng linh hoạt.

Sublime Text cho phép người dùng chuyển đổi nhanh chóng giữa các dự án, bao gồm toàn bộ nội dung không gian làm việc, tệp đang chỉnh sửa và tệp chưa lưu Tất cả các thay đổi sẽ được khôi phục khi mở lại dự án, mang lại sự tiện lợi và hiệu quả trong quá trình làm việc.

Tính năng chỉnh sửa tách cho phép bạn điều chỉnh nhiều hàng và cột theo độ rộng màn hình, giúp bạn dễ dàng chỉnh sửa các tệp cạnh nhau hoặc giữa hai vị trí trong cùng một tệp.

Sublime Text cho phép người dùng tùy chỉnh mọi khía cạnh thông qua các tệp JSON đơn giản, mang đến sự linh hoạt trong việc thiết lập cho từng loại tệp và dự án cụ thể.

Sublime Text nổi bật với hệ sinh thái gói và API mạnh mẽ, cho phép người dùng tận dụng API Python để tích hợp và mở rộng các plugin Ngoài ra, người dùng còn dễ dàng truy cập hàng ngàn gói được phát triển bởi cộng đồng.

Bảng lệnh cho phép người dùng dễ dàng tìm kiếm thông tin mong muốn chỉ với vài nhấn phím, mà không cần phải điều hướng qua các hướng dẫn phức tạp hay ghi nhớ nhiều phím tắt.

Sublime Text cung cấp nhiều sự lựa chọn cho người dùng, cho phép thay đổi nhiều dòng cùng lúc và đổi tên tệp một cách dễ dàng, giúp thao tác nhanh chóng hơn Định nghĩa cú pháp giúp tự động tạo mục toàn dự án cho mọi hàm, phương thức và lớp Tính năng điều hướng nhanh gọn giúp người dùng dễ dàng đến các tệp, biểu tượng, dòng và từ.

2.13.3 Sử dụng trình soạn thảo Sublime Text Đầu tiên chúng ta cần tạo một tệp dưới dạng py để viết code python

Hình 2.22: Giao diện làm việc chính và cách tạo file python

Sau đó, chúng ta cần chọn loại ngôn ngữ python 3

Hình 2.23: Giao diện xây dựng hệ thống

Sau khi viết chương trình xong chúng ta có thể dùng tổ hợp phím Ctrl + B để chạy chương trình [11]

COMMAND PROMPT

Command Prompt là một chương trình giao diện dòng lệnh trên hệ điều hành Windows, cho phép người dùng thực thi các lệnh để tự động hóa tác vụ, khắc phục sự cố và giải quyết vấn đề Được gọi chính thức là Windows Command Processor, Command Prompt còn được biết đến với các tên gọi như command shell, cmd prompt, hoặc theo tên tệp của nó là cmd.exe.

Truy cập vào Command Prompt: Có một số cách khác nhau để mở Command

Prompt tùy thuộc vào phiên bản Windows Trong đó, cách dễ nhất là thông qua phím tắt Command Prompt nằm trong menu start Trên Windows 10, thực hiện:

Bước 1: Nhấn phím window hoặc click vào biểu tượng cửa sổ ở góc trái thanh taskbar

Bước 2: Gõ cmd hoặc command prompt vào ô tìm kiếm, mở kết quả tìm được

Hình 2.24: Tìm Command Prompt và chạy quyền quản trị

Kết quả là chương trình Command Prompt sẽ được hiển thị:

Hình 2.25: Giao diện của Command Prompt

Dùng Command Prompt để cài các thư viện hỗ trợ cho python như thư viện Open

CV, thư viện Keras, thư viện Tensorflow,…

THIẾT KẾ MÔ HÌNH HỆ THỐNG

YÊU CẦU VÀ SƠ ĐỒ KHỐI CỦA HỆ THỐNG

3.1.1 Yêu cầu của hệ thống

Hệ thống có các chức năng sau:

- Có thể xác định số chỗ trống trong bãi xe theo hàng thông qua camera

- Thông báo cho tài xế biết chỗ trống thông qua màn hình hiển thị và các biển báo chỉ dẫn trong nhà xe

- Xử lý dữ liệu camera truyền về và hiển thị lên màn hình một cách nhanh chóng

- Xác định vị trí trống gần với đường lưu thông chính (đường nối từ lối vào đến lối ra) trong bãi xe

3.1.2 Sơ đồ khối và chức năng

Hình 3.1: Sơ đồ khối của hệ thống

- Khối nguồn: Cung cấp nguồn điện để khối xử lý trung tâm, khối Webcam, khối hiển thị hoạt động

Khối xử lý trung tâm là mạng CNN có khả năng dự đoán các đầu ra (trống hoặc chiếm chỗ) dựa trên việc trích xuất đặc trưng từ tập hợp đầu vào Sau khi hoàn tất quá trình huấn luyện, hệ thống có thể đưa ra dự đoán chính xác khi nhận được đầu vào từ khối Webcam và hiển thị kết quả lên khối hiển thị.

- Khối Webcam: Có chức năng thu thập tín hiệu trực tiếp từ bãi xe và gửi về khối xử lý trung tâm Ở đây nhóm sử dụng Webcam Logitech HD C270

- Khối hiển thị: Hiển thị kết quả thu được từ khối xử lý trung tâm lên màn hình laptop

KHỐI XỬ LÝ TRUNG TÂM

3.1.3 Hoạt động của hệ thống

Khi tài xế vào bãi đỗ xe, họ có thể sử dụng màn hình hiển thị tại lối vào cùng với các biển báo hướng dẫn trong bãi để dễ dàng tìm kiếm chỗ đỗ phù hợp.

Màn hình sẽ hiển thị số chỗ trống theo hàng và chỗ đang trống gần với đường lưu thông chính trong bãi nhất.

THIẾT KẾ HỆ THỐNG PHẦN CỨNG

Với nhu cầu quan sát mô hình ở khoảng cách từ 0.5m đến 2m, nhóm đã chọn Webcam Logitech HD C270, một sản phẩm phổ biến trên thị trường Webcam này có tính linh hoạt cao khi kết nối với Laptop thông qua một USB hub, và đi kèm với đế thiết kế giúp dễ dàng cố định camera lên mô hình Kết nối chỉ cần cắm đầu USB của camera vào một trong những hub USB của Laptop.

Thông số kỹ thuật của Camera C270 HD có phạm vi quan sát là 60 độ, tiêu cự là

Bảng 3.1: Thông số kỹ thuật Webcam Logitech HD C270

Công nghệ Công nghệ Tinh thể lỏng Logitech Fluid Crystal™ Ảnh Lên tới 3.0 megapixel

Giao tiếp USB 2.0 tốc độ cao được chứng nhận

Phần mềm Các nút điều khiển quét ngang, nghiêng và thu phóng, quay video và chụp ảnh, nhận diện khuôn mặt, phát hiện chuyển động

Khi lắp đặt camera tại bãi xe, cần chọn vị trí thoáng đãng, không bị che khuất để đảm bảo thu được hình ảnh rõ nét với góc nhìn rộng Đồng thời, xác định khoảng cách từ camera đến khu vực cần quan sát để lựa chọn tiêu cự phù hợp.

Hình 3.2: Tiêu cự phù hợp với các khoảng cách

Trong mô hình thi công, khoảng cách từ vị trí cần quan sát đến camera là 245mm, khoảng cách từ mặt đất lên camera là 600mm

Từ hai khoảng cách trên tính được góc đặt camera để quan sát toàn cảnh bãi xe là:

Do dùng camera có phạm vi quan sát là 60° nên góc đặt camera lớn nhất là 50° để có thể quan sát được vị trí xe trong bãi

3.2.2 Khối xử lý trung tâm

Quá trình huấn luyện mạng ResNet50 yêu cầu nhiều RAM, điều này khiến cho các vi xử lý khác không đủ khả năng đáp ứng và bộ xử lý của chúng thường chậm Vì vậy, nhóm quyết định sử dụng laptop làm khối xử lý trung tâm Thông số kỹ thuật của laptop được trình bày trong bảng 3.2.

Bảng 3.2: Thông số kỹ thuật của laptop G3

RAM DDR4 8GB (1 x 8GB) 2666MHz; 2 slots, up to 32GB

Màn hình 15.6" FHD (1920×1080), IPS Ổ cứng SSD SSD M.2 128GB Ổ cứng HDD 1TB HDD 5400 rpm

Các cổng kết nối 2x SuperSpeed USB 3.1 Gen 1 Type-A 1x Power/DC-in

Jack 1x HDMI 2.0 1x Gigabit Ethernet RJ-45

Hình 3.3: Thông số của mạng Resnet 50 3.2.3 Khối nguồn

Nhóm chỉ sử dụng laptop làm bộ xử lý chính và khối webcam sử dụng bộ xử lý làm nguồn, vì vậy họ chỉ dùng nguồn Adapter chính hãng của Dell để đảm bảo hiệu suất và độ ổn định.

Adapter chính hãng của Dell cung cấp nguồn đầu ra 19.5V – 6.7A, cho phép cấp nguồn cho Laptop một cách dễ dàng Chỉ cần nối phích cắm của Adapter vào nguồn điện 220V và kết nối đầu ra của Adapter với cổng nguồn của Laptop Dưới đây là sơ đồ kết nối giữa Adapter và Laptop.

Hình 3.4: Sơ đồ kết nối giữa Laptop và nguồn thông qua Adapter

Dùng màn hình laptop để hiển thị các kết quả của hệ thống sau khi hoạt động.

THIẾT KẾ PHẦN MỀM

- Xử lý hình ảnh thu được từ webcam, báo về các vị trí đã có xe hay chưa có xe thông qua mô hình Resnet50 đã huấn luyện

- Hiển thị lên màn hình chỗ trống là màu xanh và chỗ có xe là màu đỏ

- Hiện thị lên màn hình số thứ tự của từng chỗ theo hàng

- Hiển thị lên màn hình số chỗ trống và chỗ trống gần với đường chính nhất theo hàng

3.3.2.1 Lưu đồ giải thuật của hệ thống

Chương trình được chia thành các chương trình con để đáp ứng các yêu cầu, bao gồm chương trình xác định tọa độ chỗ đỗ xe và chương trình xử lý các chỗ đỗ xe đã phát hiện Chương trình này sẽ đưa ra kết luận, tính tổng số chỗ còn trống và xác định vị trí trống gần nhất, sau đó gửi kết quả lên màn hình thông báo Lưu đồ minh họa quá trình này được thể hiện trong hình 3.4.

Sau khi khởi động chương trình, webcam sẽ cung cấp video cho các chương trình con để xác định tọa độ chỗ đỗ xe trong bãi Hệ thống sẽ lưu lại các tọa độ này nhằm xử lý và nhận dạng các chỗ đỗ xe Khi chương trình xác định được tình trạng chỗ đỗ xe, kết quả sẽ được tổng hợp để tính tổng số chỗ trống theo hàng và xác định chỗ trống gần đường chính nhất Cuối cùng, các kết quả sẽ được hiển thị trên màn hình và chương trình sẽ quay lại vòng lặp để cập nhật liên tục tình trạng xe trong bãi.

Hình 3.5: Lưu đồ giải thuật tổng quát

3.3.2.2 Lưu đồ giải thuật chương trình con xác định tọa độ chỗ đỗ xe trong bãi xe

Hình 3.6: Lưu đồ giải thuật chương trình xác định tọa độ chỗ đỗ xe

Chương trình bắt đầu bằng việc khởi tạo tệp YAML và mảng vị trí đỗ xe, đồng thời nhận ảnh toàn bãi xe từ webcam Khi người dùng nhấn chuột trái hai lần vào ảnh, tọa độ (x,y) tại điểm đó sẽ được ghi nhận, nếu tọa độ đúng với vị trí đã chọn.

Hệ thống sẽ lưu 35 xác định vào mảng vị trí đỗ xe; nếu có sai sót, người dùng sẽ được yêu cầu thực hiện lại thao tác Khi đã kiểm tra đủ 4 điểm, thông tin sẽ được lưu vào tệp YAML bao gồm tọa độ và số thứ tự Nếu chưa đủ 4 điểm, hệ thống sẽ tiếp tục chờ người dùng nhấn chuột để xác định tọa độ cho đến khi thu thập đủ dữ liệu Cuối cùng, khi yêu cầu thoát chương trình, nếu thông tin đúng, chương trình sẽ kết thúc; nếu sai, mảng vị trí đỗ xe cũ sẽ bị xóa và người dùng sẽ phải thực hiện lại thao tác nhấn chuột để xác định tọa độ.

3.3.2.3 Lưu đồ chương trình xử lý và nhận dạng các chỗ đỗ xe trong bãi

Hình 3.7: Lưu đồ giải thuật chương trình xử lý và nhận dạng các chỗ đỗ xe

Chương trình xử lý và nhận dạng chỗ trống sẽ nhận dữ liệu từ tín hiệu video của webcam, tọa độ bốn điểm, và số thứ tự từng vị trí đỗ xe trong bãi Dựa trên dữ liệu này, chương trình xác định các vị trí đỗ xe và sử dụng bộ trọng số của mạng ResNet để huấn luyện.

50 Do chương trình xử lý dựa trên ảnh tĩnh nên chương trình sẽ cần chuyển tín hiệu video về thành từng khung hình, sau đó đưa các khung hình vào xử lý Sau khi có tọa độ 4 điểm của từng vị trí đỗ xe thì chương trình sẽ tự động tạo một hình chữ nhật xung quanh 4 điểm lên khung hình đang xử lý Hình chữ nhật có 4 trọng số là tâm hình chữ nhật (x,y) và chiều dài, ngang (w,h) Tiếp theo chương trình sẽ cắt khung hình toàn cảnh bãi xe thành nhiều phần nhỏ theo 4 trọng số của hình chữ nhật bên trên để được khung hình nhỏ chứa từng vị trí đỗ xe rồi đưa qua khối tiền xử lý

Khối tiền xử lý có vai trò quan trọng trong việc chuyển đổi các khung hình nhỏ đã cắt về kích thước đồng nhất với ảnh đầu vào của mô hình Resnet 50 Vì OpenCV sử dụng định dạng ảnh BGR, trong khi mô hình Resnet 50 xử lý ảnh ở định dạng RGB, nên cần thiết phải chuyển đổi ảnh từ BGR sang RGB trước khi huấn luyện.

Sau khi khung hình được xử lý qua khối tiền xử lý, chương trình tiến hành xử lý song song để tính giá trị đặc trưng của từng khung hình Với độ chính xác 99% trong quá trình huấn luyện mô hình, ngưỡng so sánh được đặt ở 0.99 Nếu giá trị của ảnh vượt quá 0.99, hệ thống sẽ xác định có xe và hiển thị bằng hình chữ nhật màu đỏ trên khung hình từ webcam; ngược lại, vị trí không có xe sẽ được đánh dấu bằng màu xanh Cuối cùng, khung hình đã được vẽ các hình chữ nhật sẽ được lưu lại để xuất ra màn hình.

3.3.2.4 Lưu đồ giải thuật xác định vị trí đang trống gần đường chính và xác định tổng số chỗ trống

Chương trình con xử lý và nhận dạng chỗ đỗ xe trong bãi sẽ xác định tổng số chỗ trống và tìm chỗ gần nhất để cập nhật tình trạng vị trí theo từng hàng Ở hàng 1, chương trình kiểm tra từng vị trí, nếu vị trí 1 trống, nó sẽ hiển thị thông tin tương ứng; nếu có xe, chương trình sẽ kiểm tra tiếp vị trí 2, 3, 4 Đặc biệt, nếu vị trí 5 có xe, chương trình sẽ thông báo rằng hàng đã hết chỗ và hiển thị bằng màu đỏ Hàng 2 và hàng 3 sẽ được kiểm tra tương tự như hàng 1 Chương trình sẽ đồng thời kiểm tra 3 hàng và báo cáo kết quả về số chỗ trống gần đường chính cũng như tổng số chỗ trống trên màn hình thông báo.

Hình 3.8: Lưu đồ của xác định vị trí đang trống và số chỗ trống ở hàng 1

KẾT QUẢ THỰC HIỆN

KẾT QUẢ PHẦN CỨNG

Mô hình hệ thống bãi đỗ xe tự phát hiện chỗ trống được xây dựng dựa trên kết quả nghiên cứu, với kích thước tấm formec là 600mm x 600mm Chiều cao của giá đỡ camera cũng là 600mm, trong khi mỗi vị trí đỗ xe có diện tích 80mm x 110mm.

Hình 4.1: Mô hình hệ thống

Mô hình này được thiết kế để đáp ứng nhu cầu sử dụng, bao gồm bãi đỗ xe với khoảng 15 vị trí Hệ thống camera được lắp đặt ở vị trí cao, cho phép quan sát toàn bộ khu vực bãi xe một cách hiệu quả.

Các yếu tố ảnh hưởng đến kết quả nhận dạng bao gồm cường độ ánh sáng, với mô hình hoạt động hiệu quả nhất trong điều kiện ánh sáng đầy đủ tại các vị trí đỗ xe Những khu vực tối có thể dẫn đến sai sót trong hệ thống nhận dạng Mô hình này chỉ phù hợp với xe 7 chỗ trở lại, vì xe quá lớn có thể che khuất các vị trí bên cạnh Ngoài ra, webcam cần được đặt ở vị trí không bị che chắn tầm nhìn bởi các vật cản xung quanh để đảm bảo hiệu suất tối ưu.

KẾT QUẢ PHẦN MỀM

Chương trình sau khi chạy thì đáp ứng được các nhu cầu của hệ thống:

Hệ thống nhận diện chỗ trống trong bãi xe sẽ hiển thị thông tin lên màn hình, với ô màu xanh biểu thị vị trí còn trống và ô màu đỏ cho các vị trí đã có xe.

- Hiển thị được tổng số chỗ trống và vị trí trống gần đường chính nhất theo hàng để tài xế có thể lựa chọn chỗ trống phù hợp

Hình 4.2: Kết quả hiển thị lên màn hình máy tính

Chương trình sau khi hoạt động thì màn hình sẽ hiển thị bao gồm 2 phần chính như hình 4.2

Video từ Webcam của bãi xe, như hiển thị trong Hình 4.2a, cho thấy các vị trí đỗ xe được phân loại rõ ràng: ô màu xanh cho những vị trí trống và ô màu đỏ cho những vị trí đã có xe Màn hình cũng hiển thị số thứ tự các vị trí theo quy định trong bảng hướng dẫn cố định tại bãi xe, giúp tài xế dễ dàng quan sát và xác định tình trạng của các ô đỗ xe.

Hình 4.2b cho thấy vị trí trống gần nhất với đường chính theo từng hàng, cùng với số chỗ trống còn lại để tài xế dễ dàng quan sát Dưới đây là một số kết quả từ nhiều trường hợp thực tế.

Khi thay đổi góc đặt webcam theo ba góc quan sát khác nhau, ta có thể xác định các vị trí cụ thể như sau: Góc quan sát 1 là khi webcam được đặt ở vị trí chéo so với các xe, góc quan sát 2 là khi webcam nhìn ngang so với các xe, và góc quan sát 3 là khi webcam được đặt ở vị trí dọc so với các xe Dưới đây là một số hình ảnh mô tả chi tiết về ba trường hợp đặt góc này.

Hình 4.3: Các góc quan sát khác nhau để đặt webcam

Hình 4.4: Ảnh bãi xe thu được khi đặt webcam ở góc quan sát 1

Hình 4.5: Ảnh bãi xe thu được khi đặt webcam ở góc quan sát 2

Hình 4.6: Ảnh bãi xe thu được khi đặt webcam ở góc quan sát 3

Để thu được hình ảnh bãi xe rõ nét, webcam nên được đặt ở góc quan sát 1 Tuy nhiên, khi sử dụng góc này, hình ảnh nhận dạng của hệ thống có thể bị ảnh hưởng bởi chiều cao của các xe khác nhau Để cải thiện tình hình, việc lắp đặt camera ở vị trí phù hợp, gần điểm giữa, sẽ giúp tránh những khu vực bị khuất và nâng cao chất lượng hình ảnh.

Hình 4.7: Trường hợp nhận dạng sai ở góc quan sát 1 của hàng 2 và 3

Hình 4.7 minh họa tình huống khi hàng 3 có xe ở vị trí thứ 3 được hệ thống nhận dạng chính xác, trong khi vị trí thứ 4 bên cạnh lại không có xe nhưng bị nhận dạng sai là có xe Tương tự, hàng 2 cũng cho thấy vị trí thứ 2 có xe nhưng vị trí thứ 3 bên cạnh lại không có xe và bị nhận dạng sai Ngoài ra, một số trường hợp sai khác ở các hàng và vị trí khác được thể hiện trong hình 4.8 và hình 4.9.

Hình 4.8: Trường hợp nhận dạng sai ở góc quan sát 1 của hàng 2

Hình 4.9: Trường hợp nhận dạng sai ở góc quan sát 1 của hàng 3

Bảng 4.1: Kết quả hàng 1 sau khi đặt webcam ở góc quan sát 1

Bảng 4.4 cho thấy rằng khi xe được đặt ở vị trí thứ 2 và hệ thống nhận dạng xác định đúng vị trí này, sẽ được ký hiệu bằng dấu  Điều này cho thấy sự chính xác trong quá trình nhận diện vị trí xe.

Khi vị trí 3 không có xe nhưng bị ảnh hưởng bởi xe ở vị trí thứ 2, hệ thống nhận dạng sẽ trả về kết quả sai và được ký hiệu là  Ngược lại, khi xe ở vị trí 2, các vị trí nhận dạng khác như 1, 4, 5 không bị ảnh hưởng, do đó kết quả trả về là đúng và được ký hiệu là .

Bảng 4.2: Kết quả hàng 2 sau khi đặt webcam ở góc quan sát 1

Bảng 4.3: Kết quả hàng 3 sau khi đặt webcam ở góc quan sát 1

Theo các bảng 4.1, 4.2, 4.3, tỉ lệ nhận dạng chính xác các vị trí bên cạnh xe không cao, và tỉ lệ sai tăng khi khoảng cách từ webcam đến các hàng tăng lên Vì vậy, để cải thiện tỉ lệ nhận dạng, nên dời góc đặt webcam gần hơn về phía điểm giữa nếu lắp đặt ở vị trí góc chéo.

Để tối ưu hóa việc quan sát bãi đỗ xe, webcam nên được đặt ở góc nhìn ngang, như hình 4.5, nhằm tăng cường tỉ lệ nhận dạng chính xác Tuy nhiên, như hình 4.10 cho thấy, việc có xe bên cạnh có thể ảnh hưởng đến tầm nhìn của webcam Để cải thiện tình trạng này, có thể nâng cao vị trí đặt camera hoặc di chuyển nó về giữa khu vực quan sát.

Hình 4.10: Trường hợp nhận dạng sai khi đặt webcam ở góc quan sát 2

Hình 4.11: Các vị trí nhận dạng đúng khi đặt webcam ở góc quan sát 2

Hình 4.12: Các vị trí nhận dạng đúng khi thay đổi vị trí các xe

Bảng 4.4: Kết quả hàng 1 sau khi đặt webcam ở góc quan sát 2

Bảng 4.5: Kết quả hàng 2 sau khi đặt webcam ở góc quan sát 2

Bảng 4.6: Kết quả hàng 3 sau khi đặt webcam ở góc quan sát 2

Kết quả từ các bảng 4.5, 4.6, 4.7 cho thấy rằng ở góc quan sát 2, tỷ lệ nhận dạng chính xác khá cao và ít bị ảnh hưởng bởi các phương tiện xung quanh Tuy nhiên, các xe hơi có chiều cao lớn hơn có thể dẫn đến sai sót trong việc nhận dạng, như minh họa trong hình 4.10.

Để đạt được tỉ lệ nhận dạng chính xác cao, webcam nên được đặt ở góc quan sát 3, theo hình 4.6 Việc này giúp các vị trí đỗ xe không bị che khuất khi có xe, từ đó cải thiện khả năng nhận diện Một số ví dụ về nhận dạng vị trí đỗ xe được thể hiện trong hình 4.13 và hình 4.14.

Hình 4.13: Các trường nhận dạng đúng các chỗ đỗ xe ở góc quan sát 3

Hình 4.14: Một số trường hợp khác

Bảng 4.7: Kết quả hàng 1 sau khi đặt webcam ở góc quan sát 3

Bảng 4.8: Kết quả hàng 2 sau khi đặt webcam ở góc quan sát 3

Bảng 4.9: Kết quả hàng 3 sau khi đặt webcam ở góc quan sát 3

Từ các bảng 4.7, 4.8, 4.9 có thể thấy được rằng khi đặt webcam ở góc quan sát 3 thì hệ thống cho tỉ lệ nhận dạng chính xác cao

Để nâng cao độ chính xác và giảm thiểu sai sót trong việc nhận dạng của hệ thống, việc lựa chọn vị trí đặt camera ở các góc quan sát phù hợp là rất quan trọng.

3 Để thấy rõ hơn có thể quan sát hình 4.15 ở vị trí thứ 4 của hàng 2 thì khi đó đối với góc quan sát 1 và 2 cho về kết quả nhận dạng sai trong khi đó kết quả nhận dạng của góc quan sát 3 là đúng Do đó quyết định làm mô hình đặt webcam ở góc quan sát 3

Hình 4.15: So sánh kết quả nhận dạng của 3 góc quan sát

Trong trường hợp bãi xe hoạt động dưới ánh sáng tốt, như vào ban ngày hoặc khi hệ thống chiếu sáng cung cấp đủ ánh sáng cho tất cả các vị trí đỗ xe, các xe đậu phải có sức chứa từ 7 chỗ trở xuống Hình 4.16 minh họa bãi đỗ xe với điều kiện ánh sáng tốt, cho thấy tỷ lệ nhận dạng vị trí đỗ xe đạt độ chính xác cao.

Hình 4.16: Những trường hợp cường độ ánh sáng tốt

Ngày đăng: 27/11/2021, 15:51

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Đông, “Bãi đỗ xe 6 tầng đầu tiên ở Đà Nẵng”, Available: (12/10/2019) https://vnexpress.net/ Sách, tạp chí
Tiêu đề: Bãi đỗ xe 6 tầng đầu tiên ở Đà Nẵng
[2] Nguyễn Quang Hoan (2006), “ Xử lý ảnh”, Học viện công nghệ bưu chính viễn thông Sách, tạp chí
Tiêu đề: Xử lý ảnh
Tác giả: Nguyễn Quang Hoan
Năm: 2006
[3] Nguyễn Thanh Hải (2014) , “Giáo Trình Xử lý ảnh”, NXB ĐHQG TP.HCM Sách, tạp chí
Tiêu đề: Giáo Trình Xử lý ảnh
Nhà XB: NXB ĐHQG TP.HCM
[4] Huỳnh Việt,“Tìm hiểu về mạng nơron tích chập”, Available: http://thanhvie.com/ (4/8/2020) Sách, tạp chí
Tiêu đề: Tìm hiểu về mạng nơron tích chập
[5] Báo cáo tiểu luận môn học, “Khai phá dữ liệu”, Đại học Quốc gia Hà Nội Sách, tạp chí
Tiêu đề: Khai phá dữ liệu
[6] Hữu Tiệp, “Gradient Descent”, Available: https://machinelearningcoban.com/ (16/01/2017) Sách, tạp chí
Tiêu đề: Gradient Descent
[7] Phạm Minh Tuấn, “YAML cơ bản”, Available: http://tuanpm.tech/ (29/05/2017) Sách, tạp chí
Tiêu đề: YAML cơ bản
[8] Thor Pham Blog, “Tìm hiểu về thư viện keras trong deep learning”, Available: https://thorpham.github.io/ (25/05/2018) Sách, tạp chí
Tiêu đề: Tìm hiểu về thư viện keras trong deep learning
[9] Dương Nguyễn, “Python là gì? Tại sao nên chọn Python?”, Available: https://quantrimang.com/ (14/09/2020) Sách, tạp chí
Tiêu đề: Python là gì? Tại sao nên chọn Python
[10] Nguyễn Phương Loan, “Tìm hiểu về OpenCV”, Available: https://viblo.asia/ (3/7/2017) Sách, tạp chí
Tiêu đề: Tìm hiểu về OpenCV
[11] Chaupm, “Sublime text là gì? Hướng dẫn cài đặt trên các hệ điều hành”, Available: https://bizflycloud.vn/ (14/12/2018) Sách, tạp chí
Tiêu đề: Sublime text là gì? Hướng dẫn cài đặt trên các hệ điều hành
[12] Ifu Aniemeka , “A Friendly Introduction to Convolutional Neural Networks”, Available: https://hashrocket.com/ (22/08/2017) Sách, tạp chí
Tiêu đề: A Friendly Introduction to Convolutional Neural Networks
[13] Debaditya Acharya, Weilin Yan and Kourosh Khoshelham, “ Real-time image based parking occupancy detection using deep learning ”, in Proc. of the 5th Annual Conference of Research Sách, tạp chí
Tiêu đề: Real-time image based parking occupancy detection using deep learning
[14] Paulo Almeida, Luiz S. Oliveira, Alceu S. Britto Jr, Eunelson J. Silva Jr, Koerich “ PKLot - A Robust Dataset for Parking Lot Classification ”, Available: (02/2015) https://researchgate.net/ Sách, tạp chí
Tiêu đề: PKLot - A Robust Dataset for Parking Lot Classification

HÌNH ẢNH LIÊN QUAN

Hình 2.2: Công nghệ AI     2.2.2 Một số ứng dụng của AI trong đời sống - Thiết kế mô hình hệ thống hướng dẫn tài xế trong bãi xe thông minh
Hình 2.2 Công nghệ AI 2.2.2 Một số ứng dụng của AI trong đời sống (Trang 23)
Hình 2.3: Trợ lý ảo SIRI của Apple - Thiết kế mô hình hệ thống hướng dẫn tài xế trong bãi xe thông minh
Hình 2.3 Trợ lý ảo SIRI của Apple (Trang 23)
Hình 2.10: Ví dụ về lớp kết nối đầy đủ trong mạng CNN - Thiết kế mô hình hệ thống hướng dẫn tài xế trong bãi xe thông minh
Hình 2.10 Ví dụ về lớp kết nối đầy đủ trong mạng CNN (Trang 28)
Hình 2.11: Cấu trúc của mạng ResNet-50 - Thiết kế mô hình hệ thống hướng dẫn tài xế trong bãi xe thông minh
Hình 2.11 Cấu trúc của mạng ResNet-50 (Trang 30)
Hình 2.13: So sánh giữa VGGNet và ResNet - Thiết kế mô hình hệ thống hướng dẫn tài xế trong bãi xe thông minh
Hình 2.13 So sánh giữa VGGNet và ResNet (Trang 31)
Hình 2.17: Hệ thống PGI trong tầng hầm dùng cảm biến - Thiết kế mô hình hệ thống hướng dẫn tài xế trong bãi xe thông minh
Hình 2.17 Hệ thống PGI trong tầng hầm dùng cảm biến (Trang 38)
Hình 2.18: Cấu trúc và bố cục đơn giản của hệ thống PGI dùng CNN - Thiết kế mô hình hệ thống hướng dẫn tài xế trong bãi xe thông minh
Hình 2.18 Cấu trúc và bố cục đơn giản của hệ thống PGI dùng CNN (Trang 38)
Hình 2.19: Kết quả nhận diện chỗ trống  [13] - Thiết kế mô hình hệ thống hướng dẫn tài xế trong bãi xe thông minh
Hình 2.19 Kết quả nhận diện chỗ trống [13] (Trang 39)
Hình 2.24: Tìm Command Prompt và chạy quyền quản trị - Thiết kế mô hình hệ thống hướng dẫn tài xế trong bãi xe thông minh
Hình 2.24 Tìm Command Prompt và chạy quyền quản trị (Trang 43)
Hình 3.3: Thông số của mạng Resnet 50     3.2.3 Khối nguồn - Thiết kế mô hình hệ thống hướng dẫn tài xế trong bãi xe thông minh
Hình 3.3 Thông số của mạng Resnet 50 3.2.3 Khối nguồn (Trang 47)
Hình 3.5: Lưu đồ giải thuật tổng quát - Thiết kế mô hình hệ thống hướng dẫn tài xế trong bãi xe thông minh
Hình 3.5 Lưu đồ giải thuật tổng quát (Trang 49)
Hình 3.6: Lưu đồ giải thuật chương trình xác định tọa độ chỗ đỗ xe - Thiết kế mô hình hệ thống hướng dẫn tài xế trong bãi xe thông minh
Hình 3.6 Lưu đồ giải thuật chương trình xác định tọa độ chỗ đỗ xe (Trang 50)
Hình 3.7: Lưu đồ giải thuật chương trình xử lý và nhận dạng các chỗ đỗ xe - Thiết kế mô hình hệ thống hướng dẫn tài xế trong bãi xe thông minh
Hình 3.7 Lưu đồ giải thuật chương trình xử lý và nhận dạng các chỗ đỗ xe (Trang 51)
Hình 3.8: Lưu đồ của xác định vị trí đang trống và số chỗ trống ở hàng 1 - Thiết kế mô hình hệ thống hướng dẫn tài xế trong bãi xe thông minh
Hình 3.8 Lưu đồ của xác định vị trí đang trống và số chỗ trống ở hàng 1 (Trang 53)
Hình 4.1: Mô hình hệ thống - Thiết kế mô hình hệ thống hướng dẫn tài xế trong bãi xe thông minh
Hình 4.1 Mô hình hệ thống (Trang 54)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w