Thịnh Hành 5/2024 # Luận Văn: Bài Toán Nhận Dạng Biển Số Xe, Hay # Top 9 Yêu Thích

Published on

Download luận văn đồ án tốt nghiệp với đề tài: Bài toán nhận dạng biển số xe, cho các bạn làm luận văn tham khảo

1. Luận văn Đề tài: Bài toán nhận dạng biển số xe

2. Đồ Án Tốt Nghiệp 1 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng MỤC LỤC MỞ ĐẦU…………………………………………………………………………………………………… 7 CHƯƠNG 1. Tổng quan về nhận dạng………………………………………………………….. 8 1.1 – Tính chất và sự cần thiết của bài toán nhận dang………………………………………….8 1.1.1 Tính chất …………………………………………………………………………………………8 1.1.2 Sự cần thiết. …………………………………………………………………………………….8 1.2 – Không gian biểu diễn đối tượng, không gian diễn dịch. ………………………………10 1.2.1 Không gian biểu diễn đối tượng ……………………………………………………….10 1.2.2 Không gian diễn dịch………………………………………………………………………10 1.3 – Mô hình và bản chất của quá trình nhận dạng…………………………………………….11 1.3.1 Mô hình…………………………………………………………………………………………11 1.3.2 Bản chất của quá trình nhận dạng……………………………………………………..12 CHƯƠNG 2. Xử lý ảnh và openCV ……………………………………………………………. 15 2.1 – Xử lý nhị phân……………………………………………………………………………………….16 2.2 – Giảm nhiễu. …………………………………………………………………………………………..18 2.2.1 Bộ lọc hộp thông thường (Normalized Box filter). ……………………………..19 2.2.2 Bộ lọc gaussian (Gaussian Filter)……………………………………………………..20 2.2.3 Bộ lọc Median (Median Filter):………………………………………………………..21 2.2.4 Bộ lọc song phương (Bilateral filter)…………………………………………………22 2.2.5 Filter2D…………………………………………………………………………………………23 2.3 – Biên và các phương pháp tìm biên……………………………………………………………24 2.3.1 Khái niệm về biên:………………………………………………………………………….24 2.3.2 Phương pháp Gradient. ……………………………………………………………………24 2.3.3 Toán tử la bàn. ……………………………………………………………………………….29 2.3.4 Laplace………………………………………………………………………………………….31 2.3.5 Tách sườn ảnh theo Canny. ……………………………………………………………..33

3. Đồ Án Tốt Nghiệp 2 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng 2.4 – Biến đổi Hough ……………………………………………………………………………………..35 2.5 – Một số hàm cơ bản trong thư viện OpenCV ………………………………………………41 2.5.1 Tải một ảnh và hiển thị ảnh. …………………………………………………………….41 2.5.2 Chuyển ảnh màu sang ảnh xám. ……………………………………………………….42 2.5.3 Tìm đối tượng bằng findContours ……………………………………………………43 CHƯƠNG 3. Bài toán nhận dạng biển số xe. ………………………………………………. 45 3.1 – Khái niệm về nhận dạng biển số xe…………………………………………………………..45 3.1.1 Khái niệm………………………………………………………………………………………45 3.1.2 Ứng dụng. ……………………………………………………………………………………..47 3.1.3 Phân loại biển số xe. ……………………………………………………………………….48 3.2 – Một số hướng giải quyết bài toán nhận dạng biển số xe………………………………52 3.2.1 Hướng tiếp cận phát triển vùng. ……………………………………………………….52 3.2.2 Hướng tiếp cận dò biên và biến đổi Hough………………………………………..53 3.2.3 Phân ngưỡng và tím vùng đối tượng (hướng tiếp cận của đồ án)………….54 3.3 – Hướng giải quyết……………………………………………………………………………………54 3.4 – Phát hiện vùng chứa biển số…………………………………………………………………….56 3.4.1 Giai đoạn 1: Biến đối ảnh xám và lọc ảnh………………………………………….57 3.4.2 Giai đoạn 2: Tiến hành phân ngưỡng hoặc phát hiện biên. …………………..57 3.4.3 Giai đoạn 3: Tìm đường bao đối đượng. ……………………………………………58 3.4.4 Giai đoạn 4: Tách vùng biển số. ……………………………………………………….59 3.5 – Tách riêng từng ký tự ……………………………………………………………………………..60 3.5.1 Giai đoạn 1: Tiến hành phân ngưỡng. ……………………………………………….61 3.5.2 Giai đoạn 2: Tìm vùng đối tượng. …………………………………………………….61 3.5.3 Giai đoạn 3: Tìm và tách vùng ký tự. ………………………………………………..61 3.6 – Nhận dạng ký tự quang học ( mạng nơron)………………………………………………..61 3.6.1 Mô hình nơron nhân tạo…………………………………………………………………..62 3.6.2 Mạng nơron……………………………………………………………………………………63

4. Đồ Án Tốt Nghiệp 3 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng 3.6.3 Mạng Kohonen……………………………………………………………………………….66 3.6.4 Mạng nơron nhiều lớp lân truyền ngược sai số …………………………………..71 CHƯƠNG 4. Kết quả và hướng phát triển của bài toán nhận dạng biển số xe. …. 74 4.1 – Kết quả hướng giải quyết “phân ngưỡng và tìm đối tượng”…………………………74 4.1.1 Kết quả dùng với phương pháp tìm biên Canny kết hợp với tìm vùng đối tượng. 75 4.1.2 Kết quả dùng với phương pháp phân ngưỡng kết hợp tìm vùng đối tượng 75 4.1.3 Kêt luận…………………………………………………………………………………………76 4.2 – Hướng phát triển của bài toán nhận dạng biền số xe. ………………………………….82 4.2.1 Nhận xét………………………………………………………………………………………..82 4.2.2 Hướng phát triển của bài toán…………………………………………………………..82 KẾT LUẬN……………………………………………………………………………………………… 84 TÀI LIỆU THAM KHẢO………………………………………………………………………….. 85 Phụ lục…………………………………………………………………………………………………….. 86 chúng tôi forum công nghệ, giáo dục

5. Đồ Án Tốt Nghiệp 4 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Danh mục các hình vẽ Hình 1.1 Nhận dạng vân tay trên máy ATM………………………………………………….. 9 Hình 1.2 Phiên dịch viên Jibbigo …………………………………………………………………. 9 Hình 1.3 Sơ đồ tổng quan một hệ nhận dạng. ………………………………………………. 14 Hình 2.1 Quá trình xử lý ảnh……………………………………………………………………… 15 Hình 2.2 Các bước cơ bản trong hệ thống xử lý ảnh……………………………………… 15 Hình 2.3 (a) ngưỡng 40,(b) ngưỡng 121 ……………………………………………………… 16 Hình 2.4 Sử dụng bộ lọc hộp thông thường. ………………………………………………… 20 Hình 2.5 sử dụng bộ lọc Gaussian………………………………………………………………. 21 Hình 2.6 sử dụng bộ lọc Median ………………………………………………………………… 22 Hình 2.7 sử dụng bộ lọc song phương…………………………………………………………. 23 Hình 2.8 filter2D nhân thay đổi tăng dần từ trái qua phải………………………………. 24 Hình 2.9 Tìm biên bằng chức năng Sobel trong OpenCV ……………………………… 29 Hình 2.10 Mặt nạ 8 hướng theo Kirsh…………………………………………………………. 29 Hình 2.11 Tìm biên Laplace………………………………………………………………………. 33 Hình 2.12 Tìm biên theo Canny …………………………………………………………………. 35 Hình 2.13 Trục tọa độ đề các đi qua 2 điểm…………………………………………………. 36 Hình 2.14 Trục tọa độ đề các……………………………………………………………………… 36 Hình 2.15 Hệ tọa độ cực……………………………………………………………………………. 37 Hình 2.16 Đường thẳngHough trong tọa độ cực…………………………………………… 38 Hình 2.17 Kết hợp giữa HoughLines với HoughCircles………………………………… 40 Hình 2.18 Tìm thấy hình tròn trong mẫu có hình tròn. ………………………………….. 41 Hình 2.19 Tải một ảnh vào cửa sổ windows ………………………………………………… 42 Hình 2.20 Chuyển ảnh màu sang ảnh xám…………………………………………………… 43 Hình 2.21 sử dụng findContours tìm đối tượng ……………………………………………. 44 Hình 3.1 Hệ thống tự động nhận dạng biển số xe. ………………………………………… 46 Hình 3.2 Biển số mới………………………………………………………………………………… 52

6. Đồ Án Tốt Nghiệp 5 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Hình 3.3 Một số loại biển số xe thông dụng ………………………………………………… 54 Hình 3.4 (a) ảnh đầu vào (b) ảnh xử lý xám và lọc song phương……………………. 57 Hình 3.5 ảnh sau khi tiến hành phân ngượng……………………………………………….. 58 Hình 3.6 Tìm đường bao các đối tượng ………………………………………………………. 59 Hình 3.7 Sau khi lọc bằng dặc điểm biển số và cắt riêng vùng biển số……………. 60 Hình 3.8 Các ký tự được cắt sau khi tìm thấy vùng biển số……………………………. 61 Hình 3.9 Mô hình nơron nhân tạo. ……………………………………………………………… 62 Hình 3.10 Mạng nơron truyền thẳng và nhiều lớp. ……………………………………….. 64 Hình 3.11 Mạng nơron hồi quy. …………………………………………………………………. 64 Hình 3.12 Học tham số có giám sát…………………………………………………………….. 66 Hình 3.13 Lưới các nơron …………………………………………………………………………. 67 Hình 3.14 Ánh xạ mặt cầu vào lưới nơron 15×15…………………………………………. 71 Hình 3.15 Mạng nơron 2 lớp……………………………………………………………………… 72 Hình 4.1 Biển không nhận dạng được…………………………………………………………. 77 Hình 4.2 Vùng biển số trong quá trình phân ngưỡng…………………………………….. 80 Hình 4.3 Mức xám thấp làm vùng biển số bị mất trong quá trình phân ngưỡng .. 80 Hình 4.4 Những biển số không nhận đủ ký tự ……………………………………………… 82

7. Đồ Án Tốt Nghiệp 6 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Danh mục các bảng Bảng Tên bảng Trang Bảng 1 Chi tiết tìm vùng biển số sử dụng dò biên Canny và tìm vùng đối tượng. 77 Bảng 2 Chi tiết tìm vùng biển số sử dụng hướng phân ngưỡng và tìm vùng đối tượng. 78 Bảng 3 Tìm vùng biển số trong các khoảng ngưỡng khác nhau tăng dần.(biển được tìm thấy ở khoảng ngưỡng trước sẽ không phải là đối tượng xét ở các khoảng ngưỡng sau). 79 Bảng 4 Tìm vùng biển số trong các ngưởng khác nhau giảm dần. (biển được tìm thấy ở khoảng ngưỡng trước sẽ không phải là đối tượng xét ở các khoảng ngưỡng sau). 80 Bảng 5 Chi tiết các khoảng ngưỡng phát hiện những biển số.( các biển tách ly thành công ở khoảng ngưỡng trước không được tính cho khoảng ngưỡng sau). 82 chúng tôi forum công nghệ, giáo dục

8. Đồ Án Tốt Nghiệp 7 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng MỞ ĐẦU Hiện nay, với sự phát triển kinh tế xã hội đã bùng nổ số lượng phương tiện giao thông. Gây ra những khó khăn trong công tác quản lý, xử lý vi phạm giao thông mà nguồn nhân lực con người khó có thể đảm đương được. Vì vậy vần để cần thiết là có một hệ thông quản lý, xử lý vi phạm giao thông tự động. Để xây dựng hệ thống quản lý giao thông tự động thì ” Bài toán nhận dạng biển số xe” là tiền đề để xây dựng những mô hình quản lý đó. Tuy nhiên, hiện nay ở Việt Nam nhưng hệ thống quản lý đó chưa nhiều và lĩnh vực nhận dạng còn đang phát triển. Từ những thực tế đó, trong thời gian làm đố án tốt nghiệp em đã quyết định lựa chọn tìm hiểu về bài toán ” nhận dạng” trong đó chú trọng vào việc nhận dạng biển số xe. Để phục vụ cho bước đầu trong hệ thống quản lý phương tiện giao thông tại Việt Nam. Trong điều kiện năng lực và thời gian có hạn, nên báo cáo của em không tránh khỏi những sai sót. Em kình mong thầy cô và các bạn đóng góp những ý kiến để em có thể chỉnh sửa và bổ sung những phần thiếu sót để em hoàn thiện đề tài của mình. Em xin chân thành cảm ơn Thầy Vũ Anh Dũng và các bạn đã hết lòng giúp đỡ, chỉ bảo để em có thể hoàn thành tốt đồ án tốt nghiệp này. Trong báo cáo đồ án lần này em trình bày thành 4 chương như sau. Chương I: Tổng quan về nhận dạng. Chương II. Xử lý ảnh và OpenCV. Chương III. Bài toán nhận dạng biển số. Chương IV. Kết quả và hướng phát triển của bài toán nhận dạng biển số xe.

9. Đồ Án Tốt Nghiệp 8 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng CHƯƠNG 1. Tổng quan về nhận dạng. 1.1 – Tính chất và sự cần thiết của bài toán nhận dang. 1.1.1 Tính chất – Nhận dạng là quá trình phân loại các đối tượng được biểu diễn theo một mô hình nào đó và gán cho chúng vào một lớp (gán đối tượng một tên gọi) dựa theo những quy luật và các mẫu chuẩn. Quá trình nhận dạng dựa vào những mẫu học biết trước gọi là nhận dạng có thầy (supervised learning); trong trường hợp ngược lại gọi là học không thầy (non supervised learning). – Nhận dạng là một bài toán quan trọng trong ngành thị giác máy tính. 1.1.2 Sự cần thiết. – Cùng với sự phát triển không ngừng của kinh tế xã hội và các ngành kỹ thuật hiện nay. Đòi hỏi sự quản lý và xử lý thông tin chính xác mà nó vượt quá sức của con người. Vì vậy chúng ta cần có máy móc hoặc động làm giảm tải hoặc thay thế công việc nặng nhọc, đòi hỏi sự chính xác cao và nhàm chán cho con người. Việc giúp máy móc nhận dang (thu thập , phân loại thông tin) như còn người sẽ giúp máy móc hoạt động hiệu quả giống như con người với độ chính xác cao hơn rất nhiếu. – Một số ứng dụng của bài toán nhận dạng. Nhận dạng dấu vân tay: ở Việt Nam đã được sử dụng trong việc chấm công, điểm danh và làm khóa an toàn cho các loại cửa sắt, máy tính xách tay…. Nó tạo sự tiện dụng và rất an toàn. chúng tôi forum công nghệ, giáo dục

10. Đồ Án Tốt Nghiệp 9 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Hình 1.1 Nhận dạng vân tay trên máy ATM. Thay vì phải nhập mã pin trên máy ATM thì bạn chỉ việc đặt ngón tay trỏ của mình lên và giao dịch sẽ bắt đầu. Nhận dạng giọng nói: ứng dụng này được tích hợp trên nhiều sản phẩm, bạn sẽ điều khiển các thiết bị qua giọng nói của mình thay vì phải thao tác trực tiếp bằng tay, như trong mô hình nhà thông minh, trên điện thoại…. Ví dụ : ứng dụng Jibbigo trên điện thoại đi động , Ứng dụng này có thể dịch được tiếng nói của người sử dụng với 8 ngôn ngữ khác nhau như tiếng Anh, Pháp, Đức, Nhật, Hàn Quốc, Philipin, Tây Ban Nha, Trung Quốc. Hình 1.2 Phiên dịch viên Jibbigo Nhận dạng biển số xe: sẽ được giới thiệu tại Chương III

11. Đồ Án Tốt Nghiệp 10 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng 1.2 – Không gian biểu diễn đối tượng, không gian diễn dịch. 1.2.1 Không gian biểu diễn đối tượng Các đối tượng khi quan sát hay thu nhập được thường được biểu diễn bởi tập các đặc trưng hay đặc tính. Như trong trường hợp xử lý ảnh, ảnh sau khi được tăng cường để nâng cao chất lượng, phân vùng và trích chọn đặc tính, .được biểu diễn bởi các đặc trưng như biên , miền đồng nhất…. Người ta thường phân các đặc trưng này theo các loại như: đặc trưng tô pô (tập điểm), đặc trưng hình học và đặc trưng chức năng. Việc biểu diễn ảnh theo đặc trưng nào còn phụ thuộc vào ứng dựng tiếp theo. Ví dụ : giả sử đối tường X (ảnh, chữ viết, dấu vân tay,…) được biểu diễn bởi n thành phần đặc trưng: X={x1,x2….,xn}; mỗi xi biểu diễn một đặc tính. Không gian biểu diễn đối tượng thường gọi tắt là không gian đối tượng A được định nghĩa: A={X1,X2……,Xm} Trong đó mỗi Xi biểu diễn một đối tượng. Không gian này có thể là vô hạn. nhưng để tiện xem xét thì ta chỉ xét tập hữu hạn. 1.2.2 Không gian diễn dịch. Không gian diễn dịch là tập các tên gọi của đối tượng. Kết thúc quá trình nhận dạng ta xác định được tên gọi cho các đối tượng trong tập không gian đối tượng hay nói là đã nhận dạng được đối tượng. Một hình thức gọi là Ω là tập tên đối tượng: Ω ={ w1 ,w2,….wk} với wi, i= 1,2,….k là tên các đối tượng Quá trình nhận dạng đối tượng f là một ánh xa f: A Ω với f là tập các quy luật để định một phần tử trong A ứng với một phần tử trong Ω. Nếu tập các quy luật và tập tên các đối tượng là biết trước như trong nhận dạng chữ viết có ( có 26 lớp từ AZ),

13. Đồ Án Tốt Nghiệp 12 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng vector tham số trong trường hợp này chính là các moment µij với i=1,2,….,p và j = 1,2,…,q. Còn trong số các đặc trưng hình học, người ta hay sử dụng chu tuyến, đường bao, diện tích và tỉ lệ T=4πS/p2 với S là diện tích, p là chu tuyến. Việc chọn phương pháp biểu diễn sẽ làm đơn giản cách xây dựng. Tuy nhiên, việc lựa chọn đặc trưng nào là hoàn toàn phụ thuộc vào ứng dụng. b. Mô hình cấu trúc. Cách tiếp cận của mô hình này dựa vào việc mô tả đối tượng nhờ một số khái niệm biểu thị các đối tượng cơ sở trong ngôn ngữ tự nhiên. Để mô tả đối tượng, người ta dùng một số dạng nguyên thủy như đoạn thẳng, cung …. Chẳng hạn một hình chữ nhật được định nghĩa gồm 4 đoạng thẳng vuông góc với nhau từng đôi một. Trong mô hình này người ta sử dụng một bộ kí hiệu kết thúc Vt, một bộ kí hiệu không kết thúc gọi là Vn . Ngoài ra còn dùng một tập các luật sản xuất để mô tả cách xây dựng các đối tượng phù hợp dựa trên các đối tượng đơn giản hơn hoặc đối tượng nguyên thủy. Trong cách tiếp cận này, ta chấp nhận một khẳng định là: cấu trúc là kết quả của việc áp dụng luật sản xuất theo những nguyên tắc xác định bắt đầu từ một dạng gốc bắt đầu. Một cách hình thức, ta có thể coi mô hình này tương đương một văn phạm G=(Vt,Vn,P,S) với : -Vt là bộ kí hiệu kết thúc, -Vn là bộ ký hiệu không kết thúc, -P là luật sản xuất, -S là dạng ( ký hiệu bắt đầu). 1.3.2 Bản chất của quá trình nhận dạng. Quá trình nhận dạng gồm 3 giai đoạn chính: – Lựa chọn mô hình biểu diễn đối tượng.

14. Đồ Án Tốt Nghiệp 13 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng – Lựa chọn luật ra quyết định (phương pháp nhận dạng) và suy diễn quá trình học. – Học nhận dạng. Khi mô hình biểu diễn đối tượng đã được xác định, có thể là định lượng ( mô hình tham số) hay định tính ( mô hình cấu trúc), quá trình nhận dạng chuyển sang giai đoạn học. Học là giai đoạn quan trọng. Thao tác học nhằm cải thiện, điểu chỉnh việc phân hoạch tập đối tượng thành lớp. Việc nhận dạng chính là tìm ra quy luật và các thuật toán để có thể gán đối tượng vào một lớp hay nói một cách khác gán cho đối tượng một tên. a. Học có thầy ( supervised learning) Kỹ thuật phân loại nhờ kiến thức biết trước gọi là học có thầy. Đặc điểm cơ bản của kỹ thuật này là người ta có một thư viện các mẫu chuẩn. Mẫu cần nhận dạng sẽ được đem so sánh với mẫu chuẩn để xem nó thuộc loại nào. Ví dụ như trong một ảnh viễn thám, người ta muốn phân biệt một cách đồng lúa, một cánh rừng hay một vùng đất hoang mà đã có miêu tả về đối tượng đó. Vấn đề chủ yếu là thiết kế một hệ thống để có thể đối sánh đối tượng trong ảnh với mẫu chuẩn và quyết định gán cho chúng vào một lớp. Việc đối sánh nhờ vào các thủ tục ra quyết định dựa trên một công cụ gọi là hàm phân lớp hay hàm ra quyết định. b. Học không có thầy( non supervised learning) Kỹ thuật này phải tự định ra cách lớp khác nhau và xác định các tham số đặc trưng cho từng lớp. Học không có thầy khó khăn hơn. Một mặt, do số lớp không được biết trước, mặt khác những đặc trưng của lớp cũng không biết trước. Kỹ thuật này nhằm tiến hành mọi cách gộp nhóm có thể và chọn lựa cách tốt nhất. Bắt đầu từ tập dữ liệu, nhiều thủ tực xử lý khác nhau nhằm phân lớp và nâng cấp dần để đạt được một phương án phân loại.

15. Đồ Án Tốt Nghiệp 14 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Nhin chung, một hệ thống nhận dạng có thể tóm tắt sơ đồ sau. Hình 1.3 Sơ đồ tổng quan một hệ nhận dạng.

16. Đồ Án Tốt Nghiệp 15 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng CHƯƠNG 2. Xử lý ảnh và openCV Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho ra kết quả mong muốn. kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh “tốt hơn” (theo ý muốn) hoặc một kết luận. Hình 2.1 Quá trình xử lý ảnh. Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem là đặc trưng cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của đối tượng trong không gian và có thể xem như hàm n biến . Do đó ảnh trong xử lý ảnh có thể xem như ảnh n chiều. Sơ đồ tổng quát của hệ thống xử lý ảnh: Hình 2.2 Các bước cơ bản trong hệ thống xử lý ảnh Và ở chương này chung ta sẽ được biết OpenCV hỗ trợ gì cho những bước xử lý ảnh. Tiếp sau em sẽ giới thiệu các bước xử lý và OpenCV hỗ trợ xử lý ảnh như thế nào (cung cấp thư viện gì).

18. Đồ Án Tốt Nghiệp 17 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Để thực hiện việc tách ngưỡng này thì OpenCV cung cấp chức năng threshold. threshold( src_gray, dst, threshold_value, max_BINARY_value,threshold_type );  src_gray: hình ảnh đầu vào.  dst: hình ảnh đầu ra.  threshold_value: giá trị thực hiện tách ngưỡng.  max_BINARY_value: giá trị thực hiện tách ngưỡng nhị phân.  threshold_type: một trong 5 ngưỡng hoạt động 5 ngưỡng hoạt động OpenCV cung cấp: a. Threshold Binary: nếu giá trị các điểm ảnh cao hơn giá trị ngưỡng thì được thiết lập giá trị mới là giá trị cao nhất (255), thấp hơn giá trị các điểm ảnh về mức 0; b. Threshold binaru, inverted: ngược với Threshold Binary c. Truncate: giá trị các điểm ảnh cao hơn giá trị ngượng sẽ bị thay đổi bằng giá trị ngưỡng, thấp hơn giữ nguyên.

19. Đồ Án Tốt Nghiệp 18 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng d. Threshold to Zero: giá trị các điểm ảnh cao hơn giá trị ngưỡng sẽ được giữ lại còn các điểm ảnh có giá trị thấp hơn giá trị ngưỡng sẽ đưa về giá trị 0. e. Threshold to Zero, inverted : Ngược lại với Threshold to Zero. 2.3 – Giảm nhiễu. Nhiễu trong ảnh là do nhiều nguyên nhân bao gồm: sự thoái hóa theo thời gian, quá trình sao chép. Một số kỹ thuật xử lý ảnh sẽ được áp dụng để loại bỏ nhiễu. Sau khi được nhị phân hóa, ảnh sẽ được lọc để giảm nhiễu. Trên thực thế tồn tại nhiều loại nhiễu, tuy nhiên người ta thường xem xét 3 loại chính: nhiễu cộng, nhiễu nhân và nhiễu xung. Chúng xuất hiện những điểm ảnh khác biệt so với vùng xung quanh. Bản chất của nhiễu là thường tương ứng với tần số cao và cơ sở lý thuyết của các bộ lọc là chỉ cho những tín hiệu có tần số nào đó thông qua, do đó để lọc nhiệu người ta thường sử dụng bộ lọc thông thấp hay trung bình. Với nhiễu cộng và nhiễu

21. Đồ Án Tốt Nghiệp 20 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng rộng w pixel và chiều cao h pixels.  Point(-1,-1) chỉ các điểm có vị trí hàng xóm. Hình 2.4 Sử dụng bộ lọc hộp thông thường. 2.3.2 Bộ lọc gaussian (Gaussian Filter). Đây là bộ lọc hữu ích nhất (mặc dù không phải là nhanh nhất). Nó được thực hiện bởi chức năng GaussianBlur trong OpenCV. gaussianBlur(src,dst,size(i,i),0,0)  src: hình ảnh nguồn  dst: hình ảnh đầu ra.  size(w,h). kích thước của hạt nhân sẽ được sử dụng. w và h phải là số lẻ và tích cự nếu không kích thước sẽ được tính bằng cách sử dụng đối số σx và σy.  σx độ lệch chuẩn trong x. Viết 0 ngụ ý rằng độ lệch được tính bằng các sử dụng kích thước hạt nhân.

22. Đồ Án Tốt Nghiệp 21 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng  σy độ lệch chuẩn y. Hình 2.5 sử dụng bộ lọc Gaussian 2.3.3 Bộ lọc Median (Median Filter): Các bộ lọc trung bình chạy qua từng phần tử của tín hiệu và thay thế mỗi điểm ảnh với trung bình của các điểm anh lân cận nó. Bộ lọc này được cung cấp bởi các chức năng medianBlur trong thư viện OpenCV. medianBlur (src,dst,i);  src: ảnh nguồn.  dst: ảnh đầu ra ( có kích thước giống như src)  i: kích thước của hạt nhân ( i phải lẻ).

23. Đồ Án Tốt Nghiệp 22 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Hình 2.6 sử dụng bộ lọc Median 2.3.4 Bộ lọc song phương (Bilateral filter). Hầu hết các bộ lọc có mục tiêu chính là làm mịn hình ảnh đầu vào. Tuy nhiên các bộ lọc không chỉ giảm nhiễu mà còn làm mờ các cạnh. Để tránh điếu này chúng ta xử dụng bộ lọc song phương. Và OpenCV cung cấp chức năng bilateralFilter. bilateralFilter(src,dst,i,i*2,i/2);  src: ảnh nguồn  dst: ảnh đầu ra  d: đường kính của vùng lân cận điểm ảnh.  σcolor: độ lệch chuẩn trong không gian màu.  σSpace: độ lệch chuẩn trong khoảng tọa độ.

27. Đồ Án Tốt Nghiệp 26 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Các toán tử đạo hàm được áp dụng khá nhiều, ở đây, ta chỉ xét một số toàn tử tiêu biểu: Robert, Sobel, prewitt, đẳng hướng(Isometric), 4- lân cận (thư viện OpenCV hỗ trợ Sobel tìm biên khá tốt). a. Toán tử Robert (1965). Với mỗi điểm ảnh I(x,y) của I, đạo hàm theo x, theo y được ký hiệu tương ứng bởi gx, gy được tính:         ),()1,( ),(),1( yxIyxIg yxIyxIg y x Điếu này tương đương với việc chập hai mặt nạ H1 và H2 theo hai hướng x và y:         01 10 xH        10 01 yH Hướng ngang (x) Hướng theo (y) b. Toán tử mắt nạ Sobel. Toán tử Sobel được Duda và Hart đặt ra vào năm 1973 với các mặt nạ tương tự như của Robert nhưng cấu hình khác như sau:               101 101 101 xH             111 000 111 yH Hướng ngang (x) Hướng dọc (y) c. Mặt nạ Prewitt Toán tử Prewitt dưa ra năm 1970 có dạng.               101 202 101 xH             121 000 121 yH Hướng ngang (x) Hướng dọc (y).

29. Đồ Án Tốt Nghiệp 28 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Trong thư viện OpenCv có chức năng Sobel với mặt nạ:               303 10010 303 xG              3103 000 3103 yG Cho kết quả tốt hơn so với Sobel theo chức năng tiêu chuẩn. Mat grad_x, grad_y; Mat abs_grad_x, abs_grad_y;

30. Đồ Án Tốt Nghiệp 29 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Hình 2.9 Tìm biên bằng chức năng Sobel trong OpenCV 2.4.3 Toán tử la bàn. Kirsh đã đề xuất mặt nạ 8 hướng như 8 hướng la bàn. Hình 2.10 là mô hình 8 hướng và được đặt tên theo hướng địa lý và theo chiều kim đồng hồ: Đông, Đông- Nam, Nam, Tây-Nam, Tây, Tây-Bắc, Bắc, Đông-Bắc; mỗi hướng lệch nhau 45 độ. Hình 2.10 Mặt nạ 8 hướng theo Kirsh. b. Toán tử la bàn Krish:

32. Đồ Án Tốt Nghiệp 31 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng              111 121 111 BH              111 121 111 BĐH               111 121 111 ĐH             111 121 111 NH             111 121 111 NĐH               111 121 111 TH              111 121 111 BTH             111 121 111 NTH Hoặc:             121 000 121 BH             012 101 210 BĐH               101 202 101 ĐH             121 000 121 NH              210 101 012 NĐH               101 202 101 TH             210 101 012 BTH              012 101 210 NTH 2.4.4 Laplace. Để khắc phục hạn chế và nhược điểm của phương pháp Gradient, trong đó sử dụng đạo hàm riêng bậc nhất người ta nghĩ đến việc sử dụng đạo hàm riêng bậc hai hay toán tử Laplace. Phương pháp do biên theo toán tử Laplace hiệu quả hơn phương pháp toán

33. Đồ Án Tốt Nghiệp 32 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng tử Gradient trong trường hợp mức xám biến đổi chậm, miền chuyển đổi mức xám có độ trải rộng. Toán tử Laplace được định nghĩa như sau: 2 2 2 2 2 y f x f f       Toán Laplace dùng một số mặt nạ khác nhau nhằm tính gần đúng đạo hàm riêng bậc 2. Các dạng mặt nạ theo toán tử Laplace bậc 3×3 có thể:               010 141 010 1H               111 181 111 2H               121 152 121 3H Ghi chú: mặt nạ H1 còn cải biên bằng việc lấy giá trị ở tâm bằng 8 thay vì giá trị 4. Để thấy rõ việc xấp xỉ đạo hàm riêng bậc 2 trong không gian 2 chiều với mặt nạ H1 làm ví dụ, ta có thể tính gần đúng như sau: ),1(),1(),(22 2 yxfyxfyxf x f    )1,()1,(),(22 2    yxfyxfyxf y f Do đó: )1,()1,(),1(),1(),(42 2 2 2 2        yxfyxfyxfyxfyxf y f x f f Tóm lại: Kỹ thuật Laplace tạo đường biên mảnh ( có độ rộng 1 pixel). Nhược điểm của kỹ thuật này là rất nhạy với nhiễu, do đó đường biên thu được thường kém ổn định. Phương pháp Laplace được hỗ trợ sẵn có trong thư viện OpenCV.

34. Đồ Án Tốt Nghiệp 33 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Laplacian( src_gray,dst,ddepth,kernel_size,scale,delta, BORDER_DEFAULT );  Src_gray: ảnh đầu vào.  Dst: ảnh đầu ra.  Ddepth: độ sâu của ảnh.  Kernel_size: kích thước hạt nhân  Scale, delta and BORDER_DEFAULT: những giá trị mặc định Kết quả : hình 2.11 Hình 2.11 Tìm biên Laplace 2.4.5 Tách sườn ảnh theo Canny. Bộ tách sường ảnh theo Canny (1986) dựa trên cặp đạo hàm riêng bậc nhất với việc làm sạch nhiễu. Mục này được để riêng vì đây là phương pháp tách đường biên khá phổ biến được biết đến như là phương pháp dò tối ưu, nó đáp ứng được ba tiêu chí sau:  Tỷ lệ lội thấp: phát hiện tốt các cạnh.  Phân vùng tốt: Khoảng cách giữa các điểm ảnh cạnh phát hiện và pixel thực tế phải được giảm nhiễu.

36. Đồ Án Tốt Nghiệp 35 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Tỉ lệ đề nghị cao/thấp giữa 2/1 và 3/1 Hình 2.12 Tìm biên theo Canny 2.5 – Biến đổi Hough Biến đổi Hough là phương pháp dùng để xác định đường thẳng ( đường tròn elip) gần đúng đi qua một tập hợp điểm. Với (x, y) là một điểm y=mx+c  c =-mx + y Như vậy nếu có N điểm nằm trên một đường thẳng            Ni mxyc Ni ycmx iiii ,1, Thay vì tìm N điểm trên đường thẳng, người ta xét tất cả các điểm, xem điểm nào có nhiều dường thẳng đi qua nhất.

37. Đồ Án Tốt Nghiệp 36 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Hình 2.13 Trục tọa độ đề các đi qua 2 điểm. Hình 2.14 Trục tọa độ đề các Thực chất biến đổi Hought là biến điểm thành đường thẳng.    ]][[ ,, ,0]][[ cmathìmxyc tmcmyx cmcma ii ii Sau đó đếm trên ma trận Hạn chế: hệ số 0< m < ∞

42. Đồ Án Tốt Nghiệp 41 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Hình 2.18 Tìm thấy hình tròn trong mẫu có hình tròn. 2.6 – Một số hàm cơ bản trong thư viện OpenCV Trong những phần trước em đã đề đến một số hàm của OpenCV trong phần này tôi sẽ giới thiệu những hàm cơ bản hỗ trợ cho các hàm đã được đề cập ở trên. Và đề cập tới hàm tìm tối tượng hữu hiệu trong thư viện OpenCV. 2.6.1 Tải một ảnh và hiển thị ảnh. Đây là một chức năng đơn giản không thể thiếu của OpenCV. Tải một ảnh. mat src;

45. Đồ Án Tốt Nghiệp 44 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng đường biền và xây dựng lại một hệ thống phân cấp đầy đủ các đường nét lồng nhau.  Method: phương pháp lấy đường viền xấp xỉ. ví dụ: CV_CHAIN_APPROX_SIMPLE nén phân đoạn ngang , dọc chéo và chỉ ra vị trí.  Offset. Tùy trọn bù đắp. Kết quả: Hình 2.21 Hình 2.21 Sử dụng findContours tìm đối tượng

46. Đồ Án Tốt Nghiệp 45 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng CHƯƠNG 3. Bài toán nhận dạng biển số xe. 3.1 – Khái niệm về nhận dạng biển số xe. 3.1.1 Khái niệm. Hệ thống nhận dạng biển số xe là hệ thống có khả năng phân tích hình ảnh và xác định biển số trên xe, thông qua video, thiết bị ghi hình và hình ảnh. Sau là xác định thông tin như: chủ sở hữu, … Phân loại ứng dụng nhận dạng biển số xe: Ứng dụng nhận dạng biển số xe là ứng dụng có khả năng phân tích hình ảnh và xác định biển số xe từ các hình ảnh chụp được từ các thiết bị thu hình. Nguồn hình ảnh cho ứng dụng có rất nhiều. Và phát triển, hình ảnh được trực tiếp thu nhận từ camera. Trong báo cáo tốt nghiệp em chỉ dừng lại ở mức xác định biển số xe (cắt các vùng chữ trên biển) từ các bức ảnh. Có nhiều cách thức khác nhau để phân loại các ứng dụng nhận dạng biển số xe. Một trong những cách đơn giản là phân loại ứng dụng nhận dạng biển số xe thông qua mục đích sử dụng. Có thể chia ứng dụng nhận dạng biển số xe thành hai loại sau: Loại 1: Giới hạn vùng nhìn  Đầu vào: ảnh thu trực tiếp từ các thiết bị ghi nhận ảnh kỹ thuật số. Ảnh được ghi nhận thường chỉ giới hạn trong vùng có biển số xe.  Nguyên lý hoạt động: Các phương tiện giao thông phải chạy với một tốc độ đủ chậm để máy ghi nhận hình ảnh có thể thu được ảnh vùng biển số xe.  Ứng dụng: Những ứng dụng nhận dạng biển số xe loại này thường được dùng tại các trạm kiểm soát các trạm thu phí, các bãi gửi xe tự động , các trạm gác cổng… (hình 3.1).

47. Đồ Án Tốt Nghiệp 46 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Hình 3.1 Hệ thống tự động nhận dạng biển số xe. Loại 2: Không giới hạn vùng nhìn.  Đầu vào: ảnh đầu vào thu được từ thiết bị ghi hình tự động, không phụ thuộc vào góc độ, các đối tượng xung quanh, ảnh không cần bắt buộc chỉ chụp vùng chứa biển số xe, mà có thể là ảnh tổng hợp như chứa thêm các đối tượng như người, cây, đường phố…, miễn là vùng biển số phải dủ rõ để có thể nhận dạng được ký tự trong vùng đó.  Nguyên ly hoạt động: do đặc tính không giới hạn vùng nhìn mà ảnh đầu vào có thể thu được từ một thiết bị ghi hình ( camera, máy ảnh). Và do đó, công việc đầu tiên là dò tìm trong ảnh, để xác định đúng vùng nào là biển số xe. Sau đó, thực hiện tách vùng và nhận dạng. Cuối cùng tùy thuộc vào mục đích sử dụng ma kết quả nhận dạng được truyền đi hay lưu trữ để phục vụ nhu cầu của người dùng cuối.  Ứng dụng: vì không phụ thuộc vào phạm hình ảnh thu được nên có dùng ứng dụng tại nhiều nơi như tại những điểm điều tiết giao thông, tại các vị trí nhạy cảm của giao thông như ngã ba, ngã tư đường giao nhau. Kiểm soát, phát hiện những hành vi vi phạm an toàn giao thông.

49. Đồ Án Tốt Nghiệp 48 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Ngoài ra, hệ thống còn được ứng dụng vào công tác chống trộm xe, các bãi giữ xe tự động, điều tiết giao thông …. 3.1.3 Phân loại biển số xe. Trước tiên là quy định biển số của 64 tỉnh thành ( Biển trắng chữ đen): 11-Cao Bằng 12 – Lạng Sơn 14 – Quảng Ninh 15,16 – Hải Phòng 17 – Thái Bình 18 – Nam Định 19 – Phú Thọ 20 – Thái Nguyên 21 – Yên Bái 22 – Tuyên Quang 23 – Hà Giang 24 – Lào Cai 25 – Lai Châu 26 – Sơn La 27 – Điện Biên 28 – Hòa Bình 29,30,31,32 – Hà Nội 33 – Hà Tây 34 – Hải Dương 35 – Ninh Bình 36 – Thanh Hóa 43 – Đà Nẵng 47 – Đắc Lắc 48 – Đắc Nông 49 – Lâm Đồng 50 đến 59 – TP. Hồ Chí Minh 60 – Đồng Nai 61 – Bình Dương 62 – Long An 63 – Tiền Giang 64 – Vĩnh Long 65 – Cần Thơ 66 – Đồng Tháp 67 – An Giang 68 – Kiên Giang 69 – Cà Mau 70 – Tây Ninh 71 – Bến Tre 72 – Bà Rịa – Vũng Tàu 73 – Quảng Bình 77 – Bình Định 78 – Phú Yên 79 – Khánh Hòa 80 – Các đơn vị kinh tế thuộc TW (hàng không) 81 – Gia Lai 82 – KonTum 83 – Sóc Trăng 84 – Trà Vinh 85 – Ninh Thuận 86 – Bình Thuận 88 – Vĩnh Phúc 89 – Hưng Yên 90 – Hà Nam 92 – Quảng Nam 93 – Bình Phước 94 – Bạc Liêu 95 – Hậu Giang 97 – Bắc Cạn 98 – Bắc Giang

50. Đồ Án Tốt Nghiệp 49 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng 37 – Nghệ An 38 – Hà Tĩnh 74 – Quảng Trị 75 – Huế 76 – Quảng Ngãi 99 – Bắc Ninh Những quy định về màu sắc và chữ số đặc biệt: 1. Màu xanh chữ trắng là biển xe của các cơ quan hành chính sự nghiệp: – Trực thuộc chính phủ là biển xanh 80. – Trưc thuộc tính thành thì theo số tương ứng. 2. Màu đỏ chữ trắng là biền xe trong quân đội: AT: Binh đoàn 12. AD: Quân Đoàn 4 , Binh đoàn cửu long. BB: bộ binh. BC: Binh chủng Công Binh. BH: Binh chủng hoá học. BS: Binh đoàn Trường Sơn. BT: Binh chủng thông tin liên lạc. BP: Bộ tư lệnh biên phòng. HB: Học viện lục quân. HH: Học viện quân y. KA: Quân khu 1. KB: Quân khu 2.

51. Đồ Án Tốt Nghiệp 50 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng KC: Quân khu 3. KD: Quân khu 4. KV: Quân khu 5. KP: Quân khu 7. KK: Quân khu 9. PP: Các quân y viện. QH: Quân chủng hải quân. QK, QP: Quân chủng phòng không không quân. TC: Tổng cục chính trị. TH: Tổng cục hậu cần. TK: Tổng cục công nghiệp quốc phòng. TT:Tổng cục kỹ thuật. TM: Bộ tổng tham mưu. VT: Viettel. BL: bộ tư lệnh 969. 3. Màu trắng 2 chữ, 5 số là biển dành cho người nước ngoài: – NG là xe ngoại giao – NN là xe của các tổ chức, cá nhân nước ngoài: trong đó có 3 số ở giữa là mã quốc gia, 2 số tiếp theo là số tứ tự. Xe số 80 NG xxx-yy là biển cấp cho các đại sứ quán, thêm gạch đỏ ở giữa và hai số cuối là 01 là biển xe của tổng lãnh sứ.

52. Đồ Án Tốt Nghiệp 51 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng 4. Những xe mang biển 80 gồm có: – Các ban của Trung ương Đảng. – Văn phòng Chủ tịch nước. – Văn phòng Quốc hội. – Văn phòng Chính phủ. – Bộ Công an. – Xe phục vụ các đồng chí ủy viên Trung ương Đảng công tác tại Hà Nội và các thành viên Chính phủ. – Bộ ngoại giao. – Viện kiểm soát nhân dân tối cao. – Tòa án nhân dân tối cao – Đài truyền hình Việt Nam. – Đài tiếng nói Việt Nam. – Thông tấn xã Việt Nam. – Báo nhân dân. – Thanh tra Nhà nước – Học viện Chính trị quốc gia. – Ban quản lý Lăng, Bảo tàng, khu di tích lịch sử Hồ Chí Minh. – Trung tâm lưu trữ quốc gia – Ủy ban Dân số kế hoạch hóa gia đình. – Tổng công ty Dầu khí Việt Nam. – Các đại sứ quán, tổ chức quốc tế và nhân viên người nước ngoài. – Ủy ban Chứng khoán nhà nước. – Cục hàng không dân dụng Viết Nam. – Kiểm toán nhà nước. 5. Các biển A: Xe của Công an – Cảnh sát tương ứng với các tỉnh.

53. Đồ Án Tốt Nghiệp 52 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Ví dụ; 35A xe của Công an – Cảnh sát tỉnh Ninh Bình. 6. Biển 5 số. Theo quy định của Thông tư 36/2010/TT-BCA do Bộ Công An ban hành ngày 12 tháng 10 năm 2010, kể từ ngày 6 tháng 12 năm 2010 các biển số xe tại Việt Nam sẽ tăng từ bốn lên năm chữ số (phần mở rộng) khi đăng ky mới ( biển cũ vẫn dùng bình thường, và có thể chuyển sang biển mới nếu có nhu cầu). Biển số xe mới, kích thước vẫn giữ nguyên nhưng dãy số mở rộng trên biển không liền nhau mà bị gắt quãng ( hình 3.2) Hình 3.2 Biển số mới. 3.2 – Một số hướng giải quyết bài toán nhận dạng biển số xe. Có rất nhiều phương pháp tiếp cận. Trong đó có những cách tiếp cận phổ biến sau. 3.2.1 Hướng tiếp cận phát triển vùng.  Nhóm tác giả Nigel Whyte and Adrien Kiernan được đại diện cho cách tiếp cận này.  Ý tưởng của phương pháp này: đó là biển số xe thường chứa một mầu đồng nhất, chẳng hạn như mầu trắng và có diện tích tương đối nhất định. Vì vậy có thể dùng phương pháp phát triển vùng hoặc sử dụng khung chữ nhật di chuyển trong để tìm ra vùng có tính chất thỏa mãn biển số xe và tiến hành nhận dạng.

54. Đồ Án Tốt Nghiệp 53 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng  Ưu điểm: rất đơn giản, và xử lý nhanh đối với những ảnh chỉ chứa vùng biển số xe.  Nhược điểm: khi ảnh có thêm nhiều đối tượng không phải là vùng biển số xe, chẳng hạn là ảnh chụp tổng quát gồm cả cảnh vật bên ngoài thì cách tiếp cận này trở nên không hiệu quả. Vì vậy, phương pháp này rất có hiệu quả đối với hệ thống trạm thu phí, trạm gác cổng, gửi xe tự động. 3.2.2 Hướng tiếp cận dò biên và biến đổi Hough.  Nhóm tác giả Michael Lindenbaum, Rosen Alexander, Vichik Sergey, Sandler Roma được đại diện cho cách tiếp cận này.  Ý tưởng của cách tiếp cận này là: Biển số xe được bao bọc bởi đường viền. Do đó, có thể dùng phương pháp phát hiện biên, sau đó dùng phép biến đối Hough để trích những đoạn thẳng dọc, ngang tồn tại trong ảnh. Giao điểm của những đoạn thẳng này chính là vùng bao chứa biển số xe. Và cuối cùng là nhận dạng các ký tự ở trên mỗi vùng con.  Ưu điểm: độ chính xác cao. Và hệ thống nhận dạng đa phần đều phát triển theo hướng tiếp cận này.  Nhược điểm: Độ phức tạp tính toán khá cao. Khi ảnh có thêm nhiều đối tượng khác nhau thì khối lượng tính toán tăng lên rất nhiều. Do mục đích là phải xác định được vùng con nào chứa biển số xe. Ngoài hai cách tiếp cận phổ biến trên còn có nhiều các tiếp cận khác để xác định chính xác vùng nào chứa biển số xe.

55. Đồ Án Tốt Nghiệp 54 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng 3.2.3 Phân ngưỡng và tím vùng đối tượng (hướng tiếp cận của đồ án). Ý tưởng: nhận thấy các vùng biển số là các vùng đặc trưng có hình chữ nhật, có tỉ lệ kích thước theo tiêu chuẩn. Vì vậy sau khi tách ngường và tìm vùng (OpenCV hỗ trợ findContourns) ta tìm những vùng có tỷ lệ theo kích thước giống với tỉ lệ của biển số xe. Để có thế lọc các vùng biển số một lần nữa thì ta tiếp tục tìm số vùng con trên vùng biển số và so sánh với số lượng ký tự của biển số. 3.3 – Hướng giải quyết. Ở phần 3.2 chúng ta đã tìm hiểu những hướng giải quyết cho việc xác định vùng chứa biền số xe. Mỗi cách giải quyết có nhửng ưu điểm và hạn chế riêng của nó tuy nhiên sẽ có hướng giải quyết nhất định dựa trên đặc trưng của biển số xe. Một số đặc điểm biển số xe ở Việt Nam. Hình 3.3 Một số loại biển số xe thông dụng a. Tiêu chuẩn về kích thước: Ở mỗi nước thường có tiêu chuẩn về kích thước nhất định. Đối với nước ta, biển số xe qui định khá đồng đều cho mỗi loại xe, tỷ lệ chiều dài, rộng cho mỗi loại xe là như nhau. – Đối với loại xe có một hàng ký tự thì tỉ lệ dài/rộng là: 5.4/5.3  HW . – Đối với loại xe có hai hàng ký tự thì tỉ lệ dài/rộng là: 4.1/8.0  HW . Từ những đặc điểm này, ta có có thể xác định được các vùng con thỏa mãn thì khả năng chứa biển số là rất cao.

56. Đồ Án Tốt Nghiệp 55 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng b. Số lượng ký tự trong biển số xe: Mỗi ký tự thường có tỷ lệ kích thước chiều rộng, chiều cao tương ứng với chiều dài và rộng của biển số xe. Ví dụ, chiều cao của mỗi ký tự luôn nhỏ hơn 85% chiều cao của biển số xe và luôn lớn hơn 33% chiều cao của biển xe. Còn chiều rộng của ký tự không lớn hơn 20% chiều dài của biển số xe. Mỗi ký tự của biển số xe được xem như là một vùng liên thông con. Do đó, chúng ta có thể đếm vùng liên thông con thỏa mãn tích chất đó là ký tự. Chú ý số ký tự trên biển số xe là từ 6 đến 10 ký tự. ở nước ta chỉ có số ký tự trên mỗi biền số xe nằm trong khoảng 6 đến 9 ký tự. Vậy ta có thể dùng ngưỡng [6.9] để nhận dạng vùng biển số xe. Từ những nhận xét trên, chúng ta có thể đưa ra giải pháp cho bài toán nhận dạng: 1. Sử dụng phát hiện biên và biến đổi Hough. Sau đó sử dụng hai tính chất trên biển số xe để xác định chính xác vùng con chứa biển số xe. Khi đã xác định chính xác vùng con chứa biển số thì tiến hành nhận dạng các ký tự. Đây là cách tiếp cận của khá nhiều các bài toán nhận dạng sử dụng dò biên kết hợp với Hough. 2. Sử dụng tách ngưỡng và phân vùng đối tượng. Sử dụng việc tách ngưỡng loại bỏ những vùng không phải là biển số ( có cùng tỉ lệ kích thước nhưng có độ xám thấp hơn dưới 100). Sau đó tiến hành tìm vùng đối đượng theo tỉ lệ của biển số ta sẽ thu được số lượng phân vùng biển số ít hơn. Tiếp đó sử dụng tìm vùng đối tượng một lần nữa với các phân vùng biển số lấy số lượng ký tự tách được so sánh với số lượng ký tự hợp lệ để tạo tìm phân vùng biển số chính xác hơn. Và cũng tiến hành nhận dạng từng ký tự được cắt ra. Trong báo cáo của mình em sẽ trính bày theo giải pháp 2 gồm các bước sau:  Bước 1: Tìm vùng biển số Với ảnh xám đầu vào thực hiện phân ngưỡng ( hoặc dò biên canny) và tìm đối tượng. Tách các đối tượng có tỉ lệ rộng/dài trong phạm vi biển số để làm nguồn cho bước 2.

57. Đồ Án Tốt Nghiệp 56 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng  Bước 2: Tách riêng từng ký tự trên biển số: Tiến hành tìm đối tượng trên nguồn do bước 1 cung cấp sau đó so sánh số đối tượng nhận được có trùng với số ký tự tên các biển số xe không. Nếu khớp với tiêu chuẩn thì đó là những vùng biển số có khả năng là biển số xe cao nhất. Tách riêng từng ký tự để nhận dạng quang học như OCR hoặc mạng noron tuy nhiên trong báo cáo lần này em chỉ dừng lại ở việc tách riêng từng ký tự của biển số xe. 3.4 – Phát hiện vùng chứa biển số. Sơ đồ các bước phát hiện vùng chứa biển số xe. ảnh đầu vào Biến đổi ảnh xám và lọc ảnh Tìm đường bao đối tượng Tách vùng biển số Phân ngưỡng

58. Đồ Án Tốt Nghiệp 57 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng 3.4.1 Giai đoạn 1: Biến đối ảnh xám và lọc ảnh Ảnh đầu vào là một ảnh bất kỳ, được chuyển về ảnh có 256 mức xám và tiến hành lọc ảnh giảm nhiễu. Để tiến hành lọc giảm nhiễu em sử dụng bộ lọc song phương để giảm khả năng bị mờ biên. (a) (b) Hình 3.4 (a) ảnh đầu vào (b) ảnh xử lý xám và lọc song phương. 3.4.2 Giai đoạn 2: Tiến hành phân ngưỡng hoặc phát hiện biên. Có hai quá trình phân ngưỡng đó là phân ngượng tự động và phân ngưỡng không tự động. Với phân vùng biển số là khá nhỏ so với toàn bộ ảnh nên quá trình phân ngưỡng tự động bằng việc lấy Histogram sẽ dễ gây lỗi và không làm sáng tỏ vùng biển số. Qua thực nghiệm ta thấy phân vùng biển số thường có ngưỡng từ 100 – 220 vì vậy trong phần này của mình em tiến hành thử tìm vùng biển số với từng ngưỡng bằng vòng lặp. Vòng lặp sẽ xuất phát từ ngưỡng 100 đến 220 vì thông thường phát hiện vùng biển số các biển rõ thì ngưỡng 100 – 120 là có thể dừng vòng lặp lại sẽ tiết kiệm các bước tính toán.

59. Đồ Án Tốt Nghiệp 58 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Kết thúc giai đoạn này ta thu được ảnh 8-bit kênh đơn để làm nguồn cho giai đoạn 3. (hình 3.5) 3.4.3 Giai đoạn 3: Tìm đường bao đối đượng. Khi ta tiến hành phần ngưỡng sẽ làm hiện rõ vùng biển số, trong giai đoạn này ta có thể sử dụng các phương pháp phát hiện biên. Khi có ảnh 8-bit kênh đơn thu được ở giai đoạn 2 chúng ta tiến hành tìm các vùng biển là đối tượng riêng bằng hàm findContourns (torng thư viện OpenCV) để trích các vùng và lấy thông số của các vùng như tọa độ điểm của các cạnh, diện tích của vùng. (hình 3.6) Hình 3.5 ảnh sau khi tiến hành phân ngượng

60. Đồ Án Tốt Nghiệp 59 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Hình 3.6 Tìm đường bao các đối tượng 3.4.4 Giai đoạn 4: Tách vùng biển số. Sau khi có được những thông số của giai đoạn 3 tìm thấy. Dựa vào các đặc điểm của biển số mà em tiến hành như sau: Tìm đường bao đối tượng với với tiêu chí tỉ lệ 5.45.3  HW hoặc 4.18.0  HW để tìm ra những vùng có thể là biển số nhất. Để hạn chế số lượng vùng tím thấy em tiếp tục lọc ảnh theo tiêu chí diện tích để hạn chế những vùng quá nhỏ và quá lớn so với vùng biển số. Với ảnh đầu vào được thay đổi kích cỡ về ảnh có cỡ 640X480 thì vùng biển số sẽ nằm trong khoảng diện tích từ 1500 – 25000. Tiến hành cắt các vùng có thể là biển số nhất trên ảnh xám đã lọc ở giai đoạn 1 để làm nguồn cho giai đoạn cắt ký tự để làm mẫu cho các quá trình nhận dạng ký tự (tự xây dựng). Ở giai đoạn này có thể kết hợp dùng các bài toán nhận dạng ký tự để phát hiện biển số xe.(hình 3.7)

61. Đồ Án Tốt Nghiệp 60 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Hình 3.7 Sau khi lọc bằng dặc điểm biển số và cắt riêng vùng biển số 3.5 – Tách riêng từng ký tự Trong phần này mục đích chính là tách các ký tự để làm mẫu huấn luyện cho việc nhận dạng ký tự trên biển số. (hình 3.8) Các giai đoạn trong việc phân tách các ký tự như sau:

62. Đồ Án Tốt Nghiệp 61 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Ảnh đầu vào là ảnh chỉ chứa biển số xe được trích ra từ ảnh xám đã qua lọc ở giai đoạn 4 của phần “3.4 Phát hiện vùng biển số”. Hình 3.8 Các ký tự được cắt sau khi tìm thấy vùng biển số 3.5.2 Giai đoạn 1: Tiến hành phân ngưỡng. Giai đoạn này tương tự giai đoạn 2 của phần 3.4 3.5.3 Giai đoạn 2: Tìm vùng đối tượng. Tương tự phần 3.4.3 3.5.4 Giai đoạn 3: Tìm và tách vùng ký tự. Tương tự phần 3.4.4 nhưng với tiêu chí khác như. Số ký tự nằm trong khoản 6 đến 9 ký tự. Vùng ký tự có diện tích từ 50 đến 200. Tiến hành cắt ký tự và lưu lại. 3.6 – Nhận dạng ký tự quang học ( mạng nơron) Mạng nơron nhân tạo ( Artificial Neural Network) bao gồm các nút ( đơn vị xử lý) được nối với nhân bởi các liên kết noron. Mỗi liên kết kèm theo có một trọng số nào đó, đặc trưng cho đặc tính kích hoạt giữa các nơron. Có thể xem trọng số là phương tiện để lưu giữa thông tin dài hạn trong mạng và nhiệm vụ của quá trình huấn luyện (học) mạng là cập nhật các trọng số khi có thêm các thông tin về các mẫu học, hay nói cách khác, các trọng số được điều chỉnh sao cho đúng. Trong mạng, một số nơron được nối với môi trường bên ngoài như các đầu ra, đầu vào.

63. Đồ Án Tốt Nghiệp 62 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng 3.6.1 Mô hình nơron nhân tạo Hình 3.9 Mô hình nơron nhân tạo. Mỗi nơron được nối với các nơron khác và nhận được các tín hiệu sj từ chúng với các trọng số wj. Tổng các thông tin vòa có trọng số là: Người ta gọi đây là thành phần tuyến tính của nơron. Hàm kích hoạt g (còn gọi là hàm chuyển). Đóng vai trò biến đổi từ Net sang tín hiệu đầu ra out. Đây là thành phần phi tuyến của nơron. Có 3 dạng hàm kích hoạt thường được dùng trong thực tế. *)Hàm dạng bước:         00 01 x x xstep           x x xstep 0 1 *)Hàm dấu:         01 01 x x xstep           x x xstep 1 1 *)Hàm sigmoid: Net=  jj sw Out= g(Net)

64. Đồ Án Tốt Nghiệp 63 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng      x e xSigmoid 1 1 )( Ở đây ngưỡng  đóng vai trò làm tăng tính thích nghi và khả năng tính toán của mạng nơron. Sử dụng ký pháp véctơ,  nssS ,….,1 véctơ tín hiệu vào,  nwwW ,….,1 vecto trọng số, ta có  Netgout  SWNet  Trường hợp xét ngưỡng  , ta dùng biểu diễn vecto mới  ,,….,1 nssS  ,  1,,….,1 ‘  nwwW . 3.6.2 Mạng nơron Mạng nơron là hệ thống bao gồm nhiều phần tử xử lý đơn giản (nơron) hoạt động song song. Tính năng của hệ thống này tùy thuộc vào cấu trúc của hệ, các trọng số liên kết nơron và quá trình tính toán tại các nơron đơn lẻ. Mạng nơron có thể học từ dữ liệu mẫu và tổng quát hóa dựa trên các dựa trên các dữ liệu mẫu học. Trong mạng nơron, các nơron đón nhận tín hiệu vào gọi là nơron vào và các nơron đưa thông tin ra gọi là nơron ra. a. Phân loại các mạng nơron  Theo kiểu liên kết nơron: ta có mạng nơron truyền thẳng (feel-forward Neural Network) và mạng nơron qui hồi (recurrent Neural Network). Trong mạng nơron truyền thẳng, các liên kết nơron đi theo một hướng nhất định, không tạo thành đồ thị không có chu trình với các đỉnh là các nơron, các cung là các liên kết giữa chúng. Ngược lại, các mạng qui hồi cho phép các liên kết nơron tạo thành chu trình. Vì các thông tin ra của các nơron được truyền lại cho các nơron đã góp phần kích hoạt chúng, nên mạng hồi quy còn có khả năng lưu giữ trạng thái trong của nó dưới dạng các ngưỡng kích hoạt ngoài các trọng số liên kết nơron.  Theo số lớp: các nơron có thể tổ chức lại thành các lớp sao cho mỗi nơron của lớp này của được nối với các nơron ở lớp tiếp theo, không cho phép các liên kết giữa các nơron trong cùng một lớp, hoặc từ nơron lớp dưới lên nơron lớp trên. Ở đây cũng không cho phép các liên kết nhảy qua một lớp.

65. Đồ Án Tốt Nghiệp 64 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Hình 3.10 Mạng nơron truyền thẳng và nhiều lớp. Hình 3.11 Mạng nơron hồi quy. b. Chức năng của mạng noron.  Mạng noron như một công cụ tính toán: Giả sử mạng noron Neural network có m nơron vào và có n nơron ra, khi đó với mỗi vecto các tính hiệu vào X=(x1,…,xn), sau quá trình tính toán tại các nơron ẩn, ta nhận được kết quả ra Y=(y1,…,yn). Theo nghĩa nào đó mạng nơron làm việc với tư cách một bảng tra, mà không cần biết dạng phụ thuộc hàm tường minh giữa Y và X. khi đó ta viết:  NNXtinhY , Cần lưu các nơron trên cùng một lớp có thể tính toán đồng thời, do vậy độ phức tạp tính toán nói chung sẽ phụ thuộc vào số lớp mạng. Các thông số cấu trúc mạng nơron bao gồm: – Số tính hiệu vào, số tín hiệu ra – Số lớp nơron – Số nơron trên mỗi lớp ẩn

66. Đồ Án Tốt Nghiệp 65 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng – Số lượng liên kết của mỗi nơron (liên kết đầy đủ, liên kết bộ phận và liên kết ngẫu nhiên) – Các trọng số liên kết nơron.  Mạng nơron như một hệ thống thích nghi có khả năng học: Để chỉnh các trọng số liên kết cũng như cấu trúc của mình sao cho phù hợp với các mẫu học. Người ta phân biết ba loại kỹ thuật học: – Học có giám sát (supervised learning) – Học không giám sát ( unsupervised learning) – Học tăng cường. Trong học giám sát, mạng được cung cấp một tập mẫu học {(Xs,Ys)} theo nghĩa Xs là các tín hiệu vào, thì kết quả ra đúng của hệ phải là Ys. Ở mỗi lần học, vector tín hiệu vào Xs được đưa vào mạng, sau đó so sánh sự sai khác giữa các kết quả ra đúng Ys với kết quả tính toán outs. Sai số này sẽ được dùng để hiệu chỉnh lại các trọng số liên kết trong mạng. Quá trình cứ tiếp tục cho đến khi thỏa mãn một tiêu chuẩn nào đó. Có hai cách sử dụng tập mẫu học: hoặc dùng các mẫu lần lượt, hết mẫu này đến mẫu khác, hoặc sử dụng đồng thời tất cả các mẫu một lúc. Các mạng với cơ chế học không giám sát được gọi là các mạng tự tổ chức. Các kỹ thuật học trong mạng nơron có thể nhằm vào hiệu chỉnh các trọng số liên kết (gọi là học tham số) hoặc điều chỉnh, sửa đổi cấu trúc của mạng bao gồm số lớp, số nơron, kiểu và trọng số các liên kết (gọi là học cấu trúc).  Học tham số: Giả sử có k nơron trong mạng và mỗi nơron có đúng một liên kết vào với các nơron khác. Khi đó, ma trận trọng số liên kết W sẽ có kích thước kx1. Các thủ tục học tham số nhằm mục đích tìm kiếm ma trận W sao cho  WXTinhY ss , đối với mọi mẫu học  ss YXS , (1)

67. Đồ Án Tốt Nghiệp 66 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Hình 3.12 Học tham số có giám sát.  Học cấu trúc: Với học tham số ta giả định rằng mạng có một cấu trúc cố định. việc học cấu trúc của mạng truyền thẳng gắn với yêu cầu tìm ra số lớp của mạng L và số nơron trên mỗi lớp nj. Tuy nhiên, với các mạng hồi quy còn phải xác định thêm các tham số ngưỡng  của các nơron trong mạng. Một cách tổng quát phải xác định bộ tham số  kknnLP  ,….,,,….,, 11 ở đây  jnk sao cho  PXTinhY ss , đối với mọi mẫu học  ss YXs , (2). Về thực chất, việc điều chỉnh các vector tham số W trong (1) hay P trong (2) đều qui về bài toán tìm kiếm tối ưu trong không gian tham số. Do vậy, có thể áp dụng các cơ chế tìm kiếm kinh điểm theo gradient. 3.6.3 Mạng Kohonen Cách xử lý thông tin trong các mạng ở trên thường chỉ quan tâm tới giá trị và dấu của các thông tin đâu vào, mà chưa quan tâm khai thác các mối liên hệ có tính chất cấu trúc trong lân cận của vùng dữ liệu mẫu hay toàn thể không gian mẫu. Chẳng hạn, với 2 thành phần ; 1 tam giác , 1 hình chữ nhật,

68. Đồ Án Tốt Nghiệp 67 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng ta có thể tạo thành hình ngôi nhà khi chúng được phân bố kề giáp với nhau theo một trật tự nhất định. Teuvo Kohonen (1989) đã đề xuất một ý tưởng rất đáng chú ý về ánh xạ có đặc trưng topo tự tổ chức ( theo nghĩa không cần có mẫu học) nhằm bào toàn trật tự sắp xếp các mẫu trong không gian biểu diễn nhiều chiều sang một không gian mới các mảng nơron ( một hoặc hai chiều). Trong mạng Kohonen, các vector tín hiệu vào gần nhau sẽ được ánh xạ sang các nơron trong mạng lân cận nhau. a. Cấu trúc mạng Mạng Kohonen rất gần gũi với kiểu cấu trúc mạng nơron sinh học và cấu tạo lẫn cơ chế học. Mạng Kohonen thuộc vào nhóm mạng một lớp các nơron được phân bố trong mặt phằng hai chiều theo kiểu lưới vuông hay lưới lục giác dưới. Phân bố này phải thỏa mãn yêu cầu; Mỗi nơron có cùng số nơron trong từng lớp láng giềng. Ý tưởng của Kohonen là các đầu vào tương tự nhau sẽ kích hoạt các nơron gần nhau về khoảng không gian. Mối quan hệ tương tự ( theo khoảng cách) có thể tồng quát hóa cho một lớp tương đối rộng các quan hệ tương tự giữa các tín hiệu đầu vào. Hình 3.13 Lưới các nơron Một cách trực quan, có thể xem thuật giải huấn luyện mạng Kohonen nhằm biến đổi không gian tín hiệu vào sang mạng nơron giống như các thủ tục kiểu như ” làm trơn” hay “tạo hình” dữ liệu. Để đáp ứng yêu cầu các nơron có cùng số nơron lân cận trong mỗi lớp láng giềng, người ta thường dùng các phép cuận chỉ số để đặt được hiệu ứng cái xăm xe. Chằng hạn tọa độ (xi, yi ) của các nơron thuộc lớp láng riềng thứ k của nơron cóa tọa độ (x,y) trong mảng nơron 2 chiều có kích thước pxq cho trong thủ tục sau:

69. Đồ Án Tốt Nghiệp 68 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng for i:=-k to k do for j:=-k to k do begin xi:=mod(x+i+p-1,p) + 1; yi:=mod(y+j+q-1,q) + 1; if (i=k) or (j=k) then nơ ron (xi, yi) thuộc vào lớp láng giềng thứ k else nơ ron (xi, yi) thuộc vào lớp láng giềng thứ r r<k; r được xác định bởi max(xi,yi) end; Trường hợp lớp noron Kohhonen là một dãy, cách cuộn tròn mạng nơron tạo thành một đường tròn. Tất cả các nơron của lớp kích hoạt có liên kết đầy đủ với lớp vào. Điểm quan trọng nhất trong mạng Kohonen là với một vector tín hiệu vào, nó chỉ cho phép các phản hồi mang tính chât địa phương nghĩa là đầu ra của mỗi nơron không được nối với tất cả các nơron khác mà chỉ với một số nơron lân cận. Sự phản hồi mang tính địa phương của những điều chỉnh (nếu có) tạo ra hiệu ứng là các nơron gần nhau về vị trí sẽ có hành vi tương tự khi có những tín hiệu giống nhau được đưa vào. b. Huấn luyện mạng Quá trình học được sử dụng trong mạng Kohonen dựa trên kỹ thuật cạnh tranh, không cần có tập mẫu học. Khác với trường hợp học có giám sát, các tin hiệu đầu ra có thể không biết được một cách chính xác.

70. Đồ Án Tốt Nghiệp 69 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Tại mỗi thời điểm chỉ có một nơron duy nhất C trong lớp kích hoạt được lựa chọn sau khi đã đưa vào mạng các tín hiêu Xs. Nơron này được chọn theo một trong hai nguyên tắc sau: – Nguyên tắc 1: Nơron C có tín hiệu ra cực đại. outc  max(outj) = max ((xsi wji) (9) j=1 i=1 – Nguyên tắc 2: Vector trong số của nơron C với tín hiệu vào nhất errc  min(errj) = min ((xsi – wji)2 (10) j =1 i=1 Sau khi xác định được nơron C, các trọng số wci được hiệu chỉnh nhằm làm cho đầu ra của lớn hơn hoặc gần hơn giá trị trọng số mong muôn. Do vậy, nếu tín hiệu vào xsi với trọng số sci tạo kết quả ra quá lớp thì phải giảm trọng số và ngược lại. Các trọng số của các nơron láng giềng j cũng phải được hiệu chỉnh giảm, tùy thuộc vào khoảng cách tính từ C. Ta đưa vào hàm tỷ lệ a(.) = a(dcj), ở đây dcj là khoảng cách topo giữa nơron trung tâm C và nơron j đang xét. Trên thực tế hàm a(.) có thể là hằng số, hàm tỷ lệ nghịch hoặc hàm có điểm uốn. Để đảm bảo yêu câu, do có nhiều mẫu tham gia quá trình huấn luyện ta đưa vào hệ số η(t). ở đây : t là số đối tượng mẫu đã dùng để luyện mạng . tmax là số mẫu tối da amaz, amin tương ứng là giá trị cực đại, cực tiểu của hàm a(.) Tùy thuộc vào nơron trung tâm C được lựa chọn theo nguyên tắc 1 hoặc nguyên tắc 2 ta có cách hiệu chỉnh các trọng số wij tương ứng: wji = wji + (t) a(dcj )(1 – xi wji ) (1) hoặc wji = wji + (t) a(dcj) (xi – wji ) (2) Sau đó, chuẩn hoá các trọng số sao cho: 1 1 2  n i wji