Với hệ thống giữ xe thông minh, các vấn đề của cách giữ xe truyền thống sẽđược giải quyết như: không gây ùn tắc ở điểm vào ra của bãi, không ghi nhầm biển số xe, kiểm tra được thời gian
Trang 1XÂY DỰNG MÔ HÌNH BÃI GIỮ XE
THÔNG MINH
Trang 2ID Identification
IoT Internet of Things
JPG (JPEG) Joint Photographic Experts Group
MISO Master Input Slave Output
MOSI Master Output Slave Input
OCR Optical Character Recognition
PPM Pulse Position Modulation
RAM Random Access Memory
RFID Radio Frequency Identification
SCK Serial Clock
SDA Serial Data
SPI Serial Peripheral Interface
TWI Two Wire Interface
UART Universal Asynchronous Receiver Transmitter
Trang 3CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI
1.1 Đặt vấn đề
Trong thời buổi hiện nay, kỹ thuật công nghệ hiện đại được ứng dụng hầu như ởmọi khía cạnh trong đời sống hằng ngày Với tiêu chí giúp giảm thiểu chi phí cũngnhư tang sự chính xác trong công tác quản lý và vận hành, tầm quan trọng của côngnghệ là không thể phủ nhận, đặc biệt trong đó phải kể đến IoT (Internet of Things).IoT là một mạng lưới kết nối vạn vật, ở đó những thiết bị không dây được kết nối,truyền dữ liệu với nhau thông qua nhiều chuẩn khác nhau như Bluetooth, wifi màkhông có sự can thiệp của con người
Đi cùng sự phát triển đó, các bãi giữ xe ngày nay đã áp dụng nhiều công nghệkhác nhau nhằm thay thế các bãi giữ xe truyền thống vốn đã không thể đáp ứngđược lưu lượng xe cộ ra vào ngày càng tăng cao, để giúp tiết kiệm chi phí trongcông tác quản lý cũng như hạn chế mất mát tài sản Hệ thống bãi giữ xe thông minh
đã ra đời và đã được ứng dụng rộng rãi ở nhiều quốc gia
Với hệ thống giữ xe thông minh, các vấn đề của cách giữ xe truyền thống sẽđược giải quyết như: không gây ùn tắc ở điểm vào ra của bãi, không ghi nhầm biển
số xe, kiểm tra được thời gian ra vào bãi, hiển thị chỗ trống trong bãi, giảm chi phínhân công
1.2 Mục tiêu
Đề tài “Bãi giữ xe thông minh” sẽ thực hiện nghiên cứu để xây dựng một môhình bãi giữ xe gồm các tính năng như kiểm tra ra vào tự động bằng thẻ RFID, hiểnthị vị trí ô trống ở bãi xe, tính toán thời gian ra vào bãi, tìm vị trí xe đang đậu bằngứng dụng
1.3 Nội dung thực hiện
Để thực hiện các mục tiêu trên, đề tài thực hiện bao gồm các nội dung cụ thểnhư sau:
Trang 4 Tìm hiểu về thực trạng các bãi giữ xe nước ta hiện nay ở các khu đại siêu thị,rạp chiếu phim, nhà hát, bệnh viện cho thấy nhu cầu cấp thiết của đề tài.
Đề xuất mô hình tổng quan gồm khối điều khiển có chức năng xử lý hìnhảnh, nhận diện biển số, lưu lại thông tin dùng thẻ RFID; khối ứng dụng hiểnthị chỗ trống ngay cổng vào, ghi nhớ vị trí đậu xe
Tìm hiểu giải thuật nhận dạng biển số xe, viết chương trình nhận dạng biển
Trang 5CHƯƠNG 2 HỆ THỐNG PHẦN CỨNG
1.4 Mô hình hệ thống
Một hệ thống quản lý bãi xe thông minh là áp dụng các kỹ thuật công nghệ mới đểtang cường tính tự động hóa trong quản lý, bao gồm các khối chính như trên hình2.1 sau Giải thuật trong đề tài này sẽ tập trung chủ yếu ở hệ thống nhận diện biển
số xe, với sự hỗ trợ của công nghệ thẻ RFID, thị giác camera, cảm biến…
Hình 2-1 Sơ đồ khối của hệ thống
Trang 6 Biển số: biển số xe ô tô.
Khối điều khiển: camera chụp ảnh, đầu đọc thẻ RFID, thẻ từ
Khối xử lý: chương trình nhận dạng biển số
Các thông tin khác: ngày giờ ra vào bãi, ảnh chụp ra vào bãi …
Khối điều khiển đóng mở thanh barie: nhận tín hiệu điều khiển thanhbarie đóng mở theo kết quả nhận dạng biển số của hệ thống
Khối hiển thị chỗ trống: nhận tín hiệu báo chỗ còn trống trong bãi
Trang 7lập trình cho các ứng dụng điều khiển phức tạp do được trang bị cấu hình mạnh chocác loại bộ nhớ ROM, RAM và Flash, các ngõ vào ra digital I/O trong đó có nhiềungõ có khả năng xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các chuẩn giaotiếp đa dạng như UART, SPI, TWI (I2C).
Bảng 2-1 Thông số kỹ thuật Arduino Uno
1.1.2 Thẻ từ RFID
Thẻ từ được sử dụng trong đề tài để gửi mã ID đến bộ đầu đọc thẻ Reader
Trang 8Hình 2-3 Thẻ RFID [3]
Công nghệ RFID cho phép một thiết bị đọc thông tin chứa trong chip không cầntiếp xúc trực tiếp ở khoảng cách xa, không thực hiện bất kỳ giao tiếp vật lý nào hoặcgiữa 2 vật không nhìn thấy Công nghệ này cho ta phương pháp truyền, nhận dữ liệu
từ 1 điểm đến điểm khác Kỹ thuật RFID sử dụng truyền thông không dây trong dảitần sóng vô tuyến để truyền dữ liệu từ các tag (thẻ) đến các reader (bộ đọc) Tag cóthể được đính kèm hoặc gắn vào đối tượng được nhận dạng chẳng hạn sản phẩm,hộp hoặc giá kê (pallet) Reader scan dữ liệu của tag và gửi thông tin đến cơ sở dữliệu có lưu trữ dữ liệu của tag[4]
Nguyên lý hoạt động của thẻ RFID:
Hình 2-4 Nguyên lý hoạt động thẻ RFID [5].
Thẻ RFID chứa rất nhiều mã nhận dạng khác nhau, thông thường là 32bit tươngứng với hơn 4 tỷ mã số khác nhau Ngoài ra khi xuất xưởng, mỗi thẻ RFID đượcgán cho một mã số khác nhau Do vậy một vật được gắn chip RFID thì khả năngnhận nhầm vật đó với một thẻ RFID khác là rất thấp, với xác xuất 1 phần 4 tỷ Với
ưu điểm như thế nên khả năng bảo mật của thẻ RFID là rất cao
1.1.3 Module đọc thẻ RC522
Module RC522 là bộ đầu thu Reader sử dụng chip MFRC522 có nhiệm vụ nhận
mã ID từ thẻ RFID sau đó gửi mã ID đến Arduino
Trang 101.1.4 Động cơ Servo SG90
Động cơ Servo SG90 được sử dụng như thanh Barie đóng mở sau khi chươngtrình trích xuất được biển số xe từ ảnh
Hình 2-6 Động cơ Servo [7]
Hình 2-7 Cấu tạo bên trong động cơ Servo SG90 [7]
Servo là một dạng động cơ điện đặc biệt, chỉ quay khi được điều khiển(bằng xung PPM) với góc quay nằm trong khoảng bất kì từ 0o - 180o Mỗi loại servo
có kích thước, khối lượng và cấu tạo khác nhau
1.1.5 Cảm biến siêu âm HC-SR05
Cảm biến được sử dụng để gửi tín hiệu về trung tâm cảnh báo có vật thể haykhông có vật thể phía trước cảm biến
Trang 11Hình 2-8 Cảm biến siêu âm HC-SR05 [8]
Cảm biến siêu âm HC-SR05 (cảm biến đo khoảng cách) sử dụng rất phổ biến đểxác định khoảng cách HC-SR05 sử dụng sóng siêu âm và có thể đo khoảng cáchtrong khoảng từ 2 -> 300 cm, với độ chính xác gần như chỉ phụ thuộc vào cách lậptrình
Bảng 2-4 Sơ đồ chân của HC-SR05
Bảng 2-5 Thông số kỹ thuật HC-SR05
1.1.6 Arduino Mega2560
Đây là trung tâm nhận tín hiệu từ giao diện chương trình sau đó gửi tín hiệu đểdóng mở thanh Barie
Trang 12Hình 2-9 Arduino Mega2560 [9]
Arduino Mega2560 khác với tất cả các vi xử lý trước giờ vì không sử dụngFTDI chip điều khiển chuyển tín hiệu từ USB để xử lý Thay vào đó, nó sử dụngATmega16U2 lập trình như là một công cụ chuyển đổi tín hiệu từ USB Ngoài ra,Arduino Mega2560 cơ bản vẫn giống Arduino Uno R3, chỉ khác số lượng chân vànhiều tính năng mạnh mẽ hơn
Bảng 2-6 Thông số cơ bản Arduino Mega2560
1.6 Vẽ mạch kết nối schematic
Trang 13Mạch nhận diện thẻ trong đề tài bao gồm 2 linh kiện chính là Arduino Uno cónhiệm vụ xử lý tín hiệu nhận được, sau đó gửi tín hiệu đến hệ thống giao diệnchương trình và module RFID RC522 có nhiệm vụ gửi ID thẻ RFID đến Arduino.
Hình 2-10 Mạch nhận diện thẻ
Mạch điều khiển thanh Barie trong đề tài gồm 2 linh kiện chính là ArduinoMega2560 và động cơ Servo SG90 Khi hoạt động, Arduino nhận được tín hiệu từgiao diện chương trình sẽ thực thi lệnh kích động cơ Servo xoay 1 góc 90 độ
Hình 2-11 Mạch điều khiển thanh Barie
Trang 14Mạch hiển thị chỗ trống trong đề tài sử dụng gồm Arduino Uno, cảm biến SR05, đèn LED xanh dương và đỏ Khi có vật thể đặt trước cảm biến, cảm biến sẽgửi tín hiệu đến Arduino, Arduino tiếp nhận tín hiệu và kích chân LED sáng.
HC-Hình 2-12 Mạch hiển thị chỗ trống
Trang 15CHƯƠNG 3 MÔ HÌNH GIẢI THUẬT NHẬN DẠNG BIỂN SỐ XE
Giải thuật nhận dạng biển số xe là phần quan trọng nhất của hệ thống bãi giữ xethông minh, đóng vai trò quyết định thành công của đề tài
1.7 Các khái niệm cơ bản về ảnh số
1.1.7 Ảnh số
Hình 3-1 Ảnh số
Ảnh số là tập hợp hữu hạn 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 Số điểm ảnh xác định độ phân giải của ảnh Ảnh có độ phângiải càng cao thì càng thể hiện rõ nét các đặt điểm của tấm hình càng làm cho tấm
ảnh trở nên thực và sắc nét hơn Một hình ảnh là một tín hiệu hai chiều Nó được
xác định bởi hàm toán học f (x, y) trong đó x và y là hai tọa độ theo chiều ngang vàchiều dọc
Các giá trị của f (x, y) tại bất kỳ điểm nào là cung cấp các giá trị điểm ảnh (pixel)tại điểm đó của một hình ảnh
Trang 17Ảnh xám hay còn được gọi là ảnh đơn sắc, ở đó mỗi điểm ảnh chỉ có 1 màu duynhất là xám Ứng với mỗi điểm ảnh sẽ có 256 mức xám khác nhau Mỗi mức xámđược biểu diễn dưới dạng là một số nguyên nằm trong khoảng từ 0 đến 255 với mức
0 biễu diễn cho mức cường độ đen nhất, 255 biễu diễn cho mức cường độ sángnhất
1.1.10 Ảnh màu (RGB)
Hình 3-4 Ảnh màu [10]
Ảnh màu là ảnh tổ hợp từ 3 màu cơ bản: đỏ (R), lục (G), xanh (B) và thường thunhận trên các dải băng tần khác nhau Với ảnh màu, cách biểu diễn cũng tương tựnhư ảnh đen trắng, chỉ khác là các số tại mỗi phần tử của ma trận biểu diễn cho 3màu riêng rẽ gồm: đỏ (R), lục (G), xanh (B) Để biễu diễn cho mỗi điểm ảnh màucần 24 bit, 24 bit này được chia thành 3 khoảng 8 bit Mỗi màu cũng phân thành
256 cấp màu khác nhau Mỗi khoảng này biểu diễn cho cường độ sáng của mộttrong các màu chính
1.1.11 Các định dạng ảnh
Hình ảnh cũng có rất nhiều định dạng khác nhau và phổ biến nhất mà chúng tavẫn hay gặp đó là các định dạng như *.JPG, *.PNG, *.GIF, *.TIFF và *.BMP.Những định dạng hình ảnh này lại có các thuộc tính khác nhau và được tạo ra để sửdụng vào những mục đích khác nhau Định dạng ảnh JPG (JPEG) là chuẩn hình ảnhthông dụng nhất hiện nay cũng như được sử dụng trực tiếp trong đề tài này Với các
Trang 18ưu điểm như có độ sâu màu từ 24bit đến 16 triệu màu, thích hợp để tạo ra các fileảnh có dung lượng nhỏ, JPEG tương thích với mọi trình duyệt web hiện nay, sửdụng tốt nhất, hiệu quả nhất cho ảnh đen trắng, ảnh với màu sắc phức tạp, ảnh tĩnhvật, ảnh đời thường, ảnh chân dung.
1.1.12 Các đại lượng đặc trưng
1.1.1.1 Điểm ảnh (Pixel):
Hình 3-5 Pixel
Là phần tử nhỏ nhất của một hình ảnh Mỗi điểm ảnh tương ứng với 1 giá trị.Trong 1 ảnh xám 8 bit, giá trị điểm ảnh trong khoảng từ 0 đến 255 Giá trị của pixeltại bất kỳ điểm nào tương ứng với cường độ photon tại điểm đó Mỗi giá trị điểmảnh tỉ lệ thuận với cường độ ánh sáng Mỗi điểm ảnh có 1 màu duy nhất, được chỉđịnh như 1 tỉ lệ nhất định của 3 màu cơ bản là đỏ, lục, lam Bằng cách phối hợp liềulượng khác nhau của 3 màu cơ bản trên chúng ta hầu như có thể tạo ra bất cứ màunào Thông thường một ảnh được tạo ra bởi hàng triệu điểm ảnh
1.1.1.2 Độ phân giải
Độ phân giải cho biết số lượng pixel có trong ảnh đó, ảnh có độ phân giải càngcao thì càng hiển thị rõ nét nhưng tốn nhiều dung lượng để lưu trữ Hầu hết các
Trang 19chương trình ứng dụng đồ họa đều diễn tả độ phân giải của hình ảnh bằng pixeldimensions - kích thước pixel, với số đo chiều ngang đi trước
Hình 3-6 Ví dụ độ phân giải của ảnh [11]
Ví dụ, một hình ảnh có kích thước được nêu ra là “2592x1944” sẽ chứa 2,592pixel trên mỗi hàng ngang và 1,944 pixel trên mỗi hàng dọc Nhân 2 con số này vớinhau sẽ cho ta 5,038,848-pixel hay độ phân giải xấp xỉ 5 megapixel
1.1.1.3 Mức xám
Hình 3-7 Mức xám
Là kết quả của sự biến đổi tương ứng giá trị độ sáng của một điểm ảnh với mộtgiá trị số nguyên dương Tùy thuộc vào số giá trị biểu diễn mức xám mà mỗi điểmảnh sẽ được biểu diễn trên 1, 4, 8, 24 hay 32 bit Số lượng bit biểu diễn mức xámcàng lớn thì chất lượng ảnh càng cao nhưng sẽ tốn dung lượng bộ nhớ nhiều hơn đểlưu trữ và cần một hệ thống mạnh hơn để xử lý Ảnh 8 mức xám sẽ có giá trị mỗiđiểm ảnh nằm trong đoạn [0, 7] Ảnh 256 mức xám sẽ có giá trị mỗi điểm ảnh nằmtrong đoạn [0, 255] Giá trị điểm ảnh = 0 nghĩa là điểm ảnh đó tối (đen), giá trị điểm
Trang 20ảnh lớn nhất nghĩa là điểm ảnh đó trắng Nói cách khác, giá trị mỗi điểm ảnh cànglớn thì điểm ảnh đó càng sáng.
1.8 Tổng quan xử lý ảnh
Một hệ thống xử lý ảnh thường được định nghĩa như sau:
Một hệ thống xử lý ảnh điển hình có xử lý số tín hiệu được biểu diễn trong hình 3-8.Nguồn ảnh đầu vào I(x,y) là một vật hoặc một cảnh tự nhiên, nhưng nó cũng có thểđược tạo ra bởi một hệ thống khác, như bộ lọc, đèn hình CRT Bộ số hóa chuyển tínhiệu nguồn đầu vào thành tín hiệu điện mà biên độ biểu diễn cường độ ảnh và sau
đó đem số hóa nó bằng bộ chuyển đổi tương tự - số (A/D) Sau đó chuỗi f(n1,n2) ởđầu ra bộ số hóa được xử lý bởi một giải thuật (algorit) xử lý ảnh số Algorit này cóthể cài trên máy tính, bộ vi xử lý, hoặc một phần cứng chuyên dụng Algorit cụ thểđược sử dụng vào phụ thuộc vào mục đích xử lý, có thể là cải thiện ảnh, phục hồiảnh, mã hóa ảnh, lý giải ảnh, hoặc một tổ hợp bất kỳ của chúng Kết quả xử lý đượchiển thị cho người dùng xem, nhưng đôi khi cũng đưa vào đầu vào của hệ thốngkhác Bộ hiển thị được dùng là đèn hình CRT, nhưng cũng có thể là bức ảnh hoặcbăng video catxet Nếu kết quả là một biểu diễn bằng ký hiệu như trong lý giải ảnh,thì thiết bị hiển thị có thể là máy in[12]
kỹ thuật quang học chẳng hạn như gương và ống kính) và nhận dạng ký tự số (sửdụng máy quét và các thuật toán máy tính) lúc đầu được xem xét như hai lĩnh vực
Trang 21khác nhau Bởi vì chỉ có rất ít các ứng dụng tồn tại với các kỹ thuật quang học thực
sự, bởi vậy thuật ngữ Nhận dạng ky tự quang học được mở rộng và bao gồm luôn ýnghĩa nhận dạng ky tự số Đầu tiên hệ thống nhận dạng yêu cầu phải được huấnluyện với các mẫu của các ký tự cụ thể Các hệ thống "thông minh" với độ chínhxác nhận dạng cao đối với hầu hết các phông chữ hiện nay đã trở nên phổ biến Một
số hệ thống còn có khả năng tái tạo lại các định dạng của tài liệu gần giống với bảngốc bao gồm: hình ảnh, các cột, bảng biểu, các thành phần không phải là văn bản.Hiện nay, với chữ Việt, phần mềm nhận dạng chữ Việt in VnDOCR 4.0 có khảnăng nhận dạng trực tiếp các loại tài liệu được quét qua máy quét, không cần lưu trữdưới dạng tệp ảnh trung gian Các trang tài liệu có thể được quét và lưu trữ dướidạng tệp tin nhiều trang Kết quả nhận dạng được lưu trữ sang định dạng củaMicrosoft Word, Excel phục vụ rất tốt nhu cầu số hoá dữ liệu
1.1.14 Các bước nhận dạng biển số
Hình 3-9 Sơ đồ nhận dạng biển số
Tách biển số: Ảnh sau khi được camera chụp là ảnh toàn cảnh phần đầu
xe, vậy nên ta cần xử lý và khoanh vùng chứa biển số xe Sau đó táchbiển số để thực hiện bước tiếp theo
Phân đoạn ký tự: Sau khi biển số được tách ra khỏi ảnh, ta cần cắt từng
ký tự của biển số ra để quá trình nhận dạng được dễ dàng hơn
Nhận dạng ký tự: Sau khi từng ký tự đã được tách ra, ta tiến hành nhận
dạng ký tự và cho ra dạng text
1.10 Mô phỏng giải thuật nhận dạng biển số
Giải thuật được xây dựng trên ứng dụng Matlab chạy trên hệ điều hành Windows để
xử lý biển số cần nhận diện
1.1.15 Tách biển số
Trang 22Tách biển số là bước đầu tiên đồng thời cũng là bước quan trọng nhất trong nhậndạng biển số xe Hình chụp từ camera sẽ chứa các thông tin khác ngoài biển số xenên ta cần cắt thô ảnh để kết quả còn lại là biển số xe Các bước cắt biển số đượcthể hiện như hình dưới đây:
Hình 3-10 Quá trình cắt biển số
Hình 3-11 Ảnh đầu vào
Trang 23Hình 3-12 Biển số sau khi được cắt
Trang 241.1.17 Nhận dạng ký tự
Sau khi quá trình cắt các ký tự kết thúc, ta tiến hành so sánh các ký tự được cắtvới các ký tự mẫu có sẵn, ký tự nào gần giống với ký tự mẫu có sẵn nhất thì chọnkết quả đó, từ đó hiển thị được biển số dạng text Mỗi ký tự sẽ có 5 mẫu để so sánh,
số từ 0-9, chữ từ A-Z Ví dụ cho quá trình so sánh mẫu cho số “7” được hiển thịdưới dạng biểu đồ như sau:
Hình 3-15 Nhận dạng ký tự “7”
Trang 25Hình 3-16 Biển số dạng text sau khi đã được nhận dạng
1.1.18 Đánh giá và nhận xét
Hệ thống nhận diện biển số còn nhiều hạn chế như còn phụ thuộc nhiều vào điềukiện ánh sáng, thời tiết, góc đặt camera nhưng nhìn chung đã có thể giải quyết đượcyêu cầu của đề tài Từ đề tài này ta còn có thể phát triển nhiều thêm nhiều tính năngkhác phục vụ cho nhiều loại phương tiện trong tương lai
Trang 26CHƯƠNG 4 XÂY DỰNG HỆ THỐNG BÃI GIỮ XE THÔNG MINH
Mô hình hệ thống bãi giữ trong đề tài bao gồm mô hình hoạt động, giao diệnchương trình và kết quả thực hiện phần cứng
1.11 Mô hình hoạt động
Hình 4-1 Mô hình hoạt động bãi giữ xe [13]
Qui trình hoạt động của hệ thống:
Khi xe đi vào, dùng thẻ RFID để quẹt thẻ gửi tín hiệu đến hệ thống thôngbáo chụp biển số xe
Khi biển số xe đã được chụp bởi camera, chương trình bắt đầu xử lý hìnhảnh, cắt biển số từ hình ảnh camera sau đó tiến hành nhận diện biển số
Biển số sau khi được nhận diện sẽ chuyển thành dạng text, đồng thời hìnhảnh chụp, biển số và số ID của thẻ RFID sẽ được lưu lại trên hệ thốngdưới dạng file Excel