Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 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 NGUYỄN THỊ HỢP NGHIÊN CỨU GIẢI THUẬ
Trang 1Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 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
NGUYỄN THỊ HỢP
NGHIÊN CỨU GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG VÀO BÀI TOÁN TÁI TẠO ẢNH
CHÂN DUNG ĐỐI TƯỢNG
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên - 2012
Trang 2Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 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
NGUYỄN THỊ HỢP
NGHIÊN CỨU GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG VÀO BÀI TOÁN TÁI TẠO ẢNH
CHÂN DUNG ĐỐI TƯỢNG
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Chuyên ngành: Khoa học máy tính
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS NGUYỄN NGỌC CƯƠNG
Thái Nguyên - 2012
Trang 3Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
MỞ ĐẦU
1 Tính cấp thiết của đề tài
Con người là đối tượng nghiên cứu rất phong phú và phức tạp của nhiều lĩnh vực khoa học khác nhau Mỗi ngành khoa học, mỗi lĩnh vực khoa học chỉ nghiên cứu về con người với góc độ, khía cạnh riêng để phục vụ thiết thực cho ngành khoa học đó Bài toán tái tạo ảnh chân dung đối tượng từ những thông tin đặc tả về đối tượng không những phục vụ công tác quản lý con người mà còn ứng dụng cần thiết trong công tác phòng ngừa, đấu tranh chống các loại tội phạm
Ngày nay, khi nền khoa học kỹ thuật phát triển toàn diện, việc ứng dụng khoa học kỹ thuật tiên tiến càng cho phép chúng ta giải quyết bài toán nhanh, chính xác và hiệu quả hơn Nhờ có những thành tựu của các ngành khoa học khác như: Nhân chủng học, hình thái học, dân tộc học, nhân trắc học, khoa học chỉnh hình, … đã tạo cơ sở phát triển cho khoa học nhận dạng người nói chung
và lai ghép, tái tạo mặt người nói riêng
Vì lẽ đó bài toán tái tạo ảnh chân dung đối tượng dựa vào các đặc điểm cơ bản của các bộ phận cấu tạo nên mặt người là bài toán rất thiết thực đang được nhiều người quan tâm, vấn đề cấp thiết đặt ra là giải quyết bài toán tái tạo ảnh chân dung đối tượng sao cho hiệu quả, đáp ứng được nhu cầu của người sử dụng
Hiện nay đã có nhiều phương pháp tiếp cận, xây dựng chương trình tái tạo ảnh chân dung đối tượng Các phần mềm đã có thường khối lượng công việc cần
xử lí lớn, lọc lựa, lắp ghép trên tập các dữ liệu ảnh phức tạp nên tốc độ còn chậm
Nhằm nâng cao chất lượng và hiệu quả của phần mềm tái tạo, lai ghép mặt người, tác giả đã tìm hiểu thuật giải di truyền có nhiều ưu điểm trong tốc độ tính toán, mô hình hoá Do đó trong khuôn khổ luận văn thạc sỹ, tôi chọn đề tài:
“Nghiên cứu giải thuật di truyền và ứng dụng vào bài toán tái tạo ảnh chân dung đối tƣợng”
Trang 4Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
2 Mục tiêu của luận văn
Mục tiêu của luận văn là: nghiên cứu giải thuật di truyền và tìm cách ứng dụng giải thuật di truyền để tái tạo ảnh chân dung đối tượng gần giống nhất theo
mô tả của các nhân chứng
3 Nội dung của luận văn
Đề tài tập trung vào việc tìm hiểu các kiến thức cơ bản về giải thuật di truyền và bước đầu ứng dụng nó vào giải bài toán tái tạo ảnh chân dung khuôn mặt đối tượng theo hướng tiếp cận sau: sử dụng giải thuật di truyền để mã hóa khuôn mặt thành chuỗi gene, dựa trên những mô tả chi tiết của nhân chứng để tạo ra các khuôn mặt gần giống nhất với nhận định của nhân chứng Sau khi quan sát khuôn mặt tái tạo được, nhân chứng có thể thay đổi, bổ sung các chi tiết khác Các khuôn mặt tiếp tục được đánh giá bằng một hàm thích nghi Độ thích nghi được đo bằng sự vi phạm các ràng buộc như ràng buộc giữa khuôn mặt và các bộ phận trên khuôn mặt, tỉ lệ co dãn, sinh các bộ phận và lai ghép tùy chọn
là các véc tơ đa chiều Mỗi ràng buộc được thể hiện thông qua độ lệch và độ dãn biên của các bộ phận được ghép
Trên cơ sở đó, nội dung của luận văn gồm ba chương sau phần Mở đầu:
- Chương 1: Khái quát về giải thuật di truyền và bài toán tái tạo ảnh chân dung (từ trang 4 đến trang 32)
Trong chương này trình bày khái quát về giải thuật di truyền: mã hóa nghiệm của bài toán, các toán tử di truyền, sơ đồ thuật toán di truyền, nền tảng toán học của giải thuật di truyền, mô hình hóa giải thuật di truyền bằng xích Markov Phần tiếp theo của chương tìm hiểu ứng dụng giải thuật di truyền để giải bài toán tối ưu hóa, một số cải tiến của giải thuật di truyền và những đóng góp quan trọng của giải thuật di truyền trong thực tế
Phần thứ 2 của chương trình bày khái quát về bài toán tái tạo ảnh chân dung đối tượng
Trang 5Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
- Chương 2: Ứng dụng giải thuật di truyền vào bài toán tái tạo ảnh chân dung đối tượng (từ trang 33 đến trang 58)
Chương 2 trình bày một số đặc điểm của bài toán nhận dạng khuôn mặt, mối liên hệ của nó với bài toán tái tạo ảnh chân dung khuôn mặt người
Phần tiếp theo của chương đề cập đến một số phương pháp, kỹ thuật xử lý ảnh được áp dụng trong bài toán tái tạo ảnh chân dung khuôn mặt đối tượng Nội dung trọng tâm của chương trình bày bài toán tái tạo ảnh chân dung khuôn mặt đối tượng theo hướng tiếp cận mới Đó là ứng dụng giải thuật di truyền để giải quyết bài toán: mã hóa khuôn mặt thành chuỗi gene; xây dựng hàm mục tiêu đánh khuôn mặt; các toán tử di truyền; các bước giải bài toán tái tạo ảnh chân dung khuôn mặt bằng giải thuật di truyền; các tham số lựa chọn và chi phí thời gian thực hiện giải thuật
Phần cuối chương 2 dành cho việc trình bày các công cụ và mô hình được lựa chọn để giải quyết bài toán theo hướng tiếp cận di truyền Một số điểm hạn chế của giải pháp được đề cập đến ở cuối chương
- Chương 3: Xây dựng chương trình tái tạo ảnh chân dung đối tượng
và thử nghiệm (từ trang 59 đến trang 76)
Trong chương này tập trung vào việc phân tích, thiết kế hệ thống tái tạo ảnh chân dung khuôn mặt đối tượng, cài đặt và thử nghiệm chương trình tái tạo ảnh chân dung khuôn mặt đối tượng theo hướng tiếp cận giải thuật di truyền đã được đề xuất ở Chương 2
- Phần kết luận và hướng phát triển
- Tài liệu tham khảo
4 Phương pháp nghiên cứu
Nghiên cứu tài liệu, đề xuất giải pháp và lập trình thử nghiệm
Luận văn đã bước đầu đề xuất phương pháp ứng dụng giải thuật di truyền vào giải quyết bài toán tái tạo ảnh chân dung đối tượng, các chương trình thử nghiệm đã minh chứng hướng tiếp cận là đúng đắn và có hiệu quả
Trang 6Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Chương 1 KHÁI QUÁT VỀ GIẢI THUẬT DI TRUYỀN VÀ BÀI TOÁN
TÁI TẠO ẢNH CHÂN DUNG
Chương này tìm hiểu những khái niệm cơ bản về giải thuật di truyền, cơ sở toán học của giải thuật di truyền, những cải tiến của giải thuật di truyền và các ứng dụng của nó trong thực tiễn Phần cuối chương là những nét khái quát về bài toán tái tạo ảnh chân dung đối tượng
1.1 Khái quát về giải thuật di truyền
1.1.1 Những khái niệm cơ bản về giải thuật di truyền đơn giản
Giải thuật di truyền (Genetic Algorithm-GA) thuộc lớp các giải thuật tìm kiếm tiến hóa Khác với phần lớn các giải thuật khác tìm kiếm theo điểm, giải thuật di truyền thực hiện tìm kiếm song song trên một tập được gọi là quần thể các lời giải có thể Thông qua việc áp dụng các toán tử gene, giải thuật GA tráo đổi thông tin giữa các cực trị và do đó làm giảm thiểu khả năng kết thúc giải thuật tại một cực trị địa phương
Ý tưởng áp dụng các nguyên lý của Darwin để tự động giải bài toán xuất hiện từ những năm 40 của thế kỷ 20, rất lâu trước khi máy tính ra đời [8] Từ những năm đó Turing đã đề xuất “phép tìm kiếm tiến hóa hay tìm kiếm gene” (Genetical or evolutionary search) Trong những năm 1960, ba khuynh hướng phát triển của ý tưởng cơ sở này đã diễn ra ở các nơi khác nhau Tại Mỹ, Fogel, Owens và Walsh đề xuất hướng nghiên cứu lập trình tiến hóa (Evolutionary programming) cùng thời điểm với phương pháp của Holland có tên gọi là giải thuật di truyền (Genetic Algorithm)[9, 10] Trong khi đó tại Đức, Rechenberg và Schwefel đặt nền móng cho chiến lược tiến hóa (Evolution Strategies) Trong khoảng 15 năm sau đó, các hướng nghiên cứu này được phát triển một cách riêng biệt Cho đến những năm 1990, các hướng nghiên cứu này được nhìn nhận lại như những thể hiện khác nhau của một công nghệ chung là tính toán tiến hóa
Trang 7Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
(Evolutionary Computing)[9, 10, 11, 12] Cũng trong thời điểm này, một nhánh thứ tư dựa trên ý tưởng chung ra đời với tên gọi lập trình gene (genetic programming) do Koza đi tiên phong [11, 12] Trong thuật ngữ hiện đại, toàn bộ lĩnh vực nghiên cứu này được coi là ngành tính toán tiến hóa, các thuật toán trong đó được gọi là các thuật toán tiến hóa Lập trình tiến hóa, chiến lược tiến hóa, giải thuật di truyền và lập trình gene được xem như các lĩnh vực nhỏ thuộc
về các biến thể của thuật toán tương ứng
Giải thuật di truyền là một họ các mô hình tính toán dựa trên ý tưởng tiến hóa Các giải thuật này mã hóa nghiệm tiềm năng của một bài toán cụ thể bằng một cấu trúc dữ liệu giống như các nhiễm sắc thể (chromosome) và áp dụng các toán tử tái tổ hợp (recombination operators) lên các cấu trúc dữ liệu đó sao cho
có thể giữ được các thông tin chính Giải thuật di truyền thường được xem như những bộ tối ưu hàm số mặc dù chúng có thể áp dụng vào nhiều lĩnh vực rộng hơn
Một cài đặt của giải thuật di truyền bắt đầu với một quần thể các nhiễm sắc thể (thường được tạo ngẫu nhiên) Người ta đánh giá các cấu trúc này và phân
bổ cơ hội tái sinh cho chúng theo cách những nhiễm sắc thể biểu diễn nghiệm tốt hơn của bài toán sẽ được ưu tiên hơn các nhiễm sắc thể khác để tái sinh Mức
độ “tốt” của nghiệm thường được xác định tương ứng với quần thể hiện thời
Mô tả của giải thuật di truyền như trên là khá trừu tượng và có hai cách hiểu về thuật ngữ “giải thuật di truyền” Theo nghĩa chặt, “giải thuật di truyền” được coi là một mô hình tính toán do Holland đề xuất và nghiên cứu từ năm
1975 Hầu hết các lý thuyết về giải thuật di truyền đang tồn tại cho đến hiện nay đều dùng thuật ngữ theo nghĩa này và khi đó mô hình được gọi là giải thuật di truyền chính tắc Theo nghĩa rộng hơn, giải thuật di truyền được coi là bất cứ một mô hình nào dựa trên quần thể (population-based model) nào đó sử dụng các toán tử tái tổ hợp và lựa chọn để sinh ra các điểm mẫu mới trong không gian tìm kiếm Nhiều mô hình giải thuật di truyền đã được các tác giả nghiên cứu
Trang 8Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
thực nghiệm đưa ra trên quan điểm hướng ứng dụng và xem giải thuật di truyền như công cụ tối ưu hóa
Trong mục này, chúng ta sẽ trình bày những khái niệm cơ bản liên quan tới giải thuật di truyền
Trong hầu hết các giải thuật di truyền thông thường có hai thành phần phụ thuộc vào bài toán: mã hóa bài toán và hàm đánh giá
Bước đầu tiên trong bất kỳ một giải thuật di truyền nào là bước tạo sinh quần thể xuất phát Trong giải thuật di truyền chính tắc, mỗi thành viên của quần thể này là một chuỗi nhị phân độ dài l tương ứng với mã hóa nghiệm của bài toán Mỗi chuỗi như vậy được xem như một nhiễm sắc thể Trong hầu hết các trường hợp, quần thể này được sinh ra một cách ngẫu nhiên Sau khi sinh ra quần thể xuất phát, mỗi cá thể của quần thể được đánh giá và được gán cho một giá trị thích nghi (fitness value)
Khái niệm đánh giá (evaluation) và thích nghi (fitness) đôi khi được sử dụng như cặp từ đồng nghĩa Tuy nhiên, người ta thường phân biệt giữa hàm đánh giá (evaluation function) và hàm thích nghi (fitness function) được sử dụng trong các giải thuật di truyền Trong mục này, hàm đánh giá (hay hàm mục tiêu) cung cấp độ đo hiệu quả của việc thiết lập giá trị các tham số cụ thể Hàm thích nghi biến đổi độ đo hiệu quả này thành việc phân bổ cơ hội tái tạo cho các cá thể Việc đánh giá một chuỗi biểu diễn tập các tham số là hoàn toàn độc lập với việc đánh giá các chuỗi khác Tuy nhiên, mức độ thích nghi (fitness) của một chuỗi luôn luôn được xác định trong mối tương quan với các thành viên khác trong quần thể hiện tại
Trong giải thuật di truyền, mức độ thích nghi có thể được xác định bằng
f
f i/ với f i là đánh giá của chuỗi i và f là đánh giá trung bình của tất cả các chuỗi trong quần thể Mức độ thích nghi cũng có thể được gán dựa trên thứ hạng của cá thể trong quần thể hoặc bằng các phương pháp lấy mẫu như phương pháp lựa chọn theo đấu loại
Trang 9Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Việc thực hiện giải thuật di truyền có thể được xem như một quá trình hai giai đoạn Thuật toán bắt đầu với quần thể hiện thời Việc lựa chọn được áp dụng vào quần thể này để tạo ra một quần thể trung gian Sau đó việc lai ghép và đột biến được áp dụng cho quần thể trung gian để tạo nên quần thể tiếp theo Quá trình chuyển từ quần thể hiện thời tới quần thể tiếp theo tạo nên một thế hệ trong tiến trình thực hiện giải thuật di truyền Cách thực hiện như vậy được gọi
là cài đặt của giải thuật di truyền đơn giản (Simple Genetic Algorithm – SGA) Hình 1.1 minh họa việc hình thành một thế hệ mới theo hai pha: pha chọn lọc và pha tái tổ hợp Việc đột biến có thể thực hiện ngay sau lai ghép
Chọn lọc (Nhân đôi)
Tái tổ hợp (Lai ghép, đột biến)
Hình 1.1 Một thế hệ mới được hình thành qua pha chọn lọc và pha tái tổ hợp
Đầu tiên chúng ta xem xét việc xây dựng quần thể trung gian từ quần thể hiện thời Trong thế hệ đầu tiên, quần thể hiện thời cũng đồng thời là quần thể xuất phát Sau khi tính f i/ f cho tất cả các chuỗi trong quần thể hiện thời, chúng
ta thực hiện việc lựa chọn Trong giải thuật di truyền chính tắc, xác suất để một chuỗi trong quần thể hiện thời được sao chép lại và được đưa vào thế hệ trung gian tỷ lệ thuận với mức độ thích nghi của chúng
Có nhiều cách thực hiện việc lựa chọn Chúng ta có thể ánh xạ quần thể lên một bánh xe roulette, mỗi cá thể chiếm một không gian tỷ lệ thuận với mức độ
Trang 10Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
thích nghi của nó trên bánh xe Quần thể trung gian được tạo nên nhờ việc quay liên tiếp bánh xe để chọn ra các cá thể theo cơ chế “lấy mẫu ngẫu nhiên có thay thế” (stochastic sampling with replacement) Cơ chế lựa chọn như vậy được gọi
là lựa chọn tỷ lệ (proportional selection) và xác suất để một phần tử b được lựa chọn xác định bởi công thức:
0 )) ( / ) ( (
b f b f b
p
Với bvà các b ilà các cá thể nằm trong quần thể hiện tại
Quá trình lựa chọn cũng có thể thực hiện bằng cơ chế “remainder stochastic sampling” Khi đó mỗi chuỗi i với f i/ f lớn hơn 1 sẽ được sao chép vào quần thể trung gian với số lần bằng phần nguyên của f i/ f Sau đó tất cả các chuỗi (kể cả các chuỗi có f i/ f nhỏ hơn 1) sẽ được sao chép thêm vào quần thể trung gian với xác suất tỷ lệ thuận với phần thập phân của chúng
Sau khi lựa chọn, việc tái tổ hợp được thực hiện trên quần thể trung gian Việc này có thể được coi như việc tạo ra quần thể tiếp theo từ quần thể trung gian Việc lai ghép (crossover) được áp dụng cho các chuỗi được ghép cặp một cách ngẫu nhiên với xác suất p c: lấy ra một cặp chuỗi; tái tổ hợp hai chuỗi này với xác suất p cđể tạo nên hai chuỗi mới và đặt chúng vào quần thể tiếp theo Bước tiếp theo là việc áp dụng toán tử đột biến (mutation operator) Mỗi bit trong quần thể có thể chịu hiện tượng đột biến với xác suất p m.Thông thường, tần xuất đột biến được thực hiện với xác suất nhỏ hơn 1% Trong một số trường hợp, đột biến được giải thích như việc tạo ngẫu nhiên một bít mới Trong các trường hợp khác, đột biến được xem là phép lật bit Sự khác nhau giữa hai cách giải thích thực chất chỉ là chi tiết cài đặt và mỗi kiểu đột biến đều có thể chuyển đổi để nhận được kiểu còn lại
Trang 11Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Khi quá trình lựa chọn, tái tổ hợp và đột biến hoàn thành, quần thể tiếp theo lại được đưa vào chu trình lặp với các bước như trên Như vậy một thế hệ mới
đã được sinh ra khi thực hiện giải thuật di truyền
Tóm lại, có 6 khía cạnh cần được xem xét trước khi áp dụng giải thuật di truyền để giải một bài toán, cụ thể là:
Mã hóa lời giải thành cá thể dạng chuỗi
Hàm xác định giá trị độ phù hợp
Sơ đồ chọn lọc các cá thể bố mẹ
Toán tử lai ghép
Toán tử đột biến
Chiến lược thay thế hay còn gọi là toán tử tái tạo
Có nhiều lựa chọn khác nhau cho từng vấn đề nêu trên Phần tiếp theo sẽ đưa ra cách lựa chọn theo J H Holland khi thiết kế phiên bản giải thuật di truyền đầu tiên Giải thuật này được gọi là giải thuật di truyền đơn giản (Simple Genetic Algorithm-SGA)
Giải thuật di truyền như mô tả trên có thể được viết dưới dạng giả mã như sau:
GIẢI THUẬT DI TRUYỀN
Khởi tạo quần thể ban đầu X={x 1 ,…,x k
}
While (điều kiện kết thúc chưa thỏa mãn) do
Đánh giá mức độ thích nghi của các cá thể trong X (evaluation)
Lựa chọn một số cặp nghiệm (gọi là cha-mẹ) PX 2 dựa trên mức
độ thích nghi của chúng (Parent selection)
Tổ hợp các cặp được lựa chọn để sinh ra các cá thể mới (crossover)
Biến đổi ngẫu nhiên một số cá thể (mutation)
Tạo quần thể mới bằng việc thay thế một số hoặc toàn bộ cá thể của
Trang 12Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
X bởi các cá thể mới được sinh ra dựa trên mức độ thích nghi của chúng (population selection)
End while
Bộ 4 giá trị (N,P c,P m,G), trong đó N - số cá thể trong quần thể; P c- xác suất lai ghép; P m- xác suất đột biến và G- số thế hệ cần tiến hóa, là các tham số điều khiển của giải thuật SGA
Trong thực tế GA đã được dùng để giải quyết những vấn đề phức tạp, tuy nhiên với mục đích làm sáng tỏ cách hoạt động của các toán tử trong giải thuật
di truyền chúng ta sẽ xem xét một ví dụ đơn giản đó là: “Tìm đáp số cho phương trình X2 64 (*)
Bước 1: Qui định số lượng các đáp số và ấn định ký hiệu cho từng đáp số
HT nhị phân 0001 0010 0011 0100 0101 0110 0111 1000 Bước 2: Chỉ định số đáp số và ký hiệu các đáp số cho bài tóan
Sau đây là 4 số có thể là đáp số cho bài toán (*)
Bảng 1.2 Quần thể ban đầu
Bước 3: Xác định hàm thích nghi (fitness function) và tính hệ số thích nghi (fitness) cho từng đáp số Hàm số thích nghi phải có liên hệ đến vấn đề cần giải quyết Nếu chọn hàm số thích nghi không đúng, kết quả sẽ không có hiệu lực Trong ví dụ này ta chọn hàm số thích nghi là f(X) 1000 (X2 64 ) và quy định đáp số nào có hệ số thích nghi bằng 1000 hay gần 1000 nhất sẽ là đáp số của bài toán
Thứ tự Nhị phân Thập phân Hệ số
Trang 13Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Bảng 1.3 Hệ số thích nghi tương ứng với từng đáp số
Bước 4: Biến hóa các đáp số để tìm các đáp số có hệ số thích nghi tối ưu Trong bốn số 4, 21, 10 và 24 thì 2 số 10 và 4 có hệ số thích nghi cao hơn do đó chúng sẽ được chọn để tạo sinh và biến hóa, đồng thời số 21 và 24 có hệ số thích nghi thấp nhất sẽ bị loại
Tiến hành lai ghép hai số 4 và 10 tại điểm giữa hàng thứ hai và thứ ba:
001 | 00 (4) 010 | 00 (hay 8)
010 | 10 (10) 001 | 10 (hay 6)
Bước 5: Tính hệ số thích nghi cho các đáp số trong quần thể mới
Thứ tự (1)
Nhị phân (2)
Thập phân (3)
Bảng 1.4 Hệ số thích nghi tương ứng với từng đáp số trong quần thể mới
Bước 6: Xét các chi tiết trong bảng 1.4, chúng ta có được đáp số ở hàng thứ
3 là số 8 với hệ số thích nghi bằng 1000, đây là đáp số có hệ số thích nghi cao nhất, số này là 01000 (nhị phân) hay 8 (thập phân) Do đó chúng ta không phải quay lại Bước 4 và Bước 5 nữa, chúng ta sẽ báo cáo kết quả là 8
Bước 7: Kết quả với X = 8, chúng ta sẽ có X2
= 82 = 64
1.1.2 Nền tảng toán học của giải thuật di truyền
Trang 14Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Qua ví dụ trên chúng ta nhận thấy sự phối hợp của hai mẫu bít có hệ số thích nghi lớn hơn là 00100 và 01010 sản sinh ra những chuỗi mới có giá trị tốt hơn Điều này đã được Holland (1968, 1975) nhận xét và đưa ra khái niệm giản
đồ (schema) Giản đồ là mẫu tương tự mô tả một tập con các chuỗi với sự giống nhau tại một số vị trí trong chuỗi
Không mất tính tổng quát chúng ta xét các chuỗi trên tập ký tự V { 0 , 1 }
Để thuận tiện chúng ta ký hiệu chuỗi là những ký tự hoa còn các ký tự của chuỗi chúng ta dùng các ký tự thường Ví dụ chuỗi 7 bít A = 0111000 có thể được biểu diễn một cách tượng trưng như sau: Aa1a2a3a4a5a6a7
Trong giải thuật SGA, mỗi chuỗi cá thể được biểu diễn một cách hình thức như sau Aa1a2 a L, trong đó a i đại diện cho gien thứ i trong chuỗi và có giá trị lấy từ tập ký tự V { 0 , 1 } Tại mỗi thế hệ t chúng ta có quần thể A (t) và các chuỗi được đánh số thứ tự là A j,j 1 , 2 , ,n J H Holland xây dựng tập ký tự mở rộng 0 , 1 , *}
V với ký tự * được gọi là ký tự không quan tâm có thể nhận giá trị 1 hoặc 0
Một giản đồ H là một chuỗi L gien lấy từ tập ký tự V Các giá trị 1 hoặc
0 có trong giản đồ H gọi là các vị trí cố định của giản đồ Một thể hiện của giản
đồ H là một chuỗi L gien lấy từ tập ký tự V có các gien trùng với các gien của giản đồ H tại các vị trí cố định Dễ nhận thấy có L
3 giản đồ có độ dài L Một cách tổng quát với tập ký tự gồm C ký tự sẽ có L
C 1 ) ( giản đồ Mỗi cá thể độ dài L lấy từ tập ký tự V { 0 , 1 } chứa L
2 thể hiện của các giản đồ khác nhau Do
đó, một quần thể gồm N cá thể chứa L
N 2. thể hiện của các giản đồ
Bậc của giản đồ H, ký hiệu là o (H), là số vị trí xác định trong giản đồ H
Trang 15Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Gọi m(H,t) là số thể hiện của giản đồ H có trong quần thể tại thế hệ t, f
là giá trị độ phù hợp trung bình của toàn quần thể và f (H) là giá trị độ phù hợp trung bình của các thể hiện của giản đồ H J H Holland đã ước lượng số thể hiện của giản đồ H tại thế hệ tiếp theo m(H,t 1 ) dưới tác động của các toán tử của giải thuật GA Kết quả tính toán cuối cùng được mô tả bằng định lý 1.1 Định lý này được biết đến như nền tảng toán học của giải thuật GA và được gọi
là định lý giản đồ
Định lý 1.1 [9] Trong giải thuật SGA, nếu số thể hiện của giản đồ H tại thế hệ t là m(H,t) thì số thể hiện của giản đồ H tại thế hệ tiếp theo được ước lượng như sau:
H f t H m t
H
1
) ( 1 ) ( ).
, ( ) 1 ,
(1)
Thật vậy, từ biểu thức (1), dễ thấy các giản đồ bậc nhỏ với độ dài ngắn và
có giá trị độ phù hợp trung bình lớn hơn giá trị độ phù hợp trung bình của toàn quần thể sẽ có số thể hiện tăng và có vai trò quan trọng trong giải thuật di truyền
Hiệu ứng của toán tử tái tạo đối với giản đồ có trong quần thể rất dễ xác định Giả sử tại một thời điểm t có m mẫu của giản đồ H , mm(H,t) trong thế
hệ A (t) Trong quá trình tái tạo, một chuỗi được sao chép theo sức khỏe của nó hay chính xác hơn chuỗi A i sẽ được chọn với xác suất là p i f i/ f j Sau khi thay thế quần thể A (t) bằng quần thể tiếp theo A(t 1 ) số mẫu của giản đồ H có trong quần thể mới là m(H,t 1 ) m(H,t).n.f(H) /f j , ở đây f (H) là giá trị sức khỏe trung bình của các chuỗi chứa giản đồ H tại thời điểm t Vì giá trị sức khỏe trung bình của toàn thể quần thể là f f j/n nên chúng ta có thể viết phương trình phát triển giản đồ như sau:
f
H f t H m t
H
m( , 1 ) ( , ). ( ) (2)
Trang 16Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Bằng lời chúng ta có thể phát biểu là số mẫu của các giản đồ phát triển theo
tỉ số của giá trị sức khỏe trung bình của giản đồ và giá trị sức khỏe của toàn bộ quần thể Như vậy đối với những giản đồ có giá trị sức khỏe trung bình lớn hơn giá trị sức khỏe trung bình của toàn quần thể sẽ có số mẫu tăng trong thế hệ tiếp theo và ngược lại đối với các giản đồ có giá trị sức khỏe trung bình nhỏ hơn giá trị sức khỏe trung bình của toàn quần thể sẽ có số mẫu không tăng trong thế hệ tiếp theo Điều này đúng với mọi giản đồ có trong quần thể Hay nói một cách khác, toán tử tái tạo xử lý song song các giản đồ của quần thể chỉ bằng việc sao chép các chuỗi theo sức khỏe của chúng
Hiệu ứng của toán tử tái tạo đối với số mẫu của giản đồ một cách định tính
đã rõ Chúng ta có thể phát triển phương trình sai phân trên một cách định lượng như sau:
Giả định sức khỏe trung bình của giản đồ H lớn hơn giá trị sức khỏe trung bình của toàn quần thể là c f , trong đó c là hằng số Từ đây chúng ta có thể viết phương trình (1) như sau:
) , ( ).
1 ( ).
, ( ) 1 ,
f
f c f t H m t
H
Xuất phát từ giá trị t 0 và giả định c luôn không đổi chúng ta có:
l
c H
m t
H
m( , ) ( , 0 ).( 1 )
Như vậy một cách định lượng toán tử lai tạo làm tăng số mẫu của giản đồ
có sức khỏe lớn hơn giá trị sức khỏe trung bình của toàn quần thể theo hàm số
mũ và giảm số mẫu của các giản đồ có sức khỏe bé hơn giá trị sức khỏe trung bình của toàn quần thể cũng theo hàm số mũ một cách song song đối với tất cả các giản đồ có trong quần thể
Để xem xét giản đồ nào bị ảnh hưởng bởi toán tử tạp lai, giản đồ nào không
bị ảnh hưởng, chúng ta nghiên cứu một chuỗi cụ thể với độ dài L 7 và hai giản
đồ tồn tại trong chuỗi đó như sau:
Trang 17Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
*
* 10
Rõ ràng cả hai giản đồ đều tồn tại trong chuỗi A và chúng đều có bậc là 2,
độ dài của giản đồ H1 là 5 còn độ dài của giản đồ H2 là 1 Chúng ta biết rằng toán tử tạp lai được tiến hành với việc lựa chọn vị trí tạp lai là ngẫu nhiên trên toàn bộ độ dài của chuỗi Giả sử chuỗi A được chọn cho việc tạp lai và vị trí tạp lai được chọn ngẫu nhiên là vị trí thứ 3
Hiệu ứng của toán tử tạp lai ảnh hưởng tới hai giản đồ như sau:
) 1 /(
(3)
Thông qua biểu thức (3) và (2) chúng ta có thể tính được hiệu ứng chung của hai toán tử tái tạo và tạp lai Giả định là toán tử tái tạo và tạp lai hoạt động một cách độc lập với nhau, chúng ta có thể tính được số mẫu của một giản đồ bất kỳ H cho thế hệ tiếp theo là:
, ( ) 1 ,
(
l
H p f
H f t H m t
H
(4)
Trang 18Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Toán tử cuối cùng chúng ta cần nghiên cứu là toán tử đột biến Sử dụng định nghĩa về toán tử đột biến là sự thay thế ngẫu nhiên và độc lập với nhau của các gien trong chuỗi với xác suất là p m, chúng ta có ngay là xác suất tồn tại của một gien trong chuỗi là 1 p m Để cho một giản đồ tồn tại thì tất cả các vị trí xác định trong giản đồ phải tồn tại Số vị trí xác định trong giản đồ H chính là bậc của giản đồ o (H) Nhân xác suất tồn tại của từng gien 1 p m trong giản đồ lên
Kết hợp với phương trình (4) chúng ta đánh giá số lượng mẫu của một giản đồ
H trong thế hệ tiếp theo (bỏ qua các tích chung nhỏ) là:
H f t H m t
H
1
) ( 1 ) ( ).
, ( ) 1 ,
Những giản đồ bậc thấp, độ dài ngắn và có sức khỏe tốt được gọi là các khối xây dựng Thông qua các toán tử của giải thuật di truyền những khối này được thử, kết hợp với nhau rồi thử lại để tạo ra những chuỗi có sức khỏe tốt hơn Nói cách khác những khối này kết hợp với nhau để tạo ra những chuỗi tốt hơn Giả định này đã chỉ ra rằng khi làm việc với những khối xây dựng chúng ta
sẽ giảm được độ phức tạp của bài toán Thay cho việc phải xây dựng một chuỗi
có sức khỏe tốt bằng việc thử tất cả các tổ hợp của các khối xây dựng, chúng ta chỉ việc xây dựng các chuỗi tốt dần lên từ các khối của các chuỗi đã có trong các lần thử trước
Trang 19Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Ta xem xét giải thuật di truyền như một hệ tiến triển theo thời gian Mỗi quần thể của giải thuật GA là một vị trí của hệ Ký hiệu X (t) là vị trí của hệ tại thời điểm t Tập hợp các vị trí có thể của hệ được gọi là không gian trạng thái Giả sử trước thời điểm s hệ ở trạng thái nào đó, còn ở thời điểm s hệ ở trạng thái i Ta cần biết tại thời điểm tiếp theo t hệ ở trạng thái j với xác suất là bao nhiêu? Rõ ràng theo cách tiến hành giải thuật GA, xác suất này chỉ phụ thuộc vào trạng thái i tại thời điểm s và trạng thái j tại thời điểm tiếp theo t, độc lập với các trạng thái ở thời điểm trước thời điểm s Điều này có nghĩa là sự tiến triển của hệ trong tương lai chỉ phụ thuộc vào hiện tại và độc lập với quá khứ
Đó chính là tính Markov
Về phương diện toán học tính Markov được định nghĩa như sau
Định nghĩa 1.1 Gọi P là một ma trận vuông (kk) với các phần tử
} , ,
n i n i i
0
(
1 1
Định nghĩa 1.2 Gọi (X0,X1, ) là một xích Markov có không gian trạng thái hữu hạn S {s1, ,s k} và ma trận chuyển dịch P Một véc tơ hàng
)
, ,
( 1 k
được gọi là phân phối dừng của xích Markov, nếu nó thỏa mãn
(i) i 0 đối với i 1 , ,k và 1
(ii) P , nghĩa là k j
i
j i
i P
1 , đối với j 1 , ,k.
Trang 20Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Xích Markov được nhiều tác giả sử dụng để mô hình hóa giải thuật GA [13, 14], phân tích tính hội tụ của giải thuật GA Sự hội tụ của giải thuật GA được định nghĩa thông qua xích Markov như sau:
Định nghĩa 1.3 Gọi là phân phối dừng của xích Markov mô hình hóa giải thuật GA Gọi * là một véc tơ hàng có thành phần thứ j bằng 1 và các thành phần khác bằng 0 Giải thuật GA được gọi là hội tụ tới quần thể s j khi kích thước quần thể n tiến tới vô hạn, ta có
Gọi L là độ dài chuỗi Khi đó L
r 2 là tổng số các chuỗi nhị phân có thể Gọi n là số cá thể có trong quần thể, khi đó số các quần thể có thể (số các trạng thái của xích Markov) là:
! )!
1 (
)!
1 (
1
1
n r
r n r
r n
j y z
r
y i i
j
z F
F M n
Trang 21Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
[13, 14], các xích Markov ergodic có phân phối dừng S Cofey tiếp theo đã chứng minh phân phối dừng này có các phần tử đều lớn hơn 0 Như vậy, do số lượng các trạng thái lớn, phân phối dừng không tập trung toàn bộ xác suất của
nó vào một trạng thái nào Nói cách khác, giải thuật GA không hội tụ vì là giải thuật có phân phối dừng nhưng phân phối này không tập trung tất cả xác suất vào một trạng thái
Để tạo ra một giải thuật GA có khả năng hội tụ và nâng cao hiệu quả tìm kiếm của giải thuật GA, W M Spears sử dụng sơ đồ mã hóa gray thay thế sơ đồ
mã hóa nhị phân nhằm giảm thiểu hiệu ứng phá hủy các giản đồ của toán tử lai ghép Các tác giả [13, 14] sử dụng sơ đồ mã hóa số thực trong giải thuật di truyền Trong sơ đồ này mỗi gien của cá thể là một số thực nằm trong một khoảng xác định Với sơ đồ mã hóa số thực, có khá nhiều các toán tử lai ghép số học và các toán tử đột biến số thực đã được đề xuất
V Estivill-Castro chỉ ra vai trò đảm bảo sự hội tụ của toán tử chọn lọc trong giải thuật di truyền J E Baker phân tích hiệu ứng của toán tử chọn lọc trong giải thuật GA T Back phân tích sức ép chọn lọc của các giải thuật tiến hóa trong đó có giải thuật di truyền Sức ép chọn lọc là độ chênh lệch của giá trị
độ phù hợp trung bình của quần thể bố mẹ và quần thể hiện tại T Blickle và L Thiele phân tích sự mất đa dạng của toán tử chọn lọc sử dụng các sơ đồ chọn lọc khác nhau Các tác giả giả định là các cá thể trong quần thể có phân bố liên tục Tuy nhiên, hiệu ứng của phân bố liên tục và rời rạc là khác nhau đối với các quần thể hữu hạn
Đối với toán tử lai ghép và toán tử đột biến, W M Spears phân tích vai trò của chúng đối với giải thuật GA sử dụng sơ đồ mã hóa nhị phân Tác giả đã chỉ
ra toán tử lai ghép đều và toán tử đột biến có xác suất đột biến p m 0 5 đồng nhất với nhau Ngoài ra, có khá nhiều các đề xuất về toán tử lai ghép và đột biến được đề xuất
Trang 22Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Một trong những phương pháp làm cho giải thuật GA hội tụ là sử dụng chiến lược thay thế có tính tinh hoa do De Jong đề xuất Định nghĩa về tính tinh hoa như sau:
Định nghĩa 1.4 Giải thuật GA có tính tinh hoa khi có ít nhất một cá thể có
độ phù hợp tốt nhất luôn được bảo tồn sang thế hệ tiếp theo
Một thuộc tính hiển nhiên của giải thuật GA có tính tinh hoa là cá thể tốt nhất của thế hệ hiện tại không tồi hơn cá thể tốt nhất của các thế hệ trước đó Giải thuật SGA do Holland đề xuất không có tính tinh hoa Tuy giải thuật GA có tính tinh hoa đã được chứng minh là hội tụ, song bằng thực nghiệm De Jong cũng chỉ ra rằng tính tinh hoa làm tăng khả năng hội tụ sớm của giải thuật GA đối với các hàm mục tiêu nhiều cực trị
Trang 23Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
1.1.3 Giải thuật di truyền giải bài toán tối ƣu hóa
Tối ưu hóa là một nội dung quan trọng của Tin học ứng dụng có liên quan đến mọi lĩnh vực của tự nhiên và xã hội
Trong mục này, tác giả sẽ đề cập chi tiết việc áp dụng giải thuật di truyền cho bài toán tối ưu một hàm f có n biến, f(x1,x2, ,x n) Biết rằng mỗi biến x icó thể lấy các giá trị từ miền D i [a i;b i] là tập con của tập các số thực R và yêu cầu
độ chính xác là k chữ số thập phân đối với các giá trị biến
1.1.3.1 Biểu diễn các biến nhờ các véc tơ nhị phân
Tham biến x thuộc [Umin;Umax] được biểu diễn bởi chuỗi nhị phân có chiều dài L.L bit mã hóa x ứng với giá trị trong miền [ 0 ; 2L] sẽ được ánh xạ lên các giá trị thuộc miền xác định [Umin;Umax] Tỷ lệ co dãn của ánh xạ này được cho bởi:
1 2
min max
U
x min ( 2) * (6)
Trong đó decimal(string2) biểu diễn giá trị thập phân của chuỗi nhị phân 2
string , g được xác định bởi công thức (5)
Để mã hóa tập các biến, ta ghép nối mã các biến riêng lẻ lại với nhau Mỗi
mã tương ứng với một chiều dài các bit riêng và xác định một giá trị tương ứng của nó nằm trong miền [Umin;Umax]
1.1.3.2 Ánh xạ giá trị hàm mục tiêu sang giá trị thích nghi
Giá trị thích nghi f (i) được xác định đối với mỗi cá thể trong quần thể Giá trị này càng lớn thì cá thể được coi là hợp lý Hàm thích nghi có thể là hàm không liên tục, hàm dương hay phi tuyến Vì hàm thích nghi phải nhận giá trị không âm, do đó cần phải xây dựng ánh xạ hàm mục tiêu đang xét trong bài toán
Trang 24Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
sang hàm thích nghi thông qua một hoặc nhiều lần ánh xạ Nếu bài toán tối ưu là cực tiểu một hàm đánh giá g (x), việc chuyển từ hàm đánh giá sang hàm thích nghi để sử dụng với giải thuật di truyền như sau:
f
0
) ( )
( )
x u x
f
0
0 )
( )
( )
Ở đây Cmin là tham số đầu vào, có thể là trị tuyệt đối của u bé nhất trong quần thể hiện tại hoặc trong k vòng lặp cuối cùng hoặc là một hàm của biến quần thể
1.1.3.3 Điều chỉnh độ thích nghi
Một vấn đề quan trọng là điều chỉnh số con cháu Điều này đặc biệt quan trọng cho một vài vòng lặp đầu tiên, khi một vài cá thể “siêu” có tiềm năng chiếm lĩnh phần lớn quần thể và làm cho hội tụ sớm Điều chỉnh độ thích nghi
có thể giúp giải quyết vấn đề này
Một kiểu điều chỉnh hay gặp là điều chỉnh tuyến tính Chúng ta định nghĩa
độ thích nghi gốc là f và độ thích nghi đã biến đổi là f' Điều chỉnh tuyến tính xác định quan hệ giữa f và f' như sau:
b f a
Ở đây, các hệ số a và bđược chọn sao cho:
avg avg f
và f'maxC mult* f avg (11)
Trang 25Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Ở đây C mult là số các bản sao cần thiết đối với một thành viên tốt nhất trong quần thể Đối với các quần thể nhỏ (n = 50 đến 100), C multthường được chọn từ 1.2 đến 2 và tỏ ra khá hiệu quả Biểu thức (10) bảo đảm rằng mỗi thành viên với
độ thích nghi trung bình sẽ cho một con hay một cháu đối với lần phát sinh tiếp theo Biểu thức (11) kiểm soát số con cháu được nạp vào làm thành viên với độ thích nghi gốc cực đại
Với chiến thuật tỷ lệ hóa đơn giản như trên, chúng ta ngăn ngừa được sự chi phối của các cá thể siêu khỏe ở giai đoạn đầu và sau đó tạo ra được cạnh tranh lành mạnh giữa các cá thể gần bằng nhau ở giai đoạn cuối của giải thuật di truyền
1.1.3.4 Các bước của giải thuật di truyền giải bài toán cực tiểu hàm f
Với cách biểu diễn biến nêu trên, để tìm lời giải tối ưu của bài toán cực tiểu hàm với n biến có thể thực hiện thuật giải như sau:
Hình 1.2 Các bước của thuật giải di truyền cho bài toán tối ưu hàm
Bước 1: Khởi tạo quần thể các nhiễm sắc thể nhằm
thiết lập số lượng nhiễm sắc thể ngẫu nhiên ban đầu dưới dạng chuỗi nhị phân với kích cỡ quần thể bằng pop_size xác định trước
Bước 2: Xác định giá trị thích nghi (fitness value) của
từng nhiễm sắc thể
Bước 3: Sao chép lại các nhiễm sắc thể dựa vào giá
trị thích nghi của chúng và tạo ra những nhiễm sắc thể mới bằng việc kết hợp các nhiễm sắc thể hiện tại (dùng các toán tử lai ghép, đột biến, tái kết hợp)
Bước 4: Loại bỏ những thành viên không thích nghi
trong quần thể
Bước 5: Chèn những nhiễm sắc thể mới vào quần thể
để hình thành một quần thể mới
Tiếp tục cho đến khi
đạt được điều kiện
định trước (thường
sau một số vòng lặp
xác định khi không
tìm được cải tiến tốt
hơn dựa vào tốc độ
máy tính và độ chính
xác yêu cầu)
Trang 26Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Thuật giải di truyền cài đặt theo mô tả trên có thể giải quyết bài toán tối ưu bất kỳ (cực tiểu hóa hàm mục tiêu) với n biến vào Tuy nhiên, với số lượng biến vào khá nhiều, các giá trị hàm mục tiêu đạt được thường không gần với kết quả tối ưu thực sự Để khắc phục vấn đề này, có thể tăng số lượng vòng lặp, hy vọng trong những thế hệ muộn mằn sẽ hình thành những con cháu với độ thích nghi cao ứng với giá trị hàm mục tiêu gần kết quả tối ưu thực sự nhất
1.1.4 Những cải tiến tiếp theo của giải thuật di truyền
Trong những phần trước chúng ta mới đề cập đến giải thuật di truyền đơn giản Dựa trên nền tảng của giải thuật di truyền đơn giản các cải tiến về sơ đồ lựa chọn và những toán tử cao cấp được thêm vào nhằm cải thiện sự hoạt động của giải thuật trong những bài toán phức tạp [9]
1.1.4.1 Các sơ đồ lựa chọn
Sơ đồ lựa chọn sử dụng trong giải thuật di truyền đơn giản là vòng tròn Roulette Sơ đồ này gây ra vấn đề tiềm tàng là cá thể tốt nhất trong quần thể có thể không được chọn Vấn đề này được biết đến như là một sai số xác suất (stochastic error) Để khắc phục những sai số này các tác giả đã đưa ra một số sơ
đồ thay thế vòng tròn Roulette như sau:
Ưu tiên cá thể tốt (elitism): Chiến lược của sơ đồ này là sao chép cá thể tốt
nhất của mỗi thế hệ vào thế hệ tiếp theo Chiến lược này làm tăng tốc độ chiếm
ưu thế của các cá thể siêu khỏe trong quần thể và do đó tăng tốc sự tìm kiếm cục
bộ bằng sự trả giá của sự tìm kiếm toàn cục Xét toàn cục trong việc cân bằng giữa tìm kiếm cục bộ và toàn cục, chiến lược này có cải tiến sự hoạt động của giải thuật di truyền
Lấy mẫu một cách tiền định (deterministic sampling): Trong chiến lược này
các xác suất lựa chọn được tính như trong giải thuật di truyền đơn giản là
Trang 27Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
bằng phần nguyên của giá trị e i Sau đấy để lấp đầy quần thể thế hệ tiếp theo chúng ta sao chép các chuỗi tốt nhất từ thế hệ trước
Lấy mẫu xác suất phần dư và thay thế (remainder stochastic sampling with replacement): Sơ đồ này xuất phát như sơ đồ lấy mẫu tiền định Số bản sao chép i
e có thể của mỗi chuỗi cũng được tính như trên Điều khác là phần dư còn lại của số e iđược dùng để tính các trọng số trong thủ tục lựa chọn bằng vòng tròn Roulette để lấp đầy quần thể tiếp theo
Lấy mẫu xác suất phần dư và không thay thế (remainder stochastic sampling without replacement): Sơ đồ này một lần nữa xuất phát như sơ đồ lấy
mẫu tiền định và phần dư của số e i được coi như là xác suất Nói cách khác là các chuỗi nhận được số con ít nhất bằng số nguyên của số e i Sau đó quần thể được lấp đầy bằng việc chọn các con khác cho mỗi chuỗi với xác suất bằng phần
dư của số e i Ví dụ chuỗi A i có e i 1 5 sẽ đóng góp một con vào thế hệ tiếp theo
và một con khác với xác suất là 0.5 Các nghiên cứu thực nghiệm đã chỉ ra rằng
sơ đồ này có rất nhiều đặc tính tốt Trong thực tế sơ đồ này được sử dụng rộng rãi trong rất nhiều ứng dụng
Thủ tục phân hạng (ranking procedure): Là thủ tục không tham số cho việc
lựa chọn Trong phương pháp này, các cá thể trong quần thể được xếp hàng theo giá trị sức khỏe của chúng, cá thể tốt nhất đứng thứ 1 và tồi nhất đứng thứ n Các
cá thể sau đó được gán cho số con là hàm của thứ tự của chúng trong dãy
Một trong những hàm như vậy được tác giả
Baker đề nghị năm 1985 như trong hình 1.3 Số
con có thể của chuỗi A i là e i được tính theo công
thức sau:
1
1 ) 1 (
1 ) ( 1
) 1 (
2
max max
rank n
(12)
Hình 1.3
tH
Trang 28Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Ở đây max là giá trị do người sử dụng định nghĩa, 1 max 2 và n là kích cỡ của quần thể Khi đó e i có giá trị trong khoảng [ 1 max, max] Phương trình (12)
là trường hợp đặc biệt của hàm trong hình 1.2 khi đặt giá trị max 2 max
1.1.4.2 Các toán tử cao cấp
Giải thuật di truyền đơn giản sử dụng ba toán tử là tái tạo, tạp lai và đột biến Chúng ta sẽ xem xét hai loại toán tử mới được đưa thêm vào giải thuật di truyền nhằm cải thiện tính mạnh và hiệu quả của giải thuật di truyền đơn giản Chúng là các toán tử vi mô (micro operator) tác động tới gene của từng chuỗi (cá thể) và các toán tử vĩ mô tác động đến toàn quần thể
Các toán tử vi mô gồm có tạp lai nhiều điểm và toán tử sắp xếp lại
Tạp lai nhiều điểm: Toán tử tạp lai hiện đang dùng trong giải thuật di truyền là toán tử tạp lai một điểm vì chỉ có một vị trí tạp lai được chọn Toán tử tạp lai đó có thể được tổng quát hóa thành toán tử tạp lai nhiều điểm, trong đó số
vị trí tạp lai là Nc được chọn từ trước Với Nc=1 toán tử này trở thành toán tử toán tử tạp lai đơn giản Với số Nc là chẵn, chuỗi được xét coi như một vòng tròn không có đầu cuối Khi đó, Nc vị trí tạp lai được chọn một cách ngẫu nhiên xung quanh vòng tròn Hình 1.4a là ví dụ của toán tử tạp lai với 4 điểm cắt Với
số Nc là lẻ, một vị trí cắt mặc định luôn đặt ở vị trí 0 (bắt đầu của chuỗi) Hình 1.4b là hình ảnh của toán tử với 3 điểm cắt Toán tử tạp lai nhiều điểm có thể giải quyết nhiều bài toán phức tạp mà toán tử tạp lai một điểm không thể giải quyết được
(a) (b)
Chọn 4 điểm cắt ngẫu nhiên
Tạp lai với 4 điểm cắt sản sinh 2 chuỗi mới
Chọn3 điểm cắt ngẫu nhiên
Tạp lai với 3 điểm cắt sản sinh 2 chuỗi mới
Trang 29Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hình 1.4 Toán tử tạp lai nhiều điểm
Một cách khác để thực hiện toán tử tạp lai nhiều điểm cắt là toán tử tạp lai đều (uniform crossover) do tác giả Syswerda đề nghị: Trong giản đồ này với mỗi vị trí bít của hai con, chúng ta quyết định một cách ngẫu nhiên là sẽ lấy từ
bố hay mẹ theo một mẫu ngẫu nhiên Để minh họa cho toán tử này chúng ta xét
đã xem xét trước đây dùng để tìm kiếm tập tốt hơn của các giá trị gene, toán tử sắp xếp lại tìm kiếm các mã tốt hơn và đồng thời tìm kiếm tập tốt hơn của các gene Các toán tử loại này thích hợp cho những bài toán ở đấy các giá trị sức khỏe phụ thuộc vào sự sắp xếp của các gene trong chuỗi, như trong trường hợp giá trị sức khỏe f phụ thuộc vào một số tổ hợp của giá trị gene v và trật tự o,
Một trong những toán tử sắp xếp lại thường được sử dụng trong giải thuật
di truyền là toán tử đảo ngược Dưới sự tác động của toán tử này, hai điểm được chọn dọc theo chiều dài của chuỗi, sau đó chuỗi bị cắt tại hai điểm đó Sau đó
Trang 30Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
hai chuỗi gene con ở hai đầu được tráo đổi cho nhau như ví dụ dưới đây hai vị trí cắt được chọn một cách ngẫu nhiên:
0 dij=||xi-xj|| share
Hình 1.5 Hàm chia sẻ hình tam giác
Trang 31Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Sau khi tích lũy tổng lượng chia sẻ, sức khỏe của cá thể bị giảm đi bằng cách lấy sức khỏe thực của cá thể chia cho tổng lượng chia sẻ của cá thể theo phương trình sau:
i i
x
x x d s
x f x
f
1
)) , ( (
) ( )
(
Do đó khi rất nhiều cá thể ở gần nhau tại một vùng, chúng làm giảm sức khỏe của nhau Kết quả cơ chế này hạn chế sự phát triển không kiểm soát được của một nhóm cá thể trong quần thể
1.1.4.3 Các giải thuật di truyền lai
Giải thuật di truyền đơn giản, mặc dù mạnh và hiệu quả, nói chung không phải là giải thuật tìm kiếm tối ưu thành công nhất cho một số lĩnh vực Lai hóa giải thuật di truyền với các giải thuật truyền thống đang sử dụng sẽ tạo ra những giải thuật tốt hơn so với cả giải thuật di truyền và giải thuật truyền thống Do đó, đối với các vấn đề tối ưu hóa khi mà các giải thuật heuristic hay các tri thức có thể giúp ích cho việc tối ưu hóa chúng ta nên quan tâm đến các giải thuật di truyền lai Một giải thuật di truyền có thể lai với vô số các kỹ thuật tìm kiếm để tạo nên một giải thuật khai thác tính tìm kiếm toàn cục của giải thuật di truyền
và độ hội tụ của các kỹ thuật tìm cục bộ
Có khá nhiều các kỹ thuật tìm kiếm sử dụng đạo hàm và không sử dụng đạo hàm để tìm kiếm các cực tiểu cục bộ như phương pháp giảm gradient, phương pháp ghép gradient, tìm kiếm bằng lát cắt vàng, phương pháp đa diện biến dạng Các phương pháp này thường được áp dụng cho các hàm tồn tại đạo hàm Đối với các hàm không thích hợp với các phương pháp đạo hàm chúng ta cũng có các phương pháp heuristic, giải thuật tham lam để tìm kiếm các cực trị cục bộ Kết quả của việc lai với giải thuật di truyền là giải thuật di truyền tìm ra các đồi và các giải thuật tìm kiếm cục bộ sẽ leo lên các đồi đó Với phương pháp này chúng ta cho phép chạy trước tiên đạt tới một độ hội tụ nào đó, sau đó các giải thuật tìm kiếm cục bộ sẽ lấy khoảng 5 đến 10% số điểm tốt nhất trong quần
Trang 32Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
thể làm điểm xuất phát Với chiến thuật này toán tử vĩ mô đã thảo luận ở trên hoạt động rất tốt vì nó đã phân bố đều các cá thể trong quần thể ở các đỉnh khác nhau
Giải thuật di truyền và mô phỏng tôi (simulated annealing) hiện đang là những phương pháp luận hàng đầu cho các vấn đề tìm kiếm và tối ưu hóa trong không gian tìm kiếm nhiều chiều [Davis, 1987] Các tác giả đã cố gắng lai tạo giữa hai giải thuật này Một sơ đồ đơn giản cho việc kết hợp hai giải thuật này là thay thế toán tử đột biến và tạp lai trong giải thuật di truyền bằng toán tử đột biến mô phỏng tôi và toán tử kết hợp lại mô phỏng tôi (simulated annealing mutation, simulated annealing recombination)
Đã có nhiều công trình nghiên cứu nhằm mô hình hóa toán học giải thuật di truyền, các ảnh hưởng của các toán tử di truyền lên hành vi của giải thuật, đặc biệt là hành vi hội tụ tới nghiệm tối ưu Các kết quả lý thuyết có ý nghĩa nhất theo hướng này được tổng kết một cách cô đọng trong công trình của Rudolph [14]: Việc mô hình hóa giải thuật di truyền bằng một xích Markov hữu hạn trên không gian các trạng thái là tập tất cả các quần thể có thể được sinh ra trong quá trình thực hiện của giải thuật và các toán tử di truyền là các ma trận chuyển trạng thái được xác định bởi các tham số như xác suất đột biến p m, xác suất lựa chọn cha mẹ p c… Trên cơ sở mô hình hóa giải thuật di truyền như vậy, người ta
đã tiến hành phân tích hành vi của giải thuật bằng việc chỉ ra rằng với xác suất đột biến p m> 0 giải thuật di truyền chính tắc là một xích Markov ergodic và vì vậy phân phối xác suất tới hạn của mọi trạng thái trong không gian trạng thái là dương chặt Điều đó có nghĩa rằng, xuất phát từ một trạng thái ban đầu bất kỳ, tại mọi thời điểm, giải thuật có thể rơi vào trạng thái tương ứng với quần thể không chứa nghiệm tối ưu với một xác suất dương Nói cách khác, giải thuật không hội tụ hoàn toàn Để khắc phục nhược điểm trên của giải thuật di truyền chính tắc, người ta đã cải biên giải thuật bằng cách thêm vào một toán tử sao chép (copy operator) cho phép cá thể có độ thích nghi cao nhất của từng quần thể được giữ lại cho quần thể tiếp theo Phiên bản cải biên như vậy được gọi là
Trang 33Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
giải thuật di truyền chính tắc với phần tử tinh hoa và được chứng minh là hội tụ hoàn toàn
Trang 34Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
1.1.5 Những ứng dụng của giải thuật di truyền
Giải thuật di truyền đã được sử dụng tại các trung tâm nghiên cứu và trường đại học để giải quyết các vấn đề lý thuyết từ ba thập niên vừa qua Tuy nhiên trong lĩnh vực ứng dụng thực tế, nó chỉ mới được đề cập trong thập niên
90 thế kỉ XX và số lượng các kết quả thành công ngày một nhiều
Giải thuật di truyền được ứng dụng rộng rãi ở khắp các lĩnh vực khác nhau Ứng dụng của giải thuật di truyền trong khoa học tự nhiên đặc biệt là hóa học với đề tài “Các tiếp cận của phương pháp thuật giải di truyền trong hóa học” (Towards Genetic Algorithm Methodology in Chemometrics) – luận án tiến sĩ (1993) của Carlos B Lucasius Ở Việt Nam giải thuật di truyền được ứng dụng trong một số vấn đề thuộc lĩnh vực hóa học như: Thuật giải di truyền với bài toán mô phỏng quá trình chiết dung môi; Thuật giải di truyền với bài toán tìm điều kiện cân bằng tối ưu cho hóa chất [2]
Thuật giải di truyền đã được dùng để tìm điều kiện tối ưu trong việc thiết
kế mạng lưới nơ-ron nhân tạo Ngoài ra GA cũng được dùng để thực hiện chương trình tin học (Genetic Programming), một lĩnh vực đang được phát triển
để tạo ra những chương trình tin học đặc biệt gọi là Intelligent Agent GA là phương thức giúp đạt kết quả cao nhất trong mọi trường hợp phải tìm kiếm hay lựa chọn
Năm 1985, David E Goldberg đã thành công trong việc sử dụng GA thực hiện chương trình điều chỉnh mạng lưới phân phối dầu khí Từ đó GA đã thực sự góp phần vào việc giải quyết những vấn đề phức tạp Công ty Genetic Electric (Hoa Kỳ) đã dùng GA trong việc yểm trợ chương trình tin học về kỹ nghệ để tối
ưu hóa việc thiết kế các bộ phận cho máy bay, tuabin nhà máy nhiệt điện và nhiều phụ tùng khác Trong lĩnh vực giao thông, GA được ứng dụng để hoạch định lộ trình xe chở hàng từ các kho đến các công trường sao cho nhanh và ngắn nhất
Trang 35Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hiện nay có nhiều công ty trên thế giới đã thường xuyên sử dụng GA, như: American Express, AT & T, Bell Labs, Exxon, Gartner Group, GE, General Motors, Goldman Sachs, IBM, Intel, John Deere, JP Morgan, Lockheed, Met Life, Motorola, Sears, Weyerhaeuser, Xerox, Adolph Coors [2]
1.2 Khái quát về bài toán tái tạo ảnh chân dung đối tƣợng
Nghiên cứu về lĩnh vực đặc điểm dạng người nói chung và mặt người nói riêng trong cơ quan điều tra tội phạm đã có từ xa xưa trên thế giới Họ áp dụng rất sớm vấn đề này vào việc xác định tái phạm và kẻ phạm tội, ngoài ra còn sử dụng cho công tác như tìm kiếm tung tích, danh tính người thân…
Ngày nay, khi nền khoa học kỹ thuật phát triển việc ứng dụng khoa học kỹ thuật tiên tiến càng cho phép chúng ta giải quyết bài toán nhanh, chính xác và hiệu quả hơn nhờ có những thành tựu của các ngành khoa học khác như: nhân chủng học, hình thái học, dân tộc học, nhân trắc học, khoa học chỉnh hình… đã tạo cơ sở cho khoa học nhận dạng người nói chung và lai ghép, tái tạo mặt người nói riêng, nghiên cứu, đúc kết, vận dụng có những bước phát triển mới, khoa học hơn, chính xác hơn về phương pháp nghiên cứu, ghi nhận, mô tả cũng như giám định ảnh chân dung
Hiện nay, Bộ Công an cũng đã có một số nhóm chuyên nghiên cứu về khoa học kỹ thuật hình sự và nhận dạng sinh trắc học (vân tay, ảnh, mặt người…) như: Viện khoa học kỹ thuật hình sự Bộ Công an (C21), Cục cảnh sát hồ sơ C27, Cục quản lý xuất nhập cảnh (A18) và một số đề tài, công trình của Tổng cục kỹ thuật Tuy nhiên, chúng ta chưa có phần mềm hiệu quả để tái tạo, lai ghép mặt người Chính vì vậy, việc hỗ trợ cho lực lượng điều tra tội phạm còn gặp nhiều khó khăn và hạn chế
Hơn một thập kỷ qua có rất nhiều công trình nghiên cứu về bài toán xác định khuôn mặt người từ ảnh đen trắng, xám đến ảnh màu như ngày hôm nay Các nghiên cứu đi từ bài toán đơn giản, mỗi ảnh chỉ có một khuôn mặt người nhìn thẳng vào thiết bị thu hình và đầu ở tư thế thẳng đứng trong ảnh đen trắng
Trang 36Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Cho đến ngày hôm nay bài toán mở rộng cho ảnh màu, có nhiều khuôn mặt trong cùng một ảnh, có nhiều tư thế thay đổi trong ảnh Không những vậy mà còn mở rộng cả phạm vi từ môi trường xung quanh khá đơn giản (trong phòng thí nghiệm) cho đến môi trường xung quanh rất phức tạp (như trong tự nhiên) nhằm đáp ứng nhu cầu thật sự và rất nhiều của con người
Xác định khuôn mặt người (Face Detection) là một kỹ thuật máy tính để xác định các vị trí và các kích thước của các khuôn mặt người trong các ảnh bất
kỳ (ảnh kỹ thuật số) Kỹ thuật này nhận biết các đặc trưng của khuôn mặt và bỏ qua những thứ khác như: tòa nhà, cây cối, cơ thể,…
Trong trường hợp chưa có ảnh mẫu của khuôn mặt người cần xác định hoặc chỉ có một số thông tin mô tả về khuôn mặt người cần xác định thì vấn đề cấp thiết cần giải quyết là tái tạo ảnh khuôn mặt người
Bài toán tái tạo ảnh chân dung khuôn mặt người có cùng bản chất với bài toán xác định khuôn mặt người Tái tạo ảnh chân dung khuôn mặt đối tượng là một kỹ thuật máy tính cho phép xác định khuôn mặt người dựa trên các đặc trưng của khuôn mặt đó Các đặc trưng của khuôn mặt người được mô tả dựa vào lý thuyết khoa học, các phương pháp luận về mô tả, nhận dạng Vận dụng các thành tựu của các ngành khoa học khác như nhân chủng học, hình thái học, dân tộc học, nhân trắc học, khoa học chỉnh hình, …các mẫu ảnh đặc trưng của từng bộ phận trên khuôn mặt người được xây dựng, từ đó cho phép lắp ghép thành khuôn mặt hoàn chỉnh theo các mô tả cho trước
Thực tế đã có nhiều phương pháp xác định khuôn mặt người dựa trên cơ sở
dữ liệu ảnh Các phương pháp này được chia làm bốn hướng tiếp cận chính Ngoài bốn hướng này, nhiều nghiên cứu có khi liên quan đến không những một hướng tiếp cận mà có liên quan nhiều hơn một hướng chính:
Hướng tiếp cận dựa trên tri thức: Mã hóa các hiểu biết của con người
về các loại khuôn mặt người thành các luật Thông thường các luật mô
tả quan hệ của các đặc trừng
Trang 37Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hướng tiếp cận dựa trên đặc trưng không thay đổi: Mục tiêu các thuật
toán đi tìm các đặc trưng mô tả cấu trúc khuôn mặt người mà các đặc trưng này sẽ không thay đổi tư thế khuôn mặt, vị trí đặt thiết bị thu hình hoặc điều kiện ánh sang thay đổi
Hướng tiếp cận dựa trên so khớp mẫu: Dùng các mẫu chuẩn của khuôn
mặt người (các mẫu này được chọn lựa và lưu trữ) để mô tả cho khuôn mặt người hay các đặc trưng khuôn mặt (các mẫu này phải chọn làm sao cho tách biệt nhau theo tiêu chuẩn mà các tác giả định ra để so sánh) Các mối tương quan giữa dữ liệu ảnh đưa vào và các mẫu dùng để xác định khuôn mặt người
Hướng tiếp cận dựa trên diện mạo: Trái ngược hẳn với so khớp mẫu,
các mô hình (hay các mẫu) được học từ một tập ảnh huấn luyện trước
đó Sau đó hệ thống (mô hình) sẽ xác định khuôn mặt người Hay một
số tác giả còn gọi hướng tiếp cận này là hướng tiếp cận theo phương pháp học
Mặt người là tổng thể chi tiết các bộ phận đặc trưng cấu thành bao gồm: Trán, Miệng, Mũi, Tai, Mắt, Khuôn mặt, Cằm, Gò má, Râu, Ria, Lông mày, Đầu tóc, Nhân trung, …, Các vết sẹo, … Mỗi bộ phận lại có các đặc điểm khác nhau kết hợp hài hòa tạo lên các bộ phận tổng thể
Bài toán tái tạo ảnh chân dung khuôn mặt người được tác giả đề cập đến ở đây là bài toán lắp ghép ảnh khuôn mặt người trên cơ sở dữ liệu ảnh mẫu của từng bộ phận đặc trưng trên khuôn mặt theo mô tả của các nhân chứng Sự mô tả của các nhân chứng còn sơ sài, thiếu nhiều đặc điểm quan trọng trên khuôn mặt cần tái tạo Sau nhiều lần nhận dạng ảnh tái tạo được, nhân chứng ra các quyết định chỉnh sửa để cuối cùng xây dựng được ảnh khuôn mặt hoàn chỉnh nhất
Trang 38Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Chương 2 ỨNG DỤNG GIẢI THUẬT DI TRUYỀN VÀO BÀI TOÁN TÁI
TẠO ẢNH CHÂN DUNG ĐỐI TƯỢNG
Trên cơ sở tìm hiểu về giải thuật di truyền và bài toán tái tạo ảnh chân dung đối tượng, chương 2 tập trung tìm hiểu các đặc điểm của bài toán tái tạo ảnh chân dung đối tượng, mối liên hệ mật thiết của nó với bài toán nhận dạng mặt người Phần tiếp theo của chương là ứng dụng của giải thuật di truyền vào việc giải quyết bài toán tái tạo ảnh chân dung khuôn mặt đối tượng theo mô tả của các nhân chứng
2.1 Vài nét khái quát về bài toán nhận dạng mặt người
Khuôn mặt đóng vai trò rất quan trọng trong giao tiếp xã hội, trong nhận biết, trong biểu lộ cảm xúc… Qua cuộc sống hàng ngày, con người có khả năng nhận biết khuôn mặt nhau một cách dễ dàng Mỗi chúng ta có thể nhớ và nhận biết được hàng ngàn người khác nhau thông qua khuôn mặt, nhận ra được những khuôn mặt gần giống nhau sau nhiều năm xa cách, thậm chí ngay cả khi có các tác động của ngoại cảnh về tầm nhìn, tuổi tác, biểu lộ tình cảm, đeo kính, thay đổi tóc…
Hệ thống nhận dạng mặt người (Face Recognition System) là hệ thống có khả năng tự động so sánh các ảnh mặt người với nhau, chỉ ra mức độ tương tự giữa các mặt được so sánh và đưa ra quyết định về tính đồng nhất giữa chúng Mặc dù, khuôn mặt người không có được mức đặc trưng cao như vân tay hay tròng mắt nhưng bù lại việc thu thập dữ liệu về khuôn mặt người lại đơn giản và phổ dụng hơn nhiều Có thể nói nhận dạng mặt người áp dụng trong các giao dịch hoặc kiểm soát của cộng đồng luôn tế nhị và mang tính nhân bản hơn
so với các cách nhận dạng khác
Cũng như nhiều ứng dụng thành công khác trong lĩnh vực phân tích xử lý ảnh, nhận dạng mặt người là một trong những lĩnh vực quan trọng nhất trong
Trang 39Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
khoa học nhận dạng là do nhu cầu ứng dụng nhận dạng mặt người trong các lĩnh vực (kinh tế, thi hành luật pháp, điều tra tội phạm, bảo mật…) ngày càng nhiều Sản phẩm công nghệ thông tin (thiết bị phần cứng, ngôn ngữ lập trình, cơ sở dữ liệu…) đã phát triển đủ đáp ứng yêu cầu triển khai cho các hệ thống nhận dạng
Kỹ thuật nhận dạng mặt người bị tác động bởi nhiều yếu tố ngoại cảnh như
sự khác nhau của các biểu cảm khuôn mặt, hướng ánh sáng của ảnh, dáng điệu, kích thước, góc quay… Thậm chí cùng một người nhưng chụp ở các thời điểm khác nhau, với ngoại cảnh khác nhau có thể cũng không giống nhau
Nhận dạng mặt người bằng máy tính là một lĩnh vực nghiên cứu liên quan đến nhiều ngành như xử lý ảnh (image processing), nhận dạng mẫu (pattern recognition), thị giác máy tính (computer vision) và khai phá dữ liệu (datamining) Kỹ thuật nhận dạng mặt người có rất nhiều ứng dụng bao gồm từ việc nhận dạng bức ảnh tĩnh có khuôn dạng cố định như là hộ chiếu, thẻ tín dụng, bằng lái xe, cho đến việc nhận dạng trong thời gian thực như giám sát qua các máy quay phim (video, camera)
Trong các ứng dụng của nhận dạng mặt người, có 3 dạng ứng dụng phổ biến nhất, đó là:
- Xác thực (Vertification/Authentication): Xác định một người có đúng là
người mà anh ta tự nhận hay không (kiểm tra giấy chứng minh nhân dân, thẻ căn cước, giấy phép lái xe, giấy ra vào cơ quan…)
- Nhận dạng (Identification/Recognition): Xác nhận một người là ai trong
CSDL của hệ thống (CSDL tội phạm, CSDL chứng minh nhân dân, CSDL giấy phép lái xe…)
- Giám sát (Surveillance): Sử dụng thiết bị camera để theo dõi, giám sát
Đó là những ứng dụng thường được triển khai ở các cửa khẩu, nhà ga… nơi có đông người qua lại Hệ thống liên tục tách các ảnh khuôn mặt từ những ảnh chụp được, đối sánh với CSDL để xác định những đối tượng cần quan tâm
Trang 40Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Nhiệm vụ của hệ thống nhận dạng mặt người là xử lý tự động thông tin từ các ảnh để tìm ra độ tương tự giữa các khuôn mặt và đưa ra quyết định về tính đồng nhất giữa chúng Cấu trúc mẫu của hệ thống nhận dạng mặt người được thể hiện qua bốn công đoạn cơ bản là tiền xử lý (pre-processing), tách khuôn mặt (face detection), trích chọn đặc trưng (feature extraction), so sánh (comparison)
Sau một thời gian phát triển và thử nghiệm một số hệ thống nhận dạng mặt người, người ta thấy rằng việc cố gắng tạo ra các hệ thống nhận dạng mặt người
đa năng thực tế đã không cho kết quả tốt Việc đầu tiên phải làm là chuẩn hóa các dữ liệu ảnh ban đầu đó là các chân dung ảnh mặt người trong đó cần xác định kích thước, định dạng, chất lượng và nội dung thông tin
Điều quan trọng nhất đối với hệ thống nhận dạng mặt người là cơ sở dữ liệu ảnh mẫu phải chứa ảnh của đối tượng cần nhận dạng Điều đó dẫn đến việc phải lưu trữ và xử lý một CSDL ảnh có kích thước quá lớn làm cho việc vận hành hệ thống nhận dạng gặp nhiều khó khăn
Hệ thống tái tạo ảnh chân dung khuôn mặt người là hệ thống có khả năng
tự động lắp ghép, điều chỉnh các bộ phận trên khuôn mặt để tạo ra một khuôn mặt tương đối hoàn chỉnh dựa vào những mô tả về các bộ phận trên khuôn mặt Bài toán tái tạo ảnh chân dung khuôn mặt người có liên quan mật thiết với bài toán nhận dạng mặt người Cơ sở dữ liệu ảnh mẫu của hai bài toán là giống nhau-đó là ảnh khuôn mặt của các đối tượng cần tìm kiếm Kết quả của hai bài toán đều đưa ra hình ảnh khuôn mặt tương tự, hoặc gần giống nhất với ảnh thật của đối tượng Tuy nhiên với bài toán nhận dạng khuôn mặt đối tượng thì ảnh của đối tượng cần tìm kiếm đã tồn tại trong CSDL ảnh mẫu còn ảnh của đối tượng cần tìm kiếm trong bài toán tái tạo ảnh chân dung khuôn mặt thường chưa
có sẵn trong CSDL ảnh mẫu
Ảnh chân dung khuôn mặt đối tượng tái tạo được theo mô tả của các nhân chứng có thể dùng làm ảnh mẫu để tìm kiếm ảnh tương tự trong các hệ thống