Đồ án Nhận dạng biển số xe ứng dụng Arm9 (Phần 1)
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Nhận dạng biển số xe ứng dụng Arm9 (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
do_an_nhan_dang_bien_so_xe_ung_dung_arm9_phan_1.pdf
Nội dung text: Đồ án Nhận dạng biển số xe ứng dụng Arm9 (Phần 1)
- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ÐIỆN – ÐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT ĐIỆN - ĐIỆN TỬ NHẬN DẠNG BIỂN SỐ XE ỨNG DỤNG ARM9 GVHD: THS. PHẠM VĂN KHOA SVTH: NGUYỄN QUỐC THÁI MSSV: 09901012 SKL003110 Tp. Hồ Chí Minh, tháng 07/2014
- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT TPHCM KHOA ĐIỆN - ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP NHẬN DẠNG BIỂN SỐ XE ỨNG DỤNG ARM9 GVHD : ThS. PHẠM VĂN KHOA SVTH : NGUYỄN QUỐC THÁI MSSV : 09901012 TP. HỒ CHÍ MINH –THÁNG 07 NĂM 2014
- TRƢỜNG ĐH. SƢ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TP. HỒ CHÍ MINHĐỘC LẬP - TỰ DO - HẠNH PHÚC KHOA ĐIỆN-ĐIỆN TỬ Tp. HCM, ngày tháng năm 2014 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP HỌ TÊN SINH VIÊN: PHẠM HỮU ÁI MSSV: 09901014 CHUYÊN NGÀNH : Sư Phạm Kỹ thuật Điện - Điện tử Mã ngành: 01 HỆ ĐÀO TẠO : Đại học chính quy Mã hệ:9 KHÓA:2009 Lớp: 099011A I. TÊN ĐỀ TÀI: NHẬN DẠNG BIỂN SỐ XE ỨNG DỤNG ARM9 II. NHIỆM VỤ: 1. Các yêu cầu thực hiện, thông số của đề tài: 2. Các vấn đề tồn tại của ĐATN có liên quan đã thực hiện ở các khóa trƣớc: 3. ĐATN giải quyết đƣợc vấn đề gì, tính mới, tính cải tiến, tính tối ƣu:
- 4. Kết quả đạt đƣợc của ĐATN sau khi thực hiện: III. NGÀY GIAO NHIỆM VỤ: I V. NGÀY HOÀN THÀNH NHIỆM VỤ: VI. HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: THS. PHẠM VĂN KHOA CÁN BỘ HƯỚNG DẪN BM. ĐIỆN TỬ CÔNG NGHIỆP
- Nhận dạng biển số xe ứng dụng Arm9 Phần A GIỚI THIỆU Phần A: Giới thiệu i
- Nhận dạng biển số xe ứng dụng Arm9 LỜI CẢM ƠN Xin gửi lời cảm ơn chân thành đến quý thầy cô trường Đại học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh nói chung và khoa Điện – Điện tửnói riêng đã truyền đạt những kiến thức quý báu trong suốt năm năm học và tạo điều kiện thuận lợi để người thực hiện đề tài học tập tốt. Xin gửi lời cảm ơn đến thầy Phạm Văn Khoa, người đã theo sát hướng dẫn và động viên giúp đỡ trong suốt quá trình thực hiện đồ án này. Cảm ơn gia đình, cha mẹ đã là nguồn động viên to lớn về vật chất và tinh thần trong suốt thời gian học hành, để có được tương lai, theo đuổi ước mơ và sự nghiệp. Chân thành cảm ơn các anh, chị và các bạn trong khoa Điện – Điện tử, đặc biệt là các bạn trong lớp 099011A đã giúp đỡ, động viên và hỗ trợ nhau trong suốt quá trình học tập. Xin chân thành cảm ơn! Người thực hiện đề tài NGUYỄN QUỐC THÁI Phần A: Giới thiệu ii
- Nhận dạng biển số xe ứng dụng Arm9 TÓM TẮT ĐỀ TÀI Trước đây, khi số lượng các phương tiện xe máy còn chưa phổ biến, việc quản lý chúng thường đơn giản và ít gặp khó khăn. Ngày nay, khi số lượng xe máy đã trở nên rất nhiều thì các hệ thống quản lý cũ không còn hiệu quả và không còn mang tính kinh tế. Vì vậy, đã có nhiều công trình nghiên cứu thực tiễn nhằm giải quyết vấn đề này. Nổi bật trong số đó là các công trình nghiên cứu ứng dụng thị giác máy vào trong hệ thống nhận dạng xe nhằm phục vụ công tác quản lý. Cơ sở của thị giác máy chính là lý thuyết về xử lý ảnh số trong đó bao gồm các quá trình thu nhận ảnh, xử lý ảnh, phân tích ảnh và nhận dạng ảnh Vấn đề nhận dạng xe, thông thường được thực hiện thông qua việc nhận dạng biển số của chính xe đó. Một vấn đề đặt ra là hầu hết các ứng dụng nhận dạng biển số xe hiện tại thường được xây dựng trên nền tảng máy tính cá nhân và hoạt động của chúng là không thể tách rời ra khỏi máy tính cá nhân được. Trong đề tài này, người nghiên cứu tập trung phát triển một ứng dụng nhận dạng biển số xe có thể hoạt động độc lập trên nền tảng một hệ nhúng. Nội dung đề tài được giải quyết theo hướng tập trung khai thác thế mạnh của bộ vi điều khiển S3C6410trên board FriendlyArm Tiny6410. Thực chất bộ vi điều khiển này là một SoC (System on a Chip) có nhân xử lý là Arm.Về cơ bản, đề tài đã có thể chứng minh rằng: hoàn toàn có thể xây dựng ứng dụng nhận dạng biển số xe hoạt động trên nền tảng Arm thay vì hoạt động trên máy tính cá nhân. Qua đó, càng cho thấy rõ khả năng ứng dụng của Arm vào các lĩnh vực công nghệ cao mà trước đây, người ta thường nghĩ chỉ có thể thực hiện được trên máy tính. Đề tài đã tạo được một nền tảng nghiên cứu mới và có nhiều tiềm năng phát triển theo hướng rộng và chuyên sâu trong việc ứng dụng các hệ nhúng vào nhiều lĩnh vực khác nhau trong cuộc sống. Đặc biệt là chuyển những nghiên cứu mang tính học thuật thành hiện thực. Phần A: Giới thiệu iii
- Nhận dạng biển số xe ứng dụng Arm9 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Giáo viên hướng dẫn Phần A: Giới thiệu iv
- Nhận dạng biển số xe ứng dụng Arm9 NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Giáo viên phản biện Phần A: Giới thiệu v
- Nhận dạng biển số xe ứng dụng Arm9 MỤC LỤC Trang bìa Quyết định giao đề tài Phần A:Giới thiệu i Lời cảm ơn ii Tóm tắt đề tài iii Nhận xét của giáo viên hướng dẫn iv Nhận xét của giáo viên phản biện v Mục lục vi Liệt kê bảng ix Liệt kê hình x Phần B: Nội dung 1 Chương 1:Dẫn nhập 2 1.1.Đặt vấn đề 3 1.2.Tình hình nghiên cứu 3 1.3.Mục đích nghiên cứu 3 1.4.Đối tượng và phạm vi nghiên cứu 3 1.5.Ý nghĩa khoa học và tính thực tiễn của đề tài 4 1.6.Phương pháp và phương tiện nghiên cứu 4 Chương 2: Tổng quan về xử lý ảnh số và nhận dạng ảnh 6 2.1.Tổng quan về xử lý ảnh số 7 2.1.1.Khái niệm xử lý ảnh số 7 2.1.2.Nguồn gốc của xử lý ảnh số 7 2.1.3.Các ứng dụng của xử lý ảnh 7 2.1.4.Các bước cơ bản trong xử lý ảnh số 8 2.1.5.Các thành phần cơ bản của một hệ thống xử lý ảnh 9 2.2.Các kiến thức cơ bản về ảnh số 11 2.2.1.Cảm nhận thị giác 11 2.2.2.Lấy mẫu và lượng tử hóa ảnh 12 2.2.3.Mối liên hệ giữa các điểm ảnh 13 2.3.Nâng cao chất lượng ảnh trong miền không gian 15 2.3.1.Các phép biến đổi mức xám cơ bản 15 2.3.2.Bộ lọc trong miền không gian 16 2.4.Nén ảnh 18 2.4.1.Các kỹ thuật cơ bản 18 2.4.2.Nén ảnh dựa vào biến đổi 19 2.5.Xử lý hình thái ảnh 21 2.5.1.Phép giãn ảnh và phép co ảnh 21 2.5.2.Một số thuật toán hình thái cơ bản 22 2.5.3.Xử lý hình thái ảnh xám 22 2.6.Phân vùng ảnh 23 2.6.1.Phát hiện tính không liên tục 23 2.6.2.Phân đoạn ảnh dựa vào các vùng ảnh con 23 2.7.Tổng quan về nhận dạng ảnh 24 2.7.1.Không gian biểu diễn đối tượng, không gian diễn dịch 25 2.7.2.Bản chất của quá trình nhận dạng 25 Phần A: Giới thiệu vi
- Nhận dạng biển số xe ứng dụng Arm9 2.7.3.Nhận dạng dựa trên phân hoạch không gian 26 Chương 3: Hệ thống nhận dạng biển số xe và nền tảng phát triển hệ thống 27 3.1.Tổng quan về hệ thống nhận dạng biển số xe 28 3.1.1.Giới thiệu chung 28 3.1.2.Các đặc trưng cơ bản của biến số xe máy Việt Nam 29 3.1.3.Phân vùng biển số 29 3.1.4 Phân vùng ký tự 30 3.1.5.Nhận dạng ký tự 31 3.2.SVM và ứng dụng nhận dạng ký tự biển số xe 31 3.3.Nền tảng phát triển hệ thống 34 3.3.1.Tổng quan về hệ nhúng 34 3.3.2.Nền tảng Arm và kiến trúc Arm11 35 3.3.3.Tổng quan về board FriendlyARM Tiny6410 39 3.3.4. Embedded Linux trên board FriendlyArm Tiny6410 40 Chương 4: Thiết kế phần mềm nhận dạng biển số xe 42 4.1.Yêu cầu thiết kế 43 4.2.Các công cụ hỗ trợ 43 4.2.1.Trình biên dịch chéo 43 4.2.2.Thư viện OpenCV 44 4.2.3.Phần mềm lập trình Qt Creator 50 4.2.4.Qt Everywhere 54 4.3.Thiết kế phần mềm nhận dạng biển số xe 57 4.3.1.Thu nhận ảnh 57 4.3.2.Tiền xử lý 58 4.3.3.Tách biển số 60 4.3.4.Tách ký tự và nhận dạng 61 4.3.5.Giao diện phần mềm phần mềm 65 4.4.Thiết kế phần mềm huấn luyện SVM 68 4.4.1.Tạo dữ liệu huấn luyện 69 4.4.2.Tạo ma trận huấn luyện 70 4.4.3.Huấn luyện và kết quả huấn luyện 70 4.4.4.Giao diện phần mềm 71 4.4.5.Lưu đồ 72 4.5.Biên dịch và thực thi phần mềm 74 4.5.1.Cấu hình biên dịch cho Arm và biên dịch 74 4.5.2.Download chương trình xuống board và thực thi 75 Chương 5:Kết quả nghiên cứu, kết luận và hƣớng phát triển 61 5.1.Kết quả nghiên cứu 62 5.2.Kết luận 62 5.3.Hướng phát triển 64 Phần C: Phụ lục và Tài liệu tham khảo 83 Phần A: Giới thiệu vi
- Nhận dạng biển số xe ứng dụng Arm9 LIỆT KÊ BẢNG Bảng 3.1: Các dạng lõi tiêu biểu của ARM 38 Bảng 3.2: Các đặc trưng nổi bật của Board Tiny6410 41 Bảng 4.1: Kết quả thực nghiệm phần mềm nhận dạng biển số 79 Phần A: Giới thiệu viii
- Nhận dạng biển số xe ứng dụng Arm9 LIỆT KÊ HÌNH Hình 2.1:Các bước cơ bản trong xử lý ảnh 8 Hình 2.2: Sơ đồ phân tích và xử lý ảnh và lưu đồ thông tin giữa các khối 10 Hình 2.3: Các thành phần chính của một hệ thống xử lý ảnh 11 Hình 2.4: Khuông lượng tử theo L mức xám 13 Hình 2.5: Lân cận các điểm ảnh của tọa độ (x, y) 14 Hình 2.6: Lọc trung vị 17 Hình 2.7: Các bộ lọc nâng cao 18 Hình 2.8: Mã hóa và giải mã bởi mã hóa biến đổi 20 Hình 2.9: Cải thiện ảnh nhị phân 21 Hình 3.1: Hệ thống nhận dạng biển số xe cơ bản 28 Hình 3.2: Hình ảnh biển số xe dân sự ở Việt Nam 29 Hình 3.3: Ảnh xám và lược đồ xám tương ứng của ảnh 30 Hình 3.4: Bài toán phân lớp tuyến tính 32 Hình 3.5: Lề và đường biên trong SVM 33 Hình 3.6: Lựa chọn đường phân lớp trong phân lớp tuyến tính 33 Hình 3.7: Tính khoảng cách từ điểm dữ liệu đến mặt phân cách 33 Hình 3.8: Mô hình phát triển ứng dụng nhúng 35 Hình 3.9: Cấu trúc đường ống 8 tầng của Arm11 38 Hình 3.10: Lõi xử lý Arm1176JZF-S 38 Hình 3.11: Board tiny6410 39 Hình 3.12: Board Tiny6410 SDK cùng với các chuẩn giao tiếp hỗ trợ 40 Hình 4.1: Bộ thư viện OpenCV 44 Hình 4.2: Không gian màu RGB 45 Hình 4.3: Biểu diễn RGB trong OpenCV 45 Hình 4.4: Ứng dụng bộ lọc Canny trong dò biên ảnh 48 Hình 4.5: Bộ công cụ lập trình đa nền tảng Qt 51 Hình 4.6: Giao diện Qt Creator 52 Hình 4.7: Tạo project mới trong Qt Creator 52 Hình 4.8: Giao diện lâp trình Qt 53 Hình 4.9: Cơ chế signals & slots trong Qt 53 Hình 4.10: Cấu hình sử dụng OpenCV trong Qt 54 Hình 4.11: Thiết lập qt version 56 Hình 4.12: Thêm nền tảng biên dịch chéo trên Qt 57 Hình 4.13: Chuyển ảnh ngõ vào sang ảnh xám 58 Hình 4.14: Ngưỡng nhị phân Otsu 59 Hình 4.15: Ảnh ngõ vào sau khi thực hiện nhị phân hóa ảnh 59 Hình 4.16: Tìm biên bằng bộ lọc Canny 60 Hình 4.17: Ảnh sau khi thực hiện phép dãn nở 60 Hình 4.18: Xác định các đường bao trong ảnh 61 Hình 4.19: Tách biển số 61 Hình 4.20: Kêt quả sau khi tách ký tự 63 Hình 4.21: Chia nhỏ ảnh để tìm đặc trung 64 Hình 4.22: Sử dụng cơ chế signals slots trong phần mềm 65 Hình 4.23: Giao diện phần mềm nhận dạng biển số xe 66 Hình 4.24: Lưu đồ lớp mainwindow 67 Hình 4.25: Lưu đồ lớp camera 67 Phần A: Giới thiệu x
- Nhận dạng biển số xe ứng dụng Arm9 Hình 4.26: Lưu đồ lớp detection 68 Hình 4.27: Phần mềm tạo mẫu huấn luyện 69 Hình 4.28: Các mẫu huấn luyện 69 Hình 4.29: Tổ chức thư mục huấn luyện 70 Hình 4.30: Kết quả quá trình huấn luyện 71 Hình 4.31: Giao diện phần mềm huấn luyện SVM 71 Hình 4.32: Kiểm tra lại kết quả huấn luyện huấn luyện 72 Hình 4.33: Lưu đồ quá trình huấn luyện SVM 73 Hình 4.34: Cấu hình thư viện OpenCV cho Arm 74 Hình 4.35: Cấu hình biên dịch ứng dụng cho Arm 74 Hình 4.36: Đăng nhập vào kit bằng Terminal 75 Hình 4.37: Kết nối ftp với kit FriendlyArm 75 Hình 4.38: Giao diện phần mềm trên board Tiny6410 76 Hình 5.1: Kết quả thiết kế phần mềm 78 Phần A: Giới thiệu x
- Nhận dạng biển số xe ứng dụng Arm9 Phần B NỘI DUNG Phần B: Nội dung
- Nhận dạng biển số xe ứng dụng Arm9 Chƣơng 1 DẪN NHẬP Chương 1: Dẫn nhập
- Nhận dạng biển số xe ứng dụng Arm9 1.1. Đặt vấn đề Trước đây, khi các phương tiện xe máy còn chưa nhiều, việc quản lý chúng thường đơn giản và ít gặp khó khăn. Ngày nay, khi số lượng xe máy đã trở nên rất nhiều thì các hệ thống quản lý cũ không còn hiệu quả và không còn mang tính kinh tế nữa. Vì vậy, đã có nhiều công trình nghiên cứu thực tiễn nhằm giải quyết vấn đề này. Nổi bật trong số đó là các công trình nghiên cứu ứng dụng thị giác máy vào trong hệ thống nhận dạng xe nhằm phục vụ công tác quản lý. Cơ sở của thị giác máy chính là lý thuyết về xử lý ảnh số trong đó bao gồm các quá trình thu nhận ảnh, xử lý ảnh, phân tích ảnh và nhận dạng ảnh Vấn đề nhận dạng xe, thông thường được thực hiện thông qua việc nhận dạng biển số của chính xe đó. Một vấn đề đặt ra là hầu hết các ứng dụng nhận dạng biển số xe hiện tại thường được xây dựng trên nền tảng máy tính cá nhân và hoạt động của chúng là không thể tách rời ra khỏi máy tính cá nhân được. Trong đề tài này, người nghiên cứu tập trung phát triển một ứng dụng nhận dạng biển số xe có thể hoạt động độc lập trên nền tảng một hệ nhúng. Nội dung đề tài được giải quyết theo hướng tập trung khai thác thế mạnh của bộ vi điều khiển S3C6410 trên board FriendlyArm Tiny6410. Thực chất bộ vi điều khiển này là một SoC (System on a Chip) có nhân xử lý là Arm. Về cơ bản, đề tài đã có thể chứng minh rằng: hoàn toàn có thể xây dựng ứng dụng nhận dạng biển số xe hoạt động trên nền tảng Arm thay vì hoạt động trên máy tính cá nhân. Qua đó, càng cho thấy rõ khả năng ứng dụng của Arm vào các lĩnh vực công nghệ cao mà trước đây, người ta thường nghĩ chỉ có thể thực hiện được trên máy tính. 1.2. Tình hình nghiên cứu Tại Việt Nam, người thực hiện đề tài này đã tìm thấy một số công trình nghiên cứu đã được công bố như ứng dụng nhận dạng biển số xe trên thiết bị điện thoại di động Android, iOS Tuy nhiên, đối với hệ thống nhận dạng biển số xe mà yêu cầu của hệ thống là cần có giao tiếp với các hệ thống bên ngoài như bảng quang báo, cần gạt, còi thì một ứng dụng hoạt động trên thiết bị điện thoại di động thường không đáp ứng được hoặc gặp rất nhiều khó khăn, nhất là vấn đề phần cứng. Đối với ở nước ngoài, với sự phát triển của khoa học kỹ thuật và kinh tế, đã có nhiều công trình nghiên cứu về hệ thống nhận dạng biển số xe. Hơn thế nữa, các hệ thống ứng dụng nhận dạng biển số xe được nghiên cứu, phát triển thành các sản phẩm thương mại với độ ổn định và tin cậy cao, được ứng dụng rộng rãi vào trong thực tiễn. 1.3.Mục đích nghiên cứu Xây dựng ứng dụng nhận dạng biển số xehoạt động trên board FriendlyARM Tiny6410. Ứng dụng hoạt động trên nền tảng hệ điều hành Embedded Linux cài đặt trên board. Điều này được thể hiện thông qua việc lập trình ứng dụng bằng phần mềm Qt trên máy phát triển Ubuntu, ứng dụng được biên dịch và download xuống board và sau đó có thể hoạt động độc lập. 1.4 .Đối tƣợng và phạm vi nghiên cứu . Đối tƣợng nghiên cứu - Phần mềm nhận dạng biển số xe hoạt động trên board Tiny6410 - Board FriendlyARM Tiny6410. Chương 1: Dẫn nhập 3
- Nhận dạng biển số xe ứng dụng Arm9 . Phạm vi nghiên cứu - Tìm hiểu và sử dụng SVM trong huấn luyện và nhận dạng các ký tự chữ và số của biển số xe. - Tìm hiểu nguyên lý hệ thống nhận dạng biển số xe máy và triển khai hệ thống trên nền tảng phần cứng ARM, cụ thể với board nhúng FriendlyARM Tiny6410. - Phần mềm chỉ nhận dạng từ tập cơ sở dữ liệu offline (tức các ảnh có sẵn). - Phần mềm được thiết kế hoạt động trên nền tảng Linux với giao diện Qt. - Phần mềm chỉ xử lý và nhận dạng đối với các ảnh đầu vào là biển số xe máy dân sự của Việt Nam. 1.5 .Ý nghĩa khoa học và thực tiễn của đề tài . Ý nghĩa khoa học của đề tài Kết quả nghiên cứu của đề tài sẽ góp phần minh chứng khả năng lập trình ứng dụng đồ họa bằng Qt trên môi trường Linux và là nguồn tài liệu tham khảo cho những nghiên cứu mới hoặc kế thừa sau này. . Tính thực tiễn của đề tài Hiện nay nhu cầu xây dựng các ứng dụng chạy độc lập trên nền tảng hệ nhúng là rất lớn. Trước đây, các công trình nghiên cứu về hệ thống nhận dạng biển số xethường được phát triển trên nền tảng máy tính cá nhân, vốn có kích thước lớn và giá thành tương đối cao. Nhưng với giải pháp này, đã giúp hệ thống nhận dạng biển số xe “thoát ly” khỏi máy tính cá nhân để đến với một thiết bị nhỏ gọn hơn rất nhiều lần, đó là board Tiny6410, chỉ với kích thước 180 x 130 mm. 1.6 .Phƣơng pháp và phƣơng tiện nghiên cứu . Phƣơng pháp nghiên cứu Ba phương pháp nghiên cứu chính đã được áp dụng để thực hiện đề tài này là: Phương pháp tham khảo tài liệu, phương pháp thống kê và phương pháp thực nghiệm. - Áp dụng phƣơng pháp tham khảo tài liệu: Thông tin về giải pháp lập trình ứng dụng nhận dạng biển số xe máy trên nền tảng Arm cũng như về board FriendlyARM còn rất ít và khan hiếm. Nhưng để tự thực hiện được một ứng dụng hoàn chỉnh, đòi hỏi người thực hiện phải được trang bị thêm nhiều kiến thức công nghệ khác về: Lập trình Qt với ngôn ngữ C++, thiết kế hệ thống hệ thông nhận dạng biển số xe trên cơ sở xử lý ảnh số, cấu trúc board FriendlyARM Tiny6410. Có nhiều kiến thức và kỹ năng quan trọng và cần thiết cho đề tài nhưng người thực hiện chưa được trang bị trong chương trình học, vì vậy có khá nhiều nguồn tài liệu tham khảo từ các trang Web và ebook đã được tác giả đề tài kham khảo và nghiên cứu nhiều trong quá trình thực hiện. Việc tham khảo tài liệu đã giúp người thực hiện củng cố lại một cách khoa học các kiến thức đã có và xây dựng những nền tảng kiến thức mới. Qua đó, tác giả cũng chọn lọc ra được những nguồn kiến thức quan trọng làm kim chỉ nam cho tác giả thực nghiệm nghiên cứu. - Áp dụng phƣơng pháp thống kê: Trong quá trình thực hiện lập trình nhận dạng biển số xe máy, với một tập cơ sở dữ liệu là các ảnh của biển số, các ảnh này khác nhau về nội dung, về độ sáng, độ tương phản, màu sắc Để thực hiện hoàn chỉnh quá trình nhận dạng các ảnh này, đòi hỏi người nghiên cứu phải tiến hành thống kê các số liệu có liên quan như tập ảnh đầu vào, tập mẫu phục vụ trong việc huấn luyện, phân loại, thống kê kết quả nhận dạng được, từ đó tính toán hiệu suất của quá trình nhận Chương 1: Dẫn nhập 4
- Nhận dạng biển số xe ứng dụng Arm9 dạng Nhờ phương pháp thực nghiệm, quá trình nhận dạng được thực hiện có hiệu quả hơn, kết quả ngiên cứu được đánh giá một cách khách quan, chính xác. - Áp dụng phƣơng pháp thực nghiệm: Sản phẩm nghiên cứu của đề tàiphải là một sản phẩm vật lý thực, chính vì vậy, đòi hỏi tác giả phải tiến hành nhiều lần thực nghiệm để thử nghiệm các mẫu đầu vào và các phiên bản chương trình phần mềm. Để giảm bớt thời gian và chi phí thực nghiệm, người thực hiện còn kết hợp với mô phỏng hệ thống trên máy tính. Sau khi việc kiểm chứng trên mô phỏng đạt được những kết quả nhất định, thì sẽ được tiến hành biên dịch phần mềm và thực thi trên hệ thống đích. Để thực nghiệm được thì người thực hiện đề tài phải cần đến các phương tiện nghiên cứu sau: Bao gồm phương tiện (công cụ) phần mềm và phương tiện (công cụ) phần cứng. Phương tiện (công cụ) phần mềm: - Hệ điều hành Ubuntu : Được dùng làm môi trường phát triển, mô phỏng và biên dịch ứng dung. - Hệ điều hành Embedded Linux: đượcdùng làm môi trường thực thi ứng dụng, cung cấp các cơ chế, phương thức để ứng dụng giao tiếp, khai thác các tài nguyên phần cứng của board Tiny6410. - Phần mềm Qt Creator: được dùng làm môi trường lập trình ứng dụng, viết mã nguồn ứng dụng với giao diện đồ họa. - Phần mềm qte-everywhere-opensource-src: dùng để hỗ trợ biên dịch các ứng dụng viết bằng Qt chạy trên nền tảng ARM. - Trình biên dịch arm-linux-gcc: hỗ trợ biên dịch chéo ứng dụng. - Bộ thư viện OpenCV: cung cấp các hàm, các thuật toán phục vụ xử lý ảnh. - Cùng một số thư viện, công cụ hỗ trợ biên dịch và biên dịch chéo ứng dụng Phương tiện (công cụ) phần cứng: - Board Tiny6410: Là phần cứng trung tâm chạy ứng dụng nhận dạng biển số xe - Máy tính cá nhân: sử dụng laptop làm máy phát triển. Ba phương pháp nghiên cứu trên được áp dụng xen kẽ và bổ trợ cho nhau để từ đó giúp người nghiên cứu hình thành được những kiến thức quý giá và đi đến thực hiện thành công đề tài “Nhận dạng biển số xe ứng dụng Arm9”. Chương 1: Dẫn nhập 5
- Nhận dạng biển số xe ứng dụng Arm9 Chƣơng 2 TỔNG QUAN VỀ XỬ LÝ ẢNH SỐ VÀ NHẬN DẠNG ẢNH Chương 2:Tổng quan về xử lý ảnh số và nhận dạng
- Nhận dạng biển số xe ứng dụng Arm9 2.1.Tổng quan về xử lý ảnh số 2.1.1.Khái niệm xử lý ảnh số Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ, đây là một ngành khoa học mới so với nhiều ngành khoa học khác nhưng có tốc độ phát triển khá nhanh. Trong xử lý ảnh ta có phân tích ảnh để thu được các thông tin đặc trưng giúp cho việc phân loại ảnh (image classification), nhận dạng ảnh (image recognition). Xử lý và nhận dạng là một lĩnh vực từ lâu được nhiều người quan tâm. Nó đã được ứng dụng vào nhiều lĩnh vực như: • Trong y học, cải thiện ảnh X-quang và nhận dạng đường biên mạch máu từ ảnh chụp bằng tia X, ứng dụng vào các xét nghiệm lâm sàng như phát hiện u não, nội soi cắt lớp • Trong thiên văn học, hệ thống chụp hình gắn trên tàu vũ trụ hạn chế về kích thước và trọng lượng, do đó chất lượng hình ảnh nhận được bị giảm như bị mờ, méo hình học và nhiễu nền. Các hình đó được xử lý bằng hệ thống máy tính. •Trong các lĩnh vực công nghiệp, người máy ngày càng đóng vai trò quan trọng. Chúng thực hiện các công việc nguy hiểm, đòi hỏi tốc độ và độ chính xác cao vượt quá khả năng con người. Người máy sẽ trở nên tinh vi hơn và thị giác máy tính đóng vai trò quan trọng hơn. Người ta không chỉ đòi hỏi người máy phát hiện và nhận dạng các bộ phận công nghiệp mà còn phải “hiểu” được những gì chúng “thấy” và đưa ra hành động phù hợp. Vì vậy, xử lý ảnh đóng vai trò quan trọng trong thị giác máy tính. Xử lý ảnh được đưa vào giảng dạy ở bậc đại học ở nước ta khoảng hơn chục năm nay. Nó là môn học liên quan đến nhiều lĩnh vực và cần nhiều kiến thức cơ sở khác. Đầu tiên phải kể đến xử lý tín hiệu số là một môn học hết sức cơ bản cho xử lý tín hiệu chung, các khái niệm về tích chập, các biến đổi Fourier, biến đổi Laplace, các bộ lọc hữu hạn Thứ hai, các công cụ toán như Đại số tuyến tính, Sác xuất, thống kê. Một số kiến thức cần thiết như Trí tuệ nhân tạo, Mạng nơ ron nhân tạo cũng được đề cập trong quá trình phân tích và nhận dạng ảnh. 2.1.2.Nguồn gốc của xử lý ảnh số Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnh báo được truyền qua cáp từ Luân Đôn đến New York từ những năm 1920. Vấn đề nâng cao chất lượng ảnh có liên quan tới phân bố mức sáng và độ phân giải của ảnh. Việc nâng cao chất lượng ảnh được phát triển vào những năm 1955. Điều này có thể giải thích được vì sau chiến tranh thế giới thứ hai, máy tính phát triển nhanh tạo điều kiện cho quá trình xử lý ảnh số thuận lợi. Năm 1964, máy tính đã có khả năng xử lý và nâng cao chất lượng ảnh từ mặt trăng và vệ tinh Ranger 7 của Mỹ bao gồm: làm nổi đường biên, lưu ảnh. Từ năm 1964 đến nay, các phương tiện xử lý, nâng cao chất lượng, nhận dạng ảnh phát triển không ngừng. 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. 2.1.3.Các ứng dụng của xử lý ảnh số Biến đổi ảnh (Image Transform) Trong xử lý ảnh do số điểm ảnh lớn các tính toán nhiều (độ phức tạp tính toán cao) đòi hỏi dung lượng bộ nhớ lớn, thời gian tính toán lâu. Các phương pháp khoa học kinh điển áp dụng cho xử lý ảnh hầu hết khó khả thi. Người ta sử dụng các phép toán tương đương hoặc biến đổi sang miền xử lý khác để dễ tính toán. Sau khi xử lý dễ dang hơn được thực Chương 2:Tổng quan về xử lý ảnh số và nhận dạng 7
- S K L 0 0 2 1 5 4



