“Nhận Dạng Đối Tượng Trong Video Dùng Phương Pháp PCA và Mạng Neural Perceptron ” thuộc một lĩnh vực của công nghệ sinh trắc trong nhận dạng để tìm hiểu nghiên cứu. Tuy đây không phải là vấn đề mới mẽ, nhưng nhận dạng một đối tượng người trong Video mang một ý nghĩa với nhiều ứng dụng thực tiễn từ đơn giản đến có ý nghĩa kinh tế an ninh.
Trang 1BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ VIỄN THÔNG
-ĐỒ ÁN MÔN HỌC 1NGÀNH: ĐIỆN TỬ VIỄN THÔNG
Trang 2LỜI CÁM ƠN
Trong những năm học tập tại trường Đại học Sư phạm Kỹ thuật Tp.Hồ Chí Minh nhóm thực hiện đề tài đã nhận được sự chỉ dạy của các thầy cô giảng dạy
tại trường, đã học được nhiều kiến thức cũng như kinh nghiệm quý báo từ thầy cô
Chúng em chân thành gửi lời cám ơn sâu sắc đên quý thầy cô, đặc biệt là thầy Th.S Đặng Phước Hải Trang đã tận tình giúp đỡ chúng em vượt qua những khó khăn
hoàn thành khóa luận tốt nghiệp một cách suôn sẻ và thành công
Chúng em cũng xin cám ơn gia đình và bạn bè đã tạo điều kiện và giúp đỡchúng em hoàn thành khóa luận tốt đẹp
Xin chân thành cảm ơn tất cả!
Tp.HCM, ngày 05 tháng 01 năm 2015
Nhóm sinh viên thực hiện
Lương Ngọc Thạch Nguyễn Nhật Anh
LIỆT KÊ HÌNH
Hình 2 1: Mô hình màu R-G-B trên tọa độ Decase
Hình 2.2 : Hệ tọa độ trụ cho không gian màu HSV
Trang 3Hình 2.7: Dạng của vector tạo từ ảnh về khuôn mặt
Hình 2.8: Cấu trúc 1 nơ ron (Neural)
Hình 2.9: Cấu trúc mạng neural một lớp
Hình 2.10: Cấu trúc mạng neural nhiều lớp
Hình 2.11: Tiến trình học
Hình 2.12 : Sơ đồ khối mạng lan truyền ngược
Hình 2.13: Mô hình tính toán một neural
Hình 2.14: Đặc trưng Haar-like cơ sở
Hình 2.15: Đặc trưng Haar-like mở rộng cạnh
Hình 2.16: Đăc trưng Haar-like mở rộng đường
Hình 2.17: Đặc trưng Haar-like tâm
Hình 2.18: Integral Image tại vị trí (x,y).
Hình 2.19: Mô tả cách tính tổng pixel của D
Hình 2.20: Lưu đồ giải thuật tổng quát của việc dò tìm và tách khuôn mặt Hình 2.20 Mô hình không gian màu RGB.
Hình 3.1: Quy trình thực hiện
Hình 3.2 : Lưu đồ giải thuật dò tìm nhận dạng đối tượng.
Hình 3.3: Lưu đồ giải thuật nhận dạng đối tượng trong video
Hình 3.4 : Giao diện chương trình chính
Hình 3.5: Giao diện chương trình dò tìm khuôn mặt
Hình 3.6a : Kết quả dò tìm khuôn mặt
Trang 4LIỆT KÊ TỪ VIẾT TẮT
PCA : Principle Component Analysis
ANN: Artificial Neural Network
MATLAB: MATrix LABoratory
SVM: Support Vector Machine
ISODATA: Interactive Self Organizing Data Analysis
Pixcel: Picture element
Trang 5CGA: Color Graphic Adaptor
bpp : bit per point
LỜI MỞ ĐẦU
Công nghệ sinh trắc học ứng dụng ngày nay đã trở nên rất phổ biến với nhiềulĩnh vực khác nhau Ứng dụng đa dạng và tiêu biểu của nó là kỹ thuật nhận dạng đốitượng Nhận dạng đối tượng không chỉ là một kỹ thuật mang tính khoa học máytính mà còn có cả ý nghĩa trong các lĩnh vực khác như kinh tế, an ninh bảo mật.Những năm gần đây sự phát triển của nó kéo theo sự phát triển của kỹ thuật xử lýảnh trong nhận dạng đối tượng, tuy vẫn còn khá mới mẽ nhưng lĩnh vực này đãđược nghiên cứu phát triển với tốc độ nhanh chóng bởi các trung tâm nghiên cứu,trường đại học… với nhiều ứng dụng trong các lĩnh vực khác nhau trong đời sống.Chính vì sự phát triển này mà nhóm thực hiện đề tài đã lựa chọn hướng xử lý ảnhnhận dạng đối tượng để nghiên cứu tìm hiểu sau thời gian học tập tại trường Việc
xử lý ảnh nhận dạng đối tượng theo khuôn mặt rất đa dạng về phương pháp vì thuậttoán cũng như chương trình bổ trợ, ở đây nhóm thực hiện dựa theo phương phápphân tích thành phần chính, màu da và mạng Neural để thực hiện nhằm tăng tốc khảnăng xử lý phân tích đưa ra kết quả một cách tới ưu nhất có thể Nhóm đã hoànthành đối với việc xử lý, nhận dạng trực tuyến thông qua Webcam của máy tính để
dò tìm đối tượng có trong cơ sở dữ liệu ban đầu, tuy nhiên kết quả cũng còn phụthuộc khá nhiều yếu tố của thiết bị, môi trường
MỤC LỤC
5
Trang 6Hiện đã có rất nhiều công trình nghiên cứu về vấn đề nhận dạng đốitượng, đối tượng nhắc đến ở đây là một người, nghĩa là việc làm cho máy tính
có thể nhận dạng được một người nào đó là ai với những cơ sở dữ liệu về người
đó thông qua khuôn mặt Các nghiên cứu này từ lúc kỹ thuật nhận dạng chứng
tỏ được vai trò của mình, đi từ việc đơn giản như tìm một khuôn mặt trong mộttấm ảnh xám, đến ảnh màu, ảnh có nhiều người, cho đến nay đã có các côngtrình nghiên cứu cả việc nhận biết cảm xúc của một người thông qua hình ảnhghi nhận được về khuôn mặt của người đó
Việc nhận dạng đối tượng cũng gặp nhiều vấn đề về điều kiện để có đượcnhững bài toán nhận dạng chính xác, cùng với đó cũng đã có nhiều phương pháp– thuật toán để nhận dạng với những ưu điểm khác nhau, và nhược điểm khácnhau
Chính bởi sự phát triển và đóng góp của công nghệ này mang lại, nhóm
thực hiện đã quyết định chọn đề tài: “Nhận Dạng Đối Tượng Trong Video Dùng Phương Pháp PCA và Mạng Neural Perceptron ” thuộc một lĩnh vực
của công nghệ sinh trắc trong nhận dạng để tìm hiểu nghiên cứu Tuy đây khôngphải là vấn đề mới mẽ, nhưng nhận dạng một đối tượng người trong Video
Trang 7mang một ý nghĩa với nhiều ứng dụng thực tiễn từ đơn giản đến có ý nghĩa kinh
tế - an ninh
1.2 Mục tiêu cần đạt sau khi thực hiện đề tài:
- Mô tả được tổng quát về hệ thống xử lý ảnh số
- Trình bày được các phương pháp xử lý ảnh số
- Trình bày được nguyên lý, các phương pháp nhận dạng, xác định mặt người
- Giải quyết được vấn đề nhận dạng khuôn mặt với các góc quay tương đối
- Mô phỏng thành công nhận dạng một đối tượng trên Video qua MatLab
- Rèn luyện các kỹ năng nghiên cứu, tìm hiểu tài liệu
1.3 Giới hạn đề tài
Mặc dù đã cố gắng nhưng đề tài vẫn có mặt hạn chế cần giới hạn:
- Hình ảnh, Video cần có chất lượng tốt, độ sắc nét cao
- Khuôn mặt đối tượng cần đúng với các tiêu chuẩn của một khuôn mặt bình thường,không biểu thị cảm xúc quá như cười to, mếu mặt… hay bị che khuất bởi các yếu tốkhông phải đặc trưng của khuôn mặt như mang khẩu trang, kính mát…góc nghiêngkhuôn mặt không quá 30o cho cả 4 hướng trái – phải – trên – dưới so với goc trựcdiện
- Các ảnh cơ sở phải đủ lớn, đây cũng là giới hạn lớn nhất và chung nhất của vấn đềnhận dạng đối tượng
1.4 Phương pháp nghiên cứu
Đề tài ứng dụng các phương pháp nhận dạng sau và được viết trên nền MatLab:
- Phương pháp rút trích đặc trưng PCA
- Phương pháp màu da
- Mạng neural nhân tạo ANN
Trang 81.5 Kế hoạch thực hiện
Đề tài được thực hiện trong thời gian học tập tại trường Đại học Sư phạm
Kỹ thuật Tp.Hồ Chí Minh trong 10 tuần từ ngày 28/10/2014 đến ngày
06/01/2015
1.6 Bố cục
Nội dung báo cáo của đề tài có 4 chương như sau:
- Chương 1: Tổng quan Giới thiệu tổng quát về vấn đề nhận dạng, những lý do để
lựa chọn đề tài vì tính ứng dụng của việc nhận dạng đối tượng
- Chương 2: Cơ sở lý thuyết Trình bày về các lý thuyết cơ bản về ảnh số, xử lý ảnh
số Lý thuyết về các phương pháp nhận dạng và thuật toán trong nhận dạng đốitượng gồm: Phân tích thành phần chính PCA, màu da, thuật toán Adaboost và mạngNeural nhân tạo
- Chương 3: Quá trình thực hiện, kết quả mô phỏng Trình bày về sơ đồ giải thuật các
phương pháp và kết quả mô phỏng khi chạy chương trình nhận dạng đối tượng trênMatLab
- Chương 4: Kết luận và hướng phát triển.
Chương 2
CƠ SỞ LÝ THUYẾT
2.1 Lý thuyết cơ bản về ảnh số và xử lý ảnh số
2.1.1 Ảnh số
Ảnh trong thực tế là một ảnh liên tục về không gian và về giá trị độ sáng Để
xử lý ảnh ta cần số hóa nó cho phù hợp với thiết bị máy tính Ta biến đổi nó từ liêntục sang rời rạc về mặt không gian lẫn giá trị sao cho mắt thường vẫn không phânbiệt sự khác biệt, rời rạc của nó
Trang 92.1.2 Điểm ảnh
Điểm ảnh được xem như là điểm màu hay cường độ sáng tại 1 tọa độ trongkhông gian của ma trận ảnh đối tượng, là một ma trận 2 chiều Điểm ảnh là phần tửnhỏ nhất của ảnh và thường được gọi là pixel (picture element)
Mỗi điểm ảnh chỉ là một màu sắc tại một thời điểm Tuy nhiên, do đặc điểmmắt người và vì chúng quá nhỏ nên các điểm ảnh thường pha trộn với nhau để hìnhthành các cảm nhận về màu sắc khác nhau Số lượng màu sắc của điểm ảnh đượcxác định bởi số lượng bit đại diện cho điểm ảnh trên hệ thống Ví dụ, một điểm ảnhđược biểu diễn 8 bit thì có 28 hay 256 màu sắc được hiển thị Hay với kỹ thuât hiệnnay, ảnh màu được lưu trữ tại mỗi Pixel là 3 Byte, nghĩa là ta sẽ có khoảng 16,7triệu màu cho Pixel đó
2.1.3 Biểu diễn ảnh số hóa
Ảnh số là tập hợp các điểm ảnh với mức xám phù hợp dùng để mô tả ảnhgần với ảnh thật Số hóa ảnh, như đã nói ở trên là việc ta biểu diễn một ảnh thật hiển
thị trên thiết bị số Ví dụ màn hình (Monitor), màn hình có nhiều loại với kích thước
và độ phân giải khác nhau như:
+ CGA: 640x320 , 16 màu
+ EGA: 640x350, 16 màu
+ VGA: 640x480, 16 màu
+ SVGA: 1024x768, 256 màu
2.1.4 Độ phân giải của ảnh
Độ phân giải ảnh (Resolution): là mật độ điểm ảnh được ấn định trên mộtảnh số được biểu thị
Khoảng cách giữa các điểm ảnh được chọn sao cho mắt người vẫn thấy được
sự liên tục của ảnh Việc lựa chọn khoảng cách thích hợp đó tạo nên một mật độphân bố, đó chính là độ phân giải và được phân bố theo trục x và y trong một khônggian hai chiều của ảnh
Trang 10Các kỹ thuật ngày nay đã cho phép các thiết bị có thể thu nhận ảnh có độphân giải lên đến vài chục MegaPixel như các thiết bị di động của Nokia, nay thuộc
về Microsoft, nhưng để đạt đến độ phân giải chân thật như mắt người của chúng tathì phải lên đến vài trăm MegaPixel, vài năm gần đây có một công trình nghiên cứu
đã thành công tạo ra một siêu máy ảnh có độ phân giải len đến 50GigaPixel (theoTạp chí khoa học trực tuyến hàng đầu thế giới Nature) Tuy nhiên, một bức ảnh có
độ phân giải khoảng từ 5 đến 8 MP cũng đủ để ta cảm nhận độ nét của nó
2.1.5 Mức xám của ảnh
Mức xám của điểm ảnh là cường độ sáng của điểm ảnh đó được gán bằnggiá trị số tại điểm biểu diễn đó
Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256 (Mức 256 là
mức phổ dụng Lý do: từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn mứcxám: Mức xám dùng 1 byte biểu diễn: 28=256 mức, tức là từ 0 đến 255)
2.1.8 Không gian màu
2.1.8.1 Màu sắc
Màu sắc là con đẻ của ánh sáng Màu sắc mà chúng ta phân biệt từ ánh sáng
là những cảm giác Sự phản chiếu của ánh sáng trên những vật thể màu sắc ánhsáng Màu của vật thể mà ta cảm nhận được là sự cộng hưởng của màu ánh sáng với
Trang 11màu của bản thân vật thể đó, màu của các sự vật lân cận tác động vào, màu của bầukhí quyển đang bao bọc chung quanh đó nữa.
Mắt người có thể cảm nhận được hàng ngàn màu nhưng chỉ có thể phân biệtđược vài chục màu Ba thuộc tính của một màu đó là sắc (Ton), quang độ (Valuer),
độ sáng (Intensity):
- Sắc: Độ đậm hoặc nhạt của một màu nào đó khi pha trắng hoặc pha đen
- Quang độ: Độ sáng hoặc tối của một màu, là tác dụng liên kết giữa các độ đậm nhạtnày với độ đậm nhạt kia Ví dụ: trong vòng thuần sắc, vàng là màu có đỉnh quang
độ sáng nhất, tím là màu có đỉnh quang độ tối nhất
- Cường độ: Là mức độ mạnh hay yếu của một màu nào đó (thị giác cảm nhận được
độ tươi thắm) do Sự kích thích thị giác Ví dụ: Vàng: Quang độ sáng hơn Cam:Cường độ mạnh hơn do độ tươi thắm của nó
2.1.8.2 Không gian màu RGB (Red, Green, Bule)
Không gian màu RGB (Red - Đỏ, Green - lục, Bule – Lam) được sử dụngphổ biến nhất Những màu gốc này (RGB) được thêm vào những màu gốc khácđiều đó tạo nên sự đóng góp riêng của từng màu gốc để mang lại kết quả khác nhau.Tập hợp các màu nhỏ thành phần sắp xếp theo khối lập phương đơn vị, đường chéochính của khối lập phương và sự cân bằng về số lượng từng màu gốc tương ứng vớimức độ xám là đen (0, 0, 0) và trắng (1, 1, 1)
Trang 12Hình 2 1: Mô hình màu R-G-B trên tọa độ Decase
2.1.8.3 Không gian màu HSV
Không gian màu HSV (H-Hue: độ sắc, S-Saturation: độ bão hòa, V-Value:giá trị) là một hệ tọa độ trụ mô tả không gian màu RGB So với không gian màuRGB thì không gian màu này trực quan hơn
Giá trị H được thể hiện thông qua góc vòng tròn Đi theo hướng ngược chiềukim đồng hồ, tại giá trị 0o là màu đỏ, sau đó biến thiên đến màu lục tại giá trị 120o,màu lam tại 240o và quay trở về màu đỏ 360o
Hình 2.2 : Hệ tọa độ trụ cho không gian màu HSV
2.1.9 Thu nhận ảnh
2.1.8.1 Thiết bị thu nhận ảnh
- Máy quay (Camera) cộng với bộ chuyển đổi tương tự số với các máy quaysố
- Máy quét (Scaners) chuyên dụng
- Các bộ cảm biến ảnh (Sensors)- cảm biến ánh sáng
Hệ thống thu nhận ảnh thực hiện 2 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
Trang 132.1.8.2 Số hóa ảnh
- Ảnh thu được từ các thiết bị thu nhận ảnh có thể là ảnh tương tự hoặc ảnh
số Trong trường hợp ảnh tương tự, chúng ta phải tiến hành quá trình số hóa ảnh để
có thể xử lý được bằng máy tính
- Phương pháp chung để số hóa ảnh là lấy mẫu theo hàng và mã hóa từng hàng
- Nguyên tắc số hóa ảnh có thể được mô tả theo sơ đồ sau:
Hình 2.3: Số hóa ảnh
+ Ảnh đầu vào là ảnh tương tự
+ Tiến trình lấy mẫu thực hiện các công việc sau: Quét ảnh theo hàng, và lấymẫu theo từng hàng Đầu ra là rời rạc về mặt không gian, nhưng liên tục vềmặt biên độ
+ Tiến trình lượng tử hóa: lượng tử hóa về mặt biên độ (độ sáng) cho dòngảnh vừa được rời rạc hóa
2.1.8.3 Xử lý và nâng cao chất lượng ảnh
- Nâng cao chất lượng ảnh là một bước quan trọng tạo tiền đề cho xử lý ảnh
- Mục đích: làm nổi bật một số đặc tính của ảnh như thay đổi độ tương phản,lọc nhiễu, nổi biên, làm trơn biên, khuếch đại ảnh…
- Tăng cường ảnh: Nhằm hoàn thiện trạng thái quan sát của một ảnh Baogồm điều khiển mức xám, thay đổi độ tương phản, giảm nhiễu, làm trơn, nội suy…
2.1.10 Tăng cường ảnh
2.1.10.1 Các kỹ thuật tăng cường ảnh sử dụng toán tử điểm
Trang 14Xử lý điểm ảnh là 1 trong các phép xử lý cơ bản và đơn giản Có 2 cách tiếpcận trong cách xử lý này:
- Dùng 1 hàm thích hợp (hàm tuyến tính hay hàm phi tuyến) tùy theo mụcđích cải thiện ảnh để biến đổi giá trị của điểm ảnh (mức xám, độ sáng) sang một giátrị khác (mức xám mới)
- Dựa vào kỹ thuật biến đổi lược đồ xám (Histogram) Lược đồ xám là biểu
đồ trực quan về tất cả các màu sắc và sắc độ (tones)
2.1.10.2 Tăng độ tương phản
Trước hết chúng ta sẽ làm rõ khái niệm độ tương phản Ảnh số là tập hợp cácđiểm mà mỗi điểm có giá trị sáng khác nhau, ở đây độ sáng để mắt người dễ cảmnhận ảnh nhưng không phải yếu tố quyết định Thực tế chỉ ra rằng hai đối tượng cócùng độ sáng nhưng đặt trên hai nền khác nhau sẽ cho cảm nhận khác nhau với mắtngười
Như vậy, độ tương phản biểu diễn sự thay đổi độ sáng của đối tượng so vớinền, một cách nôm na độ tương phản là độ nổi của điểm ảnh hay vùng ảnh so vớinền Với khái niệm này, nếu ảnh của ta có độ tương phản kém, ta có thể thay đổi tuỳtheo ý muốn
Hình 2.4: Hình vuông a trên hình cùng 1 mức xám và xuất hiện trên các nền khác
nhau.
2.1.10.3 Trích chọn bit
- Mục đích việc trích chọn bit (Bit Plane Slicing) là làm nổi bật các thành phần trêntoàn ảnh bởi việc sử dụng các bit đặc biệt trong việc xử lý ảnh
Trang 15Trong đó:
Và
,a là cận có thể chọn khi xem xét lược đồ ảnh xám
- Trong các bit mã hóa, người ta chia làm 2 loại: bit bậc thấp và bit bậc cao Với bitbậc cao, độ bảo toàn thông tin cao hơn so với bit bậc thấp, do đó các bit bậc thấpthường được chỉ dùng để biểu diễn nhiễu hoặc biểu diễn nền
2.1.10.4 Tách biên ảnh
Điểm Biên: Một điểm ảnh được coi là điểm biên nếu có sự thay đổi nhanh
hay rất đột ngột về mức xám (hoặc màu) so với điểm lân cận của nó Ví dụ: trongảnh nhị phân, điểm đen gọi là điểm biên nếu lân cận nó có ít nhất một điểm trắng
Đường biên (đường bao - boundary): là một tập hợp các điểm biên liên tiếp
nhau tạo thành một đường biên ảnh hay còn gọi là đường bao ảnh
Ý nghĩa của đường biên trong xử lý:
- Thứ nhất: đường biên là một loại đặc trưng cục bộ tiêu biểu trong phân tích, xử lý,nhận dạng ảnh
- Thứ hai: người ta sử dụng biên làm phân cách các vùng xám (màu) cách biệt.Ngược lại, người ta cũng sử dụng các vùng ảnh để tìm đường phân cách
Trang 162.1.11 Các bước tách biên
Bước 1: Khử nhiễu, vì ảnh thu được thường có nhiễu do môi trường hoặc do
thiết bị thu nhận không tốt Có thể dùng các phương pháp lọc tuyến tính lẫn phituyến
Bước 2: Làm nổi biên, sử dụng các toán tử đạo hàm.
Bước 3: Định vị biên Vì kỹ thuật nổi biên có hiệu ứng phụ là tăng nhiễu làm
một số biên giả cần phải loại bỏ biên giả
Bước 4: Liên kết và trích chọn biên.
Bước 5: Làm mảnh biên Làm cho nổi biên với độ rộng 1 pixel, kỹ thuật
Laplace cho ra biên với độ rộng pixel nhưng một số kỹ thuật khác thì không đượckết quả mong muốn như vậy
Bước 6: Nhị phân hóa đường biên Giai đoạn then chốt của quá trình trích
chọn vì nó xác định đường bao nào thực sự cần và đường bao nào có thể loại bỏ,thường làm theo cách thức giảm nhiễu hoặc tránh kéo sợi trên ảnh Cho kết quả tốtkhi ảnh có tương phản cao và ngược lại sẽ làm mất một phần đường bao hay bị mấtchân không khép kín
Bước 7: Miêu tả đường biên Tách mỗi biên và gán cho nó một mã, phân tích
và làm giảm lượng thông tin dùng để miêu tả đối tượng Có nhiều phương án khácnhau, mỗi phương án tùy thuộc vào loại ứng dụng, có thể thêm vào các điều kiệnnhằm loại bỏ các đường biên không khép kín từ bước nhị phân hóa đường biên haycác chân rết bám theo đường biên
2.1.12 Phân loại các kỹ thuật phát hiện biên
Từ định nghĩa toán học của biên người ta sử dụng hai phương pháp phát hiệnbiên chính sau:
2.1.12.1 Phương pháp phát hiện biên trực tiếp
Phương pháp này chủ yếu dựa vào sự biến thiên giá trị độ sáng của điểm ảnh
để làm nổi biên bằng kỹ thuật đạo hàm Nếu lấy đạo hàm bậc nhất của ảnh: ta có
Trang 17phương pháp Gradient, nếu lấy đạo hàm bậc hai của ảnh: ta có phương phápLaplace.
Hai phương pháp này được gọi là phương pháp dò biên cục bộ Ngoài ra, còn
có phương pháp “đi theo đường bao” dựa vào công cụ toán học là nguyên lý quihoạch động và được gọi là phương pháp dò biên tổng thể
Loại phương pháp này hiệu quả vì ít bị ảnh hưởng nhiễu nhưng lại bị ảnhhưởng nếu sự thay đổi mức xám không đột ngột như định nghĩa, nếu chỉ có sự thayđổi nhẹ về mức xám thì phương pháp sẽ cho hiệu quả kém
2.1.12.2 Phương pháp phát hiện biên gián tiếp
Nếu bằng cách nào đấy, chúng ta thu được các vùng ảnh khác nhau thìđường phân cách giữa các vùng đó chính là các biên của ảnh Nói cách khác, việcxác định đường bao của ảnh được thực hiện từ ảnh đã được phân vùng
Phương pháp dò biên gián tiếp khó cài đặt nhưng áp dụng tốt khi sự biến thiên độsáng nhỏ
2.1.13 Các phương pháp phát hiện biên
2.1.13.1 Phương pháp phát hiện biên trực tiếp (phát hiện biên cục bộ)
2.1.13.1.1 Phương pháp phát hiện biên dựa trên Gradient của ảnh
- Gradient là một véctơ có các thành phần biểu thị tốc độ thay đổi giá trị củađiểm ảnh theo 2 hướng x và y
- Phương pháp này là dựa vào cực đại của đạo hàm
- Tính biên độ biến thiên tại mỗi điểm ảnh theo công thức Gradient:
(2.2)
Trong đó g(m,n) là biên độ gradient
gx là gradient theo hướng x của điểm ảnh
gy là gradient theo hướng y của điểm ảnh
Trang 18- So sánh biên độ biến thiên với 1 ngưỡng tùy chọn T:
Nếu g(m,n) >= T : đây là biên ảnh
Nếu g(m,n) < T : đây không là biên ảnh
- Kỹ thuật Gradient lại chia nhỏ thành 2 kỹ thuật nhỏ là kỹ thuật Gradient và kỹ thuật
la bàn, với việc sử dụng 2 toán tử khác nhau: gradient đạo hàm theo 2 hướng trongkhi la bàn theo 8 hướng khác nhau
2.1.13.1.2 Kỹ thuật Gradient
Để đơn giản mà không mất tính chất của phương pháp Gradient, người ta sử
dụng kỹ thuật Gradient dùng cặp mặt nạ H1, H2 trực giao (theo 2 hướng vuông
góc) Một số toán tử Gradient tiêu biểu như:
Trang 20H5 = H6 =
Các ma trận biểu diễn cho các hướng, hướng gốc 0o chọn là H1 thì theo thứ
tự các ma trận từ H2 đến H8 đại diện cho sự thay đổi với khoảng cách 45o, 90o, 135o,
180o, 225o, 270o, 315o Cuối cùng là trở về H1 cũng như hướng 360o
Ký hiệu A i ; i= 1, 2, …, 8 là Gradient theo 8 hướng như 8 mặt nạ kể trên, khi đó biên
độ Gradient tại (x,y) được tính theo:
Trang 21Tuy phương pháp Gradient cho kết quả khá tốt nhưng chỉ khi mà độ sángthay đổi rõ nét, tức là mức xám thay đổi nhanh như định nghĩa ban đầu bề điểmbiên, vậy trong những ảnh có miền chuyển tiếp rộng, người ta nghĩ đến biện phápkhắc phục cho kỹ thuật gradient, trong đó việc sử dụng đạo hàm riêng bậc nhất banđầu sẽ thay bằng sử dụng đạo hàm riêng bậc hai hay toán tử Laplace Phương pháp
dò biên theo toán tử Laplace thực tế đã chứng minh nó có thể khắc phục nhữngnhược điểm đã nhắc ở trên của kỹ thuật gradient
Toán tử Laplace được định nghĩa như sau:
(2.5)
Kỹ thuật theo toán tử Laplace cho chúng ta một đường biên mảnh có độ rộng
1 pixel Tuy nhiên kỹ thuật này rất nhạy với nhiễu và còn tạo ra biên kép, do vậyngười ta còn đề xuất thêm ngoài dùng toán tử Laplace thì dùng kèm thêm xấp xỉLaplace – Gauss để tìm điểm không h(m,n), để khi tìm tích chập điểm này với cắtđiểm không cho trước của ảnh sẽ cho ta vị trí của biên ảnh
2.1.13.4 Kỹ thuật đạo hàm tích chập - phương pháp canny
Bộ tách sườn ảnh do Canny khởi xướng tại phòng thí nghiệm MIT năm 1986thực hiện dựa trên việc lấy đạo hàm của một ảnh chập với bộ lọc Gauss Đây làphương pháp tách đường biên khá được phổ biến được dùng theo toán tử đạo hàm.Như đã nói, phương pháp đạo hàm chịu ảnh hưởng lớn của nhiễu Phương pháp đạthiệu quả cao khi xấp xỉ đạo hàm bậc nhất của Gauss
(2.6)
với fx , f y là các đạo hàm riêng theo x và y của f.
2.1.14 Dò biên theo quy hoạch động
Trang 22Dò biên theo phương pháp Gradient là xác định cực trị cục bộ của Gradienttheo các hướng; phương pháp Laplace dựa vào cắt điểm không của đạo hàm bậchai Còn phương pháp dò biên theo quy hoạch động là phương pháp tìm cực trị tổngthể của các quá trình nhiều bước
Dựa vào nguyên lý tối ưu của Bellman: “Con đường tối ưu giữa 2 điểm chotrước cũng là tối ưu giữa 2 điểm bất kỳ nằm trên đường tối ưu đó”
2.1.15 Phân vùng ảnh
2.1.15.1 Định nghĩa, phân loại
Vùng ảnh là một chi tiết trong toàn cảnh, tập hợp của các điểm có cùng hoặcgần cùng một tính chất, thuộc tính nào đó như mức xám, mức màu…
Phân vùng ảnh là chia ảnh thành các vùng không trùng lắp Mỗi vùng là mộtnhóm pixel liên thông và đồng nhất theo một tiêu chí nào đó Tiêu chí này phụthuộc vào mục tiêu của quá trình phân vùng Ví dụ như đồng nhất về màu sắc, mứcxám, kết cấu, độ sâu của các lớp… kết quả sau khi phân vùng ảnh là mỗi pixel trongtoàn ảnh chỉ thuộc về một vùng duy nhất
Do việc phân vùng ảnh là dựa vào những đặc tính vật lý của nhóm các pixelnên có nhiều kỹ thuật phân vùng khác nhau:
+ Dựa theo các miền liên thông ta gọi là kỹ thuật phân loại theo miền đồngnhất hay miền kề
+ Dựa vào biên ta có kỹ thuật phân vùng biên
+ Ngoài ra còn có phân vùng theo biên độ, phân vùng theo kết cấu
2.1.15.2 Phân vùng ảnh theo ngưỡng biên độ
Biên độ của các tính chất vật lý ( độ sáng, độ tương phản, màu sắc…) là mộtđặc tính đơn giản và dễ xử lý
Như vậy, có thể dùng ngưỡng biên độ để phân vùng khi biên độ đủ lớn đặctrưng cho ảnh Thí dụ, biên độ trong bộ cảm biến ảnh hồng ngoại có thể phản ánhvùng có nhiệt độ thấp hay vùng có nhiệt độ cao Kỹ thuật phân ngưỡng theo biên độ
Trang 23Sau khi phân vùng, nếu kết quả cho ra ảnh chưa được rõ nét thì ta cần điềuchỉnh ngưỡng Phương pháp thông dụng thường được dùng là ISODATA cho phép
ta điều chỉnh ngưỡng từng bước đến khi có một phân vùng rõ nét nhất
2.1.15.3 Phân vùng ảnh theo miền đồng nhất
Dựa vào các tính chất quan trọng của miền ảnh là nền tảng của kỹ thuật phânvùng ảnh theo miền đồng nhất, kỹ thuật này khi lựa chọn các tính chất sẽ đưa ra cáctiêu chuẩn phân vùng tùy thuộc vào tính chất được lựa chọn là gì Do đó việc lựachọn, xác định rõ tính đồng nhất của các điểm ảnh là tính chất nào là việc quantrọng
Các phương pháp phân vùng ảnh theo miền đồng nhất thường áp dụng là :
+ Phương pháp tách cây tứ phân + Phương pháp cục bộ
+ Phương pháp tổng hợp
Các tiêu chuẩn hay được sử dụng là sự thuần nhất về mức xám, màu sắc kếtcấu sợi và chuyển động
2.1.15.4 Phân vùng ảnh theo kết cấu bề mặt
Phân vùng ảnh theo kết cấu bề mặt (TEXTURE), kết cấu thường được nhậnbiết trên bề mặt của các đối tượng như gỗ, cát, vải vóc…Kết cấu là thuật ngữ phảnánh sự lặp lại của các phần tử sợi (texel) cơ bản Sự lặp lại này có thể ngẫu nhiênhay có tính chu kì hoặc gần chu kì Một texel chứa rất nhiều điểm ảnh Trong phântích ảnh, kết cấu được chia làm hai loại chính là: loại thống kê và loại cấu trúc
Loại thống kê phù hợp với những loại kết cấu tự nhiên mang tính ngẫunhiên, người ta có thể sử dụng các hàm tự tương quan, ma trận tương tranh, cácbiến đổi mật độ, các kỹ thuật lọc tuyến tính…
2.2 Các phương pháp nhận dạng
2.2.1 Phương pháp phân tích thành phần chính
2.2.1.1 Phân tích thành phần chính
Trang 24Phân tích thành phần chính (PCA) là một thuật toán được sử dụng để tạo ramột ảnh mới từ ảnh ban đầu Mục đích của phương pháp PCA là loại bỏ các hướngthành phần trong không gian dữ liệu xây dựng từ tập huấn luyện, chỉ giữ lại nhữngthành phần đặc trưng nhất của nó.
PCA sẽ làm giảm số chiều của vector ảnh dữ liệu, giống như việc nó loại bỏ
một số hướng xây dựng một hệ không gian mới nhỏ hơn không gian ban đầu của dữ
liệu ít chiều hơn nhưng vẫn giữ được những đặc trưng tương đương với không gian
cũ biểu diễn, đảm bảo được độ biến thiên của dữ liệu trên mỗi chiều mới sau khiPCA xây dựng
Nói cách nôm na, với cùng một vật thể, với mỗi hệ trục khác nhau cho mộtcách nhìn khác nhau, đối với dữ liệu của chúng ta cũng như vậy
Hình 2.5: Phép chiếu lên các trục khác nhau của cùng một vật thể cho các
kết quả nhận định khác nhau
Hình 2.6: PCA tập trung vào hướng tập trung của dữ liệu, giảm số chiều.
2.2.1.2 Nội dung thuật toán
2.2.1.2.1 Không gian mới được tạo bởi PCA được cấu thành từ K vector có chiều là
N Mỗi vector được gọi là một eigenface.
Gọi P là số ảnh của tập ảnh huấn luyện, mỗi ảnh được chuyển thành vector Nchiều (N là kích thước ảnh) Ta có tập hợp ảnh đầu vào X={x1,x2,…,xP}
Trang 25Gọi các giá trị riêng của C là λ1,λ2,…,λP sắp xếp theo thứ tự giảm dần, tươngứng với P vector riêng u1,u2,…,uP Các vector riêng này trực giao từng đôi một Mỗivector riêng ui được gọi là một eigenface
Tập hợp các vector ban đầu biểu diễn trong không gian tạo bởi N eigenfaceđược mô tả:
1 1 2 2 N N
Thông thường chỉ lấy K vector riêng ui ứng với K trị riêng λi có giá trị lớnnhất:
Trang 261 1 2 2 K K
(2.11)
Vector các hệ số khai triển [w1,w2,…,wK] chính là biểu diễn mới của ảnhđược tạo ra trong không gian PCA Ảnh mới vẫn giữ được các đặc điểm chính củaảnh đầu vào Vector [w1,w2,…,wK] được tính theo công thức :
(2.12)
2.2.1.2.2 Ứng dụng PCA vào nhận dạng mặt người
Một ảnh về khuôn mặt được coi là một vector, nếu bức ảnh có kích thướcm*n pixel thì không gian chứa vector này có số chiều là N=m*n Mỗi pixel được
mã hóa bởi một thành phần của vector Cấu trúc của vector được tạo từ ảnh có thểđược hình dung như hình bên dưới
Hình 2.7: Dạng của vector tạo từ ảnh về khuôn mặt
Khâu quan trọng nhất trong bài toán nhận dạng đó là trích chọn vector đặctrưng Các bước trích chọn đặc tính riêng của khuôn mặt cần nhận dạng:
• Tạo một tập huấn luyện X gồm M ảnh (ảnh huấn luyện), mỗi ảnh có kíchthước N, các ảnh được chuyển thành vector N chiều
(2.13)
Trang 27• Tính trung bình của tập ảnh trên:
(2.14)
• Tính sai lệch ảnh đầu vào với giá trị trung bình trên
• Tìm ma trận tương quan của A là T
• Ta tìm các giá trị riêng (λP) và vector riêng (uP) của C thông qua AT.A
• Tìm các vector hệ số triển khai [w1,w2,…,wK] chính là biểu diễn mới của ảnh đượctạo ra trong không gian PCA
Trang 28PCA có thể kết hợp với các phương pháp khác như mạng Neural, SupportVector Machine… để mang lại hiệu quả nhận dạng cao hơn.
2.2.2.2 Nhược điểm
PCA phân loại theo chiều phân bố lớn nhất của tập vector Tuy nhiên, chiềuphân bố lớn nhất không phải lúc nào cũng mang lại hiệu quả tốt nhất cho bài toánnhận dạng Đây là nhược điểm cở bản của PCA
Đặc biệt PCA rất nhạy với nhiễu
2.3 Mạng nơ ron nhân tạo (ANN)
2.3.1 Giới thiệu
Mạng nơ ron nhân tạo là một mô phỏng xử lý thông tin, được nghiên cứu ra
từ hệ thống thần kinh của sinh vật, giống như bộ não để xử lý thông tin Nó baogồm số lượng lớn các mối gắn kết cấp cao để xử lý các yếu tố làm việc trong mốiliên hệ giải quyết vấn đề rõ ràng ANNs giống như con người, được học bởi kinhnghiệm, lưu những kinh nghiệm hiểu biết và sử dụng trong những tình huống phùhợp
Đầu tiên ANN được giới thiệu năm 1943 bởi nhà thần kinh học WarrenMcCulloch và nhà logic học Walter Pits Nhưng với những kỹ thuật trong thời giannày chưa cho phép họ nghiên cứu được nhiều Những năm gần đây mô phỏng ANNxuất hiện và phát triển Các nghiên cứu ứng dụng đã được thực hiện trong cácngành: điện, điện tử, kỹ thuật chế tạo, y học, quân sự, kinh tế và mới nhất là cácnghiên cứu ứng dụng trong lĩnh vực quản lý dự án xây dựng Tại Việt Nam việcnghiên cứu ứng dụng ANN vào quản lý xây dựng chỉ mới bắt đầu trong vài nămgần đây và cần được phát triển
2.3.2 Cơ sở lý thuyết
2.3.2.1 Cấu trúc mạng Neural
Mỗi Neural (nút) là một đơn vị xử lý thông tin của mạng neural, là yếu tố cơbản để cấu tạo nên mạng neural
Trang 29yk: kết xuất của Neuralb: thông số ảnh hưởng đến ngưỡng ra của output2.3.2.1.1 Mạng truyền thẳng một lớp
Đây là cấu trúc mạng neural đơn giản nhất Mạng neural này chỉ gồm 1 lớpxuất, không có lớp ẩn
Trang 30Hình 2.10: Cấu trúc mạng neural nhiều lớp
Mạng neural nhiều lớp có thể giải quyết các bài toán phi tuyến nhờ vào cáclớp ẩn Các lớp ẩn này xen giữa các input bên ngoài và output của mạng Càngnhiều lớp ẩn thì khả năng mở rộng thông tin càng cao và xử lý tốt mạng có nhiềuinput và output Ngoài ra còn có mạng hồi quy và mạng Neural dạng lưới
(2.18)
Trang 312.3.2.2.4 Hàm tang - hyperbol
(2.20)2.3.2.3 Tiến trình học
Tiến trình học là tiến trình quan trọng của con người, nhờ học mà bộ nãongày càng tích luỹ những kinh nghiệm để thích nghi với môi trường và xử lý tìnhhuống tốt hơn Mạng neural xây dựng lại cấu trúc bộ não thì cần phải có khả năngnhận biết dữ liệu thông qua tiến trình học, với các thông số tự do của mạng có thểthay đổi liên tục bởi những thay đổi của môi trường và mạng neural ghi nhớ giá trịđó
teach/use
X2
W2 Inputs Output
Trang 32Tiếp đến là quá trình so sánh giá trị tạo ra bởi mạng Neural với giá trị ramong muốn Nếu hai giá trị này giống nhau thì không thay đổi gì cả Tuy nhiên, nếu
có một sai lệch giữa hai giá trị này vượt quá giá trị sai số mong muốn thì đi ngượcmạng từ đâu ra về đầu vào để thay đổi trọng số một số kết nối
Đây là một quá trình lặp liên tục và có thể không dừng khi không tìm các giátrị W sao cho đầu ra tạo bởi mạng Neural bằng đúng đầu ra mong muốn Do đótrong thực tế người ta phải thiết lập tiêu chuẩn dựa trên một giá trị sai số nào đó củahai giá trị này, hay dựa trên một số lần lặp xác định
Để tiện cho việc trình bày, ta ký hiệu o là giá trị kết xuất của mạng Neural, t
là giá trị ra mong muốn, e là sai lệch giữa hai giá trị này:
Tiêu chuẩn lan truyền ngược là một thuật toán giảm độ dốc, giống như quyluật học tập Widrow-Hoff, trong đó trọng số mạng được thay đổi hay di chuyển dọctheo những giá trị âm của gradient của hàm hiệu suất Thuật ngữ lan truyền ngượcđược sử dụng vì nó liên quan đến phương cách tính toán gradient của các mạng
Trang 33quay ngược lại tức là bước từ tầng xuất quay ngược qua các tầng ẩn đến tầng ẩnđầu tiên Mặc dù không chắc chắn nhưng hầu hết các trọng số đều hội tụ về một giátrị và quá trình học kết thúc.
Hiện nay có khá nhiều biến thể của thuật toán cơ bản lan truyền ngược đượcxây dựng, chúng hầu hết dựa trên các kỹ thuật cơ bản của tối ưu hóa như phươngpháp gradient liên hợp hoặc phương pháp Newton
Trong thực tế để tiến hành thiết kế hoặc sử dụng các mạng neural lan truyềnngược để học hay huấn luyện các mạng truyền thẳng nhằm giải một bài toán cụ thểnào đó, các bước cơ bản sau đây thường được tiến hành:
• Tập hợp các dữ liệu được học hoặc huấn luyện;
Hình 2.12 : Sơ đồ khối mạng lan truyền ngược
Batch mode (chế độ hàng loạt):
Có nhiều biến thể của thuật toán lan truyền ngược Trong đó thực hiện việchọc lan truyền ngược đơn giản nhất là cập nhật các trọng số mạng và những sai lệchtheo hướng mà trong đó các hàm hiệu suất giảm nhanh nhất - những giá trị âm củagradient
Một lần lặp của thuật toán này có thể được viết:
Mục tiêu
So sánh Mạng Neural gồm tất cả
các kết nối(được gọi là các trọng số) giữa các neural
Ngõ vào
trọng số Điều chỉnh