Mạng Neural nhân tạoMô hình mạng Nẻual•Mô hình một Neural nhân tạo•Mạng Neural một lớp•Mạng Neural nhiều lớpCấu trúc mạng Neural nhân tạo•Mạng có cấu trúc tiến•Mạng hồi quyHuấn luyện mạng Neural •Huấn luyện có giám sát•Huấn luyện không giám sát•Huấn luyện tăng cường•Thuật toán lan truyền ngược•Các bước thiết lập mạngHiện tượng quá khớpNgưng huấn luyện đúng lúcứng dụng mạng Neural trong lĩnh vực nhận dạng2. cơ sở lý thuyếtHệ thống nhận dạng biển số xe mô tô hai bánh•Ưu nhược điểm của cách giữ xe truyền thống•Bài toán xây dựng hệ thống giữ xe thông minh•Bài toán nhận dạng biến số xeCác khái niệm cơ bản trong xử lý ảnh•Các loại ảnh•Phần từ ảnh (pixel )•Mức xám•Khái niệm ảnh số•ảnh nhị phân•ảnh xám•ảnh màu•chuyển ảnh màu qua ảnh xám•lược đồ mức xámCác kỹ thuật xử lý ảnh•Thuật toán Kmeans•Lọc trung vị•Lọc BobsFiltering•Phương pháp phân tích phổ tần số
Trang 1
MỤC LỤC
Chương Một : Mạng Neural nhân tạo 1.1 Mở đầu chương
1.2 Sơ lược về neural sinh học
1.3 Mạng Neural nhân tạo
1.3.1 Mô hình một Neural nhân tạo
1.5.5 Thuật toán lan truyền ngược
1.6 Các bước chuẩn bị thiết lập mạng
1.7 Vấn đề quá khớp và khả năng tổng quát hóa của mạng
1.7.1 Hiện tượng quá khớp
1.7.2 Cải thiện tính tổng quát hóa (ngưng huấn luyện khi mạng quá khớp) 1.8 Ứng dụng mạng Neural trong lĩnh vự nhận dạng
Trang 2
1.9 Kết luận chương
Chương Hai: Cơ sở lý thuyết
2.1 Giới thiệu chương
2.2 Tìm hiểu hệ thống nhận dạng biển số xe mô tô hai bánh
2.3 Xử lý ảnh.
2.3.1 Các loại ảnh cơ bản trong xử lý ảnh.
2.3.2 Các khái niệm cơ bản trong xử lý ảnh
2.5 Lược đồ mức xám.
2.6 Các kỹ thuật xử lý ảnh 2.6.1 Xử lý ảnh bằng thuật toán K-means………28
2.6.2 Lọc trung vị (Median) 2.6.3 Lọc BlobsFiltering 2.7 Phương pháp phân tích phổ tần số (Fast Fourier Transform):
2.8 Kết luận chương
Trang 3
Chương Ba: Xây dựng hệ thống
3.1 Giới thiệu chương
3.2 Mô hình hệ thống nhận dạng biển số xe mô tô hai bánh
3.3 Tách biển số, xử lý ảnh biển số và tách ký tự chữ số
3.3.1 Tách biển số
3.3.1.1 Lọc bỏ ngoại cảnh
3.3.1.2 Tách biển số khỏi nền 3.3.2 Tiền xử lý ảnh 3.3.3 Tách ký tự trên biển số.
3.4 Nhận dạng ký tự bằng mạng Neural nhân tạo.
3.5 Chương trình mô phỏng 3.6 Kết luận chương.
Chương Bốn: Thử nghiệm, đánh giá và hướng giải quyết đề tài
4.1 Giới thiệu chương 4.2 Thử nghiệm với ảnh chụp biển số
4.3 Nhận xét kết quả 4.4 Một số kết quả mô tả việc thử nghiệm
4.4.1 Tách biển số 4.4.2 Tách ký tự trên biển số 4.4.3 Nhận dạng ký tự sau khi tách 4.5 Hướng giải quyết của đề tài
Trang 4
Tài liệu tham khảo……… ………51 Phụ lục………52
Trang 5
MỞ ĐẦU
Mạng neural nhân tạo (Artificial neural networks ) là một mô phỏng xử lý thông tin, được nghiên cứu ra từ hệ thống thần kinh của sinh vật, giống như bộ não để xử lý thông tin Trải quanhiều năm phát triển, nay mạng Neural thực sự được chú ý và nhanh chóng trở thành hướng đi đầytriển vọng trong việc xây dựng các máy tính thông minh gần với trí tuệ con người
Nhờ đặc tính khá mềm dẻo, dễ thích nghi với môi trường nên mạng Neural đ ã được áp dụngthành công trong các lĩnh vực nhận dạng, phân loại, giảm nhiễu, dự đoán,…
Nhận dạng ký tự là một trong những ứng dụng điển hình của mạng Neural, trong đó nhận dạngbiển số xe đã và đang được áp dụng rộng rãi trong thực tiễn, ứng dụng trong camera an ninh, hay trongbãi giữ xe thông minh
Vì vậy, em chọn đề tài “Nghiên cứu ứng dụng mạng Neural trong nhận dạng biển số xe mô tô haibánh” để làm đề tài đồ án tốt nghiệp bằng cách nghiên cứu và thực hiện mô phỏng trên Visual Studio
Để thực hiện được nội dung này thì đồ án của em được cấu thành bởi các chương sau:
Chương 1: Mạng Neural nhân tạo
Chương 2: Cơ sở lý thuyết
Chương 3: Xây dựng hệ thống
Chương 4: Mô phỏng đánh giá
Chương 5: Kết luận và hướng phát triển của đề tài
Trang 61.2 Sơ lược về neural sinh học
Qua quá trình nghiên cứu về bộ não, người ta thấy rằng: bộ não con người bao gồm khoảng 1011 Neural tham gia vào khoảng 1015 kết nối trên các đường truyền Mỗi đường truyền này dài khoảng hơn một mét Các Neural có nhiều đặc điểm chung với các
tế bào khác trong cơ thể, ngoài ra chúng còn có những khả năng mà các tế bào khác không có được, đó là khả năng nhận, xử lý và truyền các tín hiệu điện hóa trên các đường mòn Neural, các con đường này tạo nên hệ thống giao tiếp của bộ não Sau đây là những thành phần chính trong cấu trúc của một Neural trong bộ não con người
Hình 1.1 : Mô hình neuron sinh học
Trong đó :
Các Soma là thân của Neural.
Trang 7 Axon nối với các dendrites của các Neural khác thông qua những mối nối đặc biệt gọi là synapse Khi điện thế của synapse tăng lên do các xung phát
ra từ axon thì synapse sẽ nhả ra một số chất hoá học, các chất này mở "cửa" trên dendrites để cho các ions truyền qua Chính dòng ions này làm thay đổi điện thế trên dendrites, tạo ra các xung dữ liệu lan truyền tới các Neural khác
Có thể tóm tắt hoạt động của một Neural như sau: Neural lấy tổng tất cả các điện thế vào mà
nó nhận được, và phát ra một xung điện thế nếu tổng ấy lớn hơn một ngưỡng nào đó Các Neural nốivới nhau ở các synapses Synapse được gọi là mạnh khi nó cho phép truyền dẫn dễ dàng tín hiệu qua cácNeural khác Ngược lại, một synapse yếu sẽ truyền dẫn tín hiệu rất khó khăn
Các synapses đóng vai trò rất quan trọng trong sự học tập Khi chúng ta học tập thì hoạt độngcủa các synapses được tăng cường, tạo nên nhiều liên kết mạnh giữa các Neural
Có thể nói rằng người nào học càng giỏi thì càng có nhiều synapses và các synapses ấy càngmạnh mẽ, hay nói cách khác, liên kết giữa các Neural càng nhiều thì bộ não càng nhạy bén
1.3 Mạng Neural nhân tạo
Mạng Neural nhân tạo(Artificial Neural Network) là một mô phỏng xử lý thông tin, được nghiêncứu từ hệ thống thần kinh của sinh vật, giống như bộ não bao gồm số lượng lớn các Neural được gắn kếtvới nhau để xử lý thông tin Mạng Neural nhân tạo giống như con người, được học bởi kinh nghiệm
Trang 8Sau đó, một nhóm các nhà nghiên cứu đã kết hợp những kiến thức về sinh học và tâm thần học
để tạo ra một mạng neural nhân tạo hoàn chỉnh đầu tiên Ban đầu được chế tạo dưới dạng một mạchđiện tử, sau đó các mạng neural được chuyển thành các chương trình mô phỏng trên máy tính có độlinh hoạt cao hơn
Trong thời gian gần đây mạng Neural được phát triển mạnh mẽ với các nghiên cứu về các mạngNeural nhiều lớp phức tạp Mặt khác do khả năng phần cứng của máy tính tăng lên rất nhiều cũng gópphần vào sự phát triển của lĩnh vực nghiên cứu này
Trang 9Ngõ ra mong muốn
Mô hình tổng quát của mạng Neural có thể được hiểu đơn giản như hình sau:
Hình 1.2: mô hình toán học tổng quát của mạng Neural
Tín hiệu ngõ vào sau khi qua mạng neural sẽ được tính toán và ngõ ra của mạng sẽ được so sánhvới tín hiệu đích mong muốn Mạng sẽ tiếp tục cập nhật và điều chỉnh trọng số và ngưỡng đến khi thỏamãn ngõ ra yêu cầu
Điều kiện quan trọng trong việc sử dụng mạng neural là phải biết mối liên hệ giữa ngõ vào vàngõ ra biết trước Mối quan hệ này có thể kéo theo nhiều thứ nhưng nó nhất định phải tồn tại
Tổng quát, nếu ta sử dụng một mạng neural ta sẽ không biết chính xác trạng thái tự nhiên củamối liên hệ giữa ngõ vào và ngõ ra (nếu ta biết mối liên hệ ta có thể làm mô hình đó trực tiếp mà khôngcần mạng Neural ) Một tính năng khác của mạng neural là nó có thể học mối liên hệ giữa ngõ vào và ngõ
ra thông qua việc huấn luyện Có ba loại huấn luyện sử dụng trong mạng neural là huấn luyện có giámsát, huấn luyện không giám sát và kiểu huấn luyện tăng cường Với những loại mạng khác nhau thì sửdụng các loại huấn luyện khác nhau Huấn luyện có giám sát sử dụng thông dụng nhất
Trong việc học có giám sát, người sử dụng mạng phải có một tập hợp dữ liệu cần huấn luyện.Tập hợp này chứa những ngõ vào mẫu với ngõ ra tương ứng và mạng sẽ huấn luyện để đưa ra mối liên
hệ giữa ngõ ra và ngõ vào
Trang 10wp + b p
- Xử lý ngôn ngữ
- Nhận dạng mẫu
- Xử lý tín hiệu
- Lọc và phân loại dữ liệu
Mạng Neural nhân tạo được tạo thành từ cách mô phỏng lại hệ thống thần kinh con người, tức
là mô phỏng lại từng neural thần kinh rồi gắn kết nhiều neural lại với nhau tạo thành mạng Neural nhântạo
1.3.1 Mô hình một Neural nhân tạo
Một Neural là một đơn vị xử lý thông tin và là thành phần cơ bản của một mạng Neural Cấutrúc của một Neural được mô tả trên hình dưới
Hình 1.3 : Neural một ngõ vào
Trang 11f
∑W1,1
Hình 1.4: Neural có nhiều ngõ vào
Các hàm truyền phải có các đặc tính sau:
Trang 12
Hình 1.5: Các hàm truyền cơ bản.1.3.2 Mạng Neural một lớp
Hình 1.6 mô tả mạng Neural một lớp với :
R là số phần tử của vector đầu vào
S là số Neural có trong lớp
a = (W.P + b) là ngõ ra của mạng
Hình 1.6: Mô hình mạng Neural một lớp
Trang 13Hình 1.8: Mạng Neural truyền thẳng ba lớp
Trang 14
Mạng có nhiều lớp, mỗi lớp có một ma trận W, một ngưỡng b và một vector ngõ ra a Thôngthường giá trị ra của một lớp là giá trị đầu vào của lớp tiếp theo Mỗi lớp trong mạng đảm nhiệm vai tròkhác nhau, gồm đầu vào, đầu ra và các lớp ẩn Mạng đa lớp có khả năng xử lý rất lớn
1.4 Phân loại cấu trúc mạng
Xét theo theo cấu trúc mạng, người ta chia mạng Neural nhân tạo thành hai kiểu cấu trúc làmạng có cấu trúc tiến và mạng hồi quy
Trang 15
Hình 1.10: Mạng Neural hồi quy không hoàn toàn
Hình 1.11: Mạng hồi quy hoàn toàn
1.5 Huấn luyện mạng neural.
1.5.1 Phương pháp huấn luyện
Mạng neural nhân tạo phỏng theo việc xử lý thông tin của bộ não người, do vậy đặc trưng cơ bản của mạng là có khả năng học, khả năng tái tạo các hình ảnh và dữ liệu khi đã học Trong trạng thái học thông tin được lan truyền theo hai chiều nhiều lần để huấn luyện các trọng số Có 3 kiểu huấn luyện chính, đó là huấn luyện có giám sát, huấn luyện không giám sát và huấn luyện tăng cường
1.5.2 Huấn luyện có giám sát
Một thành phần không thể thiếu của phương pháp này là sự có mặt của một “người thầy” (ởbên ngoài hệ thống) Người thầy này có kiến thức về môi trường thể hiện qua một tập hợp các cặp đầuvào - đầu ra đã được biết trước Hệ thống học (ở đây là mạng neural) sẽ phải tìm cách thay đổi các tham
số bên trong của mình (các trọng số và các ngưỡng) để tạo nên một ánh xạ có khả năng ánh xạ các đầuvào thành các đầu ra mong muốn Sự thay đổi này được tiến hành nhờ việc so sánh giữa đầu ra thực sự
và đầu ra mong muốn
1.5.3 Huấn luyện không giám sát
Trong huấn luyện không giám sát, ta phải tìm ra một mô hình mà mô hình đó phù hợp với cácquan sát của mạng Nó khác biệt với huấn luyện giám sát ở chỗ là đầu ra đúng tương ứng cho mỗi đầuvào là không biết trước Mạng sẽ tự chọn đầu ra tương ứng với mỗi mẫu đầu vào Đầu vào của nó là mộttập các biến ngẫu nhiên Phần lớn các ứng dụng nằm trong vùng của các bài toán ước lượng như môhình hóa thống kê, nén, lọc, phân cụm
Trang 16
1.5.4 Huấn luyện tăng cường
Huấn luyện tăng cường nghiên cứu cách thức hoạt động của một chủ thể trong một môi trườngnên chọn các hành động nào, để cực đại một khoản nào đó về lâu dài Các thuật toán huấn luyện tăngcường cố gắng tìm một chiến lược ánh xạ các trạng thái của môi trường tới các hành động của chủ thểtrong trường hợp đó
Huấn luyện tăng cường không có các cặp dữ liệu vào/ra đúng hay sai, các hành động gần tối ưucũng không được đánh giá đúng sai một cách tường minh Luôn có một sự cân bằng của việc học cái mới
và kế thừa cái cũ Huấn luyện tăng cường là cách thức hoạt động giống não của người nhất
1.5.5 Thuật toán lan truyền ngược
Được ứng dụng để giải các bài toán điều khiển các hệ phi tuyến phức tạp và bất ổn định Lantruyền ngược là một phương pháp cho phép xác định tập trọng sốt tốt nhất của mạng để giải một bàitoán đã cho Việc áp dụng phương pháp lan truyền ngược là một quá trình lặp đi lặp lại các tiến trình:lan truyền tiến để thực hiện ánh xạ và lan truyền ngược sai số để cập nhật các trọng số các trọng số củamạng là các hệ số của mô hình Phương pháp giảm gradient được dùng để cập nhật những hệ số này saocho giảm thiểu được sai số của mô hình mạng
Hình 1.12: mạng ba lớp lan truyền ngược
Đầu tiên ta cho lan truyền thẳng trong mạng, qua các neural và được tiếp tục với các hàm kíchhoạt của phần tử Neural, các mạng được nghiên cứu cùng với thuật toán lan truyền ngược được gọi là
“mạng lan truyền ngược”
Trang 17
Thuật toán này cung cấp một thủ tục cho việc thay đổi các vector trọng số trong mạng, đầu ra củamạng được lan truyền ngược trở lại ở đầu vào cho đúng các mẫu cơ sở cho việc cập nhật các trọng số làphương pháp gradient
Với các cặp vào ra (x(f); d(k) – d(k) là đầu ra mong muốn), thuật toán lan truyền ngược thực hiện cácbước như sau:
Đầu tiên, mẫu x(k) được lan truyền từ lớp đầu vào qua các lớp ẩn đi đến lớp đầu ra có kết quả là
y(k) Sau đó, sai số giữa y(k) và d(k) được lan truyền ngược trở lại từ lớp đầu ra tới lớp đầu vào để cập thậttrọng số Hình 1.12 biểu diễn mạng Neural có m phần tử Neural ở lớp đầu vào, n phần tử Neural ở lớpđầu ra Đường nét liền diễn tả lan truyền thẳng của tín hiệu, đường nét đứt thể hiện lan truyền ngượccủa các sai số
Trang 18
1.6 Các bước chuẩn bị thiết lập mạng
Trước hết ta phải xác định được tập dữ liệu – là tập bao gồm một số các trường hợp, mỗitrường hợp chứa những giá trị của ngõ vào và ngõ ra khác nhau Sau đó xác định những biến nào sẽ sửdụng, bao nhiêu trường hợp cần thu thập
Việc lựa chọn những biến sẽ được sử dụng thường do trực giác quyết định và phụ thuộc vàocông việc chuyên môn cũng như lĩnh vực của nó Trong Neural Networks, ta có thể chọn và loại bỏ nhiềubiến hoặc xác định bằng thực nghiệm những biến hữu ích Bước đầu, ta nên tính đến bất kì biến nào mà
ta nghĩ có ảnh hưởng đến quá trình thiết kế
Thực hiện lặp đi lặp lại số thí nghiệm của mỗi cấu hình, giữ lại mạng tốt nhất (thường dựa trên sai
số xác minh) Thí nghiệm nhiều lần trên mỗi cấu hình mạng để tránh rơi vào sai số cục bộ
Trong mỗi lần thí nghiệm, nếu xảy ra việc huấn luyện chưa đủ (mạng không đạt được mức hiệusuất chấp nhận) thì thử tăng số Neural trong lớp ẩn Nếu không hiệu quả, thì thêm một lớp ẩn
Nếu xảy ra huấn luyện quá mức (sai số xác minh bắt đầu tăng lên) thử bỏ bớt một vài Neural ẩn(và có thể bỏ lớp ẩn)
1.7 Vấn đề quá khớp và khả năng tổng quát hóa của mạng
1.7.1 Hiện tượng quá khớp
Một trong những vấn đề thường xảy ra trong suốt quá trình huấn luyện mạng là quá khớp Quákhớp xảy ra khi mạng được luyện quá khớp (quá sát) với dữ liệu huấn luyện (và nhiễu trên tập huấnluyện), nên nó sẽ trả lời chính xác những gì đã được huấn luyện, còn những gì không được huấn luyệnthì nó không quan tâm Sai số trong tập huấn luyện được kéo xuống rất bé, nhưng khi đưa dữ liệu mớivào thì mạng lại tạo sai số lớn Mạng có nhớ được các mẫu huấn luyện, nhưng mạng không học đượctính tổng quát hóa
Các đa thức khác nhau có đồ thị khác nhau, với bậc lớn hơn (và do đó có nhiều số hạng hơn) sẽ có
đồ thị phức tạp hơn Với một tập dữ liệu cho trước, chúng ta muốn tìm ra đa thức biểu diễn tập dữ liệunày Dữ liệu có thể có nhiễu, vì thế chúng ta không cần thiết tìm ra phương trình đúng nhất cho tất cảcác điểm
Mạng có càng nhiều trọng số thì hàm càng phức tạp và do đó sẽ rơi vào tình trạng khớp quá mức.Mạng có ít trọng số hơn sẽ không đủ khả năng để mô phỏng hàm cơ sở Ví dụ như mạng không có các
Trang 19
lớp ẩn chỉ mô phỏng hàm truyền đơn giản Hình dưới cho thấy đáp ứng của mạng được huấn luyện quánhiều Rõ ràng mạng này quá khớp với dữ liệu và không tổng quát hóa tốt
Hình 1.13: Mạng bị quá khớp với mẫu huấn luyện
Vậy chúng ta sẽ chọn lựa độ phức tạp của mạng đúng như thế nào? Mạng lớn hơn sẽ hầu nhưluôn luôn có được sai số nhỏ hơn, nhưng điều này có thể là khớp quá mức hơn là một mô hình tốt
1.7.2 Cải thiện tính tổng quát hóa (ngưng huấn luyện khi mạng 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
– Giới hạn số bước luyện
Khi mạng được luyện, nó chuyển các hàm ánh xạ từ đơn giản đến tương đối phức tạp Nó sẽ đạt được một cấu hình tổng quát hóa tốt nhất tại một điểm nào đó Sau điểm đó mạng sẽ học để mô hình hóa nhiễu, những gì mạng học được sẽ trở thành quá khớp Nếu
ta phát hiện ra thời điểm mạng đạt đến trạng thái tốt nhất này, ta có thể ngừng tiến trình luyện trước khi hiện tượng quá khớp xảy ra
Trang 20
Ta biết rằng, chỉ có thể để đánh giá mức độ tổng quát hóa của mạng bằng cách kiểm tra mạngtrên các mẫu nó không được học Ta thực hiện như sau: chia mẫu thành tập mẫu huấn luyện và tập mẫukiểm tra Luyện mạng với tập mẫu huấn luyện nhưng định kỳ dừng lại và đánh giá sai số trên tập mẫukiểm tra Khi sai số trên tập mẫu kiểm tra tăng lên thì quá khớp đã bắt đầu và ta dừng tiến trình luyện
Chú ý rằng, nếu sai số kiểm tra không hề tăng lên, tức là mạng không có đủ số nút ẩn để quákhớp Khi đó mạng sẽ không có đủ số nút cần thiết để thực hiện tốt nhất Do vậy nếu hiện tượng quákhớp không hề xảy ra thì ta cần bắt đầu lại nhưng sử dụng nhiều nút ẩn hơn
Ngoài ra, người ta còn áp dụng phương pháp ngưng luyện khi mạng bắt đầu quá khớp Trong kỹthuật này, dữ liệu chia thành hai tập con Tập thứ nhất là tập huấn luyện, dùng để cập nhật trọng số vàngưỡng của mạng Tập thứ hai là tập kiểm tra Sai số trên tập kiểm tra này được giám sát trong suốt quátrình huấn luyện Sai số trên tập kiểm tra thường giảm trong giai đoạn đầu huấn luyện Tuy nhiên khimạng bắt đầu quá khớp dữ liệu, sai số trên tập kiểm tra thường bắt đầu tăng Khi sai số kiểm tra tăngsau một số vòng lặp, việc huấn luyện sẽ ngừng, trọng số và ngưỡng ở cực tiểu sai số kiểm tra sẽ đượctrả lại
Hình 1.14: Mạng được ngưng huấn luyện đúng lúc
1.8 Ứng dụng mạng Neural trong lĩnh vự nhận dạng
Trang 21
Ứng dụng mạng Neural trong lĩnh vực nhận dạng là xây dựng một hệ thống tin học có khả năng: cảm nhận-nhận thức-nhận biết các đối tượng vật lý gần giống khả năng của con người Nhận dạng có gắn chặt với 3 khả năng trên là một lĩnh vực hết sức rộng
có liên quan đến việc xử lý tín hiệu trong không gian nhiều chiều, mô hình, đồ thị, ngôn ngữ, cơ sở dữ liệu, phương pháp ra quyết định Hệ thống nhận dạng phải có khả năng thể hiện được quá trình nhận thức của con người qua các mức:
oMức một : mức cảm nhận: cảm nhận được sự tồn tại các đối tượng quan sát, hay đối tượng mà hệ thống cần nhận dạng Mức này cũng đưa ra quá trình thu nhận số liệu qua các bộ cảm biến trong hệ thống nhận dạng, ví dụ trong hệ thống nhận dạng tiếng nói: đối tượng ở đây là hình biển số xe máy được chụp từ camera.
oMức hai: mức nhận thức: ở đây biểu diễn quá trình học, mô hình hoá đối tượng để tiến tách các đối tượng cần nhận dạng thành từng nhóm với các đặc trưng khác nhau.
oMức ba: mức nhận biết: từ đối tượng đã được phân thành từng nhóm nhỏ, mạng có thể nhận biết đây là đối tượng nào ở đầu ra.
1.9 Kết luận chương
Trong chương này ta đã tìm hiểu được mô hình, cấu trúc cũng như cách huấn luyện mạngNeural và các ứng dụng của mạng Neural vào lĩnh vực nhận dạng, vốn là một trong những ví dụ điểnhình của mạng Neural
Trang 22
Chương Hai
CƠ SỞ LÝ THUYẾT
2.1 Giới thiệu chương
Chương hai sẽ tìm hiểu phương pháp giữ xe thông minh dùng thẻ FRID, đề ra hướng giải quyết bài toán nhận dạng Đồng thời trình bày lý thuyết cơ bản của ảnh số, các thuật toán, phép biến đổi, bộ lọc dùng để nâng cao chất lượng ảnh
2.2 Tìm hiểu hệ thống nhận dạng biển số xe mô tô hai bánh
Đa số các bãi giữ xe mô tô hai bánh ở nước ta đều quản lí bằng cách thức thủ công đơn giảnnhất đó là trong bãi giữ xe sẽ có ít nhất là hai người:
Đầu vào: Một người đọc biển số, ghi biển số xe vào vé giữ xe, bấm vào xe một phần vé xe, phần còn lại sẽ đưa cho chủ xe giữ hoặc chủ xe giữ tấm vé
xe có ghi biển số của mình.
Đầu ra: Một người kiểm tra số ghi trên vé xe và biển số xe.
Ngoài ra, còn có cách dùng phấn ghi lên xe một số trùng với số trên vé xe, rồi kiểm tra tương tự,nhưng cách này lộ rõ những yếu kém như phấn viết lên xe rất dễ bị xóa rồi ghi số khác, mất thẩm mỹ,…
Ưu điểm của những phương pháp thủ công là đơn giản không cần các thiết bị phức tạp Tuynhiên những phương pháp này tồn tại rất nhiều nhược điểm
Thứ nhất là lãng phí nguồn nhân lực, do phương pháp này phải cần rất nhiều người để có thể quản lý tốt toàn bộ bãi giữ xe
Thứ hai là độ chính xác không được đảm bảo, do việc đọc, ghi, kiểm tra biển số xe đều do con người thực hiện nên không thể tránh khỏi sai sót
Thứ ba là độ an toàn thấp, do dùng quá nhiều người nên việc quản lí con người khá phức tạp, hay do việc giám sát cũng là con người nên khó có thể bao quát tốt toàn bộ bãi xe
Trang 23Nhận dạng biển số đầu vào Lưu thông tin vào máy và thẻ
Giữ xe
Kiểm tra thông tin ở máy và thẻ
Kết thúcNhận dạng biển số đầu vào
Thứ tư, đa số vé xe khá đơn giản và dễ nhầm lẫn, nên kẻ gian có thể tráo vé, sửa đổi vé hoặc làm vé giả để qua mặt các nhân viên giữ xe
Thứ năm là tốc độ công việc không cao, do thực hiện qua nhiều khâu như đọc biển
số, ghi vé, bấm vé, kiểm tra vé
Và cuối cùng nhược điểm của phương pháp trên là không có một bằng chứng nào
để lưu giữ những thông tin khi xe ra vào bãi, thời gian ra khỏi bãi Do đó khi sự cố xảy ra (mất xe, mất vé xe, ) thì không có thông tin để kiểm tra, đối chiếu và không có khả năng thống kê, tính toán lượng xe vào và ra.
Tóm lại nhược điểm của các phương pháp thue công trên trên là tốc độ và hiệu quả thấp, khảnăng quản lý, kiểm soát rất kém, tính an toàn không cao
Xuất phát từ những nhược điểm trên thì có một phương pháp làm tăng hiệu quả trong việcquản lý giữ xe, đó là sẽ đặt camera ở vị trí cổng giữ xe, chụp ảnh biển số Sau khi phân tích và xử lý ảnhchương trình máy tính sẽ lưu giữ lại biển số xe cho khách thông qua một thẻ FRID và trong bộ nhớ củamáy tính biển số, ngày giờ gửi xe
Hình 2.1: Sơ đồ bãi giữ xe tự động
Trong đó, khâu nhận dạng biển số đầu vào và đầu ra được thực hiện bởi các bước sau:
Chụp hình biển
số xe
trên biển sốTách ký tự trên
biển số
Trang 24Ta có các phương pháp nhận dạng như sau:
Các phương pháp trích biển số xe trong ảnh:
Đây là bước không thể thiếu trong bài toán nhận dạng biển số xe, do đó có rất nhiều hướng giảiquyết bài toán này Có một số Phương pháp chính như: dựa vào đặc trưng cạnh biên trích được ta ápdụng các thuật toán xác định đường thẳng như phép biến đổi Hough để phát hiện các cặp đoạn thẳnggần song song ghép thành một ảnh chứa biển số, nhưng do biển số xe mô tô hiện nay ở nước ta không
có đường bao (xe mới) hay do thời gian đường bao sẽ bị mờ (xe cũ) nên ta khó có thể dùng phươngpháp này Hay tiếp cận theo hướng hình thái học, trong đó chú trọng vào các đặc trưng màu sắc, độsáng, sự đối xứng, các góc… Trong đồ án này em sử dụng một hướng tiếp cận phân tích phổ tần số trênảnh để trích vùng chứa biển số
Các phương pháp tách ký tự trong ảnh biển số:
Sau khi trích được vùng chứa biển số, ta thực hiện tách các ký tự từ biển số thành từng ký tựđơn Dạng chung của biển số xe mô tô hai bánh hiện nay là các ký tự sẽ có cùng kích cỡ, cùng hướng vàxuất hiện trên hai dòng Đây là đặc trưng rất quan trọng giúp ta đơn giản hóa bài toán này Hiện nay cómột số thuật toán tách ký tự trên biển số khá hiệu quả như:dung phương pháp hình thái học, lược đồchiếu theo đường ngang và đường dọc, dựa vào đó để tách các kí tự Trong đồ án này, em đã chọnphương pháp tách ký tự bằng phân tích biểu đồ mức xám (histogram) để tách ký tự
Các phương pháp nhận dạng ký tự:
Trang 25
Hiện nay có nhiều hướng tiếp cận để giải quyết bài toán này như: hình thái học, đo khoảng cáchhình học không gian, phương pháp phân loại bằng máy học như: mạng neural, mô hình Markov ẩn.Trong đồ án này em sử dụng ứng dụng của mạng neural để nhận dạng ký tự
2.3 Xử lý ảnh.
2.3.1 Các loại ảnh cơ bản trong xử lý ảnh.
Kỹ thuật xử lý ảnh tồn tại nhiều định dạng khác nhau từ ảnh đen trắng IMG cho đến ảnh đa cấpxám, ảnh màu: PCX, GIF, JPEG, BMP, …
Ảnh IMG: là ảnh đen trắng Phần đầu của ảnh IMG có 16 byte chứa các thông tin cần thiết của
ảnh Ảnh IMG được nén theo từng dòng Mỗi dòng bao gồm các gói, các dòng giống nhau cũng được nénthành các gói Toàn bộ ảnh chỉ gồm có những điểm sáng và điểm tối là các bit 0 hoặc 1
Ảnh PCX: là một trong những định dạng cổ điển nhất Nó sử dụng loạt mã dài RLE để nén dữ
liệu ảnh Quá trình nén và giải nén được thực hiện trên từng dòng ảnh Thực tế phương pháp nén PCXkém hiệu quả hơn kiểu IMG
Ảnh GIF: có lợi về không gian lưu trữ, với ảnh đen trắng kích thước tệp có thể nhỏ hơn bản gốc
từ 5-7 lần; với ảnh 16 màu, kích thước nhỏ hơn ảnh gốc 2-3 lần, có trường hợp xấp xỉ ảnh gốc Tuy nhiênvới ảnh 256 màu thì nó bộc lộ khả năng nén rất kém
Ảnh JPEG: sử dụng chuẩn nén cho ảnh tone liên tục Tiêu chuẩn này có thể được ứng dụng
trong nhiều lĩnh vực: lưu trữ ảnh, truyền bá báo chí, ảnh y học, camera số
Ảnh BMP: Đặc điểm nổi bật nhất của định dạng BMP là tập tin hình ảnh thường không được
nén bằng bất kỳ thuật toán nào Khi lưu ảnh, các điểm ảnh được ghi trực tiếp vào tập tin thường được
ký hiệu bởi n Một ảnh BMP n-bit có màu Giá trị n càng lớn thì ảnh càng có nhiều màu, và càng rõnét hơn Giá trị tiêu biểu của n là 1 (ảnh đen trắng), 4 (ảnh 16 màu), 8 (ảnh 256 màu), 16 (ảnh 65536màu) và 24 (ảnh 16 triệu màu) Ảnh BMP 24-bit có chất lượng hình ảnh trung thực nhất
2.3.2 Các khái niệm cơ bản trong xử lý ảnh
2.3.2.1 Phần tử ảnh (pixel)
Trong thực tế ảnh là một tín hiệu liên tục về không gian, giá trị độ sáng và màu sắc Trong quátrình số hóa, ảnh được rời rạc hóa thông quá trình lấy mẫu và lượng tử thành tập những điểm gọi làpixel, mỗi pixel mang thông tin của một điểm ảnh như độ sáng và màu sắc Tập hợp các pixel sắp xếp
Trang 26
theo thứ tự hàng và cột ta có được một bức ảnh số Mỗi pixel được biểu diền bởi 1 hoặc nhiều bit, các
bit này mã hoá một mức xám.
2.3.2.2 Mức xám (gray level)
Mức xám là kết quả của sự mã hóa tương ứng với một cường độ sáng của mỗi điểm ảnh vớimột giá trị Cách mã hóa kinh điển là dùng 16, 32, 64 hay 256 mức Ví dụ một pixel có 256 mức xám thìcần 8bit để mã hóa Mức xám càng lớn thì bức ảnh càng rõ nét
2.3.2.3 Ảnh số
Đây là đối tượng mà máy tính xử lý Ảnh số chỉ là một ma trận 2 chiều, và việc xử lý chúng chỉ lànhững thao tác trên ma trận này sao cho ra kết quả hợp lý Ví dụ một bức ảnh số có độ phân giải640x480 nghĩa là chiều ngang có 640 điểm ảnh (pixel), chiều dọc có 480 điểm ảnh, và mỗi điểm ảnhđược biểu diễn bằng một con số
Hình 2.3: Cách biểu diễn các điểm ảnh trong một bức ảnh số
Tùy theo giá trị dùng để biểu diễn điểm ảnh mà người ta phân ảnh số ra 3 loại chính:
- Ảnh nhị phân (binary image)
- Ảnh xám (gray image)
- Ảnh màu (color image)
Ảnh số trong không gian rời rạc thu được từ ảnh tương tự trong không gian liên tục thông quaquá trình số hóa Quá trình số hóa có thể hiểu đơn giản như sau:
Trang 27
- Ảnh tương tự được chia thành M hàng, N cột.
- Giao của hàng và cột được gọi là: pixel
Trang 28
2.3.2.4 Ảnh nhị phân (binary image)
Ảnh nhị phân được định nghĩa là ảnh có 2 mức xám(L=2) Giá trị mỗi điểm ảnh là 0 hoặc 1, nghĩa
là trắng hoặc đen Ảnh nhị phân được dùng trong tính toán logic, để phân biệt đối tượng với nền hay đơn giản để phân biệt biên với điểm khác
Hình 2.4: Ảnh sau khi chuyển qua nhị phân 2.3.2.5 Ảnh xám (gray image)
Ảnh gray là ảnh có nhiều hơn hai mức xám hay còn gọi là ảnh đa cấp xám Việc xác định số mứcphụ thuộc vào tiêu chí lượng tử hóa L thường được chọn bằng 32, 64, 128 và 256 Ví dụ ảnh gray 256mức nghĩa là giá trị mỗi điểm ảnh nằm trong giải giá trị từ 0 đến 255, nghĩa là cần 8 bits hay 1 byte đểbiểu diễn mỗi điểm ảnh này
Hình 2.5: Ảnh sau khi chuyển qua gray 2.3.2.6 Ảnh màu (color image)