CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ Họ và tên tác giả luận văn: Hoàng Bảo Lộc Đề tài luận văn: Hệ thống bãi đỗ xe đáp
GIỚI THIỆU CHUNG
Tổng quan đề tài
Trong bối cảnh đô thị liên tục phát triển, nhu cầu sử dụng các phương tiện tại các thành phố lớn nói chung và các địa phương nói riêng ngày một tăng cao thể hiện qua doanh số mua bán phương tiện hàng năm và số lượng phương tiện hiện hành được thống kê bởi Cục Đăng kiểm cho thấy nhu cầu sử dụng các bãi đỗ xe tăng theo Đề tài “Hệ thống bãi đỗ xe đáp ứng thời gian thực cho thành phố thông minh sử dụng mạng tích chập” được lựa chọn nhằm tập trung vào việc phát triển một giải pháp hiện đại ứng dụng công nghệ học sâu để tối ưu hóa quản lý và sử dụng không gian đỗ xe
Các cảm biến thông minh và hệ thống nhận diện hình ảnh kết hợp với việc ứng dụng công nghệ học máy và mạng tích chập giúp hệ thống có thể phát hiện và nhận diện các đối tượng mục tiêu như vị trí chính xác của đối tượng, các ký tự của biển số và trạng thái của từng điểm đỗ trong bãi đỗ xe Thông qua việc ứng dụng công nghệ học máy và hệ thống xử lý thông tin tập trung, hệ thống bãi đỗ xe có thể cung cấp các dự báo về nhu cầu đỗ xe trong tương lai dựa trên việc số hóa và tổng hợp các thông tin để có thể giúp thành phố có giải pháp hiệu quả Đối tượng nghiên cứu của đề tài chính là các hệ thống bãi đỗ xe Dựa trên kết quả khảo sát thực tế, các hệ thống bãi đỗ xe phân loại theo tiêu chí hướng tiếp cận phổ biến của các giải pháp hiện trạng được chia thành hai loại chính: (i) hệ thống bãi đỗ xe thông minh ứng dụng IoT và (ii) hệ thống bãi đỗ thông minh ứng dụng thị giác máy tính Ưu điểm và nhược điểm của hai hướng tiếp cận được trình bày trong phần sau Ngoài ra, nếu phân loại theo tiêu chí đặc điểm tính chất hạ tầng thì các hệ thống bãi đỗ xe cũng được chia thành hai loại chính: (i) hệ thống bãi đỗ xe trên đường phố (on-street) và (ii) hệ thống bãi đỗ xe không trên đường phố (off-street) Trong đề tài này, học viên tập trung vào đối tượng bãi đỗ xe có phạm vi như sau:
- Các bãi đỗ xe trên đường phố được quy hoạch quy định Ví dụ, các bãi đỗ xe tại các khu đô thị chung cư của Vin Group, …
- Các bãi đỗ xe là làn đường một chiều và các xe thực hiện ra vào một cách tuần tự Đề tài có mục tiêu đề xuất giải pháp hệ thống bãi đỗ xe thông minh hướng đến giải quyết một phần các hệ thống bãi đỗ xe nói riêng đối với toàn bộ hệ thống bãi đỗ xe nói chung Từ đó, mang đến các lợi ích gồm:
- Ứng dụng công nghệ thông tin cho quản lý bãi đỗ xe: Hệ thống sử dụng cảm biến thông minh và công nghệ nhận diện hình ảnh để theo dõi trạng
2 thái của các điểm đỗ Điều này giúp quản lý hiệu quả nguồn lực và ngăn chặn tình trạng ùn tắc giao thông
- Ứng dụng công nghệ học máy tối ưu hóa và tự động hóa quy trình: Ứng dụng công nghệ học máy nói chụng và mạng tích chập nói riêng nhằm cung cấp khả năng tự động phát hiện và nhận diện đối tượng Điều này giúp tự động hóa quy trình và tăng cường hiệu suất sử dụng không gian
- Hiệu suất và tiết kiệm năng lượng: Hệ thống không chỉ tối ưu hóa quy trình quản lý đỗ xe mà còn đóng góp vào việc giảm thiểu thời gian tìm kiếm đỗ xe và giảm lượng khí thải từ xe cộ Ứng dụng công nghệ thông minh để quản lý năng lượng, hệ thống cũng đóng vai trò quan trọng việc tiết kiệm năng lượng cho các nhân tố sử dụng và cung cấp
Ngoài ra, hệ thống đề xuất chú trọng đến khả năng mở rộng và tích hợp với các dự án và hạ tầng thông minh khác trong thành phố Sự kết hợp linh hoạt này giúp tối ưu hóa quy trình quản lý đô thị, đồng thời góp phần vào việc xây dựng môi trường số thông minh, hiệu quả và bền vững.
Tính cấp thiết của đề tài
Xuất phát từ hiện trạng là sự gia tăng đáng kể về số lượng phương tiện cá nhân, đặc biệt ô tô đã được đề cập ở trên thì nhu cầu sử dụng bãi đỗ xe là quá lớn Trong bối cảnh hạ tầng giao thông tĩnh còn quá nhiều khó khăn, nhu cầu lại gia tăng từng ngày, chỉ xét ở Thành phố Hà Nội nói riêng đã có những giải pháp đột phá để tận dụng triệt để nguồn hạ tầng có sẵn, nhằm giải quyết nỗi lo thường nhật về chỗ đỗ xe cho người dân Tuy nhiên, thông qua việc khảo sát thực tế các bãi đỗ xe đang không tận dụng được hết năng suất của các bãi đỗ Các bãi đỗ xe này không có hệ thống tiêu chuẩn để kiểm tra trạng thái của bãi đỗ Thực trạng các bãi đỗ xe hiện nay đang phụ thuộc rất nhiều vào sự tương tác của con người với không gian và thực thể vật lý Điều này dẫn đến sự lãng phí nhân lực, công việc quản lý khu vực đỗ xe một cách không hiệu quả và gây ra các hệ lụy như không đáp ứng nhu cầu cho người dân, gây thất thoát Một trong những tình huống phổ biến đó là khi một người lái xe đi vào bất kỳ bãi đỗ xe, người lái xe phải tìm một vị trí để đỗ mà không có bất kì thông tin nào Hệ quả là người lái xe phải đi vòng quanh khu vực và chậm rãi để tìm chỗ đỗ còn trống Vấn đề thường xảy ra phổ biến ở các thành phố lớn, nơi mà số lượng phương tiện lớn hơn so với các bãi đỗ xe khác Điều này làm cho quá trình tìm kiếm chỗ đậu xe lại thêm khó khăn hơn gây ra sự tiêu tốn nhiên liệu, lãng phí thời gian, ùn tắc giao thông và ô nhiễm môi trường
Hình 1-1: Minh họa hệ thống bãi đỗ xe có thanh chắn cố định Để giải quyết một số vấn đề đang tồn tại đỗ xe trong đô thị, nhiều nước trên thế giới nói chung và Việt Nam nói riêng đã sử dụng hệ thống đỗ xe tự động giúp tăng hiệu suất đỗ xe bằng việc lắp đặt các bãi đỗ xe thông minh, áp dụng các công nghệ như: đỗ xe tự động, bán tự động, hệ thống đỗ xe âm sàn, công nghệ dạng tháp, công nghệ cầu nâng, công nghệ AGV, cùng hệ thống phần mềm kiểm soát xe ra vào Phạm vi sử dụng của các giải pháp được đề cập đang hướng đến các bãi đỗ xe trong chung cư, tòa nhà hoặc cố định Vì vậy, trong luận văn này học viên hướng đến giải quyết vấn đề đối với các bãi đỗ xe trên đường phố bằng cách đề xuất giải pháp ứng dụng thị giác máy tính vào các hệ thống bãi đỗ Những bất cập như trên sẽ ảnh hưởng đến sự phát triển và đời sống của xã hội Do đó, nhiều nghiên cứu đã đóng góp cho vấn đề này và chính thức hoá bằng việc đưa ra các giải pháp kỹ thuật để tối ưu hoá tốt hơn việc quản lý bãi đỗ xe thông minh Sau khi khảo sát, các giải pháp được chia thành hai loại chính gồm: (i) sử dụng các mạng cảm biến không dây khác nhau (Wireless Sensor Network - WSN) và cung cấp việc phân tích dữ liệu thực từ các cảm biến; và (ii) sử dụng xử lý ảnh (Image processing)- một thuật toán xử lý được sử dụng để phát hiện khu vực đỗ xe trống từ hình ảnh trên không của không gian bãi đỗ xe Đối với các nghiên cứu, mỗi đề xuất phù hợp với bối cảnh và dựa trên cơ sở vật chất có sẵn nên có nhiều vấn đề khác nhau trong việc đạt được các mục tiêu một cách hiệu quả
Hình 1-2: Minh họa hệ thống bãi đỗ xe sử dụng cảm biến từ (IOT) Để hỗ trợ lái xe trong vấn đề này, một số hệ thống hướng dẫn đỗ xe cố gắng thông báo cho người lái xe về những chỗ trống đã được thiết kế và lắp đặt ở nhiều bãi đỗ xe khác nhau Một số hệ thống rất phổ biến như hệ thống có các cảm biến và hiển thị ánh sáng ở mỗi chỗ đậu Đèn báo được bật theo mặc định và đặt tại vị trí sao cho có thể nhìn từ khoảng cách đáng kể và chỉ tắt khi xe chiếm chỗ Người lái xe có thể phát hiện ra những chỗ trống từ xa mà không phải di
4 chuyển xung quanh toàn bộ bãi đậu xe Có rất nhiều biến thể của hệ thống cơ bản này được đề xuất trong những năm gần đây Các hệ thống này chủ yếu thay đổi dựa trên cơ chế phát hiện xe cộ được sử dụng Các phương pháp được sử dụng dao động từ việc sử dụng công nghệ nhận dạng tần số vô tuyến (RFID) [16][17], hoặc cảm biến hồng ngoại [18] đến cảm biến siêu âm Một trong những số đó là hệ thống đỗ xe thông minh dựa trên RFID được phát hiện bởi [27], thực hiện một quy trình tự động kiểm soát khi vào và kiểm soát khi ra các bãi đỗ xe bằng thiết bị đọc RFID Một hệ thống khác được đề xuất bởi [20], dựa trên tác động của từ trường trái đất đối với các cảm biến từ tính được sử dụng để xác định trạng thái của chỗ đỗ xe Cùng với đó, một số tác giả đề xuất các hệ thống phục vụ bãi đỗ xe thông minh bằng cách sử dụng các dịch vụ tin nhắn ngắn (SMS), với việc sử dụng hệ thống toàn cầu cho thiết bị di động (GSM) và vi điều khiển để tăng cường bảo mật [21] Kỹ thuật ZigBee được sử dụng cùng với module GSM để quản lý và đặt chỗ đỗ xe [22] Tác giả sử dụng hệ thống định vị toàn cầu GPS và nền tảng android để hiện thị chỗ đỗ xe có sẵn Mặc dù, các cơ chế này đạt được chức năng yêu cầu cơ bản là phát hiện chỗ trống; tuy nhiên, chúng thường bị ảnh hưởng bởi các yếu tố môi trường như thay đổi điều kiện thời tiết/ hoặc sự hiện diện của nhiễu điện từ, việc triển khai node-to-node yêu cầu nhiều thời gian và chi phí triển khai rất đắt đỏ Một số tác giả sử dụng các kỹ thuật trí thông minh nhân tạo (AI) để xử lý hình ảnh, trong đó nhận ra các bãi đậu xe chỉ chiếm phương tiện Hệ thống cung cấp hình ảnh chỉ định đến các vị trí được chỉ định [23] Một giải pháp khác là việc sử dụng camera góc rộng để phát hiện vị trí đậu xe trống và ghi nhớ các vị trí đó Từ đó, những bản ghi được sử dụng để chỉ định không gian đậu xe cho người dùng tiếp nhận [24] Bằng việc sử dụng kỹ thuật xử lý ảnh có thể xác định được vị trí chỗ trống của nhiều phương tiện và đặc biệt là đáp ứng việc xử lý trong thời gian thực; tuy nhiên, hệ thống bị ảnh hưởng bởi điều kiện thời tiết và việc lắp đặt camera sao cho có thể thấy toàn bộ xe cộ trong bãi đậu Nếu bãi đậu xe có kích thước nhỏ thì chỉ sử dụng một camera là đủ nhưng đối với bãi đậu xe lớn thì có thể mở rộng số camera sử dụng Hệ thống bãi đỗ xe thông minh và thu phí điện tử sử dụng nhận diện ký tự (Optical character recognition) tạo ra một bản ghi đối với tất cả các phương tiện đi vào Điều này giúp việc sử dụng thẻ xe ít hơn cho các phương tiện, nhưng nó không chỉ định một vị trí cho người dùng [25]
Hình 1-3: Minh họa hệ thống bãi đỗ xe thực tế sử dụng thị giác máy tính
Hình 1-4: Minh họa hệ thống bãi đỗ xe thực tế sử dụng camera
Từ việc phân tích các nghiên cứu, các giải pháp đã đề xuất để thấy rõ những vấn đề đang tồn tại chưa được giải quyết, trong luận văn này bằng việc ứng dụng deep learning học viên đề xuất một hệ thống bãi đỗ xe thông minh (ISPS – Intelligent Smart Parking System) sử dụng nhiều cameras Ngoài việc phát hiện có chỗ trống hay không để định hướng cho người lái xe, hệ thống còn có thể xác định danh tính của mỗi xe để có thể thu phí điện tử một cách tự động Điều này cho phép những phương tiện được phát hiện bằng việc sử dụng luồng video góc rộng và biển số xe mặt trước được chụp lại từ camera có độ phân giải cao nhằm tăng độ chính xác cho việc nhận diện biển số Kết quả thực nghiệm của hệ thống có độ chính xác lên đến 96.74% khi so sánh với các phương pháp state-of-the-art
Từ đó, cho thấy tính khả thi của hệ thống ứng dụng vào thực tiễn rất cao Trong các phần tiếp theo, học viên sẽ trình bày về giải pháp đề xuất và thiết kế hệ thống.
Phương pháp nghiên cứu
Phương pháp phân tích và tổng hợp lý thuyết: phân tích, nghiên cứu tư liệu, tài liệu, lý luận từ nhiều nguồn, phân tích từng bộ phận Tổng hợp, liên kết từng mặt, từng bộ phận thông tin đã được phân tích tạo ra một hệ thống lý thuyết mới đầy đủ và sâu sắc để trình bày và báo cáo
Phương pháp thực nghiệm: sử dụng phương pháp nghiên cứu lý thuyết kết hợp với nghiên cứu thực nghiệm, cụ thể như sau: o Dựa vào lý thuyết học máy để hiểu cách hoạt động của các thuật toán phát hiện đối tượng, nhận diện đối tượng Từ đó, thực hiện việc tạo ra các mô hình để xử lý các bài toán o Thiết kế hệ thống o Thử nghiệm, đánh giá và phân tích lỗi Từ đó, đưa ra hướng giải quyết.
Đóng góp chính trong đề tài
Bằng việc điều tra khảo sát thực tiễn các bãi đỗ xe trong địa bàn Hà Nội; các hệ thống quản lý bãi đỗ xe trên đường phố tồn tại những bất cập đã được nêu trên Các đóng góp chính của học viên trong đề tài gồm:
- Đề xuất giải pháp sử dụng hệ thống camera để quản lý bãi đỗ xe trong thành phố ứng dụng công nghệ học máy Kết quả đạt được, giải pháp đề xuất được đăng lên tạp chí JIST
- Giải pháp hóa đề xuất thành hệ thống để chứng minh tính khả dụng trong thực tiễn thông qua các kết quả đạt được trình bày trong chương sau
- Đồng thời, xây dựng bộ dữ liệu hình ảnh các phương tiện được thu thập trên cao đúng với bối cảnh và phân bố dữ liệu thực tế tại Việt Nam cho luận văn nói riêng và cộng đồng nói chung Từ đó, huấn luyện các mô hình học máy trên bộ dữ liệu được xây dựng nhằm cải thiện chất lượng cho hệ thống.
Kết luận
Chương này đã trình bày khái quát chung về hệ thống, mục đích nghiên cứu, phạm vi nghiên cứu và phương pháp nghiên cứu cũng như đóng góp chính trong nghiên cứu trong luận văn Chương tiếp theo sẽ trình bày về cơ sở lý thuyết sử luận văn này
CƠ SỞ LÝ THUYẾT
Ảnh số và hệ thống xử lý ảnh số
2.1.1 Ảnh số Ảnh số là hình ảnh được ghi nhận bởi bộ cảm biến điện tử của các thiết bị ghi hình kỹ thuật số và lưu lại dữ liệu trong bộ nhớ của máy từ phép chiếu hình ảnh ba chiều của vật thể trong thế giới thực lên mặt phẳng hai chiều Trong điều kiện có ánh sáng, các luồng ánh sáng phản xạ từ đối tượng đến thấu kính của máy ảnh
Và thông qua một màng lọc để phân tích ba phổ màu cơ bản: đỏ, xanh lục, xanh lam Gốc của ảnh (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng Hiểu một cách đơn giản hơn, ảnh số chính 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 Tiếp theo, học viên sẽ trình bày các vấn đề cơ bản trong hệ thống xử lý ảnh như sau
2.1.1.1 Điểm ảnh Để xử lý bằng máy tính (số), ảnh cần phải được số hóa Số hóa ảnh là sự biến đổi gần đúng một ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí (không gian) và độ sáng (mức xám) Khoảng cách giữa các điểm ảnh đó được thiết lập sao cho mắt người không phân biệt được ranh giới giữa chúng Mỗi điểm như vậy gọi là điểm ảnh (PEL: Picture Element) hay gọi tắt là Pixel Trong khuôn khổ ảnh hai chiều, mỗi pixel ứng với cặp tọa độ (x, y) Điểm ảnh được định nghĩa là một phần tử của ảnh số tại tọa độ (x, y) với độ xám hoặc màu nhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu) của ảnh số gần như ảnh thật Mỗi phần tử trong ma trận được gọi là một phần tử ảnh
2.1.1.2 Độ phân giải của ảnh Độ 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ị Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt người vẫn thấy được sự liên tục của ảnh Việc lựa chọn khoảng cách thích hợp tạo nên mật độ phân bố, đó chính là độ phân giải và được phân bố theo trục x và y trong không gian hai chiều
Ví dụ, độ phân giải của ảnh trên màn hình CGA là một lưới điểm ảnh theo chiều ngang màn hình: 320 điểm chiều dọc * 200 điểm chiều ngang (320*200) Nếu cùng một độ phân giải nhưng khi hiển thị trên màn hình CGA 17” và CGA 12” sẽ cho thấy sự mịn hơn ở trên màn hình 12” bởi vì cùng một mật độ nhưng diện tích màn hình rộng hơn thì độ mịn (sự liên tục của các điểm ảnh) kém hơn
Một điểm ảnh có hai đặc trưng cơ bản là vị trí (x, y) của điểm ảnh và độ xám của nó Mức xám của một điểm ảnh là cường độ sáng của của nó được gán bằng giá trị số tại điểm đó Giá trị số của cường độ sáng phụ thuộc vào số bits biểu diễn 1 điểm ảnh Các thang giá trị mức xám thông thường: 12, 32, 64, 128, 256
(Mức 256 là mức phổ dụng) đối với ảnh dùng 1 byte (8 bits) để biểu diễn mức xám
Dựa trên cách biểu diễn mức xám của một điểm ảnh, ảnh số gồm một số loại như sau:
Ảnh đen trắng: là ảnh có hai màu đen và 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 Nếu ảnh sử dụng 1 byte để biểu diễn mức xám thì dải mức xám của ảnh đen trắng thuộc khoảng từ 0 đến 255
Ảnh nhị phân: ảnh chỉ có 2 mức đen trắng phân biệt tức dùng 1 bit để biểu diễn mức xám Nói cách khác mỗi điểm ảnh của ảnh nhị phân chỉ có thể là hoặc 0 hoặc 1
Ảnh màu: trong khuôn khổ lý thuyết ba màu (đỏ, xanh lục và xanh dương) có thể tổng hợp lên bất kỳ màu sắc nào trong dải nhìn thấy của mắt người
Vì vậy, mỗi điểm ảnh của ảnh màu thông thường sẽ được biểu diễn bằng 3 bytes để mô tả mức màu tương ứng với đỏ (red), xanh dương (blue) và xanh lục (green) Khi đó các giá trị màu: triệu màu Điều này có nghĩa là cần gấp 3 lần không gian lưu trữ cho ảnh màu so với ảnh đen trắng Các kỹ thuật phân đoạn ảnh dựa trên màu sắc được thực hiện trên ảnh màu
2.1.2 Tổng quan về hệ thống xử lý ảnh số
Xử lý ảnh là một lĩnh vực khoa học và công nghệ Nó là một ngành khoa học mới mẻ so với nhiều ngành khoa học nhưng tốc độ phát triển của nó rất nhanh, kích thước các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng cho nó
Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượng ảnh và phân tích ảnh Theo trích dẫn [1], ngoài các phương pháp nâng truyền thống thì hiện nay, các phương pháp tri thức nhân tạo như mạng nơ ron nhân tạo, các thuật toán xử lý hiện đại và cải tiến, các công cụ nén ảnh ngày càng được áp dụng rộng rãi và thu nhiều kết quả khả quan Để dễ tưởng tượng, thực hiện xét các bước cần thiết trong xử lý ảnh Đầu tiên, ảnh tự nhiên từ thế giới ngoài được thu nhận qua các thiết bị thu (như camera, máy chụp ảnh) Sau đó, bằng các kỹ thuật phát triển ảnh sẽ được chuyển trực tiếp thành ản số tạo thuận lợi cho xử lý tiếp theo Hình 1.1 sau đây mô tả các bước cơ bản trong xử lý ảnh
Hình 2-1: Các bước cơ bản trong hệ thống xử lý ảnh số
Sơ đồ này bao gồm các thành phần sau:
9 Ảnh có thệ nhận qua camera màu hoặc đen trắng Thường ảnh nhận qua camera là ảnh tương tự, cũng có loại đã chuẩn hóa thành ảnh số
Sau bộ thu nhận, ảnh có tthể nhiễu độ tương phản thấp nên cần đưa vào bộ tiền xử lý để nâng cao chất lượng Chức năng chính của bộ tiền xử lý là lọc nhiễu, nâng độ tương phản để làm ảnh rõ hơn và nét hơn
Phân vùng ảnh là tách ảnh đầu vào thành các vùng thành phần để biểu diễn phân tích, nhận dạng ảnh Hay nói cách khác, phân đoạn ảnh là thao tác chia nhỏ ảnh thành các vùng đồng tính (cùng tính chất về màu sắc, kết cấu); cụ thể, là xác định đường biên giữa các vùng ảnh Các vùng này tương ứng với toàn bộ hoặc một phần của đối tượng trong ảnh Đây là phần phức tạp khó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ chính xác của ảnh Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này
Biểu diễn và mô tả ảnh Đầu ra sau phân đoạn ảnh chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn) cộng với mã liên kết với các vùng lân cận Việc biến đổi các số liệu này thành dạnh thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính Việc chọn các tính chất để thể hiện ảnh gọi là trích chọn đặc trưng (feature selection) gắn với việc tách các đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng này với đối tượng khác trong phạm vi ảnh nhận được
Nhận dạng và nội suy ảnh
Trí tuệ nhân tạo
Artificial Intelligence (AI) hay còn gọi là Trí tuệ nhân tạo là một ngành Khoa học máy tính liên quan đến việc xây dựng các máy tính thông minh có khả năng thực hiện các tác vụ như một con người Hay nói cách khác, Trí tuệ nhân tạo mô phỏng khả năng giải quyết vấn đề và ra quyết định của bộ não con người Nhìn chung, AI là một ngành rộng và có liên quan đến các như Khoa học máy tính, Tâm lý học, Ngôn ngữ học, Toán học, Sinh học và kỹ thuật
Trên thực tế, AI được thực hiện bằng cách nghiên cứu suy nghĩ của não bộ con người hoạt động như khả năng học hỏi, ra quyết định và làm việc; từ đó, tạo
10 ra trí thông minh nhân tạo cho máy Các kỹ sư AI sẽ sử dụng thuật toán và các ngôn ngữ lập trình Trí tuệ nhân tạo để tạo ra các mô hình mẫu dựa trên lịch sử dữ liệu của con người
Hình 2-2: Trí tuệ nhân tạo
(Nguồn: https://plus.vtc.edu.vn/ai-la-gi)
Theo tác giả Arend Hintze – một trợ lý giáo sư về Sinh học tích hợp và Khoa học máy tính và Kỹ thuật tại Đại học Bang Michigan, giải thích trong một bài báo trên Government Technology rằng AI có thể được phân thành bốn loại như sau:
Loại 1 – Công nghệ AI Phản ứng: Các hệ thống AI này không có bộ nhớ và hoạt động cụ thể Ví dụ là Deep Blue, chương trình cờ vua của IBM có thể xác định các quân cờ trên bàn cờ và đưa ra dự đoán, nhưng nó lại không có trí nhớ nên không thể sử dụng kinh nghiệm trong quá khứ để thông báo cho những quân cờ ở tương lai
Loại 2 – Công nghệ AI với bộ nhớ hạn chế: Khác với AI phản ứng, các hệ thống AI này có bộ nhớ, vì vậy chúng có thể sử dụng kinh nghiệm trong quá khứ để thông báo cho các quyết định trong tương lai Ví dụ là một số chức năng ra quyết định trên ô tô tự lái được thiết kế theo cách này
Loại 3 – Lý thuyết tâm lý: Lý thuyết tâm lý là một thuật ngữ tâm lý học Khi được áp dụng cho AI, hệ thống sẽ có trí thông minh của con người để hiểu được cảm xúc Loại AI này sẽ có thể suy ra ý định của con người và dự đoán hành vi, một kỹ năng cần thiết để các hệ thống AI trở thành con người
Loại 4 – Tự nhận thức: Nghĩa là các hệ thống AI có ý thức về bản thân và hiểu được trạng thái hiện tại của nó Loại AI này vẫn chưa tồn tại
Hình 2-3: Các loại trí tuệ nhân tạo
(Nguồn: https://plus.vtc.edu.vn/ai-la-gi)
Hiện nay con người thường sử dụng công nghệ AI để tiết kiệm thời gian làm việc và giảm rủi ro trong lao động AI có thể được ứng dụng trên nhiều lĩnh vực trong cuộc sống như vận tải, sản xuất, y tế, giáo dục, truyền thông, các ngành dịch vụ, … Một số ứng dụng nổi bật của AI trong thực tế có thể kế đến như:
Xử lý ngôn ngữ tự nhiên
Hỗ trợ tìm kiếm bằng giọng nói
Khi nhắc đến AI, chúng ta đều đã từng nghe qua một trong ba cụm từ AI, Machine Learning (học máy) và Deep Learning (học sâu) Để tránh sự nhầm lẫn giữa 3 thuật ngữ được đề cập thông qua sự khác nhau giữa chúng ở mức độ cơ bản như bảng sau:
Bảng 2-1: Mô tả sự khác nhau giữa AI, ML và DL
Trí tuệ nhân tạo (AI) Machine learning Deep learning
+ Là trí tuệ máy móc được tạo ra bởi con người Trí tuệ này có thể tư suy, suy nghĩ, học hỏi và hành xử như con người Xử lý dữ liệu ở mức độ rộng hơn, quy mô hơn, hệ thống, khoa học và nhanh hơn so với con người
+ AI có ba mức độ khác nhau:
+ Là một phương tiện được kỳ vọng sẽ giúp con người đạt được mục tiêu đó
+ Là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống “học” tự động từ dữ liệu để giải quyết
+ Là một nhánh của học máy, liên quan đến các thuật toán lấy cảm hứng từ cấu trúc và chức năng của não nhằm bắt chước trí thông minh của con người được gọi là Mạng thần kinh nhân tạo (nội dung chi tiết được trình bày ở phần sau)
12 nhân tạp được cho là
“hẹp” khi máy có thể thực hiện một nhiệm vụ cụ thể tốt hơn so với con người
General AI: Trí tuệ nhân tạo đạt đến trạng thái tổng quát khi nó có thể thực hiện bất kỳ nhiệm vụ sử dụng trí tuệ nhân tạo có cùng độ chính xác như con người
Strong AI: AI rất mạnh khi nó có thể đánh bại con người trong nhiều nhiệm vụ cụ thể
+ AI thể hiện một mục tiêu của con người những vấn đề cụ thể (chi tiết sẽ được trình bày ở phần tiếp theo)
+ Tập hợp các kỹ thuật
AI sử dụng nhiều phương pháp thống kê để ghi nhớ lại sự phân bố của dư liệu và cho phép máy tính tự cải thiện bằng kinh nghiệm
Như đã được đề cập ở phần trên, học máy là một tập con của AI Theo định nghĩa của Wikipedia, “Học máy is the subfield of computer science that gives computers the ability to learn without being explicity programmed” Nói đơn giản, Học máy là một lĩnh vực của Khoa học máy tính, nó có khả năng tự học hỏi dựa trên dữ liệu đưa vào mà không cần phải được lập trình cụ thể Hay một định nghĩa theo hướng kỹ thuật hơn theo Tom Mitchell, 1997 “A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its perfromance on T, as measured by P, improves with experience E” Để hiểu rõ hơn cùng xét đến một ví dụ điển hình của chương trình học máy đó là Spam Filter, tập dữ liệu đầu vào của nó bao gồm 2 loại là spam mails và nonspam mails Dữ liệu mà hệ thống dùng để học sẽ được gọi là traning set (tập huấn luyện) Mỗi một mail (spam hoặc nonspam) được gọi là một training instance (một mẫu huấn huấn luyện) Trong trường hợp này, task T chính là phân loại mỗi email mới được gửi đến, experience E là training data và một performance measure P nào đó được nghĩa trước (ví dụ như accuracy (độ chính xác phân loại) được tính là tỉ lệ giữa số email được phân loại đúng trên tổng số email)
Thị giác máy tính
Thị giác máy tính là thuật ngữ mô tả một tập hợp các công nghệ cho phép thiết bị máy tính, phần mềm hoặc bất kỳ thiết bị nào; thu nhận, phân tích và xử lý hình ảnh Trong các năm gần đây, thị giác máy tính là một trong những lĩnh vực nổi bật của khoa học máy tính và nghiên cứu trí tuệ nhân tạo đạt được các thành tựu – được khai thác và ứng dụng rộng rãi trong các lĩnh vực đời sống
2.3.1 Kỹ thuật phân loại hình ảnh
Phân loại hình ảnh (Image classification) hay Nhận dạng hình ảnh (Image recognition) là một trong những tác vụ của thị giác máy tính, ở đó thuật toán xem xét và dán nhãn cho hình ảnh từ một tập danh mục được xác định và đào tạo trước
Hình 2-19: Minh họa tác vụ phân loại hình ảnh
(Nguồn: https://levity.ai/blog/what-is-an-image-classifier)
2.3.1.2 Các kỹ thuật phân loại
Có nhiều thuật toán khác nhau được ứng dụng trong việc phân loại hình ảnh Các thuật toán này được chia thành hai nhóm chính là Học có giám sát (supervised learning) và Học không giám sát (unsupervised learning) Cụ thể như sau:
Phân loại có giám sát
Trong học máy có giám sát, thuật toán được huấn luyện trên một tập hình ảnh đã được dán nhãn Từ dữ liệu mẫu này, thuật toán có thể trích xuất thông tin, phục vụ phân loại ngay cả những hình ảnh chưa từng nhìn thấy trước đó Xuyên suốt quá trình đào tạo, đặc điểm của ma trận hình ảnh sẽ được trích xuất dưới dạng dữ liệu quan trọng để đưa vào xử lý Các đặc điểm này đại diện cho hình ảnh trong không gian chiều thấp (lower-dimensional feature space) và là cơ sở để thuật toán tiến hành phân loại
Trong quá trình đánh giá, các đặc điểm của ảnh thử nghiệm được thu thập và tái phân loại với sự hỗ trợ của mạng thần kinh nhân tạo Hệ thống lúc này đã có thể nhận biết các đặc điểm điển hình của mọi lớp hình ảnh mà nó được đào tạo Đối với phân loại có giám sát, việc dán nhãn dữ liệu đóng vai trò quan trọng Độ chính xác của dữ liệu được dán nhãn quyết định phần lớn hiệu suất của mô hình học máy Các thuật toán phân loại có giám sát có thể được chia thành hai mục nhỏ hơn dựa trên nhãn dữ liệu
Các phương pháp phân loại phổ biến dựa trên học có giám sát bao gồm: o Support Vector Machines o Decision Trees o K Nearest Neighbors o Các mạng nơ-ron thường được sử dụng để phân loại hình ảnh có giám sát bao gồm AlexNet, ResNet, DenseNet và Inception
Phân loại nhãn đơn (Single-label classification) là tác vụ phổ biến nhất trong phân loại ảnh có giám sát Theo đó, mỗi hình ảnh được đại diện bởi một nhãn/chú thích (a single label or annotation) Mô hình xuất ra một giá trị hoặc dự đoán duy nhất cho mỗi hình ảnh mà nó xử lý Đầu ra từ mô hình là mã hóa One-hot (từng giá trị được biến đổi thành các đặc trưng nhị phân chỉ chứa giá trị 1 hoặc 0) Mã hóa One-hot có độ dài bằng số lớp và giá trị biểu thị xác suất hình ảnh thuộc về lớp này
Hàm Softmax được sử dụng để đảm bảo các xác suất tổng bằng một và xác suất tối đa được chọn làm đầu ra của mô hình Mặc dù Softmax không có giá trị về mặt dự đoán, nhưng nó giúp ràng buộc đầu ra giữa 1 và 0, nhờ vậy, có thể đánh giá độ tin cậy của mô hình từ điểm Softmax
Phân loại nhãn đơn có thể được xếp vào phân loại đa lớp (Multiclass classification) hoặc phân loại nhị phân (binary classification)
Phân loại đa nhãn là một tác vụ phân loại trong đó mỗi hình ảnh có thể chứa nhiều hơn một nhãn hoặc một số hình ảnh chứa đồng thời tất cả các nhãn
Phân loại đa nhãn xuất hiện phổ biến trong lĩnh vực xử lý hình ảnh y tế, khi một bệnh nhân có thể được chẩn đoán mắc nhiều bệnh dựa trên dữ liệu chụp X-quang
Phân loại không giám sát
Trong học máy không giám sát, thuật toán chỉ sử dụng dữ liệu thô để đào tạo.Các nhãn phân loại thường không xuất hiện trong kiểu học này và mô hình học bằng cách nhận dạng các mẫu trong tập dữ liệu huấn luyện
Giống như phân loại có giám sát, các phương pháp dựa trên không giám sát cũng liên quan đến bước trích xuất đặc điểm với các thông tin chi tiết nhất về hình ảnh Các đặc điểm này sau đó được xử lý bằng các phương pháp phân cụm tham số (Gaussian Mixture Models) và phi tham số (K-means) hoặc các thuật toán học không giám sát khác
Các thuật toán và kỹ thuật phân loại của thị giác máy tính không chỉ giới hạn trong dữ liệu hình ảnh 2D đơn giản mà còn mở rộng ra dưới dạng Video và ảnh 3D
Hình 2-20: Tiêu chí đánh giá chất lượng bộ phân loại hình ảnh
Trong đó, các chỉ số TP, FP, TN, FN lần lượt có ý nghĩa là :
TP (True Positive): Tổng số trường hợp dự báo khớp Positive
TN (True Negative): Tổng số trường hợp dự báo khớp Negative
FP (False Positive): Tổng số trường hợp dự báo các quan sát thuộc nhãn Negative thành Positive
FN (False Negative): Tổng số trường hợp dự báo các quan sát thuộc nhãn Positive thành Negative
2.3.2 Kỹ thuật phát hiện đối tượng
Trong phần trước, học viên đã trình bày về kỹ thuật phân loại hình ảnh – liên quan đến việc dự đoán lớp của một đối tượng trong một hình ảnh Vậy phát hiện đối tượng trong thị giác máy tính là gì? Để trả lời câu hỏi này, chúng ta cùng tìm hiểu các khái niệm sau
Phân loại hình ảnh (image classification): liên quan đến việc gán nhãn cho hình ảnh
Định vị vật thể (object localization): liên quan đến quá trình xác định vị trí của một hoặc nhiều đối tượng trong hình thông qua việc vẽ các hộp giới hạn (bounding box) xung quanh nhằm khoanh vùng đối tượng
Kết luận
Trong chương này học viên đã trình bày các cơ sở lý thuyết cơ bản và các kỹ thuật được sử dụng để giải quyết các bài toán của hệ thống Chương tiếp theo sẽ trình bày về các công cụ hỗ trợ thiết kế, xây dựng và triển khai hệ thống
GIẢI PHÁP ĐỀ XUẤT VÀ HỆ THỐNG HÓA
Giải pháp đề xuất
Sau khi phân tích và khảo sát các hệ thống bãi đỗ xe đã và đang được sử dụng hiện nay, một số chức năng xuất phát từ yêu cầu thực tế đặt ra cho giải pháp bao gồm:
Quản lý trạng thái các điểm đỗ trong bãi đỗ xe (*);
Phát hiện, theo dõi và xác định vị trí đỗ của xe (**);
Phát hiện và nhận diện biển số xe (***)
Trong quá trình nghiên cứu, để đáp ứng các chức năng được đề cập học viên đã đề xuất và thử nghiệm các hướng tiếp cận khác nhau Cụ thể hơn là, ngoài việc ứng dụng các kỹ thuật trong thị giác máy tính, mà còn đề xuất vị trí lắp đặt camera (loại camera) gồm: 1) hệ thống sử dụng một camera và 2) hệ thống sử dụng nhiều camera
Hình 3-1: (a) Hệ thống sử dụng một camera và (b) Hệ thống sử dụng nhiều camera
Sau khi thực hiện thử nghiệm, ưu nhược điểm của hai hệ thống trên được mô tả trong bảng sau
Bảng 3-1: Ưu nhược điểm của hệ thống sử dụng một camera và nhiều camera
Tên hệ thống Ưu điểm Nhược điểm
Hệ thống sử dụng - Số lượng camera sử dụng: 1 - Chỉ hoạt động tốt đối với
52 một camera (a) (phụ thuộc vào kích thước của bãi đỗ Trong lần thử nghiệm này, học viên chỉ sử dụng 1 camera)
- Chỉ sử dụng duy nhất 1 luồng dữ liệu đầu vào cho hệ thống nhưng đảm bảo hai chức năng (*), (**) và (***) được đề cập ở phần trên Điều này không cần xử lý bài toán đồng bộ được trình bày ở hệ thống đề xuất sau các trường hợp xe đi vào tuần tự, không có vật cản
- Biển số xe không thuộc các trường hợp ngoại lệ như mất góc, biển số xe bị mờ, …
- Khả năng nhận diện biển số không tốt đối với các xe đỗ ở xa camera
Hệ thống sử dụng nhiều camera (b)
- Chất lượng hệ thống không phụ thuộc vào bối cảnh tuần tự hay không tuần tự của các phương tiện
- Tại mỗi điểm đỗ chỉ sử dụng duy nhất 1 luồng dữ liệu đầu vào để thực hiện cùng một lúc hai chức năng (*), (**) và (***) Tương tự, điều này không cần xử lý bài toán đồng bộ được trình bày ở hệ thống đề xuất sau
- Số lượng camera sử dụng bằng với số lượng điểm đỗ
3.1.1 Đối tượng của hệ thống Đối tượng của hệ thống là các bãi đỗ xe trên đường phố nhằm cung cấp một giải pháp xây dựng cho thành phố thông minh, được trình bày thông qua các hình 4-5 đến 4-7
Hình 3-2: Hình dạng bãi đỗ xe chéo trên đường phố
Hình 3-3: Hình dạng bãi đỗ xe ngang trên đường phố
Hình 3-4: Hình dạng bãi đỗ xe dọc trên đường phố
Với đối tượng của hệ thống đặt ra là các bãi đỗ xe trên được trình bày với những hình dạng khác nhau thể hiện rõ thông qua các hình vẽ Hình 4-5, Hình 4-
6 và Hình 4-7 Từ đó, hệ thống phải có chức năng xử lý tốt những kịch bản thực tế khi xe ô tô vào điểm đỗ như Hình 4-8 sau:
Hình 3-5: Các kịch bản xe vào điểm đỗ
3.1.2 Chức năng của hệ thống
Từ những kịch bản của xe vào điểm đỗ như trên, chúng ta nhận thấy rằng trong việc quản lý bãi đỗ xe thông minh việc phải phát hiện, nhận diện được biển số tương ứng đối với xe đó là rất quan trọng Trong các trường hợp trên, việc xử lý bãi đỗ xe có hình dạng bãi đỗ xe dọc trên đường phố là trường hợp khó khăn nhất Chính là việc phải nhận diện được biển số trước khi xe vào điểm đỗ Bởi vì, khi xe đã vào điểm đỗ sẽ xảy ra những trường hợp biển số bị che lấp bởi các xe ở
54 phía trước và sau dẫn đến không thể phát hiện được biển số Do đó, trong hệ thống này học viên tập trung vào việc xử lý trường hợp này
Với bài toán đặt ra, hệ thống có các chức năng chính gồm:
Camera phát hiện, theo dõi và nhận diện biển số xe vào bãi đỗ xe
Camera đếm số lượng không gian trống trong bãi đỗ xe
Camera có chức năng điều hướng xe vào vị trí còn trống và xác định vị trí xe của cá nhân trong bãi đỗ
Xác định danh tính của xe, thu phí điện tử (nếu có)
Sau khi phân tích ưu-nhược điểm của hai hệ thống (a) và (b) được đề xuất ở trên Trong phạm vi của luận văn và bối cảnh bãi đỗ xe thực tế, học viên đề xuất hệ thống sử dụng hai camera để:
Giải quyết các nhược điểm của hệ thống (a) và (b);
Đảm bảo đáp ứng các chức năng theo yêu cầu đặt ra Đầu tiên, học viên thực hiện đề xuất các tiêu chí lắp đặt camera cho hệ thống, được minh họa trong hình sau
Hình 3-6: Mô hình đề xuất vị trí lắp đặt camera cho hệ thống
Hệ thống đề xuất sử dụng hai camera có tiêu chuẩn lắp đặt và đảm nhiệm các chức năng khác nhau, được mô tả trong bảng sau
Bảng 3-2: Mô tả chức năng và tiêu chuẩn lắp đặt camera
Tên camera Tiêu chuẩn lắp đặt Chức năng
Skeye camera - Dải độ cao của camera: 6m đến 12m; tính từ mặt đất cho đến vị trí lắp camera (phụ thuộc vào độ phân giải và tiêu
- Giám sát không gian và bao phủ tối đa phạm vi hoạt động bãi đỗ xe từ trên cao;
- Thu nhận hình ảnh sự kiện; từ
55 cự của loại camera được chọn)
- Góc nghiêng tạo với mặt đất khoảng một góc 15 độ
- Loại camera: Camera góc rộng đó, làm dữ liệu đầu vào cho các khối xử lý bao gồm:
- (1) cho phép xác định các vị trí slot (điểm đỗ) bằng cách khoanh vùng để biết trạng thái của slot (chiếm dụng/ chưa chiếm dụng)
- (2) ảo hóa bãi đỗ xe để phát hiện, theo dõi và bám đối tượng di chuyển vào bãi đỗ xe
- (3) thiết lập hàng rào ảo, khu vực phát hiện ảo để đồng bộ
LPR Camera - Dải độ cao của camera: 1m đến 1,2m; tính từ mặt đất cho đến vị trí camera
- Góc nghiên tạo với mặt đất khoảng một góc 25 độ
- Loại camera: độ phân giải cao, khả năng zoom cao
- Thu thập hình ảnh sự kiện đối tượng đi vào làm đầu vào cho các khối xử lý gồm:
- (1) để phát hiện biển số và các ký tự trên biển số;
- (2) thiết lập hàng rào ảo, khu vực phát hiện ảo để đồng bộ
Sau khi lắp đặt camera theo tiêu chí lắp đặt, học viên thực hiện đề xuất giải pháp kỹ thuật để xử lý các bài toán trong hệ thống theo chức năng đặt ra như sau:
Với dữ liệu hình ảnh được thu thập bởi camera Skyeye có ba bài toán cần phải xử lý gồm: quản lý trạng thái điểm đỗ của bãi đỗ xe, phát hiện đối tượng và theo dõi đối tượng Trong phạm vi của luận văn, học viên sử dụng hai kỹ thuật chính trong thị giác máy tính là phát hiện đối tượng (Object detection) và theo dõi đối tượng (Object tracking) ứng dụng học sâu (Deep learning) để thực hiện tự động các chức năng đưa ra Khối xử lý này được đặt tên là Skyeye module
Với dữ liệu hình ảnh được thu thập bởi camear LPR có hai bài toán cần phải xử lý gồm: phát hiện biển số xe và nhận diện các ký tự trên biển số xe Đối với hai bài toán này, học viên sử dụng hai kỹ thuật chính là phát hiện đối tượng và nhận diện đối tượng ứng dụng học sâu để tự động thực hiện khi có đối tượng xuất hiện Tương tự, khối xử lý này được đặt tên là ALPR module
Ngoài ra, một bài toán chính cần phải xử lý khi hệ thống sử dụng hai hoặc nhiều camera chính là bài toán đồng bộ đối tượng – có tên gọi là Object Synchronization Để giải quyết bài toán này, học viên đề xuất hai hướng tiếp cận gồm:
Chuyển đổi luồng hệ thống xử lý song song độc lập của hai khối Skyeye module và ALPR module thành luồng hệ thống xử lý tuần tự thông qua hành động trigger (thông báo) (tương tự, mô hình client- server sử dụng API REST);
Tổng quan hệ thống
Computer Vision Based Smart Parking System (CVBSPS) là giải pháp quản lý bãi đỗ xe một cách tự động ứng dụng thị giác máy tính Từ đó, mang đến sự hiệu quả trong việc quản lý, đảm bảo được sự an toàn, tiện lợi, nhanh chóng cho người dùng; đồng thời, quản lý doanh thu một cách chính xác cho các chủ sở hữu
Chức năng chính của hệ hống
Phát hiện và nhận diện đối tượng tự động ứng dụng thị giác máy tính;
Quản lý trạng thái và kiểm soát bãi đỗ xe.
Thiết kế tổng thể
Theo yêu cầu đặt ra ban đầu, hệ thống bao gồm các phân hệ chính được minh họa và mô tả chi tiết lần lượng trong Hình 4-1 và Bảng 4-1 như sau
Hình 3-13: Mô hình tổng quan hệ thống Bảng 3-4: Các phân hệ chính của hệ thống đề xuất
STT Phân hệ chính Chức năng
- Quản lý thiết bị camera được triển khai trong bãi đỗ xe
- Đọc cấu hình từ file config, thực hiện gửi tham số cấu hình camera đến AI Core đảm bảo luồng đọc dữ liệu hình ảnh đầu vào
- Đọc dữ liệu từ các camera đầu vào;
- Thực hiện phát hiện và nhận diện đối tượng;
- Thực hiện phát hiện và nhận diện biển số xe của đối tượng;
- Gửi kết quả đến Backend Core,
- Thực hiện lấy kết quả sau khi được khối AI Core xử lý; sau đó, thực hiện lưu trữ vào DB
- Đồng thời, gửi dữ liệu đến Customer System thông qua interface
4 APPs - Các ứng dụng đầu cuối sử dụng để hiển thị và giám sát hệ thống
Thiết kế chi tiết
Hình 3-14: Mô hình chi tiết các thành phần của hệ thống Bảng 3-5: Mô tả chi tiết các thành phần của hệ thống
STT Phân hệ Thành phần Chức năng
1 VMS System VMS Server - Quản lý, cấu hình thiết bị camera được sử dụng để thu thập dữ liệu hình ảnh từ cổng vào/ra khi có sự kiện của đối tương trong toàn bộ dự án
- Cho phép khoanh vùng phát hiện đối tượng
2 Database Server - Lưu trữ dữ liệu, sự kiện của toàn
3 VA System AI Core - Xử lý dữ liệu ảnh được thu thập từ thiết bị camera bằng việc ứng dụng các thuật toán – kỹ thuật trong thị giác máy tính cho các bài toán: phát hiện, nhận diện và theo dõi đối tượng
- Thực hiện nhiệm vụ gửi các cảnh báo phù hợp đến người quản trị hoặc người dùng cuối
5 Statistic - Thực hiện nhiệm vụ thống kê, phân tích và tổng hợp báo cáo
6 APPs Monitoring - Hiển thị dữ liệu giám sát về hiệu năng của hệ thống cho quản trị viên giám sát;
- Hiển thị dữ liệu phân tích, thống kê và báo cáo cho quản trị viên giám sát
Center Controller - Thiết bị hiển thị trạng thái vị trí các điểm đỗ trong bãi xe;
- Thiết bị hiển thị số lượng chỗ còn trống/ tổng số lượng điểm đỗ của bãi xe;
Trong luận văn này và thuộc phạm vi nghiên cứu chính của học viên, học viên thực hiện đề xuất và tập trung phát triển khối AI Core của hệ thống, được minh họa trong hình sau
Hình 3-15: Ghép nối giải pháp đề xuất vào hệ thống
Hình 3-16: Luồng xử lý của hệ thống
Luồng xử lý của khối AI Core như sau:
Thiết lập vùng phát hiện ảo hóa và cấu hình luồng dữ liệu hình ảnh đọc từ các thiết bị camera làm đầu vào cho các khối xử lý chính của AI Core thực hiện đúng chức năng theo thiết kế ban đầu Tại bước này bao gồm: (1.1) Thiết lập barrier và vùng phát hiện đối tượng ảo hóa; (1.2) Cấu hình luồng
66 thu thập dữ liệu hình ảnh của camera Skyeye làm đầu vào cho module Skyeye và (1.3) tương tự, cấu hình luồng thu thập dữ liệu hình ảnh từ camera ALPR làm đầu vào cho module ALPR Sau đây là các bước xử lý của mỗi module khi có sự kiện xảy ra
PT 2.1) Sau khi nhận dữ liệu hình ảnh từ camera Skyeye, Khối Car detection thực hiện chức năng phát hiện đối tượng khi có sự kiện xảy ra Kết quả xử lý sẽ được đẩy vào Redis tại queue: skyeye_object_queue (được cấu hình)
(3) (3.1) Khối ALPR detection thực hiện đọc dữ liệu từ camera ALPR Sau đó, thực hiện phát hiện biển số xe và nhận diện các ký tự trên biển số xe được phát hiện Kết quả xử lý được đẩy vào Redis tại queue: alpr_queue (được cấu hình)
(4) (4.1) Tương tự khối (2), khối Occupancy detection đọc dữ liệu từ camera Skyeye thực hiện chức năng phát hiện trạng thái của các điểm đỗ
Kết quả xử lý sẽ được đẩy vào Redis tại queue: parking_spot_status_queue (được cấu hình)
(5) Module Object Synchronization thực hiện đọc dữ liệu từ 2 queue: skyeye_object_queue và alpr_queue Sau đó, thực hiện đồng bộ theo cơ chế đồng bộ được chọn; đồng thời, tổng hợp thông tin và gửi lại kết quả vào Redis tại queue: sync_queue và lưu kết quả vào database sử dụng PostgreSQL Module này thực hiện các tiến trình gồm: (5.1), (5.2) và (5.3)
(6) Khối Car tracking thực hiện 2 tiến trình chính gồm:
(6.1) Thực hiện đọc dữ liệu từ 2 queue: skyeye_object_queue và sync_queue để cập nhật định danh cho mỗi đối tượng theo dõi
(6.2) Đồng thời, kết quả theo dõi đối tượng sẽ được đẩy vào Redis tại queue: object_tracking_queue
(7) Khối Parking monitoring thực hiện đọc dữ liệu từ Redis tại queue: object_tracking_queue và parking_spot_status_queue để cập nhật trạng thái
(ES) VMS thực hiện lưu trữ dữ liệu hình ảnh được thu thập từ các camera sử dụng Elasticsearch
(8) AI Core thực hiện lặp lại từ bước 2 cho đến bước 7.
Các công cụ và phần mềm sử dụng
Python là một ngôn ngữ lập trình được sử dụng rộng rãi trong các ứng dụng web, phát triển phần mềm, khoa học dữ liệu và máy học (ML) Các nhà phát triển sử dụng Python vì nó hiệu quả, dễ học và có thể chạy trên nhiều nền tảng khác nhau Phần mềm Python được tải xuống miễn phí, tích hợp tốt với tất cả các loại hệ thống và tăng tốc độ phát triển
(Nguồn: https://www.python.org/)
Những lợi ích Python mang lại bao gồm:
Các nhà phát triển có thể dễ dàng đọc và hiểu một chương trình Python
Python có một thư viện tiêu chuẩn lớn, chứa nhiều dòng mã có thể tái sử dụng cho hầu hết mọi tác vụ
Các nhà phát triển có thể dễ dàng sử dụng Python với các ngôn ngữ lập trình phổ biến khác như Java, C và C++
Cộng đồng Python tích cực hoạt động bao gồm hàng triệu nhà phát triển nhiệt tình hỗ trợ trên toàn thế giới
Python có thể được sử dụng trên nhiều hệ điều hành máy tính khác nhau, chẳng hạn như Windows, macOS, Linux và Unix
Cung cấp nhiều thư viện hỗ trợ phân tích dữ liệu và học máy Ví dụ như Numpy, OpenCV-Python, Keras, Pandas và Matplotlib
3.5.2 Các framework Deep learning sử dụng
PyTorch là một framework học máy dựa trên thư viện Torch, được sử dụng trong lĩnh vực thị giác máy tính và xử lý ngôn ngữ tự nhiên, do Meta AI phát triển và ngày nay là một phần của Linux Foundation Đây là phần mềm tự do nguồn mở và được phát triển chính yếu ở dạng giao diện ngôn ngữ Python
Pytorch cung cấp hai tính năng chính gồm:
Điện toán Tensor (như Numpy) với khả năng tăng tốc mạnh mẽ qua các bộ xử lý đồ họa (GPU);
Các mạng neuron sâu được xây dựng dựa trên hệ thống vi phân tự động
Những lợi ích khi sử dụng PyTorch bao gồm:
Mã nguồn mở giúp PyTorch xây dựng một cộng đồng lớn mạnh với nguồn tài nguyên chất lượng
Khả năng xử lý đồ họa mạnh mẽ giúp kiểm soát CPU & GPU rõ ràng
Tập hợp nhiều Pythonic tự nhiên
Dễ dàng xử lý code khi gặp bug
Có TouchScript giúp triển khai các ứng dụng vào quy mô sản xuất để mở rộng quy mô
Các hàm, cú pháp cơ bản trong Pytorch giúp xử lý các bài toán về AI một cách nhanh chóng
(Nguồn: https://pytorch.org/tutorials/)
(Nguồn: https://commons.wikimedia.org/wiki/File:Tensorflow_logo.svg)
Tensorflow là một thư viện mã nguồn mở phục vụ cho hoạt động Học máy
Nó được xây dựng bởi Google, vì thế chúng ta có thể yên tâm về độ ổn định của nó khi sử dụng Tensorflow có sẵn trên cả máy tính để bàn và thiết bị di động và cũng hỗ trợ các ngôn ngữ như Python, C ++ và R để tạo các mô hình học sâu cùng với các thư viện trình bao bọc
TensorFlow đi kèm với một số công cụ được sử dụng rộng rãi:
TensorBoard để hiển thị dữ liệu hiệu quả của mô hình và hiệu suất mạng
TensorFlow Phục vụ cho việc triển khai nhanh chóng các thuật toán / thử nghiệm mới trong khi vẫn giữ nguyên kiến trúc máy chủ và API
TensorFlow Serving: công cụ giúp triển khai các mô hình Học máy viết bằng TensorFlow thành một sản phẩm thực sự
Keras được coi là một thư viện ‘high-level’ với phần ‘low-level’ (còn được gọi là backend) có thể là TensorFlow, CNTK, hoặc Theano Keras có cú pháp đơn giản hơn TensorFlow rất nhiều Với mục đích giới thiệu về các mô hình
69 nhiều hơn là các sử dụng các thư viện deep learning, tôi sẽ chọn Keras với TensorFlow là ‘backend’
Sau đây là một số đặc điểm chính của thư viện Keras:
Keras ưu tiên trải nghiệm của người lập trình
Keras đã được sử dụng rộng rãi trong doanh nghiệp và cộng đồng nghiên cứu
Keras giúp dễ dàng biến các thiết kế thành sản phẩm
Keras hỗ trợ huấn luyện trên nhiều GPU phân tán
Keras hỗ trợ đa backend engines và không giới hạn vào một hệ sinh thái
Docker là một nền tảng mở để phát triển, vận chuyển và chạy các ứng dụng Docker cho phép tách các ứng dụng khỏi cơ sở hạ tầng để có thể phân phối phần mềm một cách nhanh chóng
(Nguồn: https://www.docker.com/)
Chức năng và vai trò của docker
Docker cho phép phát triển, di chuyển và chạy các ứng dụng dựa vào công nghệ ảo hóa trong linux
Tự động triển khai các ứng dụng bên trong các container bằng cách cung cấp thêm một lớp trừu tượng và tự động hóa việc ảo hóa mức (OS)
Docker có thể được sử dụng trên các hệ điều hành như: Windows, Linux, MacOS
Một số lợi ích khi sử dụng docker
Docker giúp cho việc vận chuyển phần mềm nhanh hơn trung bình 7 lần so mới người dùng không sử dụng docker
Nhanh chóng tiển khai, khởi động và di chuyển
Hỗ trợ APIs để giao tiếp với các container
Việc triển khai phần mềm, khắc phục sự cố dễ dàng hơn so được đóng vào container nhỏ
Tiết kiệm tài nguyên và tiền bạc vì nó giúp chạy nhiều phần mềm hơn trên
1 máy chủ giúp tận dụng tối đa tài nguyên
PostgreSQL là một hệ thống quản trị cơ sở dữ liệu quan hệ-đối tượng (object- relational database management system) có mục đích chung, hệ thống cơ sở dữ liệu mã nguồn mở tiên tiến nhất hiện nay
PostgreSQL không yêu cầu quá nhiều công tác bảo trì bởi có tính ổn định cao Do đó, nếu phát triển các ứng dụng dựa trên PostgreSQL, chi phí sở hữu sẽ thấp hơn so với các hệ thống quản trị dữ liệu khác
Hình 3-22:Cơ sở dữ liệu PostgreSQL
(Nguồn: https://www.postgresql.org/)
Việc sử dụng PostgreSQL mang lợi các lợi ích gồm:
PostgreSQL sở hữu một hệ tính năng đa dạng giúp hỗ trợ các nhà phát triển xây dựng app, các nhà quản trị bảo vệ toàn vẹn dữ liệu, và tạo ra một môi trường chịu lỗi fault-tolerant giúp quản lý dữ liệu bất kể tập dữ liệu lớn hay nhỏ
Dễ sử dụng và Cung cấp khả năng mở rộng
Khả năng vận hành ổn định, tốc độ tối ưu
MongoDB là phần mềm cơ sở dữ liệu mã nguồn mở NoSQL hỗ trợ đa nền tảng được thiết kế theo hướng đối tượng Các bảng (trong MongoDB gọi là collection) có cấu trúc linh hoạt cho phép dữ liệu không cần tuân theo dạng cấu trúc nào
Hình 3-23: Cơ sở dữ liệu MongoDB
(Nguồn: https://www.mongodb.com/)
Việc sử dụng MongoDB mang đến một số lợi ích sau:
Đầu tiên có thể nhắc đến là tính linh hoạt lưu trữ dữ liệu theo các kích cỡ khác nhau, dữ liệu dưới dạng hướng tài liệu JSON nên có thể chèn vào thoải mái bất cứ thông tin gì muốn
Khác với RDBMS, dữ liệu trong đây không có sự ràng buộc và không có yêu cầu tuân theo khuôn khổ nhất định, điều này giúp tiết kiệm thời gian cho việc kiểm tra sự thỏa mãn về cấu trúc nếu muốn chèn, xóa, cập nhật hay thay đổi các dữ liệu trong bảng
MongoDB dễ dàng mở rộng hệ thống bằng cách thêm node vào cluster – cụm các node chứa dữ liệu giao tiếp với nhau
Ưu điểm thứ tư là tốc độ truy vấn nhanh hơn nhiều so với hệ quản trị cơ sở dữ liệu quan hệ RDBMS do dữ liệu truy vấn được cached lên bộ nhớ RAM để lượt truy vấn sau diễn ra nhanh hơn mà không cần đọc từ ổ cứng
Cũng là một ưu điểm về hiệu suất truy vấn của MongoDB, trường dữ liệu
“_id” luôn được tự động đánh chỉ mục để đạt hiệu suất cao nhất
Redis là tên viết tắt của Remote Dictionary Server (Máy chủ từ điển từ xa), đây là một kho lưu trữ dữ liệu dưới dạng key-value, trên bộ nhớ, mã nguồn mở, nhanh chóng Redis có kiểu dữ liệu gốc giống với các dữ liệu của ngôn ngữ lập trình chuỗi, danh sách, hàm hay một tập hợp logic Ngoài ra, với nhiều tính năng dữ liệu và cấu trúc hỗ trợ giúp Redis dễ dàng định vị địa lý và xử lý luồng hơn
Cơ sở dữ liệu của NoSQL có các cấu trúc khác nhau cho phép tiếp cận gần hơn với dữ liệu gốc trong ứng dụng và thuật toán Tính năng chia sẻ giữa các quy trình của cấu trúc dữ liệu gốc hỗ trợ triển khai các ứng dụng nhanh chóng hơn
Hình 3-24: Cơ sở dữ liệu Redis
Việc sử dụng Redis mang đến các lợi ích bao gồm:
Hiệu suất: Tất cả các dữ liệu của Redis đều nằm trên bộ nhớ cho phép truy cập dữ liệu với độ trễ thấp và thông lượng cao
Cấu trúc dữ liệu linh hoạt: chuỗi, danh sách
Đơn giản và dễ sử dụng
Khả năng sao chép và độ bền
Độ khả dụng cao và quy mô linh hoạt
Kết luận
Trên đây là toàn bộ giải phát đề xuất và nguyên lý hoạt động của từng khối chính trong giải pháp Để thực hiện hóa và ứng dụng vào thực tế, học viên xây dựng hệ thống được trình bày chi tiết kiến trúc của hệ thống đề xuất được hiện thực hóa thành sản phẩm nhằm cung cấp cho các chủ doanh nghiệp bãi đỗ xe trong thông minh Trung tâm xử lý chính của hệ thống chính là giải pháp được học viên đề xuất Tiếp theo, học viên sẽ trình bày về kết quả thử nghiệm hệ thống trong chương sau
KẾT QUẢ THỬ NGHIỆM VÀ HƯỚNG PHÁT TRIỂN
Kịch bản thử nghiêm
Hệ thống đề xuất nhằm mục đích cung cấp một giải pháp thông minh hóa các bãi đỗ xe trên đường phố Một ví dụ cụ thể là bãi đỗ xe bệnh viên K Tân Triều được hiển thị trong hình sau
Hình 4-1: Bãi đỗ xe thực tế Bệnh viện K Tân Triều
Trong phạm vi luận văn, học viên đề xuất hệ thống cho các bãi đỗ xe có kịch bản hoạt động như sau:
- Đối tượng sử dụng: xe ô tô;
- Loại đường: đường một chiều;
- Các trường hợp xảy ra: o Một xe đi vào; o Nhiều xe đi vào theo tuần tự;
- Điều kiện môi trường: ban ngày;
- Điều kiện thời tiết: nắng, mưa phùn, sương mờ;
- Điều kiện ánh sáng: ánh sáng tốt và yếu.
Kết quả đạt được
Trong phần này học viên sẽ trình bày về các kết quả đạt được đối với từng module (Skyeye và ALPR) và ghép nối toàn bộ luồng của giải pháp
4.2.1 Kết quả xây dựng bộ dữ liệu
Bảng 4-1: Thống kê dữ liệu được xây dựng
STT Địa điểm Đặc điểm Số lượng ảnh
- Video (ảnh) được chụp từ trên cao tại các tòa nhà
- Vị trí lắp đặt camera theo kịch bản
- Video được chụp từ trên cao theo đúng kịch bản hoạt động của hệ thống
- Bao gồm các điều kiện môi trường: nắng, mưa phùn và ánh sáng yếu
3 Đường phố Hà Nội - Bao gồm góc chụp trên cao và thấp theo đúng thiết kế lắp đặt camera
- Điều kiện: nắng, mưa phùn và ánh sáng tốt/yếu
Bao gồm các đặc điểm trên 1200 1408
Tóm tắt bộ dữ liệu được xây dựng:
- Điều kiện môi trường: o Ánh sáng tốt/ yếu o Trời mưa phùn, nắng và có sương mù
- Tổng số lượng ảnh: 18000 (ảnh)
- Tổng số lượng đối tượng được đánh nhãn: 21600 (đối tượng)
- Quá trình thực hiện đánh nhãn: o Xây dựng tiêu chí đánh nhãn cho đối tượng o Thực hiện phân chia số lượng ảnh và kiểm tra chéo lẫn nhau o Đội ngũ tham gia: thành viên phòng nghiên cứu SANSLAB
- Bộ dữ liệu được xây dựng phản ánh đúng phân phối dữ liệu thực tế cần xử lý khi triển khai hệ thống vào môi trường sản phẩm Từ đó, cải thiện chất lượng của mô hình phát hiện đối tượng và các khối xử lý chính của hệ thống Kết quả được trình bày trong phần sau
- Tuy nhiên, bộ dữ liệu được thu thập từ nguồn công khai và dữ liệu được xây dựng chưa bao phủ hết dữ liệu của một số trường hợp đặc biệt như điều kiện về thời tiết, ánh sáng hay sự đa dạng của các phương tiện Điều này cũng ảnh hưởng đến chất lượng của mô hình Nhưng trong phạm vi nghiên cứu của luận văn, học viên sẽ xử lý các trường hợp phổ biến để chứng minh độ khả thi của giải pháp và hệ thống đề xuất Việc xử lý các trường hợp ngoại lệ sẽ là một trong những công việc tiếp theo học viên sẽ thực hiện nhằm cải thiện chất lượng của hệ thống
Hình 4-2: Một số ví dụ dữ liệu ảnh trong tập dữ liệu xây dựng
4.2.2 Kết quả thử nghiệm module Skyeye
Sau khi thực hiện quá trình tự đãnh nhãn cho bộ dữ liệu tự thu thập, học viên tiến hành huấn luyện lại mô hình phát hiện đối tượng và kết quả được trình bày trong bảng sau Và đây cũng là một trong các đóng góp chính của học viên trong việc cải thiện hiệu năng của khối phát hiện xe để làm tăng hiệu suất của hệ thống
Bảng 4-2: Kết quả thử nghiệm khối Car detection
AP@0.5 Precision Recall Thời gian xử lý
Hình 4-3: Một số kết quả thử nghiệm module Skyeye
4.2.3 Kết quả thử nghiệm module ALPR Để thực hiện đánh giá chất lượng của module ALPR, học viên sử dụng hai bộ dữ liệu được thu thập theo đúng kịch bản xử lý trong thực tế gồm: bộ dữ liệu Car long và VN LP được xây dựng Thông tin về các bộ dữ liệu này được trình bày trong bảng sau
Bảng 4-3: Mô tả dữ liệu kiểm thử
Bộ dữ liệu Đặc điểm Số lượng
Car long [17] Ảnh chụp biển số từ phía trước, góc chụp cố định 998 (ảnh) VN_LP Ảnh chụp biển số từ nhiều góc chụp khác nhau 1000 (ảnh)
Sau khi có tập dữ liệu để kiểm thử, học viên thực hiện thử nghiệm Kết quả được trình bày trong Bảng 5-4 Kết quả đạt được cho thấy rằng module ALPR đề xuất có thời gian xử lý thấp hơn và độ chính xác cao hơn trong bối cảnh bài toán đặt ra
Bảng 4-4: Kết quả thử nghiệm module ALPR
Thời gian xử lý Độ chính xác Thời gian xử lý Độ chính xác
Hình 4-4: Một số kết quả thử nghiệm module ALPR
4.2.4 Kết quả thử nghiệm hệ thống Để đánh giá hiệu năng của hệ thống dựa trên kết quả đạt được từ module Skyeye và module ALPR, học viên đưa ra một phép đo đơn trị đó là lấy trung bình cộng kết quả hai module Sau đây là kết quả đạt được của hệ thống đề xuất
Bảng 4-5: Kết quả thử nghiệm hệ thống Độ chính xác
Tiếp theo, học viên thực hiện thu thập và phân chia dữ liệu thành các tập có tính chất và đặc điểm khác nhau như: thời tiết, mức sáng của chất lượng ảnh Sau đó, tổng hợp dữ liệu và thực hiện đánh giá thử nghiệm trên các tập này để chứng minh độ hiệu quả và có tính tin cậy cao hơn Kết quả đánh giá được trình bày trong hình sau
Hình 4-5: Kết quả thử nghiệm hệ thống trong các bối cảnh: nắng, mưa và sương mù
Dựa vào hình 5-5, cho thấy hệ thống đề xuất vẫn đạt được độ chính xác cao trong các phạm vi hoạt động khác nhau thông qua các tiêu chí đánh giá.
Kết luận
Với mục tiêu đặt ra, giải pháp đề xuất và hệ thống hóa đã chứng minh tính khả dụng khi triển khai hệ thống vào thực tiễn Từ việc tính toán số lượng camera, vị trí và góc đặt lắp camera, cách xây dựng bộ dữ liệu cũng như việc ứng dụng học sâu nói chung và mạng tích chập nói riêng để phát hiện và nhận diện đối tượng với độ chính xác cao và tốc độ xử lý nhanh thỏa mãn các tiêu chí và yêu cầu đặt ra ban đầu Hướng tiếp cận và giải pháp đề xuất đã giải quyết hiệu quả vấn đề, nổi bật là độ chính xác phát hiện xe (AP tại IOU0.5) đạt trên 99% trên bộ dữ liệu thu thập, độ chính xác phát hiện và nhận diện biển số đạt gần 95%, trong khi tốc đọ xử lý được tối ưu nhanh hơn 1.5 đến 2 lần so với các kiến trúc mạng phổ biên như Yolo v2
KẾT LUẬN CHUNG VÀ HƯỚNG PHÁT TRIỂN
Xuất phát từ một vấn đề thực tế và khảo sát hiện trạng các hệ thống bãi đỗ xe, học viên đã hoàn thành luận văn với đề tài “Hệ thống bãi đỗ xe thông minh đáp ứng thời gian thực cho thành phố thông minh sử dụng mạng tích chập” Các kết quả đạt được cho thấy độ khả thi cao khi ứng dụng hệ thống đề xuất vào trong thực tế Ngoài ra, giải pháp đề xuất đã được công bố trong tạp chí Jist Jounal [33] cho thấy tính tin cậy và độ chính xác của giải pháp
Với mong muốn đạt được là phát triển hệ thống đề xuất thành một sản phẩm hoàn chỉnh, học viên hướng đến các công việc sẽ thực hiện trong tương lai gần gồm:
Cải thiện độ chính xác trên mỗi module chính của hệ thống;
Xây dựng luồng lưu trữ dữ liệu phục vụ quá trình huấn luyện mô hình;
Xây dựng luồng giám sát hệ thống (MLOps) để thực hiện phát hiện ra các vấn đề của mô hình học máy như suy thoái độ chính xác, phân phối dữ liệu thay đổi, … nhằm cung cấp các hành động kịp thời;
Tối ưu các mô hình học máy để có thể triển khai lên các thiết bị biên;
Phát triển các tính năng như thống kê, báo cáo, thanh toán;
Phát triển phần mềm ứng dụng cho người dùng