c bằng phương pháp thống kê Dùng mạng Neural_ mạng Hamming (Có Source Code)

5 396 0
c bằng phương pháp thống kê Dùng mạng Neural_ mạng Hamming (Có Source Code)

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

Thông tin tài liệu

Nhận dạng đối tượng là một vấn đề tương đối rộng, trong đó có 2 vấn đề cơ bản:Vấn đề 1: làm thế nào để trích chọn các đặc trưng của đối tượngVấn đề 2: khi có thông tin mẫu và đặc trưng rồi thì làm thế nào để đưa ra kết luận về đối tượngTrong báo cáo em trình bày một trong số các phương pháp để giải quyết vấn đề 2: đó là phương pháp dùng mạng neural, cụ thể là dùng mạng Hamming để nhận dạng ký tự

Báo cáo môn học xử lý ảnh GVHD: 4// Đào Thanh Tĩnh Chủ đề Nhận dạng một số ký tự bằng phương pháp thống kê Dùng mạng Neural_ mạng Hamming I. Đặt vấn đề: Nhận dạng đối tượng là một vấn đề tương đối rộng, trong đó có 2 vấn đề cơ bản: Vấn đề 1: làm thế nào để trích chọn các đặc trưng của đối tượng Vấn đề 2: khi có thông tin mẫu và đặc trưng rồi thì làm thế nào để đưa ra kết luận về đối tượng Trong báo cáo em trình bày một trong số các phương pháp để giải quyết vấn đề 2: đó là phương pháp dùng mạng neural, cụ thể là dùng mạng Hamming để nhận dạng ký tự II. Nội dung Mạng Hamming được thiết kế để giải bài toán nhận dạng mẫu nhị phân (mỗi phần tử trong vecto đầu vào chỉ nhận 2 giá trị là 1). Mạng này có 2 lớp là lớp truyền thẳng và lớp hồi quy. Ý tưởng của phương pháp dùng mạng Hamming là quyết định xem vecto nguyên mẫu nào gần với vecto đầu vào nhất. Quyết định này biểu thị ở đầu ra của lớp hồi qui. 1. Mô hình mạng Dưới đây là mô hình một mạng Hamming chuẩn: Mạng Hamming gồm có 2 lớp: Lớp 1: lớp truyền thẳng. Thực hiện một phép tương quan giữa vecto đầu vào và vecto nguyên mẫu ( tích trong). Lớp 2: lớp hồi quy. Thực hiện phép thi đấu để xác định vecto nguyên mẫu nào gần vecto đầu vào nhất Số neural trong lớp thứ nhất bằng số neural trong lớp thứ 2 Cụ thể: - Lớp truyền thẳng: 1 Nguyễn Thị Hậu Báo cáo môn học xử lý ảnh GVHD: 4// Đào Thanh Tĩnh Mố hình trọng số trong lớp thứ nhất được thiết lập từ chính các nguyên mẫu; nếu ta coi mỗi nguyên mẫu là một vecto 1 chiều thì trọng số W 1 là một ma trận có các hàng chính là các vecto nguyên mẫu. Lớp truyền thẳng sử dụng hàm tuyến tính a 1 = purelin ( W 1 p + b 1 ) = W 1 p + b 1 trong đó mỗi phần tử của vecto bias b 1 bằng R ( R là số phần tử hay số chiều của vecto vào), để đảm bảo giá trị ra của lớp 1 không âm. W 1 p = ||W 1 || ||p|| cos θ lớn nhất khi θ = 0, khi đó vecto nguyên mẫu và vecto vào gần nhau nhất và tương ứng với khoảng cách Hamming là nhỏ nhất ( khoảng cách Hamming được định nghĩa là số thành phần khác nhau của 2 vecto, chỉ áp dụng với vecto nhị phân). - Lớp hồi quy: Lớp hồi quy của mạng Hamming được coi như là một lớp thi đấu. Đầu vào của lớp này chính là đầu ra của lớp 1. Sau đó các neural thi đấu với nhau để tìm ra neural thắng cuộc là neural gần với đầu vào nhất. Các phương trình mô tả sự thi đấu là: a 2 (0)=a 1 (khởi tạo) a 2 (k+1) = poslin(W 2 a 2 (k)); W 2 là ma trận có các phần tử trên đường chéo chính bằng 1 các phần tử còn lại bằng – ε, với 0 < ε < 1/(S -1). S là số neural trong lớp hồi quy F(x)= poslin(x) = Giải thích vì sao 0 < ε < 1/(S -1) ? Vì nếu ε > 1/(S -1) thì tổng giá trị các thành phần trong ma trận trọng số W 2 nhỏ hơn 0. Dẫn tới khi tính W 2 a 2 có thể các thành phần vecto tích sẽ âm, xảy ra khi các thành phần a 1 chênh lệch nhau không nhiều. qua hàm poslin ta sẽ thu được đầu ra lớp 2 chứa tất cả các thành phần đều bằng 0. 2. Huấn luyện mạng Mạng Hamming học dựa trên nguyên tắc học không giám sát. Điểm khác biệt giữa học có giám sát và học không giám sát là: trong học có giám sát thì ta sử dụng thông tin đầu ra mong muốn tương ứng với đầu vào, tức là ta đã biết trước đầu ra đích và thay thế đầu ra thực sự. Còn học không giám sát thì ta chỉ sử dụng thông tin đầu vào và thông tin trước đó mà không biết trước đầu ra đích, hay không đòi hỏi bất cứ thông tin gì về đầu ra đích. Lớp truyền thẳng: Tiến hành 2 công việc: huấn luyện để tìm ra các nguyên mẫu đại diện cho các nhóm; huấn luyện để có được đầu ra cho lớp truyền thẳng. 2 Nguyễn Thị Hậu Báo cáo môn học xử lý ảnh GVHD: 4// Đào Thanh Tĩnh 1) Huấn luyện để tìm nguyên mẫu đại diện cho các nhóm Ta áp dụng luật instar Input: các ảnh ký tự mẫu cho các ký tự Output: nguyên mẫu cho mỗi ký tự Train: a= hardlin(Wp + b ); W(0) được khởi tạo ngẫu nhiên Tại bước thứ k: W(k)= W(k-1) + ∝ a(k) (p(k) – W(k-1)) Tiến hành cho đến khi W hội tụ ta sẽ thu được trọng số đại diện cho cả nhóm mẫu đưa vào Mô tả chất lượng của luật instar Do một instar chỉ dùng cho một lớp mẫu, tức là các vecto mẫu vào nhìn chung sai khác it nên đảm bảo tính hội tụ cho instar. Nhận xét: trong trường hợp các nhóm mẫu có sự chênh lệch nhau không lớn thì các vecto nguyên mẫu thu được sẽ có khoảng cách gần nhau. Vì vậy khi xét tương quan với đầu vào sẽ gây ra sự nhầm lẫn. • Khi α = 0 thì W(k) = W(k-1) vecto trọng số không dịch chuyển; điều này dẫn đến khi ta cho α→0 thì hệ thống sẽ lâu đạt được trạng thái ổn định, song khi đạt được trạng thái ổn định thì vecto trọng số sẽ có ổn định quanh giá trị trung tâm. • Khi α = 1 thì W(k) = p(k) trùng với vecto đầu vào. Như vậy hệ thống nhanh đạt giá trị ổn định nhưng giá trị này dễ bị dao động khi nó tiếp nhận một đầu vào của lớp mẫu, dẫn đến khi ta cần nhận dạng một đầu vào thì dễ xảy ra nhầm lẫn. 2) Huấn luyện tìm đầu ra cho lớp truyền thẳng Input: p Output: a 1 Sử dụng các nguyên mẫu thu được ở trên để hình thành nên ma trận trọng số W 1 Tính đầu ra của lớp 1: a 1 = W 1 p + b với số chiều của a 1 chính là số vecto nguyên mẫu được nhận dạng Lớp hồi quy: 3 Nguyễn Thị Hậu Báo cáo môn học xử lý ảnh GVHD: 4// Đào Thanh Tĩnh Input: a 1 Output: a 2 Train: a 2 (0)=a 1 (khởi tạo) tại bước thứ k a 2 (k+1) = poslin(W 2 a 2 (k)); thuật toán dừng khi vecto đầu ra hội tụ khi đó thành phần max của a 2 sẽ cho tương ứng vecto nguyên mẫu gần với vecto vào nhất và đó là kết quả nhận dạng ta thu được. chứng minh tính hội tụ của a 2 : ta thấy với mỗi thành phần của a 2 trong phép biến đổi trên: a 2 i (k+1) = poslin ( a 2 i (k) - ε ) với điều kiện 0 < ε < 1/(S -1) thì sau mỗi bước giá trị a 2 i lại bị giảm đi các thành phần sẽ giảm đến khi nào chỉ còn một giá trị lớn nhất lớn hơn 0 và các phần tử còn lại đều bằng 0. Như vậy khi đó a 2 hội tụ. 3. Mô tả chương trình: - Load ảnh vào - Dò tách ký tự trong ảnh ( chỉ làm với trường hợp ảnh chứa duy nhất 1 kí tự) - Chuẩn hóa ký tự theo một kích thước chuẩn 80 x 120 - Huấn luyện cho mạng dựa trên cơ sở tập mẫu được chuẩn hóa và các luật học trình bày trên  Những nguyên mẫu thu được trong quá trình học được lưu lại  Khi cần nhận dạng một ký tự vào thì load các nguyên mẫu ra để tiến hành học tiếp - Đưa ra kết luận về ký tự ứng với ảnh đưa vào. 4. Kết quả áp dụng thực tế Trong báo cáo em trình bày kết quả khi áp dùng mạng Hamming để nhận dạng ký tự Trong chương trình em mới chỉ nhận dạng với 3 chữ cái A,B,Z,E,C,K Lượng mẫu ban đầu để cho vào học với các mẫu là không nhiều song cho kết quả nhận được khá tốt. 4 Nguyễn Thị Hậu Báo cáo môn học xử lý ảnh GVHD: 4// Đào Thanh Tĩnh Ví dụ: khi viết chữ A bị méo hay biên bị nhòe thì chương trình đều có thể nhận ra. Nếu đưa vào một ký tự thì nó trả về ký tự mẫu giống với ký tự đó nhất. Điểm hạn chế: - chương trình còn nhận nhầm ký tự. Ví dụ: cùng một chữ Z nếu viết nét mảnh thì bị nhận nhầm thành chữ A, nhưng khi cho nét đậm hơn là lại có thể nhận ra đó là chữ Z. - Chương trình thử nghiệm với càng nhiều ký tự thì khả năng bị nhầm lẫn cao lên - Chương trình mới chỉ giải quyết với ảnh mà chỉ chứa một ký tự và nền là tương đối đồng nhất - Mức độ hoàn thành mới ở mức độ minh họa 5. Hướng phát triển Nâng cao khả năng làm việc của chương trình với nhiều ký tự và cả các chữ số Nhận dạng một đoạn ảnh văn bản 5 Nguyễn Thị Hậu . bị nhầm lẫn cao lên - Chương trình mới chỉ giải quyết với ảnh mà chỉ chứa một ký tự và nền là tương đối đồng nhất - Mức độ hoàn thành mới ở mức độ minh họa 5. Hướng phát triển Nâng cao khả năng

Ngày đăng: 17/10/2014, 15:48

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

Tài liệu liên quan