Logic mờ ứng dụng trong bài toán nhận dạng chư viết tay

82 4 0
Logic mờ ứng dụng trong bài toán nhận dạng chư viết tay

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CNTT VÀ TRUYỀN THÔNG TRẦN THỊ HIẾU LOGIC MỜ ỨNG DỤNG TRONG BÀI TOÁN NHẬN DẠNG CHỮ VIẾT TAY LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Ngun, năm 2013 Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CNTT VÀ TRUYỀN THÔNG TRẦN THỊ HIẾU LOGIC MỜ ỨNG DỤNG TRONG BÀI TOÁN NHẬN DẠNG CHỮ VIẾT TAY Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Ngƣời hƣớng dẫn khoa học: TS Vũ Vinh Quang Thái Ngun, năm 2013 Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ LỜI CẢM ƠN Trước hết, xin chân thành gửi lời TS Quang, người tận tình hướng dẫn tạo điều kiện cho tơi q trình làm luận văn tốt nghiệp Tôi xin chân thành cảm ơn thầy, cô giáo T , Viện công nghệ thông tin thuộc Viện khoa học Cộng nghệ Việt Nam Các thầy, cô giúp đỡ, tạo điều kiện cho tơi q trình học tập làm luận văn tốt nghiêp Tôi gửi lời cảm ơn đến bạn đồng nghiệp, người thân bạn bè động viên, giúp đỡ đóng góp nhiều ý kiến q báu cho tơi q trình học tập làm luận văn tốt nghiệp Trong khoảng thời gian ngắn, với kiến thức thân hạn chế nên luận văn không tránh khỏi thiếu sót mặt khoa học, tơi mong nhận đóng góp ý kiến Thầy, giáo bạn bè để luận văn hoàn chỉnh Xin trân trọng cảm ơn! , tháng năm 2013 Học viên Trần Thị Hiếu Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ C Trang Chƣơng LOGIC MỜ VÀ BÀI TOÁN NHẬN DẠNG CHỮ VIẾT TAY 1.1 Các khái niệm 1.2 Các phép toán tập mờ 1.2.1 Phép giao 1.2.2 Phép hợp 1.2.3 Phép phủ định 1.3 Suy luận mờ 1.3.1 Nguyên lý suy rộng quan hệ mờ 1.3.2 Luật mờ 10 1.4 Điều khiển mờ (Fuzzy Control) 16 1.5 Nhận dạng mờ (Fuzzy Pattern Recornition) 19 1.5.1 Bài toán nhận dạng 19 1.5.2 Phân nhóm vai trị thực tế 20 Chƣơng LÝ THUYẾT NHẬN DẠNG ẢNH 21 2.1 Các khái niệm 21 2.1.1 Khái niệm ảnh số 21 2.1.2 Phân loại ảnh số 21 2.1.3 Khái niệm mức xám đồ 22 2.2 Lý thuyết nhận dạng ảnh 22 2.2.1 Lý thuyết xử lý ảnh 2D 22 2.2.2 Nâng cao chất lượng ảnh 27 2.2.3 Phân loại ảnh tìm biên ảnh 36 2.2.4 Quy trình nhận dạng ảnh 37 Chƣơng BÀI TOÁN NHẬN DẠNG CHỮ VIẾT TAY 43 3.1 Mơ hình toán 43 3.2 Các bước tiến hành toán nhận dạng chữ viết 44 Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ 3.2.1 Thu nhận mẫu liệu 44 3.2.2 Tách mẫu chuẩn hoá 46 3.2.3 Xây dựng thư viện mẫu cho ký tự 46 3.2.4 Hệ suy luận học cho toán nhận dạng chữ viết tay 46 KẾT LUẬN 53 TÀI LIỆU THAM KHẢO 54 Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ DANH MỤC HÌNH ẢNH Trang Hình 1.1: Một số hàm liên thuộc Hình 1.2 : Đồ thị minh hoạ nguyên lý suy rộng mờ Hình 1.3: Hàm liên thuộc biến ngơn ngữ T(tuổi) 11 Hình 1.4: Mơ hình suy luận mờ với luật-một tiên đề 14 Hình 1.5: Mơ hình suy luận mờ luật-nhiều tiền đề 14 Hình 1.6 : Mơ hình suy luận mờ hai luật hai tiên đề 15 Hình 1.7: Cấu trúc điều khiển mờ 16 Hình 1.8: Cấu trúc hệ chuyên gia 17 Hình 1.9: Quá trình nhận dạng 19 Hình 2.1 : Tốn tử tuyến tính 24 Hình 2.2: Mặt nạ lọc tuyến tính 3 25 Hình 2.3 : Toán tử điểm ảnh 26 Hình 2.4: Mơ hình nhiễu 27 Hình 2.5: Lọc ngược khôi phục ảnh nguyên gốc 29 Hình 1.6: Một số mặt nạ khơng gian trung bình 33 Hình 2.7: Mặt nạ lọc thông thấp 33 Hình 2.8: Cửa sổ lọc giả trung vị 34 Hình 2.9: Phương pháp lưới 39 Hình 2.10: Phương pháp cung 40 Hình 2.11: Biểu diễn mẫu tập kí hiệu 42 Hình 3.1 : Các cơng đoạn tốn nhận dạng ảnh 44 Hình 3.2 : Ba mẫu chữ cần đọc 47 Hình 3.3 : Ký tự cần nhận dạng 47 Hình 3.4: Giao diện chương trình nhận dạng 48 Hình 3.5: Vẽ chữ cần nhận dạng 49 Hình 3.6: Kết nhận dạng sau vẽ chữ 49 Hình 3.7: Mở file ảnh ký tự cần nhận dạng 50 Hình 3.8: Giao diện sau mở file ảnh ký tự 51 Hình 3.9: Kết sau nhận dạng ảnh ký tự 51 Hình 3.10: Ghi ký tự file ảnh 52 Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ LỜI MỞ ĐẦU Công nghệ tri thức chuyên ngành tích hợp tri thức người với hệ thống máy tính Các đặc tính tiêu biểu hệ thống dựa tri thức thể việc xử lí chuyển trạng thái khơng dựa vào thể cứng nhắc trạng thái Các định xử lí liệu phần tri thức hệ thống Lúc người ta đề cập nhiều đến tri thức thủ tục Để giải vấn đề người ta tăng cường thủ tục suy diễn với chế kết hợp luật với lập luận logic Lập luận logic dùng để rút kết luận từ kiện xem đắn Ở giai đoạn trước, việc truyền đạt cho máy cần thiết phải đảm bảo tính xác nhất, điều làm cho thao tác máy trở nên khô cứng tạo khoảng cách xa người máy “độ thông minh” việc giải toán kỹ thuật sống hàng ngày Hai lĩnh vực quan trọng phải kể đến lý thuyết mạng nơron logic mờ, chúng chìa khố để tạo hệ thống kỹ thuật vừa đảm bảo tính xác nhanh chóng vận hành, vừa có khả học từ mẫu liệu thống kê, lại có khả thơng minh mềm hố q trình định Đối với cán kỹ thuật ngành Điện tử viễn thông, lý thuyết xử lý tín hiệu có tín hiệu hình ảnh kiến thức thiếu Nhận dạng ảnh, đặc biệt nhận dạng ký tự mảng đề tài đáng quan tâm Việc nhận dạng ký tự với chữ viết tay tiết kiệm nhiều thời gian cho viêc nhập lưu trữ liệu Ý thức vấn đề trên, xin hoàn thành luận văn tốt nghiệp với đề tài “Logic mờ ứng dụng toán nhận dạng chữ viết tay” Nội dung đề tài gồm vấn đề sau: Chƣơng 1: Logic mờ toán nhận dạng chữ viết tay Chƣơng 2: Lý thuyết mờ ứng dụng Chƣơng 3: Bài toán nhận dạng chữ viết tay Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ Chƣơng LOGIC MỜ VÀ BÀI TOÁN NHẬN DẠNG CHỮ VIẾT TAY Trong chương 1, luận văn đề cập đến vấn đề sau: Một số khái niệm logic mờ như: Các phép toán tập mờ, Suy Luận Mờ, Điều khiển mờ (Fuzz Control), Nhận dạng mờ (Fuzzy Pattern Recornition), mơ hình tốn nhận dang Trong chương này, luận văn tham khao số tài liệu sau: [3], [4] , [6] [7] 1.1 Các khái niệm Cơ sở logic mờ việc ánh xạ từ biến x đầu vào thuộc tập A thành biến y đầu thuộc tập B Nói cách khác, giá trị x=a khơng xác định rõ có thuộc hay khơng thuộc tập B, khái niệm mờ đưa để làm tảng cho logic mờ điều khiển mờ sau Cơ chế logic mờ sau có dạng tập hợp trạng thái nếu… hay cịn gọi quy luật Tập mờ coi phần mở rộng tập kinh điển Nếu X không gian (một tập nền) phần tử biểu thị x, tập mờ A X xác định cặp giá trị: A x, x x X Với A x (1.1) Trong µA(x) gọi hàm liên thuộc x A - viết tắt MF (Membership Function) Nó khơng cịn hàm hai giá trị tập kinh điển nữa, mà hàm với tập giá trị hay gọi ánh xạ Tức là, hàm liên thuộc ánh xạ phần tử X tới giả trị liên thuộc khoảng [0,1] Như vậy, kiến trúc tập mờ phụ thuộc vào hai yếu tố: không gian hàm liên thuộc phù hợp Sự đặc biệt hàm thuộc mang tính chủ quan với ý nghĩa với định nghĩa khái niệm với người khác hàm thuộc xây xây dựng khác Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ Các hàm liên thuộc xây dựng từ hàm như: Kết nối hành vi, hàm bậc nhất, hình thang, hình tam giác, hàm phân bố Gaussian, đường cong xichma, đường cong đa thức bậc hai bậc ba Hình 1.1 mơ tả vài dạng hàm thuộc bản: (b) MF hinh thang 1 0.8 0.8 Do phu thuoc Do phu thuoc (a)MF hinh tam giac 0.6 0.4 0.2 0.6 0.4 0.2 20 40 60 80 100 1 0.8 0.8 0.6 0.4 0.2 40 60 80 100 80 100 (d) MF Generalized Bell Do phu thuoc Do phu thuoc (c) MF Gaussian 20 0.6 0.4 0.2 20 40 60 80 100 0 20 40 60 Hình 1.1: Một số hàm liên thuộc Có nhiều lựa chọn rộng rãi để lựa chọn hàm liên thuộc ưa thích Ngồi 11 hàm liên thuộc ra, công cụ logic mờ MATLAB cho phép tạo hàm liên thuộc chình nhận thấy hàm liên thuộc định nghĩa sẵn chưa đủ Nhưng với hàm liên thuộc ngoại lai này, nghĩa chắn đưa hệ thống đầu mờ hoàn hảo Để biểu diễn tập mờ, tùy thuộc vào không gian hàm liên thuộc rời rạc hay liên tục mà ta có cách biểu diễn sau: xi X A X A A ( xi ) / xi ( x) / x Số hóa Trung tâm Học liệu Nếu X tập hợp đối t-ợng rời rạc Nếu X không gian liên tục (1.2) http://lrc.tnu.edu.vn/ 1.2 Các phép toán tập mờ Tương tự tập kinh diển, phép toán tập mờ phép hợp, phép giao phép phủ định định nghĩa thông qua hàm liên thuộc 1.2.1 Phép giao Phép giao phép tốn logic Nó sở định nghĩa phép giao hai tập mờ Chúng ta cần xem xét tiên đề sau: v(P1 OR P2) phụ thuộc vào v(P1), v(P2) Nếu v(P1) = 1, v(P1 OR P2) = v(P2), với mệnh đề P2 Giao hoán: v(P1 OR P2) = v(P2 OR P1) Nếu v(P1) v( P1) v( P2) v( P1 AND P2) v( P2 AND P3) với mệnh đề P3 Kết hợp: v(P1 AND (P2 AND P3)) = v((P1 AND P2) AND P3) Điểm giao hai tập mờ A B xác định tổng quát ánh xạ nhị phân T, tập hợp hai hàm liên thuộc sau: A B x T A x , B (1.3) x Điểm giao phép toán mờ thường coi phép tốn tiêu chuẩn T (tiêu chuẩn tam giác), ta có yêu cầu sau: Toán hạng chuẩn T ánh xạ bậc hai T(•) thỏa mãn: Đường biên: T(0,0) = 0; T(a,1) = T(a,1) = a Đơn điệu: T(a,b) Giao hoán: Kết hợp: T(c,d) a c d T(a,b) = T(b,a) T(a, T(b,c)) = T(T(a,b),c) (1.4) d (1.5) (1.6) (1.7) Yêu cầu tác động cách khái quát tới tập xoắn Yêu cầu thứ hai làm giảm giá trị liên thuộc A B, đưa kết làm tăng giá trị liên thuộc điểm giao A, B Yêu cầu thứ ba thứ tự tốn hạng bên tập mờ khơng khác Cuối cùng, yêu cầu thứ tư cho phép đưa điểm giao phần tử tập bên thứ tự cặp Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ 62 Get #1, , MyRecord MyRecord.Kytu = "" Put #1, RecordNumber, MyRecord Unlock #1, RecordNumber dem = dem + End If i=i-1 Loop Close #1 Me.List1.Clear Open Ftmp For Random As #1 Len = Len(MyRecord) Open FnameData For Random As #2 Len = Len(MyRecord) i=1 maxsize = LOF(2) \ Len(MyRecord) For RecordNumber = To maxsize Step Seek #2, RecordNumber Get #2, , MyRecord If Len(Trim(MyRecord.Kytu)) > Then Put #1, i, MyRecord i=i+1 End If Next RecordNumber Close #2 Close #1 Kill FnameData FileCopy Ftmp, FnameData Kill Ftmp LoadKThoc End If Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ 63 End Sub Private Sub ve(ByVal p As PictureBox, ByVal i As Integer, ByVal j As Integer) Dim X, Y As Long Dim Le As Integer Dim BuocDoc, BuocNgang As Single On Error GoTo err1 Le = BuocDoc = (p.Width - Le) / R_grid BuocNgang = (p.Height - Le) / H_grid p.Line (CInt(i * BuocDoc), CInt(j * BuocNgang))-(CInt((i + 1) * BuocDoc), CInt((j + 1) * BuocNgang)), vbRed, B p.Refresh Exit Sub err1: MsgBox Err.Description, End Sub Function Beta() As Single Dim i, j As Integer Dim tam As Single Dim tmp, Tong, M_a As Single Dim Totalcell As Long On Error GoTo err_ Totalcell = (R_grid) * (H_grid) Tong = For i = To R_grid - For j = To H_grid - tam = MyRecord.Tansuat(i, j) / MyRecord.Tong If tam >= And tam B Then M_ahopb = A Else M_ahopb = B End If End Function Function M_aGiaob(ByVal A As Single, ByVal B As Single) As Single If A > B Then M_aGiaob = B Else M_aGiaob = A End If End Function Function M_aDeltab(ByVal Ma As Single, ByVal Mb As Single) As Single M_aDeltab = M_ahopb(M_aGiaob((1 - Ma), Mb), M_aGiaob((1 - Mb), Ma)) Soá hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ 65 End Function Private Sub CmdViewMau_Click() Dim i, j As Integer Dim s, Kytu As String Dim maxsize On Error GoTo err_ Kytu = Trim(List1.List(List1.ListIndex)) If Len(Ktu) = 0.4 Then ve Picture2, i, j End If Next Next Exit For End If Next RecordNumber Close #1 Exit Sub err_: MsgBox Err.Description, End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyF12 MsgBox oKytu End Select End Sub Private Sub Form_Load() Dim Buoc, i As Integer On Error Resume Next ColorDraw = vbBlack Buoc = Me.Picture1.Width \ R_grid Me.Picture1.Width = Buoc * R_grid Me.Picture1.Height = Buoc * H_grid Soá hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ 67 Me.Picture2.Width = Me.Picture1.Width Me.Picture2.Height = Me.Picture1.Height Me.Picture2.Top = Me.Picture1.Top DrawGrid Picture2 Me.Label10.Caption = "" Set_status If Len(Dir(FnameData)) Then SavePicture Picture1.Image, FileName End If End With End Sub Private Sub mnuxemmautrongdulieu_Click() CmdViewMau_Click End Sub Private Sub mnuxoamautrongdulieu_Click() CmdRemoveData_Click End Sub Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ 72 Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = Then Picture1.CurrentX = X Picture1.CurrentY = Y Drawing = True End If End Sub Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If Drawing Then Picture1.Line (Picture1.CurrentX, Picture1.CurrentY)-(X, Y), ColorDraw End If End Sub Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim i, j As Integer Drawing = False Set_status Picture2.Cls DrawGrid Picture2 trimPic Picture1, End Sub Sub trimPic(ByVal p As PictureBox, ByVal Border As Byte) Dim i, j, t, Cao, Rong As Integer Dim Ptop As ToaDo Dim Pleft As ToaDo Dim Pright As ToaDo Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ 73 Dim Pbottom As ToaDo On Error GoTo err_ Cao = p.ScaleHeight - Rong = p.ScaleWidth - i = 0: j = Do While (j < Cao) i=0 Do While (i < Rong) If GetPixel(p.hdc, i, j) COLORBGR Then Exit Do i=i+1 Loop If GetPixel(p.hdc, i, j) COLORBGR Then Exit Do j=j+1 Loop Ptop.X = i Ptop.Y = j i = 0: j = Cao Do While (j >= 0) i=0 Do While (i < Rong) If GetPixel(p.hdc, i, j) COLORBGR Then Exit Do i=i+1 Loop If GetPixel(p.hdc, i, j) COLORBGR Then Exit Do j=j-1 Loop Pbottom.X = i Pbottom.Y = j i = 0: j = Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ 74 Do While (i < Rong) j=0 Do While (j < Cao) If GetPixel(p.hdc, i, j) COLORBGR Then Exit Do j=j+1 Loop If GetPixel(p.hdc, i, j) COLORBGR Then Exit Do i=i+1 Loop Pleft.X = i Pleft.Y = j i = Rong: j = Do While (i >= 0) j=0 Do While (j < Cao) If GetPixel(p.hdc, i, j) COLORBGR Then Exit Do j=j+1 Loop If GetPixel(p.hdc, i, j) COLORBGR Then Exit Do i=i-1 Loop Pright.X = i Pright.Y = j Dim X1, Y1, X2, Y2, r1, c1 As Integer X1 = Pleft.X Y1 = Ptop.Y X2 = Pright.X Y2 = Pbottom.Y If Border > Then Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ 75 Dim WOld As Integer WOld = Me.Picture1.DrawWidth p.DrawWidth = p.Line (X1, Y1)-(X2, Y2), vbRed, B p.DrawWidth = WOld End If r1 = X2 - X1 + c1 = Y2 - Y1 + Pic3.Cls Pic3.Picture = Nothin Pic3.Width = r1 + Pic3.Height = c1 + Pic3.ScaleWidth = r1 Pic3.ScaleHeight = c1 Pic3.ScaleMode = p.ScaleMode Pic3.DrawWidth = p.DrawWidth Pic3.PaintPicture p.Image, 0, 0, r1, c1, X1, Y1, r1, c1, vbSrcCopy Pic3.Refresh If Check1.Value = Then For i = To R_grid - For j = To H_grid - NewKT.Tansuat(i, j) = If celldrawed(Pic3, i, j) Then NewKT.Tansuat(i, j) = ve Picture2, i, j End If Next Next End If Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ 76 Exit Sub err_: MsgBox Err.Description, End Sub Private Sub PWidth_Click(Index As Integer) Dim p As PictureBox For Each p In Me.PWidth p.BackColor = &H8000000A Next Me.Picture1.DrawWidth = Me.PWidth(Index).DrawWidth * Me.PWidth(Index).BackColor = &HC0E0FF End Sub Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ ... tài ? ?Logic mờ ứng dụng toán nhận dạng chữ viết tay? ?? Nội dung đề tài gồm vấn đề sau: Chƣơng 1: Logic mờ toán nhận dạng chữ viết tay Chƣơng 2: Lý thuyết mờ ứng dụng Chƣơng 3: Bài toán nhận dạng. .. dạng chữ viết tay, toán quan tâm lý thuyết nhận dạng, sở lý thuyết logic mờ lý thuyết nhận dạng, luận văn đưa quy trình chi tiết toán nhận dạng, xây dựng phần mềm nhận dạng chữ viết tay sở bước... lý nhận dạng ảnh số, phần ta nghiên cứu lý thuyết Logic mờ ứng dụng Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ 43 Chƣơng BÀI TỐN NHẬN DẠNG CHỮ VIẾT TAY Nội dung chư? ?ng mơ tả tốn nhận dạng

Ngày đăng: 26/03/2021, 07:00

Tài liệu cùng người dùng

Tài liệu liên quan