Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 65 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
65
Dung lượng
1,24 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG HỒNG CHÍ THÀNH MẠNG HOPFIELD VÀ ỨNG DỤNG TRONG NHẬN DẠNG HÌNH ẢNH LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN - 2016 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG HỒNG CHÍ THÀNH MẠNG HOPFIELD VÀ ỨNG DỤNG TRONG NHẬN DẠNG HÌNH ẢNH Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 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 - 2016 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn i LỜI CẢM ƠN Xin chân thành cảm ơn Thầy TS Vũ Vinh Quang tận tình dạy, hướng dẫn suốt thời gian học tập làm luận văn Tôi xin biết ơn chân thành đến Thầy giáo Viện Công nghệ Thông tin giảng dạy, giúp đỡ suốt thời gian học tập Xin cảm ơn tất anh chị em học viên Cao học khóa 13, cảm ơn cán cơng chức, giảng viên Trường đại học Công nghệ Thông tin Truyền thông - Đại học Thái Nguyên tạo điều kiện tốt cho suốt hai năm học qua Xin cảm ơn bạn bè, đồng nghiệp bảo nhiều thời gian thực luận văn Cuối cùng, xin chân thành cảm ơn thành viên gia đình động viên tạo điều kiện thuận lợi để tơi có kết ngày hôm Thái Nguyên, tháng 06 năm 2016 Người viết luận văn Hồng Chí Thành Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn ii LỜI CAM ĐOAN Tên tơi là: Hồng Chí Thành Sinh ngày: 14/10/1979 Học viên lớp cao học CK13A - Trường Đại học Công nghệ thông tin Truyền thông - Đại học Thái Nguyên Hiện công tác tại: Trường THPT Ngọc Hà - TP Hà Giang - Hà Giang Tôi xin cam đoan đề tài luận văn “Mạng Hopfield ứng dụng nhận dạng hình ảnh” cơng trình nghiên cứu thân tơi Các số liệu, kết nghiên cứu luận văn trung thực chưa công bố cơng trình khác Tơi xin chịu trách nhiệm luận văn Thái Nguyên, ngày 25 tháng năm 2016 TÁC GIẢ LUẬN VĂN Hồng Chí Thành Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn iii MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN ii DANH MỤC CÁC BIỂU ĐỒ, HÌNH VẼ v LỜI MỞ ĐẦU CHƯƠNG I MỘT SỐ KIẾN THỨC CƠ BẢN VỀ NHẬN DẠNG ẢNH 1.1 Không gian biểu diễn đối tượng 1.2 Không gian diễn dịch 1.3 Mơ hình chất q trình nhận dạng 1.3.1 Mơ hình 1.3.2 Bản chất trình nhận dạng 1.4 Nhận dạng ảnh 1.4.1 Nhận dạng dựa phân hoạch không gian 1.4.2 Nhận dạng dựa theo cấu trúc 10 1.4.3 Nhận dạng dựa vào kỹ thuật mạng neural .12 CHƯƠNG II CƠ SỞ LÝ THUYẾT VỀ MẠNG NEURAL 13 2.1 Giới thiệu chung mạng Neural 13 2.1.1 Quá trình phát triển 13 2.1.2 Cấu trúc mạng neural nhân tạo 15 2.1.3 Cấu trúc mạng Neural sinh học 16 2.2 Khái niệm 20 2.2.1 Neural nhân tạo mạng Neural nhân tạo 20 2.2.2 Khái niệm mạng Hopfield 24 2.3 Phân loại mạng Hopfield 25 2.4 Mạng Hopfield rời rạc 28 2.5 Mạng Hopfield liên tục 29 2.6 Một số đặc điểm mạng Hopfield 32 2.7 Một số ứng dụng mạng Hopfield 32 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn iv 2.8 Khả nhớ mẫu mạng Hopfield 32 2.9 Ưu, nhược điểm mạng Hopfield 34 2.9.1 Ưu điểm mạng Hopfield 34 2.9.2 Nhược điểm mạng Hopfield 34 CHƯƠNG ỨNG DỤNG MẠNG HOPFIELDTRONG BÀI TOÁN NHẬN DẠNG HÌNH ẢNH 35 3.1 Mô tả hệ thống nhận dạng dựa mạng Hopfield 35 3.1.1 Mạng Hopfield với toán tối ưu 35 3.1.2 Các bước thành lập mạng Hopfield: 36 3.2 Mạng Hopfield với tốn nhận dạng hình ảnh 37 3.2.1 Bài tốn nhận dạng hình ảnh 37 3.2.2 Mạng Hopfield nhận dạng hình ảnh 37 3.2.3 Huấn luyện mạng Hopfield 39 3.2.4 Thuật toán mạng Neural Hopfield toán nhận dạng hình ảnh 40 3.3 Ứng dụng mạng Hopfield nhận dạng ảnh 41 3.4 Đánh giá kết nghiên cứu ứng dụng mạng Hopfield nhận dạng ảnh 49 3.4.1 Mục tiêu chương trình .49 3.4.2 Demo hình ảnh 50 3.4.3 Đánh giá kết 55 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 56 TÀI LIỆU THAM KHẢO 57 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn v DANH MỤC CÁC BIỂU ĐỒ, HÌNH VẼ Hình 1.1 Mơ hình cấu trúc đối tượng nhà Hình 1.2 Sơ đồ tổng quát hệ nhận dạng Hình 2.1 Cấu trúc mạng neural 15 Hình 2.2 Mơ hình tế bào thần kinh 19 Hình 2.3 Mơ hình xử lý neural nhân tạo 21 Hình 2.4 Mạng Hopfield 26 Hình 2.5 Đồ thị hàm satlins 26 Hình 2.6 Mơ hình mạng Hopfield 30 Hình 2.7 Thí nghiệm mạng với ảnh nhiễu 33 Hình 3.1: Mạng Hopfield lớp với 16 neural vào 16 neural 41 Hình 3.2 Thí nghiệm mạng với ảnh nhiễu 49 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn LỜI MỞ ĐẦU Kỹ thuật nhận dạng nhiều người quan tâm nay, đặc biệt anh ninh quốc phòng: nhận dạng hình ảnh, nhận dạng mẫu tóc, nhận dạng vân tay,… ngành khoa học có nhiều ứng dụng khoa học kỹ thuật, tin học, sinh học lĩnh vực an ninh quốc gia Nó phận quan trọng hệ thống thơng minh; sử dụng việc dị tìm, xử lý số liệu hỗ trợ định, … Nói cách tổng qt nhận dạng mơn khoa học có liên quan cách hữu đến việc phân lớp, tính tốn độ đo Trong lý thuyết nhận dạng nói chung nhận dạng ảnh nói riêng có ba cách tiếp cận khác nhau: - Nhận dạng dựa vào phân hoạch không gian - Nhận dạng theo cấu trúc - Nhận dạng dựa vào kỹ thuật mạng neural Hai cách tiếp cận đầu kỹ thuật kinh điển Các đối tượng ảnh quan sát thu nhận phải trải qua giai đoạn tiền xử lý nhằm tăng cường chất lượng, làm chi tiết, trích chọn biểu diễn đặc trưng, cuối qua giai đoạn nhận dạng Cách tiếp cận thứ ba hồn tồn khác Nó dựa vào chế đốn nhận, lưu trữ phân biệt đối tượng mô theo hoạt động hệ thần kinh người Do chế đặc biệt, đối tượng thu nhận thị giác người không cần qua giai đoạn cải thiện mà chuyển sang giai đoạn tổng hợp, đối sánh với mẫu lưu trữ để nhận dạng Đây cách tiếp cận có nhiều hứa hẹn Trong mạng Neural mạng Hopfield thường sử dụng lý thuyết nhận dạng ưu điểm riêng biệt cấu trúc mạng Hướng nghiên cứu mạng Hopfield sử dụng nhận dạng ảnh nói chung hướng phù hợp với chun ngành khoa học máy tính có ứng dụng cao Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn Đối tượng -Mạng Hopfield -Lý thuyết nhận dạng -Ứng dụng cài đặt toán nhận dạng Phạm vi nghiên cứu - Lý thuyết Bài toán nhận dạng ảnh - Cấu trúc mạng Hopfield - Một số thuật toán học mạng Hopfield Nội dung nghiên cứu luận văn trình bày ba chương sau: Chương 1: Một số kiến thức nhận dạng ảnh Chương 2: Cơ sở lý thuyết mạng Neural Chương 3: Ứng dụng mạng Hopfield tốn nhận dạng hình ảnh Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn CHƯƠNG MỘT SỐ KIẾN THỨC CƠ BẢN VỀ NHẬN DẠNG ẢNH Nhận dạng nói chung hay nhận dạng ảnh nói riêng q trình phân loại đối tượng biểu diễn theo mơ hình gán cho chúng vào lớp (gán cho đối tượng tên gọi) dựa theo quy luật mẫu chuẩn Con người thu nhận thông tin qua giác quan, thị giác đóng vai trị quan trọng Những năm trở lại với phát triển phần cứng máy tính, xử lý ảnh đồ họa phát triển cách mạnh mẽ có nhiều ứng dụng sống Q trình xử lý ảnh xem trình thao tác ảnh đầu vào nhằm cho kết mong muốn Kết đầu trình xử lý ảnh ảnh “tốt hơn” kết luận Quá trình nhận dạng dựa vào mẫu học biết trước gọi nhận dạng có thầy hay học có thầy (supervised learning); trường hợp ngược lại gọi học khơng có thầy (non supervised learning) Chúng ta giới thiệu khái niệm Các kiến thức tham khảo từ [1], [2], [3] 1.1 Không gian biểu diễn đối tượng Các đối tượng quan sát hay thu thập được, thường biểu diễn tập đặc trưng hay đặc tính Như trường hợp xử lý ảnh, ảnh sau tăng cường để nâng cao chất lượng, phân vùng trích chọn đặc tính, biểu diễn đặc trưng biên, miền đồng nhất, Người ta thường phân đặc trưng theo loại như: đặc trưng tơ pơ, đặc trưng hình học đặc trưng chức Việc biểu diễn ảnh theo đặc trưng phụ thuộc vào ứng dụng Ở ta đưa cách hình thức việc biểu diễn đối tượng Giả sử đối tượng X (ảnh, chữ viết, dấu vân tay, ) biểu diễn n thành phần (n đặc trưng): X = {x1, x2, , xn}; xi biểu diễn đặc tính Không gian biểu diễn đối tượng thường gọi tắt khơng gian đối tượng X định nghĩa: Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 44 } Gán trạng thái cho neural mạng: List initialState = newList(NN.N); for (int i = 0; i < imageDim; i++) for (int j=0;j Vi(t+1) = -Vi(t) Mạng đạt trạng thái cân nếu: Vi(t+1) = Vi(t) với i= 1, 2,…, N Thủ tục tính giá trị lượng mạng: privatevoid CalculateEnergy() { doubletempE = 0; for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) if (i != j) tempE += T[i, j] * neurons[i].State * neurons[j].State; e = -1 * tempE / 2; } Thủ tục thay đổi trạng thái neural thứ i thời điểm t+1 (trạng thái mạng neural lưu vào biến u): publicvoid Run(List initialState) { this.neurons = initialState; int k = 1; int u = 0; while(k != 0) { k = 0; for (int i = 0; i < n; i++) { u = 0; for (int j = 0; j < n; j++) u += T[i, j] * (neurons[j].State);// tính lượng neural thứ i if (neurons[i].ChangeState(h))//ktra trang thai { k++; CalculateEnergy();// tinh nang luong Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 46 OnEnergyChanged(new EnergyEventArgs(e,i)); } } } CalculateEnergy(); } Thủ tục OnEnergyChanged() viết sau: protectedvirtualvoid OnEnergyChanged(EnergyEventArgs e) { if (EnergyChanged != null) EnergyChanged(this, e); } Hàm kiểm tra lượng neural thứ i thay đổi trạng thái neural thứ i: public bool ChangeState(Double field) { bool res = false; if (field * this.State < 0) { this.state = -this.state; res = true; } return res; } Thủ tục làm biến dạng ảnh viết sau: void im_Click(object sender, EventArgs e) { Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 47 ImageMagnifier.ImageMagnifier im = ImageMagnifier.ImageMagnifier)sender; this.imNNState.ImageToMagnify = im.ImageToMagnify; frmAddDistortion frmaddDistortion = newfrmAddDistortion(); frmaddDistortion.ShowDialog(); Random r = newRandom(); int p=0; int k=0; for(int i = 0;i