Nhận dạng đối tượng trong video dùng phương pháp PCA và mạng NEURAL PERCEPTRON

67 1.3K 2
Nhận dạng đối tượng trong video dùng phương pháp PCA và mạng NEURAL PERCEPTRON

Đ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

“Nhận Dạng Đối Tượng Trong Video Dùng Phương Pháp PCA và Mạng Neural Perceptron ” thuộc một lĩnh vực của công nghệ sinh trắc trong nhận dạng để tìm hiểu nghiên cứu. Tuy đây không phải là vấn đề mới mẽ, nhưng nhận dạng một đối tượng người trong Video mang một ý nghĩa với nhiều ứng dụng thực tiễn từ đơn giản đến có ý nghĩa kinh tế an ninh.

BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ VIỄN THÔNG - ĐỒ ÁN MÔN HỌC NGÀNH: ĐIỆN TỬ VIỄN THÔNG Đề tài: NHẬN DẠNG ĐỐI TƯỢNG TRONG VIDEO DÙNG PHƯƠNG PHÁP PCA VÀ MẠNG NEURAL PERCEPTRON GVHD : ThS ĐẶNG PHƯỚC HẢI TRANG SVTH : LƯƠNG NGỌC THẠC NGUYỄN NGỌC ANH TP HỒ CHÍ MINH – 06/2013 LỜI CÁM ƠN  Trong năm học tập trường Đại học Sư phạm Kỹ thuật Tp.Hồ Chí Minh nhóm thực đề tài nhận dạy thầy cô giảng dạy trường, học nhiều kiến thức kinh nghiệm quý báo từ thầy cô Chúng em chân thành gửi lời cám ơn sâu sắc đên quý thầy cô, đặc biệt thầy Th.S Đặng Phước Hải Trang tận tình giúp đỡ chúng em vượt qua khó khăn hoàn thành khóa luận tốt nghiệp cách suôn sẻ thành công Chúng em xin cám ơn gia đình bạn bè tạo điều kiện giúp đỡ chúng em hoàn thành khóa luận tốt đẹp Xin chân thành cảm ơn tất cả! Tp.HCM, ngày 05 tháng 01 năm 2015 Nhóm sinh viên thực Lương Ngọc Thạch Nguyễn Nhật Anh LIỆT KÊ HÌNH Hình 1: Mô hình màu R-G-B tọa độ Decase Hình 2.2 : Hệ tọa độ trụ cho không gian màu HSV Hình 2.3: Số hóa ảnh Hình 2.4: Hình vuông a hình mức xám xuất khác Hình 2.5: Phép chiếu lên trục khác vật thể cho kết nhận định khác Hình 2.6: PCA tập trung vào hướng tập trung liệu, giảm chiều Hình 2.7: Dạng vector tạo từ ảnh khuôn mặt Hình 2.8: Cấu trúc nơ ron (Neural) Hình 2.9: Cấu trúc mạng neural lớp Hình 2.10: Cấu trúc mạng neural nhiều lớp Hình 2.11: Tiến trình học Hình 2.12 : Sơ đồ khối mạng lan truyền ngược Hình 2.13: Mô hình tính toán neural Hình 2.14: Đặc trưng Haar-like sở Hình 2.15: Đặc trưng Haar-like mở rộng cạnh Hình 2.16: Đăc trưng Haar-like mở rộng đường Hình 2.17: Đặc trưng Haar-like tâm Hình 2.18: Integral Image vị trí (x,y) Hình 2.19: Mô tả cách tính tổng pixel D Hình 2.20: Lưu đồ giải thuật tổng quát việc dò tìm tách khuôn mặt Hình 2.20 Mô hình không gian màu RGB Hình 3.1: Quy trình thực Hình 3.2 : Lưu đồ giải thuật dò tìm nhận dạng đối tượng Hình 3.3: Lưu đồ giải thuật nhận dạng đối tượng video Hình 3.4 : Giao diện chương trình Hình 3.5: Giao diện chương trình dò tìm khuôn mặt Hình 3.6a : Kết dò tìm khuôn mặt Hình 3.6b : Kết dò tìm khuôn mặt Hình 3.7a: Kết tách khuôn mặt xác Hình 3.7b: Kết tách khuôn mặt xác Hình 3.8: Giao diện chương trình nhận dạng Hình 3.9a: Kết nhận dạng ảnh tĩnh xác Hình 3.9b: Kết nhận dạng ảnh tĩnh xác Hình 3.10a: Nhận dạng sai Hình 3.10b: Nhận dạng sai Hình 3.11a: Không nhận dạng Hình 3.11b: Không nhận dạng Hình 3.12: Giao diện chương trình nhận dạng ảnh động Hình 3.13a: Kết nhận dạng ảnh động xác Hình 3.13b: Kết nhận dạng ảnh động xác Hình 3.13c: Kết nhận dạng ảnh động xác Hình 3.14: Không nhận dạng không xác Hình 3.15a: Nhận dạng sai Hình 3.15b: Nhận dạng sai LIỆT KÊ BẢNG Bảng 3.1: Tỷ lệ nhận dạng mặt sở liệu thay đổi PCA Bảng 3.2: Bảng hiệu suất nhận dạng theo số neural lớp ẩn LIỆT KÊ TỪ VIẾT TẮT PCA : Principle Component Analysis ANN: Artificial Neural Network MATLAB: MATrix LABoratory SVM: Support Vector Machine ISODATA: Interactive Self Organizing Data Analysis Pixcel: Picture element CGA: Color Graphic Adaptor bpp : bit per point LỜI MỞ ĐẦU  Công nghệ sinh trắc học ứng dụng ngày trở nên phổ biến với nhiều lĩnh vực khác Ứng dụng đa dạng tiêu biểu kỹ thuật nhận dạng đối tượng Nhận dạng đối tượng không kỹ thuật mang tính khoa học máy tính mà có ý nghĩa lĩnh vực khác kinh tế, an ninh bảo mật Những năm gần phát triển kéo theo phát triển kỹ thuật xử lý ảnh nhận dạng đối tượng, mẽ lĩnh vực nghiên cứu phát triển với tốc độ nhanh chóng trung tâm nghiên cứu, trường đại học… với nhiều ứng dụng lĩnh vực khác đời sống Chính phát triển mà nhóm thực đề tài lựa chọn hướng xử lý ảnh nhận dạng đối tượng để nghiên cứu tìm hiểu sau thời gian học tập trường Việc xử lý ảnh nhận dạng đối tượng theo khuôn mặt đa dạng phương pháp thuật toán chương trình bổ trợ, nhóm thực dựa theo phương pháp phân tích thành phần chính, màu da mạng Neural để thực nhằm tăng tốc khả xử lý phân tích đưa kết cách tới ưu Nhóm hoàn thành việc xử lý, nhận dạng trực tuyến thông qua Webcam máy tính để dò tìm đối tượng có sở liệu ban đầu, nhiên kết phụ thuộc nhiều yếu tố thiết bị, môi trường MỤC LỤC Chương TỔNG QUAN 1.1 Lý chọn đề tài Những năm gần đây, việc ứng dụng kỹ thuật sinh trắc học vào giải vấn đề thực tiễn trở nên ngày nhiều phát triển mạnh mẽ Một số kỹ thuật sinh trắc gần đến mức tối ưu nhất, kỹ thuật sinh trắc mang tính phức tạp cao dần giới khoa học kỹ thuật chinh phục, nắm bắt để đưa vào ứng dụng, nhận dạng - bảo mật võng mạc người Nhiều ứng dụng lĩnh vực mà công nghệ sinh trắc học ứng dụng vào thị giác máy tính phải kể đến như: nhận dạng đối tượng, bảo mật thông tin, quản lý an ninh trật tự… Hiện có nhiều công trình nghiên cứu vấn đề nhận dạng đối tượng, đối tượng nhắc đến người, nghĩa việc làm cho máy tính nhận dạng người với sở liệu người thông qua khuôn mặt Các nghiên cứu từ lúc kỹ thuật nhận dạng chứng tỏ vai trò mình, từ việc đơn giản tìm khuôn mặt ảnh xám, đến ảnh màu, ảnh có nhiều người, có công trình nghiên cứu việc nhận biết cảm xúc người thông qua hình ảnh ghi nhận khuôn mặt người Việc nhận dạng đối tượng gặp nhiều vấn đề điều kiện để có toán nhận dạng xác, với có nhiều phương pháp – thuật toán để nhận dạng với ưu điểm khác nhau, nhược điểm khác Chính phát triển đóng góp công nghệ mang lại, nhóm thực định chọn đề tài: “Nhận Dạng Đối Tượng Trong Video Dùng Phương Pháp PCA Mạng Neural Perceptron ” thuộc lĩnh vực công nghệ sinh trắc nhận dạng để tìm hiểu nghiên cứu Tuy vấn đề mẽ, nhận dạng đối tượng người Video mang ý nghĩa với nhiều ứng dụng thực tiễn từ đơn giản đến có ý nghĩa kinh tế - an ninh 1.2 Mục tiêu cần đạt sau thực đề tài: - Mô tả tổng quát hệ thống xử lý ảnh số - Trình bày phương pháp xử lý ảnh số - Trình bày nguyên lý, phương pháp nhận dạng, xác định mặt người - Giải vấn đề nhận dạng khuôn mặt với góc quay tương đối - Mô thành công nhận dạng đối tượng Video qua MatLab - Rèn luyện kỹ nghiên cứu, tìm hiểu tài liệu 1.3 Giới hạn đề tài Mặc dù cố gắng đề tài có mặt hạn chế cần giới hạn: - Hình ảnh, Video cần có chất lượng tốt, độ sắc nét cao Khuôn mặt đối tượng cần với tiêu chuẩn khuôn mặt bình thường, không biểu thị cảm xúc cười to, mếu mặt… hay bị che khuất yếu tố đặc trưng khuôn mặt mang trang, kính mát…góc nghiêng khuôn mặt không 30o cho hướng trái – phải – – so với goc trực diện - Các ảnh sở phải đủ lớn, giới hạn lớn chung vấn đề nhận dạng đối tượng 1.4 Phương pháp nghiên cứu Đề tài ứng dụng phương pháp nhận dạng sau viết MatLab: - Phương pháp rút trích đặc trưng PCA - Phương pháp màu da - Mạng neural nhân tạo ANN 1.5 Kế hoạch thực Đề tài thực thời gian học tập trường Đại học Sư phạm Kỹ thuật Tp.Hồ Chí Minh 10 tuần từ ngày 28/10/2014 đến ngày 06/01/2015 1.6 Bố cục Nội dung báo cáo đề tài có chương sau: - Chương 1: Tổng quan Giới thiệu tổng quát vấn đề nhận dạng, lý để lựa chọn đề tài tính ứng dụng việc nhận dạng đối tượng - Chương 2: Cơ sở lý thuyết Trình bày lý thuyết ảnh số, xử lý ảnh số Lý thuyết phương pháp nhận dạng thuật toán nhận dạng đối tượng gồm: Phân tích thành phần PCA, màu da, thuật toán Adaboost mạng Neural nhân tạo - Chương 3: Quá trình thực hiện, kết mô Trình bày sơ đồ giải thuật phương pháp kết mô chạy chương trình nhận dạng đối tượng MatLab - Chương 4: Kết luận hướng phát triển Chương CƠ SỞ LÝ THUYẾT 2.1 Lý thuyết ảnh số xử lý ảnh số 2.1.1 Ảnh số Ảnh thực tế ảnh liên tục không gian giá trị độ sáng Để xử lý ảnh ta cần số hóa cho phù hợp với thiết bị máy tính Ta biến đổi từ liên tục sang rời rạc mặt không gian lẫn giá trị cho mắt thường không phân biệt khác biệt, rời rạc 2.1.2 Điểm ảnh Điểm ảnh xem điểm màu hay cường độ sáng tọa độ không gian ma trận ảnh đối tượng, ma trận chiều Điểm ảnh phần tử nhỏ ảnh thường gọi pixel (picture element) Mỗi điểm ảnh màu sắc thời điểm Tuy nhiên, đặc điểm mắt người chúng nhỏ nên điểm ảnh thường pha trộn với để hình thành cảm nhận màu sắc khác Số lượng màu sắc điểm ảnh xác định số lượng bit đại diện cho điểm ảnh hệ thống Ví dụ, điểm ảnh biểu diễn bit có 28 hay 256 màu sắc hiển thị Hay với kỹ thuât nay, ảnh màu lưu trữ Pixel Byte, nghĩa ta có khoảng 16,7 triệu màu cho Pixel 2.1.3 Biểu diễn ảnh số hóa Ảnh số tập hợp điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần với ảnh thật Số hóa ảnh, nói việc ta biểu diễn ảnh thật hiển thị thiết bị số Ví dụ hình (Monitor), hình có nhiều loại với kích thước độ phân giải khác như: + CGA: 640x320 , 16 màu + EGA: 640x350, 16 màu + VGA: 640x480, 16 màu + SVGA: 1024x768, 256 màu 2.1.4 Độ phân giải ảnh Độ phân giải ảnh (Resolution): mật độ điểm ảnh ấn định ảnh số biểu thị Khoảng cách điểm ảnh chọn cho mắt người thấy liên tục ảnh Việc lựa chọn khoảng cách thích hợp tạo nên mật độ phân bố, độ phân giải phân bố theo trục x y không gian hai chiều ảnh Các kỹ thuật ngày cho phép thiết bị thu nhận ảnh có độ phân giải lên đến vài chục MegaPixel thiết bị di động Nokia, thuộc Microsoft, để đạt đến độ phân giải chân thật mắt người phải lên đến vài trăm MegaPixel, vài năm gần có công trình nghiên cứu thành công tạo siêu máy ảnh có độ phân giải len đến 50GigaPixel (theo Tạp chí khoa học trực tuyến hàng đầu giới Nature) Tuy nhiên, ảnh có độ phân giải khoảng từ đến MP đủ để ta cảm nhận độ nét 2.1.5 Mức xám ảnh Mức xám điểm ảnh cường độ sáng điểm ảnh gán giá trị số điểm biểu diễn Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256 (Mức 256 mức phổ dụng Lý do: từ kỹ thuật máy tính dùng byte (8 bit) để biểu diễn mức xám: Mức xám dùng byte biểu diễn: 28=256 mức, tức từ đến 255) 2.1.6 Độ sâu bit Định nghĩa: Độ sâu bit (BitDepth ) hiểu số bit dùng để biểu diễn giá trị số (mức xám) cho điểm ảnh Ví dụ: Trong MatLab, ảnh trắng đen ảnh xám 8, 12 16 ảnh màu 12 2.1.7 Dải động Dải động ảnh dãy giá trị độ sáng, từ sáng đến tối Dải động rộng chuyển tiếp độ chi tiết màu sắc ảnh rõ ràng, nói cách khác dải động rộng tái màu sắc sống động chân thực 2.1.8 Không gian màu 2.1.8.1 Màu sắc Màu sắc đẻ ánh sáng Màu sắc mà phân biệt từ ánh sáng cảm giác Sự phản chiếu ánh sáng vật thể màu sắc ánh sáng Màu vật thể mà ta cảm nhận cộng hưởng màu ánh sáng với 10 Hình 3.10b: Nhận dạng sai Hình 3.10 kết sai chương trình nhận dạng đối tượng, lý ảnh bị nhiễu ảnh hưởng lên PCA tiến trình so sánh mạng neural có lỗi, không đưa định xác mong đợi Tương tự trường hợp không nhận dạng chương trình thấy hình 3.11 Hình 3.11a: Không nhận dạng 53 Hình 3.11b: Không nhận dạng Mạng neural với tập huấn luyện 40 mẫu (3 đối tượng), tốc độ học mặc định, dùng tổng bình phương sai số sse, tổng bình phương sai số nhỏ goal=0.001, momentum mc=0.95 3.3.4 Giao diện chương trình nhận dạng ảnh động Hình 3.12: Giao diện chương trình nhận dạng ảnh động 54 Hình 3.13a: Kết nhận dạng ảnh động xác Hình 3.13b: Kết nhận dạng ảnh động xác 55 Hình 3.13c: Kết nhận dạng ảnh động xác Hình 3.13 ảnh chụp từ hình máy tính thực chương trình dò tìm đối tượng đoạn Video có đối tượng cần nhận dạng Ở nhóm thực không đưa kết nhận dạng có đối tượng sở liệu, với lý liệu kết không hiển thị, ví dụ ứng dụng để tìm tội phạm đám đông tội phạm thay đổi Tuy nhiên có trường hợp chương trình nhận dạng sai đối tượng nói nhận dạng ảnh tĩnh đối tượng Video có sở liệu, ví dụ kết bên 56 Hình 3.14: Không nhận dạng không xác Hình 3.15a: Nhận dạng sai 57 Hình 3.15b: Nhận dạng sai 3.4 Nhận xét - Chương trình mô nhận dạng đối tượng xác ảnh có chất lượng tốt góc chụp không nghiêng ảnh tĩnh - Chương trình không nhận dạng đối tượng góc nghiêng khuôn mặt Video vượt góc giới hạn khoảng 35 o hướng trái phải so với trực diện với máy quay - Nguyên nhân ảnh hưởng gây kết nhận dạng không xác nhiễu môi trường tác động lên chất lượng ảnh, máy quay cho chất lượng không tốt Bảng 3.1: Tỷ lệ nhận dạng mặt sở liệu thay đổi PCA Số ảnh huấn luyện đối tượng Số ảnh nhận dạng đối tượng Tỷ lệ nhận dạng (%) 75.3 84.4 85.0 88.8 91.0  Tập ảnh huấn luyện cho đối tượng nhiều khả nhận dạng xác đối tượng cao, PCA tập trung theo hướng đặc trưng đối tượng nên có nhiều mẫu có nhiều đặc điểm riêng, dễ nhận dạng đối tượng Bảng 3.2: Bảng hiệu suất nhận dạng theo số neural lớp ẩn S1 20 30 50 100 200 300 400 600 700 800 Hiệu suất (%) 77.5 82.5 85 82.5 80 77.5 80 82.5 80 37 58  Số nút neural lớp ẩn có tác động đến hiệu suất nhận dạng, từ bảng tren ta thấy nhiều nút ẩn hiệu suất cao mà phụ thuộc vào hàm, mà hàm có điểm hội tụ cho hiệu suất tốt không thiết tối đa số neural có số lần học mạng Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 4.1 Kết luận Đề tài thực trình nhận dạng theo yêu cầu giới hạn đặt nhận dạng đối tượng Video Trong trình thực đề tài, nhóm thực đề tài gặp không khó khăn, hạn chế kiến thức khả đọc hiểu tài liệu tiếng anh Nhưng với nhờ giúp đỡ tận tình GVHD nhiệt tình bạn bè, nhóm thực gần hoàn thiện mục tiêu ban đầu mà GVHD đề ra: - Trình bày số lý thuyết xử lý ảnh, hỗ trợ cho trình đọc hiểu thuật toán - Giải vấn đề phát nhận dạng khuôn mặt Video - Mô thành công toán nhận dạng mặt người, nhận dạng đối tượng phần mềm Matlab máy tính Nhóm thực đề tài cảm thấy nâng cao kỹ nghiên cứu, tìm hiểu tài liệu tiếng anh, tài liệu chuyên ngành Intenet thư viện 4.2 Hạn chế đề tài - Đề tài số hạn chế, độ xác hệ thống nhận dạng phụ thuộc nhiều vào tập mẫu huấn luyện, góc độ khuôn mặt, khoảng cách từ khuôn mặt tới camera ảnh mẫu ảnh đem nhận dạng không khác biệt, ảnh người chụp phải trực diện với camera, góc nghiêng thấp khoảng 35o - Chất lượng ảnh chụp hay chất lượng máy quay Video cần phải tốt, độ sắc nét phải cao nên xây dựng hệ thống ứng dụng tốn chi phí - Tốc độ xử lí ảnh nhận dạng Video chậm, chưa cải thiện 59 - Thuật toán đơn giản, chưa tối ưu mong đợi nhóm ban đầu đặt 4.3 Hướng phát triển đề tài Cần kết hợp số phương pháp khác ( SMQT, SVM, ECOC ) để trình phát nhận dạng xác hơn, tối ưu hóa thuật toán Nâng cấp phần cứng, cải tiến tốc độ xử lí, tính toán phần mềm thuật toán tăng tốc thuật toán Adaboost Cải tiến điều kiện nhận dạng bị thiếu sáng hay góc nhìn khuôn mặt nghiêng không trực diện Ứng dụng vào hệ thống an ninh, nhận dạng tội phạm truy nã hay vấn đề bảo mật thông qua hệ thống camera giám sát, camera dịch vụ, chứng minh thư điện tử… TÀI LIỆU THAM KHẢO [1] Lê Mạnh Tuấn , Phát mặt người ảnh ứng dụng, Đồ án tốt nghiệp đại học công nghệ - đại học quốc gia Hà Nội, 2013 [2] PGS.TS Nguyễn Quang Hoan, Xử Lý Ảnh, Học viện công nghệ bưu viễn thông, 2006 [3] Lương Mạnh Bá, Nguyễn Thanh Thủy, Nhập môn xỷ lý ảnh số, Nhà xuất Khoa học Kỹ thuật, 2007, trang 22 – 25, 78 – 84,115 – 132, 169 – 213 [4] TS.Nguyễn Thanh Hải, Giáo trình Xử lý ảnh, Nhà xuất Đại học Quốc gia Tp.Hồ Chí Minh, 2014, trang 24 – 30 , 109 – 120, 141 – 152, 154 – 169 [5] Th.S Phan Thanh Tao, Giáo trình MatLab, Nhà xuất Đà Nẵng, 2005 [6] Xavier Baró, Sergio Escalera, Jordi Vitrià, Oriol Pujol, and Petia Radeva, Traffic Sign Recognition Using Evolutionary Adaboost Detection and ForestECOC Classification, IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS, VOL 10, NO 1, MARCH 2009 60 [7] P Viola and M J Jones, Robust real-time face detection, Int J Comput Vis., vol 57, no 2, pp 137–154, 2004 PHỤ LỤC Một số Code chương trình MatLab sử dụng đồ án Chương trình đóng khung khuôn mặt: global t x y anhchon; face='C:\Users\Thach\Desktop\hinh DK'; csdl1=dir(face); soanh1 = 0; for i = 1:size(csdl1,1) if not(strcmp(csdl1(i).name,'.')|strcmp(csdl1(i).name,' ')| strcmp(csdl1(i).name,'Thumbs.db')) soanh1 = soanh1 + ; end end for i = : soanh1 % Trong csdl cua code thi cac file anh co ten : 1.jpg , 2.jpg str = int2str(i); % chuyen doi kieu integer kieu chuoi ky tu str = strcat('\',str,'.jpg'); % ham strcat nham lien ket cac gia tri chuoi, lay ten day du cua file anh str = strcat(face,str); % tien cho qua trinh truy xuat hay luu lai gia tri moi img = imread(str); x=imresize(img,[4320 3240]); r=x(:,:,1); g=x(:,:,2); b=x(:,:,3); x1=rgb2gray(x); imshow(x); threshold=-1; s = fdmex(x1',threshold); for i=1:size(s,1) h = rectangle('Position',[s(i,1)-s(i,3)/2,s(i,2)-s(i,3)/2,s(i,3),s(i,3)], 'EdgeColor', [1,0,0], 'linewidth', 2); end pause(1); end  Ảnh tĩnh Mạng neural 61 clear all; clc; nface='E:\DATN\MaNguon\nface';% tìm m1(giá trị trung bình) cua tap anh huan luyen [E W m1 V D] = eigenface(nface); %XXXXXXXXXXXXXXXXXXXXXXXXXXtao mang noron huan luyen %khai bao ngo vao va cho mang noron P=W; n1 = [1 ; 0]; n2 = [0 ; 1]; T=[n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2]; net = edu_createnn(P,T); save dnetwork net; Tách khuôn mặt % XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX global t x y anhchon; face='C:\Users\Thach\Desktop\hinh DK'; csdl1=dir(face); soanh1 = 0; % tim tat ca cac file anh co thu muc face for i = 1:size(csdl1,1) if not(strcmp(csdl1(i).name,'.')|strcmp(csdl1(i).name,' ')| strcmp(csdl1(i).name,'Thumbs.db')) soanh1 = soanh1 + ; end end for i = : soanh1 % Trong csdl cua code thi cac file anh co ten : 1.jpg , 2.jpg str = int2str(i); % chuyen doi kieu integer kieu chuoi ky tu str = strcat('\',str,'.jpg'); % ham strcat nham lien ket cac gia tri chuoi, lay ten day du cua file anh str = strcat(face,str); % tien cho qua trinh truy xuat hay luu lai gia tri moi img = imread(str); % XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX x=imresize(img,[4320 3240]); 62 r=x(:,:,1); g=x(:,:,2); b=x(:,:,3); %phat hien bang haar-like x1=rgb2gray(x); % imshow(x); % decision threshold % Thay doi cac gia tri nguong de co duoc ket qua tot nhat % pham vi : -10 10 threshold=-1; s = fdmex(x1',threshold); % XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXX for i=1:size(s,1) p=0; a=s(i,1)-fix((s(i,3))/2); c=s(i,1)+fix((s(i,3))/2); d=s(i,2)-fix((s(i,3))/2); q=s(i,2)+fix((s(i,3))/2); for k=d:1:q-1 for j=a:1:c-1 R=r(k,j); G=g(k,j); B=b(k,j); D=max([R G B]); E=min([R G B]); if R>95 & G>40 & B>20 & (D-E)>15 & abs(R-G)>15 & R>B & R>G p=p+1; end end if p >= 35000 x1 = imcrop(x,[s(i,1)-s(i,3)/2,s(i,2)-s(i,3)/2,s(i,3),s(i,3)]); x2=imresize(x1,[90 90]); % figure,imshow(x2); end end %XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXX [filename,pathname]=uiputfile({'*.jpg','JPEG Files(*.jpg)'; '*.bmp','Bitmap Files(*.bmp)';'*.gif','GIF Files(*.gif)'; '*.tif','TIFF Files(*.tif)'; % dat ten va chon loai anh muon luu '*.*','all image file'},'Luu anh da chon!','anhkq/'); % thuc hien luu anh imwrite(x2,[pathname,filename]); 63 end end % % XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXX  Video Mạng neural Video clear all; clc; nface='E:\DATN\MaNguon\nface_video';% tìm m1(giá tr? trung bình) c?a t?p ?nh hu?n luy?n [E W m1 V D] = eigenface_video(nface); P=W; n1 = [1 ; 0]; n2 = [0 ; 1]; T=[n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2 n2]; net = edu_createnn(P,T); save dnetwork_video1 net; % load dnetwork net; Tạo egienface function [E W m1 V D] = eigenface_video(face) % global m1 [T1 soanh1] = ma_tran_anh(face) ; m1 = double(mean(T1,2)); % Tinh toan gia tri anh trung binh theo tung hang % m_anh = reshape(m1',dong,cot); % figure,imshow(m_anh);%pause; soanh1 = size(T1,2); %tra ve kich thuoc cot cua T1 % show(m1,'Anh trung binh');%pause; % Tinh lech giua cac buc anh huan luyen voi gia tri anh trung binh,sau tru di gia tri trung binh cua % anh trung binh va luu cac sai khác lai lam mot ma tran anh moi, ma tran la ma tran vecto rieng cua anh % huan luyen, nhan ma tran vector riêng voi ma tran nghich dao cua no va dung ham “eig” de tim cac vector % rieng va tri rieng cho tap anh huan luyen A1 = []; 64 for i = : soanh1 temp = double(T1(:,i)) - m1; % T(:,i): vector cot thu i chinh la mot buc anh ,moi lan chay het cac hang cua cot,tuc la chay het buc anh A1 = [A1 temp]; %Tinh lech giua cac buc anh huan luyen voi gia tri anh trung binh,sau tru di gia tri trung binh cua % anh trung binh va luu cac sai khác lai lam mot ma tran anh moi end %XXXXXXXXXXXXXX xem anh trung binh cua tung anh XXXXXXXXXXXXX % for i=1:5 %cho i=1 va size(V1,2) xem tat ca 20 anh % anh=A1(:,i); % figure,show(anh,'Eigenface');%pause; % end %XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX L1 = A1'*A1; % nhan ma tran anh trung binh voi ma tran nghich dao cua no [V D] = eig(L1); %tim vector rieng va tri rieng cua tap huan luyen % E1 = A1*V1; %XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX % V chua ma tran nhung vecto rieng, D chua nhung tri rieng cua cac vector rieng do, vector rieng V(:,i) % ung voi tri rieng la D(i,i) D1=diag(D); %tao ma tran D tu ma tran D1,voi so hang cua D bang so cot cua D1, % %cac phan tu cua D la cac phan tu nam tren duong cheo chinh % %cua D1 D1=sort(D1); % sap xep theo chieu tang dan s=size(D1); %tra ve 20 hang,1 cot s=s(1); %tra ve gia tri 20 D1=D1(s-39); % chi giu lai 10 tri rieng lon nhat,lay gia tri de so sanh LeigV = []; % va 10 vector rieng lon nhat cua tap anh huan luyen for i = : size(V,2) % cot V1 if( D(i,i)>= D1 ) LeigV = [LeigV V(:,i)]; % tao mot ma tran moi chi gom 20 vecto rieng end % tai cac vi tri cua chinh no cac vi tri khac end % luu cho gia tri bang E = A1 * LeigV; W = []; 65 W = E'*A1; end Tách khuôn mặt Video clear all; clc; obj=mmreader('a1.avi'); nFrames=obj.numberofframes; vidHeight = obj.Height; vidWidth = obj.Width; %dat truoc cau truc video for k=1:5:nFrames img=read(obj,k); figure(1),imshow(img,[]); x=imresize(img,[480 640]); r=x(:,:,1); g=x(:,:,2); b=x(:,:,3); %phat hien bang haar-like x1=rgb2gray(x); % decision threshold % Thay doi cac gia tri nguong de co duoc ket qua tot nhat % pham vi : -10 10 threshold=0; % figure,imshow(x); % image(x) % imagesc(x); % hold on; s = fdmex(x1', threshold); %xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx for i=1:size(s,1) p=0; a=s(i,1)-fix((s(i,3))/2); c=s(i,1)+fix((s(i,3))/2); d=s(i,2)-fix((s(i,3))/2); q=s(i,2)+fix((s(i,3))/2); for k=d+1:1:q-1 for j=a+1:1:c-1 R=r(k,j); G=g(k,j); B=b(k,j); 66 D=max([R G B]); E=min([R G B]); if R>95 & G>40 & B>20 & (D-E)>15 & abs(R-G)>15 & R>B & R>G p=p+1; end end end % XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXX if p >= 300 % h = rectangle('Position',[s(i,1)-s(i,3)/2,s(i,2)s(i,3)/2,s(i,3),s(i,3)], % 'EdgeColor', [1,0,0], 'linewidth', 2); x1 = imcrop(x,[s(i,1)-s(i,3)/2,s(i,2)-s(i,3)/2,s(i,3),s(i,3)]); x2=imresize(x1,[90 90]); % imwrite(x2,'C:\Users\teo\Desktop\DO_AN_TOT_NGHIEP\Code_fu nction_DATN\giao_dien_chuong_trinh_chinh\anhmau.jpg'); % figure,imshow(x2); end end [filename,pathname]=uiputfile({'*.jpg','JPEG Files(*.jpg)'; '*.bmp','Bitmap Files(*.bmp)';'*.gif','GIF Files(*.gif)'; '*.tif','TIFF Files(*.tif)'; % dat ten va chon loai anh muon luu '*.*','all image file'},'Luu anh da chon!','anhkq/'); % thuc hien luu anh imwrite(x2,[pathname,filename]); % XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXxx end 67 [...]... đạo hàm Nếu lấy đạo hàm bậc nhất của ảnh: ta có 16 phương pháp Gradient, nếu lấy đạo hàm bậc hai của ảnh: ta có phương pháp Laplace Hai phương pháp này được gọi là phương pháp dò biên cục bộ Ngoài ra, còn có phương pháp “đi theo đường bao” dựa vào công cụ toán học là nguyên lý qui hoạch động và được gọi là phương pháp dò biên tổng thể Loại phương pháp này hiệu quả vì ít bị ảnh hưởng nhiễu nhưng lại... việc nghiên cứu ứng dụng ANN vào quản lý xây dựng chỉ mới bắt đầu trong vài năm gần đây và cần được phát triển 2.3.2 Cơ sở lý thuyết 2.3.2.1 Cấu trúc mạng Neural Mỗi Neural (nút) là một đơn vị xử lý thông tin của mạng neural, là yếu tố cơ bản để cấu tạo nên mạng neural w1k 28 input xi uk ∑ w2k F (.) yk wik b Hình 2.8: Cấu trúc 1 nơ ron (Neural) Trong đó: xi: các tín hiệu vào wik: trọng số của từng input... yk: kết xuất của Neural b: thông số ảnh hưởng đến ngưỡng ra của output 2.3.2.1.1 Mạng truyền thẳng một lớp Đây là cấu trúc mạng neural đơn giản nhất Mạng neural này chỉ gồm 1 lớp xuất, không có lớp ẩn Hình 2.9: Cấu trúc mạng neural một lớp 2.3.2.1.2 Mạng truyền thẳng nhiều lớp 29 Hình 2.10: Cấu trúc mạng neural nhiều lớp Mạng neural nhiều lớp có thể giải quyết các bài toán phi tuyến nhờ vào các lớp ẩn... kết xuất của neural trong lớp k x1 tk W1j x2 W2j xi-1 W(i – 1)j xi ok + ek fk + sum Wij - Neural j Hình 2.13: Mô hình tính toán một neural Giá trị sai số của neural k tại vòng lặp thứ n k - k k (2.24) Tổng bình phương sai số của mạng neural: (2.25) trong đó m là tổng số neural của lớp ra - Giá trị đầu ra tại neural j của một lớp bất kỳ: (2.26) 35 Với Trong đó liên kết từ đầu vào thứ i đến neural thứ... này xen giữa các input bên ngoài và output của mạng Càng nhiều lớp ẩn thì khả năng mở rộng thông tin càng cao và xử lý tốt mạng có nhiều input và output Ngoài ra còn có mạng hồi quy và mạng Neural dạng lưới 2.3.2.2 Hàm hoạt động (hàm truyền) Các hàm hoạt động phải có các đặc tính sau: - Hàm bị chặn trên và chặn dưới Hàm có tính đơn điệu Hàm phải có tính liên tục và trơn Trong thực tế thông thường người... đầu vào được áp dụng cho mạng Trong chế độ hàng loạt, tất cả các yếu tố đầu vào được áp dụng cho mạng trước khi các trọng số được cập nhật Batch Training (train) : trong chế độ hàng loạt, các trọng số và những sai lệch của mạng được cập nhật sau khi toàn bộ tập huấn luyện đã được áp dụng vào mạng Gradient tính tại mỗi lần huấn luyện được cộng thêm vào với nhau để xác định sự thay đổi trong trọng số và. .. thước nhỏ hơn 27 PCA có thể kết hợp với các phương pháp khác như mạng Neural, Support Vector Machine… để mang lại hiệu quả nhận dạng cao hơn 2.2.2.2 Nhược điểm PCA phân loại theo chiều phân bố lớn nhất của tập vector Tuy nhiên, chiều phân bố lớn nhất không phải lúc nào cũng mang lại hiệu quả tốt nhất cho bài toán nhận dạng Đây là nhược điểm cở bản của PCA Đặc biệt PCA rất nhạy với nhiễu 2.3 Mạng nơ ron... trường và xử lý tình huống tốt hơn Mạng neural xây dựng lại cấu trúc bộ não thì cần phải có khả năng nhận biết dữ liệu thông qua tiến trình học, với các thông số tự do của mạng có thể thay đổi liên tục bởi những thay đổi của môi trường và mạng neural ghi nhớ giá trị đó teach/use X1 W1 X2 W2 Inputs Output Xn Wn Neural Teaching input Hình 2.11: Tiến trình học Trong quá trình học, giá trị đầu vào được đưa vào... dựng mạng neural; Huấn luyện mạng; Ứng dụng mạng neural để mô phỏng các dữ liệu mới Sơ đồ khối của mạng lan truyển ngược được biết như sau (hình) Mục tiêu Mạng Neural gồm tất cả Ngõ các kết nối(được gọi là các trọng số) giữa các neural Ngõ vào So sánh Điều chỉnh trọng số Hình 2.12 : Sơ đồ khối mạng lan truyền ngược  Batch mode (chế độ hàng loạt): Có nhiều biến thể của thuật toán lan truyền ngược Trong. .. là phương pháp tách đường biên khá được phổ biến được dùng theo toán tử đạo hàm Như đã nói, phương pháp đạo hàm chịu ảnh hưởng lớn của nhiễu Phương pháp đạt hiệu quả cao khi xấp xỉ đạo hàm bậc nhất của Gauss (2.6) với fx , fy là các đạo hàm riêng theo x và y của f 2.1.14 Dò biên theo quy hoạch động 21 Dò biên theo phương pháp Gradient là xác định cực trị cục bộ của Gradient theo các hướng; phương pháp

Ngày đăng: 03/02/2016, 10:54

Từ khóa liên quan

Mục lục

  • LỜI CÁM ƠN

  • LIỆT KÊ HÌNH

  • LIỆT KÊ BẢNG

  • LIỆT KÊ TỪ VIẾT TẮT

  • LỜI MỞ ĐẦU

  • MỤC LỤC

  • Chương 1 TỔNG QUAN

    • 1.1 Lý do chọn đề tài

    • 1.2 Mục tiêu cần đạt sau khi thực hiện đề tài:

    • 1.3 Giới hạn đề tài

    • 1.4 Phương pháp nghiên cứu

    • 1.5 Kế hoạch thực hiện

    • 1.6 Bố cục

    • Chương 2 CƠ SỞ LÝ THUYẾT

      • 2.1.1 Ảnh số

      • 2.1.2 Điểm ảnh

      • 2.1.3 Biểu diễn ảnh số hóa

      • 2.1.4 Độ phân giải của ảnh

      • 2.1.5 Mức xám của ảnh

      • 2.1.6 Độ sâu bit

      • 2.1.7 Dải động

      • 2.1.8 Không gian màu

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

Tài liệu liên quan