Lý do ch ọn đề tài
Ngành công nghệ thông tin đang phát triển mạnh mẽ, với sự gia tăng và đa dạng hóa các thiết bị tự động hỗ trợ con người Nghiên cứu về thị giác máy đã chứng minh nhiều ứng dụng thực tiễn, như nhận dạng biển số xe, dấu vân tay, mã vạch và tương tác giữa người và máy Do đó, nghiên cứu thị giác máy đang trở thành xu hướng nổi bật trong thế giới số hiện nay.
Hệ thống nhận dạng biển số xe đã trải qua nhiều nghiên cứu với các phương pháp tiếp cận đa dạng, tập trung vào việc xây dựng mô hình thuật toán để giải quyết các bài toán nhỏ và tổng hợp thành bài toán lớn Trong đó, giai đoạn xử lý khử nhiễu để nhận dạng biển số xe được coi là bước quan trọng nhất, nhưng vẫn chưa tìm ra phương án tối ưu Do đó, tôi chọn đề tài “Nghiên cứu nâng cao hiệu năng trong hệ thống nhận dạng biển số xe”, nhằm phát triển hệ thống nhận dạng có khả năng khắc phục những hình ảnh bị nhiễu cao, đặc biệt trong các điều kiện ánh sáng không tốt như ban đêm.
M ụ c tiêu và nhi ệ m v ụ đề tài
2.1 Mục tiêu Đề tài nghiên cứu xây dựng hệ thống nhận dạng biển số xe hiệu quả và ổn định nhất
2.2 Nhiệm vụ Để đạt được các mục tiêu trên, đề tài tập trung vào các nhiệm vụ cụ thể như sau:
- Phân tích đặc điểm của bài toán xử lý ảnh để từ đó đề ra các giải pháp hợp lý trong việc xây dựng và triển khai hệ thống
- Tìm hiểu và ứng dụng xử lý ảnh trong thực tế với các thư viện hỗ trợ
- Phân tích và đánh giá kết quả đạt được khi thực hiện hệ thống đối với các bộ dữ liệu thử đơn giản
- Phân tích và đánh giá kết quả đạt được khi ảnh có nhiều đối tượng nhiễu, nhiều vùng ký tự.
Phương pháp nghiên cứu
4.1 Phương pháp nghiên cứu tài liệu
- Nghiên cứu tài liệu, ngôn ngữ và công nghệ liên quan
- Tổng hợp tài liệu, phương pháp xử lý ảnh và các thư viện hỗ trợ xử lý ảnh
4.2 Phương pháp nghiên cứu thực nghiệm
- Phân tích và thiết kế hệ thống nhận dạng biển số xe
- Thử nghiệm hệ thống và đánh giá kết quả đạt được với những hình ảnh có đỗ nhiễu cao.
M ục đích và ý nghĩa của đề tài
Nghiên cứu nâng cao độ chính xác cho hệ thống nhận dạng biển số xe
6.2 Ý nghĩa khoa học và thực tiễn của đề tài a V ề mặt khoa học
Nhận dạng biển số xe là một lĩnh vực không mới, nhưng vẫn gặp nhiều khó khăn khi áp dụng vào thực tế Một trong những thách thức lớn là xử lý hình ảnh có độ nhiễu cao, do các yếu tố như góc chụp, điều kiện thời tiết và ánh sáng ảnh hưởng đến chất lượng hình ảnh.
Kết quả nghiên cứu của đề tài sẽ là nền tảng vững chắc cho việc phát triển hệ thống ứng dụng trong thực tế cuộc sống hiện nay Điều này không chỉ mang lại giá trị lý thuyết mà còn có ý nghĩa thực tiễn quan trọng.
Hệ thống nhận dạng biển số xe được phát triển nhằm cung cấp kết quả chính xác hơn cho các biển số xe thông qua hình ảnh thu được từ camera.
Kết quả dự kiến
Xây dựng hệ thống nhận dạng biển số xe cho ra kết quả chính xác và ổn định.
Bố cục của luận văn
Nội dung chính của luận văn được chia thành 3 chương sau:
Chương 1.Tổng quan về xử lý ảnh
Chương 2 Tổng quan về hệ thống nhận dạng biển số xe
Chương 3 Ứng dụng mạng Nơ-ron để nhận dạng ký tự trong hệ thống nhận dạng biển số xe
TỔ NG QUAN V Ề X Ử LÝ Ả NH
NH Ữ NG KHÁI NI Ệ M V Ề Ả NH S Ố
Để xử lý ảnh bằng máy tính, trước tiên cần thực hiện quá trình số hóa ảnh, biến đổi tín hiệu liên tục thành tín hiệu rời rạc thông qua việc lấy mẫu và lượng hóa Quá trình này tạo ra các điểm ảnh (pixel) mà mắt thường không thể phân biệt được Trong ảnh hai chiều, mỗi điểm ảnh được xác định bởi một cặp tọa độ (c,r) và giá trị độ sáng cụ thể, từ đó tạo nên độ phân giải của ảnh Điểm ảnh không chỉ là phần tử của ảnh số mà còn thể hiện cường độ sáng tại một vị trí cụ thể trong không gian, và ảnh được coi là tập hợp của các điểm ảnh này.
Để dễ dàng định vị trong ảnh, người ta thường sử dụng hệ tọa độ pixel, trong đó ảnh được coi như một lưới các phần tử Số cột tăng dần từ trái qua phải, trong khi số hàng tăng dần từ trên xuống dưới Tọa độ được biểu diễn bằng các số nguyên, và các tọa độ lẻ không có ý nghĩa trong hệ thống này.
Hình 1.1 Hệ tọa độ pixel
M ột hệ thống ảnh có thể biểu diễn như sau
Hình 1.2 Biểu diễn hệ thống ảnh
Với H: Hệ thống ảnh tuyến tính f(i,j) : Vật thể g(x,y) : Ảnh
Vật thể nằm trong mặt phẳng (i,j) được mô tả bằng một hàm 2 biến (ảnh
Trong hệ thống tạo ảnh, f(i,j) đại diện cho độ chói của vật tại tọa độ (i,j), trong khi g(x,y) là hàm chói của ảnh nằm trong mặt phẳng ảnh Khi một đối tượng được chiếu sáng bằng một hàm nhất định, thông tin này được truyền qua hệ thống tạo ảnh, dẫn đến việc tạo ra ảnh của vật.
Trên mặt phẳng (x,y), hệ thống tạo ra điểm ảnh (x,y) từ năng lượng phát ra từ vật thể Hệ thống ảnh thu nhận năng lượng bức xạ từ điểm (i,j) cùng với các điểm ảnh lân cận Khi các điểm lân cận được giới hạn, quá trình này được gọi là tạo điểm ảnh Hệ thống tạo ảnh có thể được phân loại thành tuyến tính hoặc phi tuyến.
MỘT SỐ KHÁI NIỆM VỀ XỬ LÝ ẢNH
Trong những năm gần đây, kỹ thuật xử lý ảnh đã trở nên phổ biến trong các hệ thống thông tin và tự động, giúp nâng cao độ thông minh của các hệ thống này Không chỉ dừng lại ở việc cải thiện chất lượng ảnh, lưu trữ và phân tích cấu trúc, công nghệ này còn cho phép tự động nhận dạng các đối tượng trong ảnh, từ đó rút ra thông tin quý giá từ hình ảnh.
Trong lĩnh vực thám không, việc sử dụng hệ thống xử lý ảnh tự động giúp xác định thông tin về các khu vực dưới mặt đất và dự báo hiện tượng tự nhiên Tương tự, trong y học, kỹ thuật xử lý ảnh chụp cắt lớp, siêu âm và tế bào hỗ trợ nhận dạng và chẩn đoán bệnh Ngoài ra, trong đo lường, việc xử lý ảnh chụp các quá trình như mực nước, tốc độ dòng chảy và năng lượng hạt nguyên tử cũng rất quan trọng Sự phát triển của máy tính số đã thúc đẩy tiến bộ trong xử lý ảnh số, với nhiều ứng dụng trong truyền hình và thu thập hình ảnh từ vệ tinh Tuy nhiên, ảnh hưởng từ môi trường và thiết bị có thể làm giảm chất lượng hình ảnh, do đó việc khôi phục lại ảnh gốc là cần thiết trong việc xây dựng bản đồ và các ứng dụng khác.
Hình ảnh được phân chia thành hai loại: hình ảnh tĩnh (static image), hình ảnh động (dynamic image)
Hình ảnh được biểu diễn theo nhiều chiều, làm cho việc xử lý và biểu diễn chúng trở nên phức tạp hơn so với hình ảnh một chiều Xử lý hình ảnh liên quan đến việc thực hiện các phép toán trên tín hiệu số của hình ảnh, với khối lượng thông tin có thể lên đến vài trăm megabit Các thông số ảnh mang tính chất vectơ, do đó yêu cầu về dung lượng bộ nhớ phải phù hợp để xử lý nhanh chóng Để đạt được hiệu quả, cần áp dụng các phương pháp mã hóa giảm thiểu độ dư thừa thông tin và sử dụng các thuật toán xử lý nhanh Xử lý ảnh được chia thành bốn lĩnh vực chính: cải thiện và nâng cao chất lượng ảnh, phục hồi ảnh, mã hóa ảnh và hiểu ảnh, với mục tiêu cuối cùng là tối ưu hóa và nâng cao giá trị của hình ảnh.
- Xử lý ảnh ban đầu để có được ảnh mới theo yêu cầu xác định (ví dụ như ảnh mờ cần xửlý để ảnh rõ hơn).
Phân tích ảnh đóng vai trò quan trọng trong việc thu thập thông tin đặc trưng, hỗ trợ cho quá trình phân loại và nhận diện hình ảnh Một ví dụ điển hình là phân tích ảnh vân tay, nơi các đặc trưng của vân tay được trích xuất để phục vụ cho các ứng dụng nhận diện và xác thực.
Hiểu ảnh đầu vào không chỉ đơn thuần là nhận diện hình ảnh mà còn bao gồm việc phân tích và mô tả các yếu tố xung quanh, giúp người xem nắm bắt được ngữ cảnh và ý nghĩa sâu xa hơn Ví dụ, từ một bức ảnh về tai nạn giao thông, có thể phác họa hiện trường, xác định các yếu tố liên quan như vị trí, thời gian và tình huống xảy ra, từ đó tạo ra cái nhìn tổng quan và sâu sắc hơn về sự kiện.
QUÁ TRÌNH XỬ LÝ ẢNH
Các phương pháp xử lý ảnh chủ yếu bao gồm nâng cao chất lượng và phân tích ảnh Quá trình này liên quan đến việc thao tác trên ảnh đầu vào để đạt được kết quả mong muốn, có thể tạo ra ảnh mới từ ảnh gốc hoặc đưa ra kết luận theo yêu cầu của người xử lý.
Hình 1.3 Quá trình xử lý hình ảnh
Sơ đồ tổng quan của một hệ thống xử lý ảnh:
Hình 1.4 Các bước cở bản trong xử lý ảnh
( Ả nh, m ộ t lo ạ t ả nh, ho ặ c video)
H ệ th ố ng x ử lý ả nh K ế t qu ả
Thu nh ận ảnh (Image Acquisition) Ảnh có thể được thu nhận qua camera, từ vệ tinh qua các bộ cảm ứng hoặc qua các máy quét ảnh…
Ti ền xử lý (Image Processing)
Sau khi thu nhận, ảnh có thể gặp tình trạng nhiễu và độ tương phản thấp, vì vậy cần sử dụng bộ tiền xử lý để cải thiện chất lượng ảnh Bộ tiền xử lý có chức năng chính là lọc nhiễu và điều chỉnh độ tương phản của ảnh.
Phân đoạn ảnh (Image Segmentation)
Phân đoạn ảnh là một thao tác quan trọng trong xử lý ảnh, giúp chia ảnh thành các vùng rời rạc và đồng nhất Quá trình này xác định các biên của các vùng, thường tương ứng với các đối tượng thực trong ảnh Trong lĩnh vực xử lý ảnh và thị giác máy tính, phân đoạn ảnh đóng vai trò cơ bản và thường là bước tiền xử lý đầu tiên trước khi thực hiện các thao tác cao hơn như nhận dạng đối tượng, biểu diễn đối tượng, nén ảnh dựa trên đối tượng, và truy vấn ảnh dựa vào nội dung.
Trong những năm đầu, các phương pháp phân vùng ảnh chủ yếu chỉ áp dụng cho ảnh mức xám do hạn chế về công nghệ thu thập và lưu trữ Tuy nhiên, với sự phát triển của các công nghệ mới, ảnh màu đã thay thế hoàn toàn ảnh mức xám trong việc lưu trữ và biểu diễn thông tin nhờ những ưu điểm vượt trội Điều này đã thúc đẩy sự phát triển của các kỹ thuật và thuật giải phân vùng ảnh mới, đặc biệt là trên ảnh màu, nhằm đáp ứng nhu cầu ngày càng cao Các thuật giải và kỹ thuật mới này thường được xây dựng dựa trên nền tảng của các phương pháp phân vùng ảnh mức xám đã có.
Phân đoạn ảnh là quá trình chia ảnh thành các vùng không trùng lặp, mỗi vùng bao gồm một nhóm pixel liên thông và đồng nhất theo các tiêu chí cụ thể, như màu sắc, mức xám, kết cấu hoặc độ sâu của các lớp Sau khi hoàn thành, mỗi pixel chỉ thuộc về một vùng duy nhất Đánh giá chất lượng phân đoạn ảnh là một thách thức, do đó, việc xác định rõ mục tiêu trước khi tiến hành phân đoạn là rất quan trọng Tổng quát, có ba nhóm chính trong các phương pháp tiếp cận phân đoạn ảnh.
• Các kỹ thuật phân đoạn ảnh dựa trên không gian đặc trưng
• Các kỹ thuật dựa trên không gian ảnh
• Các kỹ thuật dựa trên các mô hình vật lý
Biểu diễn ảnh là quá trình chuyển đổi đầu ra từ phân đoạn ảnh thành các điểm ảnh và mã liên kết với các vùng lân cận, cần thiết cho xử lý tiếp theo bằng máy tính Việc trích chọn đặc trưng là lựa chọn các tính chất của ảnh, giúp tách biệt các đặc tính dưới dạng thông tin định lượng, từ đó phân biệt các lớp đối tượng khác nhau trong ảnh.
Nh ận dạng và nội suy ảnh (Image Recognition and Interpretation)
Nhận dạng ảnh là quá trình xác định và phân tích hình ảnh bằng cách so sánh với các mẫu chuẩn đã được lưu trữ Quá trình này giúp rút ra những phán đoán có ý nghĩa dựa trên thông tin đã nhận diện.
Có hai loại nhận dạng ảnh cơ bản:
• Nhận dạng theo tham số
• Nhận dạng theo cấu trúc
Một số nhận dạng phổ biển như: nhận dạng văn bản, nhận dạng vân tay, nhận dạng khuôn mặt, …
Cơ sở tri thức trong xử lý ảnh đóng vai trò quan trọng do ảnh là một đối tượng phức tạp liên quan đến đường nét, độ sáng và dung lượng Môi trường thu ảnh đa dạng có thể dẫn đến nhiễu, do đó, các quy trình xử lý cần được thực hiện dưới sự giám sát và dựa trên kiến thức chuyên sâu về lĩnh vực này.
M Ộ T S Ố Ứ NG D Ụ NG C Ủ A X Ử LÝ Ả NH
Xử lý ảnh hiện nay có nhiều ứng dụng thực tiễn trong các lĩnh vực như điện tử gia đình, thiên văn học, sinh vật học, vật lý, nông nghiệp và địa lý Khả năng nhìn và nghe là hai phương tiện quan trọng giúp con người nhận thức thế giới, nên xử lý ảnh số trở nên phổ biến không chỉ trong khoa học kỹ thuật mà còn trong nhiều hoạt động khác Ảnh gamma được sử dụng rộng rãi trong y học hạt nhân và thiên văn học, nơi bệnh nhân được tiêm đồng vị phóng xạ phát ra tia gamma Một máy dò tia gamma bên ngoài thu nhận các tia này để tạo ra ảnh gamma, tương tự như kỹ thuật chụp CT nhưng sử dụng đồng vị phóng xạ thay vì tia X Khi positron phát ra từ đồng vị phóng xạ gặp electron, chúng sẽ phân hủy và phát ra hai tia gamma, được hấp thụ bởi bộ dò tìm để tạo ra ảnh 3D của bệnh nhân như trong chụp cắt lớp CT.
Kỹ thuật chụp X-quang sử dụng ống phóng tia X với cathode và anode Khi cathode được nung nóng, nó phóng ra electron tự do, di chuyển nhanh chóng về phía anode Khi electron va chạm với nguyên tử, năng lượng được giải phóng dưới dạng bức xạ tia X.
Kỹ thuật chụp CT sử dụng một máy dò xung quanh đối tượng và một nguồn tia X phát ra tia xuyên qua đối tượng Khi máy quay quanh đối tượng, các tia X được thu lại ở đầu bên kia, cho phép máy vẽ các lớp của đối tượng khi nó di chuyển theo phương vuông góc với mặt phẳng của khung Những lớp này sau đó được kết hợp để tạo ra hình ảnh không gian ba chiều của đối tượng, bao gồm cả ảnh trong dải nhìn thấy được và ảnh hồng ngoại.
Ảnh vệ tinh được sử dụng để xác định độ nóng của các vùng khí quyển thông qua việc chụp trong vùng tia hồng ngoại Những hình ảnh này sau đó được chuyển đổi thành ảnh nhìn thấy được bằng mắt thường, với chất lượng được nâng cao và phối màu để thể hiện các nhiệt độ khác nhau Trong các ảnh đã được cải thiện, màu đỏ thường biểu thị nhiệt độ cao, trong khi màu tím biểu thị nhiệt độ thấp.
Chương này giới thiệu các khái niệm cơ bản về ảnh số và quy trình xử lý ảnh, đồng thời nêu bật những ứng dụng thiết thực của xử lý ảnh trong đời sống hiện đại.
TỔ NG QUAN H Ệ TH Ố NG NH Ậ N D Ạ NG BI Ể N S Ố XE 13 2.1 GIỚI THIỆU HỆ THỐNG NHẬN DẠNG BIỂN SỐ XE CƠ BẢN
Chuyển ảnh sang ảnh mức xám
Mức xám (gray-level) là kết quả của việc mã hóa cường độ sáng của từng điểm ảnh thành giá trị số trong quá trình lượng hóa Nó thể hiện số lượng giá trị có thể có của các điểm ảnh trong ảnh Mỗi điểm ảnh có hai đặc trưng chính: vị trí (x,y) và độ xám của nó.
Vì vậy, khi thu nhận ảnh, ta chuyển ảnh về ảnh mức xám theo công thức:
Trích vùng biển số xe
Tách các ký tự trên biển số xe
Xử lý và đưa ra kết quả
M ức xám đồ c ủ a ả nh
Mức xám đồ của một ảnh xám là biểu đồ thể hiện tần suất xuất hiện của các mức xám, với mỗi mức xám được xem như một hàm rời rạc Biểu đồ này được vẽ trên hệ tọa độ (x,y), trong đó trục hoành thể hiện các mức xám từ 0 đến 255, còn trục tung biểu diễn số lượng điểm ảnh tương ứng với từng mức xám trên trục hoành.
Mối quan hệ giữa số điểm ảnh và mức xám được biểu diễn bằng công thức y = f(x) = số điểm ảnh có cùng mức xám x Khi hàm được chuẩn hóa với tổng các mức xám bằng 1, nó được coi là một hàm mật độ Giá trị mức xám được xác định trong ảnh là một giá trị ngẫu nhiên, với tổng số mức xám là 256.
Mức xám đồ cung cấp thông tin quan trọng về mức xám của ảnh, đóng vai trò là công cụ hữu ích trong nhiều giai đoạn của quá trình xử lý ảnh.
*Sửa đổi mức xám đồ
Mức xám của một ảnh càng rộng sẽ mang lại chất lượng hình ảnh tốt hơn Nếu x là giá trị mức xám của ảnh gốc và s là giá trị mức xám của ảnh mới, thì mối quan hệ giữa chúng được thể hiện qua hàm biến đổi mức xám T, với công thức s = T(x).
Một số biện pháp tăng cường ảnh bằng biến đổi mức xám đồ
*San bằng mức xám đồ:
Hàm p(x) đại diện cho hàm mức xám đồ kiểu tỷ lệ, trong khi LTHĐ là phép lượng tử hóa đều giá trị của f(u) sang các giá trị mức xám từ 0 đến L-1 Để thực hiện LTHĐ, có thể sử dụng hàm lấy mẫu phần nguyên Int.
*Biến đổi phi tuyến mức xám:
Trước khi thực hiện LTHĐ người ta sử dụng phi tuyến hàm f(u) biến đổi mức xám u Có thể có các dạng hàm f(u) như sau:
1 n nguyê sè là n và 0 u víi f(u) = u 1 / n ≥ >
M ộ t s ố phương pháp tách ký tự trong vùng ch ứ a bi ể n s ố
Hiện nay, có nhiều thuật toán hiệu quả cho việc tách ký tự trên biển số, bao gồm phương pháp chiếu đếm số điểm ảnh theo chiều ngang và dọc để xác định điểm tách, cũng như các thuật toán xác định thành phần liên thông của từng ký tự trong ảnh đã được phân ngưỡng nhị phân Các phương pháp thực hiện bao gồm tách tĩnh, lượng hóa vecto, lược đồ chiếu ngang và dọc, mạng nơron, trí tuệ nhân tạo và hình thái học.
Phương pháp nhận dạng ký tự
Hiện nay, có nhiều phương pháp để giải quyết bài toán nhận dạng ký tự, trong đó, việc sử dụng mạng nơron để huấn luyện máy tính nhận dạng các ký tự đang trở thành xu hướng phổ biến Phương pháp này bao gồm nhiều bước quan trọng nhằm cải thiện độ chính xác và hiệu quả trong quá trình nhận dạng.
- Quan sát chọn ra các đặc tính phân biệt ký tự để xây dựng ma trận đặc tính
- Xây dựng cây nhị phân tối ưu từ ma trận đặc tính và tập ký tựthu được từbước tách ký tự
Quan sát cây nhị phân để xác định xem số lượng đặc tính hiện có đã đủ để nhận dạng hay chưa Nếu thiếu, cần bổ sung thêm các đặc tính cần thiết; ngược lại, nếu thừa, thì loại bỏ bớt và quay lại bước đầu tiên để tiếp tục quá trình.
Tiến hành nhận dạng ký tự dựa trên cây nhị phân tối ưu đã tìm được Qua các bước của thuật toán, chúng ta áp dụng các đặc tính để phân biệt giữa ký tự chữ số và ký tự chữ cái.
- Đối với chữ số: số điểm cắt dọc ẵ trục dọc, trục ngang, số lỗ trũn, vị trí lỗ tròn
Đối với chữ cái, cần chú ý đến số lỗ tròn, cách mở hoặc đóng ở trên và dưới, cũng như các trục dọc và ngang Ngoài ra, cần xác định số điểm cắt dọc và số điểm cắt ngang để đảm bảo tính chính xác trong việc thiết kế và trình bày chữ cái.
XÂY DỰNG HỆ THỐNG NHẬN DẠNG BIỂN SỐ XE SỬ DỤNG MỘT SỐ CẢI TIẾN KỸ THUẬT XỬ LÝ ẢNH
MỘT SỐ CẢI TIẾN KỸ THUẬT XỬ LÝ ẢNH
Sau khi thống kê mức xám trên ảnh ban đầu, chúng ta thu được một đồ thị với hai đỉnh: một đỉnh cho vùng văn bản và một đỉnh cho vùng nền Theo phương pháp Otsu, ngưỡng k* tối ưu được xác định tại điểm mà sự chênh lệch σ b 2 giữa hai đoạn trên đồ thị đạt giá trị cực đại Giá trị σ b 2 được định nghĩa như sau:
Công thức 2 a a ( m m ) b = − δ mô tả mối quan hệ giữa các giá trị trung bình m1 và m2 của đoạn 1 và đoạn 2 Tần suất xuất hiện của các giá trị này được biểu thị bằng a1 và a2 Tỷ lệ a j của diện tích đoạn j so với tổng diện tích được tính toán theo công thức trên.
C j i i j : tổng xác suất trên đoạn j
Trong đó p i là thương của số lần xuất hiện của mức xám thứ i và tổng số lần xuất hiện của tất cả các mức xám cho nên,
Với I biểu diễn tổng số những mức xám Thông thường, đối với ảnh văn bản, I có giá trị là 256 C 1 ( C 2 ) biểu diễn tập hợp tất cả những điểm có giá trị nhỏ hơn hoặc bằng (lớn hơn) ngưỡng k Chú ý rằng, giá trị trung bình m j được tính như sau:
C j i j i j i p a j m , 1 , 2 : mức xám trung bình trên đoạn j
Ngưỡng k* tốt nhất sẽ được xác định bằng cách tìm ra đỉnh của σ b 2
2.2.2 Thuật toán K-means trong xử lý ảnh
K-Means là thuật toán rất quan trọng và được sử dụng phổ biến trong kỹ thuật phân cụm Tư tưởng chính của thuật toán K-Means là tìm cách phân nhóm các đối tượng (objects) đã cho vào K cụm (K là số các cụm được xác đinh trước, K nguyên dương) sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâm nhóm (centroid) là nhỏ nhất Thuật toán K-Means trong xử lý ảnh là một thuật toán dùng để phân ngưỡng động trong xử lý ảnh
Hình 2.2 Phân cụm ảnh khi sử dụng thuật toán K-Means
- Thuật toán K-means gồm các bước sau:
B 1 Chọn ngẫu nhiên K tâm (centroid) cho K cụm (cluster) Mỗi cụm được đại diện bằng các tâm của cụm
B2 Tính khoảng cách giữa các đối tượng (objects) đến K tâm (thường dùng khoảng cách Euclidean)
B 3 Nhóm các đối tượng vào nhóm gần nhất
B4 Xác định lại tâm mới cho các nhóm
B5 Thực hiện lại bước 2 cho đến khi không có sự thay đổi nhóm nào của các đối tượng
Hình 2.3 Các bước của thuật toán K-Means
Khoảng cách các đối tượng đến các trọng
Nhóm các đối tượng vào các cụm
Không có đối tượng chuyển nhóm
2.2.3 Kỹ thuật lọc trung vị
Lọc trung vị (Median) là một kỹ thuật lọc phi tuyến hiệu quả trong việc xử lý ảnh, đặc biệt đối với hai loại nhiễu phổ biến là nhiễu đốm (speckle noise) và nhiễu muối tiêu (salt-pepper noise) Kỹ thuật này thường được áp dụng trong nhiều quy trình xử lý ảnh để cải thiện chất lượng hình ảnh.
Phương pháp lọc trung vị nhằm loại bỏ nhiễu trong ảnh mà vẫn đảm bảo độ phân giải Tuy nhiên, hiệu quả của phương pháp này sẽ giảm khi số điểm nhiễu chiếm từ một nửa số điểm ảnh trở lên Thuật toán hoạt động bằng cách sử dụng một cửa sổ lọc 3x3 quét qua từng điểm ảnh của ảnh gốc Tại mỗi vị trí, giá trị của các điểm ảnh trong vùng 3x3 sẽ được đưa vào ma trận lọc, sau đó sắp xếp các giá trị này theo thứ tự Cuối cùng, giá trị trung vị của dãy điểm ảnh đã sắp xếp sẽ được gán cho điểm ảnh tương ứng trong ảnh đầu ra.
Hình 2.4 Thuật toán lọc trung vị
Phần tử trung vị trước sắp xếp
Phần tử trung vị sau sắp xếp
Trong phương pháp này, điểm ảnh trung tâm được thay thế bằng trung vị của các mức xám của các điểm ảnh lân cận, thay vì sử dụng giá trị trung bình.
Trung vị m của một chuỗi các giá trị là một giá trị sao cho một nửa các giá trị trong chuỗi nhỏhơn m và một nửa lớn hơn m
Sơ lược một cách ngắn gọn các bước của giải thuật:
B1: Quét cửa sổ lọc lên các thành phần của ảnh gốc; điền các giá trị được quét vào cửa sổ lọc
B2: Lấy các thành phần trong cửa sổ lọc để xử lý
B 3 : Sắp xếp theo thứ tự các thành phần trong cửa sổ lọc
B 4 : Lưu lại thành phần trung vị, gán cho ảnh đầu ra
2.2.4 Loại bỏ các vùng không mong muốn
Trong ảnh nhị phân của biển số xe, có nhiều vùng không chứa ký tự thực sự Chúng tôi đã phát triển một giải thuật nhằm loại bỏ những vùng không mong muốn này, từ đó nâng cao hiệu suất của hệ thống.
Bước 1: Loại bỏ các vùng liên thông với biên của ảnh, vì ký tự của biển số xe không nằm trên vùng liên thông với biên
Để đảm bảo khả năng nhận diện ký tự, cần loại bỏ các vùng có kích thước nhỏ hơn 15 pixels Kết quả thực nghiệm cho thấy rằng kích thước tối thiểu 15 pixels là điều kiện cần thiết để ký tự có thể được nhận dạng chính xác.
Bước 3: Loại bỏ các vùng chứa đường thẳng mỏng 1 pixel có độ dài hơn
20 pixels Nếu độ dày của ký tự là 1 pixel thì ký tự này rất nhỏ nên các đường thẳng của các ký tự không thể dài hơn 20 pixels
Bước 4: Tương tự, loại bỏ các vùng có chứa đường thẳng mỏng 2 pixels có độ dài lớn hơn 35 pixels
Bước 5: Loại bỏ các vùng có số lượng pixel quá lớn, được xác định khi số lượng pixel của vùng đó gấp 4 lần số lượng pixel của một ký tự bất kỳ trong biển số.
Để loại bỏ nhiễu trong biển số đã tách, chúng ta sử dụng bộ lọc BlogsFiltering với các thông số cụ thể: blobsFilter.MinHeight = 25, blobsFilter.MinWidth = 10 và blobsFilter.MaxHeight = 100.
TỔNG QUAN VỀ MẠNG NƠRON
Mạng nơron nhân tạo (Artificial Neural Networks - ANN) là một mô hình đơn giản mô phỏng nơron sinh học Mỗi nơron nhân tạo thực hiện hai chức năng chính: tổng hợp thông tin đầu vào và tạo ra đầu ra.
Mạng nơron nhân tạo là một mô phỏng của hệ thống thần kinh sinh vật, tương tự như bộ não trong việc xử lý thông tin Nó bao gồm nhiều mối liên kết phức tạp để giải quyết vấn đề một cách hiệu quả Giống như con người, mạng nơron nhân tạo học hỏi từ kinh nghiệm, lưu trữ kiến thức và áp dụng vào các tình huống thích hợp.
Hình 2.5 Mô hình toán học tổng quát của mạng Nơron nhân tạo
Nơron này sẽ hoạt động như sau:
Giả sử có N đầu vào (Input), mỗi nơron sẽ tương ứng với N trọng số (weight) cho các đường truyền vào Nơron thực hiện phép tính tổng trọng số của tất cả đầu vào, nghĩa là nó sẽ nhân đầu vào thứ nhất với trọng số thứ nhất, đầu vào thứ hai với trọng số thứ hai, và tiếp tục như vậy để lấy tổng của tất cả các kết quả Đường truyền có trọng số lớn hơn sẽ truyền tín hiệu mạnh hơn, cho thấy rằng trọng số có thể được xem như là đại lượng tương đương với synapse trong nơron sinh học Kết quả tổng hợp của nơron có thể được biểu diễn như sau:
Kết quả sẽ được so sánh với ngưỡng t của nơron; nếu lớn hơn t, nơron sẽ cho đầu ra là 1, ngược lại nếu nhỏ hơn, đầu ra sẽ là 0 Ngoài ra, ta cũng có thể trừ tổng đó cho t và so sánh với 0; nếu kết quả dương, đầu ra là 1, còn nếu âm, đầu ra là 0 Dưới dạng toán học, đầu ra của nơron có thể được biểu diễn như sau:
)− 𝑡) Trong đó f là hàm Heaviside:
Hình 2.6 Hàm Heaviside f được gọi là threshold function hay transfer function của nơron, còn giá trị (-t) còn được gọi là bias hay offset của nơron
Khi thêm một đầu vào thứ 0 với giá trị cố định là 1 và trọng số tương ứng là bias (-t), đầu ra của nơron có thể được biểu diễn theo cách khác.
Chỉ số tổng hiện tại bắt đầu từ 0 thay vì 1 như trước Để sử dụng mạng nơron hiệu quả, điều quan trọng là phải hiểu mối liên hệ giữa đầu vào và đầu ra, vì mối quan hệ này là yếu tố thiết yếu và không thể thiếu.
Mạng nơron không cho phép ta biết chính xác mối liên hệ tự nhiên giữa đầu vào và đầu ra, và nếu biết, ta có thể xây dựng mô hình trực tiếp Một trong những tính năng nổi bật của mạng nơron là khả năng học hỏi mối liên hệ này thông qua quá trình huấn luyện Có hai phương pháp huấn luyện chính là huấn luyện có giám sát và huấn luyện không có giám sát, trong đó huấn luyện có giám sát thường được ưa chuộng hơn cho các loại mạng khác nhau.
Trong học có giám sát, người sử dụng mạng cần một tập dữ liệu huấn luyện gồm các đầu vào và đầu ra tương ứng Tập dữ liệu này thường được thu thập trước đó Mạng nơron được huấn luyện bằng các thuật toán giám sát như backpropagation, nhằm điều chỉnh trọng số và ngưỡng để giảm thiểu sai số dự báo trên tập huấn luyện Khi mạng được huấn luyện đúng cách, nó sẽ học cách mô phỏng một hàm chưa biết giữa đầu ra và đầu vào, cho phép dự đoán đầu ra tương ứng khi nhận tín hiệu đầu vào mới.
2.3.2 Một vài ứng dụng của mạng Nơron nhân tạo
Mạng nơron đã được ứng dụng rộng rãi trong nhiều ngành nghề khác nhau để giải quyết các vấn đề đa dạng Các vấn đề này không chỉ đã được giải quyết mà còn đang được nghiên cứu sâu hơn thông qua việc sử dụng mạng nơron.
- Aerospace: Phi công tự động, giả lập đường bay, các hệ thống điều khiển lái máy bay, bộ phát hiện lỗi
- Automotive: Các hệ thống dẫn đường tự động cho ô tô, các bộ phân tích hoạt động của xe
- Banking: Bộ đọc séc và các tài liệu, tính tiền của thẻ tín dụng
- Defense: Định vị - phát hiện vũ khí, dò mục tiêu, phát hiện đối tượng, nhận dạng nét mặt, các bộ cảm biến thế hệ mới, xử lý ảnh radar,
- Electronics: Dự đoán mã tuần tự, sơ đồ chip IC, điều khiển tiến trình, phân tích nguyên nhân hỏng chip, nhận dạng tiếng nói, mô hình phi tuyến
- Entertainment: Hoạt hình, các hiệu ứng đặc biệt, dự báo thịtrường
Định giá bất động sản và cho vay là những yếu tố quan trọng trong lĩnh vực tài chính, bao gồm việc kiểm tra tài sản cầm cố và đánh giá mức độ hợp tác Ngoài ra, phân tích đường tín dụng và chương trình thương mại qua giấy tờ cũng đóng vai trò quan trọng trong việc quản lý rủi ro Để tối ưu hóa hiệu quả đầu tư, phân tích tài chính liên doanh và dự báo tỷ giá tiền tệ cần được thực hiện một cách chính xác và kịp thời.
- Insurance: Đánh giá việc áp dụng chính sách, tối ưu hóa sản phẩm.
MÔ HÌNH M ẠNG NƠRON VÀ CÁCH THIẾ T L Ậ P M Ạ NG M Ạ NG NƠRON NHÂN TẠO
2.4.1 Mô hình một Nơron nhân tạo
Mỗi Nơron (nút) là một đơn vị xử lý thông tin của mạng nơron Mỗi nút là yếu tốcơ bản để cấu tạo nên mạng nơron
Nơron một đầu vào bao gồm tín hiệu đầu vào x, trọng số w, hàm hoạt động f, đầu ra a và thông số b ảnh hưởng đến ngưỡng đầu ra Đầu ra của nơron được tính theo công thức a = f(wx + b).
Hình 2.8 Nơron có nhiều đầu vào
W = [w(1,1) w(1,2) … w(1,R)]: trọng số hay cường độ f : hàm truyền hoạt động a = f(W*X + b) : đầu ra mạng nơron R: sốlượng đầu vào của nơron
Mô hình mạng nơron một lớp là cấu trúc đơn giản nhất, chỉ bao gồm một lớp đầu ra mà không có lớp ẩn Trong ma trận W, chỉ số hàng thể hiện nơron đích kết hợp với trọng số, trong khi chỉ số cột chỉ ra đầu vào cho trọng số đó Cụ thể, chỉ số W1,2 cho biết đây là trọng số của đầu vào thứ nhất nối với nơron thứ hai.
M ạng Nơron truyền thằng đa tầng
Mô hình mạng nơron 3 lớp bao gồm lớp nhập, lớp ẩn và lớp đầu ra Mỗi nút trong lớp nhập tiếp nhận giá trị của một biến độc lập và truyền tải thông tin vào mạng.
Dữ liệu từ tất cả các nút trong lớp nhập được tổng hợp thành tổng trọng số và chuyển đến các nút trong lớp ẩn Lớp này được gọi là "ẩn" vì các nút chỉ kết nối với lớp nhập và lớp xuất, và chỉ có người thiết kế mạng mới biết đến lớp này, trong khi người sử dụng không hề hay biết.
Các nút trong lớp xuất nhận tín hiệu tổng hợp từ các nút trong lớp ẩn, với mỗi nút trong lớp xuất đại diện cho một biến phụ thuộc cụ thể.
2.4.2 Cách thức huấn luyện mạng nơron
Mạng nơron nhân tạo mô phỏng cách bộ não con người xử lý thông tin, với khả năng học hỏi và tái tạo hình ảnh, dữ liệu đã học Trong quá trình học, thông tin được truyền đi hai chiều nhiều lần để tối ưu hóa trọng số Có ba kiểu học chính: học có giám sát, học không giám sát và học tăng cường, mỗi loại tương ứng với một nhiệm vụ học tập cụ thể Hầu hết các kiến trúc mạng đều có thể áp dụng những phương pháp học này.
Học có giám sát là một phần thiết yếu trong phương pháp học máy, trong đó một người quản lý có kiến thức về môi trường sẽ giám sát quá trình Người này sử dụng một tập hợp các cặp đầu vào - đầu ra đã biết để hướng dẫn hệ thống học, cụ thể là mạng nơron, điều chỉnh các tham số bên trong như trọng số và ngưỡng Mục tiêu là tạo ra một ánh xạ chính xác từ đầu vào đến đầu ra mong muốn, thông qua việc so sánh giữa đầu ra thực tế và đầu ra kỳ vọng.
Học không giám sát là quá trình tối ưu hóa hàm chi phí dựa trên dữ liệu x mà không cần nhãn, với f là hàm chi phí phụ thuộc vào bài toán cụ thể Phần lớn ứng dụng của học không giám sát nằm trong các lĩnh vực như mô hình hóa thống kê, nén dữ liệu, lọc thông tin và phân cụm.
Học tăng cường là phương pháp mà dữ liệu không được tạo ra trước mà phát sinh trong quá trình agent tương tác với môi trường Tại mỗi thời điểm t, agent thực hiện hành động yt và nhận quan sát xt cùng với chi phí tức thời Ct, theo một quy trình động không xác định Mục tiêu của học tăng cường là phát triển một sách lược lựa chọn hành động nhằm tối thiểu hóa chi phí dài hạn, tức là chi phí tích lũy mong đợi Mặc dù quy trình hoạt động của môi trường và chi phí dài hạn cho mỗi sách lược thường không được biết, nhưng chúng có thể được ước lượng Mạng nơron nhân tạo thường được sử dụng trong học tăng cường như một phần của thuật toán toàn cục, và các bài toán thường giải quyết bằng học tăng cường bao gồm điều khiển, trò chơi và các nhiệm vụ quyết định tuần tự khác.
Có nhiều thuật toán huấn luyện mô hình nơron, chủ yếu dựa trên lý thuyết tối ưu hóa và ước lượng thống kê Hầu hết các thuật toán này sử dụng phương pháp xuống dốc (gradient descent) để tìm cực tiểu địa phương của hàm chi phí Quá trình này bao gồm việc tính đạo hàm của hàm chi phí theo các tham số của mạng và điều chỉnh các tham số đó theo hướng được xác định bởi độ dốc.
Các phương pháp phổ biến trong huấn luyện mạng nơron bao gồm phương pháp tiến hóa, giải thuật luyện kim (simulated annealing), cực đại hóa kỳ vọng (expectation maximization) và các phương pháp không tham số (non-parametric methods).
CƠ SỞ LÝ THUY Ế T VÀ GI Ả I THU Ậ T M Ạ NG LAN TRUY Ề N NGƯỢC
2.5.1 Thuật toán mạng lan truyền ngược Đây là phương pháp thông dụng nhất để huấn luyện cho các mạng nơron truyền thẳng nhiều lớp Ta có thể áp dụng cho các mạng truyền thẳng với các hàm chuyển và các hàm lỗi khả vi
Tiêu chuẩn huấn luyện: Làm cho sai số đầu ra càng nhỏ càng tốt
Phương pháp huấn luyện mạng nơron nhiều lớp dựa trên việc điều chỉnh trọng số của lớp ra theo đầu ra, sau đó điều chỉnh trọng số của lớp ẩn dựa trên tính toán từ lớp ra Quá trình này sử dụng thuật toán Lan truyền ngược, bao gồm hai giai đoạn: truyền tuyến tính và truyền ngược Trong giai đoạn truyền tuyến tính, dữ liệu được đưa từ lớp nhập qua lớp ẩn đến lớp xuất để thực hiện các tính toán cần thiết.
Thay đổi giá trị của trọng số liên kết W của các nơron trong mạng biểu diễn được dữ liệu học
Tìm ra sự khác nhau giữa giá trị thật hàm mẫu mà mạng tính được và kết quả dự đoán của mạng gọi là lỗi (học có giám sát)
Quá trình truyền ngược: Giá trị lỗi sẽ được truyền ngược lại sao cho quá trình huyến luyện sẽ tìm ra trọng số Wi để lỗi nhỏ nhất
2.5.2 Những hạn chếvà ưu điểm của phương pháp lan truyền ngược
Mặc dù giải thuật học lan truyền ngược đã đạt được nhiều thành công, nhưng vẫn tồn tại một số hạn chế đáng chú ý Một trong những vấn đề chính là thời gian huấn luyện kéo dài, thường do nhịp độ học và động lực không được tối ưu Hơn nữa, sai sót trong quá trình huấn luyện thường phát sinh từ hai nguồn chính: mạng liệt và các cực tiểu địa phương.
Mạng liệt xảy ra khi trọng số được điều chỉnh đến giá trị rất lớn, dẫn đến tổng đầu vào của đơn vị ẩn hoặc đầu ra đạt giá trị cực cao Khi đi qua hàm kích hoạt sigmoid, đơn vị này sẽ có giá trị kích hoạt gần 0 hoặc gần 1 Kết quả là, giá trị hiệu chỉnh trọng số gần 0, khiến quá trình huấn luyện rơi vào trạng thái dừng ảo.
Cực tiểu địa phương trong mạng có bề mặt sai số phức tạp, với nhiều đồi và thung lũng, khiến mạng dễ mắc bẫy tại những cực tiểu thấp hơn gần đó Mặc dù các phương pháp thống kê có thể giúp tránh tình trạng này, nhưng chúng lại làm chậm quá trình Một giải pháp khác là tăng số lượng đơn vị ẩn, giúp làm việc trong không gian sai số nhiều chiều và giảm khả năng mắc bẫy Tuy nhiên, việc tăng số lượng này có giới hạn; nếu vượt qua giới hạn đó, khả năng mắc bẫy sẽ gia tăng trở lại.
Các nơron ở các lớp giữa có khả năng giúp mạng học các tác vụ phức tạp bằng cách dần dần trích xuất những đặc trưng quan trọng từ các mẫu vector đầu vào Hơn nữa, mạng cũng thể hiện mức độ liên thông cao giữa các thành phần.
Thuật toán này có thể gặp phải vấn đề cực tiểu cục bộ, như đã đề cập trong nguyên tắc hoạt động Ngoài ra, trong không gian mô phỏng, perceptron nhiều lớp thường không suy ra đúng dữ liệu huấn luyện, dẫn đến kết quả không chính xác.
2.5.3 Sử dụng thuật toán lan truyền ngược
Thuật toán lan truyền ngược cơ bản sẽ được áp dụng để khám phá các khía cạnh quan trọng như lựa chọn cấu trúc mạng, sự hội tụ và khả năng tổng quát hóa.
Khi chọn lựa cấu trúc mạng, thuật toán lan truyền ngược có khả năng xấp xỉ bất kỳ hàm số học nào nếu có đủ số nơron trong các lớp ẩn Tuy nhiên, điều này không cung cấp thông tin cụ thể về số lượng lớp và số nơron cần thiết trong mỗi lớp.
Sự hội tụ trong mạng nơron có thể không đạt được kết quả chính xác mặc dù thuật toán lan truyền ngược đã tối thiểu hóa trung bình bình phương lỗi Điều này thường xảy ra do giới hạn của mạng bởi số lượng nơron trong lớp ẩn Thậm chí, có những trường hợp mà thuật toán không cung cấp các tham số chính xác, nhưng mạng vẫn có thể xấp xỉ hàm số Nguyên nhân là do trạng thái khởi đầu của mạng; sau quá trình huấn luyện, mạng có thể rơi vào điểm cực tiểu toàn cục hoặc điểm cực tiểu địa phương.
Trong thuật toán trung bình bình phương tối thiểu, điểm cực trị toàn cục luôn tồn tại do hàm trung bình bình phương lỗi là một hàm bậc hai, với đạo hàm bậc hai là hằng số, dẫn đến độ cong không thay đổi theo một hướng nhất định Ngược lại, thuật toán lan truyền ngược cho các mạng nhiều lớp sử dụng hàm chuyển phi tuyến có thể gặp nhiều điểm cực trị địa phương, và độ cong của hàm lỗi không cố định theo một hướng cụ thể.
Sự tổng quát hóa là một khía cạnh quan trọng trong việc luyện mạng nơron truyền thẳng nhiều lớp, trong đó mạng thường được huấn luyện bằng một số lượng mẫu cố định để đảm bảo hoạt động chính xác.
Trong một bài toán học máy, tập huấn luyện thường bao gồm các cặp đầu vào và đầu ra mong muốn, được ký hiệu là {(p1, t1), (p2, t2), , (pQ, tQ)} Một yếu tố quan trọng là khả năng tổng quát hóa của mạng nơron, cho phép nó hoạt động hiệu quả ngay cả khi dữ liệu có nhiễu Để đạt được khả năng tổng quát hóa tốt, mạng cần có số tham số ít hơn số lượng dữ liệu trong tập huấn luyện Do đó, trong quá trình mô hình hóa, mục tiêu là sử dụng một mạng đơn giản nhất có thể nhưng vẫn đảm bảo kết quả tốt trên tập huấn luyện.
Một phương pháp hiệu quả để ngăn chặn tình trạng thừa ăn khớp trong mạng nơ-ron là dừng quá trình huấn luyện trước khi xảy ra hiện tượng này Kỹ thuật này bao gồm việc chia dữ liệu thành ba tập: tập huấn luyện để tính toán gradient và cập nhật trọng số, tập kiểm định để xác định điều kiện dừng, và tập kiểm tra nhằm so sánh khả năng tổng quát hóa của mạng với các tham số sau mỗi lần huấn luyện.
2.5.4 Một số biến thể của thuật toán lan truyền ngược
Thuật toán lan truyền ngược với kỹ thuật giảm theo hướng có nhược điểm là dễ rơi vào điểm cực tiểu địa phương, đặc biệt trong mạng nơron truyền thẳng nhiều lớp sử dụng hàm chuyển phi tuyến Việc cập nhật tham số sau khi đưa từng mẫu vào mạng cũng ảnh hưởng đến quá trình học của các mẫu khác Để cải thiện tốc độ hội tụ, phương pháp học cả gói (batch training) được đề xuất, cho phép tất cả các mẫu được đưa vào mạng trước khi thực hiện cập nhật tham số Bài viết này sẽ xem xét một số biến thể của thuật toán lan truyền ngược áp dụng phương pháp học cả gói nhằm khắc phục những nhược điểm nêu trên.
MỘT SỐ VẤN ĐỀ QUÁ KHỚP VÀ HƯỚNG GIẢI QUYẾT
Khi mạng nơ-ron được huấn luyện quá sát với dữ liệu huấn luyện, nó sẽ chỉ trả lời chính xác những thông tin đã được học, trong khi những thông tin không nằm trong dữ liệu huấn luyện sẽ bị bỏ qua Hệ quả là mạng nơ-ron không phát triển khả năng tổng quát hóa, dẫn đến hiệu suất kém khi đối mặt với dữ liệu mới.
Về mặt toán học, một giả thuyết (mô hình) h được gọi là quá khớp nếu tồn tại giả thuyết h' sao cho:
Gi ải quyết quá khớp:
Vấn đề quá khớp xảy ra vì mạng có năng lực quá lớn Có 3 cách để hạn chế bớt năng lực của mạng:
– Hạn chế số nút ẩn
– Ngăn không cho mạng sử dụng các trọng số lớn
Khi mạng được luyện, nó chuyển từ các hàm ánh xạ đơn giản đến phức tạp, đạt được cấu hình tổng quát hóa tốt nhất tại một thời điểm nhất định Sau thời điểm này, mạng bắt đầu học để mô hình hóa nhiễu, dẫn đến hiện tượng quá khớp Nếu phát hiện được thời điểm mạng đạt trạng thái tốt nhất, chúng ta có thể ngừng quá trình luyện để tránh quá khớp.
Để đánh giá mức độ tổng quát hóa của mạng, chúng ta cần kiểm tra mạng trên các mẫu chưa được học Quy trình thực hiện bao gồm việc chia mẫu thành tập huấn luyện và tập kiểm tra Sau khi luyện mạng với tập huấn luyện, chúng ta định kỳ dừng lại để đánh giá sai số trên tập kiểm tra Khi phát hiện sai số trên tập kiểm tra tăng lên, điều này cho thấy quá trình quá khớp đã bắt đầu, và chúng ta cần dừng luyện mạng.
Nếu sai số kiểm tra không tăng, điều này cho thấy mạng thiếu số nút ẩn cần thiết để quá khớp Khi đó, mạng không thể hoạt động hiệu quả nhất Vì vậy, nếu không xảy ra hiện tượng quá khớp, chúng ta cần khởi động lại và sử dụng nhiều nút ẩn hơn.
Hình 2.10 Mạng quá khớp với mẫu huấn luyện
Hình 2.11 Mạng được dừng huấn luyện đúng lúc
Việc thiết kế một mạng nơron khi các biến đầu vào đã được chọn gồm các bước sau:
B1: Chọn cấu hình ban đầu, thường một lớp ẩn có số nơron ẩn bằng nửa tổng sốnơronđầu vào và đầu ra
Để đảm bảo tính chính xác trong các thí nghiệm, cần thực hiện lặp đi lặp lại số lượng thí nghiệm cho mỗi cấu hình mạng, đồng thời giữ lại mạng có hiệu suất tốt nhất dựa trên sai số xác minh Việc tiến hành nhiều lần thí nghiệm trên mỗi cấu hình sẽ giúp tránh hiện tượng rơi vào sai số cục bộ.
Trong quá trình thí nghiệm, nếu mạng không đạt hiệu suất chấp nhận do việc học chưa đủ, hãy thử tăng số lượng nơron trong lớp ẩn Nếu vẫn không đạt được kết quả mong muốn, cần xem xét việc thêm một lớp ẩn mới để cải thiện hiệu suất của mạng.
B4: Nếu xảy ra học quá mức, tức là sai số xác minh bắt đầu tăng thì ta thử bỏ bớt vài nơron ẩn hoặc có thể bỏ lớp ẩn
B5: Chọn phương pháp cải thiện tổng quát hóa để cải thiện mạng
Chương này giới thiệu hệ thống nhận diện biển số xe cơ bản, bao gồm các bước xử lý và phương pháp nhận dạng biển số Đồng thời, chương 2 cũng đề cập đến những cải tiến trong kỹ thuật xử lý ảnh để nâng cao hiệu suất của hệ thống nhận dạng Bên cạnh đó, chúng ta sẽ tìm hiểu tổng quan về mạng nơron nhân tạo, cách xây dựng mạng và giải quyết một số vấn đề khi áp dụng công nghệ này.
Ứ NG D Ụ NG M ẠNG NƠRON ĐỂ NH Ậ N D Ạ NG KÝ
MÔ HÌNH T Ổ NG QUÁT H Ệ TH Ố NG NH Ậ N D Ạ NG BI Ể N S Ố XE
3.2 Biển số sau khi tách 39
3.3 Biển số xe sau khi tách và chuyển sang ảnh mức xám 41 3.4 Biển số xe sau khi xử lý bằng thuật toán K-Means 41
3.5 Biển sốxe sau khi đảo màu 41
3.6 Biển số xe sau khi lọc Median 42
3.8 Một số kết quả tách ký tự 42
Số hiệu hình Tên hình Trang
3.9 Chuẩn hóa ký tự về kích cỡ 20x10 45 3.10 Sơ đồ mạng nơron nhận dạng ký tự chữ 46 3.11 Sơ đồ mạng nơron nhận dạng ký tự số 46
3.12 Giao diện chính của hệ thống 48
3.13 Hệ thống nhận ảnh đầu vào 48
3.14 Hệ thống xửlý và đưa ra kết quả nhận dạng biển số xe 49 3.15 Biển số xe bị vệt sơn mờ che một phần số 49 3.16 Biển số bị đinh ốc gây nhiễu trong quá trình nhận dạng 50 3.17 Nhận dạng diển sốxe được chụp vào ban đêm 50
1 Lý do chọn đề tài
Ngành công nghệ thông tin đang phát triển mạnh mẽ với sự gia tăng và đa dạng hóa các thiết bị tự động, hỗ trợ con người hiệu quả hơn Trong đó, nghiên cứu về thị giác máy đã ghi nhận nhiều ứng dụng thực tế, như nhận dạng biển số xe, dấu vân tay, mã vạch, và tương tác giữa người và máy Do đó, nghiên cứu thị giác máy đang trở thành xu hướng nổi bật trong thế giới số hiện nay.
Hệ thống nhận dạng biển số xe đã trải qua nhiều nghiên cứu với các phương pháp tiếp cận đa dạng, tập trung vào việc xây dựng mô hình thuật toán để giải quyết các bài toán nhỏ và tổng hợp thành bài toán lớn Trong đó, giai đoạn xử lý khử nhiễu được xem là bước quan trọng nhất, nhưng hiện tại vẫn chưa có phương án tối ưu Do đó, đề tài “Nghiên cứu nâng cao hiệu năng trong hệ thống nhận dạng biển số xe” được chọn nhằm cải thiện khả năng nhận dạng biển số trong các điều kiện hình ảnh có độ nhiễu cao, đặc biệt là trong điều kiện ánh sáng kém như ban đêm.
2 Mục tiêu và nhiệm vụ đề tài
2.1 Mục tiêu Đề tài nghiên cứu xây dựng hệ thống nhận dạng biển số xe hiệu quả và ổn định nhất
2.2 Nhiệm vụ Để đạt được các mục tiêu trên, đề tài tập trung vào các nhiệm vụ cụ thể như sau:
- Phân tích đặc điểm của bài toán xử lý ảnh để từ đó đề ra các giải pháp hợp lý trong việc xây dựng và triển khai hệ thống
- Tìm hiểu và ứng dụng xử lý ảnh trong thực tế với các thư viện hỗ trợ
- Phân tích và đánh giá kết quả đạt được khi thực hiện hệ thống đối với các bộ dữ liệu thử đơn giản
- Phân tích và đánh giá kết quả đạt được khi ảnh có nhiều đối tượng nhiễu, nhiều vùng ký tự
3 Đối tượng và phạm vi nghiên cứu
- Xây dựng hệ nhận dạng biển số xe trong thực tế
- Nâng cao độ chính xác cho hệ thống nhận dạng biển số xe
Dựa trên dữ liệu thu thập để tiến hành kiểm thử chất lượng hệ thống nhận dạng biển số xe
4.1 Phương pháp nghiên cứu tài liệu
- Nghiên cứu tài liệu, ngôn ngữ và công nghệ liên quan
- Tổng hợp tài liệu, phương pháp xử lý ảnh và các thư viện hỗ trợ xử lý ảnh
4.2 Phương pháp nghiên cứu thực nghiệm
- Phân tích và thiết kế hệ thống nhận dạng biển số xe
- Thử nghiệm hệ thống và đánh giá kết quả đạt được với những hình ảnh có đỗ nhiễu cao
6 Mục đích và ý nghĩa của đề tài
Nghiên cứu nâng cao độ chính xác cho hệ thống nhận dạng biển số xe
6.2 Ý nghĩa khoa học và thực tiễn của đề tài a V ề mặt khoa học
Nhận dạng biển số xe là một vấn đề đã được nghiên cứu lâu nhưng vẫn gặp nhiều thách thức trong thực tiễn Những khó khăn chủ yếu đến từ việc xử lý hình ảnh có độ nhiễu cao, do các yếu tố như góc chụp, điều kiện thời tiết và ánh sáng ảnh hưởng đến chất lượng hình ảnh.
Kết quả nghiên cứu của đề tài sẽ đóng vai trò quan trọng trong việc xây dựng nền tảng cho các nghiên cứu tiếp theo, đồng thời tạo cơ sở vững chắc để phát triển hệ thống ứng dụng vào thực tiễn cuộc sống hiện nay.
Hệ thống nhận dạng biển số xe được phát triển nhằm cung cấp kết quả chính xác hơn cho việc nhận diện biển số thông qua hình ảnh từ camera.
Xây dựng hệ thống nhận dạng biển số xe cho ra kết quả chính xác và ổn định
8 Bố cục của luận văn
Nội dung chính của luận văn được chia thành 3 chương sau:
Chương 1.Tổng quan về xử lý ảnh
Chương 2 Tổng quan về hệ thống nhận dạng biển số xe
Chương 3 Ứng dụng mạng Nơ-ron để nhận dạng ký tự trong hệ thống nhận dạng biển số xe
CHƯƠNG 1 TỔNG QUAN VỀ XỬ LÝ ẢNH
1.1 NHỮNG KHÁI NIỆM VỀẢNH SỐ
Để xử lý ảnh bằng máy tính, cần thực hiện quá trình số hóa ảnh, biến đổi tín hiệu liên tục thành tín hiệu rời rạc qua lấy mẫu và lượng hóa Quá trình này không thể phân biệt được hai mức xám kề nhau bằng mắt thường, do đó khái niệm điểm ảnh (pixel) được sử dụng Trong ảnh hai chiều, mỗi điểm ảnh được xác định bởi một cặp tọa độ (c,r) và giá trị độ sáng cụ thể, tạo nên độ phân giải cho ảnh Điểm ảnh là phần tử của ảnh số tại tọa độ (c,r) với độ xám hoặc màu nhất định, và ảnh được coi là tập hợp các điểm ảnh, thể hiện cường độ sáng tại các tọa độ trong không gian của đối tượng.
Trong việc định vị ảnh, hệ tọa độ pixel thường được sử dụng, với ảnh được cấu trúc như một lưới các phần tử Số cột tăng dần từ trái sang phải, trong khi số hàng tăng dần từ trên xuống dưới Tọa độ được biểu diễn bằng các số nguyên, và các tọa độ lẻ không có ý nghĩa trong hệ thống này.
Hình 1.1 Hệ tọa độ pixel
M ột hệ thống ảnh có thể biểu diễn như sau
Hình 1.2 Biểu diễn hệ thống ảnh
Với H: Hệ thống ảnh tuyến tính f(i,j) : Vật thể g(x,y) : Ảnh
Vật thể nằm trong mặt phẳng (i,j) được mô tả bằng một hàm 2 biến (ảnh
Trong hệ thống tạo ảnh, độ chói của vật tại điểm (i,j) được biểu diễn bởi f(i,j) Ảnh của vật này, ký hiệu là g(x,y), nằm trong mặt phẳng ảnh và gọi là hàm chói của ảnh Khi một đối tượng được chiếu sáng bằng một hàm ánh sáng nhất định, thông tin này sẽ được truyền qua hệ thống tạo ảnh, dẫn đến việc tạo ra ảnh của vật.
Trên mặt phẳng (x,y), hệ thống tạo ra điểm ảnh (x,y) dựa trên năng lượng phát ra từ vật thể Hệ thống này nhận các thành phần năng lượng bức xạ từ điểm (i,j) cùng với các điểm ảnh lân cận Khi các điểm lân cận được giới hạn, quá trình này được gọi là tạo điểm ảnh Hệ thống tạo ảnh có thể được phân loại thành tuyến tính hoặc phi tuyến.
1.2 MỘT SỐ KHÁI NIỆM VỀ XỬ LÝ ẢNH
Trong những năm gần đây, kỹ thuật xử lý ảnh đã trở thành một phần quan trọng trong các hệ thống thông tin và tự động Các hệ thống này ngày càng thông minh hơn, không chỉ dừng lại ở việc nâng cao chất lượng và lưu trữ ảnh, mà còn phân tích cấu trúc và tự động nhận dạng đối tượng trong ảnh Điều này cho phép rút ra những thông tin quý giá từ hình ảnh một cách hiệu quả.
Trong lĩnh vực thám không, kỹ thuật xử lý ảnh tự động giúp xác định thông tin về các vùng đất và hiện tượng tự nhiên, từ đó dự báo các hiện tượng tương lai Tương tự, trong y học, việc xử lý ảnh chụp cắt lớp, siêu âm và tế bào hỗ trợ nhận dạng và chẩn đoán bệnh Ngoài ra, trong đo lường, ảnh chụp các quá trình như mực nước hay tốc độ dòng chảy cũng cần được xử lý để đảm bảo độ chính xác Với sự phát triển của máy tính số, xử lý ảnh số đã trở thành một công cụ quan trọng trong nhiều ứng dụng, bao gồm truyền hình và thu thập hình ảnh từ vệ tinh Tuy nhiên, chất lượng ảnh có thể bị giảm do nhiễu từ môi trường, đặc biệt trong đo đạc bản đồ, nơi ảnh có thể bị mờ hoặc nhiễu Do đó, việc khôi phục lại ảnh gốc là rất cần thiết để đảm bảo độ chính xác và chất lượng thông tin.
Hình ảnh được phân chia thành hai loại: hình ảnh tĩnh (static image), hình ảnh động (dynamic image)
Hình ảnh được biểu diễn theo nhiều chiều, làm cho việc xử lý hình ảnh trở nên phức tạp hơn so với hình ảnh một chiều Xử lý hình ảnh liên quan đến việc thực hiện các phép toán trên tín hiệu số của hình ảnh, với khối lượng thông tin có thể lên đến vài trăm mega bit Đặc điểm của các thông số ảnh là tính vectơ, do đó, để xử lý nhanh chóng, cần có dung lượng bộ nhớ phù hợp Việc áp dụng các phương pháp mã hóa hiệu quả giúp giảm độ dư thừa thông tin và sử dụng các thuật toán xử lý nhanh Xử lý ảnh có thể chia thành bốn lĩnh vực chính: cải thiện và nâng cao chất lượng ảnh, phục hồi ảnh, mã hóa ảnh và hiểu ảnh Mục tiêu cuối cùng của xử lý ảnh là nâng cao chất lượng và khả năng sử dụng hình ảnh.
- Xử lý ảnh ban đầu để có được ảnh mới theo yêu cầu xác định (ví dụ như ảnh mờ cần xửlý để ảnh rõ hơn).
Phân tích ảnh là quá trình quan trọng để thu thập các thông tin đặc trưng, hỗ trợ cho việc phân loại và nhận diện hình ảnh Ví dụ, trong việc phân tích ảnh vân tay, các đặc trưng của vân tay sẽ được trích xuất để phục vụ cho các ứng dụng nhận dạng.
Hiểu ảnh đầu vào không chỉ đơn thuần là nhận diện hình ảnh mà còn bao gồm việc phân tích và mô tả các yếu tố xung quanh, từ đó cung cấp cái nhìn sâu sắc hơn về bối cảnh Ví dụ, từ một bức ảnh tai nạn giao thông, chúng ta có thể tái hiện lại hiện trường và các diễn biến liên quan, giúp người xem nắm bắt được tình hình một cách rõ ràng và chi tiết hơn.
1.3 QUÁ TRÌNH XỬ LÝ ẢNH
QUÁ TRÌNH THU NHẬN ẢNH
Ở Việt Nam, biển số xe môtô được quy định như sau:
1 Về chất liệu của biển số: Biển số xe được sản xuất bằng kim loại, có sơn phản quang, ký hiệu bảo mật; đối với biển số xe đăng ký tạm thời được in trên giấy
2 Ký hiệu, kích thước của chữ và số trên biển số đăng ký các loại xe thực hiện theo quy định tại Phụ lục số 02, 03 và 04 ban hành kèm theo Thông tư 36/2010/TT-BCA
3 Biển số xe máy có kích thước như sau: loại biển số ngắn có chiều cao 200 mm, chiều dài 280 mm
4 Biển số xe mô tô, gồm 1 biển gắn phía sau xe; kích thước: Chiều cao 140 mm, chiều dài 190 mm Nhóm số thứ nhất là ký hiệu địa phương đăng ký xe và sê ri đăng ký Nhóm số thứ hai là thứ tự xe đăng ký gồm 04 hoặc 05 chữ số tự nhiên từ 0001-9999 hoặc 000.01 đến 999.99
Các điều kiện trình bày được tham số hóa trong hệ thống nhận dạng của luận văn nhằm tăng cường ràng buộc cho ảnh đầu vào.
QUÁ TRÌNH TRÍCH BIỂN SỐ XE, XỬ LÝ ẢNH BIỂN SỐ VÀ TÁCH KÝ T Ự CH Ữ S Ố XE
3.3.1 Thuật toán trích biển số xe dùng phương pháp phân tích phổ tần số
Kỹ thuật phân tích phổ Fourier được áp dụng để xử lý các hàm rời rạc theo thời gian, giúp hình ảnh được phân tích một cách hiệu quả Để đơn giản hóa quá trình, ta thường sử dụng phổ biên độ của biến đổi Fourier, hay còn gọi là phổ Fourier, được biểu diễn bằng một công thức cụ thể.
Biển số xe thường có nền trắng và chữ đen, giúp quá trình trích xuất biển số từ ảnh phức tạp trở nên dễ dàng hơn Để trích xuất biển số, cần xác định tọa độ của nó Chúng ta tính trung bình biểu đồ tần số trong khoảng dự đoán các ký tự biển số để tối đa hóa xác suất phát hiện Sau khi phân tích biểu đồ, ta xác định được vị trí đỉnh và đáy của biển số, từ đó tách dòng chứa biển số Tiếp theo, ta cần tìm và tách phần dọc của biển số bằng cách tính biểu đồ cho từng hàng và trung bình tần số trên mỗi cột Cuối cùng, sau khi tính toán trong khoảng dự đoán vùng chứa biển số, ta xác định được cạnh trái và phải của biển số xe.
Sau khi tiến hành cắt biển số theo gía trị đỉnh, đáy, trái, phải ta nhận được kết quả như sau:
Hình 3.2 Biển số sau khi tách
Thu ật toán trích biển số
Input = ảnh thu nhận được
Output = ảnh biển số trích được từ ảnh Input h : chiều cao w: chiều rộng
P=trung bình biên độ phổ của hàng pixel thứ i;
If (flag=1) height=height+1; else
{ top=i; flag=1; } else if (height>=h) bottom=i;
Tách ảnh mới với đỉnh là top và đáy là bottom= RowImage i=0; flag=0; for (i=0; i=w) right=i;
Biển số xe= ảnh mới với cạnh trái là left và cạnh phải là right }
3.3.2 Các bước tiền xử lý
- Chuyển ảnh sang ảnh đa mức xám:
Hình 3.3 Biển số xe sau khi tách và chuyển sang ảnh mức xám
- Xử lý ảnh bằng thuật toán K-means:
Hình 3.4 Biển số xe sau khi xử lý bằng thuật toán K-Means
Hình 3.5 Biển số xe sau khi đảo màu
Hình 3.6 Biển số xe sau khi lọc Median
Hình 3.7 Biển số xe BlobsFiltering
3.3.3 Thuật toán tách ký tự
Sau bước tiền xử lý ảnh, ta tiến hành tách từng ký tự đơn trong biển số
Hình 3.8 Một số kết quả tách ký tự Thu ật toán tách ký tự
Xét lần lượt từng dòng
B1: Bắt đầu xét từ giá trị giới hạn trên y của dòng (top_line) và giá trị x đầu tiên (x=0)
B 2 : Xác định giới hạn trên của ký tự: Quét hết chiều rộng của ảnh, trên cùng giá trị y
+ Nếu phát hiện pixel đen thì đánh dấu y là giá trị đỉnh của ký tự (top_character) Dừng quét
+ Nếu quét hết chiều rộng, mà vẫn không tìm thấy pixel đen nào thì tăng y và reset lại x, tiếp tục thực hiện lại bước 2
B3: Xác định giới hạn dưới của ký tự: Bắt đầu duyệt từ giới hạn trên (đỉnh) vừa tìm thấy của ký tự (0, top_character)
+ Tương tự như xác định giới hạn trên, ta duyệt hết chiều rộng của ảnh trên cùng một giá trị y
+ Nếu duyệt hết dòng mà không tìm thấy ký tự pixel đen nào thì ghi nhận y-1 là giới hạn dưới của ký tự (bottom_character) Dừng duyệt
+Nếu chưa tìm thấy bottom_character, tiếp tục duyệt đến dòng tiếp theo (tăng y, reset x=0).
B 4 Xác định giới hạn trái của ký tự (xác định giá trị của x )
- Bắt đầu từ giới hạn trên (đỉnh của ký tự - top_character), giá trị x đầu tiên (x=0)
- Quét đến giới hạn dưới của dòng (bottom_character), giữ nguyên x (quét theo chiều thẳng đứng)
+ Nếu gặp pixel đen đầu tiên, ghi nhận x là giới hạn trái của kí tự (left- character) Dừng quét
Nếu sau khi quét đến giới hạn dưới mà không tìm thấy pixel đen nào, hãy reset giá trị y về giới hạn trên đã tìm thấy, tăng giá trị x lên một đơn vị (x++) và tiếp tục thực hiện lại bước 4.
B5: Xác định giới hạn phải của ký tự (xác định giá trị x)
Bắt đầu từ giới hạn trên của ký tự (top_character) và giới hạn trái (left_character, top_character), tiến hành quét theo chiều thẳng đứng cho đến khi đến giới hạn dưới của dòng.
+ Nếu khi quét hết chiều đứng, mà vẫn không gặp được pixel đen nào thì ghi nhận x-1 là giới hạn phải của ký tự (right_character) Dừng quét
+ Nếu gặp pixel đen thì tăng x (x++) và reset lại y =top_character của ký tự đang xét, để xét đường thẳng đứng tiếp theo
Lặp lại các bước từ 1 đến 5 để xác định giới hạn ký tự tiếp theo trên cùng một dòng Đối với y, sử dụng giá trị top_line của dòng hiện tại và giá trị x đầu tiên là right_character của ký tự vừa được xác định.
Để chuẩn hóa các ký tự từ biển số, chúng ta tách từng ký tự và điều chỉnh kích thước về 20x10 Ảnh ký tự được chuyển đổi thành ảnh nhị phân, trong đó pixel trắng có giá trị 1 và pixel đen có giá trị 0 Dữ liệu này sẽ được sử dụng để huấn luyện mạng nơron.
Hình 3.9 Chuẩn hóa ký tự về kích cỡ 20x10
3.4 QUÁ TRÌNH NHẬN DẠNG KÝ TỰ ĐƠN BẰNG MẠNG NƠRON NHÂN TẠO
3.4.1 Mô hình mạng nơron và cách thức huấn luyện mạng
B1: Xây dựng cấu trúc mạng với mô hình 3 lớp
B2: Khởi tạo các giá trị ngẫu nhiên cho trọng số trong khoảng [-độ lệch,độ lệch]
B3: Nạp file ảnh đầu vào và file huấn luyện (file text đầu ra mong muốn)
B4: Phân tích ảnh và ánh xạthành 200 nơron đầu vào
B 5 : Đọc các kí tự đầu ra mong muốn, chuyển thành giá trị nhị phân Unicode và lưu trữ lại
B6: Với mỗi kí tự ảnh:
+ Tính giá trịđầu ra trong mạng FeedForward
+ So sánh với ký tự tương ứng ởđầu ra mong muốn và tính toán lỗi + Lan truyền ngược lỗi và điều chỉnh lại giá trị của trọng số
B 7 : Chuyển đến xét ký tự ảnh tiếp theo thực hiện lại bước 6, cho đến khi duyệt hết các ký tự ảnh
B8: Tính giá trị lỗi trung bình cho tất cả các ký tự ảnh
B9: Lặp lại bước 6 đến bước 8 cho đến khi chạy đủ số vòng dạy
+ Nếu lỗi trung bình đạt thấp hơn giá trịngưỡng của lỗi thì dừng + Nếu không thì tiếp tục
Hình 3.10 Sơ đồ mạng nơron nhận dạng ký tự chữ
Hình 3.11 Sơ đồ mạng nơron nhận dạng ký tự số
3.4.2 Khởi tạo trọng số trong mạng nơron Để khởi tạo các trọng số một hàm ngẫu nhiên đã được sử dụng để chỉ định một số lượng ban đầu ngẫu nhiên weight bias = 30
Trọng số: Weight (lớp, nút ẩn, nút nhập)
Trọng số mạng chữ: weight (1,0,0) weight (1,99,199) …weight (2,20,99)
Trọng số mạng số: weight (1,0,0) …weight (1,99,199) … weight (2,0, 99) Với việc nhận dạng mạng chữ ta dùng các thông số:
Bảng 3.1 Thông số nhận dạng mạng chữ
Với việc nhận dạng mạng số ta dùng các thông số:
Bảng 3.2 Thông số nhận dạng mạng số
GIAO DI ỆN CHƯƠNG TRÌNH NHẬ N D Ạ NG BI Ể N S Ố XE
Hình 3.12 Giao diện chính của hệ thống
Hình 3.13 Hệ thống nhận ảnh đầu vào
Hình 3.14 Hệ thống xử lý và đưa ra kết quả nhận dạng biển số xe
M ột số trường hợp nhận dạng khác
Hình 3.15 Biển số xe bị vệt sơn mờ che một phần số
Hình 3.16 Biển số bị đinh ốc gây nhiễu trong quá trình nhận dạng
Hình 3.17 Nhận dạng diển số xe được chụp vào ban đêm
KI ỂM TRA CHƯƠNG TRÌNH VÀ ĐÁNH GIÁ KẾ T QU Ả CH Ạ Y THỬ
3.6.1 Kho dữ liệu thử nghiệm
Kho biển số thử nghiệm được xây dựng từ dữ liệu chụp ảnh xe mô tô hai bánh, thu thập trong các điều kiện ánh sáng và chất lượng biển số đa dạng Bài viết này sẽ cung cấp mô tả chi tiết về tập ảnh cũng như thiết bị máy tính sử dụng trong quá trình thử nghiệm.
Bảng 3.3 Mô tả dữ liệu thử nghiệm Độ phân giải Ảnh 1152 x 864 pixel
Vị trí chụp ảnh Thẳng đứng, chính diện Điều kiện ánh sáng - Chụp vào lúc trời sáng
- Chụp vào lúc trời tối
Hệ điều hành thử nghiệm Windows 10
3.6.2 Đánh giá kết quả thử nghiệm
Bảng 3.4 Thống kê kết quả nhận dạng biển số của một hệ thống cơ bản
Số lượng mẫu thử nghiệm 200
Số lượng trích biển số đúng 183
Số lượng trích biển số sai 17
Số lượng tách ký tự đúng 36
Số lượng tách ký tự sai 147
Số lượng nhận dạng đúng 30
Số lượng nhận dạng sai 6
Bảng 3.5 Tổng kết kết quả thử nghiệm
Số lượng mẫu thử nghiệm 200
Số lượng trích biển số đúng 183
Số lượng trích biển số sai 17
Số lượng tách ký tự đúng 166
Số lượng tách ký tự sai 17
Số lượng nhận dạng đúng 166
Số lượng nhận dạng sai 34
Hệ thống nhận dạng biển số xe mới đã cải tiến các phương pháp xử lý ảnh và xác định ngưỡng xám, mang lại kết quả tốt hơn so với hệ thống truyền thống Kho dữ liệu ảnh biển số được chụp trong nhiều điều kiện ánh sáng khác nhau, cho phép hệ thống vẫn đạt độ chính xác cao mặc dù có nhiễu Tuy nhiên, phần tách ký tự vẫn chưa đạt hiệu quả tối ưu do chưa loại bỏ hoàn toàn nhiễu trong ảnh, ảnh hưởng bởi các yếu tố như đinh ốc và vết bẩn Quá trình nhận dạng ký tự phụ thuộc vào việc trích biển số và tách ký tự, nếu thực hiện tốt thì kết quả sẽ khả quan hơn Việc huấn luyện cho các ký tự chữ vẫn chưa hoàn chỉnh do số lượng ký tự trên mỗi biển số ít, trong khi ký tự số dễ nhầm lẫn với nhau Thuật toán hiện tại quét tất cả các điểm trên hình, nhưng tốc độ xử lý vẫn chưa cao.
Các kết quả nhận dạng hiện tại cho thấy hệ thống hoạt động hiệu quả, nhưng vẫn cần cải thiện thông qua các biện pháp lọc nhiễu và thủ thuật bổ sung để nâng cao chất lượng.
Mục tiêu của luận văn là phát triển và tối ưu hóa chương trình nhận dạng biển số xe, nhằm nâng cao hiệu suất và độ chính xác trong quá trình nhận diện Luận văn đã giải quyết các vấn đề liên quan đến hiệu năng của hệ thống, từ đó cải thiện khả năng nhận dạng và đáp ứng nhu cầu thực tiễn trong công tác quản lý giao thông.
- Ứng dụng được thuật toán phân tích phổ tần số để trích biển số xe và phân tích biểu đồ mức xám trong việc tách ký tự
- Sử dụng mạng Nơron để nhận dạng ký tự trên biển số
- Xây dựng các kết quả nghiên cứu trên nền Visual Studio Dot Net (CSharp)
- Ứng dụng được thư viện AForge trong xử lý ảnh và thu nhận tín hiệu video b Các mặt còn hạn chế
Với các mặt đã đạt được nêu trên, tuy nhiên trong luận văn còn nhiều mặt hạn chế như:
- Chưa xử lý được các trường hợp ảnh quá tối hoặc quá sáng hoặc ảnh có chất lượng xấu
Chương trình hiện tại chưa đạt được tính tổng quát cao trong việc nhận dạng biển số xe, đặc biệt là với các loại biển số có nền màu xanh chữ trắng (nhà nước) và nền đỏ chữ trắng (quân đội).
Khả năng nhận dạng hiện tại còn hạn chế, đặc biệt trong các tình huống chụp ảnh quá xa hoặc quá gần so với khoảng cách quy định Để cải thiện hiệu suất, cần đề xuất các hướng phát triển phù hợp nhằm nâng cao khả năng nhận diện trong những điều kiện chụp khác nhau.
Với những mặt hạn chế như trên, tôi xin đề ra các hướng phát triển đề tài:
- Xây dựng ứng dụng tổng quát hơn cũng như xử lý với một số trường hợp biển sốđặc biệt như: nền xanh chữ trắng, hay nền đỏ chữ trắng, …
- Khắc phục khả năng trích bảng số với khoảng cách linh động hơn, xử lý ảnh và nhận dạng tốt hơn đối với biển số xấu
- Tăng tốc độ xử lý của hệ thống d S ử dụng một số chức năng trong thư viện AForge
Mở ảnh và định dạng ảnh
System.Drawing.Bitmap image = (Bitmap) Bitmap.FromFile(filename);
AForge.Imaging.Image.FormatImage ( ref image );
Cách sử dụng bộ lọc trong thư viện aforge.net
System.Drawing.Bitmap image = (Bitmap) Bitmap.FromFile(filename);
AForge.Imaging.Filters.Median filter = new
System.Drawing.Bitmap newImage = filter.Apply ( Image);
Để áp dụng nhiều chức năng lọc trên một bức ảnh, bạn có thể sử dụng FilterSequence để kết hợp các chức năng lọc cần thiết Sau khi thêm các chức năng lọc vào bộ lọc, chỉ cần thực hiện một lần để áp dụng tất cả các hiệu ứng mong muốn cho hình ảnh.
//add filters to the sequence
Filter.Add ( new AForge.Imaging.Filters.Sepia ( ) );
Filter.Add ( new AForge.Imaging.Filters.RotateBilinear (45));
Filter.Add ( new AForge.Imaging.Filters.ResizeBilinear (320, 240)); Filter.Add ( new AForge.Imaging.Filters.Pixellate (8) );
Filter.Add ( new AForge.Imaging.Filters.Jitter (2) );
Filter.Add ( new AForge.Imaging.Blur ( ) );
// apply the Sequence to an image
System.Drawing.Bitmap newImage = filter.Apply ( image);
Khởi tạo lại kích thước chuẩn cho ảnh:
IFilter filt = new ResizeBilinear ( 512, 256 ); img = filt.Apply (img);
- Chuyển ảnh sang mức xám:
IFilter way_filt = new GrayscaleY ( ) ; img = way _filt.Apply (img);
Way_filt = new Threshold ( 200) ; img = way_filt.Apply (img);
Img = way_filt.Apply (img);
Img = way_filt.Apply (img);
BlobCounter blobs = new BlobCounter (imgArr[i]);
Blob [ ] words = blobs.GetObjects ( imgArr [i]) ;
Foreach ( Blob word in words ) imgArr [i] = word.Image;
Chương này trình bày hệ thống nhận dạng biển số xe và quy trình xử lý trực tiếp trên biển số Đồng thời, tôi cũng so sánh hiệu năng giữa hệ thống xử lý biển số cơ bản và hệ thống được cải tiến trong xử lý ảnh Nội dung chương nêu rõ ưu điểm, nhược điểm của hệ thống và đưa ra hướng phát triển nhằm hoàn thiện công nghệ nhận dạng biển số xe, phục vụ cho ứng dụng trong cuộc sống thực tế.