Hãy sử dụng ngôn ngữ lập trình CC++ để thực hiện các việc sau. 1. Tìm hiểu và nắm vững phương pháp chuyển đổi Fourier rời rạc. Hãy trình bày các kỹ thuật nhận dạng mặt người sử dụng chuyển đổi Fourier rời rạc. 2. Hãy sưu tầm 40 bức ảnh chân dung người từ internet, các bức ảnh đều có cùng kích thước. Những bức ảnh này gồm đủ mặt đàn ông, đàn bà. 3. Viết một hàm có tên “dft_face” để chuyển đổi một bức ảnh sang miền tần số bằng phương pháp chuyển đổi Fourier rời rạc (DFT). 4. Thực hiện chuyển đổi DFT cho toàn bộ các bức ảnh nói trên. Xây dựng một vector gồm ít nhất 4 thuộc tính của mỗi bức ảnh từ tín hiệu đã chuyển đổi DFT. 5. Chọn một bức ảnh mới về mặt trẻ em, thực hiện việc tìm kiếm xem trong số 40 bức ảnh đã lưu có bức ảnh nào giống nhất với bức ảnh mới đưa vào dựa trên các thuộc tính đã chọn ở bước 4.
Mục Lục A TÌM HIỂU VỀ MỘT SỐ KĨ THUẬT XỬ LÝ ẢNH I MỘT SỐ THUẬT TỐN TÌM NGƯỠNG Thuật tốn tìm ngưỡng .3 Thuật toán đối xứng II MỘT SỖ BỘ LỌC Lọc trung vị .5 Lọc trung bình Trung bình k láng giềng gần B TÌM HIỂU VỀ BIẾN ĐỔI FOURIER I BIẾN ĐỔI FOURIER LÀ GÌ? II CƠ SỞ BIẾN ĐỔI FOURIER CHO TÍN HIỆU VÀ HỆ THỐNG RỜI RẠC TRONG MIỀN TẦN SỐ LIÊN TỤC Biến đổi FOURIER thuận Biến đổi FOURIER ngược .14 Các tính chất FOURIER 16 FOURIER Chiều 19 III Trích rút đặc trưng miền tần số 22 IV Demo……………………………………………………………………………………………………………………………… ……………… 24 1|Page Yêu cầu toán: Hãy sử dụng ngơn ngữ lập trình C/C++ để thực việc sau Tìm hiểu nắm vững phương pháp chuyển đổi Fourier rời rạc Hãy trình bày kỹ thuật nhận dạng mặt người sử dụng chuyển đổi Fourier rời rạc Hãy sưu tầm 40 ảnh chân dung người từ internet, ảnh có kích thước Những ảnh gồm đủ mặt đàn ơng, đàn bà Viết hàm có tên “dft_face” để chuyển đổi ảnh sang miền tần số phương pháp chuyển đổi Fourier rời rạc (DFT) Thực chuyển đổi DFT cho toàn ảnh nói Xây dựng vector gồm thuộc tính ảnh từ tín hiệu chuyển đổi DFT Chọn ảnh mặt trẻ em, thực việc tìm kiếm xem số 40 ảnh lưu có ảnh giống với ảnh đưa vào dựa thuộc tính chọn bước A TÌM HIỂU VỀ MỘT SỐ KĨ THUẬT XỬ LÝ ẢNH Kỹ thuật xử lý ảnh: trình biến đổi hình ảnh thành hình ảnh khác máy tính điện tử cách tự động phụ thuộc vào mục đích người sử dụng I MỘT SỐ THUẬT TỐN TÌM NGƯỠNG Thuật tốn tìm ngưỡng Đây kỹ thuật chọn ngưỡng theo kiểu lặp Ridler Calvard đưa Trước hết, lược đồ phân đoạn thành hai phần giá trị ngưỡng khởi động với tức phân nửa thang độ xám động ảnh Sau đó, trung bình mẫu (mf,0) điểm ảnh thuộc đối tượng (mb,0) điểm ảnh tính tốn Một giá trị ngưỡng q1 tính kế cách lấy giá trị trung bình hai trung bình mẫu nói Quá trình tiếp tục với ngưỡng giá trị ngưỡng không thay đổi dừng lại Nếu biểu diễn dạng cơng thức tốn học, có : 2|Page Thuật toán đối xứng Kỹ thuật dựa giả định tồn hai đỉnh phân biệt lược đồ nằm đối xứng qua đỉnh có giá trị lớn phần lược đồ thuộc điểm ảnh Kỹ thuật tận dụng ưu điểm việc làm trơn.Đỉnh cực đại maxp tìm nhờ tiến hành tìm giá trị cực đại lược đồ Sau thuật tốn áp dụng phía khơng phải điểm ảnh thuộc đối tượng ứng với giá trị cực đại nhằm tìm giá trị độ sáng a ứng với giá trị phần trăm p% mà: P(a) = p%, P(a) hàm phân phối xác suất độ sáng Định nghĩa: [Hàm phân phối xác suất độ sáng] Hàm phân phối xác suất P(a) thể xác suất chọn giá trị độ sáng từ vùng ảnh cho trước, cho giá trị không vượt giá trị sáng cho trước a Khi a biến thiên từ âm vô đến dương vô cùng, P(a) nhận giá trị từ đến P(a) hàm đơn điệu không giảm theo a, 3|Page Ở ta giả thiết ảnh có đối tượng tối sáng Giả sử độ chắn 95%, có nghĩa ta phải bên phải đỉnh maxp giá trị a cho P(a)=95% Do tính đối xứng giả định trên, lấy đối xứng qua maxp để có ngưỡng T: T = maxp – (a – maxp) (5.11) Kỹ thuật thực ngược lại với tình ảnh có đối tượng sáng tối II MỘT SỖ BỘ LỌC Lọc trung vị Bộ lọc trung vị lọc làm mượt phi tuyến miền không gian Bộ lọc trung vị lọc theo thống kê thứ tự Nó thay giá trị điểm ảnh trung vị mức xám cácđiểm lân cận Bộ lọc trung vị dùng phổ biến, số loại nhiễu định, lọc nhiễu tốt với độ mờ thấp so với lọc tuyến tính kích thước Trung vị E tập hợp giá trị mà giá trị tập hợpnhỏ E, giá trị tập hợp lớn E Áp dụng lọc trung vị lên điểm xét, ta xếp điểm ảnh lân cận theo thứ tự giá trị tăng dần tìm giá trị trung vị, gán giá trị cho giá trị điểm anh xét 4|Page Chức lọc trung vị thiết lập giá trị điểm với mức xám khác thành giá trị gần giống với giá trị điểm lân cận Thuật toán lọc Trung vị gồm bước: – Sử dụng cửa sổ lọc (ma trận 3x3) quét qua điểm ảnh ảnh đầu vào input – Tại vị trí điểm ảnh lấy giá trị điểm ảnh tương ứng vùng 3x3 ảnh gốc "lấp" vào ma trận lọc – Sau xếp điểm ảnh cửa sổ theo thứ tự (tăng dần giảm dần tùy ý) – Cuối cùng, gán điểm ảnh nằm (Trung vị) dãy giá trị điểm ảnh xếp cho giá trị điểm ảnh xét ảnh đầu output Cho dãy x1; x2 ; xn đơn điệu tăng (giảm) Khi trung vị dãy ký hiệu Med({xn}), định nghĩa: Giả sử ta có ảnh I ngưỡng θ cửa sổ W(P) điểm ảnh P Khi kỹ thuật lọc trung vị phụ thuộc không gian bao gồm bước sau: • Bước 1: Tìm trung vị phần ảnh xét (cửa sổ quét qua) • Bước 2: Gán giá trị cho pixel “tâm” 5|Page Ví dụ: Giả sử cho cửa sổ W = (3x3); giá trị ngưỡng θ =2 Giá trị 16, sau phép lọc có giá trị 2, giá trị lại khơng thay đổi Lọc trung bình Bộ lọc làm trơn (smooth filtering) Tác dụng: - Làm mờ ảnh (do hệ số dương): + Áp dụng phép tiền xử lý ảnh + Loại bỏ đối tượng nhỏ ảnh - Khử nhiễu - Bộ lọc làm trơn đơn giản lọc trung bình (average filtering) Ý tưởng lọc trung bình: thay giá trị pixel trung bình giá trị pixel mặt nạ lân cận nhằm - Loại bỏ pixel biến đổi lớn so với lân cận (nhiễu) - Những pixel nằm biên có biến đổi lớn so với lân cận -> làm mờ Cho dãy x1, x2…, xn trung bình dãy ký hiệu AV({xn}) định nghĩa: Mệnh đề: 6|Page Kỹ thuật lọc trung bình: Giả sử ta có ảnh I, điểm ảnh P, cửa sổ W(P) ngưỡng θ Khi kỹ thuật lọc trung bình phụ thuộc khơng gian bao gồm bước sau: + Bước 1: Tìm trung bình + Bước 2: Gán giá trị Ví dụ: Lọc ảnh sau: cho W (3 x3); θ = Giá trị 16 sau phép lọc trung bình có giá trị 4, giá trị lại giữ nguyên sau phép lọc Trung bình k láng giềng gần Giả sử ta có ảnh I, điểm ảnh P, cửa sổ W(P), ngưỡng θ số k Khi lọc trung bình theo k giá trị gần bao gồm bước sau: 7|Page B1: tìm k giá trị gần {I(q)| q ∈W(P)}→{k giá trị gần I(p) nhất} B2: tính trung bình {k giá trị gần I(P) nhất}→ TBk(P) B3: Nhận xét: Nếu k> kích thước cửa sổ W kỹ thuật trở thành lọc trung bình Nếu k=1 kết B TÌM HIỂU VỀ BIẾN ĐỔI FOURIER I BIẾN ĐỔI FOURIER LÀ GÌ? Biến đổi Fourier hay chuyển hóa Fourier, đặt tên theo nhà toán học người Pháp Joseph Fourier , biến đổi tích phân dùng để khai triển hàm số theo hàm số sin 8|Page sở, có nghĩa dạng tổng hay tích phân hàm số sin nhân với số khác (hay gọi biên độ) Biến đổi Fourier có nhiều dạng khác nhau, chúng phụ thuộc vào dạng hàm khai triển Biến đổi Fourier có nhiều ứng dụng khoa học, ví dụ vật lý, số học, xử lý tín hiệu, xác suất, thống kê, mật mã, âm học, hải dương học, quang học, hình học nhiều lĩnh vực khác Trong xử lý tín hiệu ngành liên quan, biến đổi Fourier thường nghĩ đến chuyển đổi tín hiệu thành thành phần biên độ tần số Ở tìm hiểu biến đổi Fourier cho tín hiệu hệ thống rời rạc miền tần số liên tục II CƠ SỞ BIẾN ĐỔI FOURIER CHO TÍN HIỆU VÀ HỆ THỐNG RỜI RẠC TRONG MIỀN TẦN SỐ LIÊN TỤC Tổng quan biến đổi Foiurier nghiên cứu để chuyển biểu diễn tín hiệu hệ thống rời rạc từ miền biến số độc lập n sang miền tần số liên tục ω Biến đổi FOURIER thuận 1.1 Định nghĩa Nếu dãy x(n) thoả mãn điều kiện � �x(n) � n� [1] tồn phép biến đổi Fourier sau: � X(e ) �x(n) e jn j n� [2] Biến đổi Fourier chuyển dãy số x(n) thành hàm phức X(ej), [2] biểu thức biến đổi Fourier thuận ký hiệu sau : FT [ x( n)] X (e jn ) hay : FT x(n) �� � X (e jn ) [3] [4] (FT chữ viết tắt thuật ngữ tiếng Anh Fourier Transform) 9|Page 1.2 Sự tồn biến đổi FOURIER Theo định nghĩa, biến đổi Fourier thuận [2] tồn dãy x(n) thoả mãn điều kiện khả tổng tuyệt đối [1] Điều có nghĩa là, dãy x(n) thoả mãn điều kiện [1] chuỗi [2] hội tụ hàm X(ej), nên x(n) tồn biến đổi Fourier Ngược lại, dãy x(n) khơng thoả mãn điều kiện [1] chuỗi [2] phân kỳ, hàm X(ej) khơng tồn x(n) khơng có biến đổi Fourier Các tín hiệu số x(n) có lượng hữu hạn : Ex � � x ( n) � [5] n � thỏa mãn điều kiện [1] , ln tồn biến đổi Fourier Ví dụ : Hãy xét tồn tìm biến đổi Fourier dãy sau: a u ( n) b n u ( n) c Giải: a � � n � n0 �u (n) �1 � Hàm u(n) không thoả mãn [1] nên không tồn biến đổi Fourier � b � � u (n) �2 n n � n � n 0 Hàm 2nu(n) không thoả mãn [1] nên không tồn biến đổi Fourier � c �rect n � N 1 N (n) �1 N � n0 Hàm rect N(n) thoả mãn [1] nên tồn biến đổi Fourier, : 10 | P a g e Dft_face: hàm chuyển đổi DFT đầu vào mảng điểm ảnh, kích thước đầu mảng writeData: hàm ghi liệu đầu hàm d_f_t vào file định dạng txt 24 | P a g e converDataToPixelArray: hàm chuyển đổi liệu ảnh sang mảng điểm ảnh 25 | P a g e fr: hàm tính tần suất xuất hiện, đầu đầu hàm d_f_t đầu mảng struct kiểu Freq 26 | P a g e L1N: hàm tính khoảng cách L1-norm đầu vào vector đặc trung ảnh, đầu khoảng cách writeVect: hàm ghi vector thc tính vào file định dạng txt 27 | P a g e writeDes: hàm ghi khoảng cách ảnh với ảnh tập ảnh, khoảng cách vào file định dạng txt 28 | P a g e grayscale: chuyển từ mảng pix RGB sang màu Hàm main: 29 | P a g e 30 | P a g e 31 | P a g e 32 | P a g e Trích rút đặc trưng: 33 | P a g e 34 | P a g e Kết quả: ảnh 1.bmp DFT cho ảnh 1.bmp 35 | P a g e Vector đặc trưng: Tìm kiếm ảnh: Cho đầu vào ảnh be.bmp Khoảng cách distance với 40 ảnh lại trích ra: 36 | P a g e 37 | P a g e 38 | P a g e ... nhiễu tốt với độ mờ thấp so với lọc tuyến tính kích thước Trung vị E tập hợp giá trị mà giá trị tập hợpnhỏ E, giá trị tập hợp lớn E Áp dụng lọc trung vị lên điểm xét, ta xếp điểm ảnh lân cận... biên độ tần số Ở tìm hiểu biến đổi Fourier cho tín hiệu hệ thống rời rạc miền tần số liên tục II CƠ SỞ BIẾN ĐỔI FOURIER CHO TÍN HIỆU VÀ HỆ THỐNG RỜI RẠC TRONG MIỀN TẦN SỐ LIÊN TỤC Tổng quan biến... dịch để kết hình bên phải, điểm tần số (hệ số DC) nằm ma trận, điểm biểu diễn tần số tăng dần theo chiều tiến biên 19 | P a g e Dịch hệ số DC vào ma trận kết Phương trình cho thấy nhân điểm ảnh với