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

90 491 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 Nguyên, năm 2013 ĐẠ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 Nguyên, năm 2013 LỜI CẢM ƠN Trước hết, xin chân thành gửi lời cảm ơn sâu sắc đến thầy giáo TS Vũ Vinh Quang, người tận tình hướng dẫn tạo điều kiện cho 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 Trường Đại Học Công Nghệ Thông Tin &Truyền Thông, 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 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 quý báu cho 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, mong nhận đóng góp ý kiến Thầy, cô giáo bạn bè để luận văn hoàn chỉnh Xin trân trọng cảm ơn! Thái Nguyên, tháng năm 2013 Học viên Trần Thị Hiếu MỤC LỤ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ờ .4 1.2.1 Phép giao .4 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ờ .8 1.3.2 Luật mờ .12 1.4 Điều khiển mờ (Fuzzy Control) .18 1.5 Nhận dạng mờ (Fuzzy Pattern Recornition) 21 1.5.1 Bài toán nhận dạng 21 1.5.2 Phân nhóm vai trò thực tế 22 Chương LÝ THUYẾT NHẬN DẠNG ẢNH 23 2.1 Các khái niệm .24 2.1.1 Khái niệm ảnh số 24 2.1.2 Phân loại ảnh số 24 2.1.3 Khái niệm mức xám đồ .25 2.2 Lý thuyết nhận dạng ảnh 25 2.2.1 Lý thuyết xử lý ảnh 2D .25 2.2.2 Nâng cao chất lượng ảnh .30 2.2.3 Phân loại ảnh tìm biên ảnh .41 2.2.4 Quy trình nhận dạng ảnh .42 Chương BÀI TOÁN NHẬN DẠNG CHỮ VIẾT TAY 49 3.1 Mô hình toán 49 3.2 Các bước tiến hành toán nhận dạng chữ viết 50 3.2.1 Thu nhận mẫu liệu 50 3.2.2 Tách mẫu chuẩn hoá 52 3.2.3 Xây dựng thư viện mẫu cho ký tự 52 3.2.4 Hệ suy luận học cho toán nhận dạng chữ viết tay 53 KẾT LUẬN 60 TÀI LIỆU THAM KHẢO 61 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ờ 10 Hình 1.3: Hàm liên thuộc biến ngôn ngữ T(tuổi) 12 Hình 1.4: Mô hình suy luận mờ với luật-một tiên đề 16 Hình 1.5: Mô hình suy luận mờ luật-nhiều tiền đề .17 Hình 1.6 : Mô hình suy luận mờ hai luật hai tiên đề 17 Hình 1.7: Cấu trúc điều khiển mờ 18 Hình 1.8: Cấu trúc hệ chuyên gia .20 Hình 1.9: Quá trình nhận dạng 22 Hình 2.1 : Toán tử tuyến tính .27 Hình 2.2: Mặt nạ lọc tuyến tính 29 Hình 2.3 : Toán tử điểm ảnh .30 Hình 2.4: Mô hình nhiễu 31 Hình 2.5: Lọc ngược khôi phục ảnh nguyên gốc 32 Hình 1.6: Một số mặt nạ không gian trung bình 37 Hình 2.7: Mặt nạ lọc thông thấp 38 Hình 2.8: Cửa sổ lọc giả trung vị .40 Hình 2.9: Phương pháp lưới .45 Hình 2.10: Phương pháp cung 46 Hình 2.11: Biểu diễn mẫu tập kí hiệu 48 Hình 3.1 : Các công đoạn toán nhận dạng ảnh 50 Hình 3.2 : Ba mẫu chữ cần đọc .53 Hình 3.3 : Ký tự cần nhận dạng 54 Hình 3.4: Giao diện chương trình nhận dạng .55 Hình 3.5: Vẽ chữ cần nhận dạng 55 Hình 3.6: Kết nhận dạng sau vẽ chữ 56 Hình 3.7: Mở file ảnh ký tự cần nhận dạng 57 Hình 3.8: Giao diện sau mở file ảnh ký tự 58 Hình 3.9: Kết sau nhận dạng ảnh ký tự 58 Hình 3.10: Ghi ký tự file ảnh 58 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 khoá để 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 hoá 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 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 toá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 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 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 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 Ngoà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: 69 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 70 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)) 72 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 74 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 79 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 80 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 = 81 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 82 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 83 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 ... toỏn nhn dng ch vit tay Chng 2: Lý thuyt m v ng dng Chng 3: Bi toỏn nhn dng ch vit tay Chng LOGIC M V BI TON NHN DNG CH VIT TAY Trong chng 1, lun cp n cỏc sau: Mt s khỏi nim v logic m nh: Cỏc... vit tay s tit kim rt nhiu thi gian cho viờc nhp v lu tr d liu í thc c trờn, tụi xin hon thnh lun tt nghip vi ti Logic m ng dng bi toỏn nhn dng ch vit tay Ni dung ti gm nhng sau: Chng 1: Logic. ..I HC THI NGUYấN TRNG I HC CNTT V TRUYN THễNG TRN TH HIU LOGIC M NG DNG TRONG BI TON NHN DNG CH VIT TAY Chuyờn ngnh: Khoa hc mỏy tớnh Mó s: 60.48.01 LUN VN THC S KHOA HC MY TNH

Ngày đăng: 15/04/2017, 20:47

Từ khóa liên quan

Mục lục

  • Thái Nguyên, năm 2013

  • Thái Nguyên, năm 2013

  • 1.1. Các khái niệm cơ bản

  • 1.2. Các phép toán trê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 và quan hệ mờ

        • 1.3.1.1. Nguyên lý suy rộng

        • 1.3.1.2. Quan hệ mờ

        • 1.3.2. Luật mờ

          • 1.3.2.1. Biến ngôn ngữ

          • 1.3.2.2. Cấu trúc luật

          • 1.3.2.3. Suy diễn mờ

          • 1.4.3.1. Suy diễn với một luật với một tiên đề

          • 1.4.3.2. Suy luận một luật với nhiều tiên đề

          • 1.4.3.3. Nhiều luật mờ với nhiều tiên đề.

          • 1.4. Điều khiển mờ (Fuzzy Control)

          • 1.5. Nhận dạng mờ (Fuzzy Pattern Recornition)

            • 1.5.1. Bài toán nhận dạng

            • 1.5.2. Phân nhóm và vai trò trong thực tế

            • 2.1. Các khái niệm cơ bản

              • 2.1.1. Khái niệm ảnh số

              • 2.1.2. Phân loại ảnh số

              • 2.1.3. Khái niệm mức xám đồ

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

Tài liệu liên quan