Trong nhiều năm qua có rất nhiều nghiên cứu về bài toán nhận dạng cơ thể con 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 cơ thể con người nhìn thẳng vào thiết bị thu hình và cơ thể con người thẳng đứng trong ảnh đen trắng. Cho đến ngày hôm nay bài toán mở rộng cho ảnh màu, có nhiều cơ thể 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 cho đến môi trường xung quanh rất phức tạp nhằm đáp ứng nhu cầu của con người.Mục tiêu của đề tài “Nhận Dạng Cơ Thể Con Người” là thực hiện chương trình tìm kiếm, phân biệt cơ thể con người trong một bức ảnh sử dụng thuật toán PCA. Để tiện theo dõi tôi xin trình bày đề tài theo ba phần như sau:Phần đầu là giới thiệu về tổng quan của xử lý ảnhPhần tiếp theo là giới thiệu về thuật toán PCA là bài toán được sử dụng rất nhiều trong viễn thông. Và đề tài này sử dụng thuật toán PCA.Phần cuối cùng là giới thiệu giao diện chương trình và code matlab.
Trang 1LỜI CẢM ƠN
Trước hết em xin gửi lời cảm ơn sâu sắc đến thầy Nguyễn Văn Cường, người đãgiúp đỡ em rất nhiều về định hướng nghiên cứu, chọn đề tài, hướng dẫn cho em trongsuốt thời gian thực hiện đề tài này Đồ án này được hoàn thành theo đúng thời gian quyđịnh của nhà trường cũng như của khoa không chỉ là sự nỗ lực của em mà còn sự giúp
đỡ, chỉ bảo của thầy hướng dẫn, của quý thầy cô và các bạn sinh viên
Em xin chân thành cảm ơn thầy cô đã giảng dạy chúng em, đặc biệt là các thầy côgiáo trong khoa Điện tử - Viễn thông
Mặc dù đã rất cố gắng hoàn thành đồ án này song cũng không tránh khỏi nhữngsai sót, mong thầy cô và các bạn đóng góp những ý kiến quí báu để đồ án được thànhcông hơn
Sinh viên thực hiện Trần Văn Khánh
Trang 2MỤC LỤC
CÁC TỪ VIẾT TẮT……….….……… 3
MỞ ĐẦU……… ……… 4
CHƯƠNG 1: TỔNG QUAN VỀ XỬ LÝ ẢNH……….….5
1.1 Giới thiệu chương ……… 5
1.2 Xử lý ảnh, các vấn đề cơ bản trong xử lý ảnh … ……….….…….…………5
1.2.1 Xử lý ảnh là gì? ……….……… 5
1.2.2 Các vấn đề cơ bản trong xử lý ảnh ……… ……….………6
1.3 Thu nhận và biểu diễn ảnh ……… ……….………8
1.3.1 Thu nhận, các thiết bị thu nhận ảnh … ……….…….8
1.3.2 Biểu diễn ảnh … ……….….… 9
1.4 Tổng quan về nhận dạng cơ thể con người…… ……….….11
1.4.1 Đề xuất mô hình giải quyết ứng với từng khâu của bài toán nhận dạng cơ thể người ………12
1.5 Kết luận chương… ……….… 13
CHƯƠNG 2: CÁC THUẬT TOÁN NHẬN DẠNG CƠ THỂ CON NGƯỜI 14
2.1 Giới thiệu chương …… ……….…… ………… 14
2.2 Phương pháp xác định cơ thể con người……….… 14
2.2.1 Giới thiệu mạng nơron 14
2.2.2 Giới thiệu về PCA……… ……….…… 21
2.3 Nhận dạng cơ thể con người dùng thuật toán PCA……….…… 22
2.3.1 Một số khái niệm toán học……… ……….………22
2.3.2 Quá trình nhận dạng 26
CHƯƠNG 3: DÒ TÌM VÀ XÁC ĐỊNH CƠ THỂ CON NGƯỜI TRONG ẢNH 30
3.1 Giới thiệu chương ……….……….……….30
3.2 Đề xuất phương pháp ………….……… ……… 30
Trang 33.2.1 Các phương pháp đã được thực hiện 30
3.2.2 Phương pháp đề xuất trong báo cáo……….…………35
3.3 Kết luận chương ……… ……….……… ……….39
CHƯƠNG 4: CHƯƠNG TRÌNH MÔ PHỎNG……… ……40
4.1 Giới thiệu chương ……….…… ………40
4.2 Giới thiệu chung về phần mềm Matlab……… ………40
4.2.1 Khái niệm về Matlab……… ……… 40
4.2.2 Hệ thống Matlab……… ……… 41
4.3 Xử lý ảnh với Matlab……… ……….42
4.3.1 Xử lý ảnh……… ……… 42
4.3.2 Các giai đoạn xử lý ảnh……… ……… 42
4.3.3 Các hàm xử lý ảnh cơ bản trong Matlab……… ……… 44
4.4 Sơ đồ khối và Code chương trình……….… ………52
4.4.1 Sơ đồ khối……….……… ……… 52
4.4.2 Code chương trình…….……… ………….52
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI……….….63
TÀI LIỆU THAM KHẢO……… ……… 64
Trang 4LIỆT KÊ HÌNH
Hình 1.1 Quá trình xử lý ảnh……… ………5 Hình 1.2 Các bước cơ bản trong một hệ thống xử lý ảnh……… ………5 Hình 1.3 Quá trình hiển thị và chỉnh sửa, lưu trữ ảnh thông qua DIB… ……10 Hình 1.4 Sự chuyển đổi giữa các mô hình biểu diễn ảnh………….………10 Hình 1.5 Mô hình tổng quát của bài toán nhận dạng cơ thể người……….……12 Hình 2.1 Lan truyền ngược………17 Hình 2.2 Minh họa việc tính δ j cho việc tính nút ẩn j……… …………20 Hình 3.1 Hướng của véc tơ riêng……… ……30 Hình 3.2 Minh hoạ phát hiện vị trí tứ chi, mình, đầu trên cơ thể………… …32 Hình 3.3 Minh hoạ kiểu kết hợp toàn cục và bộ phận……… ………34 Hình 3.4 Sự phân phối dữ liệu trong không gian 3 chiều và các trục tương ứng của PCA và ICA……….……… …………36
Hình3.5 minh họa kiến trúc 1 trong mô hình ICA………37 Hình3.6 Minh họa kiến trúc 2 trong mô hình ICA……… …………37 Hình3.7 Mô hình tổng hợp ảnh cho kiến trúc 2 của ICA trên pixel……,,,……38 Hình 4.1 Các bước cơ bản trong xử lý ảnh……… ……42 Hình 4.2 Sơ đồ khối tổng quát của chương trình……….………52
Trang 5MỞ ĐẦU
Trong nhiều năm qua có rất nhiều nghiên cứu về bài toán nhận dạng cơ thể conngườ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àitoán đơn giản, mỗi ảnh chỉ có một cơ thể con người nhìn thẳng vào thiết bị thu hình và cơthể con người thẳng đứng trong ảnh đen trắng Cho đến ngày hôm nay bài toán mở rộngcho ảnh màu, có nhiều cơ thể 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ảncho đến môi trường xung quanh rất phức tạp nhằm đáp ứng nhu cầu của con người
Mục tiêu của đề tài “Nhận Dạng Cơ Thể Con Người” là thực hiện chương trình tìm
kiếm, phân biệt cơ thể con người trong một bức ảnh sử dụng thuật toán PCA
Để tiện theo dõi tôi xin trình bày đề tài theo ba phần như sau:
- Phần đầu là giới thiệu về tổng quan của xử lý ảnh
- Phần tiếp theo là giới thiệu về thuật toán PCA là bài toán được sử dụng rấtnhiều trong viễn thông Và đề tài này sử dụng thuật toán PCA
- Phần cuối cùng là giới thiệu giao diện chương trình và code matlab
Do tài liệu tham khảo hạn chế, kinh nghiệm trong thực tiễn còn non kém, nên đềtài không tránh khỏi những thiếu sót Rất mong được nhận những ý kiến đóng góp, giúp
đỡ, quý báu của quý thầy cô cùng các bạn sinh viên
Tp Đà Nẵng, tháng 5 năm 2014 Người thực hiện đề tài
Trang 6CHƯƠNG 1: TỔNG QUAN VỀ XỬ LÝ ẢNH
1.2 Giới thiệu chương
Chương này trình bày tổng quan về xử lý ảnh, các khái niệm cơ bản, sơ đồ tổng quát của một hệ thống xử lý ảnh và các vấn đề cơ bản trong xử lý ảnh
1.2 Xử lý ảnh, các vấn đề cơ bản trong xử lý ảnh
1.2.1 Xử lý ảnh là gì?
Con người thu nhận thông tin qua các giác quan, trong đó thị giác đóng vai tròquan trọng nhất Những năm trở lại đây với sự phát triển của phần cứng máy tính, xử lýảnh và đồ hoạ đó phát triển một cách mạnh mẽ và có nhiều ứng dụng trong cuộc sống
Xử lý ảnh và đồ hoạ đóng một vai trò quan trọng trong tương tác người máy
Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào
nhằm cho ra kết quả mong muốn Kết quả đầu ra của một quá trình xử lý
ảnh có thể là một ảnh “tốt hơn” hoặc một kết luận
Hình 1.1 Quá trình xử lý ảnh
Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem như là đặctrưng cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của đối tượng trongkhông gian và nó có thể xem như một hàm n biến P(c1, c2, , cn) Do đó, ảnh trong xử lýảnh có thể xem như ảnh n chiều
Sơ đồ tổng quát của một hệ thống xử lý ảnh:
Hình 1.2 Các bước cơ bản trong một hệ thống xử lý ảnh
Trang 71.2.2 Các vấn đề cơ bản trong xử lý ảnh
1.2.2.1 Một số khái niệm cơ bản
* Ảnh và điểm ảnh: Điểm ảnh được xem như là dấu hiệu hay cường độ sáng tại 1 toạ độtrong không gian của đối tượng và ảnh được xem như là 1 tập hợp các điểm ảnh
* Mức xám, màu: Là số các giá trị có thể có của các điểm ảnh của ảnh
In ảnh màu ra máy in đen trắng
• Tăng số mức xám: Thực hiện nội suy ra các mức xám trung gian bằng kỹ thuậtnội suy Kỹ thuật này nhằm tăng cường độ mịn cho ảnh
• Đặc điểm biên và đường biên: Đặc trưng cho đường biên của đối tượng và dovậy rất hữu ích trong việc trích trọn các thuộc tính bất biến được dùng khi nhậndạng đối tượng Các đặc điểm này có thể được trích chọn nhờ toán tử gradient,toán tử la bàn, toán tử Laplace, toán tử “chéo không” (zero crossing) v.v Việttrích chọn hiệu quả các đặc điểm giúp cho việc nhận dạng các đối tượng ảnh chínhxác, với tốc độ tính toán cao và dung lượng nhớ lưu trữ giảm xuống
1.2.2.4 Nhận dạng
Trang 8Nhận dạng tự động (automatic recognition), mô tả đối tượng, phân loại và phânnhóm các mẫu là những vấn đề quan trọng trong thị giác máy, được ứng dụng trong nhiềungành khoa học khác nhau Tuy nhiên, một câu hỏi đặt ra là: mẫu (pattern) là gì?Watanabe, một trong những người đi đầu trong lĩnh vực này đã định nghĩa: “Ngược lạivới hỗn loạn (chaos), mẫu là một thực thể (entity), được xác định một cách ang áng(vaguely defined) và có thể gán cho nó một tên gọi nào đó” Ví dụ mẫu có thể là ảnh củavân tay, ảnh của một vật nào đó được chụp, một chữ viết, cơ thể người hoặc một ký đồtín hiệu tiếng nói Khi biết một mẫu nào đó, để nhận dạng hoặc phân loại mẫu đó có thể:
• Hoặc phân loại có mẫu (supervised classification), chẳng hạn phân tích phân biệt(discriminant analyis), trong đó mẫu đầu vào được định danh như một thành phầncủa một lớp đã xác định
• Hoặc phân loại không có mẫu (unsupervised classification hay clustering) trong
đó các mẫu được gán vào các lớp khác nhau dựa trên một tiêu chuẩn đồng dạngnào đó Các lớp này cho đến thời điểm phân loại vẫn chưa biết hay chưa được địnhdanh
Hệ thống nhận dạng tự động bao gồm ba khâu tương ứng với ba giai đoạn chủ yếusau đây:
1 Thu nhận dữ liệu và tiền xử lý
2 Biểu diễn dữ liệu
3 Nhận dạng, ra quyết định
Bốn cách tiếp cận khác nhau trong lý thuyết nhận dạng là:
1 Đối sánh mẫu dựa trên các đặc trưng được trích chọn
2 Phân loại thống kê
3 Đối sánh cấu trúc
4 Phân loại dựa trên mạng nơ-ron nhân tạo
Trong các ứng dụng rõ ràng là không thể chỉ dùng có một cách tiếp cận đơn lẻ đểphân loại “tối ưu” do vậy cần sử dụng cùng một lúc nhiều phương pháp và cách tiếp cậnkhác nhau Do vậy, các phương thức phân loại tổ hợp hay được sử dụng khi nhận dạng và
Trang 9nay đã có những kết quả có triển vọng dựa trên thiết kế các hệ thống lai (hybrid system)bao gồm nhiều mô hình kết hợp
Việc giải quyết bài toán nhận dạng trong những ứng dụng mới, nảy sinh trongcuộc sống không chỉ tạo ra những thách thức về thuật giải, mà còn đặt ra những yêu cầu
về tốc độ tính toán Đặc điểm chung của tất cả những ứng dụng đó là những đặc điểm đặctrưng cần thiết thường là nhiều, không thể do chuyên gia đề xuất, mà phải được tríchchọn dựa trên các thủ tục phân tích dữ liệu
1.2.2.5 Nén ảnh
Nhằm giảm thiểu không gian lưu trữ Thường được tiến hành theo cả hai cáchkhuynh hướng là nén có bảo toàn và không bảo toàn thông tin Nén không bảo toàn thìthường có khả năng nén cao hơn nhưng khả năng phục hồi thì kém hơn Trên cơ sở haikhuynh hướng, có 4 cách tiếp cận cơ bản trong nén ảnh:
• Nén ảnh thống kê: Kỹ thuật nén này dựa vào việc thống kê tần xuất xuất hiệncủa giá trị các điểm ảnh, trên cơ sở đó mà có chiến lược mã hóa thích hợp Một ví dụ điểnhình cho kỹ thuật mã hóa này là *.TIF
• Nén ảnh không gian: Kỹ thuật này dựa vào vị trí không gian của các điểm ảnh
để tiến hành mã hóa Kỹ thuật lợi dụng sự giống nhau của các điểm ảnh trong các vùnggần nhau Ví dụ cho kỹ thuật này là mã nén *.PCX
• Nén ảnh sử dụng phép biến đổi: Đây là kỹ thuật tiếp cận theo hướng nénkhông bảo toàn và do vậy, kỹ thuật thướng nến hiệu quả hơn *.JPG chính là tiếp cậntheo kỹ thuật nén này
• Nén ảnh Fractal: Sử dụng tính chất Fractal của các đối tượng ảnh, thể hiện sựlặp lại của các chi tiết Kỹ thuật nén sẽ tính toán để chỉ cần lưu trữ phần gốc ảnh và quyluật sinh ra ảnh theo nguyên lý Fractal
1.3 Thu nhận và biểu diễn ảnh
1.3.1 Thu nhận, các thiết bị thu nhận ảnh
Các thiết bị thu nhận ảnh bao gồm camera, scanner các thiết bị thu nhận này cóthể cho ảnh đen trắng Các thiết bị thu nhận ảnh có 2 loại chính ứng với 2 loại ảnh
Trang 10thông dụng Raster, Vector Các thiết bị thu nhận ảnh thông thường Raster là camera cácthiết bị thu nhận ảnh thông thường Vector là sensor hoặc bàn số hoá Digitalizer hoặcđược chuyển đổi từ ảnh Raster
Nhìn chung các hệ thống thu nhận ảnh thực hiện 1 quá trình:
• Cảm biến: biến đổi năng lượng quang học thành năng lượng điện
• Tổng hợp năng lượng điện thành ảnh
1.3.2 Biểu diễn ảnh
Ảnh trên máy tính là kết quả thu nhận theo các phương pháp số hoá được nhúngtrong các thiết bị kỹ thuật khác nhau Quá trình lưu trữ ảnh nhằm 2 mục đích:
• Tiết kiệm bộ nhớ
• Giảm thời gian xử lý
Việc lưu trữ thông tin trong bộ nhớ có ảnh hưởng rất lớn đến việc hiển thị, in ấn và
xử lý ảnh được xem như là 1 tập hợp các điểm với cùng kích thước nếu sử dụng càngnhiều điểm ảnh thì bức ảnh càng đẹp, càng mịn và càng thể hiện rõ hơn chi tiết của ảnhngười ta gọi đặc điểm này là độ phân giải Việc lựa chọn độ phân giải thích hợp tuỳthuộc vào nhu cầu sử dụng và đặc trưng của mỗi ảnh cụ thể, trên cơ sở đó các ảnh thườngđược biểu diễn theo 2 mô hình cơ bản
1.3.2.1 Mô hình Raster
Đây là cách biểu diễn ảnh thông dụng nhất hiện nay, ảnh được biểu diễn dướidạng ma trận các điểm (điểm ảnh) Thường thu nhận qua các thiết bị như camera,scanner Tuỳ theo yêu cầu thực thế mà mỗi điểm ảnh được biểu diễn qua 1 hay nhiều bít
Mô hình Raster thuận lợi cho hiển thị và in ấn Ngày nay công nghệ
phần cứng cung cấp những thiết bị thu nhận ảnh Raster phù hợp với tốc độ nhanh và chấtlượng cao cho cả đầu vào và đầu ra Một thuận lợi cho việc hiển thị trong môi trườngWindows là Microsoft đưa ra khuôn dạng ảnh DIB (Device Independent Bitmap) làmtrung gian Hình 1.4 thể hình quy trình chung để hiển thị ảnh Raster thông qua DIB
Một trong những hướng nghiên cứu cơ bản trên mô hình biểu diễn này là kỹ thuậtnén ảnh các kỹ thuật nén ảnh lại chia ra theo 2 khuynh hướng là nén bảo toàn và không
Trang 11bảo toàn thông tin nén bảo toàn có khả năng phục hồi hoàn toàn dữ liệu ban đầu còn nếukhông bảo toàn chỉ có khả năng phục hồi độ sai số cho phép nào đó Theo cách tiếp cậnnày người ta đã đề ra nhiều quy cách khác nhau như BMP, TIF, GIF, PCX…
Hiện nay trên thế giới có trên 50 khuôn dạng ảnh thông dụng bao gồm cả trong đócác kỹ thuật nén có khả năng phục hồi dữ liệu 100% và nén có khả năng phục hồi với độsai số nhận được
Hình 1.3 Quá trình hiển thị và chỉnh sửa, lưu trữ ảnh thông qua DIB
1.3.2.2 Mô hình Vector
Biểu diễn ảnh ngoài mục đích tiết kiệm không gian lưu trữ dễ dàng cho hiển thị
và in ấn còn đảm bảo dễ dàng trong lựa chọn sao chép di chuyển tìm kiếm… Theonhững yêu cầu này kỹ thuật biểu diễn vector tỏ ra ưu việt hơn
Trong mô hình vector người ta sử dụng hướng giữa các vector của điểm ảnh lâncận để mã hoá và tái tạo hình ảnh ban đầu ảnh vector được thu nhận trực tiếp từ các thiết
bị số hoá như Digital hoặc được chuyển đổi từ ảnh Raster thông qua các chương trình sốhoá
Công nghệ phần cứng cung cấp những thiết bị xử lý với tốc độ nhanh và chấtlượng cho cả đầu vào và ra nhưng lại chỉ hỗ trợ cho ảnh Raster Do vậy, những nghiêncứu về biểu diễn vectơ đều tập trung từ chuyển đổi từ ảnh Raster
Hình 1.4 Sự chuyển đổi giữa các mô hình biểu diễn ảnh
Trang 121.4 Tổng quan về nhận dạng cơ thể con người
Có nhiều nghiên cứu tìm phương pháp xác định cơ thể con người, từ ảnh xámđến ngày nay là ảnh màu Ta sẽ trình bày một cách tổng quát nhất những hướng giảiquyết chính cho bài toán
Dựa vào tính chất của các phương pháp xác định cơ thể con người trên ảnh Cácphươ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ềunghiê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ềuhơ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ơ thể con
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 cơ thể conngười so với cơ thể các loài động vật khác
• 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 cơ thể con người mà các đặc trưng này sẽ không thay đổi khi tưthế hoạt động của cơ thể con người, vị trí đặt thiết bị thu hình hoặc điều kiện ánh sángthay đổ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 cơ thể con người (các
mẫu này được chọn lựa và lưu trữ) để mô tả cho cơ thể con người hay các đặc trưng cơthể (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 cơ thể con 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 cơ thể con 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ếpcận theo phương pháp học
Trang 131.4.1 Đề xuất mô hình giải quyết ứng với từng khâu của bài toán nhận dạng cơ thể người.
Mô hình tổng quát của bài toán nhận dạng cơ thể người:
Hình 1.5 Mô hình tổng quát của bài toán nhận dạng cơ thể người
Bài toán nhận dạng cơ thể con người cần xác định bốn vấn đề chính:
+ Dùng phương pháp nào để xác định cơ thể con người nằm tại vị trí nào trongảnh
+ Dùng đặc trưng nào trên cơ thể con người để rút trích đặc trưng cho cơ thể:chân, tay, đầu, mình, hay kết hợp tất cả các đặc trưng trên
+ Áp dụng phương pháp nào để rút trích đặc trưng
+ Dùng phương pháp nào để huấn luyện cho máy nhận dạng khi đã có tập đặc
Trang 14trưng của cơ thể.
1.5 Kết luận chương
Chương một đã chỉ ra những khó khăn đề ra trong việc nhận dạng cơ thể conngười Đó là những biến đổi quá lớn của cơ thể con người trong bức ảnh cần nhận dạng.Gồm trạng thái cơ thể như đứng, ngồi, ánh sáng, vị trí của camera quan sát (bên trái ,phải, trên xuống, dưới lên) Giới hạn về số ảnh cần thiết cho việc huấn luyện, tập các ảnh
cơ thể huấn luyện không thể bao quát được tất cả các biến đổi có thể có trên cơ thể củamột bức ảnh cần nhận dạng trong thế giới thực Giúp ta có cái nhìn tổng quan hơn về mặthạn chế và hướng khắc phục cho bài toán nhận dạng
Trang 15CHƯƠNG 2: CÁC THUẬT TOÁN NHẬN DẠNG CƠ THỂ CON NGƯỜI
2.1 Giới thiệu chương
Chương này giúp ta định nghĩa bài toán xác định cơ thể con người (Body
Detection) sử dụng các kỹ thuật máy tính để xác định các vị trí và các kích thước của cơ thể con 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 cơ thể và bỏ qua những thứ khác, như: tòa nhà, cây cối, động vật…Trong chương này cũng đưa ra các phương pháp biểu diễn ảnh cơ thể thành véc tơ đặc trưng màvẫn giữ lại được những thành phần quan trọng của ảnh
2.2 Phương pháp xác định cơ thể con người
2.2.1 Giới thiệu mạng nơron
Có thể nói, hiện nay, không có một định nghĩa chính thức nào cho mạng nơron.Tuy nhiên phần lớn mọi người đều đồng tình rằng mạng nơron là một mạng bao gồm rấtnhiều bộ xử lý đơn giản (gọi là các unit), mỗi unit có vùng nhớ riêng của mình Các unitđược kết nối với nhau thông qua kênh thông tin (gọi là các connection), thường mang dữliệu số (không phải là các ký hiệu), và được mã hóa theo một cách nào đấy Các unit chỉ
xử lý trên bộ dữ liệu của riêng nó và trên các đầu vào được đưa tới thông qua các liên kết.hạn chế của các phép xử lý cục bộ này là nó thường ở trạng thái nghỉ trong suốt quá trìnhhọc
Một số mạng nơron là các mô hình mạng nơron sinh học, một số thì không, nhưng
từ trước tới nay, thì tất cả các lĩnh vực của mạng nơron đều được nghiên cứu xây dựngxuất phát từ các yêu cầu xây dựng các hệ thống nhận tạo rất phức tạp, hay các phép xử lý
“thông minh”, và những gì tuơng tự như bộ não con người
Hầu hết các mạng nơron đều có một vài quy tắc học nào đó mà thông qua đó cáctrọng số của các liên két được điều chỉnh dựa trên dữ liệu Nói cách khác, các mạngnơron “học” và các ví dụ và dựa trên các dữ liệu đó thì nó có khả năng tổng quát tri thức
và đưa ra “nhận thức của mình”
Mạng nơron là mô hình mạng ứng dụng các phương pháp xử lý song song và cácthành phần mạng xử lý hoàn toàn đợc lập với nhau Một vài nguời xem khả năng xử lý
Trang 16song song số lượng lớn và tính liên kết cao của mạng nơron là các tính chất đặc trưng của
nó Tuy nhiên với những yêu cầu như thế thì lại không có những mô hình đơn giản, ví dụnhư mô hình hồi quy tuyến tính đơn giản, một mô hình được ứng dụng rất rộng rãi củamạng nơron
Mạng nơron có thể được áp dụng trong mọi trường hợp khi tồn tại một mối liên hệgiữa các biến độc lập (inputs) và các biến phụ thuộc (outputs), thậm chí là ngay cả khimối quan hệ đó phức tạp Một số lĩnh vực mà mạng nơron đã được áp dụng thành côngnhư dự đoán triệu chứng y học, dự đoán thị trường chứng khoán, đánh giá độ tin cậy tàichính, điều chỉnh điều kiện của cơ cấu máy móc
2.2.1.1 Thuật toán lan truyền ngược
Chúng ta sẽ tập trung nghiên cứu một kĩ thuật rất phổ biến của mạng nơron nhiềutầng Chúng ta sẽ xem xét cách mà một mạng học một ánh xạ từ một tập dữ liệu chotrước
Chúng ta đã biết việc học dựa trên định nghĩa của hàm lỗi, hàm lỗi này sau đó sẽđược tối thiểu hoá dựa vào các trọng số và các trọng ngưỡng trong mạng
Trước tiên ta sẽ xem xét trường hợp mạng sử dụng hàm ngưỡng Vấn đề cần bàn ởđây chính là cách để khởi tạo các trọng số cho mạng như thế nào Công việc này thườngđược gọi là ‘credit assignment problem’ nếu một nút đầu ra tạo ra một đáp số sai lệch thìchúng ta phải quyết định xem liệu nút ẩn nào phải chịu trách nhiệm cho sự sai lệch đó,cũng chính là việc quyết định trọng số nào cần phải điều chỉnh và điều chỉnh là baonhiêu
Để giải quyết vấn đề gán trọng số này, chúng ta hãy xem xét một mạng với cáchàm truyền phân biệt ,do đó giá trị tổng trọng của các nút xuất sẽ trở thành một hàm phânbiệt của các biến nhập và của trọng số và trọng ngưỡng Nếu ta coi hàm lỗi, ví dụ có dạngsai số trung bình bình phương, là một hàm riêng biệt cho các giá trị xuất của mạng thìbản thân nó cũng chính là một hàm phân biệt của các trọng số
Trang 17Do đó chúng ta có thể tính toán được đạo hàm hàm lỗi theo các trọng số, và giá trịđạo hàm này lại có thể dùng để làm cực tiểu hoá hàm lỗi bằng cách sử dụng phương phápgiảm gradient (gradient descent) hoặc các phương pháp tối ưu hoá khác.
Giải thuật ước lượng đạo hàm hàm lỗi được biết đến với tên gọi lan truyền ngược,
nó tương đương với việc lan truyền ngược lỗi trong mạng Kĩ thuật về lan truyền ngượcđược biết đến rất rộng rãi và chi tiết qua các bài báo cũng như các cuốn sách củaRumelhart, Hinton và Williams (1986) Tuy nhiên gần đây một số ý tưởng tương tự cũngđược một số nhà ngiên cứu phát triển bao gồm Werbos (1974) và Parker (1985)
Để làm rõ hơn về thuật ngữ này chúng ta cần xem xét quá trình luyện mạng mộtcách kĩ càng Phần lớn các giải thuật luyện mạng đều liên quan đến một thủ tục được lặp
đi lặp lại nhằm làm tối thiểu hàm lỗi, bằng cách điều chỉnh trọng số trong một chuỗi cácbước
Tại mối bước như vậy, chúng ta có thể chia thành hai bước phân biệt
• Tại bước thứ nhất, cần phải tính đạo hàm hàm lỗi theo các trọng số Chúng
ta đã biết rằng một đóng góp rất quan trọng của kĩ thuật lan truyền ngược
đó là việc cung cấp một phương pháp hết sức hiệu quả về mặt tính toántrong việc đánh giá các đạo hàm Vì tại bước này lỗi sẽ được lan truyềnngược trở lại mạng nên chúng ta sẽ sử dụng khái niệm lan truyền ngược đểđặc trưng riêng cho việc đánh giá đạo hàm này
• Tại bước thứ hai, các đạo hàm sẽ được sử dụng trong việc tính toán sự điềuchỉnh đối với trọng số Và kĩ thuật đơn giản nhất được sử dụng ở đây là kĩthuật gradient descent, kĩ thuật này được Rumelhart et al (1986) đưa ra lầnđầu tiên
Một điều hết sức quan trọng là phải nhận thức được rằng hai bước này là phân biệtvới nhau Do đó, quá trình xử lý đầu tiên , được biết đến là quá trình lan truyền ngược cáclỗi vào trong mạng để đánh giá đạo hàm, có thể được áp dụng đối với rất nhiều laọi mạngkhác nhau chứ không chỉ đối với riêng mạng perceptron nhiều tầng Nó cũng có thể được
Trang 18áp dụng với các loại hàm lỗi khác chứ không chỉ là hàm tính sai số bình phương cực tiểu,
và để đánh giá các đạo hàm khác này có thể sử dụng các phương pháp khác như phươngpháp ma trận Jacobian và Hessian mà chúng ta sẽ xem xét ở phần sau Và cũng tương tựnhư vậy thì tại bước thứ hai, việc điều chỉnh trọng số sử dụng các đạo hàm đã được tínhtrước đó có thể thực hiện với nhiều phương pháp tối ưu hoá khác nhau, và rất nhiều trong
số các phương pháp đó cho kết quả tốt hơn phương pháp gradient descend
2.2.1.2 Lan truyền ngược
Hình 2.1 Lan truyền ngược
Bây giờ chúng ta sẽ áp dụng giải thuật lan truyền ngược cho bất kì một mạngneural có cấu hình lan truyền tiến tuỳ ý, sử dụng các hàm truyền phi tuyến tuỳ ý, và cảhàm lỗi có dạng tuỳ ý Để minh hoạ chúng ta sẽ dùng một mạng có cấu trúc một tầng nút
ẩn dạng sigmoid và hàm lỗi là hàm tính theo sai số trung bình bình phương
Trong các mạng lan truyền tiến nói chung mỗi nút đều tình tổng trọng hoá các đầuvào của nó theo công thức:
∑
=
i
i ji
a
(I.1)
Với zi là giá trị nhập hoặc là giá trị xuất của một nút có cung kết nối với nút j và
wji chính là trọng số của cung kết nối đó Giá trị tổng này được tính trên tất cả các nút cókết nối trực tiếp với nút j Chúng ta biết rằng, trọng ngưỡng của nút cũng được đưa vàotrong tổng bằng cách tạo ra thêm một giá trị nhập cố định = 1 Tổng trong (I.1) lại được
Trang 19biến đổi thông qua một hàm truyền phi tuyến g(.) để đưa ra được gía trị xuất zi của nút jtheo công thức:
(I.3)
Với n là nhãn của từng mẫu
Chúng ta cũng giả định rằng lỗi En có thể được thể hiện như một hàm riêng củacác biến đầu ra, có nghĩa là
Bây giờ hãy xem xét việc tính đạo hàm của En theo cá trọng số wji Giá trị xuất củacác nút sẽ phụ thuộc vào từng mẫu nhập n nào Tuy nhiên để dễ nhìn, ta quy ước sẽ bỏqua việc viết kí tự n trên các biến nhập và xuất Trước tiên ta cần chú ý rằng En phụ thuộcvào trọng số wji thông qua tổng giá trị nhập ai của nút j Do đó ta có thể đưa ra công thứctính các đạo hàm riêng như sau:
Trang 20j j
E w
j
z w
n
z w
k
n k
y
E a
g a
Để tính được δ cho cá nút ẩn, ta cần sử dụng công thức tính đạo hàm riêng:
Trang 21j
n j
a
a a
E a
Hình 2.2 Minh họa việc tính δ j cho việc tính nút ẩn j
Chú ý rằng các nút có nhãn k này có thể bao gồm cả nút nhập và nút xuất
Bây giờ chúng ta có công thức lan truyền ngược như sau:
( ) ∑
≡
k
k kj j
Chúng ta có thể tổng kết lại giải thuật lan truyền ngược nhằm tính đạo hàm hàm lỗi En
theo các trọng số trong 4 bước:
Trang 22 Đưa vector nhập xn vào mạng và lan truyền tiến nó trong mạng sử dụng và
để tìm ra giá trị xuất cho tất cả các nút ẩn cũng như nút xuất
Tính δ cho tất cả các nút xuất sử dụng công thức
Lan truyền ngựơc các d bằng công thức để thu được δ cho mỗi nút ẩn trongmạng
áp dụng
i j ji
n
z w
2.2.2 Giới thiệu về PCA
Phần này giúp ta hiểu được phép phân tích thành phần chính PCA (PrincipalComponens Analysis) PCA là một kỹ thuật hữu ích trong các ứng dụng nhận dạng cơ thể
và nén ảnh, và là một kỹ thuật phổ biến để tìm mẫu trong các dữ liệu nhiều chiều
Kohonen đã đưa ra phương pháp dùng vector riêng để nhận dạng cơ thể, ôngdùng một mạng nơron đơn giản để chứng tỏ khả năng của phương pháp này trên các ảnh
đã được chuẩn hóa Mạng nơron tính một mô tả của cơ thể bằng cách xấp xỉ các vectorriêng của ma trận tương quan của ảnh Các vector riêng sau này được biết đến với cái tênEigenface Kirby và Sirovich chứng tỏ các ảnh có các cơ thể có thể được mã hóa tuyếntính bằng một số lượng vừa phải các ảnh cơ sở Tính chất này dựa trên biến đổiKarhunen-Lòeve, mà còn được gọi dưới một cái tên khác là PCA và biến đổi Hotelling
Ý tưởng này được xem là của Pearson trình bày đầu tiên vào năm 1901và sau đó là
Trang 23Hotelling vào năm 1933 Cho một tập các ảnh huấn luyện có kích thước n x m được mô
tả bởi các vector có kích thước m x m, các vector cở sở cho một không gian con tối ưuđược xác định thông qua lỗi bình phương trung bình khi chiếu các ảnh huấn luyện vàokhông gian con này Các tác giả gọi tập các vector cơ sở tối ưu này là ảnh riêng sau đógọi cho đơn giản là vector riêng của ma trận hiệp phương sai được tính từ các ảnh cơ thể
đã vector hóa trong tập huấn luyện Nếu cho 100 ảnh, mà mỗi cơ thể có kích thước91x50 thì có thể chỉ dùng 50 ảnh riêng, trong khi vẫn duy trì được một khả năng giốngnhau hợp lý (giữ được 95% tính chất)
Ta dùng PCA trên tập huấn luyện ảnh các cơ thể để sinh các ảnh riêng, để tìm mộtkhông gian con (không gian cơ thể) trong không gian ảnh Các ảnh cơ thể được chiếu vàokhông gian con này và được gom nhóm lại Tương tự các ảnh không có cơ thể dùng đểhuấn luyện cũng được chiếu vào cùng không gian con và gom nhóm lại Các ảnh khichiếu vào không gian cơ thể thì không bị thay đổi tính chất cơ bản, trong khi chiếu cácảnh không có cơ thể thì xuất hiện sự khác nhau cũng không ít Xác định sự có mặt củamột cơ thể trong ảnh thông qua tất cả khoảng cách giữa các vị trí trong ảnh và khônggian ảnh Khoảng cách này dùng để xem xét có hay không có cơ thể người, kết quả khitính toán các khoảng cách sẽ
cho ta một bản đồ về cơ thể Có thể xác định được từ cực tiểu địa phương của bản đồnày Có nhiều nghiên cứu về xác định cơ thể, nhận dạng, và trích đặc trưng từ ý tưởngvector riêng, phân rã, và gom nhóm
Các bước cơ bản trong PCA:
• Bước1: Lấy dữ liệu (Get data)
• Bước2: Trừ trung bình mẫu
Với mỗi chiều dữ liệu giả sử ở chiều x, ta đều có 1 trung bình mẫu, công việctrong bước này là trừ tất cả giá trị trong chiều x cho trung bình mẫu x Kết thúcbước này ta sẽ có trung bình mẫu ở tất cả các chiều là 0
• Bước 3: Tính ma trận hiệp phương sai
• Bước 4: Tính các vectơ riêng và giá trị riêng của ma trận hiệp phương sai
• Bước 5: Chọn các thành phần chính
Trang 24Đây là bước cuối cùng trong PCA Trong bước này, tùy thuộc vào số lượng thànhphần chính cần lấy, ta lấy lần lượt các thành phần (vectơ riêng) tương ứng với cácgiá trị riêng cao nhất.
2.3 Nhận dạng cơ thể con người dùng thuật toán PCA
2.3.1 Một số khái niệm toán học
Trước khi đi vào tìm hiểu PCA, ta sẽ tìm hiểu về các khái niệm toán học sẽ được
sử dụng trong PCA Các khái niệm đó bao gồm: Độ lệch chuẩn (Standard deviation),phương sai (variance), hiệp phương sai (covariance), vec tơ riêng (eigenvector), giá trịriêng (eigenvalue)
2.3.1.1 Độ lệch chuẩn
Để hiểu độ lệch chuẩn, chúng ta cần một tập dữ liệu Giả sử ta có tập
X = [1 2 4 6 12 15 25 45 68 67 65 98]
X là ký hiệu đại diện cho tập số, mỗi số riêng biệt được ký hiệu Xi (Ví dụ
X3 = 4) Phần tử đầu tiên là X1 và n là số lượng phần tử của tập hợp Khi đó trung bìnhcủa mẫu có công thức:
Là ký hiệu trung bình của mẫu, tuy nhiên trung bình mẫu không nói lên đượcnhiều điều ngoại trừ cho ta biết nó là một điểm giữa Ví dụ với 2 tập dữ liệu
[0 8 12 20] và [8 9 11 12]
có trung bình mẫu bằng nhau nhưng lại khá khác nhau Sự khác biệt ở đây chính là khoảng cách của dữ liệu Và độ lệch chuẩn là đại lượng để đo khoảng cách này Ta có thểhiêu độ lệch chuẩn là khoảng cách trung bình từ trung bình mẫu đến các điểm của dữ liệu Ta có công thức:
Trang 25Dễ thấy phương sai chính là bình phương độ lệch chuẩn.
2.3.1.3 Hiệp phương sai
Ta thấy rằng 2 đại lượng độ lệch chuẩn và phương sai chỉ sử dụng được trong 1chiều Trong thực tế dữ liệu có thể có rất nhiều chiều Một ví dụ đơn giản ta có dữ liệu vềcân nặng và điểm số của toàn bộ sinh viên trong lớp 11ĐTLT Đối với dữ liệu này, độlệch chuẩn và phương sai chỉ tính được trên từng chiều riêng biệt và ta không thấy đượcmối liên hệ giữa 2 chiều này
Tương tự phương sai, hiệp phương sai là đại lượng đo sự biến thiên giữa 2 chiều.Nếu tính hiệp phương sai giữa 1 chiều với chính nó ta được phương sai của chiều đó Nếutập dữ liệu có 3 chiều x, y, z ta có thể tính hiệp phương sai của từng cặp chiều (x, y), (y,
Trang 26z), (z, x) Công thức của hiệp phương sai tương tự công thức của phương sai Công thứccủa phương sai được khai triển như sau:
Và công thức của hiệp phương sai:
Từ công thức hiệp phương sai ta thấy, nếu cov(X,Y) dương thì X, Y đồng biến,
cov(X,Y) âm thì X, Y nghịch biến, nếu bằng 0 thì X, Y độc lập.
2.3.1.4 Ma trận hiệp phương sai
Hiệp phương sai đó sự biến thiên giữa 2 chiều, do đó đối với tập dữ liệu có n chiều
ta có giá trị hiệp phương sai khác nhau Và để thuận tiện cho việc tính toán tabiểu diễn các giá trị này thông qua một ma trận gọi là ma trận hiệp phương sai Địnhnghĩa của ma trận như sau:
Trong đó C nxn là 1 ma trận với n hàng, n cột và Dim x là chiều thứ x Ví dụ ma trậnhiệp phương sai của 1 tập dữ liệu có 3 chiều x, y, z:
2.3.1.5 Ma trận đại số
Phần này giới thiệu về 2 khái niệm là nền tảng được sử dụng trong PCA đó làvectơ riêng (eigenvector) và giá trị riêng (eigenvalue)
Trang 27ví dụ thứ nhất vectơ kết quả không phải là một bội số của vectơ gốc trong khi ở ví dụ thứ
2 vectơ kết quả bằng 4 lần vectơ gốc Ta thấy rằng vectơ
(trong ví dụ 2) biểu diễn 1 mũi tên từ điểm (0, 0) đến điểm (3, 2) và ma trận còn lạiđược hiểu là ma trận chuyển đổi Nếu ta nhân ma trận này về bên trái của vectơ thì vectơmới nhận được chính là vectơ cũ bị tịnh tiến đi 1 lượng Đó là tính biến đổi của vectơriêng
Các tính chất của vectơ riêng:
• Chỉ các ma trận vuông (n x n) mới có vectơ riêng
• Không phải mọi ma trận vuông đều có vectơ riêng
• Nếu 1 ma trận vuông (n x n) có vectơ riêng thì sẽ có n vectơ riêng
• Nếu nhân vectơ riêng với 1 số thì kết quả sau khi nhân với ma trận chuyểnđổi, vectơ kết quả vẫn là vectơ ban đầu
• Tất cả các vectơ riêng của 1 ma trận đều trực giao với nhau
Trang 28không phải vì nhớ cơ thể, hay chiều cao hay tứ chi người đó mà ta nhận ra vì nhớ diệnmạo cơ thể của người đó Tức là trên cơ thể con người luôn tồn tại một nét tổng thể nào
đó để có thể nhận diện , thuật toán của ta bắt đầu từ ý tưởng này
Phân tích thành phần chính (Principal Component Analysis ) gọi tắt là PCA là
thuật toán nhận dạng ảnh dựa trên những nét tổng thể của cơ thể con người, ta sẽ áp dụngthuật toán này để thực hiện hai công việc sau :
- Thứ nhất là tìm một cơ thể con người giống với cơ thể con người cho trước
- Thứ hai là xác định vị trí những cơ thể con người trong một bức ảnh
Ban đầu ta có một tập ảnh cơ thể con người gọi là tập ảnh huấn luyện (training set) Giả sử mỗi ảnh có kích thước M×N , ta coi mỗi bức ảnh này là một vector trong khônggian M*N chiều Bây giờ mỗi cơ thể con người là một vector , ta thấy những vector nàykhông phân bố ngẫu nhiên trong không gian ảnh mà phân bố theo một quy luật tương đốinào đó , ta có thể nói những vector này nằm trong một không gian con gọi là không gian
cơ thể con người Từ những vector trong tập huấn luyện , ta sẽ tìm một cơ sở trực chuẩncho không gian cơ thể con người Những vector thuộc cơ sở này có thể coi là nhữngvector mang những nét tổng thể đặc trưng về cơ thể con người
Giả sử tập huấn luyện có P ảnh , khi đó ta sẽ có P vector : , , … ,
lớn nhất Những vector và giá trị vô hướng chính là những vector riêng và trị riêng tương ứng của ma trận
là tích vô hướng giữa hai vector u , v A=[]
Trang 29Ta thấy ma trận A có kích thước M*N × P , còn ma trận có kích thước M*N×M*N , do kích thước ma trận này quá lớn nên ta không thể tìm được những vector riêng và những trị riêng trực tiếp được , thay vào đó ta sẽ tìm những vector riêng của ma trận có kích thước P×P
Nếu v là một vector riêng của và λ là trị riêng tương ứng , khi đó ta có :
v = λv v = λAv , tức là Av là một trị riêng của ma trận
Thông thường ta chỉ lấy một số Q vector riêng ứng với Q trị riêng có giá trị lớn nhất
Sau khi có các vector riêng của ma trận , ta sẽ chuẩn hóa chúng để thu được một
cơ sở trực chuẩn của không gian cơ thể con người.
Đặt L= , tìm V là tập hợp các vector riêng của L , D là tập hợp các trị riêng tươngứng
V bao gồm Q vector riêng ứng với những trị riêng lớn hơn một giá trị nào đó hoặcứng với Q trị riêng lớn nhất trong D
E = AV là tập các vector riêng của Do đây là những vector riêng , mà nó lại códạng cơ thể con người nên còn đuợc gọi là Eigenbody E là ma trận M*N×Q , mỗi cột làmột vector riêng
Chuẩn hóa các vector cột trong E ( chia mỗi vector cho độ dài của vector đó )
Bây giờ , ta có thể coi E là một cơ sở trực chuẩn của không gian cơ thể con người
Với H là bức ảnh có cùng kích thước với những bức ảnh trong tập huấn luyện Ta
sẽ xét nó có phải là bức ảnh cơ thể con người hay không , cũng như tìm bức ảnh giốngvới nó nhất trong tập huấn luyện
H được xem là một vector trong không gian M*N chiều
Đặt K=H-m với m là vector ảnh trung bình
Cho V là một không gian có tích vô hướng hữu hạn chiều và W là một không gian con của V Giả sử W có một cơ sở trực chuần là {, … , Khi đó hình chiếu trực giao của vector u bất kỳ lên W được xác định như sau :
=
Độ dài được gọi là khoảng cách từ u đến W
Trang 30Tập hợp , i=1,… , Q được gọi là tọa độ của trong không gian W
Tìm C=K là tọa độ của hình chiếu của K lên không gian cơ thể con người C là vectorcột Q×1
= với = C( i , 1) ; = E( : , i )
Với là một cột trong ma trận A ( tương ứng với bức ảnh trong tập huấn luyện ) Ta tính = là tọa độ của hình chiếu của lên không gian cơ thể con người
Ta tính hai đại lượng sau :
- s = xem như khoảng cách từ bức ảnh H đến không gian cơ thể
- = xem như khoảng cách từ H đến bức ảnh trong tập huấn luyện
Xét α và β là hai ngưỡng nào đó
- s < α thì H là bức ảnh cơ thể ( do H đủ gần với không gian cơ thể )
- β thì là bức ảnh của cùng một người với H ( H đủ gần với )
Vậy là ta đã có thể tìm bức ảnh trong tập huấn luyện giống với bức ảnh H hay xác định
đó có phải là bức ảnh cơ thể con người hay không Tuy nhiên ảnh H phải có cùng kíchthước với những bức ảnh trong tập huấn luyện Bây giờ trong một bức ảnh lớn H cónhiều cơ thể con người, ta sẽ xác định vị trí những cơ thể con người trong bức ảnh Tại mỗi vị trí (x,y) trong H , đặt H(x,y) là một vùng trong ảnh H có kích thước M×N tại(x,y) , ta xem ảnh con H(x,y) là một vector M*N chiều
K(x,y) = H(x,y) – m ;
Tìm (x,y) là hình chiếu của K(x,y) lên không gian cơ thể con người
Tính s(x,y)=
Tập hợp các giá trị s(x,y) tạo thành một bản đồ cơ thể con người (body map) của H, từ đó
ta có thể xác định vị trí những cơ thể con người trong ảnh
Trang 31CHƯƠNG 3: DÒ TÌM VÀ XÁC ĐỊNH CƠ THỂ CON NGƯỜI TRONG ẢNH 3.1 Giới thiệu chương
Chương này nêu ra các phương pháp biểu diễn ảnh cơ thể thành một véc tơ đặctrưng, chỉ ra những khó khăn làm cho quá trình huấn luyện và nhận dạng bị chậm và đưa
ra cách phương pháp khắc phục vấn đề Đồng thời trong chương này cũng chỉ ra cácphương pháp để biểu diễn ảnh cơ thể thành véc tơ đặc trưng mà vẫn giữ lại được nhữngthành phần quan trọng của ảnh
3.2 Đề xuất phương pháp:
3.2.1 Các phương pháp đã được thực hiện
Quá trình rút trích đặc trưng được thực hiện bởi các phương pháp truyền thống là chia ôlưới, phép phân tích thành phần chính PCA, phân tích đặc trưng hình học bằng cách xácđịnh các thành phần quan trọng của cơ thể như đầu, tứ chi,… Trong các phương pháptrên điển hình là phương pháp PCA
• PCA - Principal Componens Analysis (còn được gọi là Karhunen-Loeve
Transform (KLT) hay Hotelling transform) PCA tìm phép biến đổi tuyến tính để:
- Giảm số chiều của không gian đặc trưng nhưng vẫn giữ được các đặc trưng chính
- Cực tiểu hóa việc mất mát thông tin
Phương pháp phân tích thành phần chính chiếu dữ liệu theo chiều biến đổi nhiều nhất
Hình 3.1 Hướng của véc tơ riêng
Phương pháp rút trích đặc trưng ảnh cơ thể người bằng phương pháp kết hợp các đặctrưng hình học và PCA Ý tưởng chính là:
Cơ thể sau khi chuẩn hoá sẽ được biểu diễn bằng véc tơ có kích thước 90x30:
Trang 32) , ,
, ( 1 2 2700
cothe x x x
x =
Sau đó véc tơ x sẽ được ánh xạ vào trong không gian đặc trưng của cơ thể Véc tơ biểudiễn trong không gian đặc trưng của cơ thể:
) , , ,
( 1 2
cothe y y yK
K: số chiều trong không gian đặc trưng
Véc tơ trên được gọi là véc tơ toàn cục của cơ thể.
Phát hiện vị trí của đầu, mình, tứ chi trong ảnh cơ thể Ta được véc tơ biểu diễn ảnh đầu(30x30), tay trái (50x20), tay phải (50x20), mình (45x45), chân trái (65x20), chân phải(65x20):
T dau x x x
Trang 33Hình 3.2 Minh hoạ phát hiện vị trí tứ chi, mình, đầu trên cơ thể
• Ánh xạ véc tơ biểu diễn đầu vào trong không gian đặc trưng của đầu.Véc tơ biểu diễn đầu trong không gian đặc trưng:
T K
• Ánh xạ véc tơ biểu diễn tay phải vào trong không gian đặc trưng của tayphải Véc tơ biểu diễn tay phải trong không gian đặc trưng:
T K
y = ( 1, 2, , )
• Ánh xạ véc tơ biểu diễn mình vào trong không gian đặc trưng của mình.Véc tơ biểu diễn mình trong không gian đặc trưng:
Trang 34) , , ,
• Các véc tơ trên được gọi là các véc tơ bộ phận của cơ thể.
• Kết hợp véc tơ toàn cục và véc tơ bộ phận ta được véc tơ kết hợp dạng:
comp
y y y y y y y
y
cothe
Trang 35Hình 3.3 Minh hoạ kiểu kết hợp toàn cục và bộ phận
Việc rút trích đặc trưng bằng phương pháp cho tập mẫu học gồm 2 bước chính: Phân tíchcác thành phần chính của tập mẫu, ánh xạ tập mẫu vào trong miền không gian đặc trưng
Rút trích đặc trưng cho tập mẫu cơ thể:
• Tính véc tơ trung bình của tập mẫu M có kích thước 2700 (90 x 30)
• Tính ma trận hiệp phương sai C (2700 x 2700)
• Tính các giá trị riêng (eigenvalue) và véc tơ riêng (eigenvector) tươngứng của ma trận hiệp phương sai C
• Chọn K véc tơ riêng tương ứng với K giá trị riêng tương ứng lớn nhất
• Xây dựng ma trận U mà mỗi cột là một véc tơ đặc trưng 2700 chiều.Vậy kích thước của ma trận U là 2700 x K
• Ánh xạ toàn bộ tập mẫu cơ thể vào miền không gian đặc trưng (K chiều)(xem phần lý thuyết PCA)
Rút trích đặc trưng cho tập mẫu đầu: tương tự
Rút trích đặc trưng cho tập mẫu mình: tương tự
Rút trích đặc trưng cho tập mẫu tứ chi: tương tự
Đối với tập dữ liệu nước ngoài CalTech chọn K của đặc trưng toàn cục là 100, K của các đặc trưng bộ phận là 60 Đối với tập dữ liệu trong nước tự tạo, chọn K của đặc trưng toàncục là 80, K của các đặc trưng bộ phận là 50
Khuyết điểm của phương pháp PCA:
- Cái đích của PCA là tìm một tập ảnh cơ sở tốt hơn, để trong tập ảnh cơ sở mới này sự phối hợp các ảnh là không tương quan (các thành phần chính là không tương quan), và đểtìm tập dữ liệu mới không tương quan, PCA đã sử dụng thống kê bậc hai (ma trận hiệp phương sai) Vì vậy các sự phụ thuộc thống kê bậc cao vẫn còn tồn tại trong phép phân tích PCA