Cùng với sự phát triển của khoa học kỹ thuật và nhu cầu đi lại ngày càng tăng số lựợng phương tiện giao thông trên đường ngày càng xuất hiện nhiều.Với số lượng phương tiện giao thông lớn và còn không ngừng tăng lên. Vấn đề này đã làm nảy sinh nhiều vấn đề trong việc kiểm soát cũng như quản lý các phương tiện. Để giải quyết vấn đề này nhu cầu đặt ra là áp dụng các hệ thống tự động. Một trong những hệ thống đươc đề cập trên là hệ thống “ Nhận dạng biển số xe ”.Đây là là hệ thống có khả năng thu nhận hình ảnh cũng như là “đọc” và “hiểu” các biển số xe một cách tự động. Hệ thống này có thể được ứng dụng rộng rãi như: trạm cân và rửa xe tự động hoàn toàn, bãi giữ xe tự động, kiểm soát lưu lượng giao thông hay trong các ứng dụng về an ninh.Cũng như mọi hệ thống tự động khác, hệ thống “ Nhận dạng biển số xe” cũng sẽ yêu cầu có cả phần cứng lẫn phần mềm. Phần cứng của nó có phần chính sẽ là một camera có tác dụng thu nhận hình ảnh còn phần mềm sẽ có tác dụng xử lý hình ảnh đó.Với sự phát triển của kỹ thuật điện tử, các camera sẽ dễ dàng có khả năng thu nhận được hình ảnh do đó mà vấn đề đặt ra và luôn là vấn đề quan trọng nhất trong hệ thống, quyết định tính hiệu quả của hệ thống xử lý ảnh bởi phần mềm Matlab.Với vai trò đã phân tích ở trên. Tập đồ án này chủ yếu tập trung vào giải quyết các vấn đề đặt ra khi xử lý ảnh để được ra chính xác biển số đăng ký xe.
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP. HỒ CHÍ MINH KHOA CÔNG NGHỆ ĐIỆN TỬ ĐỒ ÁN 2 ĐỀ TÀI: NHẬN DẠNG BIỂN SỐ XE BẰNG PHẦN MỀM MATLAB GVHD : ThS. NGUYỄN TIẾN TÙNG SVTH : TRẦN CAO MINH_10320281 NGUYỄN HOÀNG NHẠC_ LỚP : DHDT6BLT TP. Hồ Chí Minh, tháng 11 năm 2011 LỜI CẢM ƠN Chúng em xin gời đến toàn thể quý thầy cô trường Đại học công nghiệp Tp.HCM nói chung và quý thầy cô khoa Công nghệ điện tử nói riêng lời cảm ơn chân thành nhất. Quý thầy cô đã truyền đạt cho chúng em những kiến thức chuyên môn cũng như kinh nghiệm học tâp vô cùng quý báu và phong phú trong suốt thời qua. Đặc biệt chúng em xin cảm ơn sâu sắc đến Thầy ThS. Nguyễn Tiến Tùng đã hướng dẫn chúng em rất tận tình trong suốt thời gian qua cùng những lời động viên, khích lệ đúng lúc giúp chúng em vượt qua các thời điểm khó khăn nhất. Những tài liệu bổ ích mà thầy đã cung cấp cũng như những lời góp ý vô cùng quý báo đã giúp chúng em hoàn thành đồ án này. Cảm ơn tất cả bạn bè, những người đã đóng góp ý kiến và luôn động viên khuyến khích giúp đỡ nhóm hoàn thành đồ án này. Xin Chân thành cảm ơn ! Nhóm sinh viên thực hiện! Trần Cao Minh Nguyễn Hoàng Nhạc TP. Hồ Chí Minh, ngày tháng năm 2011 PHIẾU NHẬN XÉT ĐỒ ÁN (Dành cho giáo viên h ướng dẫn) A. Phần ghi của sinh viên 1. Họ và tên sinh viên : …………………………………………………MSSV : Họ và tên sinh viên : …………………………………………………MSSV : Lớp ……………………………Điện thoại liên lạc: …………………… 2. Đề tài : 3. Họ tên giáo viên hướng dẫn: 4. Tổng quát về thuyết minh bản báo cáo: Số trang: Số chương : Số bảng số liệu : Số hình vẽ: Số tài liệu tham khảo: Phần mềm tính toán: Hiện vật (sản phẩm) : B. Phần ghi của giáo viên hướng dẫn 5. Phần nhận xét (nếu có) 6. Kết luận và đề nghị : Được bảo vệ Không được bảo vệ 7. Đánh giá chung : Sinh viên Điểm : / 10 Sinh viên Điểm : / 10 Ký tên (ghi rõ họ tên) TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM KHOA CÔNG NGHỆ ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ VIỄN THÔNG CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập – Tự Do – Hạnh Phúc NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………… Ngày tháng năm 2011 Ký tên MỤC LỤC Lời mở đầu Trang CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG ẢNH 1 1.1GIỚI THIỆU CHƯƠNG TRÌNH NHẬN DẠNG BIỂN SỐ XE 5 1.2.1 Giới thiệu 5 1.2.2 Nội dung đồ án 5 1.2 TỔNG QUAN VỀ XỬ LÝ VÀ NHẬN DẠNG ẢNH 1 1.1.1 Khái niệm 1 1.1.2 Các phuơng pháp nhận dạng truyền thống 3 1.1.3 Các hạn chế của phuơng pháp nhận dạng truyền thống 4 CHƯƠNG 2: LÝ THUYẾT ẢNH SỐ VÀ XỬ LÝ ẢNH SỐ 9 2.1. 2.1. LÝ THUYẾT VỀ ẢNH SỐ 9 9 2.1.1. Khái niệm ảnh số 9 2.1.2. Phần tử ảnh (pixel) 10 2.1.3. Cấu trúc một file ảnh 10 2.1.4. Mức xám (Gray level) 11 2.1.5. Ảnh chỉ số 12 2.1.6. Ảnh biểu diễn theo độ sáng 12 2.1.7. Ảnh trắng đen 12 2.1.8. Ảnh RGB 13 2.1.9. Dãy ảnh đa khung 15 2.2. 2.2. CÁC KỶ THUẬT XỬ LÝ ẢNH SỐ 16 16 2.2.1. Mục đích của việc xử lý ảnh số 16 2.2.2. Kỷ thuật nâng cao chất lượng ảnh 16 2.2.3. Kỷ thuật biến đổi ảnh 16 2.2.4. Kỷ thuật phân tích ảnh 16 2.2.5. Kỷ thuật nhận dạng ảnh 17 2.3. 2.3. CÁC PHƯƠNG PHÁP XỬ LÝ ẢNH SỐ 17 17 2.3.1. Chuyển ảnh màu RGB thành ảnh mức xám 17 2.3.2. Phương pháp lọc nhiễu ảnh 17 2.3.2.1. Lọc tuyến tính 18 2.3.2.2. Lọc phi tuyến 18 2.3.2.3. Lọc trung vị 18 2.3.3. Phân vùng ảnh 21 2.3.3.1. Phương pháp phân vùng ảnh 21 2.3.3.2. Khái niệm biên 21 2.3.3.3. Thuật toán dò biên tổng quát 22 2.3.3.4. Phát hiện biên 23 2.3.3.5. Biến đổi Randon 24 CHƯƠNG 3: CHƯƠNG TRÌNH NHẬN DẠNG BIỂN SỐ XE 29 3.1 KHÁI QUÁT CHƯƠNG TRÌNH 29 3.2 TRÍCH VÙNG BIỂN SỐ XE 30 3.2.1. Xác định ngưỡng xám 30 3.2.2. Chương trình tìm góc nghiêng 31 3.3 CÁCH LY CÁC KÝ TỰ TRONG BIỂN SỐ 32 3.3.1. Chia biển số thành hai hàng 32 3.3.2. Cắt các ký tự trong 2 hàng 34 3.4 CHƯƠNG TRÌNH NHẬN DẠNG BIỂN SỐ 35 3.4.1. Tạo các mẫu 35 3.2.2. Tiến hành nhận dạng các ký tự 35 CHƯƠNG 4: KẾT QUẢ MÔ PHỎNG 38 4.1 GIAO DIỆN CHƯƠNG TRÌNH 38 4.1.1. Giao diện chính 38 4.4.2. Giao diện nhận dạng 39 4.1.3. Kết quả nhận dạng 40 4.2 QUY TRÌNH NHẬN DẠNG 41 Kết luận và hướng phát triển đề tài 42 Phụ lục 44 Tài liệu tham khảo LỜI MỞ ĐẦU Cùng với sự phát triển của khoa học kỹ thuật và nhu cầu đi lại ngày càng tăng số lựợng phương tiện giao thông trên đường ngày càng xuất hiện nhiều.Với số lượng phương tiện giao thông lớn và còn không ngừng tăng lên. Vấn đề này đã làm nảy sinh nhiều vấn đề trong việc kiểm soát cũng như quản lý các phương tiện. Để giải quyết vấn đề này nhu cầu đặt ra là áp dụng các hệ thống tự động. Một trong những hệ thống đươc đề cập trên là hệ thống “ Nhận dạng biển số xe ”. Đây là là hệ thống có khả năng thu nhận hình ảnh cũng như là “đọc” và “hiểu” các biển số xe một cách tự động. Hệ thống này có thể được ứng dụng rộng rãi như: trạm cân và rửa xe tự động hoàn toàn, bãi giữ xe tự động, kiểm soát lưu lượng giao thông hay trong các ứng dụng về an ninh. Cũng như mọi hệ thống tự động khác, hệ thống “ Nhận dạng biển số xe” cũng sẽ yêu cầu có cả phần cứng lẫn phần mềm. Phần cứng của nó có phần chính sẽ là một camera có tác dụng thu nhận hình ảnh còn phần mềm sẽ có tác dụng xử lý hình ảnh đó. Với sự phát triển của kỹ thuật điện tử, các camera sẽ dễ dàng có khả năng thu nhận được hình ảnh do đó mà vấn đề đặt ra và luôn là vấn đề quan trọng nhất trong hệ thống, quyết định tính hiệu quả của hệ thống xử lý ảnh bởi phần mềm Matlab. Với vai trò đã phân tích ở trên. Tập đồ án này chủ yếu tập trung vào giải quyết các vấn đề đặt ra khi xử lý ảnh để được ra chính xác biển số đăng ký xe. CHƯƠNG 1 TỔNG QUAN VỀ NHẬN DẠNG ẢNH 1.1TỔNG QUAN VỀ XỬ LÝ VÀ NHẬN DẠNG ẢNH 1.1.1 Khái niệm Xử lý và nhận dạng ảnh là một khoa học còn tương đối mới so với nhiều ngành khoa học khác, một trong những lĩnh vực từ lâu được nhiều người quan tâm. Nó liên quan đến nhiều ngành khoa học khác như hệ thống thông tin, lý thuyết thông tin, lý thuyết thống kê, nhận dạng, dùng để nhận dạng các ký tự, chữ số, mặt người, vân tay Xử lý ảnh là quá trình bao gồm nhiều công đoạn như: thu nhận ảnh, tăng cường ảnh, khôi phục ảnh, biến đổi ảnh, phân tích ảnh Các quá trình này đều phải áp dụng nhiều thuật toán khác nhau, cũng như phương pháp sử dụng rất đa dạng. Nhận dạng là quá trình phân loại các đối tượng được biểu diễn theo một mô hình nào đó và gán cho chúng vào một lớp (gán cho đối tượng một tên gọi) dựa theo những quy luật và các mẫu chuẩn. Quá trình xử lý và nhận dạng ảnh tùy theo nhu cầu ứng dụng thực tế mà sử dụng thuật toán và phương pháp khác nhau. Tuy nhiên theo trình tự nhất định thực hiện các bước sau đây: Hình 1.1: Sơ đồ nhận dạng ảnh tổng quát Thu nhận ảnh: thu nhận ảnh qua camera, cũng có thể bộ cảm biến, ảnh chụp được đưa vào máy tính làm cơ sở dữ liệu. Ảnh thu được là tín hiệu tương tự. Mã hóa: là quá trình biến đổi tín hiệu tương tự sang tín hiệu rời rạc và số hóa bằng lượng tử hóa trước khi chuyển sang giai đoạn xử lý. Phân tích ảnh: bao gồm nhiều công đoạn nhỏ: Trước hết nâng cao chất lượng ảnh, do chất lượng ảnh thu được không đạt yêu cầu với nhiều nguyên nhân khác nhau ( chất lượng thiết bị thu ảnh, nguồn sáng, nhiễu,…). Sau đó khôi phục ảnh để làm nổi bật một số đặc tính chính của ảnh, hay làm cho ảnh giống nhất với trạng thái gốc ( trạng thái trước khi ảnh bị biến dạng ). Kế tiếp là phát hiện các đặc tính như: biên, phân vùng ảnh, trích chọn các đặc tính, Bốn cách tiếp cận khác nhau trong lý thuyết nhận dạng là: 1.Đối sánh mẫu dựa trên các đặc trưng được trích chọn. 2. Phân loại thống kê. 3. Đối sánh cấu trúc. 4. Phân loại dựa trên mạng nơ-ron nhân tạo. Trong các ứng dụng rõ ràng là không thể chỉ dùng có một cách tiếp cận đơn lẻ để phân loại “tối ưu” do vậy cần sử dụng cùng một lúc nhiều phương pháp và cách tiếp cận khác nhau. Do vậy, các phương thức phân loại tổ hợp hay được sử dụng khi nhận dạng và nay đã có những kết quả có triển vọng dựa trên thiết kế các hệ thống lai (hybrid system) bao gồm nhiều mô hình kết hợp. Việc giải quyết bài toán nhận dạng trong những ứng dụng mới, nảy sinh trong cuộc sống không chỉ tạo ra những thách thức về thuật giải, mà còn đặt ra những yêu cầu về tốc độ tính toán. Đặc điểm chung của tất cả những ứng dụng đó là những đặc điểm đặc trưng cần thiết thường là nhiều, không thể do chuyên gia đề xuất, mà phải được trích chọn dựa trên các thủ tục phân tích dữ liệu. 1.1.2 Các phuơng pháp nhận dạng truyền thống. Hệ nhận dạng kí tự ( gọi tắt là OCR - Optical Character Recognition ). Nhiều hệ thống nhận dạng đã làm việc khá tốt với các trang văn bản rõ nét, nhưng xét tổng thể thì vẫn còn khoảng cách khá lớn giữa tính năng của các hệ nhận dạng và đòi hỏi thực tế. Đa số các hệ OCR làm việc với hình ảnh nhị phân (Bitmap) của các trang văn bản đã được Scanner hoặc nhận từ máy Fax. Công việc đầu tiên của quy trình nhận dạng là phân thành các khối văn bản dựa trên đặc thù trang in như lề phải, lề trái. Từng khối văn bản sau đó được phân thành những ô mực nhỏ ( tương ứng với các chữ cái ). Chương trình nhận dạng sẽ tính xem từng ô mực tương ứng với chữ cái nào và xác định nội dung trang văn bản đó. Sự khác biệt giữa hình ảnh và văn bản cũng là một vấn đề được các hệ OCR lưu ý. Đa số các hệ nhận dạng dùng các tham số thống kê để phân biệt chữ và hình ảnh ( đối với văn bản, màu trắng và đen phân bố với nhịp điệu chuẩn, còn trong hình ảnh thì các pattern đen trắng phân bố không đều ). Thuật toán đơn giản nhất là lấy phần trăm các điểm đen/trắng làm chỉ tiêu phân biệt, nhưng khi đó chữ quá đậm có thể bị xem là hình ảnh. Có nhiều phương pháp nhận dạng, nhưng nói chung được quy về 2 kiểu: nhận dạng theo mẫu ( template-base ) và nhận dạng theo tính chất ( feature - base). Phương pháp nhận dạng theo mẫu là so sánh với các mẫu chữ lưu sẵn. Nhận dạng theo tính chất thì quy ô mực thành các tính chất quy định cách thức viết nên con chữ. Phương pháp nhận dạng theo mẫu thuộc loại cổ điển quy mỗi ô mực thành một ma trận điểm 10 x 10. Các con chữ có thể có kích cỡ khác nhau nhưng đều quy thành ma trận 10 x 10 và so sánh với mẫu để chọn mẫu gần nhất. Có nhiều cách thức so sánh, chẳng hạn thông qua số lượng điểm khác biệt. Tuy nhiên do sự khác biệt giữa các font chữ nhiều khi còn lớn hơn sự khác biệt giữa các con chữ cùng font ( chẳng hạn chữ b và chữ h - 2 chữ này trong cùng một font còn có vẻ gần nhau hơn so với cùng chữ trong font ), vì vậy thông thường các mẫu được phân [...]... ảnh từ trái sang phải và từ trên xuống dưới Trong dòng thứ nhất của các pixel đen, một nhãn duy nhất được gán cho mỗi đường chạy liên tục của pixel đen Với mỗi pixel đen của các dòng tiếp theo, các pixel lân cận trên dòng trước và pixel bên trái được xem xét Nếu bất kì pixel lân cận nào được gán nhãn, nhãn tương tự được gán cho pixel đen hiện thời, ngược lại nhãn tiếp theo chưa được sử dụng được chọn... đồ khối chương trình nhận dạng biển số xe Đối với xe 2 bánh ( xe gắn máy) biển số có 8 kí tự và chia làm 2 hàng mỗi hàng có 4 kí tự, theo qui định của nhà nước hiện hành Lưu đồ giải thuật chương trình nhận dạng biển số xe: Hình 3.2: Lưu đồ giải thuật chương trình nhận dạng biển số xe 3.2 TRÍCH VÙNG BIỂN SỐ XE Mục đích của phần này là trích được biển số xe từ ảnh đơn hay lấy ảnh từ máy quay (camera, webcam)... biển số xe thì phần mền sẽ xử lý nhận dạng và kết quả đưa ra biển số xe Một khi biển số xe được phát hiện (nhận dạng), các chữ số của nó được đọc và xuất ra trên giao diện người dùng và đối chiếu lại với cơ sở dữ liệu Quá trình nhận dạng biển số xe từ ảnh thu được thực hiện theo từng giai đoạn khác nhau, có thể tóm tắt theo sơ đồ khối như sau: Hình 3.1: Sơ đồ khối chương trình nhận dạng biển số xe Đối... ký xe 1.2.2 Nội dung đồ án Cũng như mọi hệ thống tự động khác bao gồm phần cứng và phần mềm Phần cứng hệ thống này chính là Camera hay Webcam có tác dụng thu nhận chụp hình ảnh biển số xe, hay l những ảnh chụp từ máy ảnh đây là dữ liệu đầu vào Phần mềm Matlab sẽ xử lý và nhận dạng ảnh, sau đó đưa ra chính xác biển số xe Có thể tóm tắt yêu cầu đưa ra theo sơ đồ sau: Hình 1.2: Sơ đồ nhận dạng biển số xe. .. các dữ liệu uint8 và uint16, ta không thể sử dụng các phép toán số học như cộng, trừ, nhân, chia Trong trường hợp này, MATLAB cung cấp thêm các hàm thực hiện các phép toán này 2.1.2 Phần tử ảnh (pixel) Mỗi phần tử ảnh gọi là một pixel thể hiện cường độ sáng hay mức xám trong ảnh Pixel là phần tử nhỏ nhất của ảnh, thường được biểu diễn bởi mảng hai chiều f(x,y) Một ảnh bao gồm x×y điểm Cặp tọa độ x,... xe là hệ thống có khả năng thu nhận ảnh cũng như là “đọc” và “hiểu” các biển số xe một cách tự động Một hệ thống như vậy có thể được sử dụng trong rất nhiều các ứng dụng chẳng hạn như: trạm cân và rửa xe tự động hoàn toàn, bãi giữ xe tự động, kiểm soát lưu lượng giao thông hay trong các ứng dụng về an ninh như tìm kiếm xe mất cắp Như mọi hệ thống tự động khác, hệ thống như vậy cũng sẽ yêu cầu có cả... thông số ảnh có tính vector MATLAB là một công cụ tính toán được xây dựng trên cơ sở các phép xử lý ma trận Đây lại là đối tượng rất thích hợp cho việc biểu diễn các hình ảnh, trong đó, mỗi phần tử của ma trận biểu diễn dữ liệu màu hoặc mức xám của một điểm ảnh Trong MATLAB, mỗi hình ảnh thường được biểu diễn bằng một ma trận hai chiều Mỗi phần tử của ma trận tương ứng với 1 pixel (một phần tử ảnh – picture... thuận chiều kim đồng hồ Hình 2.13: Trường hợp các đường thẳng lệch về phía trên CHƯƠNG 3 CHƯƠNG TRÌNH NHẬN DẠNG BIỂN SỐ XE 3.1 KHÁI QUÁT CHƯƠNG TRÌNH Mục đích của đề tài là xây dựng một chương trình đọc biển số xe tại một vị trí cố định, ví dụ như ở lối vào của khu vực bãi đậu xe Hệ thống xây dựng dựa vào một máy tính PC thông thường có giao tiếp với một máy ghi hình (camera hay webcam) nhằm đáp ứng... vùng biển số xe: trong bước thu nhận ảnh từ camera (webcam) hay những ảnh chụp từ máy chụp ảnh sau khi đưa vào máy tính làm cơ sở dữ liệu, ta dựa vào một số đặc điểm cơ bản của biển số xe so với các vật thể khác trong ảnh, áp dụng các thuật toán trích ra được vùng ảnh nhỏ nhất chứa biển số Công đoạn này thực hiện dựa vào phương pháp hình thái học: dựa vào đặc trưng hình thái của biển số xe như màu sắc,... hơn m và một nửa lớn hơn m Được sử dụng chủ yếu cho giảm nhiễu Một bộ lọc trung vị cũng dựa vào việc dùng một cửa sổ di chuyển trên ảnh, và giá trị xám pixel đầu ra được thay thế bởi trung vị của các pixel trong cửa sổ đó Thuật toán: Các pixel trong của sổ sẽ được sắp xếp từ nhỏ tới lơn Nếu kích thước của cửa sổ =JxK là lẻ thì vị trí trung vị là (JxK +1) / 2 , ngược lại thì vị trí trung vị là . là “đọc” và “hiểu” các biển số xe một cách tự động. Hệ thống này có thể được ứng dụng rộng rãi như: trạm cân và rửa xe tự động hoàn toàn, bãi giữ xe tự động, kiểm so t lưu lượng giao thông hay trong. dụng chẳng hạn như: trạm cân và rửa xe tự động hoàn toàn, bãi giữ xe tự động, kiểm so t lưu lượng giao thông hay trong các ứng dụng về an ninh như tìm kiếm xe mất cắp. Như mọi hệ thống tự động. trường hợp này, MATLAB cung cấp thêm các hàm thực hiện các phép toán này. 2.1.2 Phần tử ảnh (pixel) Mỗi phần tử ảnh gọi là một pixel thể hiện cường độ sáng hay mức xám trong ảnh. Pixel là phần tử